资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,PLC原理及应用,计数器、比较指令、移位指令应用,电气学院,1,一、,计数器,指令介绍,计数器利用输入脉冲上升沿累计脉冲个数。结构主要由一个,16,位的预置值寄存器、一个,16,位的当前值寄存器和一位状态位组成。当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置,1,。,2,S7-200,系列,PLC,有三类计数器:,CTU-,加计数器,,,CTUD-,加,/,减计数器,,,CTD-,减计数,。,STL,LAD,指令使用说明,CTU Cxxx,,,PV,(,1,)梯形图指令符号中:,CU,为加计数脉冲输入端;,CD,为减计数脉冲输入端;,R,为加计数复位端;,LD,为减计数复位端;,PV,为预置值。,(,2,),Cxxx,为计数器的编号,范围为:,C0C255,(,3,),PV,预置值最大范围:,32767,;,PV,的数据类型:,INT,;,PV,操作数为:,VW, T, C, IW, QW, MW, SMW, AC, AIW, K,CTD Cxxx,,,PV,CTUD Cxxx,,,PV,3,加计数器指令(,CTU,),当,R=0,时,计数脉冲有效; 当,CU,端有上升沿输入时,计数器当前值加,1,。当计数器当前值大于或等于设定值(,PV,)时,该计数器的状态位,C-bit,置,1,,即其常开触点闭合。计数器仍计数,但不影响计数器的状态位。直至计数达到最大值(,32767,)。当,R=1,时,计数器复位,即当前值清零,状态位,C-bit,也清零。加计数器计数范围:,032767,。,CTU Cxxx,,,PV,指令使用要点:,STL,形式中,CU,,,R,的顺序不能错;,CU,,,R,信号可为复杂逻辑关系。(,C0C255,),4,加计数指令应用示例,LD,I0.1,LD,I1.0,CTD C4,,,3,LD,C4,=,Q0.0,1,2,3,4,5,5,减计数指令(,CTD,),当复位,LD,有效时,,LD=1,,计数器把设定值(,PV,)装入当前值存储器,计数器状态位复位(置,0,)。当,LD=0,,即计数脉冲有效时,开始计数,,CD,端每来一个输入脉冲上升沿,减计数的当前值从设定值开始递减计数,当前值等于,0,时,计数器状态位置位(置,1,),停止计数。,CT,D Cxxx,,,PV,指令使用要点:,STL,形式中,CU,,,LD,的顺序不能错;,CU,,,LD,信号可为复杂逻辑关系。(,C0C255,),6,减计数指令应用示例,LD,I0.1,LD,I1.0,CTD C4,,,3,LD,C4,=,Q0.0,Q0.0,7,加,/,减计数指令(,CTUD,),当,R=0,时,计数脉冲有效;当,CU,端,(,CD,端,)有上升沿输入时,计数器当前值加,1,(减,1,)。当计数器当前值大于或等于设定值时,,C-bit,置,1,,即其常开触点闭合。当,R=1,时,计数器复位,即当前值清零,,C-bit,也清零。加减计数器计数范围:,3276832767,。,CT,UD Cxxx,,,PV,指令使用要点:,STL,形式中,CU,,,CD,,,R,的顺序不能错;,CU,,,CD,,,R,信号可为复杂逻辑关系。(,C0C255,),8,加减计数器指令应用示例,LD I0.1,LD I0.2,LD I0.3,CTUD C50,,,4,4,4,1,2,3,3,4,5,5,9,二、,比较指令,比较指令是将两个操作数按指定的条件比较,操作数可以是整数,也可以是实数,在梯形图中用带参数和运算符的触点表示比较指令,比较条件成立时,触点就闭合,否则断开。比较触点可以装入,也可以串、并联。比较指令为上、下限控制提供了极大的方便。,10,字节比较指令,整数比较指令,IN1,IN2,=B,LDB= IN1,IN2,IN1,IN2,=I,LDW= IN1,IN2,实数比较指令,双整数比较指令,IN1,IN2,=R,LDR= IN1,IN2,IN1,IN2,=D,LDD= IN1,IN2,这里“,=,”和“,=,”可以替换为:,=,大于等于,大于,小于,不等于,11,比较指令举例,课本,45,页,例,4-5,成品库存统计,12,三、,移位指令及应用举例,移位指令分为,左、右移位,和,循环左、右移位,及,寄存器移位,指令三大类。,前两类移位指令按移位数据的长度又分字节型、字型、双字型,3,种。,13,左、右移位指令,LAD,左移位,右移位,STL,左移位,SLB OUT,,,N,SLW OUT,,,N,SLD OUT,,,N,右移位,SRB OUT,,,N,SRW OUT,,,N,SRD OUT,,,N,操作数及数据类型,IN,:,VB, IB, QB, MB, SB, SMB, LB, AC,常量。,OUT,:,VB, IB, QB, MB, SB, SMB, LB, AC,。,数据类型:字节,IN,:,VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC,常量。,OUT,:,VW, IW, QW, MW, SW, SMW, LW, T, C, AC,。,数据类型:字,IN,:,VD, ID, QD, MD, SD, SMD, LD, AC, HC,常量。,OUT,:,VD, ID, QD, MD, SD, SMD, LD, AC,。,数据类型:双字,N,:,VB, IB, QB, MB, SB, SMB, LB, AC,常量;数据类型:字节;数据范围:,N,数据类型(,B,、,W,、,D,)对应的位数。,功能,SHL,:字节、字、双字左移,N,位;,SHR,:字节、字、双字右移,N,位。,左、右移位数据存储单元与,SM1.1,(溢出)端相连,移出位被放到特殊标志存储器,SM1.1,位。移位数据存储单元的另一端补,0,。,14,?,?,?,?,0,0,0,0,0,1,1,1,15,指令说明,左移位指令(,SHL,):,使能输入有效时,将输入,IN,的无符号数字节、字或双字中的各位向左移,N,位后(右端补,0,),将结果输出到,OUT,所指定的存储单元中,如果移位次数大于,0,,最后一次移出位保存在“溢出”存储器位,SM1.1,。如果移位结果为,0,,零标志位,SM1.0,置,1,。,右移位指令,使能输入有效时,将输入,IN,的无符号数字节、字或双字中的各位向右移,N,位后,将结果输出到,OUT,所指定的存储单元中,移出位补,0,,最后一移出位保存在,SM1.1,。如果移位结果为,0,,零标志位,SM1.0,置,1,。,使,ENO = 0,的错误条件:,0006,(间接寻址错误),,SM4.3,(运行时间),16,循环左、右移位指令,LAD,STL,RLB OUT,,,N,RRB OUT,,,N,RLW OUT,,,N,RRW OUT,,,N,RLD OUT,,,N,RRD OUT,,,N,操作数及数据类型,IN,:,VB, IB, QB, MB, SB, SMB, LB, AC,常量。,OUT,:,VB, IB, QB, MB, SB, SMB, LB, AC,。数据类型:字节,IN,:,VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC,常量。,OUT,:,VW, IW, QW, MW, SW, SMW, LW, T, C, AC,。数据类型:字,IN,:,VD, ID, QD, MD, SD, SMD, LD, AC, HC,常量。,OUT,:,VD, ID, QD, MD, SD, SMD, LD, AC,。数据类型:双字,N,:,VB, IB, QB, MB, SB, SMB, LB, AC,常量;数据类型:字节。,功能,ROL,:字节、字、双字循环左移,N,位;,ROR,:字节、字、双字循环右移,N,位。,17,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,18,指令说明,循环左移位指令(,ROL,),使能输入有效时,将,IN,输入无符号数(字节、字或双字)循环左移,N,位后,将结果输出到,OUT,所指定的存储单元中,移出的最后一位的数值送溢出标志位,SM1.1,。当需要移位的数值是零时,零标志位,SM1.0,为,1,。,循环右移位指令(,ROR,),使能输入有效时,将,IN,输入无符号数(字节、字或双字)循环右移,N,位后,将结果输出到,OUT,所指定的存储单元中,移出的最后一位的数值送溢出标志位,SM1.1,。当需要移位的数值是零时,零标志位,SM1.0,为,1,。,19,移位次数,N,数据类型(,B,、,W,、,D,)时的移位位数的处理,如果操作数是字节,当移位次数,N8,时,则在执行循环移位前,先对,N,进行模,8,操作(,N,除以,8,后取余数),其结果,0-7,为实际移动位数。,如果操作数是字,当移位次数,N16,时,则在执行循环移位前,先对,N,进行模,16,操作(,N,除以,16,后取余数),其结果,0-15,为实际移动位数。,如果操作数是双字,当移位次数,N32,时,则在执行循环移位前,先对,N,进行模,32,操作(,N,除以,32,后取余数),其结果,0-31,为实际移动位数。,使,ENO = 0,的错误条件:,0006,(间接寻址错误),,SM4.3,(运行时间),20,3.移位寄存器指令(,SHRB,),:,将,DATA,数值移入移位寄存器。,EN,为使能输入端,连接移位脉冲信号,每次使能有效时,整个移位寄存器移动,1,位。,DATA,为数据输入端,连接移入移位寄存器的二进制数值,执行指令时将该位的值移入寄存器。,S_BIT,指定移位寄存器的最低位。,N,指定移位寄存器的长度和移位方向,移位寄存器的最大长度为,64,位,,N,为正值表示左移位,输入数据(,DATA,)移入移位寄存器的最低位(,S_BIT,),并移出移位寄存器的最高位。移出的数据被放置在溢出内存位(,SM1.1,)中。,N,为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(,S_BIT,)。移出的数据被放置在溢出内存位(,SM1.1,)中。,21,
展开阅读全文