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.

Afficher en Markdown

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.