Mitsubishi MC
Conectar PLC Mitsubishi MELSEC con el protocolo MC (trama 3E): códigos de dispositivo, numeración decimal y hexadecimal, y longitudes de lectura.
El driver Mitsubishi MC habla con PLC Mitsubishi MELSEC con el protocolo MC, usando
la trama binaria 3E sobre TCP, la trama que hablan las series Q, L e iQ. Usted direcciona
los valores con la notación de dispositivo MELSEC de siempre: un código de dispositivo
más un número, como D100 o M50. Agregue un dispositivo bajo el driver Mitsubishi MC
en el Connector; el panel muestra solo los campos que usa este protocolo.
Conexión
| Campo | Significado | Valor inicial |
|---|---|---|
| Host o IP | Dirección IP o nombre de host de la interfaz Ethernet del PLC. | vacío |
| Puerto | Puerto TCP de la conexión del protocolo MC, de 1 a 65535. Un campo vacío muestra 5007 en gris y al dispositivo se le marca por él, que es también como se lee un dispositivo guardado con 0. | 5007 |
El encabezado del dispositivo muestra el endpoint armado, por ejemplo
mcp://192.168.0.20:5007. Este driver no tiene campos de intervalo de sondeo: sus tags
se leen una vez por segundo. Del lado del PLC hace falta una conexión del protocolo MC
(SLMP), TCP y binaria, en el puerto elegido: Preparar el PLC dice dónde
se crea.
Preparar el PLC
Una CPU MELSEC solo sirve el protocolo MC en una conexión que crea su proyecto, y rechaza una escritura mientras está en RUN salvo que su puerto Ethernet la permita. Los ajustes se hacen en la herramienta de ingeniería y se escriben en la CPU con sus parámetros (Online > Write to PLC); la CPU los lee al arrancar, así que después hay que reiniciarla o apagarla y prenderla.
| Ajuste | GX Works3 (iQ-R, iQ-F) | GX Works2 (Q, L) | Sin él |
|---|---|---|---|
| Una conexión MC, TCP, en el Puerto del dispositivo | Module Parameter > Ethernet Port > Basic Settings > External Device Configuration: arrastre un SLMP Connection Module a la tabla, con Protocol TCP y el puerto del dispositivo como Port No. | PLC Parameter > Built-in Ethernet Port Setting > Open Setting: una línea con Protocol TCP, Open System MC Protocol y el puerto del dispositivo como Host Station Port No. | La CPU rechaza la conexión en ese puerto y el dispositivo sigue desconectado. |
| Communication Data Code en binario | Module Parameter > Ethernet Port > Basic Settings: Binary. | PLC Parameter > Built-in Ethernet Port Setting: Binary Code. | La CPU contesta con caracteres ASCII, o no contesta, y ningún tag se lee. |
| Escritura en RUN permitida | iQ-R: Module Parameter > Ethernet Port > Basic Settings, Enable/Disable Online Change en Enable All (SLMP). | PLC Parameter > Built-in Ethernet Port Setting, Enable online change (FTP, MC Protocol) marcado. | La CPU lee con normalidad y rechaza toda escritura mientras está en RUN, con el código de fin 0x0055. |
Una CPU Q o L reserva para sí los puertos 5000 a 5009, así que su conexión MC no puede tomar el 5007, el valor predeterminado del dispositivo: dele otro puerto, por ejemplo el 5010, y escríbalo en el Puerto del dispositivo. GX Works2 puede mostrar Host Station Port No. en hexadecimal, donde 5010 es 1392. El código de datos es uno para todo el puerto Ethernet: otro programa que hable con la CPU en ASCII por ese puerto también tiene que pasar a binario.
Cuando la CPU rechaza el puerto, contesta en ASCII o rechaza una escritura en RUN, la página del dispositivo dice qué ajuste es, con estos pasos y el puerto que marca el dispositivo, en un aviso que desaparece solo en cuanto la CPU acepta. Para una escritura rechazada en RUN nombra los tags cuyas escrituras se rechazaron. El diario técnico y el agente leen los mismos pasos.
El direccionamiento
Un tag de Mitsubishi se direcciona con dos campos de la tarjeta Fuente del tag:
| Campo | Significado | Valores aceptados | Valor inicial |
|---|---|---|---|
| Dirección del dispositivo | Código de dispositivo MELSEC más número, por ejemplo D100. Obligatorio. |
texto libre | vacío |
| Longitud de lectura (bytes, en blanco = automático) | Cuántos bytes transferir por lectura. En blanco, la lectura se dimensiona a partir del tipo de dato. | 1 en adelante, o en blanco | en blanco |
La dirección no distingue mayúsculas y gana el código coincidente más largo, así que
SD100 es el registro especial 100, no el relevador de paso S. El número es
hexadecimal para los dispositivos que Mitsubishi numera en hexadecimal (X, Y, B, W,
SB, SW, DX, DY) y decimal para todos los demás (X1F es la entrada 0x1F). Los códigos de
dispositivo aceptados:
| Código | Dispositivo | Numeración |
|---|---|---|
M |
relevador interno | decimal |
SM |
relevador especial | decimal |
L |
relevador de enganche | decimal |
F |
anunciador | decimal |
V |
relevador de flanco | decimal |
S |
relevador de paso | decimal |
X |
entrada | hexadecimal |
Y |
salida | hexadecimal |
B |
relevador de enlace | hexadecimal |
SB |
relevador de enlace especial | hexadecimal |
DX |
entrada directa | hexadecimal |
DY |
salida directa | hexadecimal |
D |
registro de datos | decimal |
SD |
registro especial | decimal |
R |
registro de archivo | decimal |
ZR |
registro de archivo extendido | decimal |
W |
registro de enlace | hexadecimal |
SW |
registro de enlace especial | hexadecimal |
Z |
registro índice | decimal |
TC / TS / TN |
bobina / contacto / valor actual de temporizador | decimal |
SC / SS / SN |
bobina / contacto / valor actual de temporizador retentivo | decimal |
CC / CS / CN |
bobina / contacto / valor actual de contador | decimal |
La biblioteca MC de base acepta además los códigos TT, TM, CT, CM y A. La
línea de solo lectura Dirección de origen (bus) de la tarjeta Fuente muestra la
dirección armada conforme usted edita.
Los tipos de dato
El selector de Tipo de dato ofrece los cuatro tipos que el driver sabe transportar:
| Tipo de dato | Longitud de lectura automática | Notas |
|---|---|---|
| Boolean | 1 byte | en un dispositivo de bit, el único relevador nombrado; en un dispositivo de palabra, cualquier palabra distinta de cero |
| Int32 | 4 bytes | dos palabras consecutivas de 16 bits, por ejemplo D100+D101 |
| Float | 4 bytes | dos palabras consecutivas con un IEEE de precisión simple |
| String | 16 bytes | el texto hasta el primer NUL del búfer de lectura |
Los datos de palabra llegan en el orden little-endian nativo de MELSEC y se decodifican automáticamente; no hay opción de orden de bytes. Un valor de 32 bits ocupa dos dispositivos de palabra consecutivos. Para un String de más de 16 caracteres, suba la Longitud de lectura para que cubra el texto guardado. La Longitud de lectura es un conteo de bytes y el protocolo transfiere palabras enteras de 16 bits, así que una longitud impar se redondea hacia arriba a la palabra que lleva su último byte.
Los dispositivos de bit, los que el driver lee un relevador a la vez, son X, Y, M,
L, F, V, B, S, TS, TC, SS, SC, CS, CC, SB, DX y DY. Ahí un tag
booleano contesta por la dirección que usted escribió y por ninguna otra. Cualquier otro
código es un dispositivo de palabra, incluidos el valor actual de un temporizador o de un
contador (TN, SN, CN) y los registros de enlace (W, SW), y ahí decide la palabra
entera: D100 con 0x0100 se lee como verdadero.
Una lectura que el PLC rechaza, como la de una dirección más allá del final de su rango,
deja ese tag sin valor, y su error nombra el código de fin y lo que el manual dice que
significa, por ejemplo
end code 0xC056 (the request goes past the last address of the device). Todos los
demás tags del dispositivo siguen leyendo.
Las escrituras
Los tags cuyo Acceso es Lectura y escritura o Solo escritura se pueden escribir, en la misma dirección de dispositivo que usa la lectura. Una escritura booleana sobre un dispositivo de bit pone o borra el único relevador nombrado y no toca a ninguno de sus vecinos. Todo lo demás se escribe como palabras enteras de 16 bits: dos palabras para Int32 y Float, una palabra para un booleano sobre un dispositivo de palabra, y para String toda la Longitud de lectura del tag, con los bytes UTF-8 del texto al frente y ceros detrás, redondeada hacia arriba hasta la última palabra. Por eso un texto más corto escrito sobre uno más largo reemplaza el valor entero y no sobrevive nada del anterior. Un texto que no cabe en la longitud declarada se rechaza, con la longitud nombrada en el diario técnico, nunca se recorta para que quepa. Un tag nuevo arranca como Solo lectura.
Una escritura que el PLC rechaza regresa rechazada y nombra el código de fin y su significado de la misma forma. Una escritura rechazada porque la CPU está en RUN (código de fin 0x0055) la dice además la página del dispositivo, con el ajuste que la permite (consulte Preparar el PLC).
El descubrimiento
En este driver el protocolo MC no tiene descubrimiento por difusión, así que el Connector no muestra botón Descubrir. Agregue el dispositivo y sus direcciones a mano.
Bueno saber
- El sondeo es fijo de un segundo para todos los tags de este driver; los campos habituales de intervalo de sondeo no se muestran.
- El driver solo habla la trama 3E binaria, nunca ASCII: una conexión configurada en código ASCII no lee nada (consulte Preparar el PLC).
- Un PLC inalcanzable no cuesta nada al arrancar: el dispositivo sigue reintentando en segundo plano y sus tags se leen con mala calidad hasta que la conexión llega.
- La conexión TCP tiene 5 segundos para abrirse, y cada petición 10 segundos para recibir respuesta. Un PLC que acepta la conexión y no contesta a tiempo se desconecta y se reintenta como uno inalcanzable; su error nombra el puerto y las dos razones habituales: una CPU Q o L con el puerto en código ASCII, que no contesta nada a una petición binaria, o un equipo que no habla el protocolo MC en ese puerto.