Partage

Protocole Modbus

Le 8 février 2012 à 19:53:38

Bonjour tout le monde,

J'aimerai quelques conseils, cours(pour débutant :p ) pour comprendre comment fonctionne ce protocole et surtout comment l'utiliser en programmation. J'ai bien sur regarder un wiki sur le sujet mais pas compris grand chose(ou peut être que j'suis vraiment un gros zéro :p ). Les langages où j'aimerai comprendre comment l'utiliser sont : le c++ ,le java et voir même le php(si c'est possible) mais je suis ouvert à tout autre langage(c'est vous les sensei :p). Je remercie d'avance à ceux qui me donneront un peu de leur temps :D .

Oma
Publicité
Le 8 février 2012 à 19:53:38
Le 4 avril 2012 à 11:43:51

Salut à toi,

Tu veux te servir de ce protocole de quelle façon? Liaison série ou via un réseau?
Le 5 avril 2012 à 18:44:52

Bonjour,

Merci d'abord pour m'avoir répondu, je pensais que personne n'aurait répondu.
alors donc ça serait en liaison série.

merci d'avance.
Le 6 avril 2012 à 20:27:26

Le protocole MODBUS est un protocole permettant a un maître, en général un automate industriel, de communiquer avec des esclaves, le maître interroge ses esclaves avec un numéro de fonction pour écrire ou lire des octects ou des mots de 16 bits en général.

Le protocole MODBUS est en général pour les applications banales fixées à un débit de 9600 bauds/seconde, (9600 bit par seconde dans notre cas).

Une trame MODBUS requête est composé dans l'ordre de ces éléments :

adresse de l'esclave, numéro de fonction, données, CRC 16bits ( contrôle de redondance cyclique ).

Aprés il faut que tu sache que le prtocole MODBUS est utilisées avec le protocole tcp ip, et donc imbriqué dedans, si tu veux l'utiliser de la sorte, il te faudra déjà savoir utiliser ce protocole pour utiliser le protocole MODBUS, sinon je t'invite à te documenter sur ces différents point :

Trame Requete Modbus
Trame Reponse Modbus
Trame Reponse Erreur Modbus
Calcul du CRC 16 bits Modbus
Liste des fonctions Modbus
Liste des code d'erreurs Modbus
Debit Modbus
Niveau 7 (applicatif) du Modèle OSI

Si tu veux plus de renseignement sur un point n'hésite pas.

Nino
Le 7 avril 2012 à 9:35:32

Bonjour,

Merci Nino pour ces informations, je vais me renseigner sur les différents point que tu m'as donné. :)
Le 7 avril 2012 à 11:27:55

Le principe au final est assez simple, une trame composé des éléments que je t'ai donné precedement, chaque caractère est composé de 11 bits :
- bit de start ( 0 )
- bit CB ( différent en fonction des fonctions et des esclaves a qui tu envoie la trame )
- 8 bits de données, adresse, mot etc...
- bit de stop ( 1 )

Soit un total de 11 bits pour définir ce qu'on appelle un 'caractère', tu trouvera ici un pdf court et simple sur MODBUS :

Modbus

Les quelques point difficile à comprendre sont le CRC, et n'oublie pas que le modbus est un protocole qui fonctionne en Big Endian ( d'abord l'octet de poid fort ) et les temps à respecter.

Entre chaque trame MODBUS, il doit y avoir minimum le temps de transfert de 3,5 caractère ( 3,5 * 11 * (1/9600)) mais entre chaque caractère, il ne doit pas y avoir plus de 1,5 caractère temps ( 1,5 * 11 * (1/9600)).

un autre lien pas mal du tout : Modbs 2

Protocole Modbus

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown