资源描述
威海职业学院教案
案例7相关背景知识
关于:数据处理指令
一、传送类指令
传送类指令用于在各个编程元件之间进行数据传送。根据每次传送数据的数量,可分为单个传送指令和块传送指令。
1.单个传送指令MOVB,BIR,BIW,MOVW,MOVD,MOVR
单个传送指令每次传送l个数据,传送数据的类型分为字节传送、字传送、双字传送和实数传送。
(1)字节传送指令MOVB,BIR,BlW
字节传送指令可分为周期性字节传送指令和立即字节传送指令。
①周期性字节传送指令MOVB。
在梯形图中,周期性字节传送指令以功能框的形式编程,指令名称为MOV_B。当允许输入EN有效时,将一个无符号的单字节数据IN传送到0UT中。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时问),0006(问接寻址)。
在语句表中,周期性字节传送指令MOVB的指令格式为:MOVB IN,OUT。IN和0UT的寻址范围。
操作数
类 型
寻址范围
IN
BYTE
VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数
OUT
BYTE
VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
②立即字节传送指令BIR,BIW。
立即读字节传送指令BIR:当允许输入EN有效时,BIR指令立即读取(不考虑扫描周期)当前输入继电器区中由IN指定的字节,并传送到OUT。在梯形图中,立即读字节传送指令以功能框的形式编程,指令名称为:MOV_BIR。当允许输入EN有效时,将1个无符号的单字节数据IN传送到0UT中。
在语句表中,立即读字节传送指令BIR的指令格式为: BIR IN,OUT。
IN和0UT的寻址范围如下表所示.
操作数
类 型
寻址范围
IN
BYTE
IB
OUT
BYTE
VB,IB,QB,MB,SB,SMB,LB,AC,。VD,8AC,。LD
(2)字传送指令MOVW
字传送指令MOVW将1个字长的有符号整数数据IN传送到OUT。在梯形图中,字传送指令以功能框的形式编程,当允许输入EN有效时,将1个无符号的单字长数据IN传送到0UT中。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。在语句表中,字传送指令MOVW的指令格式为MOVW IN,OUT。IN和0UT的寻址范围.
操作数
类 型
寻 址 范 围
IN
WORD
VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD和常数
OUT
WORD
VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
(3)双字传送指令MOVD
双字传送指令MOVD将1个双字长的有符号整数数据IN传送到0UT。
在梯形图中,双字传送指令以功能框的形式编程,指令名称为:MOV_DW。当允许输入EN有效时,将1个有符号的双字长数据IN传送到0UT中。
影响允许输出EN0正常工作的出错条件为SM4.3(运行时间),0006(问接寻址)。在语句表中,双字传送指令MOVD的指令格式为:MOVD IN,OUT。
IN和0UT的寻址范围如下表所示。
操作数
类 型
寻址范围
IN
DWORD
VD,ID,QD,MD,SMD,LD,AC,HC,*VD,*AC,*LD和常数
OUT
DWORD
VD,ID,QD,MD,SMD,LD,AC,*VD,*AC,*LD
(4)实数传送指令MOVR
实数传送指令MOVR将1个双字长的实数数据烈传送到OUT。
在梯形图中,实数传送指令以功能框的形式编程,当允许输入EN有效时,将1个有符号的双字长实数数据IN传送到OUT中。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。
在语句表中,实数传送指令MOVR的指令格式为:MOVR IN,OUT。
IN 和 0UT的寻址范围如下表所示。
操作数
类 型
寻址范围
IN
REAL
VD,ID,QD,MD,SMD,LD,AC,HC,*VD,*AC,*LD和常数
0UT
REAL
VD,ID,QD,MD,SMD,LD,AC,4VD,*AC,*LD
2.块传送指令BMB,BMW,BMD
块传送指令用来进行一次传送多个数据,将最多可达255个的数据组成1个数据块,数据块的类型可以是字节块、字块和双字块。
(1) 字节块传送指令BMB
字节块传送指令BMB的功能是:当允许输入EN有效时,将从输入字节IN开始的N个字节型数据传送到从OUT开始的N个字节存储单元。
(2)字块传送指令BMW
字块传送指令BMW的功能是:当允许输入EN有效时,将从输入字IN开始的N个字型数据传送到从0UT开始的N字存储单元。
(3)双字块传送指令BMD
双字块传送指令BMD的功能是:当允许输入EN有效时,将从输入双字IN开始的N个双字型数据传送到从OUT开始的N个双字存储单元。
块传送指令在梯形图中以功能框形式编程,影响允许输出EN0正常工作的出错条件为:M4.3(运行时间),0006(间接寻址),0091(数超界),在语句表中,块传送指令的指令格式如下。
字节块传送指令:BMB IN,OUT,N。
字块传送指令: BMW IN,OUT,N。
双字块传送指令:BMD IN,OUT,N。
块传送指令的IN,N,OUT的寻址范围
指令
操作数
类型
寻址范围
BMB
IN
BYTE
VB,Ⅲ,QB,Ⅷ,SMB,LB,AC,HC,*VD,*AC,*LD
OUT
BYTE
VB,IB,QB,MB,SMB,LB,AC,HC,*VD,*AC,*LD
N
BYTE
VB,IB,QB,MB,SMB,LB,AC,*VD,*AC.*LD
BMW
IN
WORD
VW,IW,QW,MW,SMW,LW,AIW,T,C,AQW,AC,HC,*VD,*AC.*LD
OUT
WORD
N
BYTB
VB,IB,QB,MB,SMB,LB,AC,*WD,*AC.*LD
BMD
IN
DWORD
VD,ID,QD,MD,SMD,SD,LD,AC,HC,*VD,*AC.*LD
OUT
DWORD
N
BYTE
VB,113,QB,MB,SMB,LB,AC,+VD,*AC,*LD和常数
关于:移位指令
1.左移和右移指令
左移或右移指令的功能是将输入数据IN左移或右移N位后,把结果送到0UT。
左移或右移指令的特点如下。
.被移位的数据是无符号的。
.在移位时,存放被移位数据的编程元件的移出端与特殊继电器SM1.1连接,移出位进入SM1.1(溢出),另一端自动补0。
.移位次数N与移位数据的长度有关,如N小于实际的数据长度,则执行N次移位。如N大于数据长度,则执行移位的次数等于实际数据长度的位数。
.移位次数Ⅳ为字节型数据。
左移和右移指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM1.0自动置位;SM1.1(溢出)的状态由每次移出位的状态决定。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。
(1)字节左移指令SLB(Shift Left Byte)和字节右移指令SRB(Shift Right Byte)
在梯形图中,字节左移指令或字节右移指令以功能框的形式编程,指令名称分别为:
SHL B和SHR B。
当允许输入EN有效时,将字节型输入数据IN左移或右移N位(N≤8)后,送到0UT指定的字节存储单元。
在语句表中,字节左移指令SLB或字节右移指令SRB的指令格式如下。
字节左移指令:SLB OUT,N(OUT与IN为同一个存储单元)
字节右移指令:SRB OUT,N(OUT与IN为同一个存储单元)
(2)字左移指令SLW(ShiftLeftWord)和字右移指令SRW(ShiftRightWord)
在梯形图中,字左移指令SLW或字右移指令SRW以功能框的形式编程,指令的名称分别为:SHL_W和SHR_W。
当允许输入EN有效时,将字型输入数据IN左移或右移N位(N≤l6)后,送到0UT指定的字存储单元。
在语句表中,字左移指令SLW或字右移指令SRW的指令格式如下。
字左移指令:SLW OUT,N(OUT与IN为同一个存储单元)
字右移指令:SRW OUT,N(OUT与IN为同一个存储单元)
(3)双字左移指令SLD(Shift Left Double word)和双字右移指令SRD(Shift Right Double word)
在梯形图中,双字左移指令SLD或双字右移指令SRD以功能框的形式编程,
当允许输入EN有效时,将双字型输入数据IN左移或右移N位(N≤32)后,送到0UT指定的双字存储单元。
在语句表中,双字左移指令SLD或双字右移指令SRD的指令格式如下。
双字左移指令:SLD OUT,N(OUT与IN为同一个存储单元)
双字右移指令:SRD OUT,N(OUT与IN为同一个存储单元)
2.循环左移和循环右移指令
循环移位的特点如下。
·被移位的数据是无符号的。
· 在移位时,存放被移位数据的编程元件的移出端既与另一端连接,又与特殊继电器SM1.1
连接,移出位在被移到另一端的同时,也进入SM1.1(溢出),另一端自动补0。
·移位次数N与移位数据的长度有关,如N小于实际的数据长度,则执行N次移位。如N大于数据长度,则执行移位的次数为N除以实际数据长度的余数。
·移位次数N为字节型数据。
循环移位指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM1.0自动置位:SM1.1(溢出)的状态由每次移出位的状态决定。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。
(1) 字节循环左移指令RLB(Rotate Left Byte)和字节循环右移指令RB(RotateRightByte)
在梯形图中,字节循环移位指令以功能框的形式编程,指令名称分别为:ROL_B和ROR_B
当允许输入EN有效时,把字节型输入数据州循环移位Ⅳ位后,送到由0UT指定的字在语句表中,字节循环移位指令的指令格式如下。
字节循环左移指令:RLB OUT,N
字节循环右移指令:RRB OUT,N
(2) 字循环左移指令RLW(Rotate Left Word)和字循环右移指令RRW(Rotate Right Word)
在梯形图中,字循环移位指令以功能框的形式编程,指令名称分别为:ROL_W和ROR_W。
当允许输入EN有效时,把字型输入数据IN循环移位N位后,送到由OUT指定的字。
在语句表中,字循环移位指令的指令格式如下。
字循环左移指令:RLW OUT,N
字循环右移指令:RRW OUT,N
(3)双字循环左移指令RLD(Rotate Left Double word)和双字循环右移指令RRD(Rotate Right Double word)
在梯形图中,双字循环移位指令以功能框的形式编程,指令名称分别为:ROL_DW和ROR_DW。
当允许输入EN有效时,把双字型输入数据IN循环移位N位后,送到由OUT指定的双字存储单元。
在语句表中,字循环移位指令的指令格式如下。
双字循环左移指令:RLD OUT,N
双字循环右移指令:RRD OUT,N
3.移位寄存器指令SHRB(Shift Register Bit)
在梯形图中,移位寄存器以功能框的形式编程,指令名称为:SHRB。它有3个数据输入端:
DATA为移位寄存器的数据输入端;
S_BIT为组成移位寄存器的最低位;
N为移位寄存器的长度。
移位寄存器的特点如下。
·移位寄存器的数据类型无字节型、字型、双字型之分,移位寄存器的长度N(≤64)由程序指定。
·移位寄存器的组成:
最低位为S_BIT;
最高位的计算方法为MSB=(I︱N︱-l+(S BIT的位号))/8;
最高位的字节号:MSB的商+S_BIT的字节号;
最高位的位号: MSB的余数。
移位寄存器的组成:V33.4~V33.7,V34.0~V34.7,V35.0,V35.1,共l4位。
·N>0时,为正向移位,即从最低位向最高位移位。
·N<0时,为反向移位,即从最高位向最低位移位。
·移位寄存器指令的功能是:当允许输入端EN有效时,如果N>0,则在每个EN的前沿,将数据输入DATA的状态移入移位寄存器的最低位S_BIT;如果N<0,则在每个EN的前沿,将数据输入DATA的状态移入移位寄存器的最高位,移位寄存器的其他位按照Ⅳ指定的方向(正向或反向),依次串行移位。
·移位寄存器的移出端与SM1.1(溢出)连接。
移位寄存器指令影响的特殊继电器:SM1.0(零),当移位操作结果为0时,SM1.0自动置位;SM1.1(溢出)的状态由每次移出位的状态决定。
影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址),o091 (操作数超界),0092(计数区错误)。
展开阅读全文