使用接口是面向对象的编程的一种方式。接口 POU 在不实现的情况下定义一组方法和属性。可将接口描述为功能块的空 shell。必须在功能块的声明中实现它,才能在功能块实例中实现。功能块可实现一个或数个接口。
可用相同的参数实现同一方法,但是不同的功能块使用不同的实现代码。因此可在任何 POU 中使用/调用接口,无需 POU 确定相关的特定功能块。
接口 IFT 插在应用程序下面。其包含 2 种方法,Method1 和 Method2。接口或方法都未包含任何实现代码。只有方法的声明部分会填入所需的变量声明:
带 2 个方法的接口:
现在可插入一个或多个功能块,实现上面定义的接口 ITF。
创建实现接口的功能块
当将功能块 POU 添加至应用程序树时,将根据 Method1 的定义自动在下面插入方法 Method2 和 ITF。现在可用特定于功能块的实现代码来填写它们。
使用功能块定义中的接口
接口可通过在接口定义中使用 EXTENDS(请参阅下面的示例扩展接口的示例)来扩展其他接口。
接口也可定义接口属性,该属性由访问器方法 Get 和/或 Set 组成。有关属性的更多信息,请参阅 属性一章。接口中的属性和可能包含的方法一样,只是一种原型,这意味着其不包含实现代码。和方法一样,会将它自动添加至实现接口的功能块。在其中可用特定编程代码填写它。
注意以下事项:
o不允许在接口中声明变量。接口没有主体(实现部分)并且没有操作。在接口中只定义方法的集合,并且仅允许这些方法具有输入变量、输出变量以及输入/输出变量。
o将把以接口类型声明的变量作为引用处理。
o必须向实现接口的功能块分配方法和属性,这些方法和属性的名称和它们在接口中的一样。它们必须包含名称一致的输入、输出和输入/输出。
注意: 将方法或属性从 POU 复制或移动到接口时,将自动删除包含的实现。从接口复制或移动到 POU 时,需要指定所需的实现语言。
要向应用程序添加接口,可在应用程序树或软件目录 > 资产中选择应用程序节点,单击绿色加号按钮并选择添加其他对象... > 接口。也可执行命令添加对象 > 接口。如果在执行命令前选择了节点全局,新的接口可用于所有应用程序。
在添加接口对话框中,为新接口输入名称(<接口名称>)。如果您希望当前接口成为另一个接口的扩展,您也可选择激活选项扩展:。
如果 ITF1 扩展 ITF_base,ITF_base 描述的所有方法都将自动在 ITF1 中可用。
扩展接口
单击添加确认设置。新接口的编辑器视图打开。
语法
INTERFACE <接口名称>
对于扩展另一个接口的接口:
INTERFACE <接口名称> EXTENDS <基本接口名称>
示例
INTERFACE interface1 EXTENDS interface_base
要完成接口的定义,可添加所需的方法集合。为此,请选择应用程序树中的接口节点,然后执行命令接口方法...。添加接口方法对话框打开,用于定义将成为接口一部分的方法。也可在应用程序树中选择接口节点,单击绿色加号按钮并选择接口方法。根据需要添加足够多的方法,并且注意这些方法只能具有输入变量、输出变量,不能有主体(实现部分)。