Mitsubishi MC
Relier des automates Mitsubishi MELSEC par le protocole MC (trame 3E) : codes d'équipement, numérotation décimale et hexadécimale, et longueurs de lecture.
Le pilote Mitsubishi MC parle aux automates Mitsubishi MELSEC par le protocole
MC, avec la trame binaire 3E sur TCP, la trame que parlent les séries
Q, L et iQ. Vous adressez les valeurs avec la notation d'équipement MELSEC familière :
un code d'équipement suivi d'un numéro, comme D100 ou M50. Ajoutez un équipement sous le pilote
Mitsubishi MC dans le Connector ; le volet ne montre que les
champs que ce protocole emploie.
Connexion
| Champ | Sens | Défaut |
|---|---|---|
| Hôte | L'adresse IP ou le nom d'hôte de l'interface Ethernet de l'automate. | vide |
| Port | Le port TCP de la connexion en protocole MC, de 1 à 65535. Un champ vide affiche 5007 en gris et l'équipement est appelé sur ce port ; un équipement enregistré avec 0 se lit de la même façon. | 5007 |
L'en-tête de l'équipement montre l'endpoint assemblé, par exemple
mcp://192.168.0.20:5007. Il n'y a pas de champ de période de scrutation pour ce pilote :
ses tags sont lus une fois par seconde. Le côté automate a besoin d'une connexion en
protocole MC (SLMP), TCP et binaire, sur le port choisi : Préparer l'automate
dit où elle se crée.
Préparer l'automate
Une CPU MELSEC ne sert le protocole MC que sur une connexion que son projet crée, et refuse une écriture tant qu'elle est en RUN, sauf si son port Ethernet l'autorise. Les réglages se font dans l'outil d'ingénierie et s'écrivent dans la CPU avec ses paramètres (Online > Write to PLC) ; la CPU les lit au démarrage, il faut donc ensuite la réinitialiser ou l'éteindre et la rallumer.
| Réglage | GX Works3 (iQ-R, iQ-F) | GX Works2 (Q, L) | Sans lui |
|---|---|---|---|
| Une connexion MC, TCP, sur le Port de l'équipement | Module Parameter > Ethernet Port > Basic Settings > External Device Configuration : faites glisser un SLMP Connection Module dans le tableau, avec Protocol TCP et le port de l'équipement comme Port No. | PLC Parameter > Built-in Ethernet Port Setting > Open Setting : une ligne avec Protocol TCP, Open System MC Protocol et le port de l'équipement comme Host Station Port No. | La CPU refuse la connexion sur ce port, et l'équipement reste hors ligne. |
| Communication Data Code en binaire | Module Parameter > Ethernet Port > Basic Settings : Binary. | PLC Parameter > Built-in Ethernet Port Setting : Binary Code. | La CPU répond en caractères ASCII, ou ne répond pas, et aucun tag ne se lit. |
| Écriture en RUN autorisée | iQ-R : Module Parameter > Ethernet Port > Basic Settings, Enable/Disable Online Change sur Enable All (SLMP). | PLC Parameter > Built-in Ethernet Port Setting, Enable online change (FTP, MC Protocol) coché. | La CPU lit normalement et refuse chaque écriture tant qu'elle est en RUN, avec le code de fin 0x0055. |
Une CPU Q ou L se réserve les ports 5000 à 5009 : sa connexion MC ne peut donc pas prendre le 5007, la valeur par défaut de l'équipement. Donnez-lui un autre port, 5010 par exemple, et saisissez celui-ci dans le Port de l'équipement. GX Works2 peut afficher Host Station Port No. en hexadécimal, où 5010 vaut 1392. Le code de données vaut pour tout le port Ethernet : un autre programme qui parle à la CPU en ASCII sur ce port doit lui aussi passer en binaire.
Quand la CPU refuse le port, répond en ASCII ou refuse une écriture en RUN, la page de l'équipement dit de quel réglage il s'agit, avec ces étapes et le port que compose l'équipement, dans un avis qui disparaît de lui-même dès que la CPU accepte. Pour une écriture refusée en RUN, il nomme les tags dont l'écriture a été refusée. Le journal technique et l'agent lisent les mêmes étapes.
Adressage
Un tag Mitsubishi est adressé par deux champs de la carte Source de la valeur du tag :
| Champ | Sens | Valeurs acceptées | Défaut |
|---|---|---|---|
| Adresse d'équipement | Le code d'équipement MELSEC suivi du numéro, par exemple D100. Obligatoire. |
texte libre | vide |
| Longueur de lecture (octets, vide = automatique) | Combien d'octets transférer par lecture. Vide dimensionne la lecture depuis le type de donnée. | 1 et plus, ou vide | vide |
L'adresse ne tient pas compte de la casse et le code le plus long qui correspond l'emporte, si bien que
SD100 est le registre spécial 100, et non le relais de pas S. Le numéro
est hexadécimal pour les équipements que Mitsubishi numérote en hexadécimal (X, Y, B, W,
SB, SW, DX, DY) et décimal pour tous les autres (X1F est l'entrée 0x1F).
Codes d'équipement acceptés :
| Code | Équipement | Numérotation |
|---|---|---|
M |
relais interne | décimale |
SM |
relais spécial | décimale |
L |
relais à mémoire | décimale |
F |
annonciateur | décimale |
V |
relais de front | décimale |
S |
relais de pas | décimale |
X |
entrée | hexadécimale |
Y |
sortie | hexadécimale |
B |
relais de liaison | hexadécimale |
SB |
relais de liaison spécial | hexadécimale |
DX |
entrée directe | hexadécimale |
DY |
sortie directe | hexadécimale |
D |
registre de données | décimale |
SD |
registre spécial | décimale |
R |
registre de fichier | décimale |
ZR |
registre de fichier étendu | décimale |
W |
registre de liaison | hexadécimale |
SW |
registre de liaison spécial | hexadécimale |
Z |
registre d'index | décimale |
TC / TS / TN |
bobine / contact / valeur courante de temporisation | décimale |
SC / SS / SN |
bobine / contact / valeur courante de temporisation à mémoire | décimale |
CC / CS / CN |
bobine / contact / valeur courante de compteur | décimale |
La bibliothèque MC sous-jacente accepte aussi les codes TT, TM, CT, CM et
A. La ligne Adresse source (bus) en lecture seule de la carte Source de la valeur montre l'adresse
assemblée au fil de la saisie.
Types de donnée
Le sélecteur Type de donnée propose les quatre types que le pilote sait transporter :
| Type de donnée | Longueur de lecture automatique | Notes |
|---|---|---|
| Boolean | 1 octet | sur un équipement à bits, le seul relais nommé ; sur un équipement à mots, tout mot non nul |
| Int32 | 4 octets | deux mots consécutifs de 16 bits, par exemple D100+D101 |
| Float | 4 octets | deux mots consécutifs portant une simple précision IEEE |
| String | 16 octets | du texte jusqu'au premier NUL du tampon de lecture |
Les données de type mot arrivent dans l'ordre petit-boutiste natif de MELSEC et sont décodées automatiquement ; il n'y a pas d'option d'ordre des octets. Une valeur de 32 bits s'étend sur deux équipements de type mot consécutifs. Pour une String plus longue que 16 caractères, élevez la longueur de lecture pour couvrir le texte conservé. La longueur de lecture est un nombre d'octets et le protocole transfère des mots entiers de 16 bits, si bien qu'une longueur impaire est arrondie au mot qui porte son dernier octet.
Les équipements à bits, ceux que le pilote lit un relais à la fois, sont X, Y, M,
L, F, V, B, S, TS, TC, SS, SC, CS, CC, SB, DX et DY. Un tag
booléen y répond pour l'adresse que vous avez tapée et pour rien d'autre. Tout autre code
est un équipement à mots, y compris la valeur courante d'une temporisation ou d'un
compteur (TN, SN, CN) et les registres de liaison (W, SW), et là le mot entier
décide : D100 portant 0x0100 se lit vrai.
Une lecture que l'automate refuse, comme celle d'une adresse au-delà de la fin de
sa plage, laisse ce tag sans valeur, et son erreur nomme le code de fin et ce que le
manuel dit qu'il signifie, par exemple
end code 0xC056 (the request goes past the last address of the device). Tous les
autres tags de l'équipement continuent de lire.
Écritures
Les tags dont l'Accès est Lecture et écriture ou Écriture seule peuvent être écrits, vers la même adresse d'équipement que la lecture emploie. Une écriture booléenne sur un équipement à bits pose ou efface le seul relais nommé et ne touche à aucun de ses voisins. Tout le reste est écrit en mots entiers de 16 bits : deux mots pour Int32 et Float, un mot pour un booléen sur un équipement à mots, et pour String toute la longueur de lecture du tag, les octets UTF-8 du texte devant et des zéros derrière, arrondis au dernier mot. Un texte plus court écrit par-dessus un plus long remplace donc la valeur entière et rien de l'ancienne ne survit. Un texte qui ne tient pas dans la longueur déclarée est refusé avec la longueur nommée dans le journal, jamais tronqué à la taille. Un nouveau tag démarre en Lecture seule.
Une écriture que l'automate refuse revient refusée et nomme le code de fin et son sens de la même façon. Une écriture refusée parce que la CPU est en RUN (code de fin 0x0055) est dite aussi sur la page de l'équipement, avec le réglage qui l'autorise (voir Préparer l'automate).
Découverte
Le protocole MC n'a pas de découverte par diffusion dans ce pilote, si bien que le Connector n'affiche aucun bouton Découvrir. Ajoutez l'équipement et ses adresses à la main.
Bon à savoir
- La scrutation est fixée à une seconde pour chaque tag de ce pilote ; les champs habituels de période de scrutation ne sont pas affichés.
- Le pilote ne parle que la trame 3E binaire, jamais l'ASCII : une connexion réglée en code ASCII ne lit rien (voir Préparer l'automate).
- Un automate injoignable ne coûte rien au démarrage : l'équipement continue de réessayer en arrière-plan et ses tags se lisent en mauvaise qualité jusqu'à ce que la connexion s'établisse.
- La connexion TCP a 5 secondes pour s'ouvrir, et chaque requête 10 secondes pour recevoir sa réponse. Un automate qui accepte la connexion et ne répond pas à temps est déconnecté puis réessayé comme un automate injoignable ; son erreur nomme le port et les deux raisons habituelles : une CPU Q ou L dont le port est réglé en code ASCII, qui ne répond rien à une requête binaire, ou un équipement qui ne parle pas le protocole MC sur ce port.