第2章 FP系列PLC的基本指令及其编程.ppt
105页第二章第二章 FPFP系列系列PLCPLC的基本指令及其编程的基本指令及其编程2.1 基本顺序指令基本顺序指令 2.2 基本功能指令基本功能指令 2.3 控制指令控制指令2.4 数值比较指令数值比较指令8/31/202412.1 基本顺序指令基本顺序指令 基本顺序指令是按位进行逻辑运算的指令,共21个 2.1.1 2.1.1 初始加载和初始加载和初始加载和初始加载和输出指令:输出指令:输出指令:输出指令:STST、、、、ST/ST/、、、、OTOT、、、、/ /表2-1 初始加载和输出指令 助记符操作数(可用软元件) 名称,意义步数STX,Y,R,T,C开始开始逻辑运算,常开触点接左母线1ST/X,Y,R,T,C开始非开始非逻辑运算,常闭触点接左母线1OTT,R输出输出运算结果1/无逻辑非将指令处逻辑运算结果取反,18/31/20242(a)梯形图 (b)指令表 图2-1 初始加载和输出指令(1)梯形图的每一逻辑行都是由ST、ST/ 开始,以OT结束线圈与右母线相连,不能接于左母线2)当X0接通,Y0得电;当X0断开,Y0失电同理,当X2接通,Y2得电。
但Y3的逻辑与X2的逻辑正相反:当X2闭合,Y3断开;X2断开,Y3得电3)OT指令可以连续使用8/31/202432.1.2 2.1.2 触点串联并联指令(触点串联并联指令(触点串联并联指令(触点串联并联指令(ANAN,,,,AN/AN/,,,,OROR,,,,OR/OR/))))表2-2 触点串联并联指令 助记符操作数(可用的软元件)名称,意义步数ANX,Y,R,T,C逻辑与串联一个常开触点1AN/X,Y,R,T,C逻辑与非串联一个常闭触点1ORX,Y,R,T,C逻辑或并联一个常开触点到左母线1OR/X,Y,R,T,C逻辑或非并联一个常闭触点到左母线1(a)梯形图 8/31/20244(b)指令表 (1)使用AN(AN/)指令可以依次连续串联一个常开(常闭)触点而使用OR(OR/)指令是从当前位置并联一个常开(常闭)触点到左母线2)OR(OR/)指令也可以依次连续并联一个常开(常闭)触点到左母线,如图2-2的第5、第6步 图2-2 触点串联并联指令 8/31/20245 2.1.3 2.1.3 逻辑块串联并联指令逻辑块串联并联指令逻辑块串联并联指令逻辑块串联并联指令(ANS,ORS)(ANS,ORS) 将并联逻辑块串联起来可以组成串联逻辑块电路,将串联逻辑块并联起来可以组成并联逻辑块电路。
(a)串联逻辑块 (b)并联逻辑块 图2-3 逻辑块串联和并联 8/31/20246表2-3 逻辑块串联并联指令 助记符操作数(可用的软元件)名称,意义步数ANS无组逻辑块与将多个逻辑块串联1ORS无组逻辑块或将多个逻辑块并联1(a)梯形图 8/31/20247(b)指令表 图2-4 逻辑块串联并联指令 ((1 1)第)第0 0步的步的X1X1、、X4X4以及以及X2X2、、X5X5分别组成串联逻辑块每一串联逻分别组成串联逻辑块每一串联逻辑块都是以辑块都是以ST(ST(或或ST/)ST/)开始,以开始,以ANSANS结束2 2)第)第9 9步的步的X9X9、、XAXA以及以及XBXB、、XCXC分别组成并联逻辑块每一并分别组成并联逻辑块每一并联逻辑块都是以联逻辑块都是以ST(ST(或或ST/)ST/)开始,开始,以以ORSORS结束3 3)应用)应用ANSANS和和ORSORS指令时要注指令时要注意串联触点与串联逻辑块的区别,意串联触点与串联逻辑块的区别,注意并联触点与并联逻辑块的区别注意并联触点与并联逻辑块的区别 8/31/20248(a)梯形图 图2-5 逻辑块串联并联指令的使用 (b)指令表 ①①图中图中XAXA、、XCXC是电路的并联触点,而是电路的并联触点,而XBXB是是串联逻辑块的并联触点。
串联逻辑块的并联触点 ②②第第7 7步开始的串联逻辑块包含了步开始的串联逻辑块包含了X8X8、、X9X9组成的并联逻辑块组成的并联逻辑块 ③③第第1616步开始的输出电路,输出步开始的输出电路,输出Y5Y5后,依后,依次输出次输出Y6Y6,又串一个触点,输出,又串一个触点,输出Y3Y3,这种输,这种输出方式称为纵接输出出方式称为纵接输出8/31/202492.1.4 2.1.4 堆栈指令:堆栈指令:堆栈指令:堆栈指令:PSHSPSHS、、、、RDSRDS、、、、POPSPOPS 堆栈指令用于多重输出的情况 表2-4 堆栈指令 助记符操作数(可用的软元件)名称,意义步数PSHS无压入堆栈存储该指令之前的运算结果1RDS无读取堆栈读取由PSHS指令所存储的运算结果1POPS无弹出堆栈读取并清除由PSHS指令所存储的运算结果18/31/202410(a)梯形图 (b)指令表图2-6 堆栈指令 8/31/202411使用堆栈指令要注意:使用堆栈指令要注意: ((1 1)经过一系列运算之后,串联触点,输出线圈,并且在)经过一系列运算之后,串联触点,输出线圈,并且在这点并联输出线圈,或再串联触点,输出线圈,这种电路结构这点并联输出线圈,或再串联触点,输出线圈,这种电路结构称为多重输出。
多重输出形成了堆栈称为多重输出多重输出形成了堆栈PLCPLC处理堆栈电路有堆处理堆栈电路有堆栈指令PSHSPSHS意义是进入堆栈,记住这点之前的运算逻辑结意义是进入堆栈,记住这点之前的运算逻辑结果RDSRDS是读出这个结果,是读出这个结果,POPSPOPS是读出这个结果并再后清除是读出这个结果并再后清除这个结果这三个指令都没有操作数这个结果这三个指令都没有操作数 ((2 2)当)当X0X0接通,进入堆栈执行接通,进入堆栈执行PSHSPSHS指令,记住这点之指令,记住这点之前的运算结果是前的运算结果是“ “1”1”,与,与X1X1相相“ “与与” ”,驱动线圈,驱动线圈Y1Y1执行RDSRDS指令,读出这点结果是指令,读出这点结果是“ “1”1”,与,与X2X2相相“ “与与” ”,驱动线圈,驱动线圈Y2Y2再执行RDSRDS指令,读出这点结果是指令,读出这点结果是“ “1”1”,与,与X3X3相相“ “与与” ”,驱动线圈,驱动线圈Y3Y3之后,到堆栈的最末一行,执行之后,到堆栈的最末一行,执行POPSPOPS指令,指令,读出这点结果是读出这点结果是“ “1”1”,与,与X4X4相相“ “与与” ”,驱动线圈,驱动线圈Y4Y4。
最后清最后清除这个结果除这个结果“ “1”1” ((3 3)进入堆栈,第一行用)进入堆栈,第一行用PSHSPSHS指令,最末一行用指令,最末一行用POPSPOPS指令,而中间各行,用指令,而中间各行,用RDSRDS指令 (4)对于多段的堆栈,PSHS指令使用次数有所限制,一般不超过7次8/31/202412(a)梯形图 (b)指令表 图2-8 多段堆栈的用法 8/31/2024132.1.5 2.1.5 上升沿上升沿上升沿上升沿/ /下降沿微分指令(下降沿微分指令(下降沿微分指令(下降沿微分指令(DFDF,,,,DF/DF/))))表2-5 上升沿/下降沿微分指令 助记符操作数(可用的软元件)名称,意义步数DF无上升沿微分当检测到输入信号上升沿时,仅将触点闭合一个扫描周期1DF/无下降沿微分当检测到输入信号下降沿时,仅将触点闭合一个扫描周期1上升沿/下降沿微分指令提供了触发接通的功能 8/31/202414(a)梯形图 (b)指令表 图2-9 上升沿/下降沿微分指令 8/31/202415使用上升沿使用上升沿/ /下降沿微分要注意:下降沿微分要注意: (1)(1)只有当触发信号从只有当触发信号从OFFOFF状态到状态到ONON状态变化时,状态变化时,DFDF指令才被执行,并仅接通输出一个周期。
只有当触发信指令才被执行,并仅接通输出一个周期只有当触发信号从号从ONON状态到状态到OFFOFF状态变化时,状态变化时,DF/DF/指令才被执行,并指令才被执行,并仅接通输出一个周期仅接通输出一个周期2 2))DFDF、、DF/ DF/ 在程序中的位置如同串联触点一样当在程序中的位置如同串联触点一样当DFDF、、DF/ DF/ 要并联使用时,要接成图要并联使用时,要接成图2 2--1111的样子,才能的样子,才能使使X1X1、、X2X2上升沿时有输出上升沿时有输出 图2-10 图2-9 的时序 8/31/202416(a)梯形图 (b)指令表 图2-11 上升沿/下降沿微分指令的并联 例例2--1 试设计用一个按钮开、关电灯的控制线路 (a)梯形图 (b)指令表 图2-12 单按钮开、关电灯的程序 8/31/2024172.1.6 2.1.6 置位、复位指令:置位、复位指令:置位、复位指令:置位、复位指令:SETSET、、、、RSTRST 第1次接通X0,上升沿微分指令DF使R0接通一个周期,R0常开闭合,Y0得电并自锁第1次接通X0,上升沿微分指令DF使R0又接通一个周期,R0常闭断开,Y0失电。
置位/复位指令常可用于对Y、R等内部继电器的置位和复位 表2-6 置位/复位指令指令 助记符操作数(可用的软元件)名称,意义步数SETY,R,置位当满足执行条件,输出变为ON,且保持ON状态1RSTR,Y,C复位当满足执行条件,输出变为OFF,且保持OFF状态18/31/202418(a)梯形图 (b)指令表 图2-13 置位/复位指令 图2-14 图2-13的时序 8/31/2024192.1.72.1.7 保持指令:保持指令:保持指令:保持指令:KPKP 保持指令常用于保持某继电器的输出状态 表2-7 保持指令 助记符操作数(可用的软元件)名称,意义步数KPY,R保持根据置位端和复位端的输入信号进行输出,并保持输出状态1 当当KPKP指令所作用的内部继电器是非保持型继电器指令所作用的内部继电器是非保持型继电器, ,则当则当PLCPLC从运行从运行RUNRUN状态切换到编程状态切换到编程PROGPROG状态状态, ,或电或电源切断时源切断时, ,继电器输出被复位继电器输出被复位 8/31/202420(a)梯形图 (b)指令表 图2-15 保持指令 图2-16 图2-15的时序图 8/31/2024212.1.8 2.1.8 空操作指令:空操作指令:空操作指令:空操作指令:NOPNOP 表2-8 空操作指令 助记符操作数(可用的软元件)名称,意义步数NOP无空操作。
不进行任何操作1(a)梯形图 (b)指令表 图2-17 空操作指令 程序执行空操作点时,不作任何操作NOP的存在对程序没有任何影响使用NOP指令,可以便于程序的检查和核对检查和核对之后,将NOP删去 8/31/2024222.1.9 2.1.9 编写简单的编写简单的编写简单的编写简单的PLCPLC程序程序程序程序 编写编写PLCPLC程序的原则是要求程序符合命题或控制电路的程序的原则是要求程序符合命题或控制电路的逻辑逻辑,, ,,尽量少占内存注意以下几点尽量少占内存注意以下几点: :(1) (1) 梯形图每一逻辑行从左到右排列,以触点与左母线梯形图每一逻辑行从左到右排列,以触点与左母线联接开始,线圈与右母线联接结束联接开始,线圈与右母线联接结束2) (2) 电路块与触点并联时,宜将电路可放在上方,如图电路块与触点并联时,宜将电路可放在上方,如图2-182-18所示图中所示图中(a)(a)要使用并联电路块指令要使用并联电路块指令ORSORS,而图,而图((b b)只要用)只要用OROR即可3) (3) 电路块与触点串联时,宜将电路块放在左方,如图电路块与触点串联时,宜将电路块放在左方,如图2-192-19所示。
图中(所示图中(a a)串联电路块)串联电路块ANSANS指令,而图指令,而图((b b),则不用4) (4) 不可以出现不可以出现“ “双线圈双线圈” ”现象现象. . 同一编号的同一编号的Y Y、、R R、、T T、、C C线圈在程序中不能出现两次或两次以上线圈在程序中不能出现两次或两次以上8/31/202423 (a)不正确的梯形图 (b)正确的梯形图 图2-18 梯形图(1) 8/31/202424(a)不正确的梯形图 (b)正确的梯形图 图2-19 梯形图(2)8/31/202425例例例例2-2 2-2 三相异步电动机正反转的控制电路如图三相异步电动机正反转的控制电路如图2-182-18所示图中图中SB1SB1、、SB2SB2分别为正反转按钮分别为正反转按钮,KM1,KM1、、KM2KM2分别为正分分别为正分转接触器线圈转接触器线圈SB3SB3为停止按钮为停止按钮,FU2,FU2为熔断器为熔断器,KR,KR为热继电为热继电器试将其编写为器试将其编写为PLCPLC控制程序控制程序图2-18 电动机正反转控制电路 表2-9 I/O选择 电器元件I/O端子热继电器KR按钮 SB1SB2SB3X0X1X2X3接触器KM1 KM2Y1Y28/31/202426 (1)按触点顺序编写 (a)梯形图 (b)指令表 图2-19 按触点顺序编程 8/31/202427(2)使用KP指令编程 图2-20 使用KP指令编程 (a)梯形图 (b)指令表 接通接通X1,X1,执行执行KPKP指令指令, ,使使Y1Y1置位置位, ,电动机正转。
当按电动机正转当按停止按钮停止按钮SB3,X3SB3,X3接通接通( (或当热继电器动作或当热继电器动作,X0,X0接通接通)Y1)Y1复复位位, ,电动机停止同理电动机停止同理, , 接通接通X2,X2,执行执行KPKP指令指令, ,使使Y2Y2置位置位, ,电动机反转当按停止按钮电动机反转当按停止按钮SB3,X3SB3,X3接通接通,Y2,Y2复位复位, ,电动电动机停止 8/31/2024282.2 基本功能指令 基本功能指令包括定时器、计数器和移位寄存器三种功能的指令基本功能指令包括定时器、计数器和移位寄存器三种功能的指令2.2.12.2.1 定时器指令:(定时器指令:(定时器指令:(定时器指令:(TMRTMR,,,,TMXTMX,,,,TMYTMY))))表2-10 定时器指令 助记符操作数(可用的软元件)名称,意义步数编号(FP-X)设定值TMRT0~T1007K, SV0.01秒定时器以0.01秒为单位的延时定时器3TMXT0~T1007K,SV0.1秒定时器以0.1秒为单位的延时定时器3TMYT0~T1007K,SV1秒定时器以1秒为单位的延时定时器48/31/202429图2-21 定时器指令 (a)梯形图 (b)指令表 使用定时器注意以下几种情况: (1)定时器通常是作为延时控制的元件 8/31/202430(2)FP系列PLC的定时器可以串联使用。
(a)梯形图 (b)指令表 图2-22 定时器的串联 图2-23 图2-22的时序 8/31/202431(3)FP系列PLC的定时器可以并联使用 (a)梯形图 (b)指令表 图2-24 定时器的并联 图2-25 图2-24的时序 8/31/202432 (4)可以用设定值寄存器SV的编号作为定时器的设定值每一个定时器都有一个与定时器编号相同的设定值寄存器对设定值寄存器赋值,或改变设定值寄存器的值,都可以作为定时器的设定值 (a)梯形图 (b)指令表 图2-26 设定值寄存器作为定时器的设定值 8/31/2024332.2.2 2.2.2 计数器指令:计数器指令:计数器指令:计数器指令:CTCT表2-11 计数器指令 助记符操作数(可用的软元件)名称,意义步数编号(FP-X)设定值CTC1008~C1023K,,SV计数器从设定值开始进行递减计数3使用计数器注意以下几种情况:(1)计数器是程序中作为计数的元件 图2-27 计数器指令 (a)梯形图 (b)指令表 8/31/202434(2)通过对计数器的设定值寄存器赋值,或改变设定值寄存器的值,都可以作为定时器的设定值。
(a)梯形图 (b)指令表 图2-28 设定值寄存器作为计数器的设定值 8/31/202435例例2--3 计数器和定时器的联合使用读图2-29程序,说明 它的意义 图2-29 用定时器触发计数器 R0控制定时器T0T0是3秒定时器每3秒触发1次计数器C1008,使之计数1次当计数达50次,C1008的常开触点闭合驱动Y5当按X1,R0失电,定时器停止工作,计数器复位这个程序是长时间延时的一种控制方式按X0后,延时3×50=150秒,Y5才得电 8/31/202436 例例2--4 电机M1、M2、M3、M4的工作时序图如图2-30所示图中为第一循环的时序试编制PLC控制程序,要求①要完成30个循环,自动结束;②结束后再按起动按钮,又能进行下一轮工作;③任何时候按停止按钮都要完成一个完整的循环才能停止④要有急停控制 电器元件I/O端子起动按钮停止按钮急停按钮X0X1X2电动机M1电动机M2电动机M3电动机M4Y1Y2Y3Y4图2-30 四台电动机时序图表2-12 I/O分配表 8/31/202437图2-31 四台电动机的控制程序 8/31/202438 第第0 0行是起动控制,第行是起动控制,第9 9行是停止控制,其中串联行是停止控制,其中串联是是“ “完成完成3030个循环,自动结束个循环,自动结束” ”的控制;并联是的控制;并联是“ “按停止按钮都要完成一个完整的循环才能停止按停止按钮都要完成一个完整的循环才能停止” ”的控的控制。
第制第1313行串联是用定时器完成循环动作的控制行串联是用定时器完成循环动作的控制第第4646行的行的T7T7是计数器的计数脉冲触发,是计数器的计数脉冲触发,R2R2是停止触是停止触发第5252行、第行、第5858行、第行、第6464行、第行、第7373行分别是对电行分别是对电动机动机M1M1、、M2M2、、M3M3、、M4M4的时序控制的时序控制 8/31/2024392.2.3 2.2.3 寄存器移位指令寄存器移位指令寄存器移位指令寄存器移位指令( (SRSR) )表2-13 寄存器移位指令 助记符操作数(可用的软元件)名称,意义步数SRWR寄存器移位将内部继电器的字元件(WR)数据左移1位4图2-32 寄存器移位指令 (a)梯形图 (b)指令表 8/31/202440 指令的意义是:当移位触发端指令的意义是:当移位触发端X1X1接通,将接通,将1616位的位的字元件字元件WR5WR5数据左移数据左移1 1位,与此同时位,与此同时, ,如果数据输入端如果数据输入端R0R0为为ONON,则将,则将“ “1”1”移入移入R50; R50; 如果如果R0R0为为OFFOFF,则将,则将“ “0”0”移入移入R50R50。
点复位触发端为点复位触发端为ON,WR5ON,WR5的数值复位的数值复位为零任何时候,复位优先任何时候,复位优先图2-33 寄存器移位的程序 8/31/202441 例例2--5 某系统的控制过程如下:按起动按钮后,延时5秒,Y0得电;再延时8秒Y0失电,而Y1得电;之后碰行程开关,Y1失电,Y2得电;又延时10秒,Y2失电,Y3得电;又延时10秒,返回最初待命状态试用SR指令编写程序表2-14 I/O分配表 电器元件I/O端子数据写入复位按钮起动按钮行程开关X0X1X2X3电动机M1电动机M2电动机M3电动机M4Y0Y1Y2Y38/31/202442图2-34 SR指令的应用 8/31/202443 图中第图中第1 1行为输入数据的设定第行为输入数据的设定第1515行为移位触发的行为移位触发的设定当按设定当按X0X0,,R0R0==1 1,输入数据为,输入数据为1 1按起动按钮按起动按钮X2,X2,延时延时5 5秒,移位触发秒,移位触发R1=1,R60R1=1,R60得电,驱动得电,驱动Y0,Y0,同时同时T0T0延时延时8 8秒,此时,使秒,此时,使R60=0,R60=0,输入数据为输入数据为0 0。
延时延时8 8秒到,第秒到,第2 2个个移位触发到,移位触发到,R61R61得电得电, ,驱动驱动Y1,Y1,直到行程开关直到行程开关X3X3闭合,闭合,第第3 3个移位触发到,个移位触发到,R62R62得电,驱动得电,驱动Y2, Y2, 同时同时T1T1延时延时1010秒1010秒到,第秒到,第4 4个移位触发到,个移位触发到,R63R63得电,驱动得电,驱动Y3Y3,同时,同时T2T2延时延时1515秒,第秒,第5 5个移位触发到,个移位触发到,R64R64得电得电, ,使使SRSR指令复位,指令复位,程序返回最初待命状态程序返回最初待命状态8/31/2024442.2.4 加加/减计数器指令:减计数器指令: F118(UDC)表2-15 加/减计数器指令 助记符操作数(可用的软元件)名称,意义步数源,S目标,DF118(UDC)WX,WY,WR,SV,EV,DT,K,HWY,WR,SV,EV,DT 加/减计数器进行加/减计数器5图2-35 加/减计数器指令 (a)梯形图 (b)指令表 8/31/202445图2-36 加/减计数器指令的应用 图2-35的意义是:加/减计数器指令的源(WR0)是16位二进制设定值,目标(DT1)作为计数器的经过值。
当计数控制端X0为ON,是加法计数,开始时将0送DT1,每次计数输入端X1从OFF到ON,DT1作加1计数当计数控制端X0为OFF,是减法计数,开始时将设定值送DT1,每次计数输入端X1从OFF到ON,DT1作减1计数 8/31/2024462.2.52.2.5 左 左 左 左/ /右移位寄存器指令:右移位寄存器指令:右移位寄存器指令:右移位寄存器指令:F119F119((((LRSRLRSR))))表2-16 左/右移位寄存器指令 助记符操作数(可用的软元件)名称,意义步数目标1,D1目标2,D2F119(LSRSR)WY,WR,SV,EV,DTWY,WR,SV,EV,DT 加/减计数器进行加/减计数器5图2-37 左/右移位寄存器格式 (a)梯形图 (b)指令表 8/31/202447 LRSRLRSR指令是将从目标指令是将从目标1 1((DT0DT0,作为低位)到目标,作为低位)到目标2 2((DT1DT1,作为高位)的数据区数据左,作为高位)的数据区数据左/ /右移动一位当移右移动一位当移位控制端位控制端X0X0为为ONON时,向左移;为时,向左移;为OFFOFF时,向右移。
数据时,向右移数据输入端的输入端的X1X1为为ONON,输入数据为,输入数据为“ “1”1”;当;当X1X1为为OFFOFF,输,输入数据为入数据为“ “0”0”当移位输入端当移位输入端X2X2从从OFFOFF到到ONON触发一次,触发一次,输入数据向左或右移动一位当输入数据向左或右移动一位当X0X0为为ONON,输入数据由最,输入数据由最低端输入;当低端输入;当X0X0为为OFFOFF,输入数据由最高端输入当复,输入数据由最高端输入当复位端位端X3X3接通,从接通,从DT1DT1到到DT2DT2的各位数据范围为零的各位数据范围为零图2-38 LRSR指令的应用 8/31/2024482.3 控制指令 控制指令用于程序的处理顺序和执行流程的控制,控制指令用于程序的处理顺序和执行流程的控制,包括主控指令、跳转指令、子程序指令、步进指令等包括主控指令、跳转指令、子程序指令、步进指令等 2.3.1 2.3.1 主控指令:主控指令:主控指令:主控指令:MCMC、、、、MCEMCE表2-17 主控指令 助记符操作数(可用的软元件)名称,意义步数MC(无)编号:FP-X有0~255点;FP1有0~31点主控程序开始。
当执行条件为ON,执行MC到MCE之间的程序,当为OFF,不执行 2MCE主控程序结束8/31/202449图2-39 主控指令的用法 (a)梯形图 (b)指令表 应用应用MCMC、、MCEMCE指令时要注意:指令时要注意: ((1 1))MCMC有控制触点,有控制触点,MCEMCE直接与左母线相连接直接与左母线相连接 ((2 2)当)当MCMC的执行条件满足(图中的执行条件满足(图中X0X0为为ONON),可以执行从),可以执行从MCMC到到MCEMCE之间的程序当之间的程序当MCMC的执行条件不满足,不能执行从的执行条件不满足,不能执行从MCMC到到MCEMCE之间的程序之间的程序 ((3 3))MCMC、、MCEMCE成对出现,要编号相同,缺一不可成对出现,要编号相同,缺一不可 ((4 4))MCMC、、MCEMCE可以嵌套其编号对可以嵌套其编号对MCMC来说从小到大,对来说从小到大,对MCEMCE来说从大到小原则上嵌套的次数不受限制来说从大到小原则上嵌套的次数不受限制 8/31/202450图2-40 主控指令的嵌套 (a)梯形图 (b)指令表 8/31/2024512.3.2 2.3.2 跳转指令:跳转指令:跳转指令:跳转指令:JPJP、、、、LBLLBL表2-18 跳转指令 助记符操作数(可用的软元件)名称,意义步数JP(无)编号:FP-X有0~255点;FP1有0~63点跳转当执行条件为ON,跳到与JP指令相同编号的LBL指令处2LBL标号1(a)梯形图 (b)指令表 图2-41 跳转指令 8/31/202452 图中图中 为为ONON,程序执行跳转,跳到,程序执行跳转,跳到LBL 0LBL 0处再执处再执行。
此时按行此时按X3X3,,Y2Y2得电但从得电但从JP0JP0到到LBL 0LBL 0之间的程之间的程序不执行,例如按序不执行,例如按X1,Y1X1,Y1不得电如果为不得电如果为OFFOFF,程序不,程序不执行跳转可顺序执行第执行跳转可顺序执行第3 3行和第行和第8 8行 执行跳转指令时要注意以下几个问题:执行跳转指令时要注意以下几个问题: (1)程序可以从多处(同一个JP编号)跳到编号相同的 LBL指令处 图2-42 多处向同一编号的LBL跳转 8/31/202453((2 2)跳转指令的编程,)跳转指令的编程,LBLLBL不能放在不能放在JPJP指令之前在步指令之前在步进梯形图,不能使用跳转指令不允许从主程序跳到子程进梯形图,不能使用跳转指令不允许从主程序跳到子程序,也不允许从子程序跳到主程序或从一个子程序跳到另序,也不允许从子程序跳到主程序或从一个子程序跳到另一个子程序一个子程序3) (3) 跳转指令常常用于不同程序的切换跳转指令常常用于不同程序的切换 图2-43 不同程序的切换 8/31/2024542.3.3 2.3.3 循环指令:循环指令:循环指令:循环指令:LOOPLOOP、、、、LBLLBL表2-19 循环指令 助记符操作数(可用的软元件)名称,意义步数LOOP编号:FP-X有0~255点;目标S:WY,WR,DT,IX,IY循环当条件为ON,跳到与LOOP指令相同编号的LBL指令处,重复执行其后的程序直到其操作数等于04LBL标号1(a)梯形图 (b)指令表 图2-44 循环指令 8/31/202455 图中,执行第0行,对DT1赋值K5,顺序执行第7行、第11行,执行第13行LOOP指令,DT1减1,返回第6行,再执行循环体(第6、11行)4次,此时DT1等于0,结束循环操作。
再顺序执行第13行以后的程序 使用循环指令要注意:(1)LOOP、LBL必须成对出现,且编号要相同2)循环指令不允许从主程序跳到子程序,也不允许从子程序跳到主程序或从一个子程序跳到另一个子程序3)LOOP指令的源S,可以使用字元件WY、WR、DT、IX、IY等,但不能使常数K、H8/31/202456例例2--6 试用循环指令将K1368送到DT200~DT219共20个数据寄存器中为了将同一个数字送到20个数据寄存器中,本题的编写使用了索引(变址)寄存器I0(IX)和加1指令(F35 +1) 图2-45 循环指令的应用 8/31/202457 图中,执行程序第0行,将K1368送DT100第10行,当R0闭合,对DT0赋值K20,作为LOOP指令的源;对I0赋初始值K0进入循环体第22行,将DT100的数值送I0DT200(=DT200),DT200的值为1368,之后执行加1指令,I0+1→I0,I0 = 1;执行LOOP指令,DT0-1返回执行循环体,将DT100的数值送I0DT200(=DT201),DT201的值为1368,之后又执行加1指令,I0+1→I0,I0 = 2;执行LOOP指令,DT0-1。
一直到DT0=0,循环结束图2-46 程序执行的结果 8/31/2024582.3.4 2.3.4 结束结束结束结束/ /条件结束条件结束条件结束条件结束指令:指令:指令:指令:EDED、、、、CNDECNDE表2-20 结束/条件结束指令 助记符操作数(可用的软元件)名称,意义步数ED无结束主程序结束1CNDE无条件结束当执行条件为ON时,程序的一次扫描结束1(1)结束指令的格式 (a)梯形图 (b)指令表 图2-47 结束指令8/31/202459(2)条件结束指令的格式 (a)梯形图 (b)指令表 图2-48 条件结束指令 图中,但图中,但X5X5闭合,程序从第闭合,程序从第0 0行执行到第行执行到第1010行结束第第1010行之后的程序不执行行之后的程序不执行CNDECNDE指令只能用在主程序,不能用于子程序或中断程序指令只能用在主程序,不能用于子程序或中断程序中在主程序中,可以设置多个中在主程序中,可以设置多个CNDECNDE点,对程序进行分点,对程序进行分段的测试测试正确后,去掉段的测试测试正确后,去掉CNDECNDE指令8/31/202460 例例例例2 2----7 7 试设计一声光报警电路试设计一声光报警电路. .要求按起动按钮后,要求按起动按钮后,报警灯亮报警灯亮0.5s0.5s,灭,灭0.5s0.5s,闪烁,闪烁3030次。
这段时间蜂鸣器一直次这段时间蜂鸣器一直在响3030次到达,停次到达,停5s5s后又重复上述过程,如此反复三次,后又重复上述过程,如此反复三次,结束之后再按起动按钮,又能进行上述工作之后再按起动按钮,又能进行上述工作图2-49 例2-7程序 8/31/202461例例例例2 2----8 8 十字路口交通灯控制控制要求如下:车横向绿十字路口交通灯控制控制要求如下:车横向绿((GG)灯亮)灯亮30s→30s→绿灯闪绿灯闪3 3次,各次次,各次1s→1s→黄灯(黄灯(Y Y)亮)亮2s→2s→红灯(红灯(R R)亮)亮35s35s;车纵向红灯(;车纵向红灯(R R)亮)亮35s→35s→绿灯绿灯((GG)亮)亮30s→30s→绿灯闪绿灯闪3 3次,每次次,每次1s→1s→黄灯亮黄灯亮2s2s循环工作 图2-50 交通灯时序图 8/31/202462图2-51 交通灯控制程序 8/31/2024632.3.5 2.3.5 步进指令:步进指令:步进指令:步进指令:SSTPSSTP、、、、NSTPNSTP、、、、NSTLNSTL、、、、CSTPCSTP、、、、STPESTPE助记符操作数名称,意义步数SSTP编号:FP1:0~127FP-X:0~999开始步进程序。
进入步进程序,步进过程开始执行3NSTL编号:下步步进过程(扫描执行型)激活当前过程,使上一过程复位3NSTP编号:下步步进过程(脉冲执行型)激活当前过程,使上一过程复位3CSTP编号:清除步进程序将指定的过程复位3STPE无步进程序区的结束关闭步进程序区,并返回一般梯形图程序1表2-21 步进指令 8/31/202464图2-52 步进指令梯形图 ((1 1)步进梯形图的范围是从第)步进梯形图的范围是从第1 1个个SSTPSSTP指令起,到指令起,到CSTPCSTP指令结束指令结束2 2)步进梯形图的过程是指从)步进梯形图的过程是指从SSTP nSSTP n指令到下一个指令到下一个SSTP SSTP n+1n+1指令或指令或STPESTPE指令的程序块两个过程不能使用相同的指令的程序块两个过程不能使用相同的编号在SSTPSSTP指令之后可以直接编写指令之后可以直接编写OTOT指令,而不必串触指令,而不必串触点但输出定时器或计数器等必须串触点但输出定时器或计数器等必须串触点图2-53 指令表8/31/202465((3 3))NSTPNSTP或或NSTLNSTL的意义是激活当前过程,而使上一过的意义是激活当前过程,而使上一过程复位。
程复位NSTPNSTP是脉冲执行型,只在执行条件从是脉冲执行型,只在执行条件从OFFOFF变为变为ONON时,才执行一次;而时,才执行一次;而NSTLNSTL是扫描执行型,在扫描周是扫描执行型,在扫描周期内执行一次期内执行一次4 4))CSTPCSTP指令用于清除最终过程,或在并行分支编程指令用于清除最终过程,或在并行分支编程中作为清除过程用中作为清除过程用 ((5 5))STPESTPE指令表示步进梯形图区域的结束必须编写指令表示步进梯形图区域的结束必须编写在最后在最后 图图2 2--53 53 图图2 2--5252的指令表过程的结束处的指令表过程的结束处 ((6 6)在步进梯形图程序中不能使用转移指令)在步进梯形图程序中不能使用转移指令((JP,LBLJP,LBL)、循环指令()、循环指令(LOOP,LBLLOOP,LBL)、主控指令)、主控指令((MC,MCEMC,MCE)等但主控指令可以控制步进梯形图程序但主控指令可以控制步进梯形图程序8/31/202466图2-54 主控指令控制步进梯形图 (a)梯形图 (b)指令表 8/31/202467 步进指令的应用可以分为两类:单流程步进控制和分步进指令的应用可以分为两类:单流程步进控制和分支流程步进控制。
支流程步进控制 ((1)单流程步进控制)单流程步进控制 单流程步进控制的方式如下:开始→过程0→过程1→过程2→过程3→……→结束例例2--9 试编写四台电动机顺序起动、反顺序停止的程序起动顺序为Y1→Y2→Y3→Y4,时间间隔分别为3秒、4秒、5秒停止顺序为Y4→Y3→Y2→Y1,时间间隔分别为5秒、6秒、7秒 图2-55 流程图 8/31/2024688/31/202469 图2-56 四台电动机起动停止控制 8/31/202470例例例例2 2----1010 试编写彩灯循环点亮程序彩灯试编写彩灯循环点亮程序彩灯Y1Y1、、Y2Y2、、Y3Y3的循的循环点亮情况如图环点亮情况如图2 2--5757所示 图2-57 彩灯循环点亮时序图 8/31/2024718/31/202472图 2-58 彩灯循环点亮时序图 8/31/202473((2)分支流程步进控制)分支流程步进控制 按程序的流向,分支流程分为选择性分支和并行性分支两类 ① 选择性分支 图2-59 选择性分支的流程 8/31/202474图2-60 选择性分支的程序 (a)梯形图 (b)指令表 8/31/202475②并行性分支 并行性分支的特点是:当条件满足,各分支同时执行,一直到各分支都完成各自过程的状态转移,才合并一起往前转移。
图2-61 并行性分支的流程图 8/31/202476图2-62 并行性分支的程序 (a)梯形图 (b)指令表 8/31/202477③多层次的分支结构 在步进分支结构中,有些是较为复杂的可能是由选择在步进分支结构中,有些是较为复杂的可能是由选择性分支转移到并行性分支,或由并行性分支转移到选择性分性分支转移到并行性分支,或由并行性分支转移到选择性分支,或由选择性分支转移的到择性分支,或由并行性分支转支,或由选择性分支转移的到择性分支,或由并行性分支转移到并行分支无论是哪一种转移,关键是要处理好分支的移到并行分支无论是哪一种转移,关键是要处理好分支的插入、过程的转移,以及插入、过程的转移,以及“ “分支点分支点” ”和和“ “集合点集合点” ”的编程 图2-63 选择性分支并行性分支的流程图 8/31/2024788/31/202479 图2-64 选择性并行性分支的程序 8/31/2024802.3.6 2.3.6 子程序调用指令:子程序调用指令:子程序调用指令:子程序调用指令:CALLCALL、、、、SUBSUB、、、、RETRET助记符操作数名称,意义步数CALL编号:FP1:0~15FP-X:0~499 子程序调用。
从主程序调用指定的子程序2SUB子程序进入子程序的开始1RET无子程序返回子程序结束,返回到主程序1表2-22 调用子程序指令 图2-65 调用子程序 8/31/202481 子程序放在主程序结束指令ED之后,在主程序中用CALL指令调用子程序从指令SUB到RET是子程序,其中SUB是子程序的人口,RET是子程序的结束,返回主程序图中当X0的上升沿,执行CALL指令调用子程序SUB 0,将K200送DT0,之后返回到调用子程序的下一个指令继续执行当X1 闭合,R0得电,执行定时器TMX 0指令,T0延时20秒,驱动Y0,程序结束 8/31/202482使用子程序时要注意以下几个问题 (1)子程序n是指由SUBn到RET之间的程序段,放在指令ED之后子程序可以在主程序、子程序、中断程序中调用 (2)主程序中可以多次调用同一编号的子程序 (3)子程序可以嵌套,最多嵌套5层嵌套时用保证子程序结构完整性如 主程序 CALL 0→→SUB 0 ED CALL 1 →→SUB 1RET CALL 2 →→SUB 2 RET CALL 3→→…… RET (4)在子程序中可以调用子程序,但在子程序内不能编写子程序。
同理,在中断程序中可以调用子程序,但在中断程序内不能编写子程序 (5)当CALL指令的执行条件(触发器)为OFF时,有些指令保持原状态,有些不执行如指令OT、KP、SET、RST保持原状态,CT、SR保持经过值,TM及其它指令不执行这些现象在编程中都是要考虑的8/31/202483例例2--11 试用调用子程序的方法编写电动机控制程序要求:按起动按钮后三台电动机(Y1、Y2、Y3)每隔15秒顺序起动,按停止按钮后三台电动机每隔10秒顺序停止 表2-23 I/O分配表 电器元件I/O端子起动操作:驱动按钮 停止按钮停止操作:驱动按钮 停止按钮X0X1X3X4 电动机M1 电动机M2 电动机M3Y1Y2Y38/31/2024848/31/202485图2-66 三台电动机的控制 8/31/2024862.3.7 2.3.7 中断指令:中断指令:中断指令:中断指令:INTINT、、、、ICTLICTL、、、、IRETIRET表2-23 中断程序指令 助记符操作数名称,意义步数ICTLS1,S2:WX,WY,WR,DT,K,H,SV,EV,IX,IY中断控制。
设置中断的禁止、允许、和清除控制5INT编号:FP1:0~7,24;FP-X:0~7(或14),24中断开始中断程序的开始1IRET无中断返回中断程序结束,返回到主程序18/31/202487图2-67 中断指令 中断指令有三个:(1)中断程序开始指令INTn,中断返回指令IRET,在INTn与IRET之间的程序是中断程序n它放在主程序结束指令ED之后8/31/202488操作数S1用来指定控制功能和中断类型 (2)中断控制指令ICTL,带有两个操作数S1、S28/31/202489表2-24 位址与中断程序的关系 位址S2(十六进制)中断程序中断源0H1INT0X0或高速计数器1H2INT1X12H4INT2X23H8INT3X34H10INT4X45H20INT5X56H40INT6X67H80INT7X7 当设定S1=H100时,由S2设定的中断程序被复位清除如对应位设定为“1”,即为允许中断;对应位设定为“0”,即为禁止中断 8/31/202490 当设定S1=H100时,由S2设定的中断程序被复位清除如对应位设定为“1”,即为允许中断;对应位设定为“0”,即为禁止中断。
当设定当设定S1S1==H2H2时,为执行定时中断程序时,为执行定时中断程序INT24INT24S2S2的设定值为的设定值为K0K0~~K3000K3000其中S2S2==K0K0,不执行定,不执行定时中断时中断, ,禁止中断程序禁止中断程序INT24INT24当S2S2==K1K1~~K3000,K3000,每每隔隔10ms10ms~~30s30s执行一次中断程序执行一次中断程序INT24INT24 8/31/202491(3)ICTL指令可以设置多个中断程序或一个触发信号可以驱动多个ICTL指令各中断程序按编号的顺序,从编号最低的中断程序开始执行,其它中断程序处于等待状态 (4)当ICTL指令的S2确定,作为外部中断输入的触点也就确定但此输入触点必须在系统寄存器的No.403(FP1型PLC)或No.404(FP1型PLC)中进行定义 8/31/202492例例2--12 试用中断程序方法编写Y1延时20秒起动的程序 图2-69 中断程序的应用 (a)梯形图 (b)指令表 8/31/202493 程序中ICTL指令的S1=H0,S2=H10=0001 0000,即选取X4作为外部触发信号,中断程序为INT4。
但是如果直接按XA、再按X4,并不能驱动中断程序要能驱动中断程序必须在系统寄存器的No.404(FP-X型PLC)中到X4进行定义定义的方法如下: (1)单击FPWIN GR编辑屏幕的“选项”菜单 图2-70 选项菜单 8/31/202494(2)单击“PLC系统寄存器设置” 图2-71 系统寄存器设置 (3)单击“中断/脉冲捕捉设置” 图2-72 中断输入设置 8/31/202495 点“No.404中断输入的设置”的X4,点“OK”则定义了中断输入X4 定义完中断输入定义完中断输入X4X4后,在图后,在图2 2--6969中,按中,按XAXA,设置,设置了中断参数,再按了中断参数,再按X4X4,则执行中断出现,则执行中断出现INT4INT4,将,将K200K200送送DT0DT0之后,中断程序结束,返回之后,中断程序结束,返回ICTLICTL指令的下一行指令的下一行执行按X1X1,,R0R0得电,驱动定时器得电,驱动定时器T1T1延时延时2020秒,驱动秒,驱动Y1Y1 例例2--13 某生产线运行到A位置碰行程开关SB1,延时20秒,驱动电动机M1;运行到B位置碰行程开关SB2,延时30秒,驱动电动机M2;运行到C位置碰行程开关SB3,延时40秒,驱动电动机M3。
试用中断程序方法编写控制程序 8/31/202496电动机M1、M2、M3分别设为Y1、Y2、Y3行程开关SB1、SB2、SB3分别设为X1、X3、X5 图2-73 生产线控制程序 8/31/202497例例2--14 试用中断程序的方法编写三台电动机(Y1、Y2、Y3)每隔20秒顺序起动的控制程序 图2-74 定时中断控制程序 8/31/2024982.4 数值比较指令 数值比较是将两个数据(单字或双字)的大小进行比较(等于=、不等于<>、大于>、大于等于>=、小于<、小于等于<=),有初始加载、逻辑与、逻辑或等三种情况 表2-25 数值比较初始加载指令 助记符操作数名称,意义步数ST=, STD=(双字)S1,S2WX,WY,WR,SV,EV,DT,IX,IY,K,H字(双字)比较,等于时初始加载5ST<>, STD<>(双字)字(双字)比较,不等于时初始加载5ST>, STD>(双字)字(双字)比较,大于时初始加载5ST>=,STD>=(双字)字(双字)比较,大于等于时初始加载5ST<, STD<(双字)字(双字)比较,小于时初始加载5ST<=,STD<=(双字)字(双字)比较,小于等于时初始加载52.4.1 数值比较初始加载指令(数值比较初始加载指令(ST=、、ST<>、、ST>、、ST>=、、ST<、、ST<=)) 8/31/202499图2-75 数值比较初始加载指令 (a)梯形图 (b)指令表 使用数值比较初始加载指令要注意,初始加载指令(ST=、ST<>、ST>、ST>=、ST<、ST<=)要从左母线开始。
它相当于一个开关,当条件成立,开关接通 当DT1等于K100时,驱动Y1;当DT10大于等于DT100时,驱动Y2;当双字DT201、DT200小于双字DT301、DT300时,驱动Y3;当双字DT51、DT50等于K200时,驱动Y4 8/31/20241002.4.2 数值比较逻辑与指令(数值比较逻辑与指令(AN=、、AN<>、、AN>、、AN>=、、AN<、、AN<=)) 表2-26 数值比较逻辑与指令 助记符操作数名称,意义步数AN=, AND=(双字)S1,S2WX,WY,WR,SV,EV,DT,IX,IY,K,H字(双字)比较,等于时逻辑与5AN<>, AND<>(双字)字(双字)比较,不等于时逻辑与5AN>, AND>(双字)字(双字)比较,大于时逻辑与5AN>=,AND>=(双字)字(双字)比较,大于等于时逻辑与5AN<, AND<(双字)字(双字)比较,小于时逻辑与5AN<=,AND<=(双字)字(双字)比较,小于等于时逻辑与58/31/2024101 图2-76 数值比较逻辑与指令 (a)梯形图 (b)指令表 数值比较逻辑与指令相当于一个串联触点,可以使数值比较逻辑与指令相当于一个串联触点,可以使用多个。
图用多个图2 2--7676中,当中,当X0X0闭合,且闭合,且DT0DT0的值等于的值等于K200K200时,时,Y0Y0得电;当得电;当DT10DT10的值大于的值大于DT30DT30的值,且的值,且DT50DT50的值的值小于等于小于等于K100K100时,时,Y1Y1得电;当得电;当X3X3闭合,且闭合,且DT0DT0的值大于的值大于DT200DT200时,时,Y0Y0得电 8/31/20241022.4.3 数值比较逻辑或指令(数值比较逻辑或指令(OR=、、OR<>、、OR>、、OR>=、、OR<、、OR<=)) 表2-27 数值比较逻辑与指令 助记符操作数名称,意义步数OR=, ORD=(双字)S1,S2WX,WY,WR,SV,EV,DT,IX,IYK,H字(双字)比较,等于时逻辑或5OR<>, ORD<>(双字)字(双字)比较,不等于时逻辑或5OR>, ORD>(双字)字(双字)比较,大于时逻辑或5OR>=,ORD>=(双字)字(双字)比较,大于等于时逻辑或5OR<, ORD<(双字)字(双字)比较,小于时逻辑或5OR<=,ORD<=(双字)字(双字)比较,小于等于时逻辑或58/31/2024103图2-77 数值比较逻辑或指令 (a)梯形图 (b)指令表 数值比较逻辑或指令相当于并联触点,可以并联多数值比较逻辑或指令相当于并联触点,可以并联多个。
图个图2 2--7373中,当中,当X0X0闭合,或闭合,或DT2DT2的值等于的值等于K300K300,,Y1Y1得电;当得电;当DT00DT00的值大于等于的值大于等于DT200DT200,或,或DT301DT301、、DT300DT300的值小于等于的值小于等于DT401DT401、、DT400DT400时,时,Y2Y2得电;当得电;当DT1DT1的值小于的值小于K50K50,或,或DT401DT401、、DT00DT00的值大于的值大于DT501DT501、、DT500DT500时,时,Y3Y3得电 8/31/2024104 例例2--15 试编写灯(Y1)亮8秒,灭2秒,连续闪烁的程序 图2-78 灯连续闪烁的程序 8/31/2024105。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


