不知道你通讯用的什么协议,也就不清楚你的数据格式,无从回答你的问题。
如果是
modbusRTU协议的话:
1 协议规定保持寄存器是32位的Word类型数据,不是VB,而是VW。如果你定义了MBUS_INIT的HoldStart是&VB100的话,那么6个保持寄存器连续排列就是VW100、VW102、VW104、VW106、VW108、VW110,你用16功能码写的6个数据就是按这个顺序保持到上述6个字内存中,而不是字内存VB。
2 结束符?用库不是比较简单么?反正266大把内存可用。
3 如果用VB分开写保持寄存器,只要用写单个寄存器功能码06就可以了,不要用16功能码多写。
比如往12号地址的PLC写你说的分割数据用到6次写指令:
0C 06 00 0A 00 0A 28 D2
0C 06 00 0F 00 14 B8 DB
0C 06 00 14 00 1E 48 DB
0C 06 00 19 00 28 59 0E
0C 06 00 1E 00 32 69 04
0C 06 00 23 00 3C 79 0C
....既然是自己写的程序,何必分隔开来?