這個是語法錯誤嗎
劉玉蓉
發(fā)布于2014-11-04 17:56
128
0
標簽:
STEP7 V5.4軟件,用梯形圖編程,我有個DWORD數(shù)據(jù)能否用MOVE指令直接賦值到WORD嗎?例如把MD54 MOVE到 MW64,這樣是語法錯誤嗎?
佳答案
首先肯定語法是沒有錯誤的,梯形圖(LAD)的傳送指令—賦值指令MOVE中,IN(源值)和OUT(目標地址)的數(shù)據(jù)類型只要是8、16、32位的基本數(shù)據(jù)類型就可以了,存儲區(qū)為I、Q、M、L、D或常數(shù)。MOVE指令只能復制字節(jié)、字或雙字數(shù)據(jù)對象。
其次,你用MOVE指令將某個值傳送給不同長度的數(shù)據(jù)類型時,會根據(jù)需要將高字節(jié)截斷或以0填充高位字節(jié)。舉例如下:
把雙字(DW)通過MOVE指令分別賦值到雙字(DW)、字(W)和字節(jié)(B),其結(jié)果如下:
被傳送的雙字(DW)為:1111 1111 0000 1111 1111 000 0101 0101
傳送結(jié)果到雙字(DW):1111 1111 0000 1111 1111 000 0101 0101
傳送結(jié)果到字(W) : 1111 000 0101 0101
傳送結(jié)果到字節(jié)(B) : 0101 0101
又如把字節(jié)(B)通過MOVE指令分別賦值到字節(jié)(B)、字(W)和雙字(DW),其結(jié)果如下:
被傳送的字節(jié)(字): 1111 0000
傳送結(jié)果到字節(jié)(B): 1111 0000
傳送結(jié)果到字(W): 0000 0000 1111 0000
傳送結(jié)果到雙字(DW): 0000 0000 0000 0000 0000 0000 1111 0000