Vous êtes sur la page 1sur 24

Architecture de programmation et

communication dans LabVIEW

Real-Time
Alexandre Stanurski
National Instruments France
Sommaire
Architecture de programmation
Transfert des donnes
Benchmarks
Conclusion
Dfinitions
Dterminisme
Jitter
Mcanismes de verrouillage (exclusions mutuelles,
smaphores, sections critiques)
Conflits de ressources (bus, mmoire, fichier)
Objectifs de larchitecture de programmation
Optimiser les performances
Optimiser le dterminisme
Minimiser le Jitter
Architecture de programmation
Prvenir les conflits de ressource
Retirer les oprations non dterministes des boucles
critiques
Transfert des donnes dans une application temps
rel
Boucle
critique
Application
temps rel
Boucle de
communication
E/S sur fichiers
Application
externe
Communication et ressources CPU
Time-Critical Loop Rate
D
a
t
a

A
m
o
u
n
t
Communication Data
Time Critical Loop Data
Boucle
critique
Application
temps rel
Transfert des donnes dans une application temps
rel
Boucle de
communication
E/S sur fichiers
Application
externe
(rseau)
Transfert des donnes dans une boucle critique
Non scuris
Srie, GPIB
E/S sur fichiers, TCP/IP
Files dattente, notifications, VI Server
Scuris
DAQ, VISA (par registres), CAN
Variables globales (faibles volumes de donnes)
FIFO temps rel (RT FIFO)
FIFO temps rel
Liste FIFO avec pertes, de longueur fixe
lments de taille fixe
Reader unique, writer unique
Pas de mcanisme de verrouillage cest scuris
Conu pour lOS temps rel utilis
Variables globales pour des valeurs simples (ex. :
paramtres utilisateur)
Boucle
critique
Application
temps rel
Transfert des donnes dans une application temps
rel
Boucle de
communication
E/S sur fichiers
Application
externe
Transfert des donnes sur fichiers
Le taux de transfert dpend de la taille des paquets
Taille optimale : 512 octets
Taux de transfert des donnes sur fichiers
0
500
1000
1500
2000
2500
3000
3500
4000
0 8192 16384 24576 32768 40960 49152 57344 65536
Transfer Size (Bytes)
T
r
a
n
s
f
e
r

R
a
t
e

(
k
B
y
t
e
s
/
s
e
c
)
Write
Read
0
500
1000
1500
2000
2500
128 256 384 512 640 768 896
Boucle
critique
Application
temps rel
Transfert des donnes dans une application temps
rel
Boucle de
communication
E/S sur fichiers
Application
externe
Mthodes de transfert des donnes distance
Srie
CAN : dterministe
Rseau
TCP : sans perte, synchrone, rapide, conversion des
donnes
UDP : avec pertes, le plus rapide, conversion des donnes
VI Server : bas sur TCP, plus simple, plus lent
DataSocket

: le plus simple, avec pertes, sans conversion


de donnes
Taux de transfert des donnes sur le rseau
Maximum Network Transfer Rate
0
100
200
300
400
500
600
700
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
T
r
a
n
s
f
e
r

R
a
t
e

(
k
B
y
t
e
s

/

s
e
c
)
6.1 TCP (PXI-8156B)
6.0.3 TCP (PXI-8156B)
Taux de transfert des donnes sur le rseau
Maximum Network Transfer Rate
0
100
200
300
400
500
600
700
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
T
r
a
n
s
f
e
r

R
a
t
e

(
k
B
y
t
e
s

/

s
e
c
)
6.1 UDP (PXI-8156B)
6.0.3 UDP (PXI-8156B)
Taux de transfert des donnes sur le rseau
Maximum Network Transfer Rate
0
1000
2000
3000
4000
5000
6000
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
T
r
a
n
s
f
e
r

R
a
t
e

(
k
B
y
t
e
s

/

s
e
c
)
6.1 TCP (PXI-8156B)
6.0.3 TCP (PXI-8156B)
6.1 TCP (PXI-8176 100Mbps)
Taux de transfert des donnes sur le rseau
Maximum Network Transfer Rate
0
2000
4000
6000
8000
10000
12000
0 512 1024 1536 2048 2560 3072 3584 4096
Payload Size (Bytes)
T
r
a
n
s
f
e
r

R
a
t
e

(
k
B
y
t
e
s

/

s
e
c
)
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 daller
plus loin dans la distribution des tches critiques et non
critiques.
Communication entre la carte RIO et le contrleur PXI RT
hte par les RIO Host Interface VIs, similaires au VI Server.
Ethernet
TCP/IP
DataSocket
Exemple : applications de rgulation
LabVIEW FPGA & PXI-7831R
E/S synchronises
Signaux numriques personnaliss
Dclenchements personnaliss
ACQUISITION
LV FPGA
IHM
LV WIN
CONTRLE
LV FPGA
ANALYSE
LV RT
PRESENTATION
LV WIN
LabVIEW Real-Time
Calculs virgule flottante
Taille dapplication illimite
Communication rseaux
E/S fichiers
Conclusions
Architecture de programmation recommande
Isoler les tches critiques
Prvenir les conflits de ressources
Mthodes de transfert des donnes
FIFO temps rel dans lapplication temps rel
Paquets de 512 octets pour les oprations dE/S sur fichiers
Choisir la mthode de transfert des donnes sur le rseau qui
convient le mieux votre application
Notion de distribution des tches Windows/Real-Time/FPGA
Questions ?