找回密码
 注册

QQ登录

只需一步,快速开始

搜索

VB通过OPC读取iFIX数据

[复制链接]
z494627 发表于 2017-7-6 07:52:50 | 显示全部楼层 |阅读模式
  • 引用OPCAutomation,见附件
  • 声明变量
Private WithEvents MyOpcServer As OPCServer
Private WithEvents ConnectedGroup As OPCGroup
Dim OPCItemCollection As OPCItems
Dim ItemCount As Long
Dim OPCItemIDs(10) As String
Dim ItemServerHandles() As Long
Dim ItemServerErrors() As Long
Dim ClientHandles(10) As Long   3.连接服务器
   Private Sub Command2_Click()
On Error GoTo Err:

    '做VB程序时,若不知道IFIX的OPC 服务器OPC连接名称,可以用OPC标准客户端先采集一下IFIX服务器
    'OPC标准客户端标题即是IFIX的OPC 服务器OPC连接名称。其他OPC服务器名称都可用此方法读出。

    Dim ProgID As String, ServerName As String

    ProgID = "Intellution.OPCEDA" 'ProgID 由OPC Server 所规定"   
    ServerName = "mycomputername" 'OPCServer 的计算机名称

    Set MyOpcServer = New OPCServer '创建新的OPCServer 实体
    MyOpcServer.Connect ProgID, ServerName '用Connect 方法连接OPC服务器,如果连接不成功将会出错,程序中在这里还应该增加容错处理
    Set ConnectedGroup = MyOpcServer.OPCGroups.Add("Group tow") '创建新的OPCGroup 的实体,名称随意

    ConnectedGroup.UpdateRate = 500
    ConnectedGroup.IsSubscribed = True

    Set OPCItemCollection = ConnectedGroup.OPCItems
    OPCItemCollection.DefaultIsActive = True

    ItemCount = 2
    OPCItemIDs(1) = "THISNODE.IFIX1_H2O_LITST0901.F_CV" '设定所访问的OPC 服务器上的变量名称(这个是iFIX演示系统标签的数据源)
    ClientHandles(1) = 1 '设定OPC 客户端的句柄

    OPCItemIDs(2) = "THISNODE.IFIX1_H2O_LITST0902.F_CV" '设定所访问的OPC 服务器上的变量名称(这个是iFIX演示系统标签的数据源)
    ClientHandles(2) = 2

    OPCItemCollection.AddItems ItemCount, OPCItemIDs, ClientHandles, ItemServerHandles, ItemServerErrors

    Exit Sub
Err:
    MsgBox Err.Description
    Exit Sub
End Sub
  4.获取数据,使用Debug.Print打印出来
  Private Sub ConnectedGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)

        For i = 1 To NumItems
            Debug.Print Str(ClientHandles(i)) + "--" + Str(ItemValues(i)) + ":" + Str(TimeStamps(i)) + ":" + Str(Qualities(i))
    Next i

End Sub
opcdaauto.zip (101.87 KB, 售价: 1 E币)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-11-22 07:30

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表