可用于 CFC 编辑器窗口中编程的图形元素由工具箱提供。通过在视图菜单中执行命令工具箱来打开工具箱。
在工具箱中选择所需的元素并通过拖放操作将其插入编辑器窗口中。
除了编程元素外,在工具箱列表的顶部还有一个条目 。只要选择了该条目,光标就会成为箭头形状,并且您可在编辑器窗口中选择元素进行定位和编辑。
名称 |
符号 |
描述 |
---|---|---|
页码 |
![]()
|
将根据其位置自动提供页码。您可在页面顶部的橙色字段中输入名称(在该示例中为 Overview)。 |
控制点 |
![]()
|
需要控制点来固定手动修改的连接线路线。这有助于防止修改被命令 Route all Connections 复原。借助 2 个控制点,您可标记要修改其线路的线条的确切部分。 |
输入的上升沿递增 |
![]()
|
您可选择 ??? 提供的文本,并用变量或常量替换它。输入助手用于选择有效标识符。 |
输出 |
![]()
|
|
运算块 |
![]()
|
您可使用运算块来表示操作符、功能、功能块和程序。您可选择 ??? 提供的文本,并用操作符、功能、功能块或程序名来替换它。输入助手用于选择其中一个可用对象。 如果插入功能块,将在运算块上方显示另一个 ???。用功能块实例的名称替代问号。如果对包含常量输入参数的功能块进行了实例化,则运算块元素会在运算块左下角显示字段参数...。单击此按钮可打开用于编辑输入参数的对话框。请参阅编辑参数...章节。 如果用另一个运算块替代现有运算块(通过修改输入的名称),并且新的运算块具有不同的最小或最大输入或输出引脚数目,将相应地修改引脚。如果要移除引脚,则应当先移除最低的引脚。 |
跳转 |
![]()
|
使用跳转元素来指示程序应当继续执行的位置。该位置通过标签定义(请参见下文)。因此,通过标签名来替代 ??? 提供的文本。 |
标签 |
![]()
|
标签将标记程序可跳转至其上的位置(请参见元素跳转)。 处于在线模式下时,将自动插入标记 POU 末尾的返回标签。 |
返回 |
![]()
|
处于在线模式下时,将把返回元素自动插入第一列以及编辑器的最后元素之后。在单步运行时,会在 POU 上的执行结束时自动跳转。 |
合成器 |
![]()
|
使用合成器来处理结构类型的运算块的输入。合成器将显示结构组件,从而程序员可在 CFC 中访问它们。为此,以类似所关注结构的方式对合成器命名(通过用名称替代 ???),并将其连接至运算块,而不是使用输入元素。 |
选择器 |
![]()
|
与合成器相比,选择器用于处理结构类型的运算块的输出。选择器将显示结构组件,从而程序员可在 CFC 中访问它们。为此,以类似所关注结构的方式对选择器命名(通过用名称替代 ???),并将其连接至运算块,而不是使用输出元素。 |
注释 |
![]()
|
使用该元素将任何注释添加至图表。选择占位符文本,并用任何所需文本替代它。要在注释中获取新的行,可按 CTRL + ENTER。 |
连接标志 – 源极 连接标志 - 漏极 |
![]()
![]()
|
您可在元素之间使用连接标志而不使用连接线。这有助于清除复杂图表。 要进行有效连接,可在元素的输出处分配连接标志 - 源极元素,并在另一个元素的输入处分配连接标志 - 漏极(参见下文)。向两个标记赋予相同名称(不区分大小写)。 命名: 第一个连接标志 – 插入 CFC 的源极元素被默认命名为 C-1 并且可手动对其进行修改。在其配对连接标记“漏极”中,使用和源极标记中所用一样的名称字符串替代 ???。编辑器将验证标记的名称是否为唯一。如果源极标记的名称更改,也将自动重新命名所连接源极标记的名称。但是,如果将漏极标记重命名,源极标记将保留旧名称。这可让您重新配置连接。同样地,移除连接标志不会移除其匹配部分。 要在图表中使用连接标志,可将其从工具箱拖动至编辑器窗口,然后将其引脚与相应元素的输出或输入引脚连接。您也可通过使用命令连接标志转换现有正常连接行。该命令也可让您将连接标志更改回正常连接。 如需查看显示有一些连接标志示例的图片,请参阅连接标志一章。 |
输入引脚 |
![]()
|
根据运算块类型,您可添加额外输入。为此,选择 CFC 网络中的运算块元素,并在运算块上拖动输入引脚元素。 您可以在按住 Ctrl 键的同时,将输入或输出连接拖拽到运算块的另一位置。 |
输出引脚 |
– |
根据运算块类型,您可添加额外输出。为此,选择 CFC 网络中的运算块元素,并在运算块上拖动输出引脚元素。 您可以在按住 Ctrl 键的同时,将输入或输出连接拖拽到运算块的另一位置。 |
CFC 程序 cfc_prog 处理功能块 fublo1 的实例,该功能块具有结构类型的输入变量 struvar。使用合成器元素来访问结构组件。
结构定义 stru1:
TYPE stru1 :
STRUCT
ivar:INT;
strvar:STRING:='hallo';
END_STRUCT
END_TYPE
功能块 fublo1 的声明和实现:
FUNCTION_BLOCK fublo1
VAR_INPUT
struvar:STRU1;
END_VAR
VAR_OUTPUT
fbout_i:INT;
fbout_str:STRING;
END_VAR
VAR
fbvar:STRING:='world';
END_VAR
fbout_i:=struvar.ivar+2;
fbout_str:=CONCAT (struvar.strvar,fbvar);
程序 cfc_prog 的声明和实现:
PROGRAM cfc_prog
VAR
intvar: INT;
stringvar: STRING;
fbinst: fublo1;
erg1: INT;
erg2: STRING;
END_VAR
合成器元素
1 合成器
2 具有结构类型为 struvar 的输入变量 stru1 的功能块
CFC 程序 cfc_prog 处理功能块 fublo2 的实例,该功能块具有结构类型为 fbout 的输出变量 stru1。使用选择器元素来访问结构组件。
结构定义 stru1:
TYPE stru1 :
STRUCT
ivar:INT;
strvar:STRING:='hallo';
END_STRUCT
END_TYPE
功能块 fublo1 的声明和实现:
FUNCTION_BLOCK fublo2
VAR_INPUT CONSTANT
fbin1:INT;
fbin2:DWORD:=24354333;
fbin3:STRING:='hallo';
END_VAR
VAR_INPUT
fbin : INT;
END_VAR
VAR_OUTPUT
fbout : stru1;
fbout2:DWORD;
END_VAR
VAR
fbvar:INT;
fbvar2:STRING;
END_VAR
程序 cfc_prog 的声明和实现:
VAR
intvar: INT;
stringvar: STRING;
fbinst: fublo1;
erg1: INT;
erg2: STRING;
fbinst2: fublo2;
END_VAR
下面的插图显示了已通过执行删除未使用的引脚命令删除了未使用引脚的选择器元素。
1 具有结构类型为 fbout 的输出变量 stru1 的功能块
2 选择器