Cette partie présente la manière de changer le protocole utilisé par une communication série du BMXNOM0200 à l'aide de la WRITE_CMD(IODDT_VAR1).
Cette commande permet de basculer entre les trois protocoles suivants :
-
Esclave Modbus
-
Maître Modbus
-
Mode caractère
NOTE : La variable IODDT_VAR1 doit être de type T_COM_MB_BMX ou T_COM_MB_BMX_CONF_EXT.
Principe du changement de protocole
Vous devez d'abord créer une variable IODDT associée à la voie série, puis définir sur 1 le bit du mot IODDT_VAR1.CONTROL (%MWr.m.c.24) qui correspond au changement de protocole souhaité :
-
TO_MODBUS_MASTER (bit 12) : le protocole actuel est remplacé par Maître Modbus.
-
TO_MODBUS_SLAVE (bit 13) : le protocole actuel est remplacé par Esclave Modbus.
-
TO_CHAR_MODE (bit 14) : le protocole actuel est remplacé par Mode caractère.
NOTE : Un seul bit peut être défini sur 1 à la fois : plusieurs bits à 1 génèrent une erreur.
NOTE : IODDT_VAR1.CONTROL (%MWr.m.c.24) ) fait partie de la variable IODDT_VAR1 de l'IODDT.
Appliquez ensuite l'instruction WRITE_CMD à la variable IODDT associée à la voie série.
NOTE : Veillez à ce que deux maîtres (sur le même bus) n'envoient pas des requêtes simultanément : les demandes seraient perdues et chaque rapport aurait un résultat incorrect qui pourrait être 16#0100 (impossible de traiter la requête) ou 16#ODFF (absence de l'esclave).
Le schéma ci-dessous présente les changements de protocole à effectuer en fonction des bits de IODDT_VAR1.CONTROL (%MWr.m.c.24) définis sur 1 :
Trois changements de protocole sont utilisés :
-
Passage d'Esclave Modbus à Maître Modbus :
L'objectif de la configuration Maître Modbus est d'envoyer des informations sur un événement à un autre automate. Lorsque la configuration Esclave Modbus est remplacée par la configuration Maître Modbus, les paramètres de transmission, de signaux et de ligne physique restent les mêmes. Seules les valeurs des paramètres suivants, propres à la configuration Maître Modbus, sont modifiées :
-
Le délai entre les trames reprend sa valeur par défaut, qui dépend de la vitesse de transmission.
-
Le délai de réponse est défini sur 3 s.
-
Le nombre de nouvelles tentatives est réglé sur 0.
-
Passage de Maître/Esclave Modbus à Mode caractère
La commutation vers le mode caractère s'utilise pour envoyer des commandes AT à un modem. Lorsqu'une configuration Modbus est remplacée par une configuration Mode caractère, les paramètres de transmission, de signal et de ligne physique demeurent inchangés. Seul le paramètre de détection de fin de message spécifique du mode caractère change est défini sur le caractère x0d.
-
Passage de Mode caractère à Maître Modbus et à Esclave Modbus :
L'objectif de la configuration Mode caractère est de communiquer avec un protocole privé (un modem, par exemple). Quand l'échange est terminé, l'utilisateur passe à la configuration Maître Modbus (avec le délai de réponse réglé sur 3 s et le nombre de tentatives sur 0) de façon à envoyer des informations sur un événement à un autre automate. Une fois le message envoyé, l'utilisateur revient à la configuration Esclave Modbus : le numéro d'esclave est défini sur la valeur stockée dans la mémoire Flash ou, à défaut, sur 248.
Redémarrages à froid et à chaud
Les changements de protocole ne sont pas affectés par les bits %S0 et %S1 (mis à 1 pendant un redémarrage à froid et à chaud respectivement). Cependant, un démarrage à froid ou à chaud de l'automate va configurer le port série avec ses valeurs par défaut ou avec les valeurs programmées dans l'application.
NOTE : La configuration par défaut du module est la suivante pour faciliter la configuration à partir d'un ordinateur tel qu'un PC : la voie 0 est configurée en mode esclave RS232 et la voie 1 en mode RS485. Les autres paramètres sont : 19200 bauds, RTU, parité paire, 1 bit d'arrêt, sans contrôle de flux, temporisation de trame par défaut 1,75 ms, numéro d'esclave 248.