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.

Ver como Markdown

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.