SFC语言编辑器
介绍SFC语言编辑器
SFC语言编辑器
SFC语言的主要元素是:初始步骤,步骤,转换,动作块,分支,“跳跃”。 SFC程序由通过转换连接的一组步骤组成。
一旦具有SFC图表编辑功能的标签被激活,下一个面板就会出现在工具栏中(请参见图49 )。
图49 -SFC图表编辑面板
表8说明了此面板上的按钮。 表6和表7分别给出了与FBD和LD语言有关的其余按钮(线圈除外)的说明,并且它们也位于该面板上。
表8-LD图表编辑面板的按钮
按钮外观 | 按钮名称 | 按钮功能 |
---|---|---|
![]() | 创建一个新的开始步骤 | 调用步骤编辑对话框 |
![]() | 创建新步骤 | 调用步骤编辑对话框 |
![]() | 创建一个新的转换 | 调用转换编辑对话框 |
![]() | 创建一个新的动作块 | 调用动作块编辑对话框 |
![]() | 创建一个新分支 | 建立新的分支与融合对话的挑战 |
![]() | 创建一个新的无条件跳转 | 调用创建“跳转”的对话框 |
以下是添加表8中所示的SFC语言元素的说明。
添加一个初始化步骤和一个步骤
添加初始化步骤和正常步骤的过程没有什么不同。 在这两种情况下,都将调用“编辑步骤”对话框(请参见图53 )。
图50- 用于编辑SFC图表的初始化步骤的对话框
根据IEC61131-3,SFC图表上必须有一个初始化步骤,该步骤可表征SFC图表的初始状态,并在边框处以双线显示(请参见图51 )。
图51 -SFC语言初始化步骤
添加步骤时,会出现一个对话框,您可以在其中通过勾号指定其连接器(请参见图53 ):
- “输入”;
- “输出”;
- “动作”。
图53- 向图表添加SFC步骤
“动作”添加了一个连接器,以将该步骤与动作块相关联。 “输入”和“输出”连接器通常连接到结。 因此,单击“确定”后,具有指定连接器的步骤将添加到该图中(请参见图54 )。
图54- 具有输入和动作连接器的SFC图表步骤
添加转换
在SFC中添加转换图时,将出现“编辑转换”对话框(请参见图55 )。
图55- 向图表添加新的转换
在此对话框中,您必须选择转换类型及其优先级。 转换类型可以是:
- “引用”;
- “在线代码”;
- “连接”。
如果在下拉列表中选择转换类型“引用”(请参见图56 ),则在项目树中为此SFC编写的POU预定义的转换将可用。 在描述了SFC语言的所有添加元素之后,下面将描述添加预定义转换。
图56- 带有可用预定义转换的弹出列表
选择“在线代码”转换类型时(参见图57 ),转换条件可以用ST语言表示为表达式。
图57- 以ST编写的嵌入式代码形式的转换条件
当需要简短条件时,以这种方式实现转换非常方便,例如:INT类型的变量“ F3”和“ F4”相等。 此条件的内置代码如下(参见图57 ):
F3 = F4
例如,您可以简单地将变量指定为条件。 如果其值等于0-表示FALSE,其他所有值-TRUE。
选择转换类型“ Connection”(参见图58 )时,FBD或LD语言元素的输出值可用作转换条件。
图58- 选择转换条件作为与其他图形语言IEC61131-3的连接
选择转换类型“连接”时,在添加的转换的左侧会出现一个触点,该触点必须连接到输出值,例如FBD语言的功能块或图表的LD线圈。 应当注意,该输出值必须为BOOL类型。 下面,在图59中,以红色突出显示了使用LD语言指定条件的转换示例。
图59 -SFC图表的示例,其中使用LD语言指定了一个转换
添加动作块
将动作块添加到图中时,将出现“编辑动作块属性”对话框(请参见图60 )。
图60- “编辑动作块属性”对话框
该动作块可以包含一组动作。 您可以通过单击“添加”按钮并设置必要的参数来添加新动作:
- “限定符”;
- “持续时间”;
- “类型”:“动作”,“变量”,“在线”;
- “值”;
- “指示器”。
“说明符”字段定义动作开始,持续时间和结束时间的时间点。 您可以从列表中选择一个限定词(请参见图61 )。
图61- 在SFC图表中用于选择动作限定符的菜单
表9给出了在添加动作时从提议的列表中选择的限定词的详细描述。
表9-SFC图表限定符
限定词名称 | 动作块行为 |
---|---|
D | 该动作将在特定的指定时间后开始执行(如果该步骤仍处于活动状态),并且只要此步骤处于活动状态就将执行 |
L | 在某个预定时间间隔内执行该动作,此后该动作停止 |
N | 该步骤处于活动状态时执行该动作。 |
P | 一旦步骤变为活动状态,动作将执行一次 |
P0 | 一旦步骤变为非活动状态,动作将执行一次 |
P1 | 一旦步骤变为活动状态,动作将执行一次 |
S | SFC图表运行时,该动作已激活并保持活动状态。 |
R | 禁用图表后将执行该动作。 |
DS | 仅在该步骤仍处于活动状态时,该动作才会在特定的指定时间后开始执行。 |
SL | 该动作在指定的时间间隔内处于活动状态 |
SD | 即使该步骤不再处于活动状态,该动作也会在一段时间后开始执行 |
必须使用“时间”字段来设置表9中上述某些限定符所需的时间间隔。
“类型”定义将在动作激活期间执行的代码或特定动作。SFC选择“动作”的情况下,与转换的情况相同,,可以使用SFC语言编写的该POU在项目树中使用预定的动作( 参见图62)。
图62- 选择预定义的动作
在描述了SFC语言的所有已添加元素之后,下面将介绍添加预定的意义动作以及添加预定的意义转换。
如果在“值”(Value)的范围内选择动作类型“变量”(Variable),则可以选择与此POU相关的变量(参见图63)。
图63- 选择预定义变量
步骤激活后,,根据变量的类型,此变量将采用值0、0.0,FALSE和其他类型的空值。动作开始执行后,变量将采用值1、1.0,TRUE和其他类型的单位值。如果动作停止执行,则变量将再次采用值0、0.0,FALSE和另一个零值,具体则其类型。
如果选择“在线”,则可以在“值”上转换为以ST语言编写为将在动作导向的状态下执行的代码(请参见图64)。
图64- 为动作编写内联代码
正确的记录,与用于转换的内置代码相反,在使用动作的内置代码末尾,您需要添加“;”。
动作块添加将到图中后,有必要将其与特定步骤相关联。该动作通过踩踏时的右触点和动作时的左触点的通常组合来执行(请参见图65)。
图65- 将ORANGE步骤与包含四个动作的动作块相关联
增加分支和收敛
添加分支时,将显示“创建新分支”(请参见图66)。
图66- 添加选择分支
首先,您应该选择分支的类型:
- “选择分支”;
- “选择收敛”;
- “并行分支”;
- “并行收敛”
第二个参数是分支的数量,它确定一个分支将被分割成多个分支(在选择“选择分支”或“并行分支”的情况下)) ,或在一个分支中会聚多少个分支(在选择差异类型“替代联合“的情况下)”或“并行收敛”)
具有两个分支的分支的示例如图67所示,并以红色突出显示。
图 67-包含选择分支的SFC图表样本
收敛的样品在图68中用红色突出显示。
图68- 包含选择收敛的SFC图表示例
双向细分的示例如图69所示,并以红色突出显示。
图69- 具有并行分支的样本SFC图表
根据IEC61131-3的规定,在其他方面必须保持不变,否则必须在一个以上的范围内进行。
添加无条件跳转
SFC图表上一个“无条件跳转”元素以各种编程语言切换到代码中的某个标签时执行GOTO运算符。选择在SFC图表中添加“替换”后,将出现一个变量( 请参遵循70),您必须从列表中选择进行“重定向”的步骤-从SFC图表的一个步骤转换到另一步。
图70- 添加无条件跳转的对话框
对话框中还该存在初始化步骤(初始步骤)。选择一个步骤并按确定按钮后。SFC图表上会出现一个箭头,需要将其连接到转换(请参见图71) 。如果转换条件位于上方并伴随相连,则箭头右侧是转换所要执行的步骤的名称。
图71- 从停止步骤到初始开始步骤的无条件跳转
根据IEC61131-3,必须在步和跳之间定义转换。
项目树中的预定义转换条件和动作
如果有必要在多个步骤之间使用某个转换条件,则可以在SFC的结构中确定该转换条件。通过使用鼠标右键单击项目树中的此SFC此并选择“添加转换”来执行此动作( 请参见图72)。
图 72-项目面板中的SFC图表放置菜单
然后将出现一个称为“创建新转换”的变量(请参见图73)。必须选择一个唯一的转换名称和描述此条件的语言。
图73- “创建新转换”
向SFC图表结构添加动作(请参见图75)向向该结构添加转换。
图75- 图表结构的SFC放置菜单
在快捷方式中使用SFC语言编写的POU的快捷菜单,并选择“添加动作”后,将显示“创建新动作”(请参见图76)。
图76- “创建新动作”
动作之后添加,有必要使用文本或图形语言来实现其代码,具体取决于在“创建新动作”对话框中选择的语言(参见图产品76) 。将转换和动作添加到项目树之后,它们将可以多次使用。
附录7中定义了SFC语言的描述,基本结构和使用示例。