La voie rapide vers la norme Vision

La voie rapide vers la norme Vision

Portage simple d'une application existante de la suite logicielle IDS Software Suite

Avec IDS peak, les caméras industrielles GigE Vision et USB3 d'IDS disposent désormais aussi d'une prise en charge logicielle complète. Avec les nouveaux projets de caméra, les clients IDS bénéficient ainsi, même dans le monde de la vision, d'une simplicité de manipulation et d'un support illimité du fabricant. Pourtant, lorsque des clients existants veulent ou doivent moderniser leurs anciennes applications IDS Software Suite avec les nouveaux modèles de caméra de norme Vision, l'apprentissage fastidieux de la nouvelle base logicielle et sa mise en service peuvent rapidement dépasser le budget et le temps impartis. Pour ces utilisateurs déjà expérimentés, mais qui changent de modèles, IDS propose un programme d'aide. IDS sherpa rend rapidement compatible avec les normes Vision et de nouveau opérationnelle une application existante IDS Software Suite, en quelques étapes.

À la base de ce nouveau kit de développement logiciel IDS peak, les normes Vision de l'EMVA (GenICam) et de l'AIA (GigE Vision, USB3 Vision). Outre des concepts modernes, le nouveau logiciel de caméra intègre bien des avantages, qui ne sont pas seulement visibles dans sa fondation. Même l'API de programmation a été remaniée en profondeur et adaptée aux besoins actuels. Bref : elle est nouvelle et fonctionne différemment de la suite éprouvée IDS Software Suite !

L'investissement nécessaire en termes de tems et d'argent pour migrer complètement une application existante sur de nouvelles caméras avec une interface logicielle totalement différente se justifie uniquement si cette application doit être utilisée de manière productive aussi à l'avenir et étendue, par exemple pour intégrer de nouvelles fonctionnalités ou d'autres caméras. Mais avec l'aide d'IDS sherpa, la conversion à IDS peak est simple et rapide. En quelques étapes, il est possible de remettre en service une application IDS Software Suite avec des caméras-industrielles conformes USB3 et GigE Vision sans avoir à changer complètement l'interface des caméras. Les développeurs logiciels responsables sont cependant formés en même temps à la mise en œuvre de nouveaux projets réalisés avec le nouveau kit de développement logiciel conforme GenICam IDS peak.

Qu'est-ce qu'IDS sherpa ?

IDS sherpa constitue un kit de « premiers secours » pour les utilisateurs d'IDS Software Suite afin de leur permettre d'adapter rapidement des applications de caméra existantes au fonctionnement avec des caméras IDS Vision, sans connaître IDS peak ou GenICam. Le composant central de ce kit d'aide est donc une classe C++, qui peut être intégrée à des applications IDS Software Suite existantes et qui fonctionne un peu comme un adaptateur entre les appels de fonctions de la suite IDS Software Suite et IDS peak. Avec une syntaxe API très similaire à IDS Software Suite, l'adaptateur facilite l'intégration d'IDS peak dans des applications existantes. Une table de transcription aide à remplacer les fonctionnalités connues de la suite IDS Software Suite par des blocs de fonction de l'adaptateur.  De plus, parallèlement aux instructions pas-à-pas, il existe aussi des exemples de code source permettant de suivre simplement la conversion et de se former en même temps aux méthodes de travail avec IDS peak.

Contenu du kit

  • Instructions pas-à-pas« IDS sherpa Integration »
  • Table de transcription « IDS Software Suite ↔ IDS sherpa »
  • Classe C++ de l'adaptateur
  • Des exemples de code source montrent l'utilisation de la classe de l'adaptateur dans différents cas (acquisition simple d'images, séquences de la mémoire d'images, exploitation mixte multicaméra IDS Software Suite et IDS peak)

Que n'est pas IDS sherpa ?

  • Un wrapper
    IDS sherpa n'est pas un wrapper 1:1 complet de la suite IDS Software Suite sur le nouveau kit de développement logiciel IDS peak basé sur GenICam-ou sur GenICam lui-même !
  • Une nouvelle interface
    Avec la classe d'adaptateur, aucune nouvelle interface logicielle à entretenir ensuite n'est créée !
  • Une directive stricte
    La mise en œuvre dans la classe de l'adaptateur ne suit aucune règle universelle. Le code source montre plutôt des suggestions et des possibilités.
  • Une obligation !
    Personne n'est obligé d'utiliser IDS sherpa et toute personne qui le fait peut et est autorisée à apporter des modifications au code source !
  • La destination, mais le chemin pour y parvenir !
    IDS sherpa prépare simplement le terrain. Utiliser des caméras de vision standard avec IDS peak est l'objectif. IDS sherpa montre la méthode et les possibilités d'IDS peak et forme ainsi les utilisateurs à la manipulation des caméras-industrielles conformes USB3 Vision et GigE Vision.

Avec le développement d'IDS peak, IDS met à disposition une nouvelle interface de programmation « It's so easy! » facile à comprendre, flexible, indépendante du matériel et totalement conforme à GenICam. Par rapport à GenICam lui-même, IDS met de nouveau au premier plan la simplicité d'utilisation et l'expérience intuitive de la programmation.

Une couverture complète des fonctionnalités d'IDS Software Suite et d'IDS peak n'est déjà pas effective en raison du concept différent et des méthodes de travail des deux interfaces et ne sera pas judicieuse même à l'avenir. De nombreux avantages des interfaces réelles seront perdues par une transcription directe des fonctionnalités. Avec les évolutions futures du kit de développement logiciel IDS peak, l'étendue des fonctions pourra aussi varier.

IDS sherpa couvre seulement une partie des deux kits de développement logiciel
IDS sherpa couvre seulement une partie des deux kits de développement logiciel

AUCUNE implémentation de référence d'IDS peak !
Le rétablissement de la fonctionnalité de la suite IDS Software Suite par la classe de l'adaptateur IDS sherpa ne peut en aucun cas être interprété comme une implémentation de référence d'IDS peak ! Avec la base GenICam, IDS peak suit un autre concept fonctionnel où de nombreuses fonctionnalités se déroulent différemment et sont appelées. Au niveau de l'application, il existe suffisamment de place pour procéder de manière optimale à l'échange d'une interface. En revanche, le niveau fonctionnel est très compliqué et ne peut être rétabli qu'au prix d'efforts considérables. La seule acception de la compatibilité sur ce niveau nucléaire est le confort, qui équivaut à un « wrapper ». Grâce au code source disponible d'IDS sherpa, les programmeurs peuvent décider eux-mêmes s'ils utilisent le confort de cette compatibilité ou s'ils le remplacent par une implémentation de référence IDS peak afin de la rendre évolutive.

Quelles personnes le programme IDS sherpa aide-t-il ?

IDS sherpa s'adresse tout particulièrement aux clients existants d'IDS, qui exploitent déjà une application de caméra avec la suite IDS Software Suite et qui doivent ou veulent la convertir rapidement pour l'utiliser avec des caméras de vision standard. Grâce à l'utilisation de la classe d'adaptateur fournie, les développeurs des clients uEye existants gagnent du temps sur la formation à IDS peak ou GenICam et son intégration. Les deux cas suivants illustrent l'usage d'IDS sherpa :

Cas d'utilisation 1 : une application existante, mise en œuvre avec la suite IDS Software Suite, doit être équipée d'une nouvelle caméra IDS conforme à la norme Vision.
Un intégrateur système est responsable d'une installation avec des caméras uEye et du code de programmation basée sur la suite IDS Software Suite. L'installation doit être actualisée et dotée par la suite de caméras IDS de plus haute résolution. Cependant, pour les modèles de caméras requis, seul le firmware IDS Vision est disponible ! Cela signifie qu'ils utilisent déjà la nouvelle norme d'avenir USB ou GigE-Vision commune et ne sont donc plus directement exploitables avec l'application existante ! L'exploitant doit moderniser l'installation dans les plus brefs délais et la rendre de nouveau opérationnelle rapidement. Sa mission : transformer l'application pour une caméra totalement neuve incompatible avec le logiciel, à moindres frais et avec un minimum d'efforts.

Avec IDS sherpa, il accède à une classe d'adaptateur opérationnelle que ses développeurs peuvent intégrer en fournissant peu d'efforts. L'application fonctionnera ainsi presque à l'identique avec les caméras de vision IDS. Les développeurs concernés apprennent également à manipuler Vision ou IDS peak afin de l'utiliser pour développer directement de nouveaux projets. Avec les caméras de vision IDS, son application conserve également une qualité constante des images de caméra.

Cas d'utilisation 2 : dans une application IDS Software Suite existante avec des caméras UI, des caméras de vision IDS peuvent ou doivent être exploitées en parallèle.
Une installation existante programmée avec la suite IDS Software Suite doit fonctionner avec les caméras existantes, mais aussi en parallèle avec les nouvelles caméras proposées uniquement avec le firmware Vision. Là encore, l'exploitant doit moderniser l'installation dans les plus brefs délais et la rendre de nouveau opérationnelle rapidement, à moindres frais et avec un minimum d'efforts. Sa réflexion : doit-il améliorer les processus de son logiciel avec un autre logiciel de caméra en plus d'IDS Software Suite et comment ? Ou le cas échéant, doit-il remplacer toutes les caméras existantes et miser sur un seul logiciel de caméra neuf ?

L'exemple de code source fourni « IdsSherpaMulti » montre comment mettre en œuvre une exploitation mixte avec la classe d'adaptateur IDS sherpa. Ce besoin est aussi satisfait rapidement et économiquement avec IDS sherpa. Après la conversion, les caméras existantes sont traitées par l'adaptateur via IDS Software Suite, en revanche, les caméras de vision fonctionnent déjà avec IDS peak. Grâce à IDS sherpa, les caméras existantes et les nouvelles caméras de vision sont exploitées avec la même base de code et fournissent ainsi une qualité identique pour l'installation existante.

Comment le programme IDS sherpa aide-t-il ?

IDS sherpa minimise l'effort nécessaire pour adapter une application existante aux caméras IDS Vision. La classe d'adaptateur C++ fournie « IdsSherpa » transpose à titre d'exemple les appels de fonction API de la suite IDS Software Suite en fonctions correspondantes d'IDS peak. Grâce à l'intégration de la classe dans une application IDS Software Suite, un développeur peut déjà utiliser les transpositions majeures des fonctionnalités de caméra avec le logiciel de caméra basé sur la vision, IDS peak. Cela permet de gagner énormément de temps et l'application peut de nouveau fonctionner avec les caméras de vision IDS, en un clin d'œil et en apportant quelques modifications. De plus, les développeurs concernés apprennent déjà à manipuler Vision ou IDS peak pour pouvoir développer directement de nouveaux projets avec.

Modernisation d'applications existantes avec IDS sherpa
Modernisation d'applications existantes avec IDS sherpa

Le point de départ de ce portage pas-à-pas fourni à titre d'exemple est un PC de développement Windows (Windows 7/8/10) avec le code source de votre application existante MFC et de la suite IDS Software Suite installée. Dans l'astuce technique, nous utilisons à des fins d'illustration l'exemple de code source uEye « IdsSimpleLive », que vous trouverez dans le répertoire d'installation de la suite IDS Software Suite.

Conditions préalables au portage

Vous avez besoin des composants suivants pour la réalisation-modèle du portage de l'application existante :

  • Caméra existante de l'application IDS Software Suite
  • Caméra de vision IDS avec ensemble de fonctionnalités approprié
  • Kit de développement logiciel IDS peak (à partir de la v1.1)
  • Kit logiciel IDS sherpa
  • Environnement de développement avec un compilateur pour C++ version 14 (p. ex. Visual Studio 2015 ou version ultérieure)

IDS peak est notre kit de développement logiciel moderne pour toutes les caméras-industrielles conformes à USB3 Vision et GigE Vision. Les bibliothèques de développement IDS peak s'appuient sur des objets et classes C++ modernes et, pour cette raison, exigent un compilateur tout aussi moderne capable d'identifier et de prendre en charge les fonctionnalités utilisées.

Étape 2 : créer l'application existante avec un nouveau compilateur

Pour garantir l'existence de toutes les sources et bibliothèques et leur fonctionnement avec le nouvel environnement de développement intégré (IDE), commencez par créer avec votre application existante inchangée. Procédez à toutes les modifications nécessaires pour créer l'application avec la suite IDS Software Suite et pour pouvoir l'exécuter avec la caméra existante.

Étape 3 : installer IDS peak

Installez sur votre PC de développement le kit de développement logiciel actuel IDS peak, que vous pouvez télécharger sur la page Web d'IDS. Si tout est configuré, testez votre nouvelle caméra IDS Vision. Pour cela, lancez IDS Vision Cockpit compris dans la fourniture et activez la caméra raccordée. Si la caméra affiche une image en direct, vous pouvez poursuivre le portage de votre application.

Étape 4 : (en option) créer et tester des exemples d'application IDS sherpa

À ce stade, vous pouvez accéder aux exemples d'application fournies pour tester IDS sherpa, IDS peak, le nouvel IDE et l'intégralité de tous les fichiers de code source requis. Toutes les modifications sont nécessaires ont déjà été apportées. Ouvrez l'exemple de projet Visual Studio correspondant et créez l'application. Les exemples montrent la mise en œuvre de diverses fonctionnalités de base avec IDS sherpa ou IDS peak. Si vous pouvez créer et exécuter correctement les exemples, vous êtes certain que toutes les conditions sont remplies et qu'IDS sherpa fonctionne avec IDS peak sur votre PC. Vous pouvez maintenant continuer avec le portage de votre application.

  • IDS sherpa - Freeze
    Accès aux différentes images d'une caméra et présentation dans une fenêtre de dialogue.
  • IDS sherpa - Live
    Présentation continue d'images en direct d'une caméra dans une fenêtre de dialogue en utilisant des messages contextuels.
  • IDS sherpa - Multi
    Fonctionnement parallèle de la suite IDS Software Suite et d'IDS peak dans une application avec IDS sherpa comme classe de base de caméra.
  • IDS sherpa - Sequence
    Utilisation de séquences de mémoire d'images avec IDS peak ou IDS Software Suite.

Astuce
Dans tous les exemples de programmes en code source, il est possible de commuter entre le code existant de l'implémentation IDS Software Suite et IDS sherpa au moyen de I'instruction du préprocesseur « USE_SHERPA ». Avec l'adaptateur, le gestionnaire de caméra décide seulement si les caméras sont traitées par IDS peak (IdsSherpa_peak.cpp) ou IDS Software Suite (IdsSherpa_ueye.cpp).

Astuce
Si plusieurs caméras sont raccordées, utilisez les numéros de série des caméras de test pour les actionner. Modifiez pour cela l'invocation « InitCamera » en transférant les numéros de série comme chaîne de paramètre. Par exemple « ret = m_hCam->InitCamera("4002890498 »); »

Étape 5 : intégrer IDS sherpa dans l'application existante

Désormais, le portage de votre application peut véritablement avoir lieu avec l'aide d'IDS sherpa. Pour ce faire, procédez seulement à quelques modifications minimes du code source de votre application :

  • Intégrer les bibliothèques et l'en-tête IDS peak dans les propriétés du projet et définir les drapeaux du compilateur
  • Importer la classe de l'adaptateur d'IDS sherpa
  • Remplacer les appels de fonction de la suite IDS Software Suite par les fonctions IDS sherpa

À partir de maintenant, votre application devrait de nouveau compiler. Grâce à la classe d'adaptateur IDS sherpa, le raccordement des caméras avec la suite IDS Software Suite est complètement basculé sur la norme Vision avec IDS peak. Cela signifie que vous pouvez maintenant utiliser toute caméra IDS conforme GenICam dans votre application. Si vous souhaitez étendre votre application au-delà des fonctions actuelles, vous pouvez le faire dès maintenant directement à l'aide de l'interface de programmation IDS peak.

Recommandation

IDS sherpa est utile pour remettre rapidement en service des applications existantes IDS Software Suite avec des caméras IDS Vision et pour former les développeurs au maniement d'IDS peak. Cependant, comme l'explique cette astuce technique, IDS sherpa n'est pas un produit logiciel autonome ou une nouvelle interface à utiliser dans de nouveaux projets de caméra. En tant qu'utilisateur averti d'IDS Software Suite et avec l'application de l'astuce technique, vous avez aussi fait connaissance avec le nouveau kit de développement logiciel IDS peak basé sur GenICam. Avec son interface de programmation facile à comprendre « It's so easy! », il simplifie la manipulation de GenICam. Utilisez IDS peak comme interface de chaque nouvelle application de caméra et profitez aussi à l'avenir de l'expérience de programmation intuitive du kit de développement logiciel moderne avec toutes les nouvelles caméras-industrielles IDS conformes USB3 Vision et GigE.