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.