Post on 04-Apr-2015
Développement d’IHM Sous VS.NET en se basant sur la technologie OPC et les outils Applicom
R. Malti
33ème colloque PédagogiqueMontpellier, 7-9 Juin 2006
2
Objectif
Contexte : ouverture de la licence SARI en Septembre 2004.– Acquisition de logiciel de programmation de haut niveau …
– Logiciel disponible : Visual Studio .NET.
Objectifs Se baser sur les standards OPC, Développer facilement des IHM sous Windows.
Connaissances– Etudiants de la Licence Professionnelle
Enseignement sur la POO, programmation événementielle Tout est fait sur le même support (VS .NET).
- Aucune notion sur la technologie COM-DCOM
3
Présentation du matériel
4
Transport(TCP-IP, UDP, Queued)
ActiveXActiveX
(Distributed) Component Object Model(COM / DCOM)
Object Linking and Embedding (OLE)
Ethernet
OLE for ProcessControl (OPC)
Comm. inter-nœud uniquement
Serveur OPC
Les standards OPC sont basés sur la technologie COM/DCOM de Microsoft et ne fonctionnent de fait que sur les plateformes Windows).
Avantage intégration directe vers toutes applications sous Windows.
5
Configuration de l’outil Applicom
6
Outil de configuration de l’Active X
Ajout d'un nouveau serveur– Recherche à partir de la base
de registre de l'ordinateur local
– ou d'ordinateur distant
Création d'une configuration de base :
7
Interface type
8
Exemple de programme – 1. Initialisation
Private Sub Init (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Init.Click
Dim retour As Long
1. retour = Client.ActiveConfig
2. Refserver = Client.GetServerRef("server0")
3. Refgrpsortie = Client.GetGroupRef(Refserver, "sortie")
4. Refm1av = Client.GetItemRef(Refgrpsortie, "TOPIC1-A.M1-AV")
4. Refm1ar = Client.GetItemRef(Refgrpsortie, "TOPIC1-A.M1-AR")
End Sub
Private Sub Ecriture (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ecriture.Click
Dim value As Integer
Dim status As Object
Dim retour As Integer
retour = Client.Write (1, Refm1av, 0, status)
End Sub
Private Sub Lecture (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lecture.Click
Dim value, Quality As Object
Dim Timestamp, status As Object
Dim retour, source As Integer
retour = Client.Read(Source, 1, Refcaph, value, Quality, Timestamp, status)
If retour = 0 Then
caph.Text = value(1)
End If
End Sub
Exemple de programme – 2. EcritureExemple de programme – 3. Lecture
9
Conclusions – Discussion
Trouver un moyen facile pour manipuler des directives OPC sans que ça devienne de la programmation dure !!!
Il existe une interopérabilité entre les objets COM et les objets .NET– Comment programmer le port série sur la version .NET ?!? Rien n’est prévu sur
le Framwork 1.1.
– Nécessité d’installer individuellement les différents ActiveX et nécessité d’installer les licences de ces ActiveX (exemple MSCOMM32.OCX).
Difficultés techniques résolues, notamment lors de l’utilisation des types de données « variants » (propres aux objets COM).
Ouverture– Exploiter les possibilités du .NET pour offrir des services aux nœuds du niveau
Entreprise de la pyramide CIM.