Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Informatiker (m/w) für den Bereich Toolkette Embedded Software
Weiterentwicklung einer MATLAB- / Simulink-Toolkette
cbb-Software GmbH - Stuttgart

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Ingenieur (m/w) für den Bereich modellbasierte Embedded-Softwareentwicklung
Integration von Simulink-Modellen auf die Ziel-Hardware (mit TargetLink) sowie Durchführung von Softwaretests
cbb-Software GmbH - Stuttgart

Funktionsentwickler/in Regelungstechnik
Erarbeitung von Anforderungen und Umsetzung in Funktionen
Robert Bosch Automotive Steering GmbH - Schwäbisch Gmünd

Funktionsentwickler (w/m) Automobile
Entwicklung von modellbasierten Softwarelösungen
Bertrandt Ingenieurbüro GmbH - Frankfurt am Main

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Subsystem-Ports mit Blöcken automatisiert verbinden?

 

Supertyp
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 09.03.2018, 11:22     Titel: Subsystem-Ports mit Blöcken automatisiert verbinden?
  Antworten mit Zitat      
Ich möchte mittels Skript Blöcke "gerade und sauber" mit Eingängen von Subsystemen verbinden. Dazu benötige ich die Positionen der Subsystem-Ports (Eingang & Ausgang). Gibt es hier eventuell dafür ein Beispiel?
Private Nachricht senden Benutzer-Profile anzeigen


Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 09.03.2018, 15:46     Titel:
  Antworten mit Zitat      
Soweit bin ich schon mal:
Code:

SubsystemPorts = get_param(SubSystem,'PortConnectivity'); % Position der Inports am Subsystem
xPos = SubsystemPorts{1,1}(index).Position(1); % xPosition des Input am Subsystem
yPos = SubsystemPorts{1,1}(index).Position(2); % yPosition des Input am Subsystem
set_param(gcb,'Position',[xPos-250,yPos-10,xPos-150,yPos+10]);
 


Jetzt sind noch die neuen Ports mit den Inputs des Subsystems zu verbinden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 18.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 09.03.2018, 15:50     Titel:
  Antworten mit Zitat      
Hallo,

add_line ?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 09.03.2018, 17:03     Titel:
  Antworten mit Zitat      
Ja, klar, aber der Teufel steckt - wie immer bei Matlab - im Detail!
Wie verbindet man konkret mit "add_line" den (einzigen) Ausgang des "gcb" mit dem 1./2... x-ten Eingang des Subsystems?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 18.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 09.03.2018, 18:05     Titel:
  Antworten mit Zitat      
Hallo,

helfen die Beispiele in der Doku von add_line (in / out) weiter?

Example: 'Mu/1', 'Subsystem/2', h.Inport(1), {'Subsystem/1','Subsystem/2'}

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 12.03.2018, 10:45     Titel:
  Antworten mit Zitat      
Danke, das hilft so halb, weil wie in der Matlab Hilfe die Optionen unvollständig erklärt sind. Inzwischen habe ich die Handles der Inports des Subsystems, nur funktioniert das damit noch nicht. Mit absoluten Pfaden dagegen schon.
Nach meinem Verständniss kann man doch statt konkreten Namen auch die handles einsetzen?

Code:
DstSubsystemPortHandles{1,1}.Inport(index)


Liefert ein gültiges Handle (z.B.) 426.1234. Eingesetzt in den Befehl fiunktioniert es leider nicht:
Code:
add_line(SrcPortName,DstSubsystemPortHandles{1,1}.Inport(index))


Fehlermeldung:
Code:
The Points input must be a matrix with two or more points, or a cell array in which each cell element is a matrix with
two or more points
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 18.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 12.03.2018, 20:13     Titel:
  Antworten mit Zitat      
Hallo,

du musst doch als erstes Argument noch den Modellnamen angeben? Syntax ist ja
Code:
add_line(sys,out,in)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Supertyp
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 09.06.08
Wohnort: ---
Version: R2014a
     Beitrag Verfasst am: 13.03.2018, 09:23     Titel:
  Antworten mit Zitat      
Jetzt funktionierts. Man muss allerdings den Subsystemnamen um den Anhang '/1' usw. erweitern:

Code:
add_line(gcs,Umg.PortName,[SubSystemName,'/',num2str(index)]);
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.