En SIMATIC PCS 7, la supresión de mensajes de operador iniciada a través del botón 'Bloquear mensajes' del faceplate se puede detectar mediante OPC utilizando WinCC OPC A&C / OPC UA o las palabras de estado de los bloques tecnológicos. En WinCC Alarm Logging, las alarmas bloqueadas transicionan al estado 'Bloqueado / Suprimido' (estado de base de datos = 4), el cual se expone a través de la propiedad de condición SuppressedOrShelved de OPC UA Alarms & Conditions. Alternativamente, en bloques APL estándar, el estado de supresión de mensajes se refleja directamente en la palabra de salida de estado del PLC (por ejemplo, Status1.Bit22), la cual se puede leer mediante OPC Data Access (DA) como una variable de proceso simple.
Índice de contenidos
- Mecánica del bloqueo de mensajes APL: Niveles de PLC vs. HMI
- Detección de alarmas bloqueadas mediante WinCC OPC A&C y OPC UA
- Detección del bloqueo de mensajes mediante palabras de estado de bloques APL a través de OPC DA
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes de ingeniería
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Mecánica del bloqueo de mensajes APL: Niveles de PLC vs. HMI
Cuando un operador suprime alarmas para una etiqueta de medición específica o un motor en una Estación de operador de SIMATIC PCS 7, se pueden utilizar dos mecanismos distintos:
1. Bloqueo de mensajes a nivel de PLC (Entrada MsgLock): Un pin booleano en el bloque de función del diagrama CFC (por ejemplo, MotL.MsgLock = 1). Esta es una entrada de ingeniería manipulada por lógica de interbloqueo o selectores de mantenimiento. Suprime la generación de alarmas dentro del bloque del sistema ALARM_8P del controlador.
2. Bloqueo de mensajes de operador a nivel de HMI (Botón Bloquear mensajes): El botón estándar del faceplate activa scripts de C internos de WinCC (PCS7_LockMessage.fct invocando CsigAPILockMessage). Esta operación instruye al servidor en tiempo de ejecución de WinCC Alarm Logging para bloquear todos los mensajes asociados con ese objeto tecnológico en la capa de supervisión HMI, evitando que aparezcan en los banners de alarma activos.
Al integrar PCS 7 con un Sistema de Control Distribuido (DCS) de terceros (como Yokogawa CENTUM VP o Honeywell Experion) mediante OPC, los ingenieros deben capturar este estado de supresión de operador para garantizar una gestión de alarmas unificada.
Detección de alarmas bloqueadas mediante WinCC OPC A&C y OPC UA
Si el sistema supervisor de terceros se comunica mediante OPC Alarms & Conditions (OPC A&C) o OPC UA Part 9 (Alarms and Conditions):
- Estado interno de WinCC Alarm Logging:
* En la base de datos de mensajes de Microsoft SQL Server de WinCC (ALG), cada evento de mensaje posee un número entero de estado interno:State = 0: Normal / Inactivo.State = 1: Activo / No reconocido.State = 2: Activo / Reconocido.State = 4: Bloqueado / Suprimido (Sperre).
- Mapeo de OPC UA Alarms & Conditions:
* El servidor SIMATIC NET WinCC OPC UA publica nodos de condición de alarma estandarizados.
* Bajo la instancia de la condición de alarma, inspeccione la propiedadSuppressedOrShelved(oSuppressedState).
* Cuando un operador hace clic en "Bloquear mensajes",SuppressedState.Idtransiciona aTRUE, confirmando la supresión activa de alarmas.
Detección del bloqueo de mensajes mediante palabras de estado de bloques APL a través de OPC DA
Si el DCS de terceros se conecta únicamente mediante OPC Data Access básico (OPC DA / OPC UA DA) y no puede analizar árboles de condiciones de alarma complejos, consulte las palabras de estado del bloque APL:
- Reflexión de la palabra de estado APL:
* Los bloques APL modernos (V8.x, V9.x) transmiten su estado operativo completo a la Estación de operador (OS) mediante variables de estado de doble palabra (Status1,Status2,Status3).
* En bloques comoMotL,VlvLyMonAnL, la lógica interna refleja el bloqueo de mensajes activo directamente en los bits de estado:Status1.Bit22(o el bit de estado designadoMsgLock): Evalúa si las alarmas para esta instancia de bloque específica están bloqueadas activamente.
- Lectura mediante OPC DA:
* En el cliente OPC DA, navegue por la jerarquía de Tag Management de WinCC:
OS_Server::PlantHierarchy/Motor_01.Status1
* Lea el valor entero sin signo de 32 bits. Aplique una máscara de bits (16#00400000para el bit 22) en el DCS de terceros para determinar si el bloqueo de mensajes está activo.
Verificación
- En el entorno de ejecución (runtime) de la OS de PCS 7, abra el faceplate para un motor de prueba (
MotL). - Haga clic en el botón Bloquear mensajes en la cabecera del faceplate.
- En el cliente OPC de terceros:
- Si utiliza OPC UA A&C: Verifique que el nodo de condición para
Motor_01reporteSuppressedState = TRUE. - Si utiliza OPC DA: Verifique que el bit 22 de la variable
Motor_01.Status1transicione de0a1. - En el runtime de WinCC, haga clic en Desbloquear mensajes. Confirme que las variables OPC regresan a sus estados normales de desbloqueo.
Limitaciones y precauciones operativas
- Bloquear mensajes a nivel de HMI de WinCC no detiene la ejecución del bloque
ALARM_8Pdel PLC; simplemente suprime la visualización en el banner de alarmas y la activación de la bocina. - Si un proyecto utiliza bloques heredados de la librería clásica (Classic Library), las palabras de estado no incluyen las estructuras de bits APL modernas, lo que requiere la evaluación mediante OPC A&C.
- Asegúrese de que el DCS de terceros respete las normas de auditoría de supresión y postergación (shelving) de alarmas ANSI/ISA-18.2 cuando refleje las alarmas suprimidas.
Preguntas frecuentes de ingeniería
- ¿Puedo leer el estado de alarma bloqueada desde una variable interna de WinCC?
WinCC no genera una variable interna individual por cada bloqueo de mensaje. El estado de bloqueo se mantiene dinámicamente dentro de la memoria de runtime de Alarm Logging y las tablas SQL, razón por la cual se requieren OPC A&C o las palabras de estado de los bloques. - ¿Qué función de script de C ejecuta el botón del faceplate?
El botón ejecutaPCS7_LockMessage.fct, el cual llama a la API privadaCsigAPILockMessageproporcionada por el subsistema de control de procesos básico de WinCC (s7hmi). - ¿Soporta OPC UA DA la lectura de bits individuales de Status1?
Los servidores OPC DA estándar exponenStatus1como un entero de 32 bits (DWORD). El DCS receptor debe ejecutar una operación AND bit a bit (Status1 & (1 << 22)) para extraer el indicador booleano individual.
Referencias técnicas
- Manual del servidor SIMATIC WinCC V7/V8 OPC UA (A5E41356345-AA).
- Manual de funciones de SIMATIC PCS 7 Advanced Process Library (APL) (A5E43360408-AA).
- Especificación de OPC Unified Architecture Parte 9: Alarms and Conditions (IEC 62541-9).
Artículos relacionados
- Integración de sistemas de control distribuido de terceros con SIMATIC PCS 7 mediante OPC UA.
- Gestión de la postergación (shelving) y supresión de alarmas ISA-18.2 en estaciones de operador WinCC.
Etiquetas relacionadas
PCS 7, WinCC, OPC UA, OPC A&C, OPC DA, Bloqueo de mensajes, Alarm Logging, APL