Normes en vision industrielle Interchangeabilité ou compatibilité ?

1 Normes en vision industrielle

Avec l’émergence des normes en vision industrielle, l’industrie s’est lancée dans un processus de collaboration jamais vu auparavant. Cela a donné lieu au cours des dix dernières années à la création des interfaces génériques GenICam, GigE Vision ou USB3 Vision pour l’utilisation des caméras industrielles ayant des noms de fonctions identiques et un ensemble de fonctionnalités défini. La phase de conception des caméras dans les applications de vision industrielle devrait donc être facilitée et accélérée, réduisant ainsi les coûts de développement. L’interchangeabilité et la fonctionnalité entièrement « plug & play » des appareils sont toujours soulignées comme des caractéristiques essentielles.

Mais s’agit-il des facteurs déterminants dans la réalisation d’une application ? Une approche entièrement générique est-elle adaptée à toutes les applications ? Cela dépend.

Pour assurer le succès d’une application, l’interchangeabilité entre les fabricants peut assurément être un avantage. Ce qui est sûr toutefois, c’est que l’obtention de cet avantage est soumise à des conditions qui doivent d’abord être remplies et impérativement respectées dans la construction d’une application.

Le développement de composants de vision industrielle qui respectent les prescriptions des « normes Vision » est en revanche très important pour que ces composants puissent être utilisés dans plus d’applications que jamais. Pour le fabricant, le but à atteindre est donc plutôt une « compatibilité accrue » qui est automatiquement assurée par le recours aux protocoles de vision standard.

La standardisation par les organisations AIA (Global Association for Vision Information) et EMVA (European Machine Vision Association) représente une étape importante dans l’élimination de la confusion qui règne dans les interfaces de vision industrielle. Cependant, les normes laissent suffisamment d’espace aux fabricants pour mettre en place des fonctionnalités spécifiques supplémentaires en dehors du SFNC afin de permettre une délimitation des fournisseurs entre eux (qualité de mise en œuvre). Avec l’utilisation des ensembles de fonctions spécifiques au fabricant, il n’est pas possible de changer éventuellement de fournisseur sans adaptations logicielles.

Dans le cas des interfaces de programmation aussi, les approches propriétaires offrent absolument un meilleur confort et une plus grande convivialité que GenICam du fait du recours a des fonctions de confort qui n’existent pas dans la norme Vision. Les fabricants de caméras industrielles le savent et offrent donc souvent leurs propres interfaces de programmation, mais qui sont basées sur les interfaces standardisées.

Une application reste-t-elle quand même compatible entre les fabricants lors de l’utilisation de telles « normes propriétaires » ou bien faut-il exclusivement miser sur les interfaces standard ?

2 Le système standardisé dans le détail

Pour pouvoir réaliser en toute sécurité les attentes et les objectifs d’une application, il faut aussi connaître et appliquer dans une mesure adéquate les détails importants de la solution système générique.

Architecture de système

Même si les caméras de vision industrielle standard actuelles équipées des interfaces GigE Vision ou USB3 Vision peuvent « fonctionner » même sans progiciel spécifique au fabricant, l’architecture de système fondamentale est nécessairement maintenue et doit être présente sur le système.

Le niveau matériel est fondé sur des technologies et des techniques de raccordement connues pour le transfert des données de la caméra et des protocoles de communication (par ex. USB, Gigabit Ethernet). Le logiciel lié à l’appareil (pilotes et bibliothèques d’espace utilisateur) fait la liaison au moyen d’une API entre le canal de transport de la caméra et l’application de l’utilisateur.

Illustration 1 – La standardisation des interfaces permet d’utiliser les caméras de vision industrielle standard de différentes façons dans les applications.

Avec GenICam comme base, plusieurs interfaces de l’architecture système ont été standardisées, et plusieurs points de départ ont été bien définis et documentés pour l’utilisation des caméras de vision industrielle standard.

N fait 1 et 1 fait N

Avec l’interface GenICam (Generic Interface for Cameras) faisant la liaison entre l’application utilisateur et le logiciel de l’appareil, la multitude d’interfaces de programmation spécifiques au fabricant sera rassemblée en une unique interface universelle. GenICam fait abstraction de l’accès à toutes les fonctions de caméras indépendamment du fabricant et du protocole de transport. GenICam est une langue de description. Les fonctions disponibles sont mises à disposition sans même être connues. Cela en fait une base d’application idéale dans le cas des fonctionnalités qui peuvent changer d’un modèle de caméra à l’autre ou être étendues d’une version du firmware à l’autre.

Avec l’introduction de protocoles tels que GigE Vision et USB3 Vision au niveau du transport, il a fallu aussi repenser le firmware des caméras. Les caméras utilisant ces protocoles de transport standardisés définis par les membres de l’AIA parlent la même langue via le logiciel de l’appareil. Cela élimine aussi la stricte continuité entre le firmware de la caméra, le protocole de transfert et le logiciel de l’appareil. La caméra ne dépend plus du logiciel d’un unique fabricant.

L’indépendance ouvre de nouvelles possibilités

Les caméras compatibles avec les normes Vision peuvent maintenant être utilisées avec une couche de transport générique (GenTL, pour Generic Transportlayer) indépendante du fabricant. L’interface GenAPI (Generic Application Programming Interface) permet la description et la configuration des fonctionnalités de caméra disponibles via l’analyse du fichier XML conforme à la norme fourni avec la caméra. Le contenu de ce fichier décrit toutes les fonctionnalités de caméra implantées dans une syntaxe définie dans le module GenAPI de la spécification GenICam : Le nom des fonctions, les listes de paramètres, les informations détaillées, la description des fonctions. Même des infobulles montrant une utilisation de ces fonctionnalités sont décrites dans le fichier XML. La caméra est quasiment accompagnée de son propre manuel de programmation.

Illustration 2 – L’interface GenAPI communique des adresses de registre spécifiques à l’appareil via des noms de fonctionnalités définies.

Peu importe qu’il s’agisse de fonctionnalités standard définies dans la convention GenICam SFNC (Standard Feature Naming Convention) ou de fonctionnalités personnalisées spéciales uniquement offertes par un fabricant, mais ayant été implantées conformément à la norme.

Sur le plan technique, la collaboration indépendante du fabricant entre le matériel et le logiciel est défini par la norme et « souhaitée ». Toutefois, l’indépendance n’est intégrale que du côté de la caméra. Les GenICam Producers de certains fabricants semblent suggérer à l’utilisateur avec quelle caméra ils préfèrent travailler. Cela rend l’interchangeabilité parfois un peu obscure pour l’utilisateur.

L’indépendance ouvre automatiquement au fabricant de caméras et à l’utilisateur de nouvelles possibilités. Par exemple le découplage des versions de logiciel et de matériel. Un nouveau modèle ou un nouveau firmware de caméra peut être lancé bien plus rapidement puisqu’aucune adaptation, documentation et publication d’un logiciel hôte n’est nécessaire pour utiliser la caméra.

De même, les mises à jour pour différents modèles de caméra peuvent être terminées bien plus simplement et rapidement, indépendamment du logiciel hôte ou d’autres modèles. Les membres de l’EMVA travaillent déjà à une mise à jour de la spécification permettant d’actualiser les caméras Vision via tout logiciel conforme à la norme au moyen d’une mise à jour logicielle spécifique au fabricant. Il devrait y avoir une mise à jour supplémentaire de la spécification de module de la norme GenICam à l’été 2017.

L’indépendance s’accompagne automatiquement d’une plus grande compatibilité de plateforme. Avec les protocoles de transport standard comme GigE Vision ou USB3 Vision, les caméras peuvent être exécutées sur n’importe quelle plateforme et avec n’importe quel système d’exploitation pour lequel il existe un logiciel conforme à la norme et indépendant du fabricant, avec couche de transport. Même si elles proviennent d’ailleurs.

Cette indépendance représente ainsi la base de l’« interchangeabilité ».

Il y a GenTL et GenTL

Les interfaces GenTL ne sont toutefois pas toutes identiques. Le seul fait qu’elles présentent une interface standardisée vers la caméra et vers l’application utilisateur (voir les éléments blancs dans l’Illustration 1) et qu’elles soient en fait uniquement responsables de la localisation et de la sollicitation des appareils, y compris la prise d’images, ne les rend pas compatibles avec toutes les caméras Vision.

Pour une bibliothèque de traitement d’images telle que HALCON, une interface GenTL standardisée représente un élargissement judicieux si elle est ouverte aux caméras Vision de tous les fabricants. Cela permet une convivialité (plug and play) intégrale pour toutes les caméras, sans devoir installer de bibliothèque tierce spécifique au fabricant. C’est la raison pour laquelle le développeur MVTec a équipé HALCON d’une interface GenTL compatible indépendante du fabricant (voir Illustration3) que peuvent utiliser toutes les caméras compatibles avec Vision sans logiciel spécifique du fabricant.

Pour les fabricants de caméras, avoir leur propre interface GenTL leur permet d’offrir au client des composants logiciels qui interagissent de façon « optimale » avec leur caméra et qui sont aussi soumis au support du fabricant, et ce, malgré les prescriptions de la norme. Cette question n’est pas sans importance en cas de problème de caméra dans une application de vision industrielle. Qui est donc responsable lorsque l’application, la bibliothèque de traitement d’images, l’interface GenTL et la caméra proviennent de fabricants différents? Cette question ne se pose pas lorsque tous les composants proviennent d’un même fabricant.

3 Un amalgame de caméra ?

Les caméras qui suivent la norme communiquent et transfèrent les données avec les mêmes protocoles et offrent des fonctionnalités standard définies. « Si tu en connais une, tu les connais toutes ? » Loin de là !

Là où auparavant il fallait différents logiciels de pilote pour faire communiquer la caméra et l’hôte, une seule « langue » est maintenant nécessaire. Alors qu’auparavant chaque fabricant mitonnait sa propre soupe, tous travaillent maintenant ensemble à l’interface et implantent des fonctions de caméra répondant à des prescriptions définies. Ce développement est bénéfique pour tous les utilisateurs. Qu’est-ce qui différencie les fabricants les uns des autres ? Une caméra, même standardisée, reste un produit complexe comportant plusieurs composants qui jouent un rôle essentiel dans la réussite :

boîtiers (stabilité, dimensions, matériau, poids, connecteurs, optiques, accessoires), électronique (comportement CEM, transmission d’interférences, dégagement de chaleur, mémoire, performance, durabilité), logiciels (connaissance des capteurs, utilisation des fonctionnalités, modularité, maintenabilité, support), pour ne citer que ceux-ci. L’ensemble reste décisif pour l’utilisation dans une application.

Le support logiciel complet pour mettre en service rapidement et simplement les caméras Vision constitue un critère de choix pour les utilisateurs qui commencent à utiliser ou qui utilisent déjà Vision. IDS Imaging Development Systems GmbH a toujours offert à ses clients un forfait « sans soucis » pour ses produits. Après l’installation, en plus de l’IDS Vision Cockpit et ses surfaces graphiques pour l’évaluation conviviale des caméras, l’utilisateur dispose après l’installation d’une interface GenTL propriétaire. La compatibilité intégrale avec toutes les bibliothèques de traitement d’image conformes à la norme sur le marché est ainsi assurée.

Malgré l’interchangeabilité possible des composants Vision, une telle solution tout-en-un représente un avantage important pour un projet de vision industrielle  du fait du support complet offert par le producteur, qui va du matériel de la caméra à l’application client.

4 Les débuts sont toujours faciles ?

Le plus simple est de débuter avec des composants Vision via des logiciels conformes à la norme tels que HALCON, LabView, Cognex VisionPro. Beaucoup des progiciels de traitement d’images connus fournissent maintenant leur propre GenTL-Provider, démonstration de la possibilité d’un échange de caméras Vision sans logiciel spécifique au fabricant.

Illustration3 – HALCON comporte une interface GigE Vision directe via un GenTL Producer propriétaire. Les connexions avec toutes les autres interfaces Visions sont en outre possibles via GenICam.

Pour relier des caméras via l’interface GenTL propriétaire, certains de ces progiciels de traitement d’images offrent un connecteur GenICam correspondant.

Les producteurs de progiciels de traitement d’images tirent ainsi pleinement parti des avantages de la standardisation. L’utilisateur peut commencer le traitement d’images directement, sans programmation pour la connexion de la caméra. Avec les interfaces standard, l’utilisateur est uniquement en contact avec l’infrastructure de traitement d’images via la GUI dynamique. En fait, elles offrent une interface graphique « propriétaire » conviviale qui facilite au maximum la tâche de l’utilisateur.

Mais toutes les applications de traitement d’images tierces n’offrent pas de GenTL Provider correspondant. Cela nuit quelque peu à la promesse de plug & play.

Ceux qui choisissent la deuxième approche et développent complètement leur application peuvent s’attendre à un travail supplémentaire. L’interface de programmation devient alors le point central. Dans ce cas, d’autres facteurs sont importants pour la réalisation d’une application.

La programmation générique via GenICam peut être très laborieuse en raison de ses principes stricts et complexes. Pour parer correctement à toutes les éventualités, chaque fonctionnalité et chaque plage de valeurs doivent être d’abord interrogées avant de pouvoir modifier un paramètre de caméra. L’accès non filtré à tous les composants GenICam est très atomique et nécessite une compréhension approfondie de ces principes. Pour ceux qui préfèrent avancer plus rapidement avec les appareils et accordent moins d’importance aux possibilités complexes, une API condensée simple et réduite est souhaitable. De tels utilisateurs doivent-ils choisir des utilisations entièrement « propriétaires » et se passer ainsi de tous les avantages que confèrent la norme Vision ?

5 Normes propriétaires

Du fait des interfaces définies, le recours aux caméras Vision est utile sur plusieurs plans. Les fonctions de commodité, aussi appelées fonctions auxiliaires ou de confort, constituent un concept de design qui est volontiers utilisé dans les interfaces de programmation propriétaires pour aider les développeurs. Elles aident à faciliter et à clarifier le code en encapsulant les appels de fonctions atomiques. Avec un petit nombre d’appels de fonction, il est ainsi possible d’atteindre un but « défini » de façon beaucoup plus rapide et plus simple.

Si une telle « API propriétaire » se conforme à la norme côté caméra, cela offre même une autre possibilité d’accès pour une application client.

Illustration 4 – Les interfaces propriétaires élargissent les possibilités d’utilisation des caméras Vision.

Si le fabricant de telles couches propriétaires n’intègre pas de filtre pour ses propres appareils, rien n’empêche d’utiliser cette approche dans des applications ne dépendant pas du fabricant.

D’ailleurs, les GUI propriétaires des bibliothèques de traitement d’images telles que HALCON correspondent exactement à cette approche. HALCON utilise la norme Vision avec sa propre interface utilisateur. Les interfaces de programmation simplificatrices continuent aussi d’être possibles et accroissent la valeur pour les clients.

6 L’application est décisive

L’utilisation des interfaces standard est avantageuse pour les applications impliquant diverses caméras et différentes palettes de fonctions. Même le fonctionnement mixte de caméras standard avec différentes technologies de transfert telles que USB3 Vision ou GigE Vision est facilité grâce à la réponse uniforme via l’interface GenICam. L’application n’a pas besoin de connaître les caractéristiques propres à l’appareil et reste donc compatible avec tous les appareils conformes à la norme.

Une GUI absolument dynamique permet d’offrir la connexion et la palette de fonctions des caméras Vision sans qu’il soit nécessaire d’effectuer une programmation supplémentaire. L’utilisateur ou le processeur d’images peuvent commencer immédiatement le véritable travail avec les réglages de la caméra pour l’application correspondante.

Si une application a sa propre interface GenTL, il n’est même pas nécessaire d’installer un logiciel spécifique au fabricant pour l’intégration d’une nouvelle caméra.

Pour le fabricant de caméras de vision industrielle, les normes Vision signifient non seulement la possibilité d’une interchangeabilité, mais aussi une meilleure compatibilité avec toutes les applications développées conformes à la norme.

En outre, la proportion d’applications clients pour lesquelles les USP (Universal Selling Proposition) des normes Vision sont secondaires reste toutefois stable sur le marché. Ces utilisateurs optent pour l’application rapide de caméras spéciales en lien avec des interfaces simples qui sont complètement supportées par le fabricant et adaptées de façon souple à leur application.

En fin de compte, c’est toujours le client qui décide en fonction de son application quelles interfaces ou quels appareils d’un fabricant ou d’un autre seront utilisés pour réussir et obtenir « la meilleure expérience utilisateur sur le marché de la vision industrielle».