组态EM277发现最多只有16Byte buffer I/O,而64 Byte或者32 Word的类型只能保证字节或字数据的一致性。
我通信的数据比较多,因此用了如下结构体:
TYPE "CommType" //通信协议数据类型 64Byte
STRUCT
Exec: BOOL; //响应标记 FALSE:未响应(上位机写入) TRUE:已响应(下位机写入)
ReqType: BOOL; //请求类型 FALSE:读 TRUE:写
AddrType: BYTE; //地址类型 0:M区 1:V区 2:I区
Addr: WORD; //地址编号
Size: WORD; //字节数
Data: ARRAY[0..57] OF BYTE; //数据
END_STRUCT
END_TYPE
如果一致性得不到保证,通信就完全错误了。。。如果用16字节缓冲区,那么我实际能够用于传输数据的Data只剩10Byte,效率低,程序也麻烦多了。
不知道对于这种能不能用SFC14、SFC15来保证数据一致性?