4楼程序是将二个带符号字节数放地址相连接的高低二个字节中,转换的字仍保持原二个字节数的原值,用于传递数据用。如果要将二个带符号的字节数"MB1"变为转换后的字的高字节值,即相当左移8位,"MB2"变为换后的字的低字节值,二数相加,即:以十进制说明:
MB1 MB2 VW1(和成为字值)
+25 +32 +2532 (即:25 * 100 + 32 =2532)
-13 -45 -1345 (即:-13 * 100 - 45 =-1345)
+25 -32 +2468 (即:25 * 100 - 32 =2468)
-13 +32 -1268 (即:-13 * 100 + 32 =-1268)
以上述转换原则,编编写的梯形图如下:
1、主程序:
2、子程序:
首先这个对这个题目有一点疑问。就是“要求将两个字节转换成单字,同时带符号位”如果是将2个字节合并成一个单字,那么第一个字节如果为符号位,那么到单字里自动也是最高位了,也是符号位了。感觉强调带符号位没有必要。
矩形科技的V80PLC有PACK指令为单字的拆分和组合,即可以将一个单字拆分成2个字节或者让2个字节组合成一个单字。应该直接可以调用即可。当然如果是要求自定义功能块则是另外一种写法了。