tets88
Messages postés24Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention21 janvier 2011
-
2 juin 2006 à 16:01
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
3 juin 2006 à 11:59
Bonjour,
J'utilise l'utilitaire OPC Server pour communiquer avec un automate.
Il se trouve que je suis confronté à un problème sur la ligne suivante :
tets88
Messages postés24Date d'inscriptionvendredi 19 mai 2006StatutMembreDernière intervention21 janvier 2011 2 juin 2006 à 16:40
Voici le code que j'utilise pour me connecter au server :
Const MAXITEMS = 300
'Déclaration des variables OPCServer
Dim OpcInterface As OPCServer
Dim OpcGroupData As OPCGroups
Dim MyGroup As OPCGroup
Dim OpcItemData As OPCItem
Dim ItemCollection As OPCItems
' Variable d'état du serveur OPC
Dim blnServerConnecter As Boolean
Dim lItemClientHandle(MAXITEMS) As Long
Dim vValue() As Variant
Dim sItem(MAXITEMS) As String
Dim lItemServerHandle() As Long
Dim lItemError() As Long
Dim lItemWriteClientHandle(MAXITEMS
<wbr>) As Long
Dim vWriteValue(MAXITEMS) As Variant
Dim sWriteItem(MAXITEMS) As String
Dim lWriteItemServerHandle(MAXITEMS<wbr>) As Long
Private Sub bt_connect_Click()
' Variable d'etat de la connectin du serveur
blnServerConnecter = True
' Connection au serveur OPC
Set OpcInterface = New OPCServer
OpcInterface.Connect ("CoDeSys.OPC.02")
CreateGroups
CreateItems
End Sub
Private Sub bt_disconnect_Click()
' Test si le serveur est connecter
If (blnServerConnecter = True) Then
' Variable d'etat de la connectin du serveur
blnServerConnecter = False
RemoveItems
RemoveGroups
' Déconnexion du serveur OPC
OpcInterface.Disconnect
Set OpcInterface = Nothing
End If
End Sub
'Creer groupes OPC
Public Sub CreateGroups()
Set OpcGroupData = OpcInterface.OPCGroups
Set MyGroup = OpcGroupData.Add("Group1")
MyGroup.UpdateRate = 1
MyGroup.IsActive = True
End Sub
'Créer les items
Public Sub CreateItems()
Dim i As Integer, nbparaligne As Integer, nbeta1 As Integer, nbmax As Integer
For i = 1 To nbmax
If lItemError(i) <> 0 Then
MsgBox i & " Validation Items" & sItem(i), vbCritical Or vbOKOnly, "OPC Create Items"
End
End If
Next
MyGroup.OPCItems.AddItems nbmax, sItem, lItemClientHandle, lItemServerHandle, lItemError
For i = 1 To nbmax
If lItemError(i) <> 0 Then
MsgBox "Création Items " & sItem(i), vbCritical Or vbOKOnly, "OPC Create Items"
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 3 juin 2006 à 11:59
Salut
Le composant OPC que tu utilises est un composant appartenant à une suite logicielle (pas gratuite).
Le composant génère lui même ses défauts que nous ne pouvons pas connaître.
Il faut aller poser la question au concepteur du composant.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro