【图】三菱plc状态编程方法与注意事项

作者:老电工时间:2015-10-03 09:30:27

三菱plc状态编程方法与注意事项

一、单流程状态转移图的编程

(一)什么是单流程
所谓单流程,是指状态转移只可能有一种顺序。例如台车自动往返的控制过程只有一种顺序:s0→s20→s21→s22→s23→s24→s0,没有其他可能,所以叫单流程。

(二)单流程状态转移图的编程方法

1、状态的三要素 
状态转移图中的状态三要素是指驱动、状态转移条件和状态转移方向三个要素。其中指定状态转移条件和状态转移方向是不可缺少的。

表达本状态的工作任务(负载驱动)时可以使用out指令也可以使用set指令。

out指令和set指令的区别:out指令驱动的输出在本状态关闭后自动关闭,使用set指令驱动的输出可保持到其他状态执行,直到在程序的别的地方使用rst指令使其复位。
 
三菱<a href=/plc/ target=_blank class=infotextkey>plc</a>状态编程1
状态三要素

2、状态转移图的编程方法 

步进顺控指令的编程原则:先进行驱动处理,然后进行状态转移处理。状态转移处理就是根据转移方向和转移条件实现向下一个状态的转移。

三菱plc状态编程2

步进顺控指令的编程原则

二、编程要点和注意事项

(1)对状态进行编程处理,必须使用步进接点指令stl,它表示这些处理(包括驱动、转移)均在该状态接点形成的子母线上进行。

(2)与stl步进接点相连的触点应使用ld或ldi指令,下一条stl指令的出现意味着当前stl程序区的结束和新的stl程序区的开始。
ret指令意味着整个stl程序区的结束,ld点返回左侧母线。每个stl步进接点驱动的电路一般放在一起,最后一个stl电路结束时(即步进程序的最后),一定要使用ret指令,否则将出现“程序语法错误”信息,plc不能执行用户程序。

(3)状态编程顺序为:先进行驱动处理,再进行转移处理,不能颠倒。驱动处理就是该状态的输出处理,转移处理就是根据转移方向和转移条件实现下一个状态的转移。

(4)初始状态可由其他状态驱动,但运行开始时,必须用其他方法预先作好驱动,否则状态流程不可能向下进行。

一般用控制系统的初始条件,若无初始条件,可用m8002或m8000进行驱动。
m8002是一个初始脉冲,它只在plc运行开关由stop→run时有电一个扫描周期,故初始状态s0就只被它“激活”一次。

因此,初始状态s0就只有初始复位的功能。m8000是运行监视,它在plc的运行开关由stop→run后一直有电,直到plc停电或plc的运行开关由run→stop,故初始状态s0就一直处在被“激活”的状态。有的时候还用其他触点进行组合来驱动s0。

(5)stl步进接点可以直接驱动或通过别的触点驱动y、m、s、t等元件的线圈和应用指令。驱动负载使用out指令时,若同一负载需要连续在多个状态下驱动,则可在各个状态下分别输出,也可以使用set指令将负载置位,等到负载不需要驱动时,用rst指令将其复位。负载的驱动或状态转移的条件也可能是多个,要视其具体逻辑关系,将其进行串、并联组合。
三菱plc状态编程3

单流程状态转移图及指令表
(6)若为顺序不连续转移(即跳转),不能使用set指令进行状态转移,应改用out指令进行状态转移。
三菱plc状态编程4

非连续转移状态转移图
(7)由于cpu只执行活动步对应的电路块,因此,使用stl指令时允许双线圈输出,即不同的stl触点可以驱动同一软元件的线圈,但是同一软元件的线圈不能在同时为活动步的stl区内出现。在有并行流程的状态转移图中,应特别注意这一问题。另外,状态软元件s在状态转移图中不能重复使用,否则会引起程序执行错误。

(8)在步的活动状态的转移过程中,相邻两步的状态继电器会同时on一个扫描周期,可能会引发瞬时的双线圈问题。

注意事项:

一是定时器在下一次运行之前,应将它的线圈“断电”复位后才能开始下一次的运行,否则将导致定时器的非正常运行。所以,同一定时器的线圈可以在不同的步使用,但是同一定时器的线圈不可以在相邻的步使用。若同一定时器的线圈用于相邻的两步,在步的活动状态转移时,该定时器的线圈还没有来得及断开,又被下一活动步起动并开始计时,这样,导致定时器的当前值不能复位,从而导致定时器的非正常运行。

二是为了避免不能同时接通的两个输出(如控制异步电动机正反转的交流接触器线圈)同时动作,除了在梯形图中设置软件互锁电路外,还应在plc外部设置由常闭触点组成的硬件互锁电路。

(9)并行流程或选择流程中每一分支状态的支路数不能超过8条,总的支路数不能超过16条。

(10)stl步进接点右边不能紧跟着使用mps指令。stl指令不能与mc、mcr指令一起使用。在for、next结构中、子程序和中断程序中,不能有stl程序块,但stl程序块中可允许使用最多4级嵌套的for、next指令。虽然并不禁止在stl步进接点驱动的电路块中使用cj指令,但是为了不引起附加的和不必要的程序流程混乱,建议不要在stl程序中使用跳转指令。

(11)需要在停电恢复后继续维持停电前的运行状态时,可使用s500~s899停电保持状态继电器。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 三菱plc