Enseignement Société Événements Community Support Solutions Produits et Services Contacter NI MyNI

Intégration de programmation textuelle

Certaines tâches surviennent dans NI LabVIEW, telles que mettre des signaux à l'échelle ou résoudre des équations mathématiques, au cours desquelles il peut être bénéfique d'implémenter de la programmation textuelle dans LabVIEW. LabVIEW offre la possibilité d'utiliser la syntaxe C++ avec la boîte de calcul et la syntaxe de script des fichiers .m avec le Nœud MathScript, pour le traitement et l'analyse de signaux et les fonctions mathématiques. Ce module est une introduction aux deux.


Procédure détaillée

Télécharger la version PDF de la procédure détaillée


Afin d'illustrer les besoins en intégration textuelle dans LabVIEW, considérez une équation utilisée pour convertir la résistance d'une thermistance en une température appropriée en degrés Celsius.


Figure n°1. Formule utilisée pour convertir la résistance d'une thermistance en température

Vous pouvez constater qu'il s'agit d'une équation polynomiale complexe nécessitant de nombreuses opérations mathématiques. C'est une chose qui peut rapidement devenir désordonnée dans LabVIEW et difficile à suivre, comme le montre la Figure n°2 :

Figure n°2. Fonctions natives de LabVIEW pour formule de thermistance

La Figure n°3 est un exemple de la manière dont la formule pourrait être représentée dans un langage textuel traditionnel tel que C. Cela est bien plus facile à comprendre et ressemble de près à l'équation réelle. À présent, voyez comment implémenter cela en utilisant la boîte de calcul et le Nœud MathScript.


Figure n°3. Représentation en code textuel d'une formule de thermistance

Boîte de calcul LabVIEW

Avant de démarrer cette procédure, vous devez faire l'exercice et utiliser la solution du module Prise de mesure. Vous pouvez également créer une commande numérique pour simuler l'entrée d'acquisition de données.

Remarque : si vous n'utilisez pas l'Assistant DAQ pour acquérir des données de résistance et les convertir en température, allez directement à l'étape n°2 et utilisez une commande numérique à la place de l'Assistant DAQ.

  1. Configurez l'entrée de tension de l'Assistant DAQ en résistance d'entrée à partir des terminaux du multimètre numérique (DMM).
    1. Double-cliquez sur l'Assistant DAQ existant afin de modifier les paramètres de configuration
    2. Cliquez avec le bouton droit sur la voie Tension dans la liste déroulante Paramètres de voies et sélectionnez Supprimer de la tâche
    3. Cliquez sur le signe plus (+) bleu et sélectionnez Résistance
    4. Sélectionnez Dev1 (NI myDAQ)»dmm
    5. Assurez-vous que Source de Iex est défini à Interne
    6. Assurez-vous que Mode d'acquisition est défini à 1 échantillon (sur demande)
    7. Appuyez sur OK pour valider les paramètres
  2. Placez une boîte de calcul sur le diagramme pour convertir la résistance en degrés Celsius
    1. Cliquez avec le bouton droit sur le diagramme et sélectionnez Mathématiques»Scripts et formules»Boîte de calcul
    2. Collez l'équation suivante dans la fenêtre de la boîte de calcul et redimensionnez en conséquence
  3. flottant64 M ;
    M=ln(R/10000) ;
    T=(1/(A+B*M+C*M*M+D*M*M*M))-273,15 ;

  4. Ajoutez des entrées à la boîte de calcul pour toutes les variables en entrée de l'équation
    1. Cliquez avec le bouton droit sur le bord gauche et sélectionnez Ajouter une entrée
    2. Entrez R pour mettre en relation l'entrée à la variable R dans l'équation
    3. Répétez cette procédure pour A, B, C et D
    4. Cliquez avec le bouton droit sur les entrées A, B, C, D et R, puis sélectionnez Créer»Commande
    5. A=0,0039083 ; B=5,775E-7 ; C=1,63214E-6 ; D=7,1922E-8 ; R0=1000
    6. Câblez la sortie Données de l'Assistant DAQ à l'entrée R de la boîte de calcul
  5. Ajoutez une sortie pour que la température (C) s'affiche sur l'indicateur graphe déroulant
    1. Cliquez avec le bouton droit sur la bordure et sélectionnez Ajouter une sortie
    2. Entrez T pour mettre en relation l'entrée à la variable T dans l'équation
    3. Câblez cette sortie à l'entrée de l'indicateur graphe
  6. Ajoutez une boucle While pour exécuter le VI en continu
    1. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Structures»Boucle While
    2. Cliquez avec le bouton gauche et faites glisser la boucle pour englober tout le code
    3. Cliquez avec le bouton droit sur le terminal de condition et sélectionnez Créer une commande
  7. Créez la condition stop à inclure lorsque l'on appuie sur le bouton Stop ou qu'une erreur est détectée
    1. Déconnectez le Terminal de condition du terminal de sortie arrêtée de l'entrée analogique de l'Assistant DAQ
    2. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Booléen»OU
    3. Câblez la sortie de la commande du bouton Stop à l'entrée inférieure de la fonction booléenne OU
    4. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Cluster, classe et variant»Désassembler par nom, puis placez-le à droite de l'entrée analogique de l'Assistant DAQ
    5. Câblez le terminal de sortie sortie d'erreur de l'entrée analogique de l'Assistant DAQ à l'entrée de la fonction Désassembler par nom et assurez-vous qu'état est sélectionné pour être désassemblé
    6. Câblez la sortie de la fonction Désassembler par nom à l'entrée supérieure de la fonction OU
    7. Câblez la sortie de la fonction OU à l'entrée du Terminal de condition
  8. Exécutez le VI et observez le résultat

Obtenez de l'aide pour la Boîte de calcul ainsi qu'une liste des Fonctions de la boîte de calcul.

Nœud MathScript

Vous pouvez également utiliser le Nœud MathScript pour exécuter des scripts de fichiers .m préexistants, ainsi que pour développer des fichiers .m dans LabVIEW pour le traitement du signal.

Avant de démarrer cette procédure, vous devez faire l'exercice et utiliser la solution du module Prise de mesure. Vous pouvez également créer une commande numérique pour simuler l'entrée d'acquisition de données.

Remarque : si vous n'utilisez pas l'Assistant DAQ pour acquérir des données de résistance et les convertir en température, allez directement à l'étape n°2 et utilisez une commande numérique à la place de l'Assistant DAQ.

  1. Configurez l'entrée de tension de l'Assistant DAQ en résistance d'entrée à partir des terminaux DMM.
    1. Double-cliquez sur l'Assistant DAQ existant afin de modifier les paramètres de configuration
    2. Cliquez avec le bouton droit sur la voie Tension dans la liste déroulante Paramètres de voies et sélectionnez Supprimer de la tâche
    3. Cliquez sur le signe plus (+) bleu et sélectionnez Résistance
    4. Sélectionnez Dev1 (NI myDAQ)»dmm
    5. Assurez-vous que Source de Iex est défini à Interne
    6. Assurez-vous que Mode d'acquisition est défini à 1 échantillon (sur demande)
    7. Appuyez sur OK pour valider les paramètres
  2. Placez un Nœud MathScript sur le diagramme pour convertir la résistance en degrés Celsius
    1. Cliquez avec le bouton droit sur le diagramme et sélectionnez Mathématiques»Scripts et formules»Nœud MathScript
    2. Collez l'équation suivante dans la fenêtre du Nœud MathScript et redimensionnez en conséquence

double M ;
M=journal(R/10000) ;
T=(1/(A+B*M*M+C*M*M+D*M*M*M)) ;
T=T-273,15 ;

  1. Ajoutez des entrées à la boîte de calcul pour toutes les variables en entrée de l'équation
    1. Cliquez avec le bouton droit sur le bord gauche et sélectionnez Ajouter une entrée
    2. Entrez R pour mettre en relation l'entrée à la variable R dans l'équation
    3. Câblez la sortie Données de l'Assistant DAQ à l'entrée R du Nœud MathScript
    4. Répétez cette étape pour les variables A, B, C et D
    5. Cliquez avec le bouton droit sur les entrées A, B, C, D et R, puis sélectionnez Créer»Commande
    6. A=0,0039083 ; B=5,775E-7 ; C=1,63214E-6 ; D=7,1922E-8 ; R0=1000
    7. Câblez la sortie Données de l'Assistant DAQ à l'entrée R du Nœud MathScript
  2. Ajoutez une sortie pour que la température (C) s'affiche sur l'indicateur graphe déroulant
    1. Cliquez avec le bouton droit sur la bordure et sélectionnez Ajouter une sortie
    2. Entrez T pour mettre en relation l'entrée à la variable T dans l'équation
    3. Câblez cette sortie à l'entrée de l'indicateur graphe
  3. Ajoutez une boucle While pour exécuter le VI en continu
    1. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Structures»Boucle While
    2. Cliquez avec le bouton gauche et faites glisser la boucle pour englober tout le code
    3. Cliquez avec le bouton droit sur le terminal de condition et sélectionnez Créer une commande
  4. Créez la condition stop à inclure lorsque l'on appuie sur le bouton Stop ou qu'une erreur est détectée
    1. Déconnectez le Terminal de condition du terminal de sortie arrêtée de l'entrée analogique de l'Assistant DAQ
    2. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Booléen»OU
    3. Câblez la sortie de la commande du bouton Stop à l'entrée inférieure de la fonction booléenne OU
    4. Cliquez avec le bouton droit sur le diagramme et sélectionnez Programmation»Cluster, classe et variant»Désassembler par nom, puis placez-le à droite de l'entrée analogique de l'Assistant DAQ
    5. Câblez le terminal de sortie sortie d'erreur de l'entrée analogique de l'Assistant DAQ à l'entrée de la fonction Désassembler par nom et assurez-vous qu'état est sélectionné pour être désassemblé
    6. Câblez la sortie de la fonction Désassembler par nom à l'entrée supérieure de la fonction OU
    7. Câblez la sortie de la fonction OU à l'entrée du Terminal de condition
  5. Exécutez le VI et observez le résultat

Obtenez de l'aide pour le Module LabVIEW MathScript RT.

Vous pouvez convertir vos VIs Express de l'Assistant DAQ en fonctions NI-DAQmx de bas niveau, en faisant un clic droit sur l'Assistant DAQ et en sélectionnant Générer le code NI-DAQmx. L'API NI-DAQmx de bas niveau offre plus d'options de fonctionnalités et personnalisation pour la programmation.

 

Exemple de code dans LabVIEW

Extrait des fonctions natives de LabVIEW

Extrait de la boîte de calcul

Extrait du Nœud MathScript

Cliquez avec le bouton droit sur l'extrait de VI ci-dessus et sélectionnez Enregistrer l'image sous... Repérez le fichier sur votre disque dur, puis cliquez et faites glisser l'icône du fichier sur votre diagramme LabVIEW. LabVIEW génère automatiquement le code de l'extrait de VI. Pour obtenir plus d'informations, veuillez lire Extraits de VI.


Exercice du module : Intégration de programmation textuelle

Télécharger la version PDF de l'exercice du module

Objectif de l'exercice
Grâce aux codes d'exemple LabVIEW ci-dessus, créer une solution générale pouvant être utilisée pour sélectionner l'une des méthodes de conversion de la résistance en température lors de l'acquisition de la résistance d'une thermistance en utilisant le périphérique NI myDAQ. Avant de démarrer cet exercice, il est recommandé d'effectuer l'exercice, puis d'utiliser la solution du module Prise de mesure.

Matériel requis
1- NI myDAQ ou NI ELVIS II
1- thermistance 10 kΩ
ou
Simuler l'entée de résistance à l'aide d'une commande numérique

Éléments à prendre en considération

  • Quelle est la structure d'exécution utilisée pour exécuter une section de code sous condition ?
  • Quel type de commande pourrait être utilisé pour déterminer la condition s'il existe plus de deux conditions au sein de la structure Condition ? Une chaîne autoriserait-elle cela ? Et un numérique ? Existe-t-il une combinaison des deux ?
  • La température augmente-t-elle lorsque la résistance augmente ou diminue ? Essayez de placer un indicateur numérique pour la valeur de résistance afin de déterminer cela.
  • Utilisez des pinces crocodile avec vos câbles DMM pour faciliter la fixation de la thermistance.

Voir la solution de l'exercice
(Ne trichez pas !)

Examen cumulatif :
LabVIEW et acquisition de données

Évaluez votre niveau de compréhension de LabVIEW et des principes fondamentaux de l'acquisition de données. Cet examen est recommandé une fois que vous avez terminé tous les modules faisant partie des Principes fondamentaux de LabVIEW et Tâches fondamentales de LabVIEW. L'examen est composé de 26 questions à choix multiples.

Passer l'examen


Projet cumulatif :
LabVIEW et acquisition de données

Évaluez vos connaissances pratiques en matière de construction d'un système complet, en acquérant, traitant et affichant des données avec LabVIEW et un matériel d'acquisition de données. Ce projet est recommandé une fois que vous avez terminé tous les modules faisant partie des Principes fondamentaux de LabVIEW et Tâches fondamentales de LabVIEW.

Démarrer le projet