Se connecter / S'enregistrer
Votre question

Projet de qualification : Client OPC en VB.NET

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
Anonyme
1 Février 2010 19:57:09

Bonjour à tous,

Je suis en dernière année secondaire et, je dois réaliser un travail de fin d'étude.

Ce travail concise en la visualisation et supervision d'une machine automatisée grâce à un
programme que je dois développer en Visual Basic.NET.
Cette machine est déjà construite et fonctionne avec automate industriel SIEMENS S-7 314 IFM.
Le programme de l'automate est déjà fini et la machine fonctionne.

J'ai réussis à mettre en fonction le serveur OPC fourni avec la suite SIMATIC NET et j'arrive à
récupérer des variables dans le client OPC Scout (lui aussi fourni dans la suite SIMATIC NET).

Mon problème est que je n'arrive pas à créer un client OPC en VB.NET pour récupérer mes variables
dans mon programme VB.NET.

J'ai déja fais des recherches sur le web et la plupart des client OPC (programmés en VB.NET , C++ , java ect...)
utilisent la dll : OPCDAAuto.dll j'ai cette dll en référence dans visual studio et je l'ai déja ajoutée à mon projet.

Voici un code qui me semble pas mal foutu mais je n'arrive pas à me connecter au serveur OPC :
Je dois changer "Nom du serveur OPC" et "nom_du _pc" mais je ne sais pas quoi taper, à chaque fois, Visual Studio me lève un exception que j'intercepte avec mon try-catch.

Imports OPCAutomation

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

Sub Main()

Try
myOPCServer = New OPCServer
myOPCServer.Connect(TextBox1.Text, TextBox2.Text)

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

myReadItems = myOPCGroupLecture.OPCItems
myWriteItems = myOPCGroupEcriture.OPCItems
MsgBox("Connection établie")
Catch
MsgBox("Erreur", MsgBoxStyle.Critical)
End Try

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

source :

Merci de votre aide.

Guillaume Crouquet

Autres pages sur : projet qualification client opc net

15 Mai 2010 15:37:51


Guillaume,

Des classes pour utilisé OPCDAAuto.dll sont proposées gratuitement au lien suivant:

http://www.kepware.com/Support_Center/app_vb_example.as...

Prend l'exemple "complex" en VB6. Il y a peu a changer pour passer en vb.net.

Avec cela, tu pourras déjà aller loin. Le mieux est de créer un service windows si ton application remplit un base de donnée.

Si tu veux de l'aide sur la dcom n'hésite pas.

Amuse-toi bien,

Nicolas






m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS