Connexion entre un API ELAU C600 et un PC via OPC Server

clemoz - 29 nov. 2012 à 09:14
 Utilisateur anonyme - 6 déc. 2012 à 13:18
Bonjour,

je travail sur un nouveau projet dans lequel je rencontre quelques problèmes. En effet je dois réussir à communiquer avec un API ELAU C600 avec un PC via OPC Server afin de pouvoir récupérer les infos des variables de l'automate pour les traiter sous visual basic.

Dans ce projet, je dois réussir à communiquer entre un automate programmable ( un C600 ELAU ) et un PC via OPC Server V2.3.5.3 ( système implanter dans l'automate ) afin de pouvoir traiter ( donc lire et écrire sur certaines variables ) les variables de l'automate sous Visual Basic dans lequelle sera développé un programme de traitement d'image.

J’essaie donc de réaliser la connexion entre le PC et l'automate via OPC Server. Afin de vérifier si la connexion est réellement établie j'ai récupéré un programme me permettant normalement de pouvoir lire ou écrire sur une variable de l'automate mais pour cela j'ai besoin d'installer une bibliothèque du nom de " OPCDAAuto.dll " pour pouvoir définir dans mon programme certaines variables comme " OPCServer , OPCGroupe ".

Le problème est que je n'arrive pas installer cette bibliothèque sur Visual Basic 2010 express. J'ai une erreur qui apparait lorsque je fais " projet > ajouter référence " et que je sélectionne ma librairie.dll. On me dit que le fichier n'a pas pu être ajouté et il me demande de vérifier si ce fichier est accessible et s'il s'agit d'un assembly ou d'un composant COM valide.

Avez vous des connaissances sur la communication entre PC et automates via OPC Server ou savez vous comment je pourrais palier au problème d'ajout de ma librairie ?

Ps: Je suis débutant dans ce domaine donc je recherche des informations assez claire

5 réponses

Utilisateur anonyme
29 nov. 2012 à 12:00
Bonjour,

Peut-être que cet autre fil pourra te servir.
0
Merci de ta réponse, néanmoins même en lisant le topique et en essayant de faire comme indiqué, j'ai toujours le même problème. j'ai toujours des erreurs dans mon programme et je ne peux compiler et tester mon programme. ci dessous :

'déclarations

Dim myOPCServer as OPCServer
Dim myOPCGroupLecture as OPCGroup
Dim myOPCGroupEcriture as OPCGroup
Dim myReadItems As OPCItems
Dim myWriteItems As OPCItems

Sub Main()

Set myOPCServer = new OpcServer
myOPCServer.connect "Nom du serveur OPC","nom_du _pc" << Je ne sais pas réelement quoi mettre dans ces guillemets.

Set myOPCGroupLecture = myOpcServer.OPCGroups.Add("Lecture_pt")
Set myOPCGroupEcriture = myOpcServer.OPCGroups.Add("Ecriture_pt")

Set myReadItems = myOPCGroupLecture.OPCItems
Set myWriteItems = myOPCGroupEcriture.OPCItems

end Sub

Public Function ECRITURE_PT_CIMP(PtId As String, Value As Variant) 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
OPCItemIDs(1) = PtId
myWriteItems.AddItems 1, OPCItemIDs, ClientHandles, ItemServerHandles, Errors
Set gOPCWriteItem = myWriteItems.GetOPCItem(ItemServerHandles(1))
gOPCWriteItem.Write (Value)

End Function

Sachant que je n'arrive pas à ajouter en référence la librairie OPCDAAuto.dll visual studio ne reconnais pas les variables OPCServers ect..
0
Utilisateur anonyme
4 déc. 2012 à 12:37
D'où provient cette dll ?
Tu peux tenter d'en télécharger une ici.
Pour ton problème à la ligne 'connect', tu trouveras des exemples de code sur le lien ci-dessus, rubrique 'téléchargement'.
0
Merci, j'ai réussis a compiler sans problèmes maintenant ;-). voici le programme final :


Imports OPCAutomation

Module Module1

Sub Main()

Dim myOPCServer As OPCServer
Dim myOPCGroupLecture As OPCGroup
Dim myOPCGroupEcriture As OPCGroup
Dim myReadItems As OPCItems
Dim myWriteItems As OPCItems


myOPCServer = New OpcServer
myOPCServer.Connect("CoDeSys.OPC.02") ' Connexion au server OPC << on doit mettre le ServeurID

myOPCGroupLecture = myOPCServer.OPCGroups.Add("Lecture_pt")
myOPCGroupEcriture = myOPCServer.OPCGroups.Add("Ecriture_pt")

myReadItems = myOPCGroupLecture.OPCItems
myWriteItems = myOPCGroupEcriture.OPCItems

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
Dim myWriteItems As OPCItems


ClientHandles(1) = 1
OPCItemIDs(1) = PtId
myWriteItems.AddItems(1, OPCItemIDs, ClientHandles, ItemServerHandles, Errors)
gOPCWriteItem = myWriteItems.GetOPCItem(ItemServerHandles(1))
gOPCWriteItem.Write(Value)


End Function
End Module


Cependant dans la fonction écriture je ne sais pas comment rajouter une fonction me permettant de lire ma variable que je viens de modifier par exemple afin de voir ci mon programme fonctionne.

Aussi, dans le main, les deux lignes ou il y as la commande : ("lecture") et ("écriture") je ne sais pas si je dois les laisser comme ça ou écrire quelque chose dedans. En clair je n'ai plus d'erreur de compilation mais j'ai un peu de mal a comprendre le corp du programme et comment l'utiliser ^^

Avez-vous une idée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
6 déc. 2012 à 13:18
Sur le lien que je t'ai donné, il y a dans les rubriques du site, la doc complète sur ta dll et donc la façon de l'utiliser.
Bonne prog.
0
Rejoignez-nous