现在工控机做上位机,使用VB编程,PLC使用200smart。两者通过modbus-RTU与PLC的串口进行通讯。
好不容易把读PLC数据的程序写完了,然后发现给PLC写数据有很大局限性。
查手册发现只能给Q输出线圈和V保持寄存器写值。之前习惯是PLC里通过多个M0.0、M0.1这种互相配合,来控制1个Q的输出。但是RTU没法直接写入M值,我就想用V0.0来代替一下,但是写值到保存寄存器里是直接写入一个字的,一个字16位,可以有16个V0.0,但是只想写入其中某一个位而不改变其他的位,是没办法直接做到的。总不能先读一遍然后再写吧,这样很影响效率。再换个方式,如果把这1个字里只使用一个位其他不用,又太浪费了。
想请教下大佬们用工控机和smart通讯都是咋做的,可否指点下?