[西门子] 西门子 200smart传送指令

[复制链接]
查看126 | 回复0 | 2024-7-10 19:46:43 | 显示全部楼层 |阅读模式
>
​传送指令包括:传送字节(MOV_B)、传送字(MOV_W)、传送双字(MOV_DW)、传送实数(浮点数)(MOV_R)、交换字节指令(SWAP)、字节立即读取指令(MOV_BIR)、传送字节立即写入指令(MOV_BIW)。

块传送指令包括:字节块传送(BLKMOV_B)、字块传送(BLKMOV_W)、双字块传送(BLKMOV_D)

传送指令将字节、字、双字或实数数据(常数或者变量)从输入参数“IN”(源地址)拷贝到输出参数“OUT”(目标地址),源地址的数据保持不变。





传送数据范围:字节的传送是无符号整数(0-255)、字的传送是字和有符号整数(-32768-32767)、双字的传送是双字和有符号双整数(很大)、实数的传送是实数。输入和输出的数据类型要保持一致,否则会提示错误,程序编译会无法通过。


传送指令IN端可以是常数也可以是地址,OUT端只能填写地址。



传送指令常用于对存储单元的清零或者程序的初始化等,例如对计数器,数据存储器单元清零操作。


SM0.1传送1次,SM0.0每个扫描周期都传送。


块传送指令:

字节块传送、字块传送、双字块传送从源存储单元(起始数据地址IN和连续指定的地址数目N)传送到新的存储单元(起始地址OUT和连续指定的地址数目N),源单元的数据值保持不变。N的取值范围为1到255。

​以上指令的含义是:

BLKMOV_B:字节块传送,将VB0开始的100个字节传送到VB100开始的100个字节地址中(VB0到VB99一一对应复制给VB100到VB199),而VB0到 VB99中的数据保持不变。


BLKMOV_W:字块传送,将VW0开始的100个字传送到VW100开始的10个字地址中(VW0到VW8一一对应复制给VW100到VW108),而VW0到 VW8中的数据保持不变。


BLKMOV_D:双字块传送,将VD100开始的10个双字传送到VD500开始的10个双字地址中(VD100到VD116一一对应复制给VD500到VD516),而VD100到 VD116中的数据保持不变。



字节交换指令:
字节交换指令将交换字IN的高位和低位进行交换,一般用在和上位机通信数据格式处理场合中。


如下例所示,字地址VW0包括VB0和VB1,



交换前VW0为:1010 1111 0101 1100

                                VB1              VB0
交换后VW0为:0101 1100 1010 1111
                           VB0             VB1




​移动字节立即读取指令:
​传送字节立即写入指令:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则