Descripción
La instrucción MODB_441 y el respectivo driver permiten una conexión entre el sistema de control del maestro Modbus y el módulo de comunicación CP 441-2 como un sistema de esclavo "apto para Modbus".
Funcionamiento
En el programa de usuario, la instrucción MODB_441 debe llamarse en el programa cíclico. La instrucción utiliza el DB instancia respectivo IDB_MODB_441 como área de trabajo.
Los códigos de función Modbus 01, 02, 03, 04, 06 y 16 se procesan directamente con el CP. En los códigos de función 05 y 15, la instrucción aplica la entrada de los datos de bit en bit en el área de memoria SIMATIC.
La instrucción MODB_441 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_441 . 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 |
|---|---|---|---|
|
ID |
INPUT |
Word |
ID de conexión ID de conexión de la configuración |
|
START_TIMER |
INPUT |
Timer |
Temporizador para iniciar el tiempo de vigilancia |
|
START_TIME |
INPUT |
S5Time |
Valor de tiempo para iniciar el tiempo de vigilancia |
|
STATUS_TIMER |
INPUT |
Timer |
Temporizador para leer SYSTAT |
|
STATUS_TIME |
INPUT |
S5Time |
Intervalo de tiempo para leer SYSTAT |
|
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_441 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.