以下是引用手机用户20171017757508在2019-03-09 19:40:16的发言 >楼主:
硬件配置:1214C + RS232模块。
主机与第三方设备通信,走的是点到点 无协议通信,用的是SEND_PTP 和RCV_PTP指令,因为发送的数据长度比较短,所以没有发现什么问题, 但是 接收的数据长度是以16进制表示的135个字节。接收区的地址用的的没有优化的全局数据块,在这个接收数据块里面建立了一个接收变量,变量的数据类型分别试过以下类型: 字、双字、字符串、char、字数组、双字数组、char数组,
问题是:用串口调试软件给PLC发送135个字节的数据时, 监视数据接收块的内容,只能显示43个字节,接收区地址的长度肯定是够的,比如接收区变量地址是100个字类型的数组, 理论上应该可以接收200个字节。但实际情况是:43个字节写入 字[0]---字[22] ,其中 字[22]里面只有一个字节数据。 接着第44---87个字节数据又把 字[0]---字[22] 里面的内容覆盖了,却没有向 字[23]---[44] 里面写。后面的数据也是一样重复向 字[0]---字[22] 里面写数据。 接收区地址明明是够大的,为什么总是在接收43个字节后 不是接着向后面的地址里写入而是 又从头开始写入?