在顺序功能图中除了前面使用过的单序列和循环序列外,还有并行序列、选择序列、跳转序列和混合序列,本期主要介绍并行序列和选择序列。
并行序列
一、并行序列的形式
当满足转换条件后同时执行多个序列时,这些序列称为并行序列。
为了强调转换的同步实现,在并行序列开始和结束时其有向连线的水平部分用双线表示。
上图程序表示:
当转换条件X1满足时,并行序列开始,即S11、S13、S15同时变为活动步,每个序列中的活动步的进展是独立的。
当转换条件X4满足,且S12、S14、S15都处于活动状态时,并行序列结束(合并),即S16变为活动步。
二、指令运用
按照《红绿灯》项目要求在GX works2中编写对应的顺序功能图。
1)项目要求和变量表
根据项目要求和仿真动画确定各个元件所对应的I/O地址。
2)编辑初始化程序
添加梯形图块并编辑初始化程序。
3)编辑主程序
添加SFC块后,按项目要求编辑顺序功能图。
A)编辑启动条件
在S0步添加转换指令,并编辑对应的转换条件。
B)添加并行分支
将光标移动到第3行,单击工具栏中的“并列分支”图标,设置并行分支的数量。
添加并行分支时只能将光标移动到没有黑点的行,否则无法添加。
C)编辑东西方向红绿灯程序
由于并行序列是独立执行的,为了编程方便可以先编辑完成一条序列后再编辑另一条序列。
程序内容如下图所示,具体编辑过程此处不演示。
D)编辑南北方向红绿灯程序
南北方向的程序与东西方向程序类似,具体内容如下图所示。
E)合并并行分支
由于并行序列开始或结束(合并)时不能带有转换条件,所以需要在含有转换条件的步下添加一个空白步才能合并并行分支。
将光标移动到第17行,单击工具栏中的“并列合并”图标,设置并行分支的数量。
F)添加转换条件
并行分支合并后需要添加转换条件后才能继续编程,否则程序无法编译。
此处可以使用空白步S18、S19的常开触点充当转换条件,即当S18、S19为活动步时,其所对应的常开触点闭合。
只有S18、S19都为活动步时,并行分支才能合并,并继续向下执行。
转换条件设置完成后让程序跳转到S0步。
4)程序调试
将程序下载到仿真器中,将X0状态改为“ON”(模拟按钮按下)然后立即改为“OFF”(模拟按钮弹起)监视程序运行状态。
发现程序只能执行一个周期,需要修改程序。
5)修改程序
由于执行完一个周期后跳转到S0步时,启动条件X0状态已变为“OFF”程序不能继续执行。
若将程序修改为执行完一个周期后跳转到S10或S14步时,则程序只会执行东西方向或者南北方向的序列,不符合项目要求。
此时可以在并行分支开始前添加一个空白步S20,并让程序执行完一个周期后跳转到S20步即可实现项目要求。
添加空白步S20后同样将S20的常开触点作为转换条件,否则程序无法编译。
修改完成后再次将程序下载到仿真器中观察程序运行状态。
选择序列
一、选择序列的形式
一个活动步之后,有多个后续步可供选择的结构形式称为选择序列。
各个分支开始的转换条件只能标在水平连线之下。
在同一时刻只能选择一个序列执行。
上图程序表示:
当转换条件X1满足时,执行S11所在的序列,X4、X7同理,但每次只能有一个序列被执行。
当转换条件X3满足时,活动步由S12移动到S16,X6、X9同理。
二、指令运用
将并行序列中《红绿灯》项目要求修改后,在GX works2中编写对应的顺序功能图。
1)项目要求和变量表
根据项目要求和仿真动画确定各个元件所对应的I/O地址。
2)编辑初始化程序
初始化程序与上一项目相同此处不演示。
3)编辑主程序
A)编辑启动条件
在S0步添加转换指令,并编辑对应的转换条件。
B)添加空白步
由于选择序列的转换条件只能在水平连线之下,所以需要在启动条件下添加一个空白步S20。
C)添加选择分支
将光标移动到第5行,单击工具栏中的“选择分支”图标,设置选择分支的数量。
添加选择分支时只能将光标移动到没有黑点的行,否则无法添加。
D)添加选择条件
分别在东西方向序列和南北方向序列上添加转换条件X2、X3。
E)编辑红绿灯程序
与上一项目程序相同此处不演示。
F)合并选择分支
将光标移动到第18行,单击工具栏中的“选择合并”图标,设置选择分支的数量。
合并选择分支结束后添加跳转指令,让程序跳转到S20步。
4)程序调试
将程序下载到仿真器中观察程序运行状态是否符合项目要求。
全部0条评论
快来发表一下你的评论吧 !