Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Referenzen

In der Bibliothek kann nun über das Menü (Neu > CoDeSys > Quelle > Referenz) eine Referenz-Komponente angelegt werden. Für diese sollte ein Parameter (von Hand) angelegt werden, welcher einen Verweis auf ein anderes Element enthält. Der Name des Parameters, welcher diese Referenz enthält, wird über die Modellvariablen angegeben (Disziplinen > SPS > CoDeSys > CoDeSys V3 > Parametername von Referenzziel.

Um sicher zu gehen, dass eine POU eingetragen wird, sollte der (von Hand angelegte) Parameter vom Typ ProgramOrganisationUnit sein.

Per Formel kann in dem Parameter nun ein Verweis auf ein anderes Element eingetragen werden. Dies kann sowohl eine Mechatronische (Disziplin-) Komponente als auch eine Komponente in der Disziplin-Struktur sein. In ersterem Fall (Mechatronische Komponente) wird bei der Code-Generierung automatisch die passende Komponente in der Disziplin-Struktur gesucht.

Beispiel-Formel Verweis (Mechatronik):

=mroot.rmos('PLCTests_CoDeSysV3_Bibliothek.CoDeSys.Resource.Bausteine.POUs.M8B_PouName_M8E').first

Beispiel-Formel Verweis (Disziplin)

=droot.rdos('PLCTests_CoDeSysV3_Bibliothek.CoDeSys.Resource.Bausteine.POUs.M8B_PouName_M8E').first

Derzeit kann nur auf Programme (Oberklasse SourceProgram) und Aktionen (Oberklasse Action) verwiesen werden.

Über einen Netzwerk-Socket (FBD,KOP) kann nun automatisch ein neuer Block mit einem Call erstellt werden.

Beispiel SoMachine-Quelle:

Beispiel Disziplin-Struktur ("FBD_Reference" zeigt auf "ReplacedName"):

Beispiel Ergebnis (in SoMachine)

Da Sockets für POUs mit der Sprache ST noch nicht umgesetzt sind, muss dort weiterhin der Call von Hand (mittels LOOP) eingefügt werden. Aber auch hier wird korrekt das referenzierte Element (und nicht die Referenz-Komponente selbst) aufgerufen.

Beispiel SoMachine-Quelle:

Beispiel Disziplin-Struktur ("FBD_Reference" zeigt auf "ReplacedName"):

Beispiel Ergebnis (in SoMachine):