Schneider Electric Communication réseau Modbus/Jbus Mode d'emploi
Ajouter à Mes manuels31 Des pages
▼
Scroll to page 2
of
31
Modbus Guide utilisateur Sommaire ___________________________________________________________________________ Chapitre Page 1 Présentation 1/1 1.1 Structure de la documentation réseaux 1/1 1.2 Intégration dans le modèle OSI 1/2 1.3 Présentation 1/3 1.4 Principe de fonctionnement : 1.4-1 La question : 1.4-2 La réponse : 1.4-3 Format d'une trame question/réponse : 1.4-4 Format général d'une trame 1/4 1/5 1/5 1/6 1/6 2 Services Modbus 2/1 2.1 Services supportés par Modbus 2.2-1 Fonctions principales 2.2-2 Fonctions secondaires 2/1 2/2 2/2 2.3 Fonctions gérées par la carte PCMCIA 2/5 3 Mise en œuvre matérielle 3/1 3.1 Mise en oeuvre matérielle 3/1 3.2 Installation du SCA50 3.2-1 Fixation 3.2-2 Câblage 3.2-3 Adaptation fin de ligne 3/3 3/3 3/3 3/3 3.3 Installation du TBX 0010 3/4 ___________________________________________________________________________ S/1 Modbus Guide utilisateur Sommaire ___________________________________________________________________________ Chapitre Page 4 Annexes 4/1 4.1 Détail des trames Modbus/Jbus 4.1-1 Lecture de n bits 4.1-2 Lecture de n mots 4.1-3 Ecriture d'un bit de sortie 4.1-4 Ecriture d'un mot de sortie 4.1-5 Ecriture de n bits de sortie 4.1-6 Ecriture de n mots de sortie 4/1 4/1 4/2 4/3 4/4 4/5 4/6 4.2 Particularité du mode ASCII 4/7 4.3 Exemples 4.3-1 API 5000 maître et TSX 37 esclave 4.3-2 TSX 37 maître API 5000 esclave 5 Index communication Modbus 4/8 4/8 4/10 5/1 ___________________________________________________________________________ S/2 Présentation Chapitre 11 1 Présentation 1.1 Structure de la documentation réseaux Ce manuel s'adresse aux utilisateurs souhaitant mettre en œuvre un réseau Modbus/Jbus. L'ensemble de la documentation réseau est structuré de la manière suivante : • les généralités du monde de la communication X-WAY sont abordées dans le Manuel de Référence Communication TSX DR NET, • les informations générales concernant les aspects matériels sont spécifiées dans le manuel de base : TSX DM 37F, • les informations générales concernant la mise en œuvre logicielle des différents réseaux figurent dans le manuel : TLX DM PL7 M10F, • les informations propres à chaque réseau sont détaillées dans des manuels spécifiques : - réseau FIPWAY : TSX DG FPWF - bus UNI-TELWAY : TSX DG UTWF - protocole Modbus/Jbus : TSX DG MDBF (ce document) - manuel de référence JBus : TEM 60000F Modbus / Jbus AEG TSX DG MDB n ® AEG TEM 15050 n ® AEG TEM 60000 AEG TSX DM 37N AEG TSX DM PL7M MATERIEL LOGICIEL ___________________________________________________________________________ 1/1 1.2 Intégration dans le modèle OSI Le rapprochement Modbus/Jbus et modèle OSI s'effectue au niveau des couches physiques liaison et application : 7 Application Protocole Modbus / Jbus - Lecture/Ecriture de variables (bits, mots, E/S) - Mode de marche - Diagnostic - Historique des échanges 6 Présentation 5 Session 4 Transport 3 Réseau 2 Liaison 1 Physique Routage par diffusion d'adresse sur le support physique Accès au réseau par une gestion Maître / Esclave Contrôle des trames par CRC Paire torsadée 19200 Bauds maximum RS232 / RS 485 / Boucle de courant Note : Les protocoles ou mécanismes de fonctionnement spécifiés dans les couches 2, 3 et 7 ne sont pas normalisés et constituent des standards de fait. ___________________________________________________________________________ 1/2 Présentation 1.3 1 Présentation La communication par Modbus permet l'échange de données entre tous les équipements connectés sur le bus. Le protocole Modbus est un protocole créant une structure hiérarchisée (un maître et plusieurs esclaves). Une liaison multipoints relie entre eux maître et esclaves. Le maître gère seul l'ensemble des échanges, deux types de dialogue sont possibles : • le maître échange avec un esclave et attend sa réponse, • le maître échange avec l'ensemble des esclaves sans attente de réponse (diffusion générale). Ce type de communication est disponible sur les différents modules de communication au format PCMCIA intégrant une liaison Modbus. Cette liaison est associée à la couche physique : • RS232 pour le module TSX SCP 111, • Boucle de courant 20 mA pour le module TSX SCP 112, • RS 422 / 485 pour le module TSX SCP 114. La mise en œuvre matérielle de ces cartes est donnée dans le manuel TSX DM 37F, intercalaire L. ___________________________________________________________________________ 1/3 1.4 Principe de fonctionnement : Les automates utilisent la technique "maître- esclave", dans laquelle un équipement (le maître) a l'initiative des transactions en émettant une demande (requête). L' équipement à qui s'adresse la requête (esclave) émet vers le maître la réponse à sa requête. Le maître peut aussi diffuser un message à l'ensemble des esclaves (requête en diffusion), dans ce cas les esclaves ne répondent pas au maître. Mécanisme question réponse : Maître question Esclave 1 réponse Esclave 2 Esclave 3 Esclave n Le maître interroge un esclave de numéro unique sur le réseau, et attend de la part de cet esclave une réponse. Mécanisme de la diffusion : Maître diffusion Esclave 1 Esclave 2 Esclave 3 Esclave 4 Le maître diffuse un message à tous les esclaves présents sur le réseau, ceux-ci exécutent l'ordre du message sans émettre une réponse. ___________________________________________________________________________ 1/4 Présentation 1 1.4-1 La question : La question contient un code fonction indiquant à l'esclave adressé quel type d'action est demandé. Les données contiennent des informations complémentaires dont l'esclave a besoin pour exécuter cette fonction. Le champ octets de contrôle permet à l'esclave de s'assurer de l'intégrité du contenu de la question. 1.4-2 La réponse : Lorsqu'un esclave émet une réponse suite à une transaction normale, le code fonction de la réponse est un écho de celui contenu dans la question. Les données sont celles collectées par l'esclave comme par exemple la valeur d'un registre ou un status. Si une erreur apparaît, le code fonction est modifié pour indiquer que la réponse est une réponse d'erreur. Les données contiennent alors un code (code d'exception) permettant de connaître le type d'erreur. Le champ de contrôle permet au maître de confirmer que le message est valide. Après réception d'une question, une station esclave contrôle la cohérence de la trame. Si un paramètre illégal est détecté (code fonction, adresse, valeur) ou si la station n'est pas apte à exécuter la demande, elle renvoie une réponse d'exception de la forme cidessous. Exemple de codes d'exception : (d'une station esclave) 01 : code fonction inconnu, 02 : adresse incorrecte, 03 : valeur incorrecte, 04 : station non prête à exécuter la demande, 05 : acquittement, la station a accepté et est en train de traiter la demande, 06 : la station réalise un traitement et est indisponible, 07 : acquittement négatif, D'autres codes d'exception peuvent exister, ils sont propres à chaque produit raccordé sur le réseau. ___________________________________________________________________________ 1/5 1.4-3 Format d'une trame question/réponse : Question : Numéro d'esclave Code fonction Informations spécifiques concernant la demande (adresse, nombre, valeur..) Mot de contrôle 1 octet 1 octet n octets 2 octets Code fonction données reçues Mot de contrôle 1 octet n octets 2 octets Code fonction Code d'exception Mot de contrôle 1 octet 1 octet 2 octets Réponse positive : Numéro d'esclave 1 octet Réponse d'exception : Numéro d'esclave 1 octet Cet octet prend la valeur : code fonction + bit poids fort à 1 1.4-4 Format général d'une trame Deux types de codages peuvent être utilisés pour communiquer sur un réseau Modbus. Tous les équipements présents sur le réseau doivent être configurés selon le même type. Type ASCII En mode ASCII, tous les messages commencent par le caractère 'deux points' ":", et se terminent avec 'carriage-return - line feed' "CRLF". Les caractères transmis dans les autres champs sont du type hexadécimal 0-9, A-F. Les équipements sur le réseau surveillent continuellement l'arrivée du caractère ":", quand il est arrivé, chaque équipement décode le champ suivant (champ adresse) de façon à connaître l'adresse du destinataire, et ensuite prendre en compte les caractères suivants si l'esclave s'est reconnu. La fin du message sera indiquée par les caractères "CRLF" précédés par les deux caractères de contrôle contenant le LRC (Longitudinal Reducing Check). START ADRESSE FONCTION DONNEES LRC END 1 Caractère ":" 2 Caractères 2 Caractères n Caractères 2 Caractères 2 Caractères "CRLF" ___________________________________________________________________________ 1/6 Présentation 1 Type RTU C'est le mode le plus utilisé, il est plus performant que le mode ASCII. En mode RTU, les messages commencent par un intervalle de silence sur le réseau d'au-moins 3,5 caractères. Tous les équipements présents sur le réseau écoutent le bus en permanence, et décodent le premier octet de façon à connaître l'adresse du destinataire, et ainsi prendre en compte les caractères suivants si l'esclave s'est reconnu. Le dernier caractère transmis, un silence d'au moins 3,5 caractères indique la fin du message. Une nouvelle trame peut alors être émise. Les caractères sont du type hexadécimal 0-9, A-F. Les datas contenus dans la trame doivent contenir la totalité du message, et être transmis en continu. L'intégrité du message est indiquée par le contenu du CRC (Cyclical Redundancy Check). START ADRESSE FONCTION DONNEES CRC END silence 1 octet 1 octet n octets 2 octets silence Important : la longueur maximum des messages est de 256 caractères. ___________________________________________________________________________ 1/7 ___________________________________________________________________________ 1/8 ServicesChapitre Modbus 2 2 2 Services Modbus 2.1 Services supportés par Modbus Modbus offre 19 fonctions différentes. Elles se caractérisent par un code fonction sur un octet (en hexa). Tous les équipements ne supportent pas tous les codes fonction. Code Nature des fonctions Modbus S1000 TSX 37 Série 7 H'01' Lecture de n bits de sortie consécutifs X X X H'02' Lecture de n bits d'entrée consécutifs X X X H'03' Lecture de n mots de sortie consécutifs X X X H'04' Lecture de n mots d'entrée consécutifs X X X H'05' Ecriture de 1 bit de sortie X X X H'06' Ecriture de 1 mot de sortie X X X H'07' Lecture du status d'exception X X X H'08' Accès aux compteurs de diagnostic X X H'0B' Lecture du compteur d'événements X X X H'0C' Lecture des événements de connexion X X X t t H'09' Télécharg , télédécharg et modes de marche H'0A' Demande de compte-rendu de fonctionnement t t H'0D' Télécharg , télédécharg et modes de marche X H'0E' Demande de compte-rendu de fonctionnement X H'0F' Ecriture de n bits de sortie X X X H'10' Ecriture de n mots de sortie X X X X X H'11' Lecture identification t t H'12' Télécharg , télédécharg et modes de marche H'13' Reset de l'esclave après erreur non recouverte Les services sont classés en trois catégories : • l'écriture ou la lecture de mots ou bits, • les fonctions pour le diagnostic des équipements, • les fonctions pour gérer les modes de marche d'un équipement. Les principales fonctions en caractères gras sont décrites en détail en annexe. Adressage TSX 37 : Le mot 0 est adressé par l'adresse 0, le mot n est adressé par l'adresse n. Le bit 0 est adressé par l'adresse 0, le bit n est adressé par l'adresse n. Voir le manuel de référence TEM 60000F pour adressage S1000. ___________________________________________________________________________ 2/1 2.2-1 Fonctions principales Lecture de n bits de sortie Code : 01 Cette fonction permet d'accéder à des bits de sortie, pouvant être lus ou écrits, définis dans la mémoire d'un esclave. Lecture de n bits d'entrée code : 02 Cette fonction, identique à la précédente et possédant les mêmes limites, s'adresse aux bits d'entrée seulement en lecture par le maître. Lecture de n mots de sortie Code : 03 Cette fonction permet d'accéder à des mots de sortie, pouvant être lus ou écrits, définis dans la mémoire d'un esclave. Lecture de n bits d'entrée code : 04 Cette fonction, identique à la précédente et possédant les mêmes limites, s'adresse aux mots d'entrée seulement en lecture par le maître. Ecriture d'un bit de sortie Code : 05 Cette fonction permet le positionnement à 0 ou à 1 d'un bit de sortie (seul accessible en écriture) défini dans la mémoire d'un esclave. Ecriture d'un mot de sortie code : 06 Cette fonction, identique à la précédente et possédant les mêmes limites, s'adresse aux bits d'entrée seulement en lecture par le maître. Ecriture de n bits de sortie Code : 0F Cette fonction permet au maître d'écrire des bits de sortie, pouvant être lus ou écrits, dans la mémoire d'un esclave. Ecriture de n mots de sortie code : 10 Cette fonction permet au maître d'écrire des mots de sortie, pouvant être lus ou écrits, dans la mémoire d'un esclave. 2.2-2 Fonctions secondaires Lecture du status d'exception Code : 07 Cette fonction donne accès à 8 bits de status enregistrant certains événements chez un esclave. Diagnostic Code : 08 Cette fonction de diagnostic permet de tester le système de communication entre un maître et un esclave en testant au niveau de l'esclave un certain nombre d'informations internes. Pour cela un code sous-fonction est inséré dans la trame à la suite du code fonction sur 1 octet. ___________________________________________________________________________ 2/2 Services Modbus 2 Echo Code : 08/00 Cette fonction de diagnostic demande à l'esclave interrogé de retourner intégralement le message envoyé par le maître. Reprise communication Code : 08/01 Cette fonction réalise la réinitialisation de la voie (suppression des messages en cours). La configuration de la voie est conservée. Lecture du registre diagnostic Code : 08/02 Cette fonction permet l'accès à un mot de 16 bits contenant des informations sur l'état de l'esclave. Changement délimiteur ASCII Code : 08/03 En mode ASCII, un octet est échangé par deux caractères ASCII, représentant son codage en hexadécimal. Les messages successifs sont séparés par un caractère délimiteur, initialisé à H'0A' (Line Feed). Passage en mode écoute Code : 08/04 Cette fonction force un esclave à passer en mode écoute seul (LOM). Dans ce mode, l'esclave enregistre les messages qui lui sont adressés mais n'émet pas de réponse. Remise à zéro des compteurs Code : 08/0A Cette fonction effectue la remise à zéro de tous les compteurs d'un esclave surveillant les échanges, ainsi que du registre de diagnostic Nombre de messages vus sur la ligne Code : 08/0B Cette fonction permet l'accès à un compteur 16 bits ( incrémentations de 0 à FFFF) totalisant le nombre de tous les messages vus sur la ligne et traités par l'esclave. Nombre d'erreurs de checksum Code : 08/0C Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de messages reçus par l'esclave avec une erreur de checksum. Nombre de réponses d'exception Code : 08/0D Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de réponses d'exception émises par le coupleur esclave (après réception d'un message dont le contenu est incorrect). Nombre de messages adressés à l'esclave Code : 08/0E Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de messages reçus par l'esclave, quelle que soit leur nature. Nombre de non réponses du processeur esclave Code : 08/0F Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de messages émis par l'esclave vers le maître et restés sans réponse. Nombre de réponses correctes code : 08/10 Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de réponses correctes émises par les esclaves. ___________________________________________________________________________ 2/3 Nombre de messages reçus en mode écoute Code : 08/11 Cette fonction permet d'accéder à un compteur de 16 bits totalisant le nombre de messages reçus par un esclave. Nombre de caractères reçus erronés Code : 08/12 Cette fonction permet l'accès à un compteur de 16 bits totalisant le nombre de caractères reçus erronés par un esclave. Lecture du compteur d'événements Code : 0B Cette fonction permet de lire 2 mots de 16 bits : Un status et un compteur d'événements. Lecture événements connexion Code : 0C Cette fonction permet d'accéder aux informations d'un esclave: • mot status et compteur d'événements (idem fonction B), • nombre de messages vus sur la ligne et traités par l'esclave (idem fonction 08/0B), • contenu du compteur d'événements de connexion (64 octets maximum). Lecture identification Code : 11 Cette fonction permet de lire un mot de 16 bits contenant les informations de status de l'esclave adressé. ___________________________________________________________________________ 2/4 Services Modbus 2.3 2 Fonctions gérées par la carte PCMCIA La carte PCMCIA assure la conversion du protocole UNI-TE en protocole Modbus, il est donc possible d'utiliser les fonctions PL7 Micro pour communiquer avec des équipements esclave Modbus. Les fonctions utilisées sont : READ_VAR, WRITE_VAR, SEND_REQ. Fonctions de communication READ_VAR WRITE_VAR Carte PCMCIA UNI-TE Passerelle conversion UNI-TE / Modbus Modbus SEND_REQ Code fonction Modbus Fonction de communication PL7 Micro 01 READ_VAR 02 SEND_REQ 03 READ_VAR 04 SEND_REQ 05 WRITE_VAR 06 WRITE_VAR 07 SEND_REQ 08 + sous-codes SEND_REQ 0B SEND_REQ 0C SEND_REQ 0F WRITE_VAR 10 WRITE_VAR 11 SEND_REQ Les fonctions de communication sont décrites dans le manuel : logiciel PL7 Miicro TLX DS PL7M 10F tome 2 intercalaire L ___________________________________________________________________________ 2/5 ___________________________________________________________________________ 2/6 Mise en œuvre matérielle Chapitre 33 3 Mise en œuvre matérielle 3.1 Mise en oeuvre matérielle Exemple de raccordement de Modbus/Jbus en RS485 1 4 TSX SCA xxx Equipement 3 5 2 Présentation des différents éléments 1 TSX SCA 50 boîtier de dérivation passif, il assure l'adaptation d'impédance lorsqu'il est installé en extrémité de ligne. 2 TSX SCP 114 carte PCMCIA de type III permettant la connexion d'un TSX 37 au réseau Modbus/Jbus via une liaison RS 485. 3 TSX SCP CM 4030 câble de raccordement d'une carte PCMCIA TSX SCP 114 au réseau Modbus/Jbus. La longueur de ce câble est de 3 m. 4 TBX 0010 boîtier de dérivation passif permettant l'adaptation d'impédance en extrémité de ligne et utilisé essentiellement pour le raccordement des automates de la série 1000 au réseau Jbus en RS 485.. 5 Carte JBU 0250 ou JBU 0550 de la série 1000 permettant la connexion en RS 485 des automates A5000 et A7000 au réseau Jbus. Pour plus de détails sur le principe de raccordement d'une liaison RS485, voir documents : TSX DRNETF, TSX D41724F, TEM 60000F. ___________________________________________________________________________ 3/1 Exemple de raccordement de Modbus en RS 232 6 6 TSX SCP CD 1030 câble de raccordement d'une carte PCMCIA TSX SCP 111 vers un équipement connexe Modbus. ___________________________________________________________________________ 3/2 Mise en œuvre matérielle 3.2 3 Installation du SCA50 3.2-1 Fixation 65 = L'installation du boîtier peut se faire sur platine perforée, réf. AM1 PA... ou sur rail DIN AM1 DE/DP, profilé chapeau avec plaquette de fixation LA9 D09976 = AM1-PA•• 2 x Ø 5,5 AM1 DE/DP = 50 = ____________________________________________________________________ 3.2-2 Câblage Mettre en place les presse-étoupe contenus dans le boîtier et raccorder le bus selon le schéma ci-contre. Blindage Manchon isolant (impératif) 1 Blanc Rouge Câble TSX CSA 100/200/500 Blanc Bleu 2 0 VL 3 0 VL 4 D(A) 5 D(B) 1 2 3 4 5 1 2 3 4 5 Mettre alors le cavalier sur la position ON, comme indiqué ci-contre (les produits sont livrés en position OFF). 1 2 3 4 5 3.2-3 Adaptation fin de ligne Lorsque les boîtiers TSX SCA 50 sont raccordés directement à un équipement en bout de ligne, il est impératif de refermer cette ligne sur le circuit d'adaptation. ON OFF ___________________________________________________________________________ 3/3 3.3 Installation du TBX 0010 Chaque boitier comporte deux connecteurs Sub-D 9 points permettant le raccordement de deux automates au réseau, et deux connecteurs à vis permettent le raccordement au bus. Ce boîtier permet de câbler un réseau de type Bus de façon plus commode qu'en réalisant les dérivations directement sur les broches du connecteur SUB-D. 1 2 3 4 D (B) D (A) Ce type de connexion permet de relier un poste du réseau sans laisser de connecteur "en l'air". De plus, il facilite le raccordement ultérieur de nouveaux postes. 9 6 5 9 6 1 5 D (B) D (A) 1 1 2 3 Le boitier permet aussi l'adaptation de fin de ligne quand il est situé à une extrémité du réseau. Le repère : • D(A) en TSX 37 correspond à L+ ou Tx+ pour S 1000, • D(B) en TSX 37 correspond à L- ou Tx- pour S 1000. Voir manuel de référence TEM 60000F pour le câblage d'un réseau. ___________________________________________________________________________ 3/4 Chapitre Annexes 4 4 4 Annexes 4.1 Détail des trames Modbus/Jbus 4.1-1 Lecture de n bits Lecture de n bits de sortie Code : 01 : Cette fonction permet d'accéder à des bits de sortie ou internes (bits pouvant être lus ou écrits) définis dans la mémoire d'un Esclave. Lecture de n bits d'entrée Code : 02 : Cette fonction, identique à la précédente et possédant les mêmes limites, s'adresse aux bits d'entrée (bits que le Maître ne peut que lire). Lecture de n bits : fonction 1 ou 2 Question : N° du 1er bit Numéro Esclave 1 ou 2 1 octet 1 octet 2 octets Numéro Esclave 1 ou 2 Nombre d'octets lus 1 octet 1 octet 2 octets PF Pf Nbre de bit PF Pf 2 octets CRC 16 2 octets Réponse : Valeur •••••••• Valeur CRC 16 2 octets Exemple : lecture du bit %M3 de l'Esclave 2 Question 02 01 0003 0001 CRC 16 Réponse 02 01 01 xx CRC 16 00 si %M3 = 0 01 si %M3 = 1 ___________________________________________________________________________ 4/1 4.1-2 Lecture de n mots Lecture de n mots de sortie Code : 03 : Cette fonction permet la lecture de mots de sortie ou internes (mots pouvant être lus ou écrits) définis dans la mémoire d'un Esclave. Lecture de n mots d'entrée Code : 04 : Cette fonction, identique à la précédente et possédant les mêmes limites et s'adresse aux mots d'entrée (mots que le Maître ne peut que lire). Lecture de n mots : fonction 3 ou 4 Question : Numéro Esclave 1 octet N° du 1er mot Nbre de mot 3 ou 4 CRC 16 PF Pf 1 octet 2 octets Numéro Esclave 3 ou 4 Nombre d'octets lus 1 octet 1 octet 1 octet PF Pf 2 octets 2 octets Réponse : Valeur du 1er mot PF Pf •••••••••••• Valeur dernier mot PF 2 octets Pf 2 octets CRC 16 2 octets Exemple : lecture des mots %MW20 à %MW24 de l'Esclave 6 Question 06 04 14 05 CRC 16 Réponse 02 01 0A xxxx •••••••••••• xxxx Valeur Valeur de %MW20 de %MW24 CRC 16 ___________________________________________________________________________ 4/2 Annexes 4 4.1-3 Ecriture d'un bit de sortie Code : 05 : Cette fonction permet le positionnement à 0 ou 1 d'un bit de sortie (seuls accessibles en écriture) défini dans la mémoire d'un esclave. Ecriture d'un bit de sortie : fonction 5 Question : N° du bit Numéro Esclave 5 1 octet 1 octet Valeur du bit PF CRC 16 Pf 2 octets 2 octets 2 octets Le champ "Valeur du bit" a deux valeurs possibles à l'exclusion de tout autre : • bit à 0 = 0000, • bit à 1 = FF00. Réponse : N° du bit Numéro Esclave 5 1 octet 1 octet Valeur du bit PF CRC 16 Pf 2 octets 2 octets 2 octets Exemple : écriture de la valeur 1 dans le bit %M3 de l'Esclave 2 Question 02 05 03 FF00 CRC 16 Réponse 02 05 03 FF00 CRC 16 ___________________________________________________________________________ 4/3 4.1-4 Ecriture d'un mot de sortie Code : 06 : Cette fonction effectue l'écriture d'un mot de 16 bits de sortie (seuls accessibles en écriture) défini dans la mémoire d'un Esclave. Ecriture d'un mot de sortie : fonction 6 Question : N° du mot Numéro Esclave 6 1 octet 1 octet Valeur du mot CRC 16 PF Pf PF Pf 2 octets 2 octets N° du mot Valeur du mot 2 octets Réponse : Numéro Esclave 1 octet 6 CRC 16 PF 1 octet Pf PF 2 octets Pf 2 octets 2 octets Exemple : écriture de la valeur H'3A15' dans le mot %MW12 de l'Esclave 5 Question 05 06 0C 3A15 CRC 16 Réponse 05 06 0C 3A15 CRC 16 ___________________________________________________________________________ 4/4 Annexes 4 4.1-5 Ecriture de n bits de sortie Code : 15 : Cette fonction permet au Maître d'écrire des bits de sortie (bits pouvant être lus ou écrits) dans la mémoire d'un Esclave. Ecriture de n bits de sortie : fonction 15 (H'0F') Question : Numéro Esclave 0F Adresse 1er Nombre de Nombre Valeur des CRC 16 bit à forcer bits à forcer d'octets bits à forcer 1 octet 1 octet 2 octets 2 octets 1 octet n octets CRC 16 2 octets Réponse : Numéro Esclave 0F Adresse 1er bit forcé Nombre de bits forcés 1 octet 1 octet 2 octets 2 octets 2 octets ___________________________________________________________________________ 4/5 4.1-6 Ecriture de n mots de sortie Code : 16 : Cette fonction permet au Maître d'écrire des mots de sortie (mots pouvant être lus ou écrits) dans la mémoire d'un Esclave. Ecriture de n mots de sortie : fonction 16 (H'10') Question : Numéro Esclave 10 Numéro du 1er mot Nombre de mots Nombre d'octets 1 octet 1 octet 2 octets 2 octets 1 octet Numéro Esclave 10 Numéro du 1er mot Nombre de mots CRC 16 1 octet 1 octet 2 octets 2 octets 2 octets Valeur •••••••••••• CRC 16 du 1er mot 2 octets 2 octets Réponse : Exemple : Ecriture des valeurs 1 et 2 dans les mots %MW16 et %MW17 de l'Esclave 11 Question 0B 10 0010 0002 04 Réponse 0B 10 0010 0002 CRC 16 0001 0002 CRC 16 ___________________________________________________________________________ 4/6 Annexes 4.2 4 Particularité du mode ASCII Structure de la trame Modbus ASCII : • • 1 octet LRC Numéro Esclave Code fonction Information 2 octets 2 octets n octets PF CR LF 1 octet 1 octet Pf 2 octets LRC : somme en hexadécimal, modulo FF, du contenu de la trame, hors délimiteurs, complémentée à 2 et codée en ASCII. Les délimiteurs sont : (3A),................ CR (0D), LF (0A) Exemple : commande 8 (diagnostic) de l'Esclave 1 en mode ASCII 3A 30 31 n° Esclave 30 38 Code fonction 30 30 30 30 36 Information 31 36 32 33 34 LRC 0D 0A Délimiteurs Délimiteur ___________________________________________________________________________ 4/7 4.3 Exemples Exemples de dialogue inter-automates par Jbus entre un API 5000 et un TSX 37. 4.3-1 API 5000 maître et TSX 37 esclave L'API 5000 avec un coupleur Jbus S0550 à l'emplacement 1 voie 1 paramètré en maître dialogue avec un TSX 37 équipé d'une PCMCIA SCP114 paramètré en esclave à l'adresse 2. On veut lire 10 bits dans le TSX 37 aux adresses des bits internes %M50 à %M59; puis les ranger en %MX500 à %MX509 dans l'API 5000. READ NOM Condition de validation ACT EN CHAN SLAV 2 11 @TYP @SLA BS 50 @MAS LENG %MX500 FREQ 10 TOUT 100 ERR WERR On veut écrire 10 bits dans le TSX 37 aux adresses %M50 à %M59; à partir de %MX500 à %MX 509 de l'API 5000. WRITE NOM Condition de validation ACT EN CHAN 11 SLAV 2 @TYP @SLA 50 @MAS %MX500 FREQ LENG 10 TOUT 100 ERR WERR ___________________________________________________________________________ 4/8 Annexes 4 On veut lire 10 mots dans le TSX 37 aux adresses des mots internes %MW50 à %MW59; puis les ranger en %MW500 à %MW509 dans l'API 5000. READ NOM Condition de validation ACT EN CHAN SLAV 11 2 @TYP @SLA MW 50 @MAS LENG %MW500 10 FREQ TOUT 100 ERR WERR On veut écrire 10 mots dans le TSX 37 aux adresses %MW50 à %MW59; à partir de %MW500 à %MW 509 de l'API 5000. WRITE NOM Condition de validation ACT EN CHAN SLAV 11 2 @TYP @SLA MW 50 @MAS LENG %MW500 FREQ 10 TOUT 100 ERR WERR ___________________________________________________________________________ 4/9 4.3-2 TSX 37 maître API 5000 esclave L'API 5000 équipé d'un coupleur Jbus S0550 à l'emplacement 1 voie 1 configuré en esclave d'adresse 2 dialogue avec un TSX 37 équipé d'une carte PCMCIA SCP114 configurée en maître. Lecture de 10 bits dans l'API 5000 aux adresses des bits internes %M500 à %M509; puis les ranger en %MW100 dans le TSX 37. READ_VAR(ADR#0.1.2,'%M',%MD80,10,%MW100:1,%MW720:4) avec %MD80:= 16#0000A1F4 décallage de 16#A000 + 16#1F4 (16#1F4=10#500) Ecriture de 10 bits dans l'API 5000 aux adresses des bits internes %M500 à %M509; avec les bits contenus dans %MW25:1 dans le TSX 37. . WRITE_VAR(ADR#0.1.2,'%M',%MD80,10,%M25:1,%MW720:4) avec %MD80:= 16#0000A1F4 décallage de 16#A000 + 16#1F4 (16#1F4=10#500) Lecture de 10 mots dans l'API 5000 aux adresses des mots internes %MW500 à %MW509; puis les ranger en %MW100 à %MW109 dans le TSX 37. READ_VAR(ADR#0.1.2,'%MW',%MD80,10,%MW100:10,%MW720:4) avec %MD80:= 16#000001F4 (16#1F4=10#500) Ecriture de 10 mots dans l'API 5000 aux adresses des mots internes %MW500 à %MW509; à partir de %MW100:10 dans le TSX 37. WRITE_VAR(ADR#0.1.2,'%M'W,%MD80,10,%MW100:10,%MW720:4) avec %MD80:= 16#000001F4 (16#1F4=10#500) ___________________________________________________________________________ 4/10 Index 5 Chapitre 5 Index communication Modbus Index D Détail des trames Modbus Ecriture de n bits de sortie Ecriture de n mots de sortie Ecriture d'un bit de sortie Ecriture d'un mot de sortie Lecture de n mots Détail des trames Modbus/Jbus B 4/5 4/6 4/3 4/4 4/2 4/1 E Exemples 4/8 F Format Type ASCII Type RTU Format d'une trame Format question/réponse 1/6 1/7 1/6 1/6 I Installation du SCA50 Installation du TBX 0010 3/3 3/4 M Mise en oeuvre matérielle Modbus Fonctions principales Fonctions secondaires Modèle OSI 3/1 1/3 2/2 2/2 1/2 P Présentation Question Réponse Principe de fonctionnement 1/3 1/5 1/5 1/4 S Services Modbus 2/1 ___________________________________________________________________________ 5/1