Aide pour la prise en main du Protocole MODBUS/JBUS
Bonjour,
Voici le contexte, j'effectue un stage dans la supervision technique centralisée d'un groupe et l'une de mes taches est de vérifier si les informations transmises par les équipements sont cohérentes.
Pour cela, je dois réaliser un soft qui jouera le rôle de maître et qui me permettra de communiquer par liaison série RS232 avec un TES.
Remarque : Les TES convertissent leurs entrées( 32 par exemple), chaque broche correspondant à l'état d'un équipement, en mots qui sont « sérialisés » et dans l’autre sens, « désérialisent » les mots en provenance du maître pour commander les sorties.
Le protocole de communication sérialisé utilisé est le Modbus/Jbus.
J'ai commencé à faire des recherches et des questions me viennent en tête :
A l'aide de fonction de lecture et d'écriture ( par ex : ReadFile,WriteFile ou SendData et ReadData de la classe CSerial pour ceux qui connaissent), je dois emettre le protocole JBUS sous forme de CString??
Pour emettre des données à travers une liaison série, sont elles toujours de type char, cstring?
PLusieurs classes sont disponiblibes sur codeguru, je n'arrive pas à avoir assez de recul pour le choix de la classe :
CSerial qui me semble simple : http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2503/
CSerialPort : http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c5395
Serial Communication in Windows : http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c5425/
Merci si vous pouvez répondre à ces questions, ou m'expliquer, m'orienter.
Bonne journée
Nicolas
Re: Aide pour la prise en main du Protocole MODBUS/JBUS
Bonjour,
Citation:
Envoyé par homeostasie
A l'aide de fonction de lecture et d'écriture ( par ex : ReadFile,WriteFile ou SendData et ReadData de la classe CSerial pour ceux qui connaissent), je dois emettre le protocole JBUS sous forme de CString??
Pour emettre des données à travers une liaison série, sont elles toujours de type char, cstring?
Les ports séries ont deux mode de fonctionnement : En mode texte ou en mode binaire. Les trames Modbus sont des suite d'octets protocolés, donc le mode binaire est mieux. Il te suffit d'avoir une tableau d'éléments "unsigned char" que tu envois par la RS232 via WriteFile.
Pour les classes que tu proposes, je ne les connais pas, mais tu as aussi l'excellente classe de Farscape qui fonctionne très bien (sauf sur Embedded Visual C++). Bonne trames :)