Application Note
AN-164
Rev 1.0
Imprimantes MTH, MRTi & MRSi
avec protocole Modbus sur Série
Les gammes d'imprimantes MTH-2500, MTH-3500, MRTi et
MRSi peuvent être livrées en option Modbus sur support
physique Série RS485
Ces produits ont été développés pour offrir une solution
d'impression pour les automates ne disposant que d'une
connexion « Modbus over serial »
Protocole MODBUS :
• Adresse Esclave : Chaque périphérique ModBus
utilise une adresse esclave unique.
Sur les imprimantes, l'utilisateur peut choisir une
adresse esclave comprise entre 1 et 252 sélectionnable
avec le menu « Connection → ModBus Slv »
(se reporter au chapitre « Menu de configuration » du
manuel de l'imprimante concernée)
• Gestion du CRC : calculé avec le polynôme A001h
• Services supportés :
◦ 06h ou 6
« Ecriture d'un mot »
◦ 10h ou 16
« Ecriture de n mots »
maxi 123 mots par trame (soit 246 octets utiles)
◦ 03h ou 3
« Lecture de status »
Les adresses de départ ne sont pas gérées, les octets à écrire
sont directement insérés dans le tampon de réception.
Tél:04.50.70.54.54
[email protected]
http://www.megatron.fr
AN-164
2
Couche physique : La couche physique s'appuie sur la
norme RS485 en mode Half-Duplex. L'imprimante est par
défaut en écoute et ne prend le contrôle de la ligne que pour
répondre à une requête du maître.
Paramètres : Réglables avec le menu « Connection »
Baud :
de 110 à 115200 Baud (dont 9600 et 19200)
Databits :
8 databits ou 7 databits
Parity :
None, Even, Odd
Xon :
Inutilisé en modbus
Modbus slv : Adresse de l'esclave entre 1 et 252
Connectique : Prise Sub-D 9 pins femelle
Commun
An.c.
n.c.
B+
Tél:04.50.70.54.54
1
2
3
4
5
6
7
8
9
[email protected]
n.c.
n.c.
n.c.
n.c.
http://www.megatron.fr
AN-164
3
Protocole :
La transmission des caractères à imprimer se fait avec la
fonction 06h (2 octets) ou avec la fonction 10h (de 1 à 246
octets). L'adresse de départ n'est pas gérée et peut être
laissée à 0. Note : les « Mots » sont transmis sur 2 octets :
MSB/LSB, excepté le CRC qui est transmis LSB/MSB.
Si la trame de réponse ne retourne pas d'erreur, les données
ont bien été acceptées par l'imprimante et sont stockées dans
le tampon de réception. Vous pouvez continuer de transmettre
les trames de données suivantes.
Si la trame de réponse retourne une erreur, le code
d'exception permet de choisir l'action à suivre.
• S'il vaut 06h (Busy, Rejected Message), l'imprimante
signale que les données de la dernière trame transmise
n'ont pas pu être stockées.
Il convient alors d'interroger l'état de l'imprimante avec
la fonction 03h et remédier à la cause.
La dernière trame pourra ensuite être retransmise.
• Toute autre valeur d'exception ne permettra pas de
reprendre l'impression. La fonction 03h peut aider à
diagnostiquer la cause. Mais l'intervention d'un
utilisateur sera sans doute nécessaire.
Exemples : avec l'adresse esclave 1
Envoi de <CR> et <LF>
fn 06h : 01 06 00 00 0D 0A 0D 5C
fn 10h : 01 10 00 00 00 01 02 0D 0A 22 C7
Envoi de la chaîne Hello <CR><LF>
fn 10h : 01 10 00 00 00 04 07 48 65 6C 6C 6F 0D 0A 00 D4 08
Notes : Les exemples de trames sont donnés en hexadécimal
Remarques : En cas d'erreur de CRC, la trame est supposée
corrompue et est complètement ignorée, aucune trame de
réponse n'est alors retournée vers le maître. De même, si
l'adresse esclave ne correspond pas, la trame est ignorée.
Tél:04.50.70.54.54
[email protected]
http://www.megatron.fr
4
AN-164
Connaître l'état de l'imprimante :
La fonction 03h permet de lire l'état de l'imprimante.
L'adresse est sans importance et peut être laissée à 0.
Le nombre de registre lu doit être à 1 (soit 1 mot) ,
les bits 15 à 8 sont toujours à 0.
Les bits 7 à 0 indiquent un état particulier lorsqu'ils sont à 1 !
•
•
•
•
•
•
•
•
Bit 7 : Information : Absence de papier.
Cette information est transmise quelque soit le réglage de la
gestion du papier.
Bit 6 : Information : Données en attente d'impression.
Bit 5 : Busy : Panne mémoire.
Bit 4 : Busy : Phase d'initialisation de l'imprimante.
Bit 3 : Busy : Phase de programmation de la mémoire Flash.
Bit 2 : Busy : Tampon Plein
Bit 1 : Busy : Menu actif.
L'utilisateur a activé le menu de configuration de l'imprimante
Bit 0 : Busy : Absence de papier. L'imprimante est réglée
pour se mettre sur Occupé en cas de défaut de papier.
Vous ne devriez utiliser que les bits marqués en gras dans une
utilisation normale de l'imprimante.
Exemple :
Demande de Status
fn 03h : 01 03 00 00 00 01 84 0A
Tél:04.50.70.54.54
[email protected]
http://www.megatron.fr
">