Construisez des applications autonomes et fiables avec LabVIEW Real Time Victor FOURNIER National Instruments, Ingénieur d applications
Sommaire Qu est-ce que le temps réel? Domaines d utilisation du temps réel Outils NI pour le temps réel
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 effectuée à l instant voulu et dans un temps imparti (déterminisme) Remarque : temps réel n est pas forcément synonyme de rapidité.
Jitter et déterminisme Un système est qualifié de déterministe si le jitter est borné.
Comparaison du jitter entre Windows et LabVIEW Real-Time DÉMONSTRATION
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.
Caractéristiques d un OS temps réel 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) Fréquence de la boucle Jitter logiciel 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é. Moins d interruptions (clavier, souris) et de tâches de fond Jusqu à 100 khz Borné
Domaines d utilisation du temps réel
Test automatique 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
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
Conception de systèmes embarqués Simuler le produit (prototypage rapide) Ou Simuler son environnement (HIL) Exemples : contrôleur moteur, contrôleur d éolienne
Outils de développement temps réel Compilateur Logiciel de développement Matériel temps réel Éditeur de lien Débogueur Outils d analyse système RTOS Microprocesseur Connectivité aux E/S LabVIEW Real-Time Toolkit Execution Trace Cible LabVIEW Real-Time
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
La boucle cadencée 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é
Exploitation du multicœur avec LabVIEW Real-Time Assignez les boucles cadencées à différents cœurs de processeurs
Programmer en pensant au jitter Opérations déterministes Contrôle de PID Communication avec FIFO temps réel Appels vers des drivers ou des bibliothèques déterministes Opérations non déterministes Entrée/sortie de fichiers Communication série ou sur un réseau Allocation mémoire Appels vers des drivers ou des bibliothèques non déterministes
Toolkit LabVIEW Execution Trace Outil complémentaire pour le débogage avancé Fournit un tracé précis et exact des VIs et threads exécutés sur la cible Étape 1 : utilisation des VIs de tracé afin d analyser le comportement Étape 2 : utilisation du toolkit afin d observer les threads et VIs pour déboguer et optimiser VI sur la cible Interface du toolkit sur l hôte
Développement LabVIEW Real-Time Développez sur la machine hôte Exécutez sur la cible temps réel
Comparaison des cibles temps réel CompactRIO PXI PC Variété d E/S Modularité Performance Durcissement + Bien Très bien Excellent
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 Cible temps réelle PC Windows
Comment démarrer un projet temps réel DÉMONSTRATION
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
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»
QUESTIONS?
Restez connecté(e) avant et après NIDays youtube.com/nifrance facebook.com/nifrance ni.com/rss/f twitter.com/nifrance ni.com/community