Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Controle d'instrument par liaison RS232

Slt tout le monde,

j'ai quelques souci avec la communication (RS232) entre un PC et une centrale d'acquisition.

Matériels:

PC: Dell, win10 64bit, avec LabVIEW 2016

Central d'acquisition : AOIP SA70 ( elle doit avoir au moins 20 ans ).

convertisseur: USB-Serial ATEN, (drivers installés)

 

Avant d'ouvrir LabVIEW:

-je lance NI-MAX, la centrale est détecté

-je lance NI-VISA Control interfaces et rentre les paramètres de communication: Bauds 9600, 8 bits data,1 bit Start, 1bit stop, pas de parité.

- sur la fenêtre INPUT/OUTPUT, j'écris dans l'invite de commande, les commandes définies dans la doc de ma centrale.

- TOUT Fonctionne nickel, elle réponds positivement à mes "avances".

 

Le problème:

Après avoir effectuer les étapes précédentes, j'ouvrir tout heureux LabVIEW avec l'espoir de construire un VI assez facilement. MAIS en faisait un serial W/R rien ne fonctionne : AUCUNE COMMUNICATION. la fonction Read me renvoi qu'un "pauvre" TIMEOUT.

 

Recherche de solution ??

Pour essayer de solutionner mon problème, j'ai repris tout les étapes depuis le début, et j'ai lancé le NI-IO traces pour suivre l'évolution de la communication.

 

Avec "NI-VISA Control Interfaces":

NI_Trace1.pngcommandes envoyées: RUN\r ( \r : CR: retour chariot) et STOP\r .Dans la deux cas la réponse est "@" : ce qui est satisfaisant

 

Avec LabVIEW:

Avec mon VI LabVIEW, j'obtient ceci de IO Trace:

captF.png

 

Question :

Une idée d'où le problème peut venir ? ( Perso j'ai passé du temps dessus et sa casser la tête 😞 )

PS: Le VI que j'utilise en PJ

 

Bonne journée à vous

Cordialement

0 Compliments
Message 1 sur 4
4 171 Visites

Bonjour,

Je ne peux pas ouvrir le VI, je n'ai pas LV2016.

 

As tu mis une temporisation entre le VI write ,et le Read.
Il convient de manière "classique" de mettre une temporisation d'au moins 50 ms entre les deux, afin de laisser le temps à ton équipement de recevoir la requête et de la traiter.

 

Cdt,

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 2 sur 4
4 161 Visites

Slt a tous

 

et Merci Michael.C pour ta réponse. je vais tester avec une tempo.

 

ps: a default de pouvoir ouvrir mon VI je laisse un Capture.

CaptureVI.PNG

0 Compliments
Message 3 sur 4
4 129 Visites

Bonjour,

essaie dans un 1er temps de supprimer ta constance byte count et met un noeud de propriété qui prendra en entrée le VISA ressource name out de la fonction Write et tu t'en sert pour indiquer à la fonction Read le nombre de byte du port série.

Il se pourrait qu'avec ton code la fonction Read attende de lire 1024 bytes avant de sortir et comme elle reçoit pas elle sort en timeout.

 

Ajoute également une temporisation dans ta boucle while !!!

0 Compliments
Message 4 sur 4
4 044 Visites