接口

概述

使用接口是面向对象的编程的一种方式。接口 POU 在不实现的情况下定义一组方法属性。可将接口描述为功能块的空 shell。必须在功能块的声明中实现它,才能在功能块实例中实现。功能块可实现一个或数个接口。

可用相同的参数实现同一方法,但是不同的功能块使用不同的实现代码。因此可在任何 POU 中使用/调用接口,无需 POU 确定相关的特定功能块。

功能块中接口定义和使用的示例

接口 IFT 插在应用程序下面。其包含 2 种方法,Method1 和 Method2。接口或方法都未包含任何实现代码。只有方法的声明部分会填入所需的变量声明:

带 2 个方法的接口:

G-SE-0027215.2.gif-high.gif

 

 

现在可插入一个或多个功能块,实现上面定义的接口 ITF

创建实现接口的功能块

G-SE-0027199.2.gif-high.gif

 

 

当将功能块 POU 添加至应用程序树时,将根据 Method1 的定义自动在下面插入方法 Method2 和 ITF。现在可用特定于功能块的实现代码来填写它们。

使用功能块定义中的接口

G-SE-0027217.2.gif-high.gif

 

 

接口可通过在接口定义中使用 EXTENDS(请参阅下面的示例扩展接口的示例)来扩展其他接口。

接口属性

接口也可定义接口属性,该属性由访问器方法 Get 和/或 Set 组成。有关属性的更多信息,请参阅 属性一章。接口中的属性和可能包含的方法一样,只是一种原型,这意味着其不包含实现代码。和方法一样,会将它自动添加至实现接口的功能块。在其中可用特定编程代码填写它。

注意事项

注意以下事项:

o不允许在接口中声明变量。接口没有主体(实现部分)并且没有操作。在接口中只定义方法的集合,并且仅允许这些方法具有输入变量、输出变量以及输入/输出变量。

o将把以接口类型声明的变量作为引用处理。

o必须向实现接口的功能块分配方法和属性,这些方法和属性的名称和它们在接口中的一样。它们必须包含名称一致的输入、输出和输入/输出。

注意: 将方法或属性从 POU 复制或移动到接口时,将自动删除包含的实现。从接口复制或移动到 POU 时,需要指定所需的实现语言。

插入接口

要向应用程序添加接口,可在应用程序树软件目录 > 资产中选择应用程序节点,单击绿色加号按钮并选择添加其他对象... > 接口。也可执行命令添加对象 > 接口。如果在执行命令前选择了节点全局,新的接口可用于所有应用程序。

添加接口对话框中,为新接口输入名称(<接口名称>)。如果您希望当前接口成为另一个接口的扩展,您也可选择激活选项扩展:

扩展接口的示例

如果 ITF1 扩展 ITF_baseITF_base 描述的所有方法都将自动在 ITF1 中可用。

扩展接口

G-SE-0027216.2.gif-high.gif

 

 

单击添加确认设置。新接口的编辑器视图打开。

声明接口

语法

INTERFACE <接口名称>

对于扩展另一个接口的接口:

INTERFACE <接口名称> EXTENDS <基本接口名称>

示例

INTERFACE interface1 EXTENDS interface_base

添加所需方法集合

要完成接口的定义,可添加所需的方法集合。为此,请选择应用程序树中的接口节点,然后执行命令接口方法...添加接口方法对话框打开,用于定义将成为接口一部分的方法。也可在应用程序树中选择接口节点,单击绿色加号按钮并选择接口方法。根据需要添加足够多的方法,并且注意这些方法只能具有输入变量、输出变量,不能有主体(实现部分)。