最近在现场调试发现一奇怪问题,
用VC6 调用三菱Act控件访问Q系列PLC(ActQJ71E71TCP)
程序中开了个线程,调用读写命令读取PLC数据,如下:
lRet1=Act.ReadDeviceBlock("D1",10,&Data1);
lRet2=Act.ReadDeviceBlock("D11",10,&Data2);
--------
以前同样程序一直没有问题,最近突然随机性出现错误,
中断后调试看到的现象是:
1. lRet1报错: Timeout Error; 原来使用的是系统默认值:1000ms
2. 读出来的数据错位,Data2中是原本应该在Data1中的数据;就象是第一条读的指令的返回结果被送给了第二条指令.
不知道有没有碰到过类似问题, 一起讨论一下.