Upload
alexandre-stanurski
View
647
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Architecture de programmation et communication dans LabVIEW™ Real-Time
Citation preview
Architecture de programmation et communication dans LabVIEW™ Real-Time
Alexandre StanurskiNational Instruments France
Sommaire
• Architecture de programmation• Transfert des données• Benchmarks• Conclusion
Définitions
• Déterminisme• Jitter• Mécanismes de verrouillage (exclusions mutuelles, sémaphores, sections critiques…)
• Conflits de ressources (bus, mémoire, fichier…)
Objectifs de l’architecture de programmation
• Optimiser les performances• Optimiser le déterminisme• Minimiser le Jitter
Architecture de programmation
• Prévenir les conflits de ressource• Retirer les opérations non déterministes des boucles
critiques
Transfert des données dans une application temps réel
Bouclecritique
Application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
Communication et ressources CPU
Time-Critical Loop Rate
Data
Amou
nt
Communication DataTime Critical Loop Data
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne(réseau)
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)
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)
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
Transfert des données sur fichiers
• Le taux de transfert dépend de la taille des paquets– Taille optimale : 512 octets
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
Bouclecritique
Application temps réel
Transfert des données dans une application temps réel
Boucle decommunication
E/S sur fichiers
Applicationexterne
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
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)
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)
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)
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)
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
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
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
Questions ?