|
|
Disabled Subsystem soll nichts ausgeben, auch keine Null! |
|
Supertyp |
Forum-Fortgeschrittener
|
|
Beiträge: 85
|
|
|
|
Anmeldedatum: 09.06.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 27.07.2016, 09:37
Titel: Disabled Subsystem soll nichts ausgeben, auch keine Null!
|
|
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.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 27.07.2016, 19:32
Titel:
|
|
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
|
|
|
Supertyp |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 85
|
|
|
|
Anmeldedatum: 09.06.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 28.07.2016, 09:19
Titel:
|
|
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.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.07.2016, 09:55
Titel:
|
|
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
|
|
|
Supertyp |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 85
|
|
|
|
Anmeldedatum: 09.06.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a
|
|
|
|
|
|
Verfasst am: 28.07.2016, 10:34
Titel:
|
|
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.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.07.2016, 11:45
Titel:
|
|
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
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|