Bonjour, je vous expose mon problème.

Je dois réaliser la communication entre un automate ELAU C600 et un PC afin de pouvoir lire et écrire sur des variables de l'automate en passant par visual basic.net.

J'ai fais pas mal de recherche et ais élaboré un programme, cependant j'ai quelques erreurs qui me bloque et j'ai également besoin d'éclairement sur certaines fonction de mon programme.

Voici mon programme, Mes interrogations, warning et Erreurs sont en commentaire. Je cherche donc a faire une connexion à distance et la seul et unique commande que j'ai trouvé correspond à une connexion en local..

>>>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
58
59
60
61
62
63
64
65
66
67
68
69
 
 
Imports OPCAutomation
 
Module Module1
 
 
    Dim ConnectedOPCServer As OPCServer
    Dim ConnectedServerGroup As OPCGroups
    Dim ConnectedGroup As OPCGroup
    Dim OPCItemCollection As OPCItems
    Dim giValue1 As OPCItem
    Dim ItemCount As Long
    Dim OPCItemIDs(10) As Long
    Dim ItemServerHandles As Long
    Dim ItemServerErrors As Long
    Dim ClientHandles As Long
 
 
 
    '==================================================================================================================
 
    ' Permet d'importer la librairie qui nous permet d'utiliser les fonctions "OPCServer" 
    ' On doit ajouter en référence le librairie annexe qui fait le lien avec OPCAAuto du nom de "Interop.OPCAutomation"
 
    '==================================================================================================================
 
 
 
    Sub Main()
 
        Dim ConnectedServerName As String
 
        ConnectedOPCServer = New OPCServer  'Créer un nouvel item Serveur OPC
        ConnectedServerName = "CoDeSys.OPC.02"  'Charge le nom du serveur sélectionné pour démarrer l'interface
        ConnectedOPCServer.Connect(ConnectedServerName) 'Tentative de connexion avec le serveur ( local seulement dans cet exemple alors que je cherche du distant.. )
 
 
        ConnectedServerGroup = ConnectedOPCServer.OPCGroups ' Ajout d'un groupe à lOPC serveur
        ConnectedServerGroup.DefaultGroupIsActive = True   ' Definit l'etat du groupe comme actif
 
        ConnectedGroup = ConnectedServerGroup.Add("Test")    ' ici mon groupe n'ai pas crée dans les variables de l'automates
        OPCItemCollection = ConnectedGroup.OPCItems
        giValue1 = OPCItemCollection.AddItem("Station1.iValue1", 0)  ' Une erreur HRESULT E_FAIL a été retournée à partir d'un appel à un composant COM. lorsque je lance la compilation
 
        ' ConnectedGroup.UpdateRate = 100                  ' Définit le taux de rafraichissement du groupe
        ' ConnectedGroup.IsSubscribed = True               ' without it you won't be subscribed to the server and DataChange events will not fire
 
 
    End Sub
 
    Public Function ECRITURE_PT_CIMP(ByVal PtId As String, ByVal Value As Object) As Integer
 
 
        Dim gOPCWriteItem As OPCItem
        Dim ItemServerHandles() As Long
        Dim ClientHandles(1) As Long
        Dim OPCItemIDs(1) As String
        Dim Errors() As Long
 
        ClientHandles(1) = 1
        PtId = "Station1.iValue1"  ' << est-ce que c'est bien ici que je dois écrire le nom de ma variable ou je dois ecrire sur l'automate ?
        OPCItemIDs(1) = PtId
        OPCItemCollection.AddItems(1, OPCItemIDs, ClientHandles, ItemServerHandles, Errors) ' Warning :  variable errors est passé par référence avant qu'une valeur de lui ait été assigné. Une expecption de ref peut ce produire
        gOPCWriteItem = OPCItemCollection.GetOPCItem(ItemServerHandles(1))
        gOPCWriteItem.Write(5)   ' La valeur entrée dans les parenthèses correspond à la valeur donnée à la variable en question
 
    End Function ' warning aucun return , est-ce grave ?
End Module
Je suis quelque peu perdu si vous pourriez m'aider.. :-) Je suis ouvert à toutes propositions et critiques éventuelles.

Ps: Je suis déjà allé voir sur opcfondation ect..