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 à des automates Mitsubishi MELSEC par le protocole
MC, avec la trame 3E binaire 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 | Par 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. 0 emploie 5007. | 0 |
L'en-tête de l'équipement montre le point de terminaison assemblé, par exemple
mcp://192.168.0.20:5007. Ce pilote n'a aucun champ d'intervalle de scrutation :
ses tags sont lus une fois par seconde. Du côté de l'automate, une connexion TCP en protocole MC
(SLMP) doit être configurée en communication binaire sur le port choisi.
Adressage
Un tag Mitsubishi est adressé par deux champs de la carte Source du tag :
| Champ | Sens | Valeurs acceptées | Par 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 d'après le type de donnée. | 1 et au-delà, ou vide | vide |
L'adresse ne tient pas compte de la casse et c'est le code le plus long qui 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 tout le reste (X1F est l'entrée 0x1F).
Les codes d'équipement acceptés :
| Code | Équipement | Numérotation |
|---|---|---|
M |
relais interne | décimale |
SM |
relais spécial | décimale |
L |
relais à verrouillage | 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 d'une temporisation | décimale |
SC / SS / SN |
bobine / contact / valeur courante d'une temporisation rémanente | décimale |
CC / CS / CN |
bobine / contact / valeur courante d'un compteur | décimale |
La bibliothèque MC sous-jacente accepte aussi les codes TT, TM, CT, CM et
A. La ligne en lecture seule Adresse source (bus) de la carte Source montre l'adresse
assemblée au fil de vos modifications.
Types de donnée
Le sélecteur de type de donnée offre les quatre types que le pilote sait transporter :
| Type de donnée | Longueur de lecture automatique | Remarques |
|---|---|---|
| Boolean | 1 octet | sur un équipement de bit, le seul relais nommé; sur un équipement de mot, tout mot non nul |
| Int32 | 4 octets | deux mots consécutifs de 16 bits, par exemple D100 et D101 |
| Float | 4 octets | deux mots consécutifs portant une simple précision IEEE |
| String | 16 octets | le texte jusqu'au premier octet nul du tampon de lecture |
Les données de 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 couvre deux équipements de mot consécutifs. Pour un texte de plus de 16 caractères, relevez la longueur de lecture pour couvrir le texte enregistré. La longueur de lecture est un nombre d'octets et le protocole transfère des mots entiers de 16 bits : une longueur impaire est donc arrondie au mot qui porte son dernier octet.
Les équipements de bit, 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 de mot, y compris la valeur courante d'une temporisation ou d'un
compteur (TN, SN, CN) et les registres de liaison (W, SW), et c'est alors le mot
entier qui décide : D100 portant 0x0100 se lit vrai.
Écritures
Les tags dont l'accès est Lecture et écriture ou Écriture seule peuvent être écrits, à la même adresse d'équipement que celle qu'emploie la lecture. Une écriture booléenne sur un équipement de bit 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 un Int32 et un Float, un mot pour un booléen sur un équipement de mot, et pour un texte 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 toute la valeur et rien de l'ancien ne survit. Un texte qui n'entre pas dans la longueur déclarée est refusé avec la longueur nommée dans le journal, jamais rogné à la taille. Un nouveau tag démarre en Lecture seule.
Découverte
Le protocole MC n'a pas de découverte par diffusion dans ce pilote : le Connector ne montre donc 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 d'intervalle de scrutation ne sont pas montrés.
- La trame 3E doit être activée sur l'automate comme une connexion MC/SLMP binaire (et non ASCII); un port configuré en ASCII ne répond pas à ce pilote.
- Un automate injoignable ne coûte rien au démarrage : l'équipement continue de réessayer en arrière-plan et ses tags lisent une mauvaise qualité jusqu'à ce que la connexion aboutisse.