用VB2010连接OPCServer时AddItems出错 点击:1086 | 回复:2



chailyuan

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 5回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2013年4月11日
发表于:2014-05-26 23:23:05
楼主

Const ServerName = "RSLinx OPC Server"              'OPC的类型

   Const NodeName = "agri-PC"                              '结点名,即计算机名

   Dim WithEvents MyOPCServer As OPCServer             'OPC服务

   Dim MyOPCGroups As OPCGroups

   Dim WithEvents MyOPCGroup As OPCGroup               'OPC组

   Dim MyOPCItems As OPCItems                          'OPC标签组

   Dim ServerHandles() As Long                         '句柄

   Dim Errors() As Long                                '错误句柄

   Dim DataItem(100) As String                         '记录OPC的标签

   Dim DataValue(100) As Object                       '存放OPC的标签的值

   Private Sub OPCServerConnect()

       '我们DataItem中加入相应的标签名,注意:这两个数组必须由1开始,不能由0开始。

       '配置好标签后就要进行OPC连接了。

       Dim ItemNum As Integer                      '标签个数

       Dim ClientHandles1(100) As Long             '先配置名柄索引,这将在读取OPC标签的值时可要用到



       On Error GoTo HANDLEERROR

       '生成OPC对象

       MyOPCServer = New OPCServer

       MyOPCServer.Connect(ServerName, NodeName)

       MyOPCGroups = MyOPCServer.OPCGroups

       MyOPCGroups.DefaultGroupIsActive = True

       MyOPCGroup = MyOPCGroups.Add("MYGROUP")

       MyOPCItems = MyOPCGroup.OPCItems



       ItemNum = 2         'OPC标签个数,如果标签数量很多,可以考虑采用数据库方式

       DataItem(1) = "[bit]N7:0,L1,C1"
       DataItem(2) = "[bit]O:0.0,L1,C1"

       '进行OPC标签连接

       '对OPC的写可以有同步与异步之分,对于大量的数据传输,异步是更佳的选择,但对少量的数据传输,同步表现得更好。

       If ItemNum > 0 Then

          MyOPCItems.AddItems(ItemNum, DataItem, ClientHandles1, ServerHandles, Errors)

            MyOPCGroup.IsSubscribed = True

       End If
在AddItems这一行,编译可以通过, 运行显示如下错误信息:
“System.Runtime.InteropServices.SafeArrayTypeMismatchException”类型的未经处理的异常出现在 WindowsApplication1.exe 中。


其他信息: 指定的数组不属于需要的类型。




请问,该怎么解决啊




chailyuan

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 5回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2013年4月11日
发表于:2014-05-27 09:11:41
1楼

没有能帮我的么,大神哪里去了

工作热爱者

  • 精华:0帖
  • 求助:0帖
  • 帖子:42帖 | 177回
  • 年度积分:4
  • 历史总积分:837
  • 注册:2005年12月11日
发表于:2016-07-12 23:34:29
2楼

解决了吗,我也想知道


热门招聘
相关主题

官方公众号

智造工程师