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

Problem mit "bdroot" innerhalb eines Blocks

 

Ben1990
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2014, 10:00     Titel: Problem mit "bdroot" innerhalb eines Blocks
  Antworten mit Zitat      
Hallo,

ich versuche eine mit Matlab 2007b 32Bit erstellte Block-Library in Matlab 2012b 32Bit zu übertragen.
Wenn ich in Matlab 2012 einen Block dieser Library zu einem neuen Modell hinzufüge und diesen dann öffne, wird eine m-Funktion die hinter dem OpenFcn Callback steht aufgerufen.
In dieser M-Funktion wird der Befehl "bdroot" ausgeführt, welcher eigentlich den Namen des Modells zurückliefern sollte.
Dieser liefert jedoch anders als bei der 2007-Version den Namen der Block_Library zurück.
Ich habe schon sehr viel gesucht und bin dabei unter anderem auch auf die Library_Links gestoßen an denen das liegen könnte, diese sind jedoch ausgegraut also inaktiv.
Irgendwie scheint die kopierte Library bei der 2012-Version noch eine Verknüpfung zur Block_Library zu haben die ich leider nicht weg bekomme.
Gleiches habe ich auch mit dem Befehl "gcb" versucht.
Dieser liefert jedoch auch nur den Pfad zur Block_Library aber nichtmal den eigenen Namen des Blocks zurück.
Nur bei der 2007-Version wird hierbei der eigene Name sowie der Name des Modells zurückgeliefert.

Ich hoffe es kann mir jemand mit diesem Problem Helfen,

Grüße,
Ben
Private Nachricht senden Benutzer-Profile anzeigen


Ben1990
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.01.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2014, 10:06     Titel:
  Antworten mit Zitat      
Problem gelöst.

Es scheint als ob bei Matlab 2012 die m-Funktionen die hinter den Callbacks liegen global ausgeführt werden.
Diese haben im Gegensatz zu 2007 wohl keinen Bezug zu dem eigentlichen Block, nur zum originalen Library-Block.
Somit bekommt man beim Befehl "bdroot" den Namen des Library-Blocks zurück geliefert.
Ich musste mir in der m-Funktion den gcb als Übergabeparameter übergeben lassen, und konnte dann mittels bdroot(block als übergabeparameter) mir den Modellnamen zurückliefern lassen.
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.