MODB_341: Instrucción de esclavo Modbus para CP 341 (S7-300, S7-400) - STEP 7

Esclavo Modbus (RTU) (S7-300, S7-400)

ft:publication_title
Esclavo Modbus (RTU) (S7-300, S7-400)
Product
STEP 7
Version
V21
Publication date
12/2025
Language
es-ES
MODB_341: Instrucción de esclavo Modbus para CP 341

Descripción

La instrucción MODB_341 y el respectivo driver permiten una conexión entre el sistema de control del maestro Modbus y el módulo de comunicación CP 341 como un sistema de esclavo "apto para Modbus".

Funcionamiento

En el programa de usuario, la instrucción MODB_341 debe llamarse en el programa cíclico. La instrucción utiliza el DB instancia respectivo IDB_MODB_341 como área de trabajo.

La instrucción MODB_341 inicializa el CP y ejecuta las funciones Modbus que el driver no puede realizar por sí solo.

Después de cada rearranque completo o rearranque de la CPU se tiene que realizar una inicialización de la instrucción MODB_341. La inicialización se activa con un flanco ascendente en la entrada CP_START. La instrucción borra primero el DB instancia, lee las áreas de operandos I, Q, M, T y C con la instrucción de sistema SZL_LESEN de la CPU y las deposita en el DB instancia. De ese modo, es posible comprobar si los requisitos de escritura del sistema maestro Modbus exceden el rango.

Con la petición SEND se notifica al CP el número de los DBs instancia y el transcurso correcto de la inicialización hasta el momento.

Tan pronto finalice la petición SEND sin errores, la salida CP_START_OK se activa y la inicialización de la instrucción concluye.

Parámetros

Parámetro

Declaración

Tipo de datos

Descripción

LADDR

INPUT

Int

Dirección inicial del CP

Aplicar asignación de HW Config

START_TIMER

INPUT

Timer

Temporizador para iniciar el tiempo de vigilancia

START_TIME

INPUT

S5Time

Valor de tiempo para iniciar el tiempo de vigilancia

OB_MASK

INPUT

BOOL

Enmascarar errores de acceso a periferia, retardar alarmas

FALSE:

Los errores de acceso a la periferia no se enmascaran

TRUE:

Los errores de acceso a la periferia se enmascaran y las alarmas se retardan

CP_START

INPUT

BOOL

Instrucción Iniciar inicialización

CP_START_FM

INPUT

BOOL

La inicialización se activa con el flanco ascendente de CP_START.

CP_START_NDR

OUTPUT

BOOL

Información: Requisitos de escritura del CP

CP_START_OK

OUTPUT

BOOL

El arranque ha finalizado sin errores

TRUE:

La petición de inicialización se ha podido ejecutar sin errores antes de transcurrir el tiempo de vigilancia.

CP_START_ERROR

OUTPUT

BOOL

El arranque se ha cancelado con errores

TRUE:

La petición de inicialización no se ha podido ejecutar sin errores ni siquiera después de transcurrir el tiempo de vigilancia.

ERROR_NR

OUTPUT

Word

Número de error

Asignación véase Parámetro ERROR_NR, ERROR_INFO

ERROR_INFO

OUTPUT

Word

Información adicional de error

Asignación véase Parámetro ERROR_NR, ERROR_INFO

Comportamiento en caso de error

Si la petición SEND concluye con errores, se desactivará CP_START y se activará CP_START_ERROR.

Si la inicialización ha finalizado con errores no será posible una comunicación Modbus. Todos los requisitos del sistema maestro Modbus se responden con un telegrama de código de excepción.

Tras una conexión (POWER ON) el CP necesita varios segundos para el test de hardware y memoria hasta que esté operativo. Los intentos de inicialización realizados por la instrucción MODB_341 durante este tiempo finalizan con errores. Por eso, la instrucción repite varias veces su petición de inicialización durante el tiempo de vigilancia.

Si la inicialización finaliza sin errores dentro del START-TIME parametrizado del START-TIMERS, se activará CP_START_OK. Si la petición de inicialización no se ha podido ejecutar sin errores incluso después de transcurrir el tiempo de vigilancia, se activará CP_START_ERROR.