Symbol:
Schnittstelleneigenschaften sind eine Erweiterung der Norm IEC 61131-3 und ein Mittel der objektorientierten Programmierung. Eine Schnittstelleneigenschaft
deklariert die Accessormethoden Get
und Set
(kein Implementerungscode). Ein Funktionsbaustein, der eine Schnittstelle implementiert,
erbt damit auch deren Schnittstelleneigenschaften.
Sie können im Gerätebaum bei einer Schnittstelle eine Schnittstelleneigenschaft hinzufügen,
dann wird die Schnittstelle um die Accessormethoden Get
und Set
erweitert. Der Get
-Accessor dient dem Lesezugriff. Der Set
-Accessor dient dem Schreibzugriff. Sie können einen nicht benötigten Accessor löschen.
Um einen Accessor hinzuzufügen, verwenden Sie den Befehl „Projekt Objekt hinzufügen Schnittstelleneigenschaft“. Dann öffnet sich der Dialog „Schnittstelleneigenschaft hinzufügen“.
Beispiel
Deklaration und Implementierung der Schnittstelleneigenschaft Literal_A


Die Schnittstelle itf_A
hat die Eigenschaft Literal_A
mit den Accessormethoden Get
und Set
.
Die Funktionsbausteine fb_A1
und fb_A2
implementieren die Schnittstelle itf_A
und erben damit deren Schnittstelleneigenschaft. Jeder FB hat seine eigene Implementierung.
Schnittstelle itf_A
INTERFACE itf_A VAR END_VAR PROPERTY Literal_A : STRING
FB fb_A1
FUNCTION_BLOCK fb_A1 IMPLEMENTS itf_A VAR str_1 : STRING; str_2 : STRING; iCnt : INT; END_VAR iCnt := iCnt + 1; str_1 := 'Function block A1';
Accessor fb_A1.Literal_A.Get
VAR END_VAR Literal_A := CONCAT (str_1,' and property.');
Accessor fb_A1.Literal_A.Set
VAR END_VAR str_2 := Literal_A;
FB fb_A2
FUNCTION_BLOCK fb_A2 IMPLEMENTS itf_A VAR str_1 : STRING; str_2 : STRING; iCnt : INT; END_VAR iCnt := iCnt + 1; str_1 := 'Function block A2';
Accessor fb_A2.Literal_A.Get
VAR END_VAR Literal_A := str_1;
Accessor fb_A2.Literal_A.Set
VAR END_VAR str_2 := Literal_A;
Programm PLC_PRG
PROGRAM PLC_PRG VAR iCnt : INT; my_1 : fb_A1; my_2 : fb_A2; strName_1 : STRING; strName_2: STRING; END_VAR iCnt := iCnt + 1; my_1(); my_2(); strName_1:= my_1.Literal_A; strName_2:= my_2.Literal_A; my_1.Literal_A := 'Hello 1'; my_2.Literal_A := 'World 2';
Das führt zur Laufzeit der Applikation zu folgendem Monitoring von PLC_PRG
:
