|
|
Fehlermeldung wenn GUI startet ohne geöffnete Simulinkmod. |
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2013, 07:09
Titel: Fehlermeldung wenn GUI startet ohne geöffnete Simulinkmod.
|
|
Ich habe innerhalb meiner GUI eine Checkbox, die die Position meines einzigen Manual Switch im Simulinkmodell prüft. Wenn ich jetzt per Rechtsklick auf die .m-Datei mit "Run" starte UND das Simulinkmodell nicht im Hintergrund geöffnet ist, kriege ich folgende Fehlermeldung:
Wenn jedoch das Simulinkmodell geöffnet ist, startet das GUI ohne die genannte Fehlermeldung.
Ich lade das Simulinkmodell innerhalb der GUI per load_system();
Hier der Code innerhalb der GUI der zur Fehlermeldung führt:
|
|
|
|
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2013, 07:13
Titel:
|
|
Wie kann ich diese Fehlermeldung vermeiden?
open_system() anstelle von load_system würde ich ungern nehmen, weil dann das Simulinkmodell im Vordergrund vor der GUI geöffnet ist, oder gibt es auch dafür einen Befehl?
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 25.07.2013, 09:47
Titel:
|
|
Hallo,
entweder durch nutzen von try...catch,
oder eleganter, indem du erstmal bdroot abfragst und wenn die Rückgabe nicht leer ist (oder dem zu erwartenenden Systemnamen entspricht, oder weißderGeier), erst dann mit dem Script weitermachen.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2013, 14:03
Titel:
|
|
try...catch löst das Problem für mich ausreichend elegant Nach dem Run der GUI wird so direkt das Problem festgestellt, per Catch das Modell geladen und anschließend springt er wie gewünscht zum GUI zurück.
Gibt es eigentlich eine Art Schreibschutz für das Modell, damit nicht jeder das Modell so direkt bearbeiten kann?
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 25.07.2013, 14:16
Titel:
|
|
Ich wette ja, aber kennen tue ichs jetzt nicht.
Schau doch einfach mal selber, ob du was in der Liste findest:
get_param(bdroot,'ObjectParameters')
...neugier läßt grüßen...
Ja, gibt es nennt sich direkt Lock.
Wenn man dann etwas am Modell ändert, bekommt man eine Fehlermeldung mit der Auswahlmöglichkeit "unlock" oder "abbrechen".
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2013, 14:41
Titel:
|
|
Ich habe den Befehl..
... direkt nach dem Start/Öffnen des Simulink-Modells innerhalb des .m-Quellcode gesetzt und kann das Modell leider trotzdem noch bearbeiten.
Ist der Befehl überhaupt für so eine Art Schreibschutz geeignet? Auf mathworks steht, dass er eine block library schützt.
Zitat: |
Lock or unlock a block library. Setting this parameter to on prevents a user from inadvertently changing a library. |
|
|
|
Verschoben: 25.07.2013, 14:45 Uhr von denny Von GUIs nach Simulink |
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 25.07.2013, 14:57
Titel:
|
|
invaliderror hat Folgendes geschrieben: |
Ich habe den Befehl..
... direkt nach dem Start/Öffnen des Simulink-Modells innerhalb des .m-Quellcode gesetzt und kann das Modell leider trotzdem noch bearbeiten.
|
Bei mir erscheint bei dem versuch z.B. einen Const-Block zu verändern die Fehlermeldung:
??? Attempt to modify a locked (read-only) model.
Setz doch mal einen Breakpoint direkt nachdem du dein modell auf lock-on gesetzt hast und ließ mal den Wert zurück.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2013, 10:46
Titel:
|
|
Den setparam habe ich in .m-Datei der GUI direkt nach dem open_system-Befehl. Trotzdem kann ich im Modell alles beliebig verändern.
Wenn ich den setparam-Befehl im commandwindow von MATLAB probiere, kriege ich folgende Warnung:
Warning: Cannot set parameter 'Lock' to 'on' because it is not allowed (Model: modell)
Dementsprechend liefert mit der getparam-Befehl ein 'off'.
Wie kann das erlauben? Google hat mir bisher nicht das gewünschte Ergebnis zu dieser Fehlermeldung geliefert.
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2013, 11:59
Titel:
|
|
Dachte der Lock ist nur für eine Library?
|
|
|
invaliderror |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2013, 09:39
Titel:
|
|
Bei Mmmartina scheint es ja zu funktionieren. Ich konnte innerhalb des Simulink-Modells leider immer noch keine Lösung zu folgender Fehlermeldung finden:
Zitat: |
Warning: Cannot set parameter 'Lock' to 'on' because it is not allowed (Model: modell)
|
|
|
|
|
|
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.
|
|