El desarrollo de ventanas emergentes de faceplates e iconos de bloque personalizados con estilo APL (Advanced Process Library) en SIMATIC PCS 7 WinCC requiere sincronizar los bloques de función SCL del controlador con el Faceplate Designer de WinCC y las librerías de gráficos de plantillas. Los ingenieros deben estructurar las interfaces de los bloques con atributos de sistema (como S7_m_c para la comunicación con la OS), definir tipos de variables estructuradas coincidentes en WinCC Tag Management, diseñar iconos de bloque personalizados en @PCS7Typicals.pdl y crear vistas modulares de faceplates (@PG_<TipoDeBloque>.pdl). Cuando un operador hace clic en el icono de bloque, los scripts en C estándar de APL analizan el prefijo de variable tecnológica y abren dinámicamente la ventana emergente.
Índice de contenidos
- Arquitectura de los faceplates APL y ventanas emergentes tecnológicas
- Diseño de la interfaz de bloques en STEP 7 y atributos S7_m_c
- Diseño de iconos de bloque personalizados en @PCS7Typicals.pdl
- Construcción de vistas de faceplate en Graphics Designer (@PG_*.pdl)
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes del ingeniero
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Arquitectura de los faceplates APL y ventanas emergentes tecnológicas
En SIMATIC PCS 7, la interacción del operador se ajusta a la arquitectura de gestión de ventanas de la Advanced Process Library (APL):
- Icono de bloque (
@PCS7Typicals.pdl/@Template.pdl): Un objeto gráfico compacto ubicado en las pantallas de proceso que muestra el estado del equipo, alarmas y modos de operación. - Contenedor superior del faceplate (
@PG_<Tipo>.pdl): El marco de ventana principal que contiene la barra de título, los botones de selección de vista (Estándar, Alarma, Tendencia, Parámetro, Nota) y los iconos de autorización. - Vista estándar (
@PG_<Tipo>_Standard.pdl): La ventana emergente interactiva principal que muestra telemetría en tiempo real (por ejemplo, tres marcas de tiempo y tres valores analógicos) y botones de comando. - Enlace dinámico de variables mediante prefijo de variable (Tag Prefix): Los faceplates APL no contienen nombres de variables codificados de forma rígida (hardcoded). Cuando un operador hace clic en un icono de bloque, el script en C interno
APL_OpenFaceplate()recupera el nombre de la variable tecnológica (por ejemplo,Unit1/Motor01) y lo asigna como Prefijo de variable (Tag Prefix) de la ventana emergente, vinculando dinámicamente todos los controles a la instancia del bloque de destino.
Diseño de la interfaz de bloques en STEP 7 y atributos S7_m_c
Para habilitar la generación automática de variables en WinCC y la conectividad con el faceplate, cree el bloque de función (FB) SCL personalizado con los atributos de sistema adecuados:
FUNCTION_BLOCK FB2001
TITLE = 'CustomMultiValMon'
{ S7_m_c := 'true' }
AUTHOR : 'Eng'
VAR_INPUT
Val1 { S7_m_c := 'true' } : REAL := 0.0;
Val2 { S7_m_c := 'true' } : REAL := 0.0;
Val3 { S7_m_c := 'true' } : REAL := 0.0;
Time1 { S7_m_c := 'true' } : DATE_AND_TIME;
Time2 { S7_m_c := 'true' } : DATE_AND_TIME;
Time3 { S7_m_c := 'true' } : DATE_AND_TIME;
Op_Level { S7_m_c := 'true' } : INT := 5;
END_VAR
VAR_OUTPUT
QError { S7_m_c := 'true' } : BOOL := FALSE;
END_VAR
Cuando se compila el diagrama CFC y se compila la OS, el compilador crea automáticamente un tipo de variable estructurada llamado CustomMultiValMon en WinCC Tag Management.
Diseño de iconos de bloque personalizados en @PCS7Typicals.pdl
Para garantizar que el compilador de la OS genere automáticamente los iconos de bloque durante la compilación:
- En WinCC Graphics Designer, abra la imagen de plantilla maestra
@PCS7Typicals.pdl(o@PCS7Typicals_Custom.pdl). - Copie un icono de bloque APL existente (por ejemplo,
@MonAnL/1) para que sirva como base de diseño. - Abra las propiedades del objeto para el nuevo objeto personalizado:
*type: Establézcalo en@CustomMultiValMon/1. La cadena antes de la barra diagonal debe coincidir exactamente con el nombre de su bloque SCL.
*servername: Establézcalo enPCS7 CustomMultiValMon Control.
*tag: Conéctelo a una variable de muestra o déjelo como propiedad de plantilla. - Agregue el evento de clic: en Evento -> Mouse -> Mouse Click, verifique que se llame al script en C estándar de APL:
c // APL Standard Icon Click Action #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { PCS7_OpenInputBox(lpszPictureName, lpszObjectName); } - Guarde
@PCS7Typicals.pdl.
Construcción de vistas de faceplate en Graphics Designer (@PG_*.pdl)
Cree las pantallas de vista del faceplate de acuerdo con las convenciones de nombres de APL:
- Cree la vista maestra (
@PG_CustomMultiValMon.pdl):
* Copie@PG_MonAnL.pdly guárdelo como@PG_CustomMultiValMon.pdl.
* Configure los botones de vista para cargar@PG_CustomMultiValMon_Standard.pdl. - Cree la vista estándar (
@PG_CustomMultiValMon_Standard.pdl):
* Cree una imagen vacía de 400x300 píxeles de tamaño.
* Inserte etiquetas de texto estático (Static Text): "Timestamp 1", "Value 1", etc.
* Inserte campos de E/S (I/O Fields) para los valores analógicos:- Establezca el formato de datos en
Floating-Point. - En Output Value -> Dynamic, asigne la variable
.Val1(observe el punto inicial:.Val1se vincula a<TagPrefix>.Val1). - Inserte campos de E/S para las marcas de tiempo:
- Establezca el formato de datos en
Date/Time. - Vincule dinámicamente a
.Time1.
- Establezca el formato de datos en
- Guarde todos los archivos
.pdlen el directorioGraCSdel proyecto WinCC.
Verificación
Confirme la instanciación y el funcionamiento del faceplate personalizado:
- Compilación de la OS:
* Instancie el bloque SCL personalizado en un diagrama CFC dentro de la Jerarquía de plantas (Plant Hierarchy).
* Compile los diagramas y ejecute Compile OS (Ámbito: Solo cambios / Changes only).
* Confirme que el compilador genere el icono de bloque en la pantalla de proceso. - Prueba de interacción en Runtime:
* Abra el gráfico de proceso de WinCC en runtime.
* Verifique que el icono de bloque muestre valores en tiempo real.
* Haga clic en el icono de bloque: confirme que@PG_CustomMultiValMon.pdlse abra rápidamente.
* Verifique que las tres fechas y los tres valores analógicos muestren datos del PLC coincidentes de forma dinámica.
Limitaciones y precauciones operativas
- Protección de plantillas: Nunca modifique
@PCS7Typicals.pdlsin conservar copias de seguridad; se recomienda crear un archivo@PCS7Typicals_Project.pdlespecífico del proyecto para evitar que las actualizaciones del Editor de proyectos de OS sobrescriban los iconos personalizados. - Sintaxis estricta del prefijo de variable: Todos los enlaces dinámicos dentro de
@PG_*_Standard.pdldeben comenzar con un punto (.Val1,.Time1) para permitir el enlace dinámico al prefijo de variable de la ventana. - Consumo de objetos de proceso: Los bloques de función tecnológica personalizados configurados con
S7_m_c := 'true'consumen licencias de objetos de proceso (PO) estándar del AS al compilar.
Preguntas frecuentes del ingeniero
- ¿Qué atributo de sistema en SCL expone los parámetros de bloque a WinCC?
El atributo{ S7_m_c := 'true' }colocado en la cabecera del bloque y en las variables individuales. - ¿Qué convención de nomenclatura se requiere para los faceplates APL personalizados?
El contenedor maestro debe llamarse@PG_<TipoDeBloque>.pdly la vista estándar@PG_<TipoDeBloque>_Standard.pdl. - ¿Cómo se vinculan los faceplates APL a instancias de equipos específicos de forma dinámica?
El icono de bloque pasa el nombre de la variable de instancia a la ventana del faceplate como un prefijo de variable (Tag Prefix); los controles dentro del faceplate hacen referencia a las variables utilizando una sintaxis relativa (por ejemplo,.Val1). - ¿Dónde se almacenan los iconos de bloque personalizados para que el compilador de la OS pueda encontrarlos?
En@PCS7Typicals.pdlo en un archivo de elementos típicos personalizado (por ejemplo,@PCS7Typicals_Custom.pdl) en la carpetaGraCSdel proyecto. - ¿Qué atributo en el icono de bloque lo vincula al tipo de bloque SCL?
La propiedadtypeen el icono de bloque debe establecerse en@<NombreDeBloque>/<Variante>, como@CustomMultiValMon/1. - ¿Pueden los faceplates personalizados mostrar variables
DATE_AND_TIME?
Sí, los campos de E/S de WinCC se pueden formatear como Fecha/Hora (Date/Time) para representar de forma nativa las estructuras de datosDATE_AND_TIMEde S7. - ¿Qué script abre un faceplate APL cuando se hace clic en un icono?
El script APL estándarPCS7_OpenInputBox()oAPL_OpenFaceplate()ejecutado en el evento de clic del ratón. - ¿Requiere la creación de un faceplate personalizado programación en C?
Los faceplates básicos se pueden crear utilizando el enlace de variables dinámicas estándar y el Faceplate Designer de WinCC sin escribir scripts en C personalizados complejos. - ¿Cómo evito que los iconos de bloque personalizados se sobrescriban durante las actualizaciones?
Cree un archivo de elementos típicos personalizado (por ejemplo,@PCS7Typicals_Project.pdl) y regístrese en el Editor de proyectos de OS. - ¿Qué nivel de autorización de usuario se requiere para modificar valores en faceplates personalizados?
Configurar el parámetroOp_Levelen el bloque permite mapear operaciones a los niveles de autorización de WinCC (del 1 al 16).
Referencias técnicas
- Portal de Siemens Industry Online Support (SIOS): ¿Cómo se crean iconos de bloque y faceplates personalizados para SIMATIC PCS 7? (ID de entrada: 68679830).
- Manual de SIMATIC PCS 7 Faceplate Designer, Siemens AG.
- Sistema de información de SIMATIC WinCC V7.5 - Trabajar con imágenes de proceso y ActiveX.
Artículos relacionados
- Resolución de controles APL_OP_BUTTON deshabilitados en faceplates personalizados de WinCC sin enlace PLC
- Integración de controles de gráficos de Windows Forms de .NET en pantallas de SIMATIC PCS 7 WinCC
Etiquetas relacionadas
PCS 7, WinCC, APL, Faceplates, Iconos de bloque, SCL, Graphics Designer, Bloques personalizados