-

Semantischer Fehler (SEM1270): Ungültiger Zugriff auf VAR_IN_OUT-Parameter '...' von Funktionsbaustein '...'.

In ST wurde ein unzulässiger Schreibzugriff auf einen InOut-Parameter eines Funktionsbausteins erkannt. Der Datentyp des InOut-Parameters ist eine anwenderdefinierte Struktur, auf die so nicht zugegriffen werden kann.

Fehlerbeispiel

Im Prototyp des Funktionsbausteins MyFB, ist der InOut-Parameter status vom anwenderdefinierten Datentyp MyStruct. Dieser strukturierte Datentyp enthält das Feld number vom Datentyp INT.

Der FB ist in einem Programm instanziiert (Instanzname MyFB1). Der Programmcode enthält den folgenden ungültigen Schreibzugriff auf das Feld:
MyFB1.status.number := 1;

Um auf die InOut-Variable fehlerfrei zugreifen zu können, muss eine Variable vom Datentyp MyStruct zugewiesen werden. Beispiel:

MyFB1.status := StatusVar;

Abhilfe

Doppelklicken Sie auf die Fehlermeldung, um den Code zu öffnen und die unzulässige Codeposition zu markieren. Korrigieren Sie den Zugriff auf den Formalparameter des Funktionsbausteins oder löschen Sie ihn.