12.5.3.3
MB_SLAVE
Tabla 12- 73 Instrucción MB_SLAVE
KOP / FUP
Tabla 12- 74 Tipos de datos para los parámetros
Parámetro y tipo
MB_ADDR
IN
MB_HOLD_REG
IN
NDR
OUT
DR
OUT
ERROR
OUT
STATUS
OUT
Los códigos de las funciones de comunicación Modbus (1, 2, 4, 5 y 15) pueden leer y
escribir bits y palabras directamente en la memoria imagen de proceso de las entradas y
salidas de la CPU. Para estos códigos de función, el parámetro MB_HOLD_REG debe
definirse como un tipo de datos superior a un byte. La tabla siguiente muestra un ejemplo
del mapeo de las direcciones Modbus en la memoria imagen de proceso de la CPU.
Controlador programable S7-1200
Manual de sistema, 11/2011, A5E02486683-05
SCL
"MB_SLAVE_DB"(
MB_ADDR:=_uint_in_,
NDR=>_bool_out_,
DR=>_bool_out_,
ERROR=>_bool_out_,
STATUS=>_word_out_,
MB_HOLD_REG:=_variant_inout_);
Tipo de datos
V1.0: USInt
V2.0: UInt
Variant
Bool
Bool
Bool
Word
Descripción
La instrucción MB_SLAVE permite al
programa comunicarse como un esclavo
Modbus a través de un puerto PtP en el CM
(RS485 o RS232) y la CB (RS485). Cuando
un maestro Modbus RTU remoto lanza una
petición, el programa de usuario responde con
la ejecución de MB_SLAVE. STEP 7 crea
automáticamente un DB de instancia al
introducir la instrucción. Utilice este nombre
de MB_SLAVE_DB al especificar el parámetro
MB_DB para la instrucción
MB_COMM_LOAD.
Descripción
La dirección de estación del esclavo Modbus:
Rango de direccionamiento estándar (1 a 247)
Rango de direccionamiento avanzado (0 a 65535)
Puntero hacia el DB del registro de retención Modbus: El registro
de retención Modbus puede ser un área de marcas o un bloque de
datos.
Nuevos datos listos:
0 – No hay datos nuevos
1 – Indica que el maestro Modbus ha escrito datos nuevos
Lectura de datos:
0 – No se han leído datos
1 – Indica que el maestro Modbus ha leído datos
El bit ERROR es TRUE durante un ciclo tras haberse finalizado la
última petición con un error. Si la ejecución ha finalizado con un
error, el valor del código de error en el parámetro STATUS sólo es
válido durante un ciclo en que ERROR = TRUE.
Código de error de ejecución
105BProcesador de comunicaciones
12.5 Comunicación Modbus
639