资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,PLC,应用指令的应用,8,盏流水灯控制程序设计,任务,1,4,路抢答器控制程序设计,任务,2,8,台电动机顺序起动控制程序设计,任务,3,24h,时钟显示程序设计,任务,4,1,任务,6,8,站小车的呼叫控制程序设计,车库门自动开关控制程序设计,任务,7,自动售货机控制程序设计,任务,8,任务,5,密码锁控制程序设计,2,电气控制与,PLC,应用,哪里有逻辑,那里就有自动化控制,【,能力目标,】,1.,能熟练运用,PLC,的基本指令和应用指令编写,PLC,程序,并写入,PLC,进行调试运行。,2.,能熟练运用应用指令解决实际工程问题。,3,电气控制与,PLC,应用,【,知识目标,】,1.,掌握应用指令的基本格式、表示方式、数据长度、位组件和执行方式等。,2.,掌握主要应用指令的使用方法。,3.,学会利用应用指令解决实际问题的编程方法,进一步熟悉编程软件的使用,通过学习,提高编程技巧。,4,一、任务导入,任务一,8,盏流水灯控制程序,8,盏流水灯每隔,1s,顺序点亮,并不断循环,经验设计法、顺序功能图设计法,采用应用指令编程更简单,5,D,S1,S2,步序 操作码 操作数,0 LD X000,1 D,ADD,P,D10 D12 D14,14,。,二、相关知识,(一)应用指令的通用格式,X0,D12,D10,FNC20,(D)ADD(P),D14,助记符,数据长度,D,表示,32,位,执行方式,P,脉冲执行,(D10)+(D12),(D14),应用指令的编号,FX2N,系列,PLC,应用指令编号为,FNC0,FNC246,,实际有,130,个,应用指令。,6,数据长度,数据长度及执行方式,S,D,X000,MOV D10 D12,X001,D,MOV D20 D22,应用指令可处理,16,位数据和,32,位数据。处理,32,位数据时在操作码前面加,D,(,Double,),。,(D10)(D12),(处理,16,位数据),(D21D20)(D23D22),(处理,32,位数据),7,执行方式,连续执行方式:每个扫描周期都重复执行一次,脉冲执行方式:只在信号,OFF,ON,时执行一次,在指令后加,P,(,Pulse,)。,数据长度及执行方式,S,D,X000,MOV D0 D1,X001,MOV,P,D2 D4,8,电气控制与,PLC,应用,操作码与操作数,操作码(指令助记符):表示指令的功能。如:,ADD,、,MOV,等。,操作数:指明参与操作的对象,源操作数,S,:执行指令后数据不变的操作数,两个或,两个以上时为,S1,、,S2,。,目标操作数,D,:执行指令后数据被刷新的操作数,两,个或两个以上时为,D1,、,D2,。,其它操作数,m,、,n,:补充注释的常数,用,K,(十进制),和,H,(十六进制)表示,两个或,两个以上时为,m1,、,m2,、,n1,、,n2,。,9,软元件,位元件,:只处理,ON,或,OFF,两种状态的元件称为位元件,,如,X,、,Y,、,M,、,S,字元件,:处理数据的元件称为字元件。,FX,系列的字元件最少,4,位,最多,32,位。如,T,、,C,、数据寄存器,D,。,位组件,位元件组合表示数据:,4,个位元件作为一个基本单元进行组,合,称为位组件,代表,4,位,BCD,码,也表示,1,位十进制数;,用,KnP,表示,,K,为十进制,,n,为位元件的组数(,n=1,8,),,P,为位组件的首地址,一般用,0,结尾的元件。,通常的表现形式为,K,n,X,、,K,n,M,、,K,n,S,、,K,n,Y,(二)应用指令的数据结构,10,K,1,M10,M13M12M11M10,组成的,4,位数据,K,3,M10,M21,M10,组成的,16,位数据,K,4,Y0,Y17,Y0,组成的,16,位数据,11,字元件范围,符,号,表,示,内,容,KnX,输入继电器位元件组合的字元件,也称为输入位组件,KnY,输出继电器位元件组合的字元件,也称为输出位组件,KnM,辅助继电器位元件组合的字元件,也称为辅助位组件,KnS,状态继电器位元件组合的字元件,也称为状态位组件,T,定时器,T,的当前值寄存器,C,计数器,C,的当前值寄存器,D,数据寄存器,V,、,Z,变址寄存器,12,电气控制与,PLC,应用,字元件与位元件之间的数据传送,由于数据长度的不同,,在传送时,应按如下的原则处理。,不同数据长度之间的传送,高位,0,1,1,0,1,0,1,0,1,1,1,0,1,0,1,0,D10,低位,(,1,)长短的传送:只传送相应的低位数据,高位数据溢出;(,2,)短长的传送:长数据的高位全部变零。,(符号位:,0,:正数;,1,:负数。),K2M0,传送,1,1,1,0,1,0,1,0,高位数据溢出,M0,M15,M7,M8,0,0,0,0,0,0,0,0,1,1,1,0,1,0,1,0,全零,传送,D12,13,数据寄存器(,D,),通用数据寄存器,D0,D199,共,200,点。只要不写入其它数据,已写入的数据不会变化。但是,PLC,状态由运行停止时,全部数据均清零。,断电保持数据寄存器,D200,D511,共,312,点,只要不改写,原有数据不会丢失。,特殊数据寄存器,D8000,D8255,共,256,点 这些数据寄存器供监视,PLC,中各种元件的运行方式用。,文件寄存器,D1000,D2999,共,2000,点。,电气控制与,PLC,应用,每一个数据寄存器都是,16,位,14,电气控制与,PLC,应用,变址寄存器(,V/Z,),变址:改变操作数的地址,变址寄存器的作用:存放改变地址的数据,变址寄存器由,V7,V0,、,Z7,Z0,共,16,点,16,位,变址数据寄存器构成。,实际,地址,=,当前,地址,+,变址,数据,32,位运算时,V,和,Z,组合使用,,V,为高,16,位,,Z,为低,16,位。,V,X2,MOV D0V D10Z,X001,X000,MOV K8 V0,MOV K4 Z0,X002,V0=(8),Z0=(4),(D8)(D14),15,操作数,S,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,K100(D10),(三)传送指令,MOV,X000,MOV K100 D10 ,S,D,X000,DMOVP K100 D10 ,K100(D11D10),16,说明,该指令将源操作数,S,中的数据传送到目标操作数,D,中去。,MOV,指令可以进行(,D,)和(,P,)操作。,如果,S,为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。,当,X000,断开时,不执行,MOV,指令,数据保持不变。,17,电气控制与,PLC,应用,【,例,】,1.X0,接通时,,8,盏灯全亮;,2.X1,接通时,奇数盏灯亮;,3.X2,接通时,偶数盏灯亮;,4.X3,接通时,灯全灭。,18,电气控制与,PLC,应用,根据控制要求,列出,8,盏灯的真值表。,输入端口,输出位组件,K2Y0,传送,数据,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,X0,1,1,1,1,1,1,1,1,H0FF,X1,1,0,1,0,1,0,1,0,H0AA,X2,0,1,0,1,0,1,0,1,H55,X3,0,0,0,0,0,0,0,0,H00,19,电气控制与,PLC,应用,程序设计,灯全亮,奇数灯亮,偶数灯亮,灯全灭,因灭灯的优先权最高,所以灭灯的指令采用连续执行方式,亮灯的指令使用脉冲执行方式,20,电气控制与,PLC,应用,三、任务实施,(一)分配,I/O,地址,输入信号:,起动按钮,X20,停止按钮,X21,;,输出信号:,8,盏灯,Y0,Y7,。,21,电气控制与,PLC,应用,传送数据与输出位组元件对照表,传送数据,输出位组元件,K2Y0,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,H01,0,0,0,0,0,0,0,1,H02,0,0,0,0,0,0,1,0,H04,0,0,0,0,0,1,0,0,H08,0,0,0,0,1,0,0,0,H10,0,0,0,1,0,0,0,0,H20,0,0,1,0,0,0,0,0,H40,0,1,0,0,0,0,0,0,H80,1,0,0,0,0,0,0,0,22,(二)程序设计,23,操作数,S,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,n,:,K,、,H,D7,D6,D5,D12,D11,D10,(一)块传送指令,FNC15 BMOV,S,D,n,X000,BMOV D5 D10 K3 ,成批传送数据,四、知识拓展,24,说明,S,为存放被传送的数据块的首地址;,D,为存放传送来的数据块的首地址;,n,为数据块的长度。,位元件进行传送时,源和目标操作数要有相同的位数。,当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用的顺序自动传送。,该指令可以连续,/,脉冲执行方式。,块传送指令,FNC15 BMOV,25,n=K2,M2,M1,M0,M3,Y2,Y1,Y0,Y3,M6,M5,M4,M7,Y6,Y5,Y4,Y7,D12,D11,D10,D11,D10,D9,D12,D11,D10,D13,D12,D11,块传送指令,FNC15 BMOV,X000,BMOV K1M0 K1Y0 K2 ,X001,BMOV D10 D9 K3 ,X002,BMOV D10 D11 K3 ,26,符号位,取反传送,(D0)(K1Y0),若源操作数中的数为十进制常数时,将自动转换成二进制,.,(二)取反传送指令,FNC14 CML,S,D,X000,CML D0 K1Y0,1 0 1 0 1 0 1 0 1 0 1 0,1 0 1 0,D0,保持不变,0 1 0 1,Y3 Y0,27,操作数,S,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,说明,该指令把源操作数,S,中的数据各位取反(,10,,,01,)后传送到目标操作数,D,中去。,该指令可以,16/32,位数据处理和连续,/,脉冲执行方式,取反传送指令,FNC14 CML,28,操作数,S,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,KnY,、,KnM,、,KnS,、,T,、,C,、,D,n,:,K,、,H,把,K10,传送到,D9D0,中去,(三)多点传送指令,FNC16 FMOV,n,S,D,X000,FMOV K10 D0 K10,29,(四)利用,MOV,指令改写定时器和计数器的设定值,30,任务二,4,路抢答器控制程序,一、任务导入,31,主程序,子程序,X001,X002,T196,P10,CALL P10,X000,(,Y000,),FEND,(,T196 K10,),(,Y003,),SRET,二、相关知识,(一)子程序调用指令,CALL,和子程序返回指令,SRET,32,子程序指令,子程序调用指令,FNC01,CALL,操作数:指针,P0,P127,子程序返回指令,FNC02,SRET,无操作数,说明,子程序应该在主程序结束之后编程。,CJ,指令的指针与,CALL,的指针不能重复。,子程序允许嵌套,嵌套级别最多为,5,级。,子程序只能用,T192,T199,和,T246,T249,作定时器。,33,(二)主程序结束指令,FEND,主程序结束指令,FEND,无操作数。,FEND,表示主程序结束,当执行到,FEND,时,,PLC,进行输入,/,输出处理,监视定时器刷新,完成后返回起始步。,END,是指整个程序(包括主程序和子程序)结束。,一个完整的程序可以没有子程序,但一定要有主程序。,使用,FEND,指令时应注意:,(,1,)子程序和中断服务程序应放在,FEND,之后。,(,2,)子程序和中断服务程序必须写在,FEND,和,END,之间,否则出错。,34,三、任务实施,(,一,),分配,I/O,地址,抢答器,I/O,端口分配表,输入,输出,输入继电器,输入元件,作 用,输出继电器,控制对象,X0,SD,主持人开始,Y0,Y6,a,g,7,段显示码,X1,SR,主持人复位,Y7,Y12,1,4,队显示,X2,X5,S1,S4,队抢答,1,4,队抢答,35,36,LED,数码管工作原理,a,b,c,d,e,f,g,U,a,COM,I,U,R,a,b,c,d,e,f,g,COM,(,+,),共阳极,a,b,c,d,e,f,g,COM,(),共阴极,37,(二)程序设计,抢答器的传送数据,显示数字,十六进制,(,Y6,),(,Y5,),(,Y4,),(,Y3,),(,Y2,),(,Y1,),(,Y0,),1,H06,0,0,0,0,1,1,0,2,H5B,1,0,1,1,0,1,1,3,H4F,1,0,0,1,1,1,1,4,H66,1,1,0,0,1,1,0,38,39,操作数:指针,P0,P127,P0,四、知识拓展,(一)条件跳转指令,FNC00 CJ,指令表,步序 操作码 操作数,0 LD X000,1,CJ P0,。,LD X001,OUT Y000,。,LD X002,OUT Y003,X001,(,Y000,),X000,CJ P0,X002,(,Y003,),P0,40,说明,CJ,指令跳过部分程序,可以缩短程序的运算周期。,如果积算型定时器和计数器的,RST,指令在跳转程序之内,即使跳转程序生效,,RST,指令仍然有效。,该指令可以连续和脉冲执行方式。,被跳过去的程序中各元件的状态为,Y,、,M,、,S,保持跳转前状态不变。,普通计数器停止计数并保持当前值,高速计数器继续计数。,未工作的定时器不动作,已动作的定时器保持当前值。,T192,T199,跳转时仍然计时。,条件跳转指令,CJ,41,(二)电动机手动,/,自动选择控制程序,1.,控制要求,某台设备具有手动,/,自动两种操作方式。,SB3,是操作方式选择开关,当,SB3,处于断开状态时,选择手动操作方式;当,SB3,处于接通方式时,选择自动操作方式,不同操作方式进程如下:,手动操作方式:按起动按钮,SB2,,电动机旋转;按停止按钮,SB1,,电动机停止。,自动操作方式:按起动按钮,SB2,,电动机连续运转,1min,后,自动停机,按停止按钮,SB1,,电动机立即停机。,42,2.,确定输入、输出并分配,I/O,地址,输入信号:,起动按钮,SB2,X2,;,停止按钮,SB1,X1,;,操作方式选择开关,SB3,X3,;,热继电器的过载保护,FR,X0,。,输出信号:,接触器线圈,KM,Y0,。,43,3.,程序设计,44,任,务三,8,台电动机顺序起动控制程序,一、任务导入,某台设备有,8,台电机,为了减小电动机同时起动对电源的影响,利用位移指令实现间隔,10s,的顺序通电控制。按下停止按钮时,同时停止工作。,45,二、相关知识,移位指令包括,SFTR,、,SFTL,、,WSFR,和,WSFL,。这些指令的名称、助记符、功能号、操作数等如表所示。,指令名称,助记符,功能号,操作数,S,D,n1 n2,位右移,SFTR,FNC34,X,、,Y,、,M,、,S,Y,、,M,、,S,K,、,H n2n11024,位左移,SFTL,FNC35,字右移,WSFR,FNC36,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,KnY,、,KnM,、,KnS,、,T,、,C,、,D,K,、,H n2n1512,字左移,WSFL,FNC37,46,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,0,200,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1,200,0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0,0,200,0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0,0,200,0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0,0,200,0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0,0,200,0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0,0,200,0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0,0,200,0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0,0,200,0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0,0,200,0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0,0,200,0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0,0,200,0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0,0,200,0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0,0,200,0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0,0,200,0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0,200,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0,200,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0,(一)位左移指令,SFTL,位左移指令,SFTL,执行时,将源操作数,S,中的位元件的状态送入目标操作元件,D,中的低,n2,位中,并依次将目标操作数向左移位。,X005,SFTLP X0 Y000 K16 K1,n1,表示移位长度,n2,表示每次移位的位数,高,4,位溢出,47,1.,位左移指令,SFTL,的说明,(,1,),S,为移位的源操作数的最低位,,D,为被移位的目标操作数的最低位。,n1,为目标操作数个数,,n2,为源操作数个数。,(,2,)位左移就是源操作数从目标操作数的低位移入,n2,位,目标操作数各位向高位方向移,n2,位,目标操作数中的高,n2,位溢出。源操作数各位状态不变。,(,3,)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用脉冲执行方式。,48,2.,位左移指令,SFTL,举例,根据控制要求,写出,4,盏流水灯的真值表,如表所示。,4,盏流水灯循环左移真值表,脉冲,Y3,Y2,Y1,Y0,0,0,0,0,0,1,0,0,0,1,2,0,0,1,0,3,0,1,0,0,4,1,0,0,0,Y0,Y1,Y2,Y3,49,200,1,0 0 0 0,Y3 Y2 Y1 Y0,M0,0,0 0 0,1,Y3 Y2 Y1 Y0,M0,0,0 0,1,0,Y3 Y2 Y1 Y0,M0,0,0,1,0 0,Y3 Y2 Y1 Y0,M0,0,1,0 0 0,Y3 Y2 Y1 Y0,M0,0,0 0 0 0,Y3 Y2 Y1 Y0,M0,50,如果,4,盏流水灯的真值表如表所示,该如何更改程序。,4,盏流水灯循环左移真值表,去掉,脉冲,Y3,Y2,Y1,Y0,0,0,0,0,0,1,0,0,0,1,2,0,0,1,1,3,0,1,1,1,4,1,1,1,1,5,1,1,1,0,6,1,1,0,0,7,1,0,0,0,51,(二)位右移指令,SFTR,位右移指令,SFTR,执行时,将源操作数,S,中的位元件的状态送入目标操作元件,D,中的低,n2,位中,并依次将目标操作数向右移位。,n1,表示移位长度,n2,表示每次移位的位数,低,4,位溢出,52,1,位右移指令,SFTR,的说明,(,1,),S,为移位的源操作数的最低位,,D,为被移位的目标操作数的最低位。,n1,为目标操作数个数,,n2,为源操作数个数。,(,2,)位右移就是源操作数从目标操作数的高位移入,n2,位,目标操作数各位向低位方向移,n2,位,目标操作数中的低,n2,位溢出。源操作数各位状态不变。,(,3,)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用脉冲执行方式。,53,2.,位右移指令,SFTL,举例,4,盏流水灯循环右移真值表,脉冲,Y3,Y2,Y1,Y0,0,0,0,0,0,1,1,0,0,0,2,1,1,0,0,3,1,1,1,0,4,1,1,1,1,5,0,1,1,1,6,0,0,1,1,7,0,0,0,1,54,三、任务实施,(一)分配,I/O,地址,8,台电动机控制程序的,I/O,分配表,输 入,输 出,输入继电器,作用,输出继电器,控制对象,X0,起动按钮,Y7Y0,8,个接触器,X1,停止按钮,55,(二)程序设计,56,四、知识拓展,(一)循环移位指令,ROR,、,ROL,、,RCR,和,RCL,ROR,、,ROL,、,RCR,、,RCL,指令的格式,指令名称,助记符,功能号,操作数,D,n,循环右移,ROR,FNC30,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,、,Z,K,、,H,16,位操作:,n 16,32,位操作:,n32,循环左移,ROL,FNC31,带进位右移,RCR,FNC32,带进位左移,RCL,FNC33,57,1.,右、左循环移位指令,ROR,、,ROL,最后一次从目标元件中移出的状态存于进位标志,M8022,中。,右移指令,ROR,:,设(,D0,)循环前为,H1302,,则执行,“,RORP D0 K4,”,指令后,(,D0,)为,H2130,,进位标志位(,M8022,)为,0,。,58,左移指令,ROL,:,设(,D0,)循环前为,H1302,,则执行,“,ROLP D0 K4,”,指令后,(,D0,)为,H3021,,进位标志位(,M8022,)为,1,。,最后一次从目标元件中移出的状态存于进位标志,M8022,中。,59,右、左循环移位指令,ROR,、,ROL,的说明,(,1,)如图,4-21,所示,在,X0,由,OFF,变为,ON,时,循环移位指令,ROR,或,ROL,执行,将目标操作数,D0,中的各位二进制数向右或向左循环移动,4,位,最后一次从目标元件中移出的状态存于进位标志,M8022,中。,(,2,)循环移位是周而复始的移位。图,4-21,中,,D,为要移位的目标操作数,,n,为移动的位数。,ROR,和,ROL,指令的功能是将,D,中的二进制数向右或向左移动,n,位。移出的最后一位状态存在进位标志位,M8022,中。,(,3,)若在目标元件中指定位元件组的组数时,,只能用,K4,(,16,位指令)或,K8,(,32,位指令),表示,如,K4M0,或,K8M0,。,(,4,)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用脉冲执行方式。,60,2.,带进位的循环移位指令,61,(二),24,盏流水灯控制程序,1.,控制要求,利用,PLC,实现流水灯控制。某灯光招牌有,24,个灯,要求按下起动按钮,X0,时,灯以正、反序每间隔,0.1s,轮流点亮;按下停止按钮,停止工作。,2.,确定输入、输出并分配,I/O,地址,。,由于输出动作频繁,应选择晶体管或晶闸管输出型的,PLC,。流水灯控制需要两个输入信号:起动开关,X0,和停止按钮,X1,;,24,个输出信号:,Y27,Y0,。,62,3.,程序设计。,(,1,)利用基本指令和循环移位指令设计程,序,。,Y30 Y27,Y20,、,Y17,Y10,、,Y7,Y0,1,1,移位脉冲,1,移位脉冲,Y30 Y27,Y20,、,Y17,Y10,、,Y7,Y0,1,1,1,63,(,2,)利用顺序功能图设计程序,64,任务四,24,小时时钟显示程序,一、任务导入,设计一个,24h,时钟,分别用七段数码管显示时、分、秒,并能通过外部调节按钮,调节时间显示值。,65,二、相关知识,(一)七段译码指令,SEGD,7,段译码指令,SEGD,(,P,)如图所示,将源操作数,S,中指定元件的低,4,位所确定的十六进制数(,0,F,)经译码后存于,D,指定的元件中,以驱动,7,段数码管,,D,的高,8,位保持不变。,如图所示,当,X0,闭合时,对数字,5,执行,7,段译码指令,SEGD,,并将译码,H6D,存入输出位组件,K2Y0,,即输出继电器,Y7,Y0,的位状态为,0110,1101,。,66,使用,SEGD,指令时应注意:,源操作数,S,可取,K,、,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,和,Z,;,目标操作数,D,可取,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,和,Z,。,SEGD,指令是对,4,位二进制数编码,若源操作数大于,4,位,只对最低,4,位编码。,SEGD,指令的译码范围为一位十六进制数字,0,9,、,A,F,。,67,七段码译码表,源操作数,七段数码管,目 标 输 出,16,进制数,低,4,位数,g,f,e,d,c,b,a,0,0000,1,1,1,1,1,1,1,1,0001,0,0,0,0,1,1,0,2,0010,1,0,1,1,0,1,1,3,0011,1,0,0,1,1,1,1,4,0100,1,1,0,0,1,1,0,5,0101,1,1,0,1,1,0,1,6,0110,1,1,1,1,1,0,1,7,0111,0,1,0,0,1,1,1,8,1000,1,1,1,1,1,1,1,9,1001,1,1,0,1,1,1,1,A,1010,1,1,1,0,1,1,1,B,1011,1,1,1,1,1,0,0,C,1100,0,1,1,1,0,0,1,D,1101,1,0,1,1,1,1,0,E,1110,1,1,1,1,0,0,1,F,1111,1,1,1,0,0,0,1,68,(二)数据变换指令,BCD,和,BIN,十进制数,21,的二进制形式为,0001 0101,SEGD,1,SEGD,5,0010 0001,SEGD,2,SEGD,1,BCD,这种用二进制形式反映十进制进位关系的代码称为,BCD,码,其中最常用的是,8421BCD,码,它是用,4,位二进制数来表示,1,位十进制数。,BIN,是将源操作数,S,中的,BCD,码转换为二进制数并送到目标操作数,D,中,BCD,指令是将源操作数的数据转换成,8421BCD,码存入目标操作数中,69,三、任务实施,(一),I/O,分配和软元件说明,输入,输出,其他软元件,输入继电器,作 用,输出继电器,控制对象,名称,作用,X0,秒调整,Y6,Y0,显示秒个位,C0,秒计数,X1,分调整,Y16,Y10,显示秒十位,C1,分计数,X2,时调整,Y26,Y20,显示分个位,C2,时计数,Y36,Y30,显示分十位,M3,M0,存秒个位,Y46,Y40,显示时个位,M7,M4,存秒十位,Y56,Y50,显示时十位,M13,M10,存分个位,M17,M14,存分十位,M23,M20,存时个位,M27,M24,存时十位,计时钟,I/O,分配及软元件说明,70,I/O,接线图,71,(二)程序设计,72,四、知识拓展,带锁存器的七段显示指令,SEGL,73,任务五 密码锁控制程序,一、任务导入,密码锁有,3,个置数开关(即,12,个按钮),分别代表,3,个十进制数,如所拨数据与密码锁设定值相等,则,3,秒后开锁,,20,秒后重新上锁。,74,操作数,S1,、,S2,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,Y,、,M,、,S,梯形图,K100C20,的当前值时,,M0=ON,K100=C20,的当前值时,,M1=ON,K100,C20,的当前值时,,M2=ON,(一)比较指令,FNC10 CMP,二、相关知识,S1,S2,D,M0,M1,M2,X000,CMP K100 C20 M0,(,Y000,),(,Y001,),(,Y001,),75,CMP,指令说明,该指令是将源操作数,S1,和,S2,中的数据进行比较,结果送目标操作数,D,D+2,中去。,D,由,3,个元件组成,指令中,D,给出,首地址,,其它两个为后面的相邻元件。,当,X0,由,ONOFF,时,不执行,CMP,指令,,M0,M2,保持断开前的状态,用复位指令,RST,才能清除比较结果。,CMP,是进行二进制,代数,比较。,可以,32,位二进制数比较和,脉冲,执行方式。,如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。,76,操作数,S1,、,S2,、,S,:,K,H,、,KnX,、,KnY,、,KnM,、,KnS,、,T,、,C,、,D,、,V,Z,D,:,Y,、,M,、,S,梯形图,K100,C30,的当前值,K120,时,,M4=ON,C30,的当前值,K120,时,,M5=ON,(二)区间比较指令,FNC11 ZCP,S,S1,S2,D,M3,M4,M5,X000,ZCP K100 K120 C30 M3,(,Y000,),(,Y001,),(,Y001,),77,ZCP,指令,说明,ZCP,指令是将源操作数,S,的数据和两个源操作数,S1,和,S2,的数据进行比较,结果送到,D,中,,D,为三个相邻元件的,首地址,。,ZCP,指令为二进制,代数,比较,并且,S1,S2,,如果,S1,S2,,则把,S1,视为,S2,处理。,当,X0,由,ONOFF,时,不执行,ZCP,指令,比较结果保持不变,需要用复位指令才能清除。,该指令可以进行,16/32,位数据处理和连续,/,脉冲执行方式。,78,三、任务实施,(一),I/O,分配表,密码锁,I/O,分配表,输入,输出,输入元件,输入继电器,作用,输出元件,输出继电器,作用,按钮,4,1,X3,X0,密码个位,开锁装置,Y0,密码锁控制信号,按钮,8,5,X7,X4,密码十位,按钮,12,9,X13,X10,密码百位,79,(二)程序设计,80,四、知识拓展,(一)触点比较指令,FNC,编号,助记符,比较条件,逻辑功能,取比较指令,224,LD=,S1=S2,S1,与,S2,相等,225,LD,S1S2,S1,大于,S2,226,LD,S1S2,S1,小于,S2,228,LD,S1S2,S1,与,S2,不相等,229,LD,S1S2,S1,大于等于,S2,串联比较指令,232,AND=,S1=S2,S1,与,S2,相等,233,AND,S1 S2,S1,大于,S2,234,AND,S1S2,S1,小于,S2,236,AND,S1S2,S1,与,S2,不相等,237,AND,S1S2,S1,大于等于,S2,并联比较指令,240,OR=,S1=S2,S1,与,S2,相等,241,OR,S1S2,S1,大于,S2,242,OR,S1S2,S1,小于,S2,244,OR,S1S2,S1,与,S2,不相等,245,OR,S1S2,S1,大于等于,S2,81,触点比较指令举例,82,(二)简易定时报时器程序,1.,控制要求,应用计数器与触点比较指令,构成,24,小时可设定定时时间的控制器,,15min,为一设定单位,共,96,个时间单位。,控制器的控制要求:早上,6,:,30,,电铃(,Y0,)每秒响,1,次,,6,次后自动停止;,9,:,00,17,:,00,,起动住宅报警系统(,Y1,);晚上,18,:,00,开园内照明(,Y2,);晚上,22,:,00,关园内照明(,Y2,)。,83,2.I/O,分配,输入,输出,其他软元件,输入继电器,作用,输出继电器,作用,名称,作用,X0,起停开关,Y0,电铃,M8011,产生,10ms,脉冲,X1,15min,快速调整开关,Y1,住宅报警,M8012,产生,100ms,脉冲,X2,格数调整开关,Y2,园内照明,M8013,产生,1s,脉冲,84,3.,程序设计,85,漯河职业技术学院 郭艳萍,电气控制与,PLC,应用,哪里有逻辑,那里就有自动化控制,一、任务导入,任务六,8,站小车的呼叫控制程序,某车间有,8,个工作台,送料车往返于工作台之间送料,如图所示。每个工作台设有一个到位开关(,SQ,)和一个呼叫按扭(,SB,)。,送料车开始应能停留在,8,个工作台中任意一个到位开关的位置上。,设送料车现暂停于,m,号工作台(,SQ,m,为,ON,)处,这时,n,号工作台呼叫(,SB,n,为,ON,),当,m,n,时,送料车左行,直至,SQ,n,动作,到位停车。即送料车所停位置,SQ,的编号大于呼叫按扭,SB,的编号时,送料车往左行运行至呼叫位置后停止。,当,m,n,时,送料车右行,直至,SQ,n,动作,到位停车。,当,m,=,n,,即小车所停位置等于呼叫号时,送料车原位不动。,小车运行时呼叫无效。,具有左行、右行指示,原点不动指示。,用,7,段,LED,数码管显示小车行走位置。,86,二、相关知识,(一)译码指令,DECO,1.DECO,指令将源操作数,S,中的,n,位二进制代码用,2,n,位目标操作数中的对应位置“,1”,,其他位清,0,表示。,X002,X000,组成的,3,位(,n,3,)二进制数为,011,,相当于十进制数,3,,由目标操作数,M7,M0,组成的,8,位二进制数的第,3,位(,M0,为第,0,位),M3,被置,1,,其余各位为,0,。如源数据全零,则,M0,置,1,译码指令将源操作数,D2,中的,3,位(,n,3,)所表示的二进制数,011,,用目标操作数,D4,的对应位,b3,置,1,。,87,2.,源操作数,S,的形式可以为:,K,,,H,,,T,,,C,,,D,,,V,、,Z,,,X,,,Y,,,M,,,S,;目标操作数,D,的形式可以为:,T,,,C,,,D,,,Y,,,M,,,S,;,n,的形式可以为:,K,,,H,。,3.,如果目标操作数,D,为位元件,且以,S,为首地址的,n,位连续的位元件所表示的十进制数为,N,,则,DECO,指令把以,D,为首地址目标元件的第,N,位(不含目标元件位,M0,本身)置“,1”,,其他位清零,,4.,若指定的目标元件,D,是字元件,T,、,C,、,D,,应使,n4,,目标元件的每一位都受控;若,D,指定的目标元件是位元件,Y,、,M,、,S,,应使,n=1,8,。,n=0,时,不作处理。,5.,如果目标操作数,D,为字元件,则,n4,,源地址的低,n,位被译码至目标地址,目标的高位都变为,0,,如图,4-37,(,b,)所示;,n=0,时不处理,,n=0,4,以外时为运算错误。,6.,若执行条件不满足,,DECO,指令不执行,正在动作的译码输出保持动作。,7.,若需要在执行条件满足时仅执行一次,可以使用脉冲执行型指令,DECOP,指令;否则指令为连续执行型,在每个扫描周期指令都会执行一次。,88,(二)编码指令,ENCO,1.ENCO,指令与译码指令相反,在源操作数的,2,n,位数据中,将最高位为,1,的位用目标操作数的,n,位二进制代码表示出来。,n=3,,编码指令将源操作数,M7,M0,中为“,1”,的,M3,的位数,3,编码为二进制数,011,,并送到目标操作数,D10,的低,3,位。,89,2.,源操作数,S,的形式可以为:,T,,,C,,,D,,,V,、,Z,,,X,,,Y,,,M,,,S,;目标操作数,D,的形式可以为:,T,,,C,,,D,,,V,、,Z,;,n,的形式可以为:,K,,,H,。,3.,如果源操作数,S,为位元件,在以,S,为首地址、长度为,2,n,位连续的位元件中,最高位为“,1”,的位置编号被编码,然后存放到目标,D,所指定的元件中,,D,中的数值的范围由,n,确定。,4.,若源操作数,S,为位元件,并且第一个位元件(第,0,位)为“,1”,,则目标操作数,D
展开阅读全文