LabVIEW™ real time programing

1 084 vues

Publié le

Architecture de programmation et communication dans LabVIEW™ Real-Time

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 084
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
688
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LabVIEW™ real time programing

  1. 1. Architecture de programmation et communication dans LabVIEW™ Real-Time Alexandre Stanurski National Instruments France
  2. 2. Sommaire • Architecture de programmation • Transfert des données • Benchmarks • Conclusion
  3. 3. Définitions • Déterminisme • Jitter • Mécanismes de verrouillage (exclusions mutuelles, sémaphores, sections critiques…) • Conflits de ressources (bus, mémoire, fichier…)
  4. 4. Objectifs de l’architecture de programmation • Optimiser les performances • Optimiser le déterminisme • Minimiser le Jitter
  5. 5. Architecture de programmation • Prévenir les conflits de ressource • Retirer les opérations non déterministes des boucles critiques
  6. 6. Transfert des données dans une application temps réel Boucle critique Boucle de communication Application temps réel E/S sur fichiers Application externe
  7. 7. Communication et ressources CPU Data Amount Communication Data Time Critical Loop Data Time-Critical Loop Rate
  8. 8. Transfert des données dans une application temps réel Boucle critique Boucle de communication Application temps réel E/S sur fichiers Application externe (réseau)
  9. 9. Transfert des données dans une boucle critique • Non sécurisé – Série, GPIB – E/S sur fichiers, TCP/IP – Files d’attente, notifications, VI Server • Sécurisé – DAQ, VISA (par registres), CAN – Variables globales (faibles volumes de données) – FIFO temps réel (RT FIFO)
  10. 10. FIFO temps réel • Liste FIFO avec pertes, de longueur fixe • Éléments de taille fixe • Reader unique, writer unique • Pas de mécanisme de verrouillage – c’est sécurisé • Conçu pour l’OS temps réel utilisé • Variables globales pour des valeurs simples (ex. : paramètres utilisateur)
  11. 11. Transfert des données dans une application temps réel Boucle critique Boucle de communication Application temps réel E/S sur fichiers Application externe
  12. 12. Transfert des données sur fichiers • Le taux de transfert dépend de la taille des paquets – Taille optimale : 512 octets
  13. 13. Taux de transfert des données sur fichiers 4000 2500 3500 2000 Transfer Rate (kBytes/sec) 3000 1500 2500 Write Read 1000 2000 500 1500 0 128 1000 256 384 512 640 768 896 500 0 0 8192 16384 24576 32768 40960 Transfer Size (Bytes) 49152 57344 65536
  14. 14. Transfert des données dans une application temps réel Boucle critique Boucle de communication Application temps réel E/S sur fichiers Application externe
  15. 15. Méthodes de transfert des données à distance • Série • CAN : déterministe • Réseau – TCP : sans perte, synchrone, rapide, conversion des données – UDP : avec pertes, le plus rapide, conversion des données – VI Server : basé sur TCP, plus simple, plus lent – DataSocket™ : le plus simple, avec pertes, sans conversion de données
  16. 16. Taux de transfert des données sur le réseau Maximum Network Transfer Rate 700 600 Transfer Rate (kBytes / sec) 500 6.1 TCP (PXI-8156B) 400 6.0.3 TCP (PXI-8156B) 300 200 100 0 0 512 1024 1536 2048 2560 Payload Size (Bytes) 3072 3584 4096
  17. 17. Taux de transfert des données sur le réseau Maximum Network Transfer Rate 700 600 Transfer Rate (kBytes / sec) 500 6.1 UDP (PXI-8156B) 400 300 6.0.3 UDP (PXI-8156B) 200 100 0 0 512 1024 1536 2048 2560 Payload Size (Bytes) 3072 3584 4096
  18. 18. Taux de transfert des données sur le réseau Maximum Network Transfer Rate 6000 5000 Transfer Rate (kBytes / sec) 6.1 TCP (PXI-8156B) 6.0.3 TCP (PXI-8156B) 4000 6.1 TCP (PXI-8176 100Mbps) 3000 2000 1000 0 0 512 1024 1536 2048 2560 Payload Size (Bytes) 3072 3584 4096
  19. 19. Taux de transfert des données sur le réseau Maximum Network Transfer Rate 12000 Transfer Rate (kBytes / sec) 10000 8000 6.1 UDP (PXI-8156B) 6.0.3 UDP (PXI-8156B) 6000 6.1 UDP (PXI-8176 100Mbps) 4000 2000 0 0 512 1024 1536 2048 2560 Payload Size (Bytes) 3072 3584 4096
  20. 20. Nouveau : module LabVIEW 7 FPGA • Combiné au module LabVIEW 7 Real-Time, il permet d’aller plus loin dans la distribution des tâches critiques et non critiques. • Communication entre la carte RIO et le contrôleur PXI RT hôte par les RIO Host Interface VIs, similaires au VI Server. Ethernet TCP/IP DataSocket
  21. 21. Exemple : applications de régulation LabVIEW FPGA & PXI-7831R LabVIEW Real-Time – E/S synchronisées – Signaux numériques personnalisés – Déclenchements personnalisés – Calculs à virgule flottante – Taille d’application « illimitée » – Communication réseaux – E/S fichiers LV WIN LV FPGA LV RT LV WIN IHM ACQUISITION ANALYSE PRESENTATION LV FPGA CONTRÔLE
  22. 22. Conclusions • Architecture de programmation recommandée – Isoler les tâches critiques – Prévenir les conflits de ressources • Méthodes de transfert des données – FIFO temps réel dans l’application temps réel – Paquets de 512 octets pour les opérations d’E/S sur fichiers – Choisir la méthode de transfert des données sur le réseau qui convient le mieux à votre application • Notion de distribution des tâches Windows/Real-Time/FPGA
  23. 23. Questions ?

×