资源描述
自动,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,博学 求是 明德,S7-200PLC,指令系统,第五章,1,PLC,梯形图语言的编程原则,1,、梯形图由多个梯级组成,每个线圈可构成一个梯级,,每个梯级有多条支路,每个梯级代表一个逻辑方程;,2,、梯形图中的继电器继电器、接点、线圈不是物理的,,是,PLC,存储器中的位,(1=ON,;,0=OFF),;编程时常开,/,常闭接点可无限次引用,线圈输出只能是一次;,3,、梯形图中流过的不是物理电流而是,“,概念电流,”,,只,能从,左向右流,;,4,、用户程序的运算是根据,PLC,的输入,/,输出映象寄存器中,的内容,逻辑运算结果可以立即被后面的程序使用;,5,、,PLC,的内部继电器不能做控制用,只能存放逻辑控制,的中间状态;,6,、输出线圈不能直接驱动现场的执行元件,通过,I/O,模,块上的功率器件来驱动。,2,指令分类,按形式分,2.,功能块,1.,继电器,触点,线圈,(),Enable,输入参数,IN1,IN2,N,输出参数,OUT,功能,数据类型,地址,条件,长度,EN,3,指令分类,按功能分,1,。,位操作功能,2,。定时器,/,计数器,3,。算术运算功能,4,。关系运算功能,5,。数据传送功能,6,。转换功能,7,。控制功能,4,一、基本逻辑指令,逻辑关系 梯形图 助记符,I0.0,I0.1,LDI0.0,A,I0.1,=Q0.0,LDI0.0,O,I0.1,=Q0.0,LDN,I0.1,=Q0.0,与,或,非,AND,OR,NOT,当,I0.0,与,I0.1,都“,ON”,时,,则输出,Q0.0,“ON”(,1,),。,当,I0.0,或,I0.0,“ON”,时,则输出,Y0,“ON”(,1,),当,I0.1,“OFF”,时,则输出,Q0.0,“ON”(,1,),Q0.0,I0.0,I0.1,Q0.0,Q0.0,I0.1,I0.0,*,*,I0.1,Q0.0,5,注意:,与、或、非运算均是对从该指令前面的,ST,指令到该指令的前一个指令处的结果进行,运算。,A,X2,是与图中,A,点处的结果(即,X0,与,X1,的结果)相或,而不是与,X1,相或。,X0,X2,X1,LDX0,AX1,OX2,=Y0,例:,Y0,6,逻辑关系 梯形图 助记符,LDX0,OX1,LDX2,OX3,ALD,=Y0,LDX0,AX1,LDX2,AN X3,OLD,=Y0,当“,X0,或,X1”,与“,X2,或,X3”,都“,ON”,时,,则输出,Y0,“ON”,。,区块与,ALD,(,And Stack,),区块或,OLD,(,Or Stack,),当“,X0,与,X1”,或“,X2,与,X3,非”,“,ON”,时,则输,出,Y0,“ON”,。,X0,X1,X2,X3,Y0,X0,X2,X1,X3,Y0,7,例,1,:,直接启动停车控制,继电器控制电路图,I/O,分配:,I0.0,:停车,I0.1,:启动,Q0.1,:,KM,梯形图:,语句表,LD I0.1,O Q0.0,A I0.0,=Q0.0,启动优先,停止优先,Q0.0,I0.0,Q0.0,I0.1,8,I/O,分配决定,PLC,的端子接线图,PLC,的端子接线方式又决定编程语言,I/O,分配:,I0.0,:停车,I0.1,:启动,Q0.1,:,KM,Q0.0,I0.0,Q0.0,I0.1,9,置位、复位指令,10,立即,I/O,指令,立即输入,直接读取物理输入点的值,输入映象寄存器内容不更新。指令操作数仅限于输入物理点的值。,11,立即,I/O,指令,立即输出,执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器,12,立即,I/O,指令,立即置位和复位指令,须指出,:,立即,I/O,指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用,CPU,时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。,13,空操作,正跳变,负跳变,能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过。,检测到每一次正跳变(信号后,让能流通过一个扫描周期的时间,检测到每一次负跳变信号后,让能流通过一个扫描周期的时间,取非,输入映象寄存器,I0.0,输出映象寄存器,Q0.0,输出映象寄存器,Q0.1,输出映象寄存器,Q0.2,一个周期,一个周期,空操作指令(,NOP N,)不影响程序的执行。,操作数,N,是常数,0255,14,编程中应注意的,几个,问题,X0,Y0,X1,Y0,X1,Y0,X0,Y0,一、用电路变换简化程序,(,减少指令的条数),15,二、逻辑关系应尽量清楚,(,避免左轻右重,),X3,X2,X5,X4,X6,X8,X7,Y0,X9,X3,X2,X5,X4,X6,X8,X7,Y0,X9,X5,X6,X2,X2,LD X2,AN X3,A X4,LD X2,A X5,AN X6,A,X7,LD X2,A X5,AN X6,A X8,AN X9,OLD,=Y0,ED,16,三、避免出现无法编程的梯形图,X5,X1,X3,X2,Y1,X4,Y2,LD X3,A X5,O X1,AN X2,=Y1,LD X1,A X5,O X3,AN X4,=Y2,ED,X1,X3,X2,Y1,X5,X3,X1,X4,Y2,X5,17,2.,定时器及定时器指令,输入接点,设定值,:,132767,定时器号码,(,0,255,),IN,PT,T37,TON,定时器分辨率(时基)有三种:,1ms,、,10ms,、,100ms,。定时器的分辨率由定时器号决定,定时器的实际设定时间,T=,设定值,PT,分辨率,TON,:,接通延时定时器,TOF,:,断开延时定时器,TONR,:,有记忆接通延时定时器,类型,18,TS=1200*0.1=120S,延时接通定时器,TON,其工作波形图如下:,I0.1,Q0.1,计时值,设定值,TS,设定值,使能输入,TON,PT,IN,T38,T38,TON,PT,IN,I0.1,120,(),T38,Q0.1,19,延时断开定时器,TOF,其工作波形图如下,:,I0.1,Q0.1,计时值,设定值,TS,设定值,使能输入,TOF,PT,IN,T38,TOF,PT,IN,I0.1,120,T38,(),T38,Q0.1,TS=1200*0.1=120S,20,保持型定时器,TONR,其工作波形图如下:,输入端,Q0.1,当前值,设定值,T,S,TS=120*10ms,T4,M0.1,输入端,设定值,TONR,PT,IN,TONR,PT,IN,I0.1,120,T4,(),T4,Q0.1,(),T4,R,1,M0.1,最大值,32767,120,21,1ms,分辩率定时器,每隔,1ms,刷新一次,刷新定时器位和定时器当前值,在一个扫描周期中要刷新多次,而不和扫描周期同步。,10ms,分辩率定时器,10ms,分辩率定时器启动后,定时器对,10ms,时间间隔进行计时。程序执行时,在每次扫描周期的开始对,10ms,定时器刷新,在一个扫描周期内定时器位和定时器当前值保持不变。,100ms,分辨率定时器,100ms,定时器启动后,定时器对,100ms,时间间隔进行计时。只有在定时器指令执行时,,100ms,定时器的当前值才被刷新。,22,自复位式的定时器,T33,T33,T33,错误,正确,23,2.,计数器指令,定时器是对,PLC,内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数。,当前值:,计数器累计计数的当前值(,16,位有符号整数),它存放在计数器的,16,位(,bit,)当前值寄存器中。,每个计数器只有一个,16,位的当前值寄存器地址。在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。,24,增计数器,设定值,:,-3276832767,CU,PV,C20,CTU,R,复位,计脉冲数,25,增,/,减计数器,增计数,减计数,复位,C(0255),I0.1,I1.1,I1.2,当前值,输出端,当前值,26,减计数器,CU,PV,C(0255),CTD,LD,复位,装设定值,计脉冲数,I1.3,I1.4,当前值,输出,2,1,计数器当前值等于,0,时,停止计数,同时计数器位被置位“,1”,设定值,27,例,5.,计数器应用举例:,产品数量检测,产品通过检测器,PH,机械手,KM1,KM2,传送带电机,PLC,的,I/O,分配:,I0.0,传送带停机按钮,I0.1,传送带起动按钮,I0.2,产品通过检测器,PH,Q0.0,传送带电机,KM1,Q0.1,机械手,KM2,T37,定时器,定时,2,秒,C10,计数器,初始值,24,(每,24,个产品,机械手动作,1,次),机械手动作后,延时,2,秒,将机械手电磁铁切断,同时将,CT100,复位。,CT100,复位后,,Y1,和,TM1,也复位,28,电机起动后,,R1,产生宽度为一个扫描,周期的正脉冲,使,C20,和,T37,复位,起、停传送带电机,计数器应用举例:,产品数量检测,Q0.0,Q0.0,I0.2,24,C20,T37,20,C20,Q0.1,每检测到一个产品,,X2,产生一个正脉冲,,使,C20,计一个数,C20,每计,24,个数,机械手动作一次,机械手动作后,延时,2,秒,将机械手,电磁铁切断,同时将,C20,复位。,C20,复位后,,Q0.1,和,T37,也复位,(),I0.0,I0.1,C20,CU,PV,CTU,R,(),IN,PT,TON,T37,T37,P,Q0.0,29,移位寄存器指令,E,N,O,I,0,.,1,P,EN,DATA,S_BIT,N,S,H,R,B,I0.2,V10.0,4,E,N,O,L,D,I,0,.,1,E,U,S,H,R,B,I,0,.,2,V,1,0,.,0,4,I,0,.,2,0,7,7,0,1,0,0,1,1,1,1,0,0,溢,出,位,移,位,前,移,位,一,次,后,V,B,1,0,.,0,V,B,1,0,.,0,I,0,.,1,I,0,.,2,正,跳,变,S_BIT,30,一、传送指令,数据传送指令,MOV-B,EN,IN,OUT,ENO,MOV-W,EN,IN,OUT,ENO,MOV-DW,EN,IN,OUT,ENO,MOV-R,EN,IN,OUT,ENO,MOVB IN,OUT,MOVW IN,OUT,MOVDW IN,OUT,MOVR IN,OUT,例:,若,I0.1=1,,则将,VW100,的数据传送到,AC0,MOVW VW100,AC0,I0.1,MOV-W,EN,IN,OUT,ENO,VW100,AC0,VW100,10,46,MSB,LSB,10,46,AC0,MSB,LSB,VD10,31,32,数据块传送指令,数据块传送指令把从输入(,IN,)指定地址的,N,个连续字节、字、双字的内容传送到从输出(,OUT,)指定地址开始的,N,个连续字节、字、双字的存储单元中去。,MOVB IN,OUT,MOVW IN,OUT,MOVDW IN,OUT,BLKMOV-DW,EN,IN,OUT,ENO,N,BLKMOV-W,EN,IN,OUT,ENO,N,BLKMOV-B,EN,IN,OUT,ENO,N,33,传送字节立即读、写指令,传送字节立即写(,BIW,)指令,将从输入端(,IN,)指定字节地址的内容写入输出端(,OUT,)指定字节地址的物理输出点(,QB,)。,传送字节立即读(,BIR,)指令,读取输入端(,IN,)指定字节地址的物理输入点(,IB,)的值,并写入输出端(,OUT,)指定字节地址的存储单元中。,传送字节立即读,传送字节立即写,MOV-BIR,EN,IN,OUT,ENO,BIW IN,OUT,MOV-BIW,EN,IN,OUT,ENO,BIR IN,OUT,34,二、数学运算指令,1.,加法指令,+I IN1,OUT,+D IN1,OUT,+R IN1,OUT,ADD-I,EN,IN1,OUT,ENO,IN2,ADD-DI,EN,IN1,OUT,ENO,IN2,ADD-R,EN,IN1,OUT,ENO,IN2,-I IN2,OUT,-D IN2,OUT,-R IN2,OUT,SUB-I,EN,IN1,OUT,ENO,IN2,SUB-DI,EN,IN1,OUT,ENO,IN2,SUB-R,EN,IN1,OUT,ENO,IN2,2.,加法指令,35,整数加法、减法、乘法、除法,双整数加法、减法、乘法、除法,整数完全乘法、除法,实数加法、减法、乘法、除法,36,3.,乘法指令,*I IN1,OUT,*D IN1,OUT,*R IN1,OUT,MUL-I,EN,IN1,OUT,ENO,IN2,MUL-DI,EN,IN1,OUT,ENO,IN2,MUL-R,EN,IN1,OUT,ENO,IN2,MUL IN1,OUT,MUL,EN,IN1,OUT,ENO,IN2,4.,除法指令,/I IN2,OUT,/D IN2,OUT,/R IN2,OUT,DIV-I,EN,IN1,OUT,ENO,IN2,DIV-DI,EN,IN1,OUT,ENO,IN2,DIV-R,EN,IN1,OUT,ENO,IN2,DIV IN2,OUT,DIV,EN,IN1,OUT,ENO,IN2,整数完全除法指令,把输入端(,IN,)指定的两个,16,位整数相除,产生一个,32,位结果,并送到输出端(,OUT,)指定的存储单元中去。其中高,16,位是余数,低,16,位是商。,37,三、转换指令,BCD,码转为整数(,BCDI,)指令,将输入,端(,IN,)指定的,BCD,码转换成整数,并将,结果存放到输出端(,OUT,)指定的存储单,元中去。输入数据的范围是,0,到,9999,(,BCD,码)。,整数转为,BCD,码(,IBCD,)指令,将输入端,(,IN,)指定的整数转换成,BCD,码,并将结果存放,到输出端(,OUT,)指定的存储单元中去。输入数据的范围是,0,到,9999,。,指令影响的特殊存储器位:,SM1.6,(非法,BCD,),BCD-I,EN,IN,OUT,ENO,IBCD OUT,I-BCD,EN,IN,OUT,ENO,BCDI OUT,无符号操作,1,BCD,码与整数的转换,38,2,双字整数与实数的转换,DI-R,EN,IN,OUT,ENO,ROUND IN,OUT,ROUND,EN,IN,OUT,ENO,TRUNC,EN,IN,OUT,ENO,TRUNC IN,OUT,DTR IN,OUT,双字整数转换为实数,双字整数转换为实数,实数转换为双字整数,双字整数转为实数(,DTR,)指令:将输入端(,IN,)指定的,32,位有符号整数转换成,32,位实数,ROUND,取整指令,转换时,实数的小数部分四舍五入。,TRUNC,取整指令,实数,舍去小数部分,后,转换成,32,位有符号整数。,实数转为双字整数指令可分为四舍五入取整(,ROUND,)和舍去尾数后取整(,TRUNC,)指令。,取整指令被转换的输入值应是有效的实数,如果实数值太大,使输出无法表示,那末溢出位(,SM1.1,)被置位。,39,3,双整数与整数的转换,DI-I,EN,IN,OUT,ENO,ITD IN,OUT,I-DI,EN,IN,OUT,ENO,DTI IN,OUT,输入端(,IN,)的有符号双整数转换成整数,并存入,OUT,。被转换的输入值应是有效的双整数,,否则溢出位(,SM1.1,)被置位,。,欲将整数转换为实数,可先用,ITD,指令把整数转换为双整数,然后再用,DTR,指令把双整数转换为实数。,40,例:,101,C10,英寸,41,
展开阅读全文