Skip to main content

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.

Beispiel 274. Beispiel

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.