Communication Réseaux

OPC UA, l’Esperanto des machines

Les différentes déclinaisons d’Ethernet utilisées dans l’industrie
s’étendent sur les quatre premières couches du modèle OSI. Le
déploiement de solutions qui couvrent les besoins en matière de
pilotage des robots, de commande des machines, de suivi de la
production, de contrôle de l’avancement des batchs, etc., impose
que les applications interagissent entre elles.

Pour cela, il faut standardiser les
procédures d’ouverture de session
et de présentation des informations
pour enfin, arriver à l’échange proprement
dit, de données et de commandes entre les
applications elles-mêmes. Or, ce sont ces
opérations que couvrent précisément les trois
dernières couches du modèle OSI. Sans une
standardisation à leur niveau, il est impossible
d’envisager l’interopérabilité des équipements
exécutant des programmes. Il faut donc
disposer d’un protocole à la fois suffisamment
performant mais aussi, suffisamment ouvert,
pour que les constructeurs comme les éditeurs
de logiciels, n’aient aucune difficulté et surtout,
n’éprouvent aucune réticence à l’exploiter pour
rendre leurs produits compatibles avec ceux
des autres compétiteurs du marché.

Un protocole ouvert

C’est bien la prouesse qu’a réalisé la Fondation
OPC en proposant le protocole OPC UA (Open
Platform Communication Unified Architecture).
Il s’agit d’un ensemble de socles logiques
adaptés aux communications entre machines
(machine-to-machine, souvent abrégé en
M2M). Si le protocole OPC reposait à l’origine
sur des piles logiques propres aux serveurs
Windows de Microsoft –COM/DCOM pour les
sessions, OLE pour la présentation des donnes,
etc.), la plateforme OPC UA est né de la volonté
de rendre indépendant de tout constructeur ou
de tout éditeur. Il est possible d’implémenter
le protocole OPC UA en s’appuyant sur la
version standardisée par l’ANSI des langages
C et C++, en Java ou en .Net, ce qui couvre un
très large éventail de systèmes que ce soit, des
automates, des logiciels Scada, des serveurs de
bases de données fonctionnant sous Linux, etc.

Certains ensembles de développement (SDK)
proposant des interfaces de programmation
(API) en C, C+, Java ou encore, JavaScript sont
proposés sous licence Open Source, ce qui rend
l’implantation du protocole entièrement libre.

La pile OPC UA repose sur une architecture
orientée services (SOA) qui comporte différents
niveaux logiques orientés vers une activité
de serveur ou de client. Les services de base
décrivent des méthodes indépendantes des
protocoles (équivalent à des commandes pour
les processus qui sont leur cible). La couche
de transport encapsule ces méthodes dans
un protocole transitant sur le réseau. Deux
protocoles appartiennent aux spécifications
OPC UA : le protocole TCP binaire (opc.
tcp://Server), optimisé pour autoriser des
performances élevées et le protocole http pour
les services Web (http://Server).

La garantie
d’une validation
indépendante

Si de l’ordre d’une quarantaine de procédures
composent la totalité de la pile, elles ne sont
pas toutes systématiquement nécessaires
à la création d’une implémentation. Moins
l’équipement sera sophistiqué comme par
exemple, un simple capteur ou un actuateur,
plus l’implantation pourra être légère.

Quand une entreprise, une association, une
université ou toute autre organisation, souhaite
diffuser une implantation du protocole OPC
UA, elle doit la faire valider par la Fondation
OPC en suivant les étapes du programme
de certification OPC avancé (OPC Enhanced
Certification Program). Cette étape permet de
garantir l’interopérabilité de tous les systèmes
qu’ils soient matériels ou logiciels qui se
réclament du protocole OPC UA.

j109_50-51

Ces articles peuvent vous intéresser :