Discussions au sujet des autres produits NI

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

problème de communication série RS232 et Labview

Si ça fonctionne parfaitement. J'ai bien la valeur lu sur mon appareil dans mon programme mais il me dit simplement à la fin de l'application que j'ai une erreur de cadrage.

Un peu de patience et tout sera ok, enfin je le souhaite.

0 Compliments
Message 81 sur 126
1 879 Visites

A JB:

 

J'utilise la version basique qui fonctionne assez bien. L'erreur apparait à la fin de l'application en sortie de VISA Read.

0 Compliments
Message 82 sur 126
1 878 Visites

Mumu0412 a écrit:

A JB:

 

J'utilise la version basique qui fonctionne assez bien. L'erreur apparait à la fin de l'application en sortie de VISA Read.


 

Petit avertissement déjà donné au préalable avec cet exemple : à chaque exécution, le port est reconfiguré. Etant donné que l'appareil envoie ses données continuellement, la configuration et libération du port (qui peuvent arriver en plein lors de l'envoi d'un message de l'appareil) pourraient générer les erreurs de cadrage.

 

De plus, il faut supprimer l'envoi de données du PC vers l'appareil puisque cela n'est non seulement inutile mais pourrait également être la cause du problème puisqu'il n'y a aucune synchronisation entre les envois du PC et ceux de l'appareil. Je vous laisse deviner le résultat sur le bus si les deux se mettent à causer simultanément !

 

En résumé (comme déjà dit a plusieurs reprises):

  1. configuration unique du port
  2. enclenchement de l'appareil
  3. boucle de lecture
  4. libération unique du port 

A mon humble avis, la suppression des erreurs de cadrage passe par là !
0 Compliments
Message 83 sur 126
1 873 Visites

Super !

 

Plus d'erreur: j'ai modifié ma parité et mon bit de stop c'était ça qui posait problème. Du coup j'ai juste l'avertissement que j'avais auparavant: 1073676294 mais mon cluster d'erreur ne m'affiche aucune erreur.

Dois-je tenir compte de cet avertissement par la suite sachant que je n'ai plus aucun souci et que les données me sont bien transférées ?

En tout cas grand merci à JB et Oli 🙂

Si j'ai encore des questions je vous ferai signe 🙂

 

0 Compliments
Message 84 sur 126
1 893 Visites

Mumu0412 a écrit:

Super !

 

Plus d'erreur: j'ai modifié ma parité et mon bit de stop c'était ça qui posait problème. Du coup j'ai juste l'avertissement que j'avais auparavant: 1073676294 mais mon cluster d'erreur ne m'affiche aucune erreur.

Dois-je tenir compte de cet avertissement par la suite sachant que je n'ai plus aucun souci et que les données me sont bien transférées ?

En tout cas grand merci à JB et Oli 🙂

Si j'ai encore des questions je vous ferai signe 🙂

 


Comme déjà dit (à force de me répéter, le message finira par passer) il ne s'agit que d'un avertissement qui peut être ignoré.

Plus de détails ici.

Message 85 sur 126
1 890 Visites

Lol. Oui je sais bien mais je voulais de nouveau que vous me le confirmiez.

Je vais continuer en utilisant la version Advanced du programme.

0 Compliments
Message 86 sur 126
1 875 Visites

Bonjour,

 

Encore merci pour votre précieuse aide ! J'ai encore quelques questions au sujet du programme Advanced car il y a des choses que je ne comprends pas entièrement.

Je ne comprends pas très bien l'utilisation du caractère de terminaison.

Pourriez vous m'éclairer de nouveau sur ce sujet ?

Merci 🙂

0 Compliments
Message 87 sur 126
1 824 Visites

Je commence par recopier exactement ce que j'avais écrit précédemment :

 

Si l'appareil termine tous ses envois avec un caractère de terminaison unique et réservé (n'apparaît pas par ailleurs dans les données), la manière la plus simple et la plus facile est d'activer cette fonctionnalité du côté LabVIEW. Ce faisant il suffit alors de définir un nombre d'octets à lire supérieur à la plus longue réponse possible et la fonction VISA Read va automatiquement arrêter la lecture à l'apparition du caractère de terminaison spécifié. 

 

 

Partant de l'idée que la condition énoncée ci-dessus est vraie, il suffit alors d'activer l'utilisation du caractère de terminaison (bouton booléen sur la face avant de l'exemple) et de définir le caractère se trouvant à la fin des données de l'appareil comme caractère de terminaison (champ correspondant sur la face avant de l'exemple). Etant donné que vous réalisez une application spécifique et non plus un exemple générique, mon conseil est de supprimer ces deux contrôles de la face avant pour les remplacer par des constantes.

 

L'étape suivante consiste à définir un nombre d'octets à lire supérieur à celui d'un message de l'appareil. Exemple : si un message de l'appareil comporte 10 octets, il faut demander à la fonction VISA READ d'en lire au moins 11. Ici encore je vous recommande de remplacer le contrôle par une constante. Etant donné que l'utilisation du caractère de terminaison est activée, la fonction de lecture va s'arrêter dès que le caractère défini sera trouvé dans les données et ceci même si le nombre d'octets lu est inférieur au nombre demandé. Ceci permet donc très facilement de lire les données message par message. Cette fonctionnalité simplifie donc la lecture des données et est d'autant plus utile lorsque l'appareil envoie différents types de données avec un nombre d'octets variables.

 

 

Pour débarrasser l'exemple des parties inutilisées, je vous invite à supprimer les bouts de code concernant le flow control (XON/XOFF) ainsi que l'envoi des données par le PC à l'appareil (premier case dans la boucle).

Message 88 sur 126
1 812 Visites

Je ne suis pas sûre d'avoir compris quelques passages. En résumé, je dois supprimer les contrôles de la face avant concernant les caractères de terminaison ?

Je ne vois pas trop comment je peux m'y prendre.

0 Compliments
Message 89 sur 126
1 809 Visites

Les boutons XON et XOFF ne me sont plus d'aucune utilité ? Si oui, pourquoi ?

0 Compliments
Message 90 sur 126
1 808 Visites