[TUTO] Appeler une fonction Python depuis un VI LabVIEW

[TUTO] Appeler une fonction Python depuis un VI LabVIEW

Bannière
  1. Prérequis
  2. Création de la fonction Python
  3. Création du VI LabVIEW
  4. Récupération de la version de Python
  5. Comparaison des performances
  6. Création d’un exécutable

1. Prérequis

Pour pouvoir appeler une ou plusieurs fonctions Python depuis un VI LabVIEW, il faut disposer des versions suivantes des logiciels :

  • LabVIEW 2019 ou ultérieur,
  • Python 3.6 ou ultérieur.

La version de Python qui est installée devra être récupérée si elle n’est pas connue à l’avance !  (voir #4).

2. Création de la fonction Python à appeler

1/ Pour ce tutoriel, nous allons réaliser une fonction qui découpe un texte en une liste de mots.

Fonction python.

2/ Sauvegarder le script à la racine d’un de vos disques durs (ici E:\) sous le nom « tuto.py » Ce chemin sera utilisé pour appeler la fonction « decoupe » plus tard …

Chemin à noter

3/ [OPTIONNEL] A des fins de comparaison, nous allons réaliser la même fonction en LabVIEW

Diagramme du VI équivalent.

Enregistrer celle-ci dans un fichier « tuto.vi ».

Face avant du VI équivalent.

3. Création du VI LabVIEW appelant

Créer un nouveau VI LabVIEW « Appelant.vi ». Dans la palette de fonction, sélectionner « Connectivité », sous palette « Python », puis la fonction « Ouvrir une session Python ».

Palette de fonctions

Câbler en entrée la version de Python installée sur votre ordinateur (sous forme de constante ou de commande). Pour trouver cette version, référez-vous au #4 de ce tutoriel. Le numéro de version ainsi récupéré permettra aussi à votre VI de fonctionner sur d’autres machines. Un numéro de version entré en dur, comme ci-dessous, risque de provoquer une erreur si vous lancer votre VI sur un autre ordinateur.

Création session.

La sortie « session en sortie » donne une référence de session qu’il faudra passer aux fonctions suivantes de notre VI. Pour commencer nous allons câbler celle-ci à la fonction « Nœud Python ».

Chaîne incomplète.

Puis enfin à la fonction « Fermer une session Python ».

Chaîne d'appel.

Il nous reste maintenant à configurer le nœud d’appel Python avec les informations suivantes.

Entrées - Sorties.

Attention, la sortie de la fonction Python ne peut pas être un tuple, sinon LabVIEW renverra une erreur !

Une fois toutes les entrées câblées, nous avons le diagramme suivant.

Vi câblé.

Qui produit le résultat suivant lorsqu’on exécute le VI.

Résultat obtenu.

4. Récupération de la version de Python

Pour récupérer la version de Python dont vous disposez, nous allons utiliser la fonction « System Exec » disponible dans la palette de fonction de LabVIEW « Connectivité / Librairies et exécutables »

Palette system exec.

En arguments nous allons fournir la commande à exécuter « py -V », ainsi que le booléen « Vrai » pour l’entrée « Attendre la fin ». Le texte renvoyé contient le mot Python, il doit donc être édité afin de ne conserver que la version sous la forme d’un numéro de version classique X.X.X

Obtention de la version.

5. Comparaison des performances

Pour comparer les performances de l’appel à Python et du VI nous allons utiliser le même texte (de grande taille) en entrée pour les deux tests, et utiliser les fonctions de temps LabVIEW.

Test des performances.

Dans notre cas, la fonction Python semble donner des résultats moins bons que le VI directement intégré, mais suivant les fonctions à accomplir Python peut se révéler beaucoup plus rapide que LabVIEW. Il est donc nécessaire avant d’intégrer un élément en Python, de tester si celui-ci apportera un gain réel à votre VI.

6. Création d’un exécutable

Pour créer un exécutable appelant des fonctions Python, il faudra intégrer les scripts à la spécification de construction et les envoyer dans le dossier de support de l’application.

Laisser un commentaire