Guide utilisateur. 1 Présentation 1/ Structure de la documentation réseaux 1/ Intégration dans le modèle OSI 1/2. 1.

Dimension: px
Commencer à balayer dès la page:

Download "Guide utilisateur. 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."

Transcription

1 Modbus Sommaire Guide utilisateur 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/ La question : 1/ La réponse : 1/ Format d'une trame question/réponse : 1/ Format général d'une trame 1/6 2 Services Modbus 2/1 2.1 Services supportés par Modbus 2/ Fonctions principales 2/ Fonctions secondaires 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/ Fixation 3/ Câblage 3/ Adaptation fin de ligne 3/3 3.3 Installation du TBX /4 S/1

2 Modbus Sommaire Guide utilisateur Chapitre Page 4 Annexes 4/1 4.1 Détail des trames Modbus/Jbus 4/ Lecture de n bits 4/ Lecture de n mots 4/ Ecriture d'un bit de sortie 4/ Ecriture d'un mot de sortie 4/ Ecriture de n bits de sortie 4/ Ecriture de n mots de sortie 4/6 4.2 Particularité du mode ASCII 4/7 4.3 Exemples 4/ API 5000 maître et TSX 37 esclave 4/ TSX 37 maître API 5000 esclave 4/10 5 Index communication Modbus 5/1 S/2

3 Chapitre 1 Présentation Structure de la documentation réseaux 1 Présentation 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 n AEG AEG AEG TEM TEM TSX DM 37N TSX DM PL7M MATERIEL LOGICIEL 1/1

4 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 : Protocole Modbus / Jbus - Lecture/Ecriture de variables (bits, mots, E/S) 7 Application - Mode de marche - Diagnostic - Historique des échanges 6 Présentation 5 Session 4 Transport 3 Réseau Routage par diffusion d'adresse sur le support physique Accès au réseau par une gestion Maître / Esclave 2 Liaison Contrôle des trames par CRC Paire torsadée Bauds maximum 1 Physique 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

5 Présentation 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

6 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 réponse Esclave 1 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

7 Présentation 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 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

8 1.4-3 Format d'une trame question/réponse : Question : Numéro Informations spécifiques Mot de d'esclave Code fonction concernant la demande contrôle (adresse, nombre, valeur..) 1 octet 1 octet n octets 2 octets Réponse positive : Numéro Mot de d'esclave Code fonction données reçues contrôle 1 octet 1 octet n octets 2 octets Réponse d'exception : Numéro Code Mot de d'esclave Code fonction d'exception contrôle 1 octet 1 octet 1 octet 2 octets Cet octet prend la valeur : code fonction + bit poids fort à 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

9 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

10 1/8

11 2.1 Services supportés par Modbus Chapitre 2 Services Modbus 2 2 Services 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'09' Télécharg t, télédécharg t et modes de marche H'0A' Demande de compte-rendu de fonctionnement H'0B' Lecture du compteur d'événements X X X H'0C' Lecture des événements de connexion X X X H'0D' Télécharg t, télédécharg t 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 H'11' Lecture identification X X H'12' Télécharg t, télédécharg t 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 S /1

12 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 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

13 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

14 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

15 Services Modbus 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 Carte PCMCIA READ_VAR UNI-TE Passerelle Modbus conversion WRITE_VAR UNI-TE / 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

16 2/6

17 Chapitre 3 Mise en œuvre matérielle Mise en oeuvre matérielle 3 Mise en œuvre matérielle Exemple de raccordement de Modbus/Jbus en RS TSX SCA xxx Equipement 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 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 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

18 Exemple de raccordement de Modbus en RS TSX SCP CD 1030 câble de raccordement d'une carte PCMCIA TSX SCP 111 vers un équipement connexe Modbus. 3/2

19 Mise en œuvre matérielle Installation du SCA Fixation 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 = 65 = 2 x Ø 5,5 AM1 DE/DP = 50 = 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 2 0 VL Rouge 3 0 VL Câble TSX CSA 100/200/500 Blanc 4 D(A) Bleu 5 D(B) 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. Mettre alors le cavalier sur la position ON, comme indiqué ci-contre (les produits sont livrés en position OFF) ON OFF 3/3

20 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. D (B) D (A) 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 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 Voir manuel de référence TEM 60000F pour le câblage d'un réseau. 3/4

21 Chapitre Annexes Détail des trames Modbus/Jbus 4 Annexes 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 : Numéro Esclave 1 ou 2 N du 1er bit Nbre de bit PF Pf PF Pf CRC 16 1 octet 1 octet 2 octets 2 octets 2 octets Réponse : Numéro Esclave 1 ou 2 Nombre d'octets lus Valeur Valeur CRC 16 1 octet 1 octet 2 octets 2 octets Exemple : lecture du bit %M3 de l'esclave 2 Question CRC 16 Réponse xx CRC si %M3 = 0 01 si %M3 = 1 4/1

22 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 N du 1er mot Nbre de mot 3 ou 4 CRC 16 PF Pf PF Pf 1 octet 1 octet 2 octets 2 octets 2 octets Réponse : Numéro Esclave 3 ou 4 Nombre d'octets lus Valeur du 1er mot PF Pf Valeur dernier mot PF Pf CRC 16 1 octet 1 octet 1 octet 2 octets 2 octets 2 octets Exemple : lecture des mots %MW20 à %MW24 de l'esclave 6 Question CRC 16 Réponse A xxxx xxxx CRC 16 Valeur de %MW20 Valeur de %MW24 4/2

23 Annexes 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 : Numéro Esclave N du bit 5 Valeur du bit CRC 16 PF Pf 1 octet 1 octet 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 : Numéro Esclave N du bit 5 Valeur du bit CRC 16 PF Pf 1 octet 1 octet 2 octets 2 octets 2 octets Exemple : écriture de la valeur 1 dans le bit %M3 de l'esclave 2 Question FF00 CRC 16 Réponse FF00 CRC 16 4/3

24 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 : Numéro Esclave N du mot Valeur du mot 6 CRC 16 PF Pf PF Pf 1 octet 1 octet 2 octets 2 octets 2 octets Réponse : Numéro Esclave N du mot Valeur du mot 6 CRC 16 PF Pf PF Pf 1 octet 1 octet 2 octets 2 octets 2 octets Exemple : écriture de la valeur H'3A15' dans le mot %MW12 de l'esclave 5 Question C 3A15 CRC 16 Réponse C 3A15 CRC 16 4/4

25 Annexes 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 bit à forcer Nombre de bits à forcer Nombre d'octets Valeur des CRC 16 bits à forcer 1 octet 1 octet 2 octets 2 octets 1 octet n octets 2 octets Réponse : Numéro Esclave Adresse Nombre de 0F CRC 16 1er bit forcé bits forcés 1 octet 1 octet 2 octets 2 octets 2 octets 4/5

26 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 Numéro Nombre Nombre Valeur 10 CRC 16 du 1er mot de mots d'octets du 1er mot 1 octet 1 octet 2 octets 2 octets 1 octet 2 octets 2 octets Réponse : Numéro Esclave 10 Numéro du 1er mot Nombre de mots CRC 16 1 octet 1 octet 2 octets 2 octets 2 octets Exemple : Ecriture des valeurs 1 et 2 dans les mots %MW16 et %MW17 de l'esclave 11 Question 0B CRC 16 Réponse 0B CRC 16 4/6

27 Annexes Particularité du mode ASCII Structure de la trame Modbus ASCII : Numéro Esclave Code fonction Information PF LRC Pf CR LF 1 octet 2 octets 2 octets n octets 2 octets 1 octet 1 octet 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 D 0A n Esclave Code Information LRC Délimiteurs fonction Délimiteur 4/7

28 4.3 Exemples Exemples de dialogue inter-automates par Jbus entre un API 5000 et un TSX 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 READ NOM Condition de validation EN CHAN SLAV ACT 11 %MX LENG 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 WRITE NOM Condition de validation EN CHAN SLAV ACT %MX LENG 10 TOUT 100 ERR WERR 4/8

29 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 READ NOM Condition de validation EN CHAN 11 2 SLAV %MW LENG 10 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 WRITE NOM Condition de validation EN CHAN SLAV %MW LENG 10 TOUT 100 ERR WERR 4/9

30 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#A #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#A #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

31 Chapitre Index 5 Index 5 Index communication Modbus D Détail des trames Modbus Ecriture de n bits de sortie 4/5 Ecriture de n mots de sortie 4/6 Ecriture d'un bit de sortie 4/3 Ecriture d'un mot de sortie 4/4 Lecture de n mots 4/2 Détail des trames Modbus/Jbus 4/1 E Exemples 4/8 F Format Type ASCII 1/6 Type RTU 1/7 Format d'une trame 1/6 Format question/réponse 1/6 I Installation du SCA50 3/3 Installation du TBX /4 M Mise en oeuvre matérielle 3/1 Modbus 1/3 Fonctions principales 2/2 Fonctions secondaires 2/2 Modèle OSI 1/2 P Présentation 1/3 Question 1/5 Réponse 1/5 Principe de fonctionnement 1/4 S Services Modbus 2/1 B 5/1