这个是语法错误吗
刘玉蓉
发布于2014-11-04 17:56
128
0
标签:
STEP7 V5.4软件,用梯形图编程,我有个DWORD数据能否用MOVE指令直接赋值到WORD吗?例如把MD54 MOVE到 MW64,这样是语法错误吗?
佳答案
首先肯定语法是没有错误的,梯形图(LAD)的传送指令—赋值指令MOVE中,IN(源值)和OUT(目标地址)的数据类型只要是8、16、32位的基本数据类型就可以了,存储区为I、Q、M、L、D或常数。MOVE指令只能复制字节、字或双字数据对象。
其次,你用MOVE指令将某个值传送给不同长度的数据类型时,会根据需要将高字节截断或以0填充高位字节。举例如下:
把双字(DW)通过MOVE指令分别赋值到双字(DW)、字(W)和字节(B),其结果如下:
被传送的双字(DW)为:1111 1111 0000 1111 1111 000 0101 0101
传送结果到双字(DW):1111 1111 0000 1111 1111 000 0101 0101
传送结果到字(W) : 1111 000 0101 0101
传送结果到字节(B) : 0101 0101
又如把字节(B)通过MOVE指令分别赋值到字节(B)、字(W)和双字(DW),其结果如下:
被传送的字节(字): 1111 0000
传送结果到字节(B): 1111 0000
传送结果到字(W): 0000 0000 1111 0000
传送结果到双字(DW): 0000 0000 0000 0000 0000 0000 1111 0000