OPC Server

Signaler
Messages postés
24
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
21 janvier 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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 :

MyGroup.OPCItems.Validate nbmax, sItem, lItemError

Est-ce que quelqu'un peut me venir en aide ?

Merci d'avance

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,

La comme ca avec, juste une ligne de code pour un sujet aussi vaste que OPC....
ca va être dur de te venir en aide...

Quel est le message d'erreur.

Donne un peu plus de code ca peu être mieux.
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
24
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
21 janvier 2011

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

nbparaligne = nbMaxParametre(pkrec) + 3

nbeta1 = nbeta(pkrec)
nbmax = nbeta1 * nbparaligne

    For i = 1 To nbmax
        sItem(i) = "PLC" & 1 & ":.Tableau_recette[" & i & "]"
    Next
   

    For i = 1 To nbmax
        lItemClientHandle(i) = i
    Next
   
   MyGroup.OPCItems.Validate nbmax, sItem, lItemError
  
   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"

       End
      End If
   Next
End Sub

Et voici mon erreur :

</wbr></wbr>
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
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