首页 理论教育 移动和移位指令详解

移动和移位指令详解

时间:2023-06-29 理论教育 版权反馈
【摘要】:移位指令可实现移位、移位输出两种不同的操作。图3.3-10 移位指令的编程格式执行移位指令时,数据被移出后的“空位”将自动成为状态0,最后移出位的状态被保存在系统特殊标志SM1.1上。移位指令中的移动位数N一般不应超过存储器本身的数据长度,如超过,则PLC将自动进行“取余”处理。

移动和移位指令详解

1.移动指令

移动指令是将某一存储器中的数据(源数据)移动到另一存储器(目标存储器)的操作。802S/C/D、808D/828D集成S7-200 PLC一般只能使用字节(B)、字(W)、双字(DW)和实数(R)移动指令,而不能使用S7-200通用PLC的数据块移动指令BLKMOV和直接输入移动指令MOV_BIR、直接输出移动指令MOV_BIW。

数据移动指令的梯形图编程格式如图3.3-9所示。进行字节(B)、字(W)、双字(DW)和实数(R)移动的指令分别为MOV_B、MOV_W、MOV_DW和MOV_R。指令框中的IN为源数据,它可以是存储器地址二进制十进制十六进制常数,OUT为目标存储器地址。

978-7-111-50291-3-Chapter03-36.jpg

图3.3-8 比较指令应用例

978-7-111-50291-3-Chapter03-37.jpg

图3.3-9 移动指令的编程格式

2.移位指令

移位指令是对存储器的数据位进行的移动操作,802S/C/D、808D/828D集成S7-200PLC一般只能进行字节(B)、字(W)、双字(DW)存储器的左或右移位,而不能使用S7-200通用PLC的循环移位指令ROL、寄存器移位指令SHRB。(www.xing528.com)

移位指令的梯形图编程格式如图3.3-10所示。指令代码中的前缀SHL为左移,SHR为右移,后缀的B为字节、W为字、WD为双字,IN为需要移位的存储器输入地址,OUT为结果存储器地址,N为移位位数(常数)。

移位指令可实现移位、移位输出两种不同的操作。在图3.3-10a所示的程序中,结果存储器输出地址OUT和移位存储器输入地址IN相同,因此,将对存储器MB10进行移位操作,其状态被改变。在图3.3-10b所示的程序中,结果存储器输出地址OUT和移位存储器输入地址IN不同,因此,对存储器MB10移位后的结果将输出到MB20上,而MB10保持移位前的状态不变。

978-7-111-50291-3-Chapter03-38.jpg

图3.3-10 移位指令的编程格式

执行移位指令时,数据被移出后的“空位”将自动成为状态0,最后移出位的状态被保存在系统特殊标志SM1.1上。

移位指令中的移动位数N一般不应超过存储器本身的数据长度,如超过,则PLC将自动进行“取余”处理。例如,当字节移位指令MOV_B的移位位数输入N为12时,实际移位的位数为4(12除以8,取余数4)。当移位位数输入N为0时,不执行移位操作,系统特殊标志SM1.0将输出1。

3.字节交换指令

字节交换指令SWAP的作用相当于8位循环移位指令,执行指令可将输入存储器IN的高8位和低8位状态进行互换。SWAP指令的编程格式如图3.3-11所示,输入IN的长度应为16位。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈