首页 理论教育 关于STL指令的编程要点

关于STL指令的编程要点

时间:2023-06-29 理论教育 版权反馈
【摘要】:使用状态STL指令编写梯形图时,要注意以下事项:1)关于顺序:状态三要素的表达要按先任务再转移的方式编程,顺序不得颠倒。虽然在STL母线后可使用CJ指令,但动作复杂,厂家建议不使用。图7-3 栈操作指令在状态内的使用5)中断程序和子程序中不可以使用STL指令。但若编程时写成如图7-6所示的例子,当M0信号来时整个流程会“走通”,即一次通过全部状态。

关于STL指令的编程要点

使用状态STL指令编写梯形图时,要注意以下事项:

1)关于顺序:状态三要素的表达要按先任务再转移的方式编程,顺序不得颠倒。

978-7-111-38174-7-Chapter07-5.jpg

图7-1 状态转移图

978-7-111-38174-7-Chapter07-6.jpg

图7-2 步进梯形图

注:图7-2中的步进梯形图只适用于PC-FXGP/WIN编程软件

2)关于母线:STL步进触点指令有建立子(新)母线的功能,其后进行的输出及状态转移操作都在子母线上进行。这些操作可以有较复杂的条件。

3)栈操作指令MPS/MRD/MPP在状态内不能直接与步进触点指令后的新母线连接,应接在LD或LDI指令之后,如图7-3所示。

4)步进触点之后的电路块中,不能使用主控MC/MCR指令。虽然在STL母线后可使用CJ指令,但动作复杂,厂家建议不使用。

978-7-111-38174-7-Chapter07-7.jpg

图7-3 栈操作指令在状态内的使用

5)中断程序和子程序中不可以使用STL指令。并非禁止在状态中使用跳转指令,而是由于使用了会生复杂的操作,厂家建议最好不要使用。

6)关于元器件的使用:允许同一元件的线圈在不同的STL接点后多次使用。但要注意,同一定时器不要用在相邻的状态中。在同一程序段中,同一状态继电器也只能使用一次。如图7-4所示。

7)步进控制系统中,在状态转移过程中会出现一个扫描周期内两个状态同时接通工作的可能,因此在两个状态中不允许同时动作的线圈之间应有必要的互锁。如图7-5所示。

978-7-111-38174-7-Chapter07-8.jpg(www.xing528.com)

图7-4 定时器重复使用

978-7-111-38174-7-Chapter07-9.jpg

图7-5 输出互锁

8)其他:在为程序安排状态继电器元件时,要注意状态器的分类功用,初始状态要从S0~S9中选择,S10~S19是为需设置动作原位的控制安排的,在不需设置原位的控制中不要使用。在一个较长的程序中可能有状态程序段及非状态编程程序段。

9)图7-1中S0称为程序的初始状态,在程序运行开始时需要预先通过其他手段来驱动。程序进入状态编程区间可以使用M8002作为进入初始状态的信号(也可用M8000驱动)。在状态编程段转入非状态程序段时必须使用RET指令。

10)同一信号作为多个状态之间转移条件的处理方法:在某些应用中,流程中各个状态之间的转移条件是同一信号。原本的意思是当这信号来时流程上走一步,信号再来时再走一步。但若编程时写成如图7-6所示的例子,当M0信号来时整个流程会“走通”,即一次通过全部状态。对这种情况可采用以下两种方法处理:

方法1:在每个状态中设置一个阻挡元件,以防止“走通”现象。如图7-7所示,进入S30时,M1脉冲阻止进一步转移;M0下一个脉冲来时,阻挡脉冲消失,可顺利向下转移。每个状态中都设一个阻挡元件,保证M0来一个脉冲向下走一步。

方法2:利用脉冲触点指令(LDP、LDF、ANP等)与M2800~M3071辅助继电器配合可得到方法1同样的结果,如图7-8所示。

978-7-111-38174-7-Chapter07-10.jpg

图7-6 走通例图

978-7-111-38174-7-Chapter07-11.jpg

图7-7 加阻挡元件

978-7-111-38174-7-Chapter07-12.jpg

图7-8 用脉冲指令

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈