Mitsubishi MC

Conectar autómatas Mitsubishi MELSEC por el protocolo MC (trama 3E): códigos de dispositivo, numeración decimal y hexadecimal, y longitudes de lectura.

Ver como Markdown

El controlador Mitsubishi MC habla con autómatas Mitsubishi MELSEC por el protocolo MC, usando la trama binaria 3E sobre TCP, la trama que hablan las series Q, L e iQ. Los valores se direccionan con la notación de dispositivo MELSEC de siempre: un código de dispositivo más un número, como D100 o M50. Añada un dispositivo bajo el controlador Mitsubishi MC en el Connector; el panel muestra solo los campos que usa este protocolo.

Conexión

Campo Significado Por defecto
Host o IP Dirección IP o nombre de host de la interfaz Ethernet del autómata. vacío
Puerto Puerto TCP de la conexión por protocolo MC, de 1 a 65535. Un campo vacío muestra 5007 en gris y se llama al dispositivo por él, que es también como se lee un dispositivo guardado con 0. 5007

La cabecera del dispositivo muestra el endpoint ya compuesto, por ejemplo mcp://192.168.0.20:5007. Este controlador no tiene campos de intervalo de sondeo: sus tags se leen una vez por segundo. El lado del autómata necesita una conexión del protocolo MC (SLMP), TCP y binaria, en el puerto elegido: Preparar el autómata dice dónde se crea.

Preparar el autómata

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 encenderla.

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 responde con caracteres ASCII, o no responde, 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 por defecto 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, responde 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.

Direccionamiento

Un tag Mitsubishi se direcciona con dos campos de la tarjeta Fuente del tag:

Campo Significado Valores aceptados Por defecto
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 se transfieren en cada 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 de minúsculas y gana el código que coincide más largo, así que SD100 es el registro especial 100, y no el relé de paso S. El número es hexadecimal en los dispositivos que Mitsubishi numera en hexadecimal (X, Y, B, W, SB, SW, DX, DY) y decimal en todos los demás (X1F es la entrada 0x1F). Códigos de dispositivo aceptados:

Código Dispositivo Numeración
M relé interno decimal
SM relé especial decimal
L relé de enclavamiento decimal
F anunciador decimal
V relé de flanco decimal
S relé de paso decimal
X entrada hexadecimal
Y salida hexadecimal
B relé de enlace hexadecimal
SB relé 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 de í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 subyacente 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 ya compuesta mientras se edita.

Tipos de dato

El selector Tipo de dato ofrece los cuatro tipos que el controlador sabe transportar:

Tipo de dato Longitud de lectura automática Notas
Boolean 1 byte en un dispositivo de bit, el relé concreto 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 valor simple IEEE
String 16 bytes 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 descodifican 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 hasta cubrir el texto guardado. La Longitud de lectura cuenta bytes y el protocolo transfiere palabras enteras de 16 bits, así que una longitud impar se redondea hacia arriba hasta la palabra que lleva su último byte.

Los dispositivos de bit, los que el controlador lee de relé en relé, son X, Y, M, L, F, V, B, S, TS, TC, SS, SC, CS, CC, SB, DX y DY. Ahí un tag Boolean responde por la dirección que se 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: un D100 con 0x0100 se lee como verdadero.

Una lectura que el autómata 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.

Escrituras

Se pueden escribir los tags cuyo Acceso es Lectura y escritura o Solo escritura, sobre la misma dirección de dispositivo que usa la lectura. Una escritura Boolean en un dispositivo de bit pone o quita el único relé nombrado y no toca ninguno de sus vecinos. Todo lo demás se escribe en palabras enteras de 16 bits: dos palabras en Int32 y en Float, una palabra en un Boolean sobre dispositivo de palabra, y en String toda la Longitud de lectura del tag, con los bytes UTF-8 del texto delante y ceros detrás, redondeada hacia arriba hasta la última palabra. Un texto más corto escrito sobre uno más largo sustituye, por tanto, el valor entero, y del antiguo no sobrevive nada. Un texto que no cabe en la longitud declarada se rechaza nombrando la longitud en el diario técnico, nunca se recorta a la medida. Un tag nuevo nace como Solo lectura.

Una escritura que el autómata rechaza vuelve 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 autómata).

Descubrimiento

En este controlador, el protocolo MC no tiene descubrimiento por difusión, así que el Connector no muestra ningún botón Descubrir. Añada el dispositivo y sus direcciones a mano.

Conviene saber

  • El sondeo está fijado en un segundo para todos los tags de este controlador; los campos habituales de intervalo de sondeo no se muestran.
  • El controlador solo habla la trama 3E binaria, nunca ASCII: una conexión configurada en código ASCII no lee nada (consulte Preparar el autómata).
  • Un autómata inalcanzable no cuesta nada en el arranque: el dispositivo sigue reintentando en segundo plano y sus tags se leen con mala calidad hasta que la conexión aterriza.
  • La conexión TCP tiene 5 segundos para abrirse, y cada petición 10 segundos para recibir respuesta. Un autómata que acepta la conexión y no responde 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 responde nada a una petición binaria, o un equipo que no habla el protocolo MC en ese puerto.