Integración dinámica de cadenas de la biblioteca de texto en los mensajes de alarma de PCS 7 a través de valores asociados

En el registro de alarmas (Alarm Logging) de SIMATIC PCS 7, la inserción dinámica de cadenas de texto desde una biblioteca de texto (Text Library) de usuario en los mensajes de alarma —como por ejemplo, extraer nombres de unidades dinámicos en los mensajes de MonDiL— se logra utilizando marcadores de posición de valores asociados con la sintaxis @<n>W%t#<LibraryName>@. El número entero <n>W especifica el índice del valor asociado (donde 4W corresponde a ExtVal104 en los bloques APL), el cual indexa dinámicamente la fila de destino dentro de la biblioteca de texto, requiriendo compilaciones tanto de HW Config como de la OS para actualizar los diccionarios de mensajes.

Índice de contenidos

Arquitectura del formato de mensajes de alarma dinámicos en SIMATIC PCS 7

Estandarizar los textos de alarma en cientos de unidades tecnológicas idénticas (por ejemplo, copiar un diagrama CFC de caldera a 10 calderas) requiere frecuentemente personalizar las cadenas de alarma para que los operadores reconozcan inmediatamente el activo físico:
* En lugar de editar manualmente textos de mensajes estáticos en cientos de bloques individuales (por ejemplo, cambiar Caldera 1A Temperatura Alta por Caldera 2B Temperatura Alta), PCS 7 admite Marcadores de posición dinámicos de la biblioteca de texto.
* Valores asociados: Cuando un bloque tecnológico dispara una alarma a través de ALARM_8P, transmite hasta 10 valores de proceso asociados (SD_1 a SD_10).
* Integración de la biblioteca de texto: Al hacer referencia a una biblioteca de texto de usuario central, un valor entero pasado a una entrada de valor asociado selecciona y muestra dinámicamente la cadena de texto correspondiente en el banner de alarmas de WinCC.

Sintaxis de los marcadores de posición de la biblioteca de texto: @W%t#LibraryName@

El motor de formato de mensajes de STEP 7 y WinCC evalúa la sintaxis estándar del marcador de posición:
$$\mathbf{@W\%t#@}$$
* <n>W: Especifica qué valor de proceso asociado contiene el índice de fila:
* 1W = 1er Valor asociado (SD_1)
* 2W = 2do Valor asociado (SD_2)
* 3W = 3er Valor asociado (SD_3)
* 4W = 4to Valor asociado (SD_4)
* %t: El especificador de tipo que indica que el valor referenciado debe tratarse como una búsqueda de índice en la biblioteca de texto.
* #<TextLibraryName>: El nombre exacto de la biblioteca de texto de usuario creada en SIMATIC Manager.
* Ejemplo: En un mensaje configurado como:
text Caldera @4W%t#UnitNames@ Presión Alta
Si el valor asociado 4 contiene el entero 2, y la fila 2 de la biblioteca de texto UnitNames contiene "2B", la alarma renderizada en WinCC muestra:
text Caldera 2B Presión Alta

Mapeo de valores asociados APL: entradas ExtVal en MonDiL y bloques tecnológicos

En la Advanced Process Library (APL) de PCS 7, bloques como MonDiL (FB1847) preasignan valores asociados para el seguimiento de lotes (batch) y procesos:
* Valor asociado 1 (1W): BatchName (String).
* Valor asociado 2 (2W): StepNo (DINT - Número de paso de lote).
* Valor asociado 3 (3W): BatchID (DINT - Identificador de lote).
* Valor asociado 4 (4W): ExtVal104 (Any / Int - Valor externo 4).
* Valores asociados 5–10 (5W..10W): ExtVal105 hasta ExtVal110.
* Por lo tanto, cuando utilice bloques APL estándar, conecte su entero de índice de texto al pin ExtVal104 y use el marcador de posición @4W%t#LibraryName@.

Compilación y despliegue de bibliotecas de texto en AS, HW Config y OS

Para que los marcadores de posición de texto dinámico funcionen correctamente, el proyecto debe seguir una secuencia de compilación específica:
1. Crear la biblioteca de texto de usuario:
* En SIMATIC Manager, seleccione la carpeta del programa S7.
* Abra Opciones -> Gestionar textos multilingües -> Biblioteca de texto (o cree una tabla de texto de usuario bajo las propiedades del proyecto).
* Defina las claves de índice enteras (por ejemplo, 1 = 1A, 2 = 2B, 3 = 3C) e introduzca las traducciones para cada idioma de tiempo de ejecución.
2. Configurar el marcador de posición de mensaje en el tipo de bloque:
* En las propiedades del bloque CFC (o código fuente SCL), inserte la cadena del marcador de posición en la definición del texto del mensaje.
3. Requisitos de compilación de Hardware y OS:
* Compilación de HW Config: Los identificadores de la biblioteca de texto están vinculados a los bloques de datos del sistema; ejecute Estación -> Guardar y compilar en HW Config y descárguelo al controlador.
* Compilación de OS: Ejecute una compilación AS-OS. El compilador transfiere las bibliotecas de texto de usuario a la base de datos de Alarm Logging de WinCC (TextBib).

Verificación

  • En el modo de prueba dinámica de CFC, asigne el valor entero 2 a MonDiL.ExtVal104.
  • Conmute la entrada digital para disparar una alarma.
  • En el tiempo de ejecución de WinCC OS, abra la lista de alarmas activas:
  • Verifique que el mensaje de alarma muestre el texto dinámico de la fila 2 (por ejemplo, "Caldera 2B Presión Alta").
  • Cambie ExtVal104 a 3 y vuelva a disparar: confirme que la alarma se actualice para mostrar "Caldera 3C Presión Alta".
  • Cambie el idioma de ejecución de WinCC a alemán: verifique que el mensaje muestre la traducción al alemán definida en la biblioteca de texto.

Limitaciones y precauciones operativas

  • Si ExtVal104 pasa un índice entero que no existe en la biblioteca de texto, WinCC muestra la cadena del marcador de posición sin procesar (por ejemplo, @4W%t#UnitNames@) o una cadena vacía.
  • Evite el uso de espacios o caracteres especiales en el nombre de la biblioteca de texto; aténgase a identificadores alfanuméricos (por ejemplo, UnitNames, AreaTexts).
  • En sistemas de secuencia de eventos (SOE) de alto rendimiento, las búsquedas de cadenas dinámicas añaden una ligera sobrecarga de procesamiento al registrador de alarmas de OS; utilice textos estáticos preasignados para paros de seguridad de milisegundos.

Preguntas frecuentes del ingeniero

  • ¿Qué significa 4W en @4W%t#TextLib@?
    Especifica que el valor de proceso asociado 4 (ExtVal104 en bloques APL) suministra el número de índice de la fila.
  • ¿Qué pin en el MonDiL de APL recibe el número entero del índice de la biblioteca de texto?
    El parámetro de entrada ExtVal104.
  • ¿Por qué la alarma muestra el texto del marcador de posición sin procesar en lugar de la cadena de la biblioteca?
    La biblioteca de texto no se compiló en WinCC OS, el nombre de la biblioteca estaba mal escrito o el número entero del índice no existe en la biblioteca.
  • ¿Por qué se debe compilar HW Config al modificar bibliotecas de texto?
    Porque los enlaces de referencia cruzada de la biblioteca de texto se almacenan en los bloques de datos del sistema (SDB) generados durante la compilación del hardware.
  • ¿Puede una biblioteca de texto de usuario contener traducciones multilingües?
    Sí, cada clave de fila puede contener cadenas de texto traducidas para todos los idiomas del proyecto configurados en WinCC.
  • ¿Cuál es el número máximo de valores asociados admitidos por un bloque ALARM_8P?
    Los bloques ALARM_8P estándar admiten hasta 10 valores de proceso asociados (SD_1 a SD_10).
  • ¿Dónde se crean las bibliotecas de texto de usuario en SIMATIC Manager?
    En SIMATIC Manager, bajo la carpeta del programa S7 mediante Opciones -> Bibliotecas de texto.
  • ¿Puedo usar variables REALes de punto flotante como índices de la biblioteca de texto?
    No, los índices de fila de la biblioteca de texto deben ser enteros (INT o DINT).
  • ¿El uso de bibliotecas de texto dinámicas consume objetos de proceso de WinCC adicionales?
    No, el formateo de mensajes dinámicos es una característica interna de Alarm Logging que consume cero objetos de proceso adicionales.
  • ¿Qué sucede si ExtVal104 se deja desconectado en CFC?
    El valor toma por defecto 0, extrayendo la entrada de texto definida en el índice 0 de la biblioteca de texto.

Referencias técnicas

  • SIMATIC STEP 7 V5.6 Programación con manual STEP 7 (Configuración de mensajes)
  • Manual de funciones de SIMATIC PCS 7 Advanced Process Library (APL)
  • Entrada del soporte en línea de Siemens Industry: Marcadores de posición de la biblioteca de texto en mensajes de alarma (ID de entrada 299715)
  • SIMATIC HMI WinCC V7.5 Manual del sistema de registro de alarmas

Artículos relacionados

Etiquetas relacionadas

PCS 7, Alarm Logging, Text Library, MonDiL, Associated Values, Placeholders, ExtVal104, ALARM_8P, WinCC, Messages

20 respuestas