菜单

通过数据流自动执行命令

在基于文本的编辑器和基于网络的编辑器中,POU中的执行顺序是唯一确定的。但是,在CFC编辑器中,您可以自由放置元素,因此执行顺序最初不是唯一的。因此,MetaFacture通过数据流确定执行顺序,在多个网络的情况下,通过元素的拓扑位置确定执行顺序。元素从上到下,从左到右排序。现在,执行顺序是唯一的,并确保在按时间和周期进行优化的同时处理POU。

您可以获取有关图表中元素时间顺序的信息,并临时显示执行顺序。使用反馈对网络进行编程时,可以将元素定义为反馈循环的起点。

如果需要,还可以在CFC对象中显式编辑处理顺序。为此,请将CFC对象的Auto Data Flow Mode属性切换为Explicit Execution Order Mode。在此模式下,您可以选择通过菜单命令来编辑执行顺序。

在MetaFacture Development SystemV1.0 SP15之前,您必须为每个POU明确定义执行顺序。没有模式切换。

 


数据流​

通常,数据流被描述为按时间顺序排列,在该顺序中,何时以及如何以何种编程对象读取或写入数据。一个POU可以处理任何数量的数据流,它们也可以彼此独立地执行。

 


显示执行顺序​

默认情况下,将自动确定CFC对象的执行顺序。为此选择了自动数据流模式属性。您可以在CFC编辑器中临时显示自动确定的执行顺序。


1.例如,使用标准工程模板创建一个新项目,并指定名称Minimal。

2.使用带有输入和输出的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

 
3.用CFC实现语言创建功能块ExecuteCFC。

PROGRAM ExecuteCFC
VAR
    fb_DoIt_0: FB_DoIt;
    fb_DoIt_1: FB_DoIt;
    iFinal_1: INT;
    iFinal_0: INT;
    xFinal: BOOL;
END_VAR

 

 

最近的工程在CFC中创建的编程对象已可以选择“自动数据流模式”。编程对象的执行顺序是在内部最佳定义的。

 

4.单击CFC ➔ 执行顺序 ➔ Display Execution Order
⇒显示了对象的执行顺序。块和输入已相应编号,并反映了时间顺序。再次在CFC编辑器中单击时,该编号将被隐藏。

 

 

 


确定反馈网络中的执行顺序​

1.创建带有反馈的CFC程序。


POUPrgPositiveFeedback用来计数。
 

PROGRAM PrgPositiveFeedback
VAR
    iResult: INT;
END_VAR

 
 

 
2.在反馈中选择一个元素。⇒所选元素以红色突出显示。

3.单击CFC ➔ 执行顺序 ➔ Set Start of Feedback

 
⇒在runtime中,这个POU被优先执行。定义反馈的开始POU,并用 符号修饰。重新执行顺序,所选元素的编号为0。(这是最低数量的反馈。)


4.再次选择开始POU。

5.单击CFC ➔ 执行顺序 ➔ Set Start of Feedback
⇒未将POU选择为开始POU。
 

 
 
执行顺序在内部定义。


6.ClickCFC ➔ 执行顺序 ➔ Display Execution Order
⇒通过数据流显示执行顺序。


 

 


明确定义执行顺序​

注意:由数据流自动定义的执行顺序会导致POU的时间和周期优化执行。在开发过程中,您不需要有关内部管理执行顺序的任何信息。在Explicit Execution Order Mode模式下,您必须调整执行顺序并评估后果和影响。这是始终显示执行顺序的另一个原因。

选择对象的Explicit Execution Order Mode选项时,可以显式更改CFC对象的自动定义的执行顺序。


1.在设备POU视图中,选择一个CFC对象。

2.在列表菜单中,单击属性

3.单击CFC Execution Order选项卡⇒列表框Execution order显示当前选择的模式。

4.在Execution order列表框中,选择Explicit Execution Order Mode

5.单击确定以确认对话框⇒Explicit Execution Order Mode模式属性被选中。网络在CFC编辑器中编号,并且在CFC ➔ 执行顺序菜单中提供了以下命令,用于编辑执行顺序。

6.打开一个CFC对象。

7.选择一个编号的元素,然后单击CFC ➔ 执行顺序 ➔ 置首
⇒重新执行顺序,所选元素的编号为0。

 

最近修改: 2025-07-24