西门子S7-200模拟量模块6ES7231-7PD22-0XA8西门子模块代理商
我公司经营西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,6FC,6SNS120 V10 V60 V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内全新原装产品质保一年。一年内因产品质量问题免费更换新产品;不收取任何费。欢迎致电咨询
PLC在执行程序的过程中,是按照程序步从头到尾一步一步扫描的。但PLC也有特异功能,它的程序执行可以瞬移!从当前程序步瞬间转移到其他程序步执行,如下图就是PLC的条件转移,执行CJ转移指令后,直接跳过第8~12步程序,从第14步程序开始往下执行。
PLC在程序执行过程中发生转移的现象,称为程序流程转移,即跳过一段程序去执行指定程序。造成这种程序转移的有条件转移、子程序调用、中断服务和循环程序。
如果把PLC的程序执行看作爬山,程序的执行过程就是从山头爬到山顶的过程。
此时,PLC的几种程序流程转移就好比以下几种情况:
1、它全程不停的一步一步往上走,这就是PLC程序步的顺序执行;
2、它在爬山过程中,坐了缆车,直接跨过了一段山路,这就是PLC的条件转移;
3、它在爬山过程中,因为沿途的风景过于漂亮,去拍了几张美照,再继续爬,这就是PLC的子程序调用;
4、它在爬山过程中,由于三急去了一趟厕所,这就是PLC的中断服务;
PLC的程序流程转移
是靠相对应的指令是实现的。就如我们这次学习的条件转移所用的指令 CJ 。在学习程序流程指令之前,我们得先知道什么是主程序区、什么是副程序区。
一、PLC的程序区
PLC的用户程序一般分为主程序区和副程序区,主、副程序区的分界线为主程序结束指令FEND,而副程序在FEND指令和END指令之间编写。主程序显然是必不可少的,且只有一个,它是完成用户控制要求的程序。就像手机,打电话是手机必不可少的功能,如果没有通话功能,这也就不叫手机了。
副程序区是子程序、中断服务程序的所在区域,它们不是必须的,可以根据具体要求而编写。也就说,PLC必须有主程序,副程序可有可无。PLC执行程序就好比打酱油,你妈妈叫你打酱油,这是主程序,然后你妈妈又说如果有苹果的话顺便买点回来,这个买苹果就是子程序,酱油是一定要打的,但苹果却不一定要买。
二、主程序结束指令FEND
FEND指令没有驱动条件,也就说这个指令的前面不能有触点控制,如下图所示。执行FEND指令和执行END指令功能是一样的,执行输入和输出刷新。
在主程序区,FEND指令可以多次使用,但每次只能有一个有效。PLC在程序扫描时,只要扫到任一个FEND指令,就会向0步程序返回,重新开始。如下图所示,程序中有两个FEND指令,它两种情况,若转移指令CJ没被驱动,程序扫描到个FEND之后,就会返回到程序的第0步再次开始;若CJ的驱动条件成立,此时程序会发生转移,跳过个FEND,从指针P5处往下执行,直到扫到第二个FEND再返回到程序的第0步再次开始。
另外,如上文所言,副程序是在FEND指令和END指令之间编写的,更确切地说,应该是副程序是在后一个FEND指令和END指令之间编写的。FEND指令是主程序区和副程序区的分界,所以,显然FEND指令也是不能出现在子程序中的。
当然,如果用户程序本身就比较简单,没必要编写中断程序和子程序,那么FEND指令也就没必要了,直接以END指令作为结束指令。
知道了什么是主程序、副程序后,我们接着学习这次的主要内容:程序的条件转移。
三、程序的条件转移
程序的条件转移是应用条件转移指令CJ实现的,用于主程序,其可用软元件只有分支指针P。
1、转移指令CJ
转移指令CJ和分支指针P组合使用,从上图可以看到,转移指令CJ有两种执行方式:连续执行型和脉冲执行型。它们的执行形式如下图所示。
连续执行型
指令CJ在驱动条件成立期间,每一个扫描周期都会执行一次转移,知道X0断开(OFF);而脉冲型指令CJP只有在X0接通的上升沿才会执行,尽管X0接通时间持续多个扫描周期,CJP也执行一次,直到X0断开再次接通,CJP才会再执行。
2、分支指针P
在FX2N PLC中,指针有分支指针P和中断指针I两种,分支指针P必须和转移指令或子程序调用指令CALL组合使用。可用的分支指针有P0~P127共128个,但P63是向结束指令END步转移的特殊指针,不能用于标记。
在程序中,指针的使用很简单,在对应程序行左母线的左侧编写即可。指针标号具有唯一性,不能重复使用。也就说,每个标号的指针在左母线左侧只能出现一次。但同一标号指针,可以和多个CJ指令组合,作为多个CJ指令的程序转移入口地址,如下图所示。
另外,标号可以变址寻址使用,变址寻址我在上一篇文章已经讲过,如下图所示,变址寄存器内容为K10,此时指针标号就变成了P15。
3、转移方式
利用CJ转移时,可以向CJ指令的后面程序转移,也可以向CJ指令的前面程序转移。但一般都是用于向后面程序转移,因为像前面程序转移,一不注意吗,就会造成死循环,如下图所示。若驱动条件X1一直接通,程序就会在转移地址入口P5处和CJ指令之间不断运行,造成死循环。
4、CJ指令的应用
PLC程序对CJ转移指令的应用比较多,因为CJ指令简单有方便。例如教材中就提到,在工业控制中,常常有自动和手动两种工作方式供以切换。如下图所示,X0是手动模式的切换开关,当X0断开时,程序默认执行自动模式,若接通X0,程序会条转到手动模式执行。
CJ指令的实例应用还有很多,这些都是要靠我们在实际的工作中去发现和摸索。但只要我们知道的CJ指令的含义和用法,能在梯形图中读懂它是功能和作用,就已经可以了。
西门子S7-200模拟量模块6ES7231-7PD22-0XA8西门子模块代理商西门子电机代理商西门子触摸屏代理商西门子交换机代理商西门子变频器代理商西门子模块代理商西门子PLC模块代理商西门子CPU模块代理商