le 05-10-2012 04:05 AM
Bonjour,
Actuellement en stage, je dois réaliser un programme sur Labview permettant de contrôler une Carte relais 8 canaux 24 VDC 7A (voici le lien pour voir ce produit sur internet : http://www.conrad.fr/carte_relais_8_canaux_24_vdc_7a_p_48674_49297_923918_894517_FAS)
Seulement voilà, je n’arrive pas à communiquer avec cette carte, j’ai pourtant fait tous les montages et réglages nécessaires (utilisation d’un câble null-modem, réglage à 19200 bauds, 8 bits et 1 bit de parité…).
Je lui envois des ordres mais rien ne réponds car j’ai une erreur de timeout apparemment. Je vous ais joint une copie écran de mon programme test.
Pensez vous que cette carte soit pilotable via Labview d’autant plus qu’il n’y a aucun drivers d’instrument lui correspondant ?
D’où viendrez mon erreur de timeout car j’ai beau chercher et rajouter un temps d’attente (voir copie écran) rien n’y fait.
Merci d'avance
Résolu ! Accéder à la solution.
le 05-10-2012 04:26 AM
Pour moi il y a deux choses, tu lis des données, as tu essayé de les décoder??? ta trame d'instruction m'a l'air érronée, vérifie que tu envoie bien la bonne trame à la bonne adresse.
le 05-10-2012 04:34 AM
Ce que j'envois dans le buffer d'écriture c'est l'instruction qui permet d'allumer tous les relais, et qui marche lorsque j'utilise d'autres logiciels.
"0x" c'est pour lui dire que je communique en hexadécimal, "03" c'est le numéro de la commande "envoyer des données", "00" c'est le numéro de la carte, "FF" c'est 255 en hexadécimal et cela correspond à tous les relais allumés (il y a 8 relais, de 2^0 à 2^7). Enfin "FC" c'est un ou exclusif des trois infos précédentes. Voilà comment la carte doit recevoir l'instruction.
le 05-10-2012 05:03 AM
La première commande à envoyer logiquement me semble être 01 (setup initialisation) ensuite vérifie la trame de réponse. Ton afficheur de trame lue devrait être configuré dans un display plus "user friendly" pour voir ce qui est lu
le 05-10-2012 05:14 AM
Je ne comprends pas la réponse de la carte, je ne sais pas à quoi correspond ce code : "ÿ 0Ïÿ ô+"
Sous MAX j'essais aussi d'allumer les relais mais rien n'y fait j'ai toujours l'erreur de timeout. Pourtant j'ai mis les bons paramètres (19200Bauds, 8 bits de parité....), et j'envois des instructions comme l'indique le manuel de la carte.
le 05-10-2012 05:17 AM
Tu dois pas être dans le bon display (clic droit sur l'indicateur et sélectionne Hex Display par exemple)
As tu essayé d'envoyer l'initialize avant d'écrire des données directemment??? oui les paramètres de la comm rs semblent OK
le 05-10-2012 05:24 AM
Je me suis mis en écriture Hexadécimale dans le buffer d'écriture mais pas de réponse.
Que voulez vous dire par envoyer l'initialize ? il faut que j'envois simplement 01 dans le buffer d'écriture ?
le 05-10-2012 05:25 AM
Je parlais du buffer de LECTURE sur la copie d'écran il y a une réponse...
Pas seulement 01, mais la trame associée à cette instruction comme tu as fais pour la trame d'envoie de données.
le 05-10-2012 05:37 AM
Je reviens sur ce que j'ai dit, j'avais mal écrit l'instruction, maintenant cela marche grâce au fait d'avoir mis l'écriture en hexa dans le buffer d'écriture.
Je vous remercie beaucoup du temps que vous m'avez accordé et pour m'avoir débloqué!
le 05-10-2012 06:18 AM
Ravi d'avoir pu aider. Tu peux passer le sujet en "Résolu"