博图中,有没有将一个32位的Dint的高16和低16位字节交换的命令(不是SWAP指令,SWAP好像只支持word类型数据,而且看帮助是4个字节都交换了)。
用move的方式,好像和STEP7里不太一样,如建立DB10.DBD0的DINT的数据,无法分别move到DBW0和DBW2中。
另外,从moudbus读取回来的数据是有符号32位和无符号32位,S7-1200中应该分别建立哪种数据类型?
最佳答案
300400里面有个双子循环移位指令,直接移位16位就可以了
可是我看看1200里面的循环移位只是支持word
还是得用SWAP,SWAP指令支持双字的,不过可能需要先双字交换,然后再字交换就行了
看指令说明如图
图片说明:
3763401860621a43249f53c09DA72f88
提问者对于答案的评价:
看来我对SWAP的指令没有理解清楚。同样谢谢其他回答的朋友。
专家置评
已阅,最佳答案正确。