Gestion d’un borne d’interface série en Modbus Maître
Note d’application
a49030mf, Français Version 1.0.1
30/09/2004
ii • General
Copyright 2001 by WAGO Kontakttechnik GmbH Tous droits réservés.
WAGO Kontakttechnik GmbH Hansastraße 27
D-32423 Minden
Phone: +49 (0) 571/8 87 – 0 Fax: +49 (0) 571/8 87 – 1 69 E-Mail: info@wago.com
Web: http://www.wago.com Technical Support
Phone: +49 (0) 571/8 87 – 5 55 Fax: +49 (0) 571/8 87 – 4 30 E-Mail: support@wago.com
WAGO Contact SA Paris Nord 2
BP 50 065
95947 Roissy-Ch.-de-Gaulle Cedex Tel. : +33 (0) 1 48 17 25 90 Fax : +33 (0) 1 48 63 25 20 E-Mail : info-fr@wago.com Web: http://www.wago.com Support technique
Tel. : +33 (0) 1 48 17 25 90 Fax : +33 (0) 1 48 17 25 92 E-Mail : support.fr@wago.com
Toutes les mesures imaginables ont été prises pour garantir l'exactitude et la complétude de la présente documentation. Comme il est impossible, malgré un travail consciencieux, d'éviter toutes les erreurs, nous recevrons avec gratitude vos remarques et suggestions.
Sommaire • iii
SOMMAIRE
1 Informations importantes ... 2
1.1 Bases juridiques ... 2
1.1.1 Protection des droits d’auteur ... 2
1.1.2 Qualification du personnel... 2
1.1.3 Utilisation dans le cadre prévu ... 2
1.2 Domaine de validité ... 3
1.3 Symboles... 3
2 Description de la bibliothèque ... 4
3 Structure des buffers d’émission et de réception... 6
3.1 Buffer d’émission ... 6
3.2 Buffer de réception ... 7
4 Projet d’exemple ... 7
2 • Informations importantes
1 Informations importantes
Pour assurer à l'utilisateur une installation et une mise en service rapides des appareils décrits dans ce manuel, il est nécessaire de lire et de respecter scru- puleusement les informations et les explications suivantes.
1.1 Bases juridiques
1.1.1 Protection des droits d’auteur
Ce manuel, y compris toutes les illustrations qui s'y trouvent, est protégé par la législation sur les droits d'auteur. Toute autre utilisation de ce manuel s'écar- tant de la réglementation concernant les droits d'auteur est interdite. Sa repro- duction, sa traduction dans une autre langue, de même que son archivage et modification électronique et phototechnique nécessitent une autorisation ex- presse écrite de WAGO Kontakttechnik GmbH, Minden. Toute infraction fera l’objet d’une demande de dommages et intérêts.
1.1.2 Qualification du personnel
L'utilisation des produits telle qu'elle est décrite dans ce manuel s'adresse ex- clusivement à des personnes possédant une formation dans la programmation d'un API, à des personnes formées en électricité ou à des personnes placées sous la responsabilité de personnes formées en électricité, et qui de plus sont familiarisées avec les normes en vigueur. WAGO Kontakttechnik GmbH dé- cline toute responsabilité pour des mauvaises manipulations ou des dommages causés sur des produits WAGO ou des produits tiers, dus au non-respect des informations contenues dans ce manuel.
1.1.3 Utilisation dans le cadre prévu
Les composants sont livrés depuis l'usine pour chacun des cas d'application avec une configuration fixe, matérielle et logicielle. Les modifications ne sont permises que dans le cadre des possibilités contenues dans les manuels. Toute autre modification sur les matériels et logiciels, de même qu'une utilisation non conforme à la réglementation entraîne l'exclusion de la responsabilité de la société WAGO Kontakttechnik GmbH.
Veuillez vous adresser directement à la société WAGO Kontakttechnik GmbH pour toute demande de modification, voire de nouvelle configuration.
Informations importantes • 3
1.2 Domaine de validité
Cette note d’application est basée sur des versions logicielles et matérielles spécifiques, ainsi que sur la documentation s’y référant. La validité de cette note d’application est donc limitée à l’installation décrite. De nouvelles ver- sions logicielles et matérielles pourraient donner lieu à des manipulations dif- férentes.
Veuillez respecter les descriptions détaillées dans les manuels respectifs.
1.3 Symboles
Danger
Respecter impérativement ces informations afin de préserver toute personne d’un éventuel dommage
Avertissement
Respecter impérativement ces informations afin de préserver l’appareil de tout dommage matériel
Attention
Respecter impérativement les conditions additionnelles permettant d’assurer un fonctionnement sans erreur
ESD (Electrostatic Discharge – Décharge électrostatique)
Attention aux composants sensibles aux décharges électrostatiques. Respecter les mesures de précaution pour le maniement des composants à risques.
Remarque
Procédures ou conseils pour une utilisation efficace de l’appareil et pour une optimisation logicielle
i
Informations complémentairesRenvoi à des références de littérature supplémentaires, manuels, fiches tech- niques, et pages INTERNET
4 • Description de la bibliothèque
2 Description de la bibliothèque
La bibliothèque Modbus_Master.lib contient un bloc fonctionnel :
MODBUSMASTER_RTU. Ce bloc fonctionnel permet de rendre un contrô- leur programmable de bus de terrain maître sur un réseau Modbus, via une borne d’interface série.
Le contrôleur est alors un participant du réseau Modbus en tant que maître, in- dépendant du bus de terrain principal (Profibus, DeviceNet, CANopen, Ether- net…).
Selon ce principe, il est possible de créer des passerelles entre le bus de terrain principal et le réseau Modbus.
WAGO-I/O-SYSTEM – Eléments de bibliothèque
Catégorie : Communications séries Nom : MODBUSMASTER_RTU
Type : Fonction Bloc fonctionnel X Programme Nom de la bibliothèque : Modbus_Master.lib
Utilisable sur : Tous les contrôleurs programmables de bus de terrain
Paramètres d’entrée (VAR_INPUT)
Type de variable
Description
SlaveAddress BYTE Adresse de l’esclave à interroger
FunctionCode BYTE Code fonction Modbus
StartAdress WORD Adresse de début
NumberOfPoints WORD Nombre de bits à lire/écrire avec les fonctions de lecture/écriture bits Nombre de mots à lire/écrire avec les fonctions de lecture/écriture mots SerialInData typSerieInput Zone d’entrée de la borne série, à dé-
clarer à l’adresse d’entrée de la borne
TimeOut TIME Temps maximal entre l’émission de la
requête et la réception de la réponse
Description de la bibliothèque • 5
Paramètres d’entrée/sortie (VAR_IN_OUT)
Type de
variable Description
StartFunction BOOL Booléen à mettre à TRUE pour l’émission d’une nouvelle trame. Ce booléen repasse à FALSE lorsqu’une réponse a été reçue, ou lorsque le TimeOut est écoulé. Il faut alors véri- fier la valeur de la sortie Error.
ReceiveBuffer typBuffer Buffer de réception (cf. section ‘Struc- ture des buffers d’émission/réception’
SendData typBuffer Buffer d’émission (cf. section ‘Struc- ture des buffers d’émission/réception’
SerialOutData typSerieOutput Zone de sortie de la borne série, à déclarer à l’adresse de sortie de la borne
Paramètre de sortie
(VAR_OUTPUT) Type de
variable Description
CYCL_END BOOL Ce booléen de sortie indique si la borne a émis des caractères durant le cycle courant. Si c’est le cas, il est conseillé d’utiliser une commande RETURN, afin de ne pas exécuter le reste du programme. On pourra ainsi éviter le problème des TimeOut entre caractères
Error BYTE Code d’erreur retourné par le bloc
fonctionnel. Voici la signification des codes d’erreur (en hexadécimal) : - 0x00 Pas d’erreur
- 0x01 Code fonction illégal - 0x02 Adresse de donnée illégale - 0x03 Valeur de donnée illégale - 0x97 Nombre de points illégal - 0x98 Trop de caractères reçus - 0x99 TimeOut écoulé
Représentation graphique :
6 • Structure des buffers d’émission et de réception
Fonctionnalité :
Le bloc fonctionnel MODBUSMASTER_RTU permet de gérer une borne d’interface série 750-65X en Modbus Maître. L’appel à ce bloc fonctionnel doit de faire à cha- que cycle afin de garantir la communication.
Ce bloc fonctionnel supporte les codes fonction suivants : 0x01 Read Coil Status
0x02 Read Input Status 0x03 Read Holding Registers 0x04 Read Input Registers 0x05 Force Single Coil 0x06 Preset Single Register 0x0F Force Multiple Coils 0x10 Preset Multiple Registers
Attention : les bornes d’interface série utilisables avec le bloc fonctionnel
MODBUSMASTER_RTU sont les bornes disposant de 5 octets de données, ainsi que du contrôle du buffer de sortie (par exemple 750-65X/000-018).
Remarque : afin d’être compilé sans erreurs, un projet utilisant la bibliothèque Modbus_Master doit également contenir les bibliothèques Standard.lib et mod_com.lib.
3 Structure des buffers d’émission et de réception
3.1 Buffer d’émission
Le buffer d’émission a la structure suivante :
Variable Description
Buffer[0] Numéro de l'esclave interrogé Buffer[1] Code fonction utilisé
Buffer[2] Nombre d'octets de données suivant celui-ci Buffer[3] Octet de données 0
Buffer[4] Octet de données 1 Buffer[5] Octet de données 2 Buffer[6] Octet de données 3 Buffer[7] Octet de données 4 Buffer[8] Octet de données 5
Projet d’exemple • 7
3.2 Buffer de réception
Le buffer de réception a la structure suivante :
Variable Description Buffer[3] Octet de données 0 Buffer[4] Octet de données 1 Buffer[5] Octet de données 2 Buffer[6] Octet de données 3 Buffer[7] Octet de données 4 Buffer[8] Octet de données 5
Remarque
Lors de l’utilisation des fonctions lecture/écriture bits, les bits correspondant aux entrées/sorties sont concaténés dans des octets : la première entrée digi- tale correspond au bit de poids le plus faible du premier octet de données, la seconde au second bit du premier octet, et ainsi de suite.
4 Projet d’exemple
Le projet Modbus_Master.pro est un projet d’exemple correspondant à l’utilisation du bloc fonctionnel ModbusMaster_RTU
Ce projet a pour fonction l’exécution cyclique sur un esclave Modbus de 4 requêtes : lecture bits, écriture bits, lecture mots et écriture mots.
L’ensemble des requêtes à exécuter est stocké dans un tableau selon une
structure type typMasterInterface.
Une fois le booléen Start retombé à FALSE, le programme teste le code d’erreur renvoyé par le bloc fonctionnel MODBUSMASTER_RTU. S’il n’y a pas d’erreur, les données sont correctement reçues ou émises selon la requête.
En cas d’erreur, on passe à la requête qui suit.
8 • Projet d’exemple
En cas de problème
Description Solution
Clignotement de la led I/O en rouge.
⇒
⇒
⇒
Vérifier que la station possède au moins une borne d’E/S.
Vérifier la présence de la borne finale de bus (750-600)
Se reporter au manuel du contrôleur
Clignotement de la led I/O en orange.
⇒ Contacter le support technique
Pas de réponse de l’esclave, erreur de TimeOut
⇒
⇒
⇒
⇒
⇒
⇒
Vérifier le câblage de la carte d’interface série (straps) et de la liaison avec l’esclave Modbus.
Vérifier les résistances de terminaison
Vérifier la bonne configuration de la borne série.
Vérifier que les paramètres de communication du bloc
fonctionnel sont en adéquation avec la borne série d’une part et avec l’esclave Modbus d’autre part.
Cf. chapitre 4 et 6.
Vérifier le numéro du port de communication.
Vérifier l’adresse de l’esclave Problème de
communication
Pas de réponse de l’esclave, erreur de CRC
⇒
⇒
Vérifier que l’adresse de lecture ou d’écriture correspond à une zone accessible.
Vérifier que la quantité
d’informations à lire ou à écrire
Projet d’exemple • 9
Fonctionnement automate
Après coupure du 24V, le programme ne tourne plus.
⇒
⇒
Vérifier que le programme a bien été flashé.
Vérifier que le switch, placé sous la trappe en face avant, est en position haute
WAGO Kontakttechnik GmbH Postfach 2880 • D-32385 Minden