La compilación de diagramas en PCS 7 se bloquea al 3 por ciento ('especificar la configuración de hardware') durante la generación de controladores de módulos cuando el generador de controladores encuentra direcciones de E/S huérfanas, bloques de datos de diagnóstico corruptos o exportaciones de configuración de hardware conflictivas. Cuando se añade código nuevo, los punteros simbólicos colgantes o los diagramas de diagnóstico obsoletos precedidos por '@' atrapan al generador en un bucle de análisis infinito. Para resolver esto es necesario compilar y guardar HW Config, eliminar los diagramas de diagnóstico '@' existentes en CFC y ejecutar 'Guardar como... Con reorganización (lento)' antes de volver a compilar.
Índice de contenidos
- Ciclo de ejecución del generador de controladores y análisis de HW Config
- Causas raíz del bloqueo al 3 por ciento
- Procedimiento de diagnóstico y recuperación paso a paso
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes para ingenieros
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Ciclo de ejecución del generador de controladores y análisis de HW Config
Al compilar diagramas CFC en SIMATIC PCS 7 con la opción Generar controladores de módulos habilitada, el compilador inicia el generador de controladores (s7wupapx.exe / s7jcfcap.exe). En el umbral de progreso inicial del 3%, el mensaje de estado del generador indica "especificar la configuración de hardware".
Durante esta fase inicial, el generador de controladores realiza las siguientes tareas críticas:
1. Lee los archivos binarios compilados de descripción de hardware (registros .dat y .bin) exportados desde HW Config de STEP 7.
2. Identifica todas las estaciones de E/S descentralizada (esclavos PROFIBUS DP, dispositivos PROFINET IO, bastidores ET 200M/SP/SP HA y transmisores de campo).
3. Mapea las direcciones lógicas de E/S a etiquetas simbólicas y las cruza con las instancias de los controladores de canal (Pcs7DiIn, Pcs7AnIn, F_CH_DI, etc.) ubicadas en los diagramas CFC del usuario.
4. Prepara los diagramas de diagnóstico del sistema (con el prefijo @) para instanciar los bloques de diagnóstico de hardware (MOD_D16_PN, RACK, SUBNET, OB_BEGIN).
Si los archivos de configuración de hardware contienen índices binarios corruptos o si los punteros de direcciones simbólicas apuntan a módulos de hardware eliminados, el analizador entra en un bucle de búsqueda recursiva no controlado o se bloquea por acceso a archivos, congelando la compilación al 3%.
Causas raíz del bloqueo al 3 por ciento
Mediante el análisis de diagnóstico en campo, este bloqueo específico se atribuye a cuatro modos de fallo principales:
1. HW Config sin compilar o desincronizado: Se realizaron cambios en los bastidores de hardware (o se modificaron las direcciones simbólicas) sin ejecutar una operación completa de Guardar y compilar en HW Config para todas las estaciones AS.
2. Diagramas de diagnóstico del sistema corruptos (diagramas @): Bloques obsoletos o modificados manualmente dentro de los diagramas @ retienen bloqueos o números de bloque (FB/DB) conflictivos que entran en conflicto con las nuevas instanciaciones de controladores.
3. Inconsistencias en la tabla de símbolos: Los bloques de canal se interconectaron a direcciones simbólicas que posteriormente se eliminaron o reasignaron en HW Config, dejando punteros de base de datos huérfanos en el índice de referencias cruzadas de STEP 7.
4. Incompatibilidad de bases de datos GSD/GSDML de terceros: Los dispositivos de campo recién integrados utilizan una revisión GSDML incompatible o no certificada que carece de las reglas de metadatos requeridas por el generador de controladores de PCS 7.
Procedimiento de diagnóstico y recuperación paso a paso
Siga esta secuencia de recuperación estructurada para eliminar los bloqueos del generador de controladores y restablecer la compilación:
- Recompilar la configuración de hardware:
* Abra HW Config para la estación AS afectada.
* Seleccione Estación -> Guardar y compilar. Asegúrese de que la compilación finalice sin errores.
* Si trabaja en un sistema redundante S7-400H / S7-410, asegúrese de que ambos bastidores de CPU compilen correctamente. - Purgar los diagramas de diagnóstico existentes (diagramas
@):
* En SIMATIC Manager, navegue hasta el programa S7 de destino -> carpeta Diagramas.
* Seleccione todos los diagramas que comienzan con el símbolo@(por ejemplo,@(1),@(2),@Diag_Chart).
* Elimine estos diagramas@por completo. (Nota: Son diagramas de sistema generados automáticamente; el generador de controladores los vuelve a crear de forma limpia durante la próxima compilación). - Reconstruir la base de datos de STEP 7 (Reorganización):
* Cierre todas las ventanas de diagramas CFC, HW Config y Editor de símbolos.
* En SIMATIC Manager, seleccione Archivo -> Guardar como....
* Seleccione Con reorganización (lento). Guarde el proyecto en un directorio nuevo. Esto elimina toda la corrupción interna de punteros de referencias cruzadas. - Verificación de la tabla de símbolos limpia:
* Abra la tabla de símbolos del programa AS.
* Seleccione Ver -> Filtro -> Verifique si hay direcciones no válidas o no asignadas. - Recompilar diagramas con la generación de controladores:
* Abra CFC. Seleccione PLC -> Compilar -> Diagramas como programa.
* Marque Generar controladores de módulos. Seleccione Todo el programa.
* El compilador reconstruirá limpiamente el modelo de hardware y omitirá el bloqueo del 3%.
Verificación
- Monitoree el cuadro de diálogo de compilación de CFC. Confirme que el progreso avanza sin problemas desde el 3% ("especificar la configuración de hardware") pasando por "generar controladores de módulos" hasta el 100%.
- En SIMATIC Manager, verifique que se creen nuevos diagramas de sistema
@bajo la carpeta Diagramas con marcas de tiempo actuales. - Abra el archivo de registro de compilación (
Compile.log). Confirme que la generación de controladores concluye con cero errores y cero advertencias.
Limitaciones y precauciones operativas
- La eliminación de diagramas
@borra las conexiones personalizadas realizadas dentro de los diagramas@. Nunca coloque lógica de usuario personalizada dentro de diagramas@generados automáticamente. - La ejecución de la compilación de "Todo el programa" y "Guardar como... Con reorganización (lento)" requiere acceso exclusivo al proyecto; asegúrese de que otros clientes de ingeniería estén desconectados.
- Si la compilación sigue congelada después de la reorganización, inspeccione los archivos GSD de terceros añadidos recientemente en HW Config. Retire temporalmente el nuevo dispositivo para aislar el módulo causante del fallo.
Preguntas frecuentes para ingenieros
- ¿Es seguro eliminar manualmente los diagramas que comienzan con '@'?
Sí. Los diagramas con el prefijo@son gestionados automáticamente por el generador de controladores de módulos de PCS 7. Al eliminarlos, se obliga al generador a reconstruir todos los bloques de diagnóstico desde cero. - ¿Por qué la compilación de "Solo cambios" no soluciona el bloqueo del 3 por ciento?
Una compilación delta intenta reutilizar el índice de hardware binario existente y la disposición de los diagramas@. Si ese índice subyacente está corrupto, el compilador delta encuentra el mismo bloqueo. - ¿Puede una dirección simbólica duplicada causar este problema?
Sí. Si dos símbolos en conflicto comparten la misma dirección de periferia (por ejemplo,IW 512), el generador de controladores no puede determinar qué controlador de módulo instanciar y puede bloquearse.
Referencias técnicas
- SIMATIC PCS 7 CFC for S7 / M7 Manual (A5E41356247-AA).
- SIMATIC PCS 7 Engineering System Compiling and Downloading Guide.
- Entrada ID 109801081 de Siemens Industry Online Support: Troubleshooting Module Driver Generation in PCS 7.
Artículos relacionados
- Resolución de conflictos en la tabla de símbolos y direcciones de hardware huérfanas en PCS 7.
- Actualización y verificación de revisiones GSDML para la compatibilidad con el generador de controladores de PCS 7.
Etiquetas relacionadas
PCS 7, CFC, Generador de controladores de módulos, HW Config, S7-400, Errores de compilación, Reorganización, Bloques de diagnóstico