案例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 IBOUT 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 。
I N 和 0UT 的寻址范围如下表所示。
操作数类 型 寻址范围 INREAL VD ,ID ,QD ,MD ,SMD ,LD ,AC ,HC ,*VD ,*AC ,*LD 和常数 0UT REAL VD ,ID ,QD ,MD ,SMD ,LD ,AC ,4VD ,*AC ,*LD2.块传送指令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 INBYTE VB ,Ⅲ,QB ,Ⅷ,SMB ,LB ,AC ,HC ,*VD ,*AC ,*LD OUTBYTE VB ,IB ,QB ,MB ,SMB ,LB ,AC ,HC ,*VD ,*AC ,*LD NBYTE VB ,IB ,QB ,MB ,SMB ,LB ,AC ,*VD ,*AC .*LD BMW INWORD VW ,IW ,QW ,MW ,SMW ,LW ,AIW ,T ,C ,AQW ,AC ,HC ,*VD ,*AC .*LD OUTWORD NBYTB VB ,IB ,QB ,MB ,SMB ,LB ,AC ,*WD ,*AC .*LD BMD INDWORD VD ,ID ,QD ,MD ,SMD ,SD ,LD ,AC ,HC ,*VD ,*AC .*LD OUTDWORD NBYTE 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。