Vous êtes sur la page 1sur 27

Introduction à la programmation

temps réel avec LabVIEW

Thomas Baudouin
Ingénieur d’application

ni.com/fr
Sommaire :
• Qu’est-ce que le temps réel ?

• Domaines d’utilisation du temps réel

• Outils NI pour le temps réel

ni.com/fr
Sommaire :
• Qu’est-ce que le temps réel ?

• Domaines d’utilisation du temps réel

• Outils NI pour le temps réel

ni.com/fr
Qu’est-ce que le temps réel ?
• Une grande fiabilité logicielle : pas de plantage

• Une grande fiabilité matérielle : cibles durcies

• La garantie que chaque tâche sera réalisée à l’instant


voulu et dans un temps imparti (déterminisme)

Remarque : temps réel ne signifie pas forcément rapidité

ni.com/fr
Jitter et déterminisme

Période idéale

Période réelle Jitter

Un système est dit déterministe si le jitter est borné

ni.com/fr
Comment LabVIEW Real-Time peut-il garantir le déterminisme ?

• Un niveau de priorité peut être affecté au code


• L’ordonnanceur préemptif garantit au code à priorité
critique l’accès à la bande passante du processeur

Remarque : vous devez vous assurer que le code


prioritaire ne monopolise pas toute la bande passante
du processeur

ni.com/fr
Démonstration sur le jitter

ni.com/fr
Caractéristiques d’un OS temps réel
Fréquence de la Jitter logiciel
boucle
Système d’exploitation classique :
Les tâches de haute priorité peuvent être
interrompues par des tâches de priorité moindre
(tâches de fond, interruptions liées aux
périphériques) 10-100 Hz Non borné

Système d’exploitation temps réel :


L’ordonnanceur s’assure que les tâches
critiques s’exécutent en priorité Jusqu’à 100
Moins d’interruptions (clavier, souris) et de Borné
tâches de fond kHz

ni.com/fr
Sommaire :
• Qu’est-ce que le temps réel ?

• Domaines d’utilisation du temps réel

• Outils NI pour le temps réel

ni.com/fr
Domaines d’utilisation du temps réel

ni.com/fr
Test automatisé et validation

• Fiabilité logicielle : pas de plantage (test longue durée)

• Fiabilité matérielle : résister à des environnements difficiles

• Maîtrise temporelle (pilotage UUT précis)

Exemple : test d’endurance

ni.com/fr
Contrôle industriel
• Lire des entrées et mettre à jour des sorties

• Fiabilité matérielle et logicielle : pas de plantage

• Maîtrise de la période d’exécution et du temps de réaction

Exemples : PID, contrôle de procédé critique

ni.com/fr
Conception de systèmes embarqués
• Simuler le produit (prototypage rapide)

Ou

• Simuler son environnement (HIL)

Exemples : contrôleur moteur, contrôleur d’éolienne

ni.com/fr
Sommaire :
• Qu’est-ce que le temps réel ?

• Domaines d’utilisation du temps réel

• Outils NI pour le temps réel

ni.com/fr
Outils de développement temps réel
Compilateur

Éditeur de lien
LabVIEW Real-Time
Logiciel de Débogueur
développement

Outils d’analyse système


Toolkit Execution Trace

RTOS

Matériel Cible LabVIEW Real-Time


Microprocesseur
temps réel

Connectivité aux E/S

ni.com/fr
Module LabVIEW Real-Time

• Développement rapide et intuitif d’applications temps réel


• Outils de débogage et d’analyse
• Nombreuses possibilités d’acquisition/génération de signaux

ni.com/fr
Démonstration : assistant de projet temps réel

ni.com/fr
La boucle cadencée LabVIEW

• Chaque boucle est une tâche


• Différentes sources de cadencement
• Choix du niveau de priorité
• Retour sur le cadencement de la boucle
• Changement dynamique du cadencement
• Choix du cœur utilisé

ni.com/fr
Exploitation du multicœur avec LabVIEW Real-Time

Assignez les boucles


cadencées à
différents cœurs de
processeurs

ni.com/fr
Toolkit LabVIEW Execution Trace
• Outil complémentaire pour le débogage avancé
• Fournit un tracé précis et exact des VIs et threads tournant sur la cible

Étape 1 : utilisation des VIs de tracé Étape 2 : utilisation du toolkit afin d’observer les
afin d’analyser le comportement threads et VIs pour déboguer et optimiser

VI sur la cible Interface du toolkit sur l’hôte

ni.com/fr
Développement LabVIEW Real-Time

Développez sur la Exécutez sur la cible


machine hôte temps réel

ni.com/fr
Comparaison des cibles temps réel

CompactRIO PXI PC

Variété d’E/S   
Modularité   
Performance   
Durcissement +  
Bien Très bien Excellent

ni.com/fr
Le PC de bureau comme cible temps réel

• Un PC de bureau peut être converti en cible temps réel

• Intégrez une grande gamme d’E/S PCI

• Profitez des performances

Système à tester PC Windows


Cible temps réelle

ni.com/fr
Démonstration :
Mesure de température Temps Réel

ni.com/fr
Conclusion
• Fiabilité et robustesse
• Déterminisme grâce à la gestion des priorités
• Utilisations : test, contrôle/commande et embarqué
• Programmation LabVIEW classique
• Différentes cibles matérielles

ni.com/fr
Aller plus loin
• www.ni.com/realtime/f

• Travaux pratiques « contrôle/commande


et systèmes embarqués avec NI CompactRIO »

• Formation « LV Real-Time Application Development »

ni.com/fr
Restez connecté(e)

NI ni.com/community

facebook.com/nifrance

twitter.com/nifrance

ni.com/fr

Vous aimerez peut-être aussi