En SIMATIC BATCH, al intentar guardar una receta maestra o una operación de biblioteca, se produce un error que indica que el objeto BATCH está siendo utilizado por otra aplicación, cuando sesiones de clientes concurrentes o bloqueos de exclusión mutua (mutex) huérfanos en la base de datos mantienen derechos de edición exclusivos. Cuando un ingeniero o una estación de trabajo cliente se cierra de forma anormal sin cerrar correctamente el Editor de recetas, la base de datos central de BATCH retiene el bloqueo de usuario. Para resolver este bloqueo es necesario verificar las sesiones de usuario activas en Batch Control Center (BatchCC), cerrar las instancias huérfanas de los clientes, reiniciar los servicios de tiempo de ejecución de BATCH si persisten los bloqueos de exclusión mutua, o guardar la receta con un identificador alternativo.
Índice de contenidos
- Bloqueo por concurrencia y propiedad de objetos en SIMATIC BATCH
- Causas raíz de los bloqueos persistentes del Editor de recetas
- Procedimiento paso a paso para la resolución y liberación de bloqueos
- Gestión de procesos del servidor BATCH y archivos adjuntos de la base de datos
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes para ingenieros
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Bloqueo por concurrencia y propiedad de objetos en SIMATIC BATCH
SIMATIC BATCH ofrece una gestión integral de recetas ISA-88 y ejecución por lotes en sistemas PCS 7 distribuidos. Para garantizar la integridad de los registros electrónicos según FDA 21 CFR Parte 11, SIMATIC BATCH aplica un estricto control de concurrencia:
- Extracción exclusiva a nivel de objeto: Cuando un ingeniero abre una receta maestra, una operación de biblioteca (ROP) o un procedimiento de unidad (RUP) en el Recipe Editor, el cliente BATCH solicita un token de escritura exclusivo al servidor BATCH activo (
bfserverx.exe). - Bloqueo del estado de la base de datos: El servidor BATCH marca el ID del objeto como "Extraído" (Checked Out) en la base de datos SQL central (
sbdata) y registra el nombre de usuario de Windows, el nombre de la máquina cliente y el ID de proceso. - Protección contra colisiones de escritura: Cualquier intento concurrente por parte de otro cliente —o de una ventana secundaria en el mismo cliente— para guardar, validar o liberar la receta desencadena la interrupción de seguridad:
SIMATIC BATCH: Recipe Editor Master recipe not created. Error: BATCH object being used and written to or read by another BATCH application.
Causas raíz de los bloqueos persistentes del Editor de recetas
El error se manifiesta con frecuencia incluso cuando un solo ingeniero cree que está editando el sistema. Las principales causas raíz incluyen:
- Terminación anormal del cliente: Si el Recipe Editor de BATCH se bloquea, pierde la conectividad de red con el servidor BATCH o se cierra a la fuerza en el Administrador de tareas de Windows, el bloqueo de extracción permanece activo en la base de datos del servidor.
- Sesiones concurrentes de BatchCC y Recipe Editor: Si una receta está abierta para modificaciones estructurales en el Recipe Editor mientras está abierta simultáneamente en Batch Control Center (BatchCC) para su liberación o validación, el servidor BATCH bloquea las escrituras concurrentes.
- Sesiones fantasma en servidores BATCH redundantes: En configuraciones de servidores BATCH redundantes, si la sincronización del servidor experimenta latencia en el bus de terminales, es posible que los tokens de liberación de bloqueo enviados por un cliente no se registren simultáneamente en el nodo en espera.
- Nomenclatura duplicada de objetos: Intentar guardar un nuevo elemento de biblioteca usando un nombre que entra en conflicto con una entidad de receta eliminada lógicamente o no compilada.
Procedimiento paso a paso para la resolución y liberación de bloqueos
Siga este procedimiento estructurado para liberar los bloqueos de objetos BATCH atascados:
Paso 1: Comprobar las sesiones activas en Batch Control Center (BatchCC)
- Abra BatchCC como administrador.
- En el árbol de navegación, localice la categoría de receta o biblioteca afectada.
- Inspeccione el icono del objeto: Un símbolo de candado indica que el objeto está bloqueado por una sesión activa.
- Compruebe la barra de estado o las propiedades del objeto para identificar el nombre de usuario y el nombre de la computadora de la estación de trabajo que realiza el bloqueo.
- Si la sesión pertenece a un compañero, pídale que guarde y cierre el Recipe Editor correctamente.
Paso 2: Borrar los procesos fantasma del cliente local
- En la estación de trabajo de ingeniería, cierre todas las aplicaciones de SIMATIC BATCH (Recipe Editor, BatchCC).
- Abra el Administrador de tareas de Windows (
Ctrl + Shift + Esc). - En Procesos en segundo plano, busque ejecutables huérfanos de BATCH:
*bfrecx.exe(Recipe Editor)
*bfccx.exe(BatchCC)
*bfclientx.exe - Si los encuentra, seleccione el proceso y haga clic en Finalizar tarea (End Task).
- Vuelva a abrir BatchCC y compruebe si se ha liberado el objeto.
Paso 3: Solución temporal mediante Guardar como (Save-As)
- Si es necesario conservar cambios urgentes en la receta y el objeto original permanece bloqueado:
* En el Recipe Editor, seleccioneFile -> Save As....
* Asigne un nuevo nombre temporal o sufijo de revisión (por ejemplo,ROP_Mixer01_Temp).
* Complete su trabajo de ingeniería y guarde el nuevo objeto.
* Una vez que se eliminen los bloqueos del servidor, elimine el objeto bloqueado original o vuelva a copiar la lógica.
Gestión de procesos del servidor BATCH y archivos adjuntos de la base de datos
Si el bloqueo persiste en todos los clientes, el token de bloqueo debe borrarse en el servidor BATCH:
- Verificar el estado de la planta: Asegúrese de que no se estén ejecutando lotes críticos en la planta antes de alterar los estados del servidor.
- Reiniciar las aplicaciones BATCH mediante BatchCC:
* En el servidor BATCH, abra BatchCC.
* SeleccioneTools -> Terminate BATCH Applications.
* Espere a que todos los demonios en segundo plano (bfserverx.exe,bfdatax.exe,bfcdbx.exe) se cierren por completo.
* SeleccioneTools -> Start BATCH Applications. - Purga de bloqueos de bases de datos:
* Durante el inicio del servidor, el motor de bases de datos BATCH valida los tokens de extracción de objetos frente a las sesiones de red activas. Los bloqueos de clientes huérfanos con sockets TCP muertos se purgan automáticamente de las tablas de la base de datossbdata.
+-------------------------------------------------------------------+
| SIMATIC BATCH Lockout Resolution Flow |
+-------------------------------------------------------------------+
| Recipe Editor reports "Object being used by another application" |
| | |
| v |
| 1. Terminate orphaned bfrecx.exe / bfccx.exe on Client PCs |
| | |
| v |
| 2. If editing urgent: Use "File -> Save As..." with new name |
| | |
| v |
| 3. If persistent: Terminate & Restart BATCH Applications in |
| BatchCC on BATCH Server (Clears dead session mutexes) |
| | |
| v |
| 4. Open Recipe Editor -> Verify clean lock release |
+-------------------------------------------------------------------+
Verificación
Confirme la resolución de los errores de concurrencia en BATCH:
- Comprobación de modificación en el Recipe Editor:
* Abra la receta maestra de destino o la operación de biblioteca en el Recipe Editor.
* Modifique un parámetro o un valor de consigna de fase (setpoint).
* Haga clic en Guardar (Save). Confirme que el guardado se completa instantáneamente sin cuadros de diálogo de error. - Validación y liberación de recetas:
* En el Recipe Editor, seleccioneRecipe -> Validate. Confirme que no hay errores estructurales.
* SeleccioneRecipe -> Release for testingoRelease for production.
* Verifique que el estado de la receta se actualice en BatchCC con una marca de verificación verde.
Limitaciones y precauciones operativas
- Precaución al ejecutar lotes: Nunca termine las aplicaciones del servidor BATCH (
bfserverx.exe) mientras se estén ejecutando lotes químicos activos en las estaciones de automatización. Hacerlo interrumpe el registro electrónico de lotes y puede pausar la progresión de las fases. - Evitar la modificación directa de tablas SQL: Nunca intente editar o eliminar manualmente registros en la base de datos de Microsoft SQL Server
sbdatausando SQL Management Studio. Las bases de datos BATCH utilizan activadores (triggers) relacionales complejos; las modificaciones manuales corrompen permanentemente los datos del proyecto. - Sincronización de versiones: Asegúrese de que todas las estaciones de ingeniería y los clientes BATCH ejecuten exactamente la misma versión de SIMATIC BATCH, el mismo Service Pack y el mismo nivel de Hotfix.
Preguntas frecuentes para ingenieros
- ¿Qué causa el error de SIMATIC BATCH 'BATCH object being used by another application'?
El servidor BATCH central mantiene un bloqueo de extracción exclusivo en la receta o elemento de biblioteca, causado típicamente por un proceso de cliente huérfano o por otra ventana abierta. - ¿Cómo puedo guardar los cambios de mi receta si el objeto original está bloqueado?
Utilice 'File -> Save As...' en el Recipe Editor para guardar la operación o receta con un nuevo nombre, evitando la pérdida de trabajo mientras se investigan los bloqueos. - ¿Qué ejecutable corresponde al Editor de recetas de SIMATIC BATCH?
El proceso en segundo plano del Recipe Editor esbfrecx.exe. - ¿Reiniciar la PC cliente de BATCH libera los bloqueos de la base de datos?
Reiniciar el cliente termina los identificadores (handles) locales, pero si el servidor mantiene el indicador de extracción (checkout flag), es posible que también sea necesario reiniciar las aplicaciones del servidor BATCH. - ¿Cómo reinicio de forma segura los demonios del servidor BATCH?
En BatchCC en el servidor BATCH, seleccione 'Tools -> Terminate BATCH Applications', espere a que finalice y luego seleccione 'Tools -> Start BATCH Applications'. - ¿Pueden dos ingenieros editar diferentes recetas en SIMATIC BATCH simultáneamente?
Sí, varios ingenieros pueden editar recetas separadas al mismo tiempo; el bloqueo exclusivo se aplica estrictamente al objeto de receta o elemento de biblioteca específico que se está editando. - ¿SIMATIC BATCH requiere una licencia de ingeniería para editar recetas?
Sí, crear y editar recetas en el Recipe Editor requiere una licencia de ingeniería activa deSIMATIC BATCH Recipesgestionada a través de ALM. - ¿Cuál es la diferencia entre una operación de biblioteca (ROP) y una operación de receta en una receta maestra?
Una operación de biblioteca es una plantilla reutilizable basada en clases, mientras que una operación de receta en una receta maestra es una secuencia parametrizada e instanciada. - ¿Dónde se almacenan los registros de eventos y errores de SIMATIC BATCH?
Los registros se encuentran enC:\Program Files (x86)\Siemens\BATCH\Log\o se pueden ver a través de las vistas de diagnóstico de Batch Control Center. - ¿La liberación de una receta requiere compilar la OS?
No, la creación, modificación y liberación de recetas ocurren enteramente a nivel de gestión de SIMATIC BATCH y no requieren compilación de la OS ni de la AS.
Referencias técnicas
- Siemens Industry Online Support (SIOS) Portal: Manual de usuario de SIMATIC BATCH (Entrada ID: 109747908).
- ISA-88.01: Batch Control Part 1 - Models and Terminology.
- SIMATIC PCS 7 BATCH Engineering Guide, Siemens AG.
Artículos relacionados
- Resolving Batch Control Center Authorization Delays and Lockouts on BATCH Clients in PCS 7
- Managing Operator Prompt Indications on SFC Types After Controller Restarts in PCS 7
Etiquetas relacionadas
PCS 7, SIMATIC BATCH, Recipe Editor, BatchCC, Concurrency Lock, ISA-88, Troubleshooting, Database Lock