S7-200 PLC中的顺序控制继电器(SCR)指令专门用于编制顺序控制程序。顺序控制程序被分为LSCR与SCRE指令之间的若干个SCR段,一个SCR段对应于顺序功能图中的一步。
一个SCR程序段一般有以下三种功能:
1)驱动处理:在该段状态有效时,要做什么工作,有时也可能不做任何工作。
2)指定转移条件和目标:满足什么条件后状态转移到何处。
3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。
S7-200 PLC提供了三条顺序控制指令:装载SCR(LSCR)指令、SCR传输(SCRT)指令和SCR结束(SCRE)指令。
SCR指令的LAD及STL指令格式如图8-27所示。
SCR指令的有效操作数见表8-2。
SCR指令的操作如下:
1)装载SCR (LSCR,Load SCR)指令用来表示一个SCR段(即顺序功能图中的步)的开始。指令中的操作数S—Bit为顺序控制继电器S(BOOL型)的地址,顺序控制继电器S为1状态时,执行对应的SCR段中的程序,反之则不执行。
2) SCR传输(SCRT,SCR Transition)指令将程序控制权从一个激活的SCR段传递到另一个SCR段,即步的活动状态的转换。执行SCRT指令,当SCRT线圈“得电”时,SCRT指令中指定的顺序功能图中的后续步对应的顺序控制继电器S位置位(变为1状态),同时当前活动步对应的顺序控制继电器S位被系统程序复位(变为0状态),当前步变为不活动步。
在SCRT指令执行时,复位当前激活的程序段的S位并不会影响S堆栈。SCR段会一直保持能流直到退出。
3) SCR结束(SCRE,SCR END)指令标志着SCR段的结束。
在LSCR指令与SCRE指令之间的所有逻辑操作的执行取决于S堆栈的值。而在SCRE指令和下一条LSCR指令之间的逻辑操作则不依赖于S堆栈的值。
还有一条SCR结束指令为SCR条件结束(CSCRE)指令,它可以使程序退出一个激活的程序段而不执行CSCRE与SCRE之间的指令。CSCRE指令不影响任何S位,也不影响S堆栈。
LSCR指令中指定的顺序控制继电器被放入SCR堆栈和逻辑堆栈的栈顶,SCR堆栈中S位的状态决定对应的SCR段是否执行,SCRE指令与下一个LSCR指令之间的指令逻辑不影响下一个SCR段程序的执行。由于逻辑堆栈的栈顶装入了S位的值,所以可以将SCR指令直接连接到左侧母线上。图8-28给出了SCR堆栈和逻辑堆栈以及执行LSCR指令产生的影响。
使用SCR指令时有以下的限制:
1) SCR指令仅对元件S有效,顺序控制继电器S也具有一般继电器的功能,所以对它能够使用其他指令。
2)不能把同一个S位用于不同程序中,例如如果在主程序中使用了SO.1,则在子程序中就不能再使用它。
3)在SCR段中不能使用JMP和LBL指令,即不允许用跳转的方法跳入或跳出SCR段;但可以在SCR段附近使用跳转和标号指令或者在段内跳转。
4)在SCR段中不能使用FOR、NEXT和END指令。
5)在状态发生转移后,所有的SCR段的元件一般也要复位,如果希望继续输出,可使用置位/复位指令。
6)在使用顺序功能图时,SCR段的编写可以不按顺序编排。
-
plc
+关注
关注
5008文章
13146浏览量
461959 -
S7-200
+关注
关注
13文章
407浏览量
50321
发布评论请先 登录
相关推荐
评论