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