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幣)
2017-7-6 07:49 上傳
點擊文件名下載附件
OPCAutomation
售價: 1 E幣 [記錄]
[ 購買]
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|