三菱Act控件访问PLC以太网的奇怪问题 点击:1042 | 回复:2



剑拔弩张

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 59回
  • 年度积分:0
  • 历史总积分:308
  • 注册:2001年4月25日
发表于:2011-07-23 00:56:39
楼主

最近在现场调试发现一奇怪问题,

用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中的数据;就象是第一条读的指令的返回结果被送给了第二条指令.

 

不知道有没有碰到过类似问题,  一起讨论一下.

 




john_姜

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 59回
  • 年度积分:0
  • 历史总积分:230
  • 注册:2007年3月22日
发表于:2011-08-09 13:37:48
1楼
我用C#开了个线程和三菱FX2N通讯ReadDeviceBlock("D1",10,out Data1[0]);  
只能读到第一个数据

剑拔弩张

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 59回
  • 年度积分:0
  • 历史总积分:308
  • 注册:2001年4月25日
发表于:2011-08-15 15:46:04
2楼

试试

ReadDeviceBlock("D1",10,&out Data1);


热门招聘
相关主题

官方公众号

智造工程师