WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Disabled Subsystem soll nichts ausgeben, auch keine Null!

 

Supertyp
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 85
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 27.07.2016, 09:37     Titel: Disabled Subsystem soll nichts ausgeben, auch keine Null!
  Antworten mit Zitat      
Ein Enabled Substem soll im Disabled-Zustand gar nichts ausgeben, als wenn es überhaupt nicht vorhanden wäre. Der Enabled-Block bietet nur "Held" und "Reset" an.
Kann man das "hochohmige" Verhalten des Subsytems trotzdem irgendwie erreichen?

Zum Hintergrund: das Modul ist Teil eines Gesamtsystems, das auch C-Code aus anderen Quellen enthält. Ein Signal soll aus 2 Quellen beschrieben werden können, wobei das Simulink-Subsystem per Konstante deaktiviert werden können soll.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.07.2016, 19:32     Titel:
  Antworten mit Zitat      
Hallo,

mir ist keine solche Möglichkeit bekannt.
Wie wäre es, den Ausgang auf ein anderes Signal zu addieren?
Wenn das Subsystem 0 zurückgibt, hat das ja keinen Effekt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 85
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 28.07.2016, 09:19     Titel:
  Antworten mit Zitat      
So einfach ist es nicht:
Wie oben beschrieben wird aus dem Subsystem Code generiert. Die Ausgänge überschreiben eine Variable, die vorher aber in der selben Sampletime von einem anderen externen C-Code beschrieben wurde. Je nach Zustrand des Enabled Subsystems soll die Speicherstelle überschrieben werden oder auch nicht.
den externen C-Code möchte/darf ich nicht verändern.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.07.2016, 09:55     Titel:
  Antworten mit Zitat      
Hallo,

wird die Speicherstelle nur vom Ausgang des Subsystems überschrieben?
Wäre es dann nicht naheliegend, den Outport auf "Held" zu setzen? Dann wird eben mit demselben Wert nochmal beschrieben (falls das im generierten Code dann überhaupt passiert).

Ansonsten habe ich leider auch keine Ideen, außer den generierten Code anzupassen.
Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 85
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 28.07.2016, 10:34     Titel:
  Antworten mit Zitat      
Ich vermute inzwischen auch das das nicht geht. Das Problem, so wie ich es verstehe, ist, das Matlab zu jeder Sampletime an jedem Output einen Wert generieren will (Held oder Reset).
Der externe C-Code stammt aus ASCET. Das dortige Sequencing steuert explizit ob ein Wert generiert d.h. in die Speicherstelle geschrieben wird oder nicht.
Simulink bietet da wohl nichts vergleichbares.

Den C-Code anzufassen widerspricht den SW-Entwicklungsrichtlinien. Ausserdem möchte ich gar nicht erst in diesen Sumpf einsteigen. Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.07.2016, 11:45     Titel:
  Antworten mit Zitat      
Hallo,

ich würde jetzt auch nicht den externen Code modifizieren, sondern "nur" den von Simulink generierten. Das sollte an sich ausreichen.

Falls das so nicht möglich ist, würde ich eine Kontaktaufnahme mit dem Technischen Support vorschlagen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.