Escribir datos en el esclavo o leer datos desde el esclavo
Usar esta instrucción para escribir datos de un maestro en un esclavo o para leer datos de un esclavo a través del puerto de comunicación utilizando el protocolo Modbus RTU, tal y como se define en los registros del sistema del puerto utilizado. Asegurarse de que el protocolo es el mismo para el maestro y el esclavo.
Entrada
Especificar los puertos de comunicación (dependiendo del tipo de PLC):
Puerto COM, por ejemplo SYS_COM0_PORT
Puerto Ethernet, por ejemplo SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU por ejemplo 16#xx01 (xx = número de slot) en COM01
Número de estación del esclavo
Para FP7 solamente:
Códigos de función 05, 06, 15, 16: 0–247
Cuando se utiliza SCU y se especifica "0" para el número del esclavo, se ejecuta una transferencia global. En este caso, no hay mensaje de respuesta del esclavo.
Códigos de función 01, 02, 03, 04: 1-247
Para otros PLCs:
Códigos de función 05, 06, 15, 16: 0–99
Cuando se especifica "0" para el número del esclavo, se ejecuta una transferencia global. En este caso, no hay mensaje de respuesta del esclavo.
Códigos de función 01, 02, 03, 04: 1-99
Ajustar a 1, si se aplica una SYS_ETHERNET_USER_CONNECTION_xx al Port de entrada
SYS_MODBUS_03_READ_HOLDING_REGISTER
Dirección de inicio (0–65535). El tipo de dirección depende del comando especificado en FunctionCode*.
Número de bits o palabras de transmisión.
1 para los códigos de función 05, 06
1–2040 para los códigos de función 01, 02
2–2040 para el código de función 15
1–127 para los códigos de función 03, 04
2–127 para el código de función 16
Dirección de origen en el maestro para los datos que se escribirán en el esclavo.
Salida
Para FP7 solamente: Para obtener una descripción de todos los códigos de error, consultar la tabla de códigos de error de comunicación Modbus/MEWTOCOL.
Para otros PLCs: ajustar a 0
Durante el envío: Bandera de envío de la comunicación maestra es TRUE
Envío realizado: Bandera de envío de la comunicación maestra es FALSE
Finalización normal: FALSE
Finalización anormal: TRUE
si el área especificada utilizando el modificador índice supera el límite.
si el área especificada utilizando el modificador índice supera el límite.
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso especial de que el esclavo conectado sea un PLC de Panasonic configurado a través del registro del sistema en modo Modbus RTU esclavo, se leen uno o varios bits de:
Y (Salida)
R (Relés internos)
Ejecutar el comando Modbus 01: lee el bit 1 de un esclavo Modbus comenzando por el registro de inicio 56 establecido por la variable StartRegister. A continuación, el comando almacena el bit 1 en el maestro comenzando en la dirección establecida por la variable bBool2. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 56 se corresponde con la salida Y38 (3*16+8=56).
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso especial de que el esclavo conectado sea un PLC de Panasonic configurado a través del registro del sistema en modo Modbus RTU esclavo, se leen uno o varios bits de:
Ejecutar el comando Modbus 02: lee el bit 1 de un esclavo Modbus comenzando por el registro de inicio 66 establecido por la variable StartRegister. A continuación, el comando almacena el bit 1 en el maestro comenzando en la dirección establecida por la variable bBool2. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 66 se corresponde con la entrada X42 (4*16+2=66).
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso especial de que el esclavo conectado sea un PLC de Panasonic configurado a través del registro del sistema en modo Modbus RTU esclavo, se leen uno o varios bits de:
Ejecutar el comando Modbus 03: lee 2 palabras de un esclavo Modbus comenzando por el registro de inicio 100 establecido por la variable StartRegister. A continuación, el comando almacena las 2 palabras en el maestro Modbus 2 comenzando por la dirección establecida por la variable rCount2. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 100 se corresponde con el registro de datos DT100.
Número máximo de registros: 127.
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso especial de que el esclavo conectado sea un PLC de Panasonic configurado a través del registro del sistema en modo Modbus RTU esclavo, se leen uno o varios bits de:
WL0–WL127 (Relés de enlace)
LD0–LD256 (Registros de enlace)
Ejecutar el comando Modbus 04: lee 7 palabras de un esclavo Modbus comenzando por el registro de inicio 2018 establecido por la variable StartRegister. A continuación, el comando almacena las 7 palabras en el maestro, comenzando por el LD25 establecido por la variable MasterData. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 2018 se corresponde con el registro de enlace LD18.
Número máximo de registros: 127.
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso de que el esclavo sea un PLC de Panasonic en modo Modbus RTU, se escriben uno o varios bits en:
Y (Salida)
R (Relés internos)
Ejecutar el comando Modbus 05: escribe el bit 1 en un esclavo Modbus comenzando por la dirección WY1 establecida por la variable MasterData. A continuación, el comando almacena el bit 1 en un esclavo Modbus comenzando por el registro inicial 35 establecido por la variable StartRegister. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, la dirección 35 se corresponde con la salida Y23 (2*16+3=35).
Cuando se escriban datos de varios bits utilizar la constante SYS_MODBUS_15_FORCE_COILS
Número máximo de registros: 1
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso de que el esclavo sea un PLC de Panasonic en modo Modbus RTU, se escriben uno o varios bits en:
Ejecutar el comando Modbus 06: escribe la palabra 1 en un esclavo Modbus comenzando en la dirección DT14 establecida por la variable MasterData. A continuación, el comando almacena la palabra 1 en el esclavo Modbus, comenzando por el registro inicial 21 establecido por la variable StartRegister. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 21 se corresponde con el registro de datos DT21.
Cuando se escriban datos de varios bits utilizar la constante SYS_MODBUS_15_FORCE_COILS
Número máximo de registros: 1
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso de que el esclavo sea un PLC de Panasonic en modo Modbus RTU, se escriben uno o varios bits en:
Y (Salida)
R (Relés internos)
Ejecutar el comando Modbus 15: escribe 64 bits en un esclavo Modbus, comenzando por la dirección WY1 establecido por la variable MasterData. A continuación, el comando almacena los 64 bits en el esclavo Modbus comenzando por el registro inicial 48 establecido por la variable StartRegister. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, la dirección 48 se corresponde con la salida Y30 (3*16=48).
Cuando se asigna esta constante al parámetro de entrada FunctionCode*, se ejecuta el comando Modbus correspondiente.
En el caso de que el esclavo sea un PLC de Panasonic en modo Modbus RTU, se escriben uno o varios bits en:
Ejecutar el comando Modbus 16: escribe los datos en un esclavo Modbus comenzando por la dirección establecida por la variable rCount1. A continuación, el comando almacena los datos en el esclavo Modbus 2 comenzando por el registro inicial 100 establecido por la variable StartRegister. La dirección del esclavo se traduce en una dirección específica del dispositivo dependiendo de las especificaciones Modbus de este.
Si el esclavo es un PLC de Panasonic, el registro inicial 100 se corresponde con el registro de datos DT100.
Número máximo de registros: 127.