关于OPC客户端VB开发问题

想用VB走OPC读取wincc的数据,数据量很大,用异步通信方式,现在的问题是在服务器中建立2个及以上的组的时候,异步读取的相关回调事件,只认我第一个添加的group。也就是说当我把MyGroup指向Item(2)的时候,他的回调事件不执行。请问怎么破。

问题补充:
感谢城班回答,你可能是没有理解我的意思,我用OPCGroups.add,添加两个组,比如分别叫group1和2。但是只有group1的事件脚本执行,group2的事件不执行。两个组属性一样。我猜可能是一个组集合中,只能有一个事件组,所以第二个组的事件不执行。

最佳答案

将你的相关代码补发上来。
下面的代码是从网上拷贝的:

''异步读回调
Private Sub GroupObj_AsyncReadComplete(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date, Errors() As Long)
    Dim ErrorString As String
    
    If (TransactionID = READASYNC_ID) Then
        If Errors(1) = 0 Then
            Edit_ReadVal = ItemValues(1)
            Edit_ReadQu = GetQualityText(Qualities(1))
            Edit_ReadTS = TimeStamps(1)
        Else
            ErrorString = ServerObj.GetErrorString(Errors(1))
            MsgBox ErrorString, vbCritical, "Error AsyncReadComplete()"
        End If
    End If
End Sub

简单点的:
Private Sub objTestGrp_AsyncReadComplete( _
    ByVal TransactionID As Long, ByVal NumItems As Long, _
    ClientHandles() As Long, ItemValues() As Variant, _
    Qualities() As Long, TimeStamps() As Date, Errors() As Long)
    
    Dim i As Integer
    Dim Index As Integer

    For i = 1 To NumItems
        '' 得到客户标识符
        Index = ClientHandles(i)
        '' 表示数据字符串
        txtTag(Index).Text = ItemValues(i)
    Next i
End Sub

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • 运行SCADA系统系统环境和硬件要求

    我想开发基于PC单站的SCADA系统,请问PC机的Windows版本是Windows Embedded standard Service P…

    2021年7月5日
  • wincc变量赋值问题

    wincc能在画面中通过按钮给现场PLC的Q点I点赋值吗?我在按钮中直接变量连接之后那边收不到我这边置零置1的信号,通过DB块的中间变量也不行。是要写脚本吗?该如何写?请各位前辈多…

    SIMATIC WinCC 2020年11月1日
  • wincc怎么制作表格

    请教下,我想在wincc界面制作一个表格,显示比如说学生成绩单那种的表格,可以修改数据,没有现成的编辑器吗?我现在的做法是用输入输出域拼成一个表格,还有更好的做法吗?谢谢 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • WINCC 画面中BMP图片不显示

    在WINCC 7.0 SP1 下拷了个工程 在自己电脑上(7.0 SP3版本)打开 编辑画面显示正常的 &nb…

    SIMATIC WinCC 2018年12月3日
  • IE訪問wincc客戶機

    我做了一個分佈式系統項目,在客戶機裏面加載了四個wincc服務器,運行客戶機時四個wincc服務器的項目都可以正常顯示在客戶機中,當我把客戶機的webnavigator組態好,通過…

    SIMATIC WinCC 2021年7月5日
  • 找不到许可证

    我之前使用正常,后来不知怎么回事,开始出现找不到许可证的情况! 图片说明:       最佳答案 1、你用授权管理软件看看授权是不是还在你的…

    2017年6月7日
  • wincc如何通过脚本永久修改组合框的文本

    组合框默认配置了10条文本,现在想通过脚本,可以修改其中某条文本内容,直接给组合框的index和text赋值,虽然当时显示被修改了,但退出重进画面,又回到了初始配置的文本,如何做才…

    SIMATIC WinCC 2020年11月1日
  • wincc传送采集值的问题

    大家好,小弟现在做的一个项目,程序都在s7200里面做了,采集的数值时通过s7200的模拟量,但现在发现进Plc的值不准确,采集重量的值要在上位机Modbus采集了,我想问下,可以…

    SIMATIC WinCC 2019年6月11日
  • wincc modbus tcp网桥连接

    各位大神,领导要求使用S7-200smart和wincc通过以太网组网,因为暂时没到货。我临时用wincc7.4的modbus TCP 连接网桥转控制模块,一直…

    2021年7月5日
  • 在网络视图中WinCC RT Prof为什么显示未连接/且无法修改?

    在网络视图中WinCC RT Prof为什么显示未连接/且无法修改?A: 与多用户的客户机项目直接拖拽即可建立 服务器/客户机关系,故单机项…

    2021年7月5日

发表回复

登录后才能评论