Créer un simple Client/Serveur à l'aide de Modbus en C
Je suis actuellement en train de travailler sur un projet qui permettra à des automates différents de communiquer. Pour ce faire, je voudrais créer un client et un serveur qui va parler en utilisant le protocole modbus. Je ne suis pas sûr si je veux être à l'aide de ModBus/TCP, ModBus/RTU ou ModBus/ASCII pour l'instant.
J'ai cherché pour le client/serveur des exemples en C et j'ai pu trouver des bibliothèques, mais pas de simple exemple de la communication. Je voudrais commencer à partir de zéro ainsi, les bibliothèques ne sont pas ce que je suis à la recherche d'.
Ce que je demande c'est si quelqu'un pouvait me donner un simple code écrit en C pour un client et/ou un serveur qui communiquent à l'aide de Modbus, depuis que je ne suis pas sûr de ce que je vais être en utilisant n'importe quel type de Modbus serait d'une grande aide (RTU/TCP/ASCII).
Le plus simple sera le mieux, ce que je voudrais le code pour démontrer, par exemple : une phase d'initialisation du serveur, une demande, une réponse, la fermeture de la connexion.
Je vous remercie beaucoup pour votre temps.
Une façon est de l'édition, avec une progression des mises à jour, une autre façon est de la générosité, mais vous devez attendre au moins deux jours. Cependant, restez à l'écoute, je suis en train d'écrire quelque chose 🙂
OriginalL'auteur PiggyGenius | 2015-04-13
Vous devez vous connecter pour publier un commentaire.
Trois choses:
Prendre un coup d'oeil à ce court mais très complet description, et également à la documentation de ce constamment mise à jour de la bibliothèque.
Voici une super-simplifiée RTU exemple pour Linux, basé sur libmodbus.
Permettez-moi un C99 de détente pour la compacité.
Dans le monde réel, vous devez également gérer correctement les signaux comme SIGTERM, etc...
Il y a aussi un
modbus_rtu_set_serial_mode
(RS232 vs RS485) fonction pour les noyaux Linux 2.6.28-delà. Vous pouvez trouver d'autres bibliothèques qui rendent le travail avec les RS485 plus facile sur votre plate-forme.Master extrait de
Des esclaves extrait de
Eh bien, ils expliquent comment le faire, mais je voudrais un exemple écrit (en C, au mieux, mais une autre langue serait ok) pour être sûr que je comprends bien, avant de commencer à mettre en œuvre ce protocole de communication. Vous semblez en savoir un peu plus sur modbus, peut-être que vous pourriez écrire un court de code montrant modbus RTU ou ASCII (je comprends modbus TCP) l'interaction entre un client et un serveur ? Je vous aime pour cela !
Juste la mise à jour que j'ai toujours bloqué sur modbus communication série si elle est RTU ou ASCII.
Merci beaucoup pour le code, je vais essayer de la mettre en œuvre dès que je peux, je suis étonné par le temps que vous avez pris pour m'aider et je vous en remercie beaucoup.
Vous n'avez pas besoin de me remercier... parce que je suis le BATMAN!! >:|
OriginalL'auteur matpop