le 11-15-2016 08:34 AM
Bonjour à tous,
Dans le but de discuter avec une pompe, j'ai codé un petit truc avec les commandes données par le manuel de cette dernière. Cependant, alors que je demande une information sur le débit, attendant donc une réponse du type "OKxxxxx/" avec xxxxx étant mon débit, j'ai en retour un "ER/" ou bien "ER/ER/" ou encore "ER/ER/ER/". Je suppose que cela veut dire qu'il y a une erreur mais pourtant dans mon cluster d'erreur, j'ai seulement l'erreur 1073676294 qui apparemment signifie juste que le buffer n'est pas vide.
Pouvez-vous m'aider en donnant un rapide coup d'oeil histoire de savoir s'il y a quelque chose que je n'ai pas compris. Je ne suis pas non plus sur de ma connectique, mais puisque j'ai tout de même un retour, je pense que ça doit marcher de ce coté la.
Vous trouverez ci-joint mon morceau de code, encore à l'état de test puisque c'est la premiere fois que je communique avec un intrument sous labview.
J'ajouterais aussi une copie d'écran de la réponse.
De plus voici le lien donnant les commandes de ma pompe, en page 39 : http://eldex.com/admin/wp-content/uploads/2015/10/optosu.pdf
Résolu ! Accéder à la solution.
le 11-15-2016 08:49 AM
Bonjour,
Je suppose que tu utilises ce VI dans un autre programme, car il manque le réglage de la liaison de série.
J'ai fait quelques modifications, fait le test avec cette nouvelle version.
Es tu sur de ton câble ? Car la pompe ne communique pas en full duplex, donc il faut être sur que les fils de bit de control sont correctement cablé (cf pin à pin p39).
Cdt,
Michael
le 11-15-2016 10:30 AM
Merci de votre réponse rapide.
J'avais effectivement copié sur le driver d'un autre instrument pour mon code puisque ma pompe n'a pas de driver labview. Etrangement le driver de l'autre instrument ne configure pas la liaison série.
Malheureusement, ce code ne marche pas non plus, je n'ai pas de réponse et l'erreur -1073807339.
Je pense qu'effectivement ma connectique n'est pas la bonne. Mais puisque j'avais une réponse (même si ce n'est pas celle souhaitée) et qu'en plus j'avais un message m'informant que le buffer n'était pas vide, j'avais l'espoir que la connectique faisait l'affaire.
Je vous remercie en tout cas pour votre réponse ainsi que votre enseignement sur labview.
Cdt,
le 11-16-2016 02:15 AM
Alors premier point, fait un cablage propre est en cohérence avec la pompe.
Il se peut que le retour d'erreur soit dû au fait que la pompe n'est pas en état de "recevoir" des instructions.
L'autre driver ne configure pas la liaison série, car peut être que la procédure d'installation préconise de configurer le port série au niveau de windows, et dans ce cas là, pas besoin de refaire le travail en LV. Pour ma part, je préfère toujours configurer ma liaison au moment de l'ouverture de celle-ci.
L'erreur que tu as obtenu est une erreur timeout. Cela signifie que le retour de la pompe n'a pas fourni assez de caractère et/ou que le caractère de terminaison n'a pas été détecté. Y a t il une valeur dans l'indicateur chaine ?
Dans le doute j'ai remodifié un peu mon VI, fais ce dernier test, et après réalise le cable qui va bien.
Bonne journée.
Michael
le 11-16-2016 05:25 AM
Merci encore une fois pour votre science.
Après test, j'avais toujours le même problème. J'ai donc ouvert mon cable et reconnecté les PINs dans le bon ordre. Cependant, mon cable RJ11 ne contenant que 4 fils, je n'ai pas pu cablé les PINs 1et 6 qui ont la fonction GROUND.
J'ai donc réitéré mon test, mon code ne marche plus du tout, ce n'était pas non plus un exemple. Mais vos deux codes renvoient toujours la même erreur (-1073807339 accompagné de la petit croix rouge) et sans réponse dans l'indicateur.
Je me demande ainsi si les deux GROUND sont indispensables en RS232.
Cdt,
le 11-16-2016 06:40 AM
Oui le gnd est indispensable en liaison RS232 afin d'avoir un 0 commun entre ton émetteur et ton récepteur.
De plus ce GND sert aussi pour la polarisation du handshacking (signaux DSR & DTR), donc pas le choix, il te faut trouver un cable RJ11 avec 6 fils. Si tu as un vieux modem d'ordinateur, normalement, tu peux récupérer ce type de cable, ils sont à 6 brins, et mettre un sub-D9 d'un côté.
le 11-17-2016 02:07 AM
Très bien, merci pour cet éclaircissement. Je vais tenter de régler ce problème puis je vous dirais ce qu'il en est, en espérant que cette fois soit la bonne.
Cdt,
le 11-18-2016 03:34 AM
Une fois le câble mis en oeuvre, effectivement tous les programmes marchaient parfaitement. Le mien avait un problème de double valeur parfois (je suppose une historie de buffer) mais il fonctionnait quand même car ma liaison série était configurée (automatiquement?) dans NI Max.
Je tiens donc à vous remercier pour votre aide très agréable et détaillée.
Bonne journée
le 11-18-2016 06:33 AM
Pas de souci, la communauté est là pour ça.
Bonne continuation pour toi dans la suite de ton programme.
En cas de nouvelle problématique, n'hésites pas à créer une nouvelle discussion.
Bonne journée.