.
“接口”对象
.
.

符号:

关键字:INTERFACE

接口是面向对象编程的一种方式。该对象ITF描述了一组方法和属性原型。在这种情况下,原型意味着方法和属性仅包含声明而没有实现。

这允许具有相同属性的不同功能块以相同方式使用。使用命令工程 ➔ 添加对象 ➔ 接口将对象ITF添加到应用程序或工程中。

.

.添加接口

继承

名称

接口名称

扩展

:扩展您在输入字段中或通过输入助手输入的界面。这意味着扩展新接口的接口的所有方法在新接口中也可用。

您可以将对象接口属性接口方法添加到对象ITF中。接口方法只能包含输入,输出和输入/输出变量的声明,而不能包含任何实现。

为了也可以在程序中使用接口,必须有一个实现该接口的功能块。

这表示:

  • 功能块在其声明部分的IMPLEMENTS列表中包含接口
  • 功能块包含接口的所有方法和属性原型的实现

一个功能块可以实现一个或多个接口。您可以使用具有相同参数的相同方法,但在不同功能块中使用不同的实现代码。

.请注意以下事项:

  • 您可能未在接口内定义变量。接口没有实现部分,也没有动作。仅定义了一个方法集合,您只能在其中定义输入,输出和输入/输出变量。
  • CODESYS始终将使用接口类型声明的变量视为引用。
  • 实现接口的功能块必须包含接口方法的实现代码。您已经按照与接口中完全相同的方式命名了方法,并且这些方法包含与接口中相同的输入,输出和输入/输出变量。

提示!

接口引用和在线更改

对于版本<3.4.1.0的编译器,可能发生以下情况:如果功能块由于添加或删除了变量,或者因为变量的类型发生了变化而更改了其数据,则CODESYS将功能块的所有实例复制到一个新的内存位置。但是,在这种情况下,接口引用不是指新的存储位置,而是指旧的位​​置。

如果编译器版本>=3.4.1.0,则CODESYS自动重新寻址接口引用,以便CODESYS在联机更改的情况下也引用正确的接口。CODESYS为此需要更多的代码和更多的时间,因此根据相关对象的数量可能会发生抖动问题。因此,CODESYS在执行联机更改之前显示有关的变量和接口引用的数量,然后您可以决定是应执行还是中止联机更改。

.

.

接口的定义及其在功能块中的使用

您已在应用程序下方插入了ITF接口。接口包含的方法 Method1Method22。ITFMethod1Method2不包含实现代码。您只能在方法的声明部分中插入所需的变量声明。

如果随后插入设备树是实现该接口ITF的功能块,CODESYS自动还插入方法Method1Method2的功能块下。在这里,您可以在方法中实现特定于功能块的代码。