顺序控制继电器(SCR)指令能够按照自然工艺段在LAD、FBD或STL中编制状态控制程序。由一系列操作组成的应用程序都会反复执行,而SCR可以使程序更加结构化,以至于直接针对应用,这样可以使得编程和调试更加快速、简单。
装载SCR指令(LSCR)将S位的值装载到SCR和逻辑堆栈中。SCR堆栈的结果值决定是否执行SCR程序段。SCR堆栈的值会被复制到逻辑堆栈中,因此,可以直接将盒或者输出线圈连接到左侧的能流线上而不经过中间触点。
1.指令格式
STL: LSCR n SCRT n SCRE
LAD:
2.指令功能
LSCR:载入顺序控制继电器指令。LSCR用指令(n)引用的S位数值载入SCR和逻辑堆栈,SCR段被SCR堆栈的结果数值激励或取消激励,SCR堆栈数值被复制至逻辑堆栈的顶端,以便方框或输出线圈可直接与左电源杆连接,无须插入触点。
SCRT:顺序控制继电器转换指令。SCRT识别要启用的SCR位(下一个要设置的n位)。当使能位进入线圈或FBD方框时,打开引用n位,并关闭LSCR指令(启用该SCR段)的n位。
SCRE:顺序控制继电器结束指令。SCRE标记SCR段的结束。
3.指令应用
顺序控制继电器指令的应用如图5-1所示。
图5-1 顺序控制继电器指令应用
4.指令说明
(1)“载入SCR”指令(LSCR)标记SCR段的开始,“SCR结束”指令(SCRE)标记 SCR段的结束。“载入SCR”和“SCR结束”指令之间的所有逻辑执行取决于S堆栈数值。“SCR结束”和下一条“载入SCR”指令之间的逻辑不取决于S堆栈数值。
(2)“SCR转换”指令(SCRT)提供一种从现用SCR段向另一个SCR段转换控制的方法。当“SCR转换”指令有使能位时,该指令会复原当前现用段的 S位,并设置被引用段的S位。在“SCR”转换指令执行时,复原现用段的S位不会影响S堆栈。因此,SCR段在退出前保持激励状态。
(3)一旦将电源应用于输入,有条件顺序控制继电器结束(CSCRE)指令即标记SCR段结束。CSCRE只有在STL编辑器中才能使用。
(4)“有条件SCR结束”指令(CSCRE)提供一种无须执行“有条件SCR结束”和“SCR结束”指令之间的指令即可退出现用SCR段的方法。“有条件SCR结束”指令不会影响任何S位,也不会影响S堆栈。
(5)使用SCR的限制。
① 不能在一个以上例行程序中使用相同的S位。例如,如果在主程序中使用S0.1,则不能在子程序中再使用。
② 不能在SCR段中使用JMP和LBL指令。这表示不允许跳转入或跳转出SCR段,也不允许在SCR段内跳转。可以使用跳转和标签指令在SCR段周围跳转。(www.daowen.com)
③ 不能在SCR段中使用“结束”指令。
(6)分支控制。
在许多实例中,一个顺序控制状态流必须分成两个或多个不同分支控制状态流,当一个控制状态流分离成多个分支时,所有的分支控制状态流必须同时激活,如图 5-2所示。
使用多条由相同转移条件激活的SCRT 指令,可以在一段SCR程序中实现控制流的分支,如图5-3所示。
图5-2 控制流的分支
图5-3 控制流的分支示例
(7)合并控制。
合并控制与分支控制的情况类似,两个或者多个分支状态流必须合并为一个状态流。当多个状态流汇集成一个时,称为合并。当控制流合并时,所有的控制流必须都完成,才能执行下一个状态。图5-4给出了两个控制流合并的示意,在SCR程序中,通过从状态L转到状态N,以及从状态M转到状态N的方法实现控制流的合并,当状态L、M的SCR使能位为真时,即可激活状态N。
图5-4 控制流的合并
图5-5所示是一个控制流的合并示例。
图5-5 控制流的合并示例
在某些情况下,一个控制流可能转入多个可能的控制流中的某一个,到底进入哪一个
取决于控制流前面的转移条件哪一个首先为真,如图5-6和图5-7所示。
图5-6 条件转换控制流分支
图5-7 条件转换控制流分支示例
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。