S7 1200 的I Q 间接寻址

CPU1214本身带9个输出, 接上一个8路输出模块, 共计17路。(实际项目中比此多很多点数, 此处只为举例)。
上位机发送数据,控制17个点的输出。 发送三个字节,第一个字节为前8路,第二个字节为9~16路, 第三个字节的bit0为第17路。
问题: 因CPU1214只存在Q1.0  Q1.1~Q1.7是不存在的, 
     所以无法通过字节移动将上位机的第二个字节直接复制到QB1中。
     只能采用位操作的办法,将上位机数据挪过去。
不知各位有什么好办法。 
我目前的想法是:  将上位机的三个字节进行位数组覆盖(AT指令),这样就可以对上位机字节数据在for循环里进行间接位操作了。
但是关于Q输出,好像不能进行覆盖,  查了查,有POKE_BOOL指令,可以对Q进行类似操作。
请问各位专家有其他的好办法可以实现我的要求吗?

最佳答案

可以直接复制的啊。将上位机数据传送到QW0中。POKE_BOOL指令是不错的选择。

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc185049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月29日
下一篇 2017年6月29日

相关推荐