Bonjour, j'ai créé un programme qui envoie des trames MODBUS ASCII sous visual basic 2005 express.
Maintenant j'aimerais rajouter le format RTU, mais la je coince, les sources sur le format RTU sont peu nombreuses et bug.
Concernant la construction du CRC, je n'ai pas de souci avec, il y a suffisamment de sources.
Je voudrais savoir sous quel format on envoie les infos en mode RTU.
En
MODBUS ASCII j'utilise la ligne suivante:
dim send_string as string
send_string = "01060100177071"
objMSCOMM.Output = Chr(&H3AS) & send_string & Chr(&HDS) & Chr(&HAS)
Aucun souci avec le modbus ASCII.
Par contre si je modifie ma trame en RTU , j'obtiens ca:
dim send_string as string
send_string = "0106000012ABAD14"
objMSCOMM.Output = send_string, cela ne marche pas.
J'ai vus quelque part que le mode RTU utilisait l'hexa pour sa trame.
Quelqu'un peut il me dire comment je dois convertir mon send_string, le format string ne doit pas être le bon. Me donner le type et le format de la ligen en verte ci-dessus?
J'ai essayer le format char et integer sans succés non plus.
J'ai vu également qu'il était question de silence au début et à la fin de la trame, et en fonction des matériels (automates, variateurs...), elle pouvait être différentes.
Quelqu'un peut il me donner quelque précision sur ces silences, comment les rajoute t-on dans le code, et dois t'on forcément connaitre la valeur du silence du recepteur?
Merci pour vos réponses