1 / 28

Les bases du protocole Modbus

Les bases du protocole Modbus. Etre capable d’aborder la mise en œuvre du protocole Modbus sur différents supports physiques de type liaison série, Ethernet TCP-IP, ou Modbus Plus. Syntaxe des principales requêtes. D. Classes d’implémentation. C. Les principaux codes fonction. B.

Download Presentation

Les bases du protocole Modbus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Les bases du protocole Modbus • Etre capable d’aborder la mise en œuvre du protocole Modbus sur différents supports physiques de type liaison série, Ethernet TCP-IP, ou Modbus Plus Syntaxe des principales requêtes D Classes d’implémentation C Les principaux codes fonction B Origines et principes de fonctionnement A Durée : 40 min. Expert, Pédagogie : Philippe WARIN Réalisation : Schneider-Electric

  2. ORIGINES ET PRINCIPES DE FONCTIONNEMENT Syntaxe des principales requêtes D Classes d’implémentation C Les principaux codes fonction B Origines et principes de fonctionnement Origines et principes de fonctionnement A

  3. - Les origines 1978 Modbus est un protocole de messagerie Créé en 1978 par Modicon Ouvert et simple à mettre en oeuvre Largement diffusé dans l’industrie

  4. Couche 7 modèle OSI Utilisé sur différents supports Liaison série Maitre/esclave RS232, RS485 Modbus Plus Anneau à jeton Modbus Ethernet TCP/IP et autres liaisons: infra-rouge, radio etc… - Modbus et le modèle OSI Modbus repose sur le modèle de communication client/serveur

  5. Modbus sur Ethernet TCP-IP Modbus Plus Modbus sur RS232 Modbus sur RS485 - Modbus dans les architectures réseaux Modbus peut être utilisé dans plusieurs architectures réseaux

  6. Requête A quelle vitesse le moteur tourne t’il ? Le Client est une entité demandant un service Le Serveur est une entité qui rend service à un client 1000 tour/mn Réponse - Modbus fonctionne suivant le concept Client / Serveur Client Serveur

  7. Adresse Code Fonction Data Contrôle d’erreur Complément d’information dépendant du code fonction = 1 à 127 Action à réaliser Contrôle de la validité Identifie le destinataire - PDU = Protocol Data Unit Format demessage unique et indépendant des couches basses. PDU = Protocol Data Unit octet Le format des champs « Adresse » et « Contrôle d’erreur » dépend du support réseau utilisé

  8. 1 Initialise les données Transmet la requête 2 Code Fonction Data requête 3 Réalise l’action demandée 4 Initialise la réponse Complément d’information 1 à 127 Transmet la réponse 5 6 Traite la réponse Code Fonction Data réponse Données demandées Egal au Code fonction de la requête - Déroulement d’une transaction sans erreur Requête Client Serveur Réponse

  9. 1 Initialise les données Transmet la requête 2 Code Fonction Data requête 3 Détecte une erreur dans l’action demandée 4 Initialise données message d’erreur Complément d’information 1 à 127 Transmet le message d’erreur 5 6 Traite la réponse Code fonction Exception Code Exception Code fonction Exception = Code fonction + 80H Valeur entre 129 et 255 Code Exception indique la raison du refus - Déroulement d’une transaction avec erreur Requête Client Serveur Réponse

  10. - Fonctionnement détaillé coté serveur Attente réception requête Réception Validation code fonction Invalide Code d’exeption = 1 Valide Validation adresse données Invalide Code d’exeption = 2 Valide Validation valeurs données Invalide Code d’exeption = 3 Valide Execution de la fonction Invalide Code d’exeption = 4, 5 ou 6 Valide Envoi de la réponse Exeception Envoi de la réponse Modbus

  11. LES PRINCIPAUX CODES FONCTION Syntaxe des principales requêtes D Classes d’implémentation C Les principaux codes fonction Les principaux codes fonction B Origines et principes de fonctionnement A

  12. Les 3 catégories de codes fonction Codes fonction Public 127 Public Validés par l’organisation Modbus.org Documentés publiquement 110 Définis par l’utilisateur Avec garantie d’unicité 100 Public Définis par l’utilisateur 72 Définis par l’utilisateur Implémentable sans l’accord de l’organisation Modbus.org 65 Sans garantie d’unicité Public Réservés Utilisés par certaines compagnies et non disponibles 1

  13. Entrées TOR par exemple Bit Lecture seule Bit Lecture / Ecriture Données modifiables par application Mot Lecture seule Entrées analogiques par exemple Mot Lecture / Ecriture Données modifiables par application Les 4 types de variables accessibles Discrete Inputs Coils Input Registers Holding Registers Chevauchement possible des tables. 65 536 variables maximum.

  14. - Codes fonction public d’accès aux variables

  15. - Autres codes fonction public

  16. CLASSES D’IMPLEMENTATION Syntaxe des principales requêtes D Classes d’implémentation Classes d’implémentation C Les principaux codes fonction B Origines et principes de fonctionnement A

  17. Liste de services à implémenter fonction des applications ciblées pour garantir l’interopérabilité des équipements Le protocole Modbus fait partie de ces services Device Management Messagerie - Classes d’implémentation Transparent Ready

  18. - Règles et vocabulaire 3 classes dépendant du niveau des fonctionnaltés implémentée. Imbrication modèle « Poupées russes » Basic Extended Regular Appartenance à une classe si et seulement si toutes les caractéristiques obligatoires sont supportées Un équipement peut aussi supporter des caractéristiques d’une classe supérieure.

  19. - Classes de messagerie Classes de messagerie identiques pour Client et Serveur Accès aux registres uniquement CF 03 : Read Holding Registers CF 16 : Write Multiple Registers Basic Basic + Accès aux bits si nécessaire et au diagnostic si liaison série CF 01 : Read Coils CF 02 : Read discrete inputs CF 15 : Write Multiple Coils CF 08 : Diagnostic Regular Extended Regular + Accès aux fichiers CF 20 : Read File Record CF 21 : Write File Record Write Single Register et Write Single Coil sont fortement recommandée pour les serveurs (compatibilité anciens produits).

  20. - Classes de Device Management Classes de Device Management identiques pour Client et Serveur Accès Vendor Name, product code et version CF 43 : Read Device Identification Sous code 14 – Accès Niveau 1 Basic Basic + Accès Vendor URL, Product Name, Model name, User application name Regular CF 43 : Read Device Identification Sous code 14 – Accès Niveau 2 Extended Regular + Accès objets privés dépendant du produit CF 43 : Read Device Identification Sous code 14 – Accès Niveau 3

  21. SYNTAXE DES PRINCIPALES REQUETES Syntaxe des principales requêtes D Syntaxe des principales requêtes Classes d’implémentation C Les principaux codes fonction B Origines et principes de fonctionnement A

  22. 0 à 65 535 2 x n n = 1 à 125 0 à 65 535 0 à 65 535 - Read Holding Registers Requête : 1 octet 2 octets 2 octets Code Fonction 03 Adresse du premier registre Nombre de registres à lire Réponse : 1 octet 2 octets 2 octets 2 octets Code Fonction 03 Nombre d’octets lus Valeur du premier registre Valeur du dernier registre

  23. 2 x n 0 à 65 535 0 à 65 535 0 à 65 535 n = 1 à 123 0 à 65 535 n = 1 à 123 - Write Multiple Registers Requête : 2 octets 2 octets 1 octet 2 octets 2 octets 1 octet Code Fonction 16 Adresse du premier registre Nombre de registres à écrire Nombre d’octets à écrire Valeur du premier registre Valeur du dernier registre Réponse : 1 octet 2 octets 2 octets Code Fonction 16 Adresse du premier registre Nombre de registres écrits

  24. 0 à 65 535 0 à 65 535 0 à 65 535 0 à 65 535 - Write Single Register Requête : 2 octets 1 octet 2 octets Code Fonction 06 Adresse du registre Valeur du registre Réponse : 2 octets 1 octet 2 octets Code Fonction 06 Adresse du registre Valeur du registre

  25. n =1 à 2000 0 à 255 n/8 + 1 si R 0 à 65 535 0 à 255 - Read Coils Requête : 1 octet 2 octets 2 octets Code Fonction 01 Adresse de la première sortie digitale Nombre de sorties digitales à lire Réponse : 1 octet 1 octet 1 octet 1 octet Code Fonction 01 Nombre d’octets lus Valeur du premier octet Valeur du dernier octet

  26. n =1 à 2000 0 à 255 n/8 + 1 si R 0 à 65 535 0 à 255 - Read Discrete inputs Requête : 1 octet 2 octets 2 octets Code Fonction 02 Adresse de la première entrée digitale Nombre d’entrées digitales à lire Réponse : 1 octet 1 octet 1 octet 1 octet Code Fonction 02 Nombre d’octets lus Valeur du premier octet Valeur du dernier octet

  27. n/8 + 1 si R n =1 à 1968 n =1 à 1968 0 à 65 535 0 à 255 0 à 255 0 à 65 535 - Write Multiple Coils Requête : 1 octet 1 octet 1 octet 2 octets 2 octets 1 octet Code Fonction 15 Adresse de la première sortie digitale Nombre de sortie digitales à écrire Nombre d’octets à écrire Valeur du premier octet Valeur du dernier octet Réponse : 1 octet 2 octets 2 octets Code Fonction 15 Adresse de la première sortie digitale Nombre de sortie digitales écrites

  28. m =0 à 255 1 à 4 1 à 255 1 à 4 1 à 3 1 à 255 0 = non 255 = oui 1 octet 1 octet n’ octets Adresse objet m+1 Longueur objet m+1 Valeur de l’objet m+1 n = 1 à 255 m = 0 à 255 - Read Device Identification Requête : Niveaux d’accès : 1 : Basic 2 : Regular 3 : Extended 4 : Individual 1 octet 1 octet 1 octet 1 octet Code Fonction 43 Sous code fonction 14 Niveau d’accès Adresse de objet identification Réponse : 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet Code Fonction 43 Sous code fonction 14 Niveau d’accès Classe d’implémentation dupportée Réponse fractionnée Si fractionné adresse prochain objet Nombre d’objets identification 1 octet 1 octet n octets Adresse objet m Longueur objet m Valeur de l’objet m

More Related