在 CFC 编辑器中,您可以将 POU 互相连接起来,并创建结构合理的框图。
编辑器通过以下方式为您提供支持:
-
用元素和连接线编程
-
将实例和变量拖到编辑区
-
自动路由连接线
-
自动链接
-
用控制点固定连接线
-
碰撞检测
-
连接标记输入辅助
-
在联机模式下强制和写入数值
-
使用箭头键移动选择
-
减少显示未断开插针的 POU
插入元件并用连接线布线
-
将“Box” 元素和“Output” 元素拖入编辑器。
-
单击“Box” 元素的输出。
输出用红色方框标记。
-
从“方框” 元素的方框输出到“输出” 元素的方框输入拖动一条连接线。
当光标到达输入框时,光标符号会发生变化。
-
松开鼠标左键。
盒子的输出引脚与输出的输入引脚相连。
您也可以按住[Ctrl] 键,选择每个引脚,然后右键单击“连接的选定引脚” 。
实例调用
-
使用标准模板创建一个新项目,并指定名称,例如
First
。创建项目
First.project
。 -
使用带有输入和输出的 “ST” 实现语言中的功能块
FB_DOIt
扩展应用程序。FUNCTION_BLOCK FB_DoIt VAR_INPUT iAlfa : INT; iBravo: INT; sCharlie : STRING := 'Charlie'; xItem : BOOL; END_VAR VAR_OUTPUT iResult : INT; sResult : STRING; xResult : BOOL; END_VAR VAR END_VAR iResult := iAlfa + iBravo; IF xItem = TRUE THEN xResult := TRUE; END_IF
-
选择应用程序,然后单击右键菜单中的“Add Object POU” 。选择“Continuous Function Chart (CFC)” 执行语言和类型
Program
。例如,指定名称PrgFirst
。单击“OK” 确认对话框。
程序
PrgFirst
已创建并在编辑器中打开。它仍然是空的。 -
实例化功能块并声明变量。
PROGRAM PrgFirst VAR iCounter: INT; fbDoIt_1 : FB_DoIt; fbDoIt_2 : FB_DoIt; iOut : INT; sOut: STRING; xOut: BOOL; END_VAR
-
将“Box” 元素从“ToolBox” 视图拖入编辑器。
-
单击
???
字段,键入ADD
。包装盒类型为
ADD
。盒子起到加法器的作用。 -
点击声明编辑器中的第 3 行。
选择
iCounter
的声明行。 -
在选区中单击,将选中的变量拖入执行中。请关注
ADD
框的输入。输入端已创建、声明并连接至盒子。
-
再次单击选区,将变量拖到
ADD
框的输出端。已创建、声明并连接了一个输出端。
-
从 “ToolBox” 视图拖动“输入”元素到实现。单击
???
字段,键入1
。 -
将
1
输入端与ADD
盒的输入端相连。网络已编程。运行时,网络对总线周期进行计数,并将结果存储在
iCounter
中。 -
点击声明编辑器中的第 5 行。
线路已选定。
-
在选区中单击,然后将选中的实例拖入执行中。
该实例在编辑器中显示为 POU。相应地显示类型、名称和 POU 引脚。
-
将
fbDoIt_2
实例拖到编辑器中。实例之间以及输入和输出之间的互连。示例:
具有相同功能的 ST 程序可能是这样的:
PROGRAM PrgFirstInSt VAR iCounter: INT; fbDoIt_1 : FB_DoIt; fbDoIt_2 : FB_DoIt; iOut : INT; sOut: STRING; xOut: BOOL; END_VAR iCounter := iCounter + 1; fbDoIt_1(iAlfa := 16, iBravo := 32, sCharlie := 'First', xItem := TRUE, iDelta := 2, iResult => fbDoIt_2.iAlfa, xResult => fbDoIt_2.xItem); fbDoIt_2(iBravo := fbDoIt_1.iResult, sCharlie := 'Second', iDelta := 2, iResult => iOut , sResult=> sOut, xResult => xOut);
创建连接标记
要求:氟氯化碳 POU 具有连接元件。
-
在两个元素之间选择一条连接线。
显示选中的连接线。连接线的两端用红色方框标记 (
)。
-
单击“CFC 连接标记” 。
连接分为“连接标记 - 源” 和“连接标记 - 汇” 。标记名称会自动生成。
-
单击源连接标记。
您可以编辑名称。
-
为源连接标记指定一个名称
SimpleMark
。源连接标记和汇连接标记的名称相同。
通过控制点解决碰撞并固定连接线
下面的示例显示了如何使用“路由所有连接” 命令控制点。
-
定位“输入” 和“输出” 元素。连接各要素。
-
将两个“Box” 元素放在直线上。
由于碰撞,连接线和方框被标为红色。
-
单击“CFC 路由 路由所有连接” 。
碰撞已解决。
-
逐渐改变连接线。
连接线路已手动更改,现在已阻止自动路由。连接末端的锁符号表示这一点。
-
选择连接线并单击“CFC 路由 创建控制点” 。
在连接线上创建一个控制点。连接线固定在控制点上。
您还可以从“ToolBox” 视图中将控制点拖到直线上。
-
更改连接线,如下例所示。
根据需要使用控制点更改连接线。您可以设置任意数量的控制点。
-
在上下文菜单中,单击“CFC Routing Remove Control Point” 删除控制点。
-
单击“解锁连接” 或单击锁定符号,解除连接锁定。
-
选择连接线,然后单击“路由所有连接线” 。
如步骤 3 所示,连接线会自动路由。




注意

组中的连接不会自动路由。
减少 POU 的显示
要求:氟氯化碳 POU 打开。在编辑器中,会显示其 POU 和所有已声明的引脚。
-
选择引脚部分断开的 POU。
例如
fb_DoIt_1
POU 需要为所有引脚留出空间。
-
单击“CFC 引脚 删除未使用的引脚” 。
现在,POU 所占空间更小,只显示与功能相关的引脚。