Solución de problemas de bloqueo en la descarga del servidor secundario de WinCC OS y errores de contexto de base de datos en PCS 7

Las descargas de la Estación de operador (OS) a un servidor WinCC redundante secundario se bloquean o fallan con errores de contexto de base de datos cuando el nodo de destino mantiene bases de datos de Microsoft SQL Server bloqueadas o permisos de compartición de red corruptos. Cuando la Estación de ingeniería intenta una descarga en línea al destino, cualquier proceso activo en runtime de WinCC, archivo de base de datos huérfano adjunto o credencial DCOM desalineada en el servidor secundario impide la secuencia de reemplazo de la base de datos. Para restablecer la fiabilidad de las descargas, desactive el runtime, reinicie los daemons en segundo plano de WinCC, verifique las membresías de los grupos de usuarios de SIMATIC HMI y ejecute el Siemens Security Controller en ambos nodos.

Índice de contenidos

Mecanismos de descargas de OS al destino en servidores redundantes

En una arquitectura redundante de Estación de operador (OS) de SIMATIC PCS 7, la Estación de ingeniería (ES) compila dos bases de datos de proyectos OS distintas: el proyecto del servidor primario (OS(1)) y el proyecto del servidor secundario en espera (OS(2)). Cuando el ingeniero inicia una descarga de OS desde SIMATIC Manager (Sistema de destino -> Cargar):

  1. Intercambio de protocolo (Handshake) remoto y verificación: La ES se conecta mediante Windows RPC/DCOM y SMB al servidor secundario de destino, validando las credenciales de seguridad, el nombre del equipo y la ruta del directorio de destino.
  2. Detección del estado de Runtime: La ES consulta al daemon remoto de WinCC Project Manager (CCProjectMgr.exe) para confirmar si WinCC Runtime está activo en el nodo en espera.
  3. Transferencia de base de datos: Si se descargan cambios, se combinan los datos diferenciales. Si se descarga el proyecto completo, se ordena a la instancia de WinCC Explorer de destino que se cierre, las bases de datos de configuración .mdf y .ldf existentes se desprenden (detach) de SQL Server (WINCC), los nuevos archivos de proyecto se copian a través del recurso compartido de red y el nuevo contexto de base de datos se registra en SQL Server.
  4. Inicialización del proyecto: WinCC Explorer en el servidor secundario abre automáticamente el proyecto copiado y lo prepara para la activación del runtime y la sincronización de la redundancia.

Causas raíz del contexto de base de datos y bloqueos de apertura

Cuando la descarga se bloquea en "Abriendo el proyecto WinCC" ("Opening WinCC Project") o se aborta con el mensaje "El proyecto no se pudo abrir: el contexto de base de datos no existe o no es válido" ("The project could not be opened: database context does not exist or is invalid"), el fallo suele deberse a cuatro condiciones subyacentes:

  1. Bloqueos activos de archivos de bases de datos en el servidor secundario: Si WinCC Runtime estaba en ejecución y no se desactivó correctamente, los procesos en segundo plano como CCProjectMgr.exe, pdlrt.exe o CCEmergencyStore.exe mantienen manejadores de archivos activos en los archivos *.mdf, lo que impide que la ES los sobrescriba o desvincule.
  2. Asociaciones huérfanas en SQL Server: La instancia local de SQL Server (WINCC) en el servidor secundario retiene un registro de catálogo interno que apunta a una ruta de base de datos antigua o parcialmente eliminada, lo que genera un conflicto de contexto cuando la nueva base de datos intenta registrarse.
  3. Derechos de usuario y permisos DCOM desalineados: La cuenta de usuario de ingeniería que ejecuta la descarga desde la ES carece de credenciales, contraseña o asignaciones de grupos idénticas (SIMATIC HMI, SIMATIC NET, administradores locales) en el servidor OS secundario.
  4. Recurso compartido de red corrupto (_PRJ): El directorio de proyecto compartido en el servidor secundario tiene permisos NTFS dañados o derechos de compartición faltantes, lo que bloquea el acceso de escritura durante la fase de transferencia de archivos.

Procedimiento de resolución paso a paso y descarga limpia

Siga este proceso secuencial de recuperación de ingeniería en el servidor OS secundario afectado:

Paso 1: Desactivar y finalizar el Runtime del servidor secundario

  1. En la consola del servidor OS secundario, si WinCC Explorer responde, seleccione Archivo -> Desactivar (File -> Deactivate) para detener el runtime limpiamente.
  2. Una vez desactivado el runtime, seleccione Archivo -> Cerrar (File -> Close) para cerrar el proyecto.
  3. Abra la ventana Ejecutar de Windows (Tecla de Windows + R), escriba reset_wincc.vbs y presione Intro.
  4. Permita que el script finalice todos los procesos activos de WinCC y desvincule las bases de datos del proyecto de SQL Server.

Paso 2: Purgar los archivos de proyecto corruptos en el servidor secundario

  1. Navegue hasta la unidad y el directorio donde está almacenado el proyecto OS secundario (por ejemplo, D:\WinCC_Projects\<OS_Standby_Folder>).
  2. Si se pretende realizar una descarga completa limpia, elimine el contenido de este directorio de destino o cambie el nombre de la carpeta a <OS_Standby_Folder>_OLD como copia de seguridad.
  3. Vuelva a crear la carpeta de destino vacía con el nombre original exacto.

Paso 3: Reconfigurar los permisos del recurso compartido de red de Windows

  1. Haga clic derecho en la carpeta de proyecto de destino recién creada y seleccione Propiedades (Properties).
  2. Seleccione la pestaña Compartir (Sharing) y haga clic en Compartir avanzado (Advanced Sharing).
  3. Marque Compartir esta carpeta (Share this folder). Configure el nombre del recurso compartido para que coincida con el formato estándar de PCS 7 (<Project_Folder_Name>_PRJ).
  4. Haga clic en Permisos (Permissions) y otorgue Control total (Full Control) a los administradores, SIMATIC HMI y la cuenta de usuario de ingeniería.
  5. Seleccione la pestaña Seguridad (Security - NTFS) y asegúrese de que SIMATIC HMI y los Administradores posean Control total.

Paso 4: Ejecutar Siemens Security Controller

  1. En el servidor OS secundario, abra el menú Inicio y navegue hasta Siemens Automation -> Security Controller.
  2. Haga clic en Repetir configuración (Repeat Settings) para volver a aplicar todas las excepciones del firewall, permisos DCOM, derechos de registro y directivas de grupo local.
  3. Realice el mismo paso en la Estación de ingeniería.

Paso 5: Realizar la descarga completa desde la Estación de ingeniería

  1. En la ES, abra SIMATIC Manager.
  2. Haga clic derecho en el objeto del servidor OS secundario y seleccione PLC -> Descargar (Download).
  3. En el cuadro de diálogo de selección de descarga, seleccione Proyecto completo (Entire Project).
  4. Haga clic en Aceptar (OK) para ejecutar la descarga.

Alineación del recurso compartido de red y del Security Controller

Una comunicación DCOM y RPC adecuada entre los nodos de la ES y del servidor OS requiere una alineación estricta en toda la capa de seguridad de Windows:

  • Cuentas de usuario idénticas: En arquitecturas de grupo de trabajo (workgroup), el ingeniero debe asegurarse de que existan nombres de usuario y contraseñas locales de Windows idénticos en la ES, el OS primario y el OS secundario.
  • Membresías de grupos: El usuario de ingeniería activo debe pertenecer a Administradores (Administrators), SIMATIC HMI y SIMATIC NET.
  • Asociación de adaptadores de red: En sistemas con múltiples adaptadores de red (Bus de terminal vs. Bus de planta), asegúrese de que Simatic Device Drivers y el Bus de terminal estén vinculados a la tarjeta de red (NIC) física correcta en la configuración de Simatic Shell.

Recuperación del contexto de base de datos de SQL Server

Si el error "el contexto de base de datos no existe o no es válido" persiste después de volver a crear la carpeta del proyecto, queda una referencia de base de datos huérfana en SQL Server:

  1. Inicie Microsoft SQL Server Management Studio (SSMS) en el servidor OS secundario, conectándose a .\WINCC.
  2. Expanda el nodo Bases de datos (Databases).
  3. Compruebe si alguna base de datos correspondiente al nombre del proyecto aparece en estado Desconectada (Offline), Recuperación pendiente (Recovery Pending) o Sospechosa (Suspect).
  4. Si hay una base de datos huérfana presente, haga clic derecho sobre ella, seleccione Tareas -> Desasociar (Tasks -> Detach), marque Descartar conexiones (Drop Connections) y haga clic en Aceptar (OK).
  5. Cierre SSMS y ejecute reset_wincc.vbs una vez más antes de volver a intentar la descarga al destino desde la ES.

Verificación

Confirme que la descarga del OS y la sincronización de la redundancia se hayan realizado correctamente:

  1. Apertura local del proyecto: En el servidor OS secundario, verifique que WinCC Explorer se abra y muestre el nombre del proyecto en la barra de título sin cuadros de diálogo de error.
  2. Verificación del editor de redundancia: Abra el editor Redundancia (Redundancy) en WinCC Explorer en el servidor secundario. Verifique que el nombre del equipo del servidor asociado y la configuración de redundancia coincidan con el servidor primario.
  3. Activación del runtime y sincronización:
    * Active WinCC Runtime en el servidor secundario.
    * Verifique que el servidor secundario se conecte a las estaciones de automatización.
    * Abra la ventana de registro de alarmas de WinCC (Alarm Logging) y confirme la recepción del mensaje de sistema 1010001 (Redundancia: Servidor asociado en línea / Redundancy: Partner server online).
    * Verifique que la sincronización de archivos históricos (sincronización de Tag Logging y Alarm Logging en redundancia) se complete con éxito.

Limitaciones y precauciones operativas

  • Evite descargar al secundario mientras el primario está en transición: Nunca inicie una descarga de OS al servidor secundario si el servidor primario se encuentra compilando, realizando una conmutación por error (failover) o experimentando un reinicio de runtime.
  • La descarga completa requiere la parada del runtime: Una descarga de "Proyecto completo" ("Entire Project") a un servidor redundante requiere detener el runtime en ese nodo. Asegúrese de que el nodo asociado redundante esté en buen estado y operando la planta antes de descargar.
  • No adjunte bases de datos manualmente mediante SSMS: Nunca adjunte ni modifique manualmente las bases de datos de proyectos de WinCC utilizando SQL Server Management Studio a menos que se lo indique específicamente el soporte técnico de Siemens. WinCC requiere un registro de metadatos propietario gestionado exclusivamente por las herramientas de WinCC.
  • Preserve la conexión de red durante la transferencia: Una interrupción en la conectividad de red durante la fase de copia de base de datos deja el contexto de la base de datos de destino en un estado corrupto, lo que requiere una purga manual de la carpeta y una nueva descarga completa.

Preguntas frecuentes del ingeniero

  • ¿Qué significa el error 'el contexto de base de datos no existe o no es válido' en WinCC?
    Indica que WinCC Explorer no puede conectarse ni registrar los archivos de base de datos SQL del proyecto (.mdf/.ldf) debido a bloqueos de permisos o instancias de bases de datos huérfanas en SQL Server.
  • ¿Por qué la descarga se realiza correctamente para el servidor OS primario pero falla en el servidor secundario?
    Las diferencias en los permisos de usuario locales de Windows, la configuración no aplicada del Security Controller, los manejadores de archivos residuales de WinCC o las discrepancias en los permisos de los recursos compartidos de red en el servidor secundario suelen explicar los fallos en un solo nodo.
  • ¿Cómo afecta Simatic Shell a las descargas remotas de proyectos OS?
    Simatic Shell rige la resolución de nombres por difusión (broadcast) y la comunicación cifrada entre las estaciones PCS 7. Si Simatic Shell está vinculado al adaptador de red incorrecto, las descargas remotas se detienen.
  • ¿Es seguro eliminar la carpeta del proyecto OS en el servidor secundario antes de descargar?
    Sí, al realizar una descarga completa ('Proyecto completo' / 'Entire Project'), eliminar o cambiar el nombre de la carpeta del proyecto antiguo en el servidor de destino garantiza una transferencia limpia sin colisiones de manejadores de archivos.
  • ¿Qué debo hacer si reset_wincc.vbs se bloquea durante la ejecución?
    Si reset_wincc.vbs se bloquea, abra el Administrador de tareas de Windows como administrador, finalice a la fuerza los procesos restantes CC*.exe y pdlrt.exe, y reinicie el servicio de Microsoft SQL Server (WINCC).
  • ¿Puedo realizar una 'Descarga de cambios en línea' si se volvió a crear el proyecto del servidor secundario?
    No. Una vez que se elimina o se vuelve a crear la carpeta de un proyecto, se pierde el historial de sincronización de cambios internos, lo que requiere una descarga de 'Proyecto completo' ('Entire Project') mientras el servidor está desconectado.
  • ¿Por qué WinCC Explorer se abre automáticamente en el servidor de destino después de una descarga?
    La automatización de la descarga de destino de PCS 7 ordena a la estación remota que abra WinCC Explorer para registrar el contexto de la base de datos en SQL Server y verificar la integridad del proyecto.
  • ¿La ejecución de Siemens Security Controller requiere reiniciar el equipo?
    En la mayoría de los casos, la aplicación de la configuración en el Security Controller actualiza las políticas inmediatamente sin necesidad de reiniciar, aunque se recomienda reiniciar si se modificaron las reglas DCOM.
  • ¿Cómo verifico que el servidor OS secundario se está sincronizando activamente con el servidor primario?
    Compruebe las variables internas de WinCC '@RedundancyState' y '@RM_Master', e inspeccione el archivo de registro de redundancia 'WinCC_Sys_01.log' o las alarmas de sistema de '@Redundancy'.
  • ¿Qué papel juega el nombre de equipo de Windows en los fallos de descarga de WinCC OS?
    El nombre de equipo configurado en las propiedades del proyecto WinCC debe coincidir exactamente con el nombre de equipo de Windows real del servidor de destino (máximo 15 caracteres, sin guiones bajos ni caracteres ilegales).

Referencias técnicas

  • Portal de Siemens Industry Online Support (SIOS): Why does the OS download fail with an error regarding database context? (ID de entrada: 58826849).
  • SIMATIC PCS 7 Operator Station Engineering Manual (V8.2 / V9.0 / V9.1), Siemens AG.
  • SIMATIC WinCC Redundancy Manual, Siemens AG.

Artículos relacionados

Etiquetas relacionadas

PCS 7, WinCC, OS Download, Redundancy, SQL Server, Database Context, Security Controller, Troubleshooting

20 respuestas