En SIMATIC PCS 7 y STEP 7, la numeración de versiones de bloques (p. ej., '9.7' en el FB1869) utiliza un formato 'Major.Minor' (Mayor.Menor) definido en el atributo fuente SCL o STL del bloque VERSION : 'x.y'. Los incrementos de la versión menor representan mejoras algorítmicas internas, correcciones de errores u optimizaciones de rendimiento con firmas de interfaz sin cambios, lo que permite descargas delta en línea en modo RUN. Los incrementos de la versión mayor indican típicamente interfaces de bloque modificadas (variables de entrada/salida o estáticas añadidas, eliminadas o reordenadas), las cuales alteran la suma de comprobación (checksum) de la interfaz del bloque (GUID) y requieren actualizaciones de tipos en todo el multiproyecto y descargas con la CPU en STOP, a menos que se gestione mediante TCiR (Type Change in RUN).
Índice de contenidos
- Resumen ejecutivo
- Mecánica arquitectónica y del sistema
- Procedimiento paso a paso de ingeniería e implementación
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes del ingeniero
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Resumen ejecutivo
El mantenimiento de bibliotecas de bloques a través de versiones evolutivas de SIMATIC PCS 7 requiere un conocimiento profundo de cómo STEP 7 realiza el seguimiento de las versiones de los bloques y la consistencia de las interfaces. Los ingenieros observan frecuentemente bloques como FB1869 que llevan identificadores de versión como 9.7 y se cuestionan cómo corresponden estos números con las versiones generales del software PCS 7. En STEP 7, los números de versión de los bloques son atributos de desarrollo internos declarados en las cabeceras del código fuente. Más críticamente, el controlador evalúa las marcas de tiempo (timestamps) y las sumas de comprobación de la interfaz del bloque en lugar de los números de versión de texto para salvaguardar la consistencia de los datos. Esta guía explica la mecánica de la numeración de versiones de los bloques, la generación de firmas de interfaz, las reglas que rigen las descargas delta en RUN y los procedimientos de actualización de tipos.
Mecánica arquitectónica y del sistema
La arquitectura del versionado de bloques y la gestión de interfaces en STEP 7:
- Cabecera de versión del código fuente: Declarada en SCL mediante
VERSION : '9.7'. Es un identificador de cadena de caracteres (string) compilado en los atributos de la cabecera del bloque (visualizable en las propiedades del bloque -> 'Version'). - Firma de interfaz (Marca de tiempo de la interfaz / GUID):
- Cada vez que se modifican las entradas, salidas o declaraciones estáticas
VARde un bloque de función, el compilador genera una nueva firma de interfaz. - Debido a que los bloques de datos (DB) de instancia asignan memoria que coincide con la estructura de variables estáticas del FB, cambiar la interfaz del FB invalida los desplazamientos (offsets) de memoria de los DB de instancia existentes.
- Estructuras de versión incrustadas en PCS 7 V9.1:
- En PCS 7 V9.1 y en bibliotecas APL más recientes, los bloques contienen parámetros de estructura visibles internos que contienen el número de bloque, la versión de la biblioteca y la marca de tiempo de compilación para el seguimiento de activos en tiempo de ejecución.
- Cambio de tipo en RUN (TCiR):
- Los controladores CPU 410-5H admiten TCiR, lo que permite a los ingenieros actualizar tipos de bloques con interfaces alteradas en modo RUN bajo estrictas pautas de memoria.
Procedimiento paso a paso de ingeniería e implementación
Paso 1: Inspeccionar la versión del bloque y los atributos en SIMATIC Manager
- En SIMATIC Manager, navegue hasta la carpeta de bloques de la biblioteca maestro de datos o del proyecto AS.
- Haga clic derecho en el bloque (p. ej.,
FB1869) y seleccione 'Object Properties'. - Inspeccione el campo 'Version' (p. ej.,
9.7), 'Author' y 'Family' (p. ej.,APL). - Cambie a la pestaña 'Attributes' para ver los atributos internos de OCM y del sistema.
Paso 2: Comparar las interfaces de los bloques antes de la actualización de tipos
- Antes de actualizar un bloque existente en un multiproyecto de producción, abra el bloque en la biblioteca.
- Utilice 'Options' -> 'Compare Blocks' en SIMATIC Manager para comparar el bloque de la biblioteca con la carpeta de bloques del proyecto AS.
- Verifique si las diferencias se limitan a la lógica del código o incluyen modificaciones en la interfaz.
Paso 3: Ejecutar la actualización de tipos de bloques en CFC
- Abra cualquier diagrama CFC en el proyecto.
- Seleccione 'Options' -> 'Block Types...'.
- Seleccione el bloque de destino en la carpeta de diagramas y haga clic en 'Update...'.
- El asistente muestra la versión anterior y la nueva, identificando las instancias de CFC afectadas.
- Si la interfaz cambió, el asistente advierte que los DB de instancia se regenerarán.
Paso 4: Evaluar las capacidades de descarga (Delta en RUN frente a STOP)
- Si solo cambió la lógica interna (misma interfaz): compile los diagramas en delta; realice 'Download Changes in RUN'.
- Si la interfaz cambió en S7-400 (no CPU 410): la descarga requiere colocar la CPU en modo STOP.
- Si la interfaz cambió en la CPU 410-5H: utilice el flujo de trabajo TCiR para descargar los cambios de interfaz sin detener la CPU.
Verificación
Para verificar la alineación de la versión del bloque:
1. En CFC, sitúe el cursor sobre cualquier instancia colocada del bloque; confirme que la información sobre herramientas (tooltip) refleje la nueva cadena de versión.
2. Ejecute una compilación delta en CFC; asegúrese de que no se produzcan errores de compilación ni advertencias de discrepancia de interfaz.
3. Ejecute una descarga delta en el controlador de destino.
4. Confirme que la lógica del proceso en ejecución continúa ininterrumpida y que las salidas del bloque siguen siendo válidas.
Limitaciones y precauciones operativas
Precauciones operativas:
- Nunca modifique las interfaces de los bloques de la biblioteca estándar directamente en los proyectos de usuario; si se requiere una funcionalidad personalizada, cree un bloque de usuario con un número de FB distintivo en el rango de usuario (de FB1 a FB1000 o rangos personalizados).
- Recompilar un bloque con variables estáticas alteradas borra los valores actuales en tiempo de ejecución almacenados en los DB de instancia al recargar, a menos que los valores se inicialicen adecuadamente.
- TCiR en la CPU 410-5H requiere suficiente memoria de trabajo de reserva; verifique los márgenes de memoria en Module Information antes de iniciar los cambios de tipo en RUN.
Preguntas frecuentes del ingeniero
Q: ¿Significa la versión de bloque 9.7 que es para PCS 7 V9.7?
A: No. Las versiones de los bloques son números de versión de desarrollo de bibliotecas independientes y no se correlacionan directamente con los números de lanzamiento de PCS 7.
Q: ¿Por qué modificar un comentario interno cambia la marca de tiempo del bloque?
A: Modificar los comentarios no altera la firma de la interfaz, pero actualiza la marca de tiempo del código del bloque en STEP 7.
Q: ¿Qué sucede si descargo un bloque cuya interfaz cambió sin actualizar los DB de instancia?
A: La CPU rechazará la descarga o llamará al OB121 (error de programación). Si el OB121 está ausente, la CPU pasa al modo STOP inmediatamente.
Q: ¿Dónde puedo ver la información de la versión del bloque en CFC?
A: En PCS 7 V9.1, muestre el pin de la estructura de identificación interna del bloque o inspeccione las propiedades del objeto de bloque en CFC.
Q: ¿Qué es TCiR en PCS 7?
A: Type Change in RUN (TCiR) es una característica del firmware de la CPU 410-5H que permite actualizar tipos de bloques con interfaces modificadas sin detener el controlador.
Referencias técnicas
- SIMATIC S7-400 Automation System STEP 7 V5.6 Manual
- SIMATIC Process Control System PCS 7 CFC for S7
- PCS 7 V9.0 SP3 Licenses and Configuration Limits
Artículos relacionados
- Sourcing Superseded CFC Updates and Resolving SFC Compilation Error 1739-20 in SIMATIC PCS 7
- Resolving CFC Error 4297-15613 CPU Test Registration and S7 Connection Failures in SIMATIC PCS 7
- Coordinating APL Motor Interlocks and Sequential Control Using SFC and LogicMatrix in PCS 7
Etiquetas relacionadas
Block Version, Type Update, Interface Signature, TCiR, CFC Engineering