标志
接口属性是 IEC 61131-3 标准的扩展,也是面向对象编程的工具。接口属性声明了访问方法Get
和Set
(无实现代码)。因此,实现接口的功能块也会继承其接口属性。
您可以在设备树中为接口添加接口属性。然后用访问器方法Get
和Set
扩展接口。Get
访问器用于读取访问。Set
访问器用于写入访问。您可以删除不需要的访问器。单击“Project Add Object Interface Property” 添加访问器。“Add Interface Property” 对话框将打开。
示例
接口属性的声明和实现 Literal_A


该接口itf_A
的属性为Literal_A
,访问方法为Get
和Set
。
功能块fb_A1
和fb_A2
实现了itf_A
接口,因此继承了其接口属性。每个 FB 都有自己的实现方式。
界面 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';
辅助工具 fb_A1.Literal_A.Get
VAR END_VAR Literal_A := CONCAT (str_1,' and property.');
辅助工具 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';
辅助工具 fb_A2.Literal_A.Get
VAR END_VAR Literal_A := str_1;
辅助工具 fb_A2.Literal_A.Set
VAR END_VAR str_2 := Literal_A;
计划 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';
这样,当应用程序处于运行模式时,就可以对PLC_PRG
进行如下监控:
