|
guguli |
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 04.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.07.2013, 14:27
Titel: library in simulink
|
|
Hi zusammen,
Ich möchte gerne Libraries benutzen. hab mich auch schlau gelesen hab aber etwas noch nicht ganz verstanden.
Also ich hab eine Labrary erstellt mit 7 verschiedene Subsysteme dadrin.
Nun möchte ich aus der GUI 2 diesen Subsysteme hochladen so dass die mit ein anderen verbunden werden. Das eine Subsystem hat ein Outout, den das zwete Subsystem als Input benutzt. Ich hab in meiner GUI radioButtons, die die Auswahl ermöglichen.
erste Frage:
der referece block, was genau macht der.
2te: wie kann ich die beide Subsysteme mit ein andern verbinden????
THX
|
|
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 06:27
Titel:
|
|
|
|
guguli |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 04.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 10:18
Titel:
|
|
Hi, danke für die Antwort.
Gibt es einen Befehl, womit man die Existenz eines Blockes überprüfen kann.
Also ich will so wasmachen:
if exist (sys/blockname)
delete_block(sys/blockname)
THX
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 31.07.2013, 10:37
Titel:
|
|
Hallo,
du kannst dir über find_system eine Liste aller Blöcke (oder mit zusätzlichen angaben auch nur spezielle 'Blöcke) im (Sub-)System zurückgeben lassen.
Diese Liste kannst du dann entsprechend durchsuchen.
Beispiel:
Würde dir alle Constant-Blöcke im gesamten System zurückgeben.
Statt bdroot kannst du auch ein Subsystem definieren.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 10:40
Titel:
|
|
Du kannst
benutzen.
Könntest dann z.B. so benutzen:
|
|
|
guguli |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 04.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 12:00
Titel:
|
|
wie kann ich in einem Modell ein Subsystem finden???
Also mein Modell heisst ModulareSimulation, und Skull heisst das Subsystem.
So wie oben kriege ich diese Fehlermedlung:
Invalid Simulink object specifier
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 31.07.2013, 12:15
Titel:
|
|
Hast du dir die Hilfe zu find_system angesehen und das ausführliche Beispiel von knilumis_baltaM?
Es sind (bis auf den Pfad) immer paarige Anweisungen, die du hinschreiben musst. 'Blocktype','gesuchter_Typ'
'Name','gesuchter_Name'
Stings kommen dabei immer in Hochkommata, also auch dein Modellname.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
guguli |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 04.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 13:24
Titel:
|
|
ahh thx.
Angenommen ich finde alles subsystme, wie kann ich die denn alle löschen.
wie kann ich denn alle blocke in meinem Modell löchen???
also mit delete_block geht nur ein bestimmtes block. ich möchte aber alle blöcke in "blockexist "
|
|
|
knilumis_baltaM |
Forum-Century
|
|
Beiträge: 241
|
|
|
|
Anmeldedatum: 20.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 13:57
Titel:
|
|
Also blockexist ist ein Cell Array und da sind alle Namen von den Subsystemen in deinem Modell gespeichert. Du kannst also nacheinander die Namen in blockexist auslesen und dann löschen. In meinem Beispiel hatte ich ja ein ganz bestimmtes Modell gesucht und in dem Fall kann es gefunden werden oder nicht, also hat die Abfrage nach isempty gepasst. Hier musst du eben alles gefundene auswerten.
Als schnelle/unsaubere Lösung könntest du für alle Subsysteme löschen folgendes nehmen:
Der Try & Catch Teil ist dafür da, um nicht zwischen Subsystems und Subsubsystems zu unterscheiden.
|
|
|
guguli |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 04.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.07.2013, 14:01
Titel:
|
|
danke, hab das eben anderes gelöst ....
MIr ist dann aufgefallen dass es so wie ich es beschrieben hatte nicht so ganz hin haut.
eine andere Frage: Wie kann ich mit add_line() zwischen zwei subsystem machen. ich hab gelesen dass mit add_line nur in einem Subsystem funktioniert. Also ich add zwei Blöcke (Subsysteme) dann will ich sie verbinden. wie geht das?????
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 31.07.2013, 14:23
Titel:
|
|
Ließ doch bitte mal die Hilfe zu add_line. ( http://www.mathworks.de/de/help/simulink/slref/add_line.html )
Aus dem dort beschriebenen Beipiel kannst du erkennen, dass du einfach nur
hinschreiben musst.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
|
|
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.
|
|