您现在的位置是:首页 > PLC技术 > PLC技术
三菱FX2N系列PLC的步进梯形图程序设计
来源:艾特贸易2017-06-05
简介在设计步进梯形图的程序时,在梯形图中引入步进接点和步进返回指令后,就可以从状态转移图转换成相应的步进梯形图和指令表。对应图 4.3(a) 单流程的状态转移图的步进梯形图和指
在设计步进梯形图的程序时,在梯形图中引入步进接点和步进返回指令后,就可以从状态转移图转换成相应的步进梯形图和指令表。对应图4.3(a)单流程的状态转移图的步进梯形图和指令表如图4.3(b)和图4.3(c)所示。 从图4.3(a)~(c)中抽出一个有代表性的状态S21,其相应的SFC、步进梯形图和指令表如图4. 4(a)~(c)所示。从图4.4(a)到图4.4(b)和图4.4(c)之间的转换规则,可以作为从SFC转换成步进梯形图和指令表的模板。 图4.3 单流程的SFC编程 (1)状态编程的规则 从状态转移图中抽出S21的状态来看,每个状态具有驱动负载、指定转移方向和指定转移条件三个功能。其中指定转移方向和指定转移条件是必不可少的,而负载驱动则视具体情况,没有负载的状态当然不必进行负载驱动。在图4.4(b)中,当STL接点接通后,S21状态有效时,先是用OUT指令驱动输出线圈Y002,然后才用SET S22指令决定转移方向,转向下一相邻状态S22。反映在图4.4(c)指令表也是这样。单流程中的其他状态的编程完全可以参照此模板进行。
图4.4 状态编程的模板 ①初始状态的编程。初始状态一般是指一个顺控工艺过程最开始的状态,对应于状态转移图起始位置的状态就是初始状态。S0~S9共10个状态元件专用作初始状态,用了几个初始状态,就可以有几个相对独立的状态系列。初始状态编程必须在其他状态之前,如图4.1(b)中将状态S2作为初始状态。开始运行后,初始状态可由其他状态来驱动,如图4.1(b)中是用S22来驱动初始状态S2的。但是首次开始运行时,初始状态必须用其他方法预先驱动,使它处于工作状态,否则状态流程就不可能进行。一般利用系统的初始条件。如可由PLC从STOP→RUN切换瞬间的初始脉冲使特殊辅助继电器M8002接通来驱动初始状态,图4.5中就是用这一方法来使S2置1的。更好的初始状态编程可用后面介绍的IST指令来编制。
图4.5 初始状态S2的驱动梯形图 每一个初始状态下面的分支数总和不能超过16个,这是对总分支数的限制,而对总状态数则没有限制。从每一个分支点上引出的分支不能超过8个,所以超过8个的分支不能集中在一个分支点上引出。 ②一般状态的编程。先负载驱动,后转移处理。除了初始状态外,一般状态元件必须在其他状态后加入STL指令,来进行驱动,也就是说不能用除状态元件之外的其他方式驱动。一般状态编程时,必须先负载驱动,后转移处理。所以,都要使用步进接点STL指令,以保证负载驱动和状态转移都是在子母线上进行。如在图4.3(b)中,就状态S20来看,当S20的STL接点被接通后,先是用OUT指令驱动输出线圈Y000,然后才用SET S21指令决定转移方向,转向下一相邻状态S21。状态元件不可重复使用。 ③相邻的两个状态中不能使用同一个定时器,否则会导致定时器没有复位机会,而引起混乱;在非相邻的状态中可以使用同一个定时器,如图4.6所示。
图4.6 相邻状态不能用同一定时器 ④连续转移用SET,非连续转移用OUT。若状态向相邻的下一状态连续转移应使用SET指令,但若向非相邻的状态转移,则应改用OUT指令。如在图4.2(b)中,从状态S22向初始状态S2转移时,程序中用的是OUT指令,而不能用SET指令。 ⑤在STL与RET指令之间不能使用MC、MCR指令;MPS指令也不能紧接着STL指令后使用。在子程序或中断服务程序中,不能使用STL指令;在状态内部最好不要使用跳转指令CJ,以免引起混乱。 (2)状态编程的特点 状态转移图和步进梯形图表达的都是同一个程序,其优点是让用户每次只考虑一个状态,而不必考虑其他的状态,从而使编程更容易,而且还可以减少指令的程序步数。状态转移图中的一个状态表示顺序控制过程中的一个工步,因此步进梯形图也特别适用于时间和位移等顺序的控制过程,也能形象、直观地表示顺控过程。状态编程开始时,必须用STL指令使STL接点接通,从而使主母线与子母线接通,连在子母线上的状态电路才能执行,这时状态就被激活。状态的三个功能是在子母线上实现的.所以只有STL接点接通,该状态的负载驱动和状态转移才能被扫描执行。反之,STL接点断开,对应状态就未被激活,则负载驱动和状态转移就不可能执行,该电路将不被扫描而跳过。因此,除初始状态外,其他所有状态只有在转移条件成立时才能被前一状态置位而激活,一旦下~状态激活,前一状态就自动关闭。状态编程的这一特点,使各状态之间的关系就像是一环扣一环的链表,变得十分清晰、单纯,不相邻状态间的繁杂联锁关系将不复存在,只需集中考虑实现本状态的三大功能即可。另外,这也使程序的可读性更好、更便于理解,也使程序的调试、故障排除变得相对简单。 在状态编程的最后,必须使用步进返回指令RET,从子母线返回主母线。如在图4. 21(b)程序中,若没有RET指令,会将后面的所有程序还看成是当前状态S22中的指令,由于PLC程序是循环扫描的,也包括了最开始处的指令,这就会引起程序出错而不能运行。
点击排行
