labview™ real time programing
DESCRIPTION
Architecture de programmation et communication dans LabVIEW™ Real-TimeTRANSCRIPT
![Page 1: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/1.jpg)
![Page 2: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/2.jpg)
Architecture de programmation et communication dans LabVIEW™ Real-Time
Alexandre StanurskiNational Instruments France
![Page 3: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/3.jpg)
Sommaire
• Architecture de programmation• Transfert des données• Benchmarks• Conclusion
![Page 4: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/4.jpg)
Définitions
• Déterminisme• Jitter• Mécanismes de verrouillage (exclusions mutuelles, sémaphores, sections critiques…)
• Conflits de ressources (bus, mémoire, fichier…)
![Page 5: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/5.jpg)
Objectifs de l’architecture de programmation
• Optimiser les performances• Optimiser le déterminisme• Minimiser le Jitter
![Page 6: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/6.jpg)
Architecture de programmation
• Prévenir les conflits de ressource• Retirer les opérations non déterministes des boucles
critiques
![Page 7: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/7.jpg)
Transfert des données dans une application temps réel
Bouclecritique
Application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
![Page 8: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/8.jpg)
Communication et ressources CPU
Time-Critical Loop Rate
Data
Amou
nt
Communication DataTime Critical Loop Data
![Page 9: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/9.jpg)
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne(réseau)
![Page 10: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/10.jpg)
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)
![Page 11: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/11.jpg)
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)
![Page 12: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/12.jpg)
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
![Page 13: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/13.jpg)
Transfert des données sur fichiers
• Le taux de transfert dépend de la taille des paquets– Taille optimale : 512 octets
![Page 14: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/14.jpg)
Taux de transfert des données sur fichiers
0
500
1000
1500
2000
2500
3000
3500
4000
0 8192 16384 24576 32768 40960 49152 57344 65536
Transfer Size (Bytes)
Tran
sfer
Rat
e (kB
ytes
/sec)
WriteRead
0
500
1000
1500
2000
2500
128 256 384 512 640 768 896
![Page 15: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/15.jpg)
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
![Page 16: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/16.jpg)
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
![Page 17: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/17.jpg)
Taux de transfert des données sur le réseauMaximum Network Transfer Rate
0
100
200
300
400
500
600
700
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
Tran
sfer
Rat
e (k
Byt
es /
sec) 6.1 TCP (PXI-8156B)
6.0.3 TCP (PXI-8156B)
![Page 18: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/18.jpg)
Taux de transfert des données sur le réseauMaximum Network Transfer Rate
0
100
200
300
400
500
600
700
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
Tran
sfer
Rat
e (k
Byt
es /
sec)
6.1 UDP (PXI-8156B)
6.0.3 UDP (PXI-8156B)
![Page 19: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/19.jpg)
Taux de transfert des données sur le réseauMaximum Network Transfer Rate
0
1000
2000
3000
4000
5000
6000
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
Tran
sfer
Rat
e (k
Byt
es /
sec)
6.1 TCP (PXI-8156B)
6.0.3 TCP (PXI-8156B)
6.1 TCP (PXI-8176 100Mbps)
![Page 20: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/20.jpg)
Taux de transfert des données sur le réseauMaximum Network Transfer Rate
0
2000
4000
6000
8000
10000
12000
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
Tran
sfer
Rat
e (k
Byt
es /
sec)
6.1 UDP (PXI-8156B)
6.0.3 UDP (PXI-8156B)
6.1 UDP (PXI-8176 100Mbps)
![Page 21: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/21.jpg)
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/IPDataSocket
![Page 22: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/22.jpg)
Exemple : applications de régulation
LabVIEW FPGA & PXI-7831R– E/S synchronisées– Signaux numériques personnalisés – Déclenchements personnalisés
ACQUISITIONLV FPGA
IHMLV WIN
CONTRÔLELV FPGA
ANALYSELV RT
PRESENTATIONLV WIN
LabVIEW Real-Time– Calculs à virgule flottante– Taille d’application « illimitée »– Communication réseaux– E/S fichiers
![Page 23: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/23.jpg)
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
![Page 24: LabVIEW™ real time programing](https://reader035.vdocument.in/reader035/viewer/2022062303/55860b51d8b42a81638b4d6b/html5/thumbnails/24.jpg)
Questions ?