MODBUS TCP
PARA H0/H2ECOM100
CAPTULO
APTULO
En este captulo...
MODBUS TCP - Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2
Cdigos de funciones MODBUS apoyados . . . . . . . . . . . . . . . . . . . .5-4
Operacin de servidor (esclavo) de la red . . . . . . . . . . . . . . . . . . . . .5-5
Operacin del cliente (maestro0 de la red . . . . . . . . . . . . . . . . . . .5-13
Memoria de sistema de H0/H2-ECOM o H0-H2-ECOM . . . . . . . . .5-19
Captulo 5: MODBUS TCP para H0/H2-ECOM100
MODBUS TCP
MODBUS TCP es esencialmente el protocolo serial de MODBUS RTU encapsulado en
Ethernet TCP. MODBUS RTU se utiliza para comunicaciones seriales entre dispositivos
maestro y esclavo o esclavos. Se usa MODBUS TCP para comunicaciones TCP entre los
dispositivos cliente y servidores en una red de Ethernet. La versin de TCP de Modbus
sigue el modelo de referencia de red de la OSI.
Modelo Cliente/servidor
El servicio de mensajes de MODBUS proporciona un modelo cliente/Servidor de
comunicacin entre dispositivos conectados en una red de Ethernet TCP. Este modelo
de cliente/ servidor se basa en cuatro tipos de mensajes:
- Peticin de MODBUS - el mensaje enviado en la red por el cliente para iniciar una
transaccin
- Confirmacin de MODBUS - el mensaje de respuesta recibido en el lado del clientee
- Indicacin de MODBUS - el mensaje de la peticin recibido en el lado del servidor
- Respuesta de MODBUS - el mensaje de respuesta enviado por el modelo del servidor
Modelo cliente/servidor
Peticin
Cliente
Confirmacin
Indicacin
Respuesta
Servidor
Los mdulos H0-ECOM100
o el H2-ECOM100 pueden
actuar como cliente o
servidor
Descripcin del protocolo
Un marco tpico de MODBUS TCP consiste en los campos siguientes:
El MBAP Header (Encabezamiento del protocolo de aplicacin de MODBUS) tiene
siete bytes de largo. Consiste en los campos siguientes.
TCP HEADER
MBAP HEADER
FUNCION
DATOS
- Transaction Identifier (Identificador de la Transaccin) - Se usa para asociar
transaccioes, el servidor de MODBUS copia en la respuesta el identificador de la
transaccin de la requisicin (2 bytes)
- Protocol identifier (Identificador del Protocolo) - Se usa para la intra multiplexacin del sistema. El protocolo de MODBUS es identificado por el valor
0 (2 bytes)
- Length (Longitud) - El campo de longitud es una cuenta de bytes de los campos
siguientes, incluyendo el identificador de la unidad y los campos de datos (2 bytes)
- Identificador de la unidad - Se usa este campo para el propsito de
encaminamiento interno del sistema. Se usa tpicamente para comunicarse a un
esclavo MODBUS o a una lnea serial esclava de MODBUS+ a travs de un
gateway entre una red Ethernet TCP y una lnea serial MODBUS. Este campo es
configurado por el cliente de MODBUS en la requisicin y debe volver con el
mismo valor en la respuesta del servidor (1 byte).
Este header proporciona algunas diferencias comparadas a la unidad de datos de
aplicacin de MODBUS RTU usada en una lnea serial:
5-2
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
- el campo "direccin del esclavo" de MODBUS usado generalmente en una lnea
serial de MODBUS es substituido por un solo byte "identificador de la unidad"
dentro del encabezamiento de MBAP. El "identificador de la unidad" se usa para
comunicarse a travs de los dispositivos tales como puentes, routers y gateways
que usen una sola DIRECCION IP para apoyar mltiplas unidades de extremo de
MODBUS independientes .
- Se disean todas las peticiones y las respuestas de MODBUS de una manera tal
que el recipiente pueda verificar que un mensaje est acabado. Para cdigos de
funcin donde la PDU de MODBUS tiene una longitud fija, solamente el cdigo
de funcin es suficiente. Para cdigos de funcin que llevan una cantidad
variable de datos en la requisicin o la respuesta, el campo de datos incluye una
cuenta de bytes.
- Identificador del Protocolo - Se usa para la multiplexacin del sistema interno
El protocolo de MODBUS es identificado por el valor 0 (2 bytes)
El campo del cdigo de funcin de un mensaje contiene 8 bits. Los cdigos vlidos de
funcin estn en el rango de 1 -255 decimal . El cdigo de funcin comanda al esclavo
qu clase de accin tomar. Algunos ejemplos son leer el estado de un grupo de entradas
discretas; leer los datos en un grupo de registros; escribir a una salida o un grupo de
registros; o leer el estado de diagnstico de un esclavo.
Cuando un esclavo responde al maestro, usa el campo del cdigo de funcin para
indicar o una respuesta normal o que ha ocurrido un cierto tipo de error. Para una
respuesta normal, el esclavo repite el cdigo original de la funcin. En una condicin
de error, el esclavo repite el cdigo original de funcin con su MSB configurado como
lgica 1.
Se construye el campo de datos usando conjuntos de dos dgitos hexadecimales en el
rango de 00 a FF. Segn el modo de transmisin serial de la red, estos dgitos se pueden
hacer de un par de caracteres ASCII o a partir de un carcter RTU.
El campo de datos tambin contiene la informacin adicional que el esclavo utiliza
para ejecutar la accin definida por el cdigo de funcin. Esto puede incluir
direcciones internas, la cantidad de artculos que sern transferidos, etc.
El campo de datos de una respuesta de un esclavo a un maestro contiene los datos
solicitados si no ocurre ningn error. Si ocurre un error, el campo contiene un cdigo
de excepcin que el maestro usa para determinar que accin siguiente se tomar. El
campo de datos puede ser no existente en ciertos tipos de mensajes.
Manual de los mdulos ECOM
5-3
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Nota: ModScan32 es un programa de aplicacin de Windows que se puede usar como
maestro de MODBUS para tener acceso y cambiar los puntos de datos en un dispositivo
conectado (H0/H2 -ECOM100). La utilidad sirve idealmente para una prueba rpida y
fcil de los dispositivos esclavos de la red de MODBUS TCP. Visite [Link] -[Link]
para descargar una versin parcial de programa de prueba gratis ModScan32 y para ms
informacin sobre ModScan32.
Cdigos de funcin MODBUS
Los siguientes cdigos de funcin de MODBUS son apoyados por el H0/H2 -ECOM100.
No todos los cdigos de funcin se apoyan cuando el ECOM100 sirve como cliente de
la red. La "seccin de operacin del cliente de red" en este captulo enumera ms
adelante los cdigos de funcin que se apoyan en modo del cliente. MODBUS
Cdigo de
funcin
Funcin
MODBUS
5-4
Modo
servidor
Modo
cliente
01
Lee tablas de salidas
02
Lee tablas de entradas
03
Lee Holding registers (cuando el modo de
direccionamiento es 584/984, esta funcin es
usada para accesar registros de salidas
anlogas)
04
Lee Input registers (cuando el modo de
direccionamiento es 584/984, esta funcin es
usada para accesar registros de entradas
anlogas)
No
05
Fuerza una salida nica
No
06
Define registros nicos
08
Mantencin/Loop back
No
15
Fuerza varias salidas
16
Define mltiplos registros
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Operacin de servidor (esclavo) de la red
Esta seccin describe cmo otros clientes de MODBUS TCP/IP en una red pueden
comunicarse con un H0/H2 -ECOM100 que usted ha configurado con el protocolo
MODBUS TCP. Un cliente de red debe enviar un cdigo de funcin MODBUS y la
direccin de MODBUS para especificar una posicin de memoria de los PLCs o CPUs
DL05/06/205. No se requiere ninguna lgica ladder para apoyar la operacin del servidor
MODBUS TCP.
Cdigos de funcin MODBUS apoyados
El H0/H2 -ECOM100 apoya los cdigos siguientes de funcin de MODBUS cuando acta
como servidor de MODBUS TCP.
Cdigo de funcin Funcin
MODBUS
Tipos de datos disponibles
en los PLCs DL05/06/205
01
Lee tablas de salidas
Y, C, T, CT
02
Lee tablas de entradas
X, SP
03
Lee Holding registers (cuando el
modo de direccionamiento es
584/984, esta funcin es usada
para accesar registros de salidas
anlogas)
04
Lee Input registers (cuando el
modo de direccionamiento es
584/984, esta funcin es usada
para accesar registros de
entradas anlogas)
05
Fuerza una salida nica
06
Define registros nicos
08
Mantencin/Loop back
15
Fuerza varias salidas
16
Define mltiplos registros
Y, C, T, CT
V
Y, C, T, CT
V
Determinacin de la direccin MODBUS
Hay tpicamente dos maneras que la mayora de las convenciones de direccionamiento
de MODBUS que le permiten que la direccin de MODBUS especifique una direccin
de memoria del PLC. stos son:
* Especificando el tipo y la direccin de datos de MODBUS
* Especificando solamente la direccin de datos de MODBUS
Manual de los mdulos ECOM
5-5
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Si su software o cliente anfitrin requiere tipo de datos y direccin
Muchos clientes de MODBUS TCP permiten que usted especifique el tipo de datos de
MODBUS y la direccin de MODBUS que corresponde a la direccin de memoria del
PLC. ste es el mtodo ms fcil, pero no todos los paquetes permiten que usted lo haga
de esta manera.
La ecuacin real usada para calcular la direccin depende del tipo de datos del PLC que
usted est usando. Los tipos de la memoria del PLC estn divididos en dos categoras para
este propsito.
- Discreto - X, SP, Y, C, S, T(contactos), CT (contactos)
- Palabra - Memoria V, valor corriente de temporizador, valor corriente de contador
En cualquier caso, usted convierte bsicamente la direccin octal del PLC a decimal y
agrega la direccin inicial apropiada de MODBUS (segn lo requerido). Las tablas
siguientes muestran el rango exacto usado para cada grupo de datos.
Nota: Para una utilidad automatizada de conversin de direccin de MODBUS/Koyo,
descargue el archivo modbus_conversion.xls desde el sitio de Internet
[Link], y vaya a la pgina de apoyo tcnico.
Tipo de memoria del DL05
Cantidad
(decimal)
Rango del
PLC (octal)
Rango de direccin
MODBUS
Tipo de
datos
MODBUS
Para tipos de datos discretos.... Convierta direcciones de PLC a decimal + inicio del rango + tipos de datos
Entradas (X)
256
X0 - X377
2048 - 2303
Entrada
Relevadores especiales (SP)
512
SP0 - SP777
3072 - 3583
Entrada
Salidas (Y)
256
Y0 - Y377
2048 - 2303
Bobina
Relevadores de control (C)
512
C0 - C777
3072 - 3583
Bobina
Contactos de temporizador (T)
128
T0 - T177
6144 - 6271
Bobina
Contactos de Contador (CT)
128
CT0 - CT177 6400 - 6527
Bobina
Bits de estado de Etapa(s)
256
S0 - S377
Bobina
5120 - 5375
Para tipos de datos de palabra....Convierta la direccin del PLC a decimal + tipo de datos
5-6
Valores corrientes de tempori128
zador (V)
V0 - V177
Valores corrientes de contador (V) 128
V1000- V1177 512- 639
Registro de
entrada
Datos en memoria V
V1400- V7377 768 - 3839
Holding
Register
3072
Manual de los mdulos ECOM
0 - 127
Registro de
entrada
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Tipo de memoria del DL06
Cantidad Rango del PLC Rango de direccin Tipo de datos
(Decimal)
(octal)
MODBUS
MODBUS
Para tipos de datos discretos..Convierta direcciones de PLC a decimal + inicio del rango + tipos de datos
Entradas (X)
512
X0 - X777
2048 - 2560
Entrada
Relevadores especiales (SP)
512
SP0 - SP777
3072 - 3583
Entrada
Salidas (Y)
512
Y0 - Y1777
2048 - 2560
Bobina
Relevadores de control (C)
1024
C0 - C777
3072 - 4095
Bobina
Contactos de temporizador (T)
256
T0 - T377
6144 - 6399
Bobina
Contactos de Contador (CT)
128
CT0 - CT177
6400 - 6527
Bobina
Bits de estado de Etapa(s)
256
S0 - S377
5120 - 5375
Bobina
Entradas globales (GX)
2048
GX0-GX7377
0 - 2047
Entrada
Salidas globales (GX)
2048
GY0-GY7377
0 - 2047
Bobina
Para tipos de datos de palabra....Convierta la direccin del PLC a decimal + tipo de datos
Valores
corrientes
de
Registro de
256
V0 - V377
0 - 255
temporizador (V)
entrada
Valores corrientes de contador
128
(V)
Datos en memoria V
256
3072
4096
Tipo de memoria del DL240
Cantidad
(Decimal)
V1000- V1177
512- 639
V400- V677
V1400- V7377 768 - 3839
V10000-V17777
Rango del
PLC (octal)
Registro de
entrada
Holding
Register
Rango de direccin Tipo de datos
MODBUS
MODBUS
Para tipos de datos discretos..Convierta direcciones de PLC a decimal + inicio del rango + tipos de datos
Entradas (X)
320
X0 - X477
2048 - 2367
Entrada
Relevadores especiales (SP)
144
SP0 - SP137
3072 - 3583
Entrada
Salidas (Y)
256
Y0 - Y377
2048 - 2303
Bobina
Relevadores de control (C)
512
C0 - C777
3072 - 3583
Bobina
Contactos de temporizador (T)
128
T0 - T177
6144 - 6271
Bobina
Contactos de Contador (CT)
Bits de estado de Etapa(s)
128
256
CT0 - CT177
S0 - S377
6400 - 6527
5120 - 5375
Bobina
Bobina
Para tipos de datos de palabra....Convierta la direccin del PLC a decimal + tipo de datos
Valores corrientes de
128
temporizador (V)
Valores corrientes de contador
128
(V)
V0 - V177
0 - 127
V1000- V1177
512- 639
768 - 3839
Registro de
entrada
Registro de
entrada
Holding
Register
Datos en memoria V
3072
V1400- V7377
Datos en memoria V, no voltil
256
V4000 - V4377 2048 - 2303
Holding
Register
Datos de memoria V, sistema
105
V7620 - V7737 3984 - 4063
V7746 - V7777 4070 - 4095
Holding
Register
Manual de los mdulos ECOM
5-7
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Tipo de memoria del
DL250-1
Cantidad
(Decimal)
Rango del
PLC7(octal)
Rango de direccin MODBUS
Tipo de datos
MODBUS
Para tipos de datos discretos..Convierta direcciones de PLC a decimal + inicio del rango + tipos de datos
Entradas (X)
512
X0 - X777
2048 - 2560
Entrada
Relevadores especiales (SP)
512
SP0 - SP137
SP320 - SP777
3072 - 3167
3280b- 3583
Entrada
Salidas (Y)
Relevadores de control (C)
Contactos de temporizador (T)
Contactos de Contador (CT)
512
1024
256
128
Y0 - Y777
C0 - C1777
T0 - T377
CT0 - CT177
2048
3072
6144
6400
2560
4095
6399
6527
Bobina
Bobina
Bobina
Bobina
Bits de estado de Etapa(s)
1024
S0 - S1777
5120 - 6143
Bobina
Para tipos de datos de palabra....Convierta la direccin del PLC a decimal + tipo de datos
Valores corrientes de
temporizador (V)
256
Valores corrientes de contador (V) 128
V0 - V377
0 - 255
Registro de entrada
V1000- V1177
512- 639
Registro de entrada
Datos en memoria V
3072
4096
V1400- V7377
V10000-V17777
768 - 3839
4096 - 8191
Holding Register
Datos en memoria V, sistema
256
V7400- V7777
3480 - 3735
Holding Register
Tipo de memoria del DL260
Cantidad Rango del PLC
(Decimal)
(octal)
Rango de direccin MODBUS
Tipo de datos
MODBUS
Para tipos de datos discretos..Convierta direcciones de PLC a decimal + inicio del rango + tipos de datos
Entradas (X)
1024
X0 - X1777
2048 - 3071
Relevadores especiales (SP)
512
1024
SP0 - SP137
SP320 - SP717
Y0 - Y1777
3072 - 3167
3280 - 3535
2048 - 3071
Salidas (Y)
Relevadores de control (C)
2048
Entrada
Entrada
Bobina
C0 - C3777
3072 - 5119
Bobina
Contactos de temporizador (T) 256
Contactos de Contador (CT)
256
T0 - T377
CT0 - CT377
6144 - 6399
6400 - 6655
Bobina
Bobina
Bits de estado de Etapa(s)
1024
S0 - S1777
5120 - 6143
Bobina
Entradas globales (GX)
2048
GX0-GX7377
0 - 2047
Entrada
Salidas globales (GX)
2048
GY0-GY3777
0 - 2047
Bobina
Para tipos de datos de palabra....Convierta la direccin del PLC a decimal + tipo de datos
Valores corrientes de
temporizador (V)
256
Valores corrientes de contador (V) 128
5-8
V0 - V377
V1000- V1377
0 - 255
512 - 767
Registro de
entrada
Registro de
entrada
Datos en memoria V
256
3072
11264
256 - 511
V400- V677
V1400- V7377
768 - 3839
V10000-V35777 4096 - 15359
Holding Register
Memorias V del sistema
256
3968 - 4095
V7600-V7777
V36000-V37777 15360 - 16383
Holding Register
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Los ejemplos siguientes muestran cmo generar el tipo de datos y direccin de MODBUS
para anfitriones que necesitan de este formato.
Ejemplo 1: Encuentre la direccin MODBUS para la direccin V2100 del usuario V.
1. Encuentre la memoria V en la tabla.
Direccin de PLC( Dec) + tipo de datos
2. Convierta V2100 en decimal (1089).
V2100 = 1088 decimal
3. Use el tipo de datos de MODBUS de la 1088+Holding register= Hold. register 1089
tabla.
Valores corrientes de
temporizador (V)
128
V0 - V177
Valores corrientes de
contador (V)
128
V1000 - V1177 512 - 639
Memoria V, datos de
usuario
1024 V2000- V3777 1024 - 2047 Holding register
0 - 127
Registro de entrada
Registro de entrada
Ejemplo 2: Encuentre la direccin de MODBUS para la salida Y20.
1. Encuentre las salidas Y en la tabla. Direccin PLC( Dec) + direccin inicial + tipo de datos
Y20 = 16 decimal
2. Convierta Y20 a decimal (16).
3. Sume la direccin inicial para el 16 + 2049+ bobina= Bobina 2065
rango (2049).
4. Use el tipo de datos MODBUS de la tabla.
Salidas (Y)
320
Y0 - Y477
2049 - 2367
Bobina
Relevadores de control (C) 256
C0 - C377
3073 - 3551
Bobina
Ejemplo 3: Encuentre la direccin MODBUS Direccin de PLC( Dec) + tipo de datos
para obtener el valor corriente del TA10 = 8 decimal
temporizador T10.
8 + registro de entrada= Registro de
1. Encuentre valores corrientes de temporizador
entrada 8
en la tabla.
2. Convierta T10 al decimal (8).
3. Utilizar el tipo de datos MODBUS de la tabla.
Valor corriente de timer (V)
128
V0 - V177
0 - 1277
Input register
Valor corriente de contador (V) 128
C0 - C377
3072 - 3551
Input register
Ejemplo 4: Encuentre la direccin de MODBUS para el relevador de control C54.
1. Encuentre relevadores de control Direccin PLC( Dec) + direccin inicial + tipo de datos
en la tabla.
Y20 = 16 decimal
2. Convierta C54 a decimal (44)
16 + 3072+ bobina= Bobina 3117
3. Sume la direccin inicial para el
rango (3072).
4. Use el tipo de datos MODBUS de la tabla.
Salidas (Y)
320
Y0 - Y477
2049 - 2367
Bobina
Relevadores de control (C) 256
C0 - C377
3072 - 3551
Bobina
Manual de los mdulos ECOM
5-9
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Si el software de anfitrin o el cliente requiere una direccin solamente.
Algunos clientes MODBUS TCP no permiten que usted especifique el tipo de datos de
MODBUS. En vez de eso, usted especifica solo una direccin . Este mtodo requiere otro
paso para determinar la direccin, pero no es difcil. Bsicamente, MODBUS tambin
separa los tipos de datos por rangos de direccin. Esto significa que una direccin
realmente puede describir el tipo de datos y la direccin. Esto se refiere a menudo como
"sumando el offset".
La ecuacin real usada para calcular la direccin depende del tipo de datos del PLC que
usted est usando. Los tipos de la memoria del PLC estn divididos en dos categoras para
este propsito.
* Discreto - X, GX, SP, Y, CR, S, T, C (contactos)
* Palabra - Memoria V, valor corriente del temporizador y del contador
En cualquier caso, usted convierte bsicamente la direccin octal del PLC al decimal y
suma la direccin inicial apropiada MODBUS (segn lo requerido). Las tablas siguientes
muestran el rango exacto usado para cada grupo de datos.
Nota: Para una utilidad automatizada de conversin de direccin de MODBUS/Koyo,
descargue el archivo modbus_conversion.xls desde el sitio de Internet
[Link] y vaya a la pgina de apoyo tcnico.
Tipos de datos discretos
Tipo de memoria del PLC
Cantidad
Rango del PLC
(Decimal)
Rango de la direccin
Acceso
MODBUS
Entradas globales (GX)
2048
GX0 - GX1746 10001 - 10999
GX1747- X3777 11000 - 12048
Entradas (X)
1024
X0 - X1777
12049 - 13072
Relevadores especiales (SP)
512
SP0 - SP777
13073 - 13584
Reservados
13585 - 20000
Salidas globales (GY)
2048
GY0 - GY3777
Relevadores de control (CR)
2048
C0 - C3777
2049 - 3072
Contactos de temporizadores (T)
256
CT0 - CT377
6145 - 6400
Contactos de contadores (CT)
256
CT0 - CT377
6401 - 6656
Bits de estado de etapas (S)
1024
S0 - S1777
5121 - 6144
Reservados
Solo
lectura
1 - 2048
Lectura y
escritura
6657 - 10000
* Vea el manual de usuario del PLC para el tamao correcto de la memoria de su
[Link] ser que algunas de las direcciones mostradas arriba no pertenezcan a su
CPU particular.
5-10
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Tipos de datos de palabras
Registros
Cantidad Rango del PLC Rango de direccin Rango de direccin
Acceso
MODBUS 40001
MODBUS 30001
(Decimal)
(Octal)
Memoria V(Timers)
256
V0 - V377
40001 - 40256
30001 - 30256
Memoria V
(Contadores)
256
V1000-V1377
40513 - 40768
40513 - 40768
256
V400 - V777
40257 - 40512
40257 - 40512
3072
V1400-V7377
40769 - 43840
40769 - 43840
5903
V1000-V23416 44097 - 49999
44097 - 49999
5361
V23417-V35777
410000- 415360
410000- 415360
128
1024
V7600 - V7777 43969-44096
V36000-V37777 415361-416384
43969-44096
415361-416384
Solo
lectura
128
V40000-V40177 416385-416512
416385-416512
Lectura y
escritura
128
V40200-V40377 416513-416640
416513-416640
Lectura y
escritura
64
V40400-V40477 416641-416704
416641-416704
Memoria V
(Puntos de salidas)
64
V40500-V40577 416705-416768
416705-416768
Memoria V
(Relevad. de control)
16
V40600-V40777 416769-416896
416769-416896
Memoria V
(Bits de estado de
temporizadores)
16
V41100-V41117 416961-416976
416961-416976
Memoria V
(Bits de estados de
contadores)
32
V41200-V41237 416993-417008
416993-417008
Memoria V
(Relevadores
especiales)
32
V41200-V41237 417025-417056
417025-417056
Memoria V
(Palabras de datos)
Memoria V
(Sistema)
Memoria V
(Entradas remotas)
Memoria V
(Salidas remotas)
Memoria V
(Puntos de entradas)
Lectura y
escritura
Lectura y
escritura
Solo
lectura
* Vea el manual de usuario del PLC para el tamao correcto de la memoria de su
[Link] ser que algunas de las direcciones mostradas arriba no pertenezcan a su
CPU particular.
Manual de los mdulos ECOM
5-11
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Ejemplo 1: Encuentre la direccin MODBUS para la direccin V2100
1. Encuentre la memoria V en la tabla.
Direccin de PLC( Dec) + tipo de datos
V2100 = 1088 decimal
2. Convierta V2100 en decimal (1088).
3. Use la direccin inicial de MODBUS para el 1088 + 40001= 1089
modo (40001).
Para tipos de datos .........
Direccin de PLC (Decimal)
Valores corrientes de timer (V)
128
Valores corrientes de contador (V) 128
Memoria V, datos de usuario
V0 - V177
0 - 127
V1000-V1177 512 - 639
3001 30001 Registro de entrada
3001 30001 Registro de entrada
1024 V2000-V3777 1024-2047 4001 40001 Holding register
Ejemplo 2: Encuentre la direccin de MODBUS para la salida Y20.
1. Encuentre las salidas Y en la tabla. Direccin de PLC( Dec) + direccin inicial +modo
Y20 = 16 decimal
2. Convierta Y20 a decimal (16).
3. Sume la direccin inicial del 6 + 2048 + 1= 2065
rango (2048).
4. Use la direccin inicial de
MODBUS para el modo (1).
Salidas (Y)
320
Y0 - Y477
2048 - 2367
Bobina
Relevadores de control (C)
Contactos de temprozador (T)
256
128
C0 - C377 3072 - 3551
T0- T177
6144 - 6271
1
1
1
1
Bobina
Bobina
Ejemplo 3: Encuentre la direccin MODBUS del relevador de control C54.
1. Encuentre los valores de rele- Direccin de PLC( Dec) + direccin inicial +modo
vadores de control en la tabla.
C54 = 44 decimal
2. Convierta C54 al decimal (44).
44 + 3072 + 1= 3117
3. Sume la direccin inicial del
rango (3072).
4. Use la direccin inicial de MODBUS para el modo (1).
Salidas (Y)
Relevadores de control (C)
Contactos de temprozador (T)
5-12
320
256
128
Y0 - Y477 2048 - 2367
C0 - C377 3072 - 3551
T0- T177 6144 - 6271
Manual de los mdulos ECOM
1
1
1
1
1
1
Bobina
Bobina
Bobina
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Operacin del cliente (maestro)de la red
Esta seccin describe cmo la CPU DL05/06/205 puede servir como cliente en una red
de MODBUS TCP usando el H0/H2 -ECOM100. Esta seccin discute cmo disear la
lgica ladder requerida para la operacin del cliente de la red.
Al usar el ECOM100 como cliente en la red,
usted usa simples instrucciones RLL para
iniciar las requisiciones. La instruccin WX
inicia operaciones de escritura a la red y la
instruccin RX inicia operaciones de lectura
desde la red. Antes de ejecutar los comandos
WX o RX, necesitamos cargar los datos
relacionados con la operacin de lectura o
escritura en el stack del acumulador de la
CPU. Cuando se ejecuta la instruccin WX o
RX, ella usa la informacin en el stack
combinada con los datos en la instruccin
de bloque, para definir totalmente la tarea.
Cdigos de funcin MODBUS permitidos
El H0/H2 -ECOM100 apoya los cdigos de funcin MODBUS siguientes cuando acta
como cliente de MODBUS TCP.
Cdigo de funcin
MODBUS
01
02
03
Funcin
Tipos de datos disponibles
DL05/06/205
Lee una tabla de salida
Y ,C, T, CT
Lee una tabla de entradas
X, SP
Lee Holding registers (cuando el modo de
direccionamiento es 584/984, esta funcin se
V
usa para tener acceso a registros de salidas
anlogas)
06
15
Configura registros nicos
Fuerza salidas mltiplas
V
Y, C, T, CT
16
Configura registros mltiplos
Nota: El H0/H2 -ECOM100, como cliente/maestro, no apoya la funcin cdigo 4. De
este modo, no se pueden leer las direccines 30001 desde un dispositivo
servidor/esclavo.
Manual de los mdulos ECOM
5-13
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Direccin de memoria del PLC permitida en la operacin del cliente
La ecuacin real usada para calcular la direccin depende del tipo de datos del PLC que
usted est usando. Los tipos de memoria del PLC son clasificados en tres categoras para
este propsito.
* Discreto - X, GX, SP
* Discreto - Y, CR, S, T, C
* Palabra - Valor actual de temporizadores, valor actual de contador, palabras de datos
En cualquier caso, usted bsicamente toma la direccin de MODBUS a que usted est
intentando apuntar, resta la direccin MODBUS que comienza de ese rango, convierte el
resultado a octal y agrega el nmero octal a la direccin inicial del PLC en el rango
apropiado del PLC. Vea los ejemplos de conversin en la pgina siguiente. Las tablas
siguientes muestran el rango exacto usado para cada grupo de datos.
Nota: Para un programa de conversin de direccin de MODBUS para Koyo y viceversa, baje
el archivo modbus_conversion.xls desde el sitio de Internet [Link].
Tipos de datos discretos *
Tipo de memoria del PLC
Entradas globales (GX)
Cantidad Rango del PLC
(Decimal) (octal)
GX0 - GX1746
2048
GX1747- X3777
Entradas (X)
Relevadores especiales (SP)
Reservados
1024
512
-
X0 - X1777
SP0 - SP777
-
Salidas globales (GY)
2048
GY0 - GY3777
Salidas (Y)
1024
Y0 - Y1777
Relevadores de control (CR)
Contactos de temporizadores (T)
Contactos de contadores (T)
Bits de estado de etapas (S)
2048
256
256
1024
C0 - C3777
CT0 - CT377
CT0 - CT377
S0 - S1777
Reservados
Registros
Memoria V(Timers)
Rango de la direccin
Acceso
MODBUS
10001 - 10999
11000 - 12048
12049 - 13072
13073 - 13584
13585 - 20000
1 - 2048
2049 - 3072
3073 - 5120
6145 - 6400
6145 - 6400
5121 - 6144
256
Lectura y
escritura
6657 - 10000
Tipos de datos de palabras
Cantidad
Rango del PLC Rango de direccin
MODBUS
(Decimal)
(Octal)
256
V0 - V377
40001 - 40256
Memoria V (Contadores)
Solo
lectura
V1000-V1377
40513 - 40768
Memoria V (Palabras de datos)
256
3072
5903
5361
V400 - V777
V1400-V7377
V1000-V23416
V23417-V35777
40257 - 40512
40769 - 43840
44097 - 49999
410000- 415360
Memoria V (Sistema)
128
1024
V7600 - V7777 43969- 44096
V36000-V37777 415361- 416384
Acceso
Lectura y
escritura
* Vea el manual de usuario del PLC para el tamao de memoria correcta de su
[Link] de las direcciones mostradas arriba pueden no pertenecer a su CPU
particular.
5-14
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Nota: se puede usar la calculadora de Windows de su PC para conversiones de nmeros
(es decir decimal a octal). La calculadora de Windows debe estar en el modo
Calculator>View>Scientific para permitir hacer las conversiones de nmeros.
Ejemplo 1: Calculando la direccin de una memoria V de PLC
Encuentre la direccin del PLC para la
direccin correspondiente MODBUS
41025 en un dispositivo servidor.
1. Reste la direccin inicial del rango
MODBUS (40001) de la direccin
MODBUS que desea convertir.
1. 41025 - 40001 = 1024 decimal
2. Convierta el resultado decimal en octal
2. 1024 decimal = 2000 octal
3. Sume el resultado octal al inicio del 3. V0 (octal) + 2000 (octal) = V2000 octal
rango del PLC (entrada, salida o palabra).
Ejemplo 2: Calculando la direccin de una entrada discreta de PLC
Encuentre la direccin del PLC correspondiente a la direccin 12060 en un
dispositivo servidor.
1. Reste la direccin inicial del rango de la
entrada de MODBUS (12049) desde la
direccin deseada.
2. Convierta el resultado decimal en octal
3. Agregue el resultado octal al inicio del
rango del PLC (entrada, salida o palabra).
1. 12060 - 12049 = 11 decimal
2. 11 decimal = 13 octal
3 X0 (octal) + 13 (octal) = X13 octal
Manual de los mdulos ECOM
5-15
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Construyendo el programa de lectura (RX) o escritura (WX )
Para las comunicaciones de red, usted
programa las instrucciones de lectura(RX) o
escritura (WX) en una rutina que usa las cuatro
instrucciones que usted ve a la derecha. Deben
ser usadas en la secuencia mostrada. El
procedimiento paso a paso siguiente le
entregar la informacin necesaria para hacer
el programa ladder para recibir datos desde un
servidor de la red.
Paso 1: Identifique la ranura de ECOM y el no. de nodo del servidor
La primera instruccin (LD) acepta una constante o una variable. Use una "K" para
identificar el nmero como constante. Use una "V" si usted est entrando la direccin de
un registro. El contenido de ese registro realiza la misma funcin que la constante
mostrada abajo. Por ejemplo, usted podra usar V2000 en lugar de K114. Si el contenido
de V2000 es el nmero "114," la funcin sera igual. Usando una variable le permite
cambiar parmetros mientras el programa est funcionando.
Nodo del servidor #
Nmero de ranura de ECOM
PLC pidiendo accin
El dispositivo que responde
Base de expansin = 1,2 o 3 Vea la pgina 2-7 y 2-8 en la red
sobre nmeros de ranura.
Vea la pgina 2-7 y 2-9 sobre
Vea la pgina -3 10 o 6-4
como usar ECOMs en
sobre asignar un nmero de
extensin local o en bases
nodo a una DIRECCION IP
remotas de E/S.
de un servidor
Nmero de base
Base de la CPU = 0
5-16
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Paso 2: Cargue la cantidad de bytes a ser transferidos
La segunda instruccin LD )determina la
cantidad de bytes que se transfieren entre el
maestro y el esclavo en la instruccin
subsecuente WX o RX. El valor que se cargar
est en el formato BCD, a partir 1 a 128 bytes.
Paso 3: Especifique el rea de memoria
del maestro
La tercera instruccin en la secuencia RX o
WX es una instruccin (LDA). Su propsito es
cargar la direccin inicial del rea de
memoria que se transferir. Entrado como
nmero octal, la instruccin LDA lo convierte
a hexadecimal y pone el resultado en el
acumulador.
Para una instruccin WX, la CPU DL250-1 o
la D2-260 enva la cantidad de bytes
especificados previamente de su rea de
memoria que comienza en la direccin
especificada por LDA.
Para una instruccin RX, la CPU DL250-1 o la
D2-260 lee el nmero de bytes especificados
previamente desde el servidor, poniendo los
datos recibidos en su rea de memoria que
comienza en la direccin especificada por
LDA.
NOTA: Puesto que las palabras de la memoria V son siempre 16 bits, usted puede ser que
no use siempre la palabra entera. Por ejemplo, si usted especifica solamente leer 3 bytes,
usted conseguir solamente 24 bits de datos. En este caso, solamente los 8 bits menos
significativos de la ltima palabra sern modificados. Los 8 bits restantes no son afectados.
Paso 4: Especifique el rea de memoria del esclavo
La ltima instruccin en nuestra secuencia es
la instruccin misma WX o RX. Use WX para
escribir al servidor y RX para leer en el
servidor. Todas las cuatro instrucciones se
muestran a la derecha. En la ltima
instruccin, usted debe especificar la
direccin inicial y un tipo de datos vlido para
el servidor.
Manual de los mdulos ECOM
5-17
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Comunicaciones desde un programa ladder
Las comunicaciones de red duran tpicamente
ms que un barrido. El programa debe esperar
que termine la comunicacin de esa instruccin
antes de comenzar la transaccin siguiente.
Error de Comunicacin de ECOM
Dependiendo de qu ranura est colocado el mdulo ECOM, hay dos contactos de
relevador especial asociados a l (vea la pgina 4 -11 a 4 -12 para los relevadores
especiales). Uno indica que el puerto est ocupado (port busy"), y el otro indica un "error
de comunicacin". El ejemplo de arriba muestra el uso de estos contactos para un ECOM
que est en la ranura 1. El bit "port busy" est encendido mientras que el PLC se comunica
con el esclavo. Cuando el bit del programa est OFF, se puede iniciar la peticin siguiente
de la red.
El bit de error de comunicacin" se hace ON cuando el PLC ha detectado un error. El
uso de este bit es opcional. Cuando es usado, debe estar delante de cualquier instruccin
de bloque de la red puesto que el bit del error se hace OFF cuando se ejecuta una
instruccin RX o WX.
Enclavamientos para lecturas y escrituras mltiplas
Si usted est usando varias instrucciones de
escritura y lectura en la programacin, usted
puede poner cada rutina en un rengln
separado del programa con enclavamientos,
para asegurarse que la ejecucin de una
transaccin sea completada, permitiendo que
solamente uno de ellos sea activo a la vez. Si
usted no usa los enclavamientos, entonces la
CPU ejecutar solamente la primera rutina.
Esto es porque cada puerto puede manejar
solamente una transaccin a la vez.
En el ejemplo a la derecha, despus de que se
ejecute la instruccin RX, C0 se hace ON.
Cuando el puerto ha acabado la tarea de
comunicacin, se ejecuta la segunda rutina y
C0 vuelve a OFF.
Si Ud usa programacin por etapas, se puede
colocar cada rengln en una etapa separada del
programa, para asegurarse de un ejecucin
adecuada y se salte de etapa en etapa
permitiendo as que solamente una est activa
en un momento dado.
5-18
Manual de los mdulos ECOM
Captulo 5: MODBUS TCP para H0/H2-ECOM100
Memoria de Sistema de los mdulos H0/H2-ECOM100
H0/H2-ECOM100
Rango de direcciones Palabras
Descripciones de palabras
MODBUS
(16 bits)
Informacin 317501 - 317506
6
(417501 - 417506) *
de la
versin del
mdulo
317507 - 317510
(417507 - 417510)
Datos del
Dispositivo
317511 - 317600
90
(417511 - 417600) *
317601 - 318500
(417601 - 418500)
Datos de
mdulo
dinmico
123456-
Versin mayor de OS
Versin menor de OS
Versin de Build del OS
Versin mayor de Booter
Versin menor de Booter
Versin de Build del Booter
Reservado
Acceso
Solamente
lectura
1 - Versin del dispositivo
2 - Familia
3 - Procesador
4 - Tipo del Mdulo
5 - Cdigo de Estado
(6 -8) - Direccin de Ethernet
9 - Tamao de RAM
10 - Tamao de FLASH
11 - Tamao de Batera RAM
12 - Ajustes de DIP switches
Solamente
13 - Tipo de Media
lectura
(14 -15) - Conteo de EPF (si est
apoyado)
16 - Estado del relevador RUN (si est
apoyado)
17 - Batera con bajo voltaje (si est
apoyado)
18 - Nmero de modelo
19 - Velocidad de Ethernet (20 -90)
(20-90)- Reservado
Reservado
418001 - 418020
20
(1 -3) - Reservado
4 - Banderas: bit 0 : Si 1, mdulo
ha rebooted,ya que este bit se
hizo OFF, escribir a la palabra de
banderas con el bit ON hace
OFF este bit de reboot.
Lectura y
Bit (1 -7) - Reservado
escritura
5 -Conteo de Reboot (LSW)- Solo
lectura
6 -Conteo de Reboot (MSW)-Solo
lectura
(7 -20) - Reservado
418021 - 419250
Reservado
* Para clientes que apoyan solamente la funcin cdigo 3 para leer datos de palabra.
Manual de los mdulos ECOM
5-19
Captulo 5: MODBUS TCP para H0/H2-ECOM100
5-20
Manual de los mdulos ECOM