关于RSLinx OPC批量读写问题(初来者没有分见谅) 点击:992 | 回复:6



leayh

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2009年6月24日
发表于:2012-04-27 08:18:59
楼主

各位有没有做过AB PLCOPC数据通讯软件?我现在使用RSLinx来组态AB PLCOPC服务,使用c#来编写界面数据采集软件,动态链接库是RsiOPCAuto.dll。但使用批量读功能SyncRead函数时,总是提示出错,单个读写又没什么问题,特来请教这方面的高手。

 

 

            grp = grps.Item("ReadParaS1");

            int counts = grp.OPCItems.Count;

            Array svHandles = Array.CreateInstance(typeof(Int32), grp.OPCItems.Count);

            Array er = Array.CreateInstance(typeof(Int32), counts);

            Array v = Array.CreateInstance(typeof(object), counts);

            object q = new object(), t = new object();

           

            Int32 hd;

            for (int i = 0; i < counts; ++i)

            {

                hd = (Int32)grp.OPCItems.Item(opcPrefix + readParaPrefix + "1【" + i.ToString() + "】").ServerHandle;

                svHandles.SetValue(hd, i);

            }

            //在这一行出错,提示值不在预期的范围内

            grp.SyncRead((short)RsiOPCAuto.OPCDataSource.OPCCache, counts, ref svHandles, out v, out er, out q, out t);



楼主最近还看过



花木兰-骑士军团

  • 精华:1帖
  • 求助:17帖
  • 帖子:58帖 | 2123回
  • 年度积分:0
  • 历史总积分:3884
  • 注册:2012年2月16日
发表于:2012-04-27 10:06:51
1楼
这个问题以前搞通讯的时候遇见过,有可能是数据类型的问题

花木兰-骑士军团

  • 精华:1帖
  • 求助:17帖
  • 帖子:58帖 | 2123回
  • 年度积分:0
  • 历史总积分:3884
  • 注册:2012年2月16日
发表于:2012-04-27 10:25:52
2楼
此外还要注意TAG名,这个不一致的话也会出现这个问题

leayh

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2009年6月24日
发表于:2012-04-27 11:14:43
3楼
Tag名肯定是一致的,单个读写没问题。能不能提供详细一点的帮助呢?

花木兰-骑士军团

  • 精华:1帖
  • 求助:17帖
  • 帖子:58帖 | 2123回
  • 年度积分:0
  • 历史总积分:3884
  • 注册:2012年2月16日
发表于:2012-04-27 23:05:53
4楼
数据类型一致吗,楼主

leayh

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2009年6月24日
发表于:2012-04-28 11:44:32
5楼
楼上的,就是不知道数据类型是否一致啊。但可以确定的是,这个SyncRead的前三个参数是没问题的。

迈思德

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 176回
  • 年度积分:0
  • 历史总积分:676
  • 注册:2011年3月17日
发表于:2012-06-07 23:00:30
6楼

免费提供OPC服务器开发工具256点。详见http://blog.sina.com.cn/s/blog_75a310880100zxy3.html

南京迈思德电气自动化有限公司自主开发的OPCDA TOOLKIT 256点免费发布。



热门招聘
相关主题

官方公众号

智造工程师