您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > ch4-3单元三:计数器及比较指令
计数器、比较指令、移位指令应用电气学院昆明冶金高等专科学校指令介绍计数器利用输入脉冲上升沿累计脉冲个数。结构主要由一个16位的预置值寄存器、一个16位的当前值寄存器和一位状态位组成。当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置1。S7-200系列PLC有三类计数器:CTU-加计数器,CTUD-加/减计数器,CTD-减计数。STLLAD指令使用说明CTUCxxx,PV(1)梯形图指令符号中:CU为加计数脉冲输入端;CD为减计数脉冲输入端;R为加计数复位端;LD为减计数复位端;PV为预置值。(2)Cxxx为计数器的编号,范围为:C0~C255(3)PV预置值最大范围:32767;PV的数据类型:INT;PV操作数为:VW,T,C,IW,QW,MW,SMW,AC,AIW,KCTDCxxx,PVCTUDCxxx,PV加计数器指令(CTU)当R=0时,计数脉冲有效;当CU端有上升沿输入时,计数器当前值加1。当计数器当前值大于或等于设定值(PV)时,该计数器的状态位C-bit置1,即其常开触点闭合。计数器仍计数,但不影响计数器的状态位。直至计数达到最大值(32767)。当R=1时,计数器复位,即当前值清零,状态位C-bit也清零。加计数器计数范围:0~32767。CTUCxxx,PV指令使用要点:STL形式中CU,R的顺序不能错;CU,R信号可为复杂逻辑关系。(C0~C255)加计数指令应用示例LDI0.1LDI1.0CTDC4,3LDC4=Q0.012345减计数指令(CTD)当复位LD有效时,LD=1,计数器把设定值(PV)装入当前值存储器,计数器状态位复位(置0)。当LD=0,即计数脉冲有效时,开始计数,CD端每来一个输入脉冲上升沿,减计数的当前值从设定值开始递减计数,当前值等于0时,计数器状态位置位(置1),停止计数。CTDCxxx,PV指令使用要点:STL形式中CU,LD的顺序不能错;CU,LD信号可为复杂逻辑关系。(C0~C255)减计数指令应用示例LDI0.1LDI1.0CTDC4,3LDC4=Q0.0Q0.0加/减计数指令(CTUD)当R=0时,计数脉冲有效;当CU端(CD端)有上升沿输入时,计数器当前值加1(减1)。当计数器当前值大于或等于设定值时,C-bit置1,即其常开触点闭合。当R=1时,计数器复位,即当前值清零,C-bit也清零。加减计数器计数范围:–32768~32767。CTUDCxxx,PV指令使用要点:STL形式中CU,CD,R的顺序不能错;CU,CD,R信号可为复杂逻辑关系。(C0~C255)加减计数器指令应用示例LDI0.1LDI0.2LDI0.3CTUDC50,4441233455比较指令是将两个操作数按指定的条件比较,操作数可以是整数,也可以是实数,在梯形图中用带参数和运算符的触点表示比较指令,比较条件成立时,触点就闭合,否则断开。比较触点可以装入,也可以串、并联。比较指令为上、下限控制提供了极大的方便。字节比较指令整数比较指令IN1IN2==BLDB=IN1,IN2IN1IN2==ILDW=IN1,IN2实数比较指令双整数比较指令IN1IN2==RLDR=IN1,IN2IN1IN2==DLDD=IN1,IN2这里“==”和“=”可以替换为:•=大于等于•=小于等于•大于•小于•不等于课本45页,例4-5成品库存统计移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。前两类移位指令按移位数据的长度又分字节型、字型、双字型3种。左、右移位指令LAD左移位右移位STL左移位SLBOUT,NSLWOUT,NSLDOUT,N右移位SRBOUT,NSRWOUT,NSRDOUT,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。????00000111指令说明左移位指令(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(运行时间)循环左、右移位指令LADSTLRLBOUT,NRRBOUT,NRLWOUT,NRRWOUT,NRLDOUT,NRRDOUT,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位。00000011000000110000000111指令说明循环左移位指令(ROL)使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。循环右移位指令(ROR)使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。移位次数N≥数据类型(B、W、D)时的移位位数的处理如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。使ENO=0的错误条件:0006(间接寻址错误),SM4.3(运行时间)3.移位寄存器指令(SHRB):将DATA数值移入移位寄存器。EN为使能输入端,连接移位脉冲信号,每次使能有效时,整个移位寄存器移动1位。DATA为数据输入端,连接移入移位寄存器的二进制数值,执行指令时将该位的值移入寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的长度和移位方向,移位寄存器的最大长度为64位,N为正值表示左移位,输入数据(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位。移出的数据被放置在溢出内存位(SM1.1)中。N为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(S_BIT)。移出的数据被放置在溢出内存位(SM1.1)中。
本文标题:ch4-3单元三:计数器及比较指令
链接地址:https://www.777doc.com/doc-3239464 .html