Plusieurs de nos clients ont éprouvé quelques difficultés à créer un exécutable depuis un projet LabVIEW utilisant la librairie Yoctopuce. Un problème de DLL introuvable. C'est pourquoi on vous propose cette semaine un petit tutoriel à ce sujet.
Avant toute chose, rappelons pour la forme que pour créer un exécutable avec LabVIEW vous aurez besoin de la version professionnelle de LabVIEW ou de l'option "LabVIEW Application builder". De plus, l'environnement LabVIEW runtime devra être installé sur l'ordinateur sur lequel vous comptez faire tourner votre exécutable.
Théorie
La librairie Yoctopuce pour LabVIEW est basée sur la DLL DotNetProxyLibrary.dll qui repose sur la DLL yapi.dll. Cette dernière existe en deux versions:
- La version 32 bits qui doit se trouver dans le même répertoire que DotNetProxyLibrary.dll.
- La version 64 bits qui doit se trouver dans le sous-répertoire amd64.
Cette structure doit impérativement être respectée, toute la difficulté consiste à le faire comprendre à LabVIEW.
Pratique
Voici donc, étape par étape, la marche à suivre pour que LabVIEW soit capable de compiler un projet tout en copiant les DLL Yoctopuce au bon endroit. Ce petit tutoriel est basé sur les versions anglaises de Windows et de LabVIEW, on vous laisse le soin de faire le parallèle avec les versions françaises.
Supposons que l'on ai un projet tout simple qui contienne un VI nommé "TempSensor" qui lit et affiche la température d'un capteur Yoctopuce.
Un VI pour lire et afficher la température d'un capteur Yoctopuce
Appelons ce projet Exe-demo, par défaut sa structure va ressembler à l'image ci-dessous.
Structure de base d'un projet LabVIEW
Etape 1
Commençons par signaler à LabVIEW que le projet a besoin de DLL. Un clic droit sur le nœud my computer permet d'ajouter les fichiers yapi.dll et DotNetProxyLibrary.dll qui se trouvent dans le répertoire C:\Program Files\National Instruments\LabVIEW XXXX\vi.lib\Yoctopuce\VIs, si vous avez installé la librairie Yoctopuce avec l'installeur fourni.
Ajouter des fichiers au projet
Etape 2
Un nouveau clic droit sur le nœud my computer permet d'ajouter un répertoire virtuel que l'on va impérativement nommer amd64.
Ajouter un répertoire virtuel au projet
Etape 3
Ajoutons la version 64 bits de yapi.dll dans le répertoire que l'on vient juste de créer. Cette DLL se trouve dans le répertoire C:\Program Files\National Instruments\LabVIEW XXXX\vi.lib\Yoctopuce\VIs\amd64. La structure de votre projet doit maintenant ressembler à l'image ci dessous.
Structure du projet avec les DLL
Etape 4
Il s'agit maintenant d'expliquer à LabVIEW comment il doit copier les DLL. Commençons par créer un nœud "Application (EXE)" sous le nœud "Build Specifications".
Ajoutons un nœud EXE
un clic droit sur le nouveau nœud permet d'en configurer les propriétés. Commençons par choisir un nom pour notre exécutable, en l’occurrence: MyTestExe.exe.
Configuration du nom de l'exécutable
Etape 5
Signalons maintenant à LabView dans la section "Source files" qu'il doit copier les DLL DotNetProxyLibrary.dll,yapi.dll et le répertoire amd64.
Liste des fichiers à copier
Etape 6
Il s'agit maintenant d'expliquer à LabView comment il doit copier les DLL, pour cela on crée dans la section Destinations une nouvelle destination que l'on va appeler "YoctopuceDLL" et qui aura le même chemin de destination que l'entrée "Support Directory", mais avec la case "Preserve disk hierarchy" cochée.
Une Nouvelle destination
Etape 7
On y est presque: dans la section "Source File Settings", on indique, pour les trois entrées amd64, DotNetProxyLibrary.dll et yapi.dll que l'on désire utiliser la destination "YoctopuceDLL".
On utilise la nouvelle destination pour les DLL
C'est fini
Voilà c'est fini, vous pouvez maintenant contrôler que la compilation de votre projet produira la structure de fichiers attendue dans la section "Preview". Les fichiers DotNetProxyLibrary.dll, yapi.dll et amd64/yapi.dll sont censés se retrouver dans le sous-répertoire data.
Prévisualisation de la structure du projet
Par contre, on n'a pas trouvé comment dire à LabVIEW qu'il n'était pas obligé de copier le fichier d'aide HTML de la libraire Yoctopuce.
Après une compilation on trouve dans le répertoire builds un fichier exécutable MyTestExe.exe, quelques fichiers annexes et un répertoire data que l'on pourra copier et lancer sur n'importe quelle machine pour peu que l'environnement LabVIEW runtime y soit installé.