Skip to main content

对象:接口属性

象征: _cds_icon_interface_property.png

接口属性是 IEC 61131-3 标准的扩展,是面向对象编程的工具。接口属性声明访问器方法 GetSet (没有实现代码)。因此,实现一个功能块 界面 也继承了它们的接口属性。

您可以将接口属性添加到接口的设备树中。然后使用访问器方法扩展接口 GetSet.这 Get 访问器用于读取访问。这 Set 访问器用于写访问。您可以删除不需要的访问器。点击 项目→添加对象→接口属性 .添加访问器。这 添加接口属性 对话框打开。

例子

521. 接口属性的声明和实现 Literal_A
_cds_img_interface_property_pous.png
_cds_img_interface_property_devices.png

界面 itf_A 有财产 Literal_A 使用访问器方法 GetSet.

功能块 fb_A1fb_A2 实现接口 itf_A 因此继承其接口属性。每个 FB 都有自己的实现。

界面 itf_A

INTERFACE itf_A
VAR
END_VAR
PROPERTY Literal_A : STRING

脸书 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_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 在应用程序运行时:

_cds_img_interface_property_monitoring.png