1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| Dim ItemCount As Long
Dim PropertyIDs() As Array
Dim Data() As Array
Dim Errors() As Array
Dim OPCItemID As String
ConnectedOPCServer = New OPCAutomation.OPCServerClass()
If cbbServerList.Text <> "" Then
Try
ConnectedOPCServer.Connect("Schneider-Aut.OFS.2")
'Set property for Group connection
ConnectedOPCServer.OPCGroups.DefaultGroupIsActive = True
ConnectedOPCServer.OPCGroups.DefaultGroupDeadband = 0
'Add group
ConnectedGroup = ConnectedOPCServer.OPCGroups.Add()
ConnectedGroup.UpdateRate = 3 * 1000
ConnectedGroup.IsSubscribed = True
'Browser
OpcBrowser = ConnectedOPCServer.CreateBrowser()
' Le nom de l'alias du serveur OPC je l'ai mis en dur
OpcBrowser.GetItemID("Alias1")
OpcBrowser.MoveDown("Alias1")
OpcBrowser.ShowLeafs()
For i = 1 To OpcBrowser.Count
ListBox.Items.Add(OpcBrowser.Item(i))
' ICI CA FONCTIONNE MAIS PAS EN WINDEV
OPCItemID = ConnectedGroup.OPCItems.AddItem("Alias1!" + OpcBrowser.Item(i), 1).ItemID
' ICI C'EST LA FONCTION QUI NE FONCTIONNE PAS COMME EN WINDEV, JE VAIS DIRECTEMENT DANS L'EXCEPTION AVEC LE MESSAGE NOTE PLUS HAT
ConnectedOPCServer.GetItemProperties(OPCItemID, ItemCount, PropertyIDs, Data, Errors)
For u = 1 To ItemCount
'AnOPCTextString = Str(PropertyIDs(i)) + " " + Data(i)
'ListBox.Items.Add(AnOPCTextString)
Next
System.Threading.Thread.Sleep(1)
Next
'Add items
'GlobalOPCItems(0) = ConnectedGroup.OPCItems.AddItem("MP_GARE!MPG_Debit_T702", 1)
'GlobalOPCItems(1) = ConnectedGroup.OPCItems.AddItem("MP_GARE!MPG_StockSilo[3].NH", 1)
'GlobalOPCItems(2) = ConnectedGroup.OPCItems.AddItem("Reader_Device.CardNO", 2)
MessageBox.Show("connecté", "opc", MessageBoxButtons.OK)
Catch ex As Exception
MessageBox.Show(ConnectedOPCServer.GetErrorString(ex.HResult), "OPCSample", MessageBoxButtons.OK)
End Try
End If |
Partager