国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標(biāo)題: VB通過(guò)OPC讀取iFIX數(shù)據(jù) [打印本頁(yè)]

作者: z494627    時(shí)間: 2017-7-6 07:52
標(biāo)題: VB通過(guò)OPC讀取iFIX數(shù)據(jù)
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.連接服務(wù)器
   Private Sub Command2_Click()
On Error GoTo Err:

    '做VB程序時(shí),若不知道IFIX的OPC 服務(wù)器OPC連接名稱,可以用OPC標(biāo)準(zhǔn)客戶端先采集一下IFIX服務(wù)器
    'OPC標(biāo)準(zhǔn)客戶端標(biāo)題即是IFIX的OPC 服務(wù)器OPC連接名稱。其他OPC服務(wù)器名稱都可用此方法讀出。

    Dim ProgID As String, ServerName As String

    ProgID = "Intellution.OPCEDA" 'ProgID 由OPC Server 所規(guī)定"   
    ServerName = "mycomputername" 'OPCServer 的計(jì)算機(jī)名稱

    Set MyOpcServer = New OPCServer '創(chuàng)建新的OPCServer 實(shí)體
    MyOpcServer.Connect ProgID, ServerName '用Connect 方法連接OPC服務(wù)器,如果連接不成功將會(huì)出錯(cuò),程序中在這里還應(yīng)該增加容錯(cuò)處理
    Set ConnectedGroup = MyOpcServer.OPCGroups.Add("Group tow") '創(chuàng)建新的OPCGroup 的實(shí)體,名稱隨意

    ConnectedGroup.UpdateRate = 500
    ConnectedGroup.IsSubscribed = True

    Set OPCItemCollection = ConnectedGroup.OPCItems
    OPCItemCollection.DefaultIsActive = True

    ItemCount = 2
    OPCItemIDs(1) = "THISNODE.IFIX1_H2O_LITST0901.F_CV" '設(shè)定所訪問(wèn)的OPC 服務(wù)器上的變量名稱(這個(gè)是iFIX演示系統(tǒng)標(biāo)簽的數(shù)據(jù)源)
    ClientHandles(1) = 1 '設(shè)定OPC 客戶端的句柄

    OPCItemIDs(2) = "THISNODE.IFIX1_H2O_LITST0902.F_CV" '設(shè)定所訪問(wèn)的OPC 服務(wù)器上的變量名稱(這個(gè)是iFIX演示系統(tǒng)標(biāo)簽的數(shù)據(jù)源)
    ClientHandles(2) = 2

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

    Exit Sub
Err:
    MsgBox Err.Description
    Exit Sub
End Sub
  4.獲取數(shù)據(jù),使用Debug.Print打印出來(lái)
  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, 售價(jià): 1 E幣)




歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0