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

Zwei Modelle mit switch ein-/ausschalten?

 

JaWi
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 56
Anmeldedatum: 10.08.13
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 09.01.2014, 17:40     Titel:
  Antworten mit Zitat      
Hallo Harald,

nach ein paar Tests muss ich meinem vorherigen Post doch widersprechen und dir Recht geben: Das nicht angesteuerte Subsystem und das darin enthaltene Modell wird "nicht wirklich" ausgeführt. Es ist etwas schwer zu erklären, ich versuch es mal: Das referenzierte Modell im nicht enabled Subsystem läuft nicht, dass heißt es verarbeitet keine Daten (bei mir bedeutet das, dass es keine Infos am mein GUI weitergibt), aber anscheinend wird das referenzierte Modell trotzdem anfangs einmal hmmm angesteuert, berechnet - was auch immer. Das Problem ist wie eingangs beschrieben, dass das jeweils nicht benötigte Modell nicht genügend Information (für from Workspace-Blöcke) bzw. gar eine ganze Toolbox nicht verfügung steht.

Gibt es eine Möglichkeit das jeweils "unnötige" Subsystem per Quellcode o.ä. auszukommentieren? Dann könnte ich immer nur ein Subsystem aktiv lassen.
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: 09.01.2014, 17:45     Titel:
  Antworten mit Zitat      
Hallo,

bedingt durch den Pulsgenerator als Eingang wechseln wir ja zwischen den beiden Implementierungen hin und her. Du müsstest das also durch eine Konstante ersetzen, die immer 0 oder 1 ist.
Ich habe ein Modell angehängt, in dem man sieht, dass der Displayblock bei einem Subsystem immer auf 0 stehen bleibt.

Nach meinem Verständnis wird ein Subsystem ausgeführt, wenn das Steuersignal positiv ist. Das ist meines Erachtens auch aus dem Beispielmodell nachvollziehbar.
Es kann allerdings sein, dass beide Subsysteme vor Simulationsstart initialisiert werden, also theoretisch ausführbar sein müssen - das würde dann deine Beobachtungen erklären.

So oder so, mir scheint, dass für deinen Fall das configurable subsystem der übersichtlichere und bessere Weg ist. Ich dachte ursprünglich nur, dass du während der Simulation umschalten musst.

Grüße,
Harald

switch_between_subsystems.mdl
 Beschreibung:

Download
 Dateiname:  switch_between_subsystems.mdl
 Dateigröße:  46.73 KB
 Heruntergeladen:  483 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
JaWi
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 56
Anmeldedatum: 10.08.13
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 21.01.2014, 13:17     Titel:
  Antworten mit Zitat      
Hallo Harald,

ja genau: wegen der Initialisierung gibt es Probleme mit den nicht belegten Variablen in den From Workspace-Blöcken.
Unter
http://www.mathworks.de/help/releas.....onfigurablesubsystem.html
ist eine ganz gute Erklärung wie man eine configurable Subsystem erstellt.

Falls es jmd hilft worüber ich gestolpert bin:

zu 1. library erstellen: das geht ganz einfach oben im Simulink-Menü unter File -> New-> library. Sieht aus,als ob man ein neues Modell erstellt. Dann unter .slx speichern

zu 7. Block Choice: ist zu finden mit Rechtsklick auf das configurable Subsystem in der eigenen Bibliothek

Der Rest war verständlich finde ich.

Wenn man dann den Block im configured Subsystem ändern möchte geht das über diesen Befehl:

Code:
set_param('Modellname/Configurable Subsystem', 'BlockChoice', 'Name gewünschter Block')



Jetzt funktioniert alles. Danke für deine Hilfe, Harald!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.