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

Parameter eines Simulink Blocks setzen

 

mikemodanoxxx
Forum-Anfänger

Forum-Anfänger



Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: Höchst/Odw
Version: R2007a
     Beitrag Verfasst am: 24.11.2010, 16:47     Titel: Parameter eines Simulink Blocks setzen
  Antworten mit Zitat      
Hallo,

Ich habe eine .mdl Datei und möchte diese kopieren und im neuen Modell Veränderungen vornehmen (damit im alten nichts verändert wird). Es gibt ja Funktionen wie CopyToSubsystem usw mit denen geht das. Das Problem ist, dass ich Referenzen auf das alte Modell brauche und deshalb wohl jeden Block selber kopieren muss. Am Einfachsten wäre es, wenn beim neuen Block einfach eine Referenz auf den alten Block gespeichert wäre, damit ich so etwas machen kann: oldHandle = get_param(newHandle, 'oldHandle');

Man kann aber wohl keine eigenen Parameter setzen, richtig? Falls nein, gibt es dann einen Parameter in den man einfach Daten schreiben kann und die auch nicht durch irgendwie Subroutinen von Simulink überschrieben werden? UserData wäre wohl so ein Kandidat?!
Private Nachricht senden Benutzer-Profile anzeigen


Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2010, 08:51     Titel:
  Antworten mit Zitat      
Hallo mikemodanoxxx,

richtig in UserData, Tag oder Description kannst du mit
Code:
oder einfach
Code:
selber Daten in dem Block hinterlegen und auch wieder auslesen.

Gruß Lord nibbler
 
mikemodanoxxx
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: Höchst/Odw
Version: R2007a
     Beitrag Verfasst am: 29.11.2010, 18:42     Titel:
  Antworten mit Zitat      
vielen dank.

Kann ich bei einem inport gar nichts setzen? Bei einem Outport kann ich wohl Tag und Description setzen. Beim Inport erhalte ich immer die Fehlermeldung: "Cannot set parameter 'Tag' on the input port" Oder kann man da woanders reinschreiben? Finde keinen Parameter dafür..
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2010, 12:08     Titel:
  Antworten mit Zitat      
Hallo mikemodanoxxx,

ich kann problemlos bei inputs über
Code:

set(gcbh,'Tag','Test')
 

den Tag eines Inports setzen.
Wie ist denn die genaue Fehlermeldung?
Probier es mal mit einem neuen Modell und einem neuen Inport aus.

Gruß Lord nibbler
 
mikemodanoxxx
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: Höchst/Odw
Version: R2007a
     Beitrag Verfasst am: 30.11.2010, 15:00     Titel:
  Antworten mit Zitat      
Code:
test = get_param('Test1_HLS/Mux', 'PortHandles')

test =

      Inport: [2.3990e+03 2.4000e+03]
     Outport: 2.4010e+03
      Enable: []
     Trigger: []
       State: []
       LConn: []
       RConn: []
    Ifaction: []

>> set_param(test.Inport(1), 'Tag', 'Test')
??? Cannot set parameter 'Tag' on the input port.


Bekomme ich zum Beispiel. Ist aber auch nicht so wichtig. Habe mir jetzt einfach eine Funktion geschrieben die im Falle eines Inports die dazugehörige Linie sucht und die Breite über den SrcPortHandle davon ausliest (also über den anderen Outport).
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2010, 15:12     Titel:
  Antworten mit Zitat      
ah jetzt wirds klar du wolltest den port eines blockes mit einem tag versehen, das geht leider nicht ich dachte du meinst einen Inport-Block da geht es nämlich.

ich finde es nur seltsam das es bei einem outport eines blockes geht (ich hab es selber ausprobiert). Das würde ich eher nicht machen, da es mir entweder ein bug zu sein scheint, dass das überhaupt geht oder vielleicht von irgeneiner internen Matlabfunktion genutzt wird, die dann vielleicht durch deinen tag durcheinander kommt oder deinen tag überschreibt.
Bei der Auflistung eigentlich aller relevanten Properties kommt das Tag nämlich gar nicht vor...

Gruß Lord nibbler
 
mikemodanoxxx
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 41
Anmeldedatum: 23.04.09
Wohnort: Höchst/Odw
Version: R2007a
     Beitrag Verfasst am: 30.11.2010, 22:24     Titel:
  Antworten mit Zitat      
hm ok vielen dank. Ich lass es jetzt erstmal so stehen Razz. Ist ja nur eine kleine gekapselte Funktion die ich zur Not ändern kann..
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.