Attribut: instance-path
Das Pragma kann auf eine lokale Stringvariable angewandt werden. Es bewirkt, dass diese lokale Stringvariable in Folge mit dem Gerätebaumpfad der POU, zu der sie gehört, initialisiert wird. Dies kann für Fehlermeldungen nützlich sein.
Die Anwendung des Pragmas setzt die Anwendung des Attributs 'reflection'
auf den zugehörigen Programmierbaustein voraus, sowie die Anwendung des zusätzlichen Attributs 'noinit'
auf die Stringvariable selbst.
Syntax:
{attribute 'instance-path'}
Einfügeort: Die Zeile oberhalb der Zeile mit der Deklaration der STRING
-Variablen.
Der folgende Funktionsbaustein enthält die Attribute 'reflection'
, 'instance-path'
und 'noinit'
.
{attribute 'reflection'} FUNCTION_BLOCK POU VAR {attribute 'instance-path'} {attribute 'noinit'} str: STRING; END_VAR
Im Hauptprogramm PLC_PRG ist eine Instanz myPOU des Funktionsbausteins POU definiert:
PROGRAM PLC_PRG VAR myPOU:POU; myString: STRING; END_VAR myPOU(); myString:=myPOU.str;
Nach der Initialisierung von Instanz myPOU
wird der String-Variablen str
der Pfad der Instanz myPOU zugewiesen, im Beispiel PLCWinNT.Application.PLC_PRG.myPOU
. Dieser Pfad wird im Hauptprogramm der Variablen myString
zugewiesen.
Wichtig
Die Länge einer Zeichenkette können Sie beliebig definieren (auch >255). Allerdings müssen Sie bedenken, dass die Zeichenkette (von hinten her) abgeschnitten wird, wenn sie einer Variablen zugewiesen ist, deren Datentyp zu klein dafür ist.