# Ensayos y comentarios

> El panel de una unidad: preparar un procedimiento y sus metadatos, el Arranque y lo que valida, Pausar, Reanudar, Detener y Abortar, las tarjetas en vivo, los comentarios, los comandos sueltos, el archivo del ensayo, y las vías de la automatización y del agente.

El **panel** de una unidad (Process > Modelos > un modelo > Operar > la unidad > un panel, y el
mismo panel en la página View cuando está marcado con Mostrar en View) es donde se prepara, se
arranca, se gobierna y se sigue un ensayo. Qué tarjetas dibuja, y en qué orden, se dispone una sola
vez en el modelo, en Visualización > [Paneles](process-panels); todas las unidades del modelo operan
después desde la misma superficie. Mirar solo necesita el árbol. Todos los comandos del panel exigen
**Ejecutar procedimientos**; sin ese permiso, el panel se abre con el aviso "Puede seguir aquí el
estado del ensayo de esta unidad, pero arrancarlo o gobernarlo exige el permiso 'Ejecutar
procedimientos'." y no dibuja ningún botón del ciclo de vida.

Una tarjeta a la que la estación no da nada que mostrar se deja fuera en lugar de dibujarse vacía: la
tarjeta Comandos sueltos necesita un datalog o una receta instantánea en el modelo, la tarjeta
Canales un canal legible, la tarjeta Metadatos un procedimiento preparado que pida algún campo (o
nada preparado todavía), y un panel de control incrustado algo colocado en él. Un panel que no dispone
ninguna tarjeta dice "Este panel no dibuja ninguna tarjeta. Elija sus tarjetas en la fila Paneles del
modelo, dentro de Visualización."

## El aviso de enclavamiento {#the-interlock-banner}

Cuando el modelo observa una parada externa ([Automatización](process-automation)), el enclavamiento
de la unidad está por encima de todas las tarjetas y no dibuja nada mientras está En reposo. En los
demás casos es un aviso titulado **Enclavamiento disparado** (a voz en grito), **Enclavamiento a la
espera de rearme** o **Enclavamiento no disponible**, con el motivo, el nombre de la fuente, su valor
y su calidad. Mientras no está En reposo, en la unidad no se admite ningún Arranque nuevo, ni
Reanudar, ni instantánea, ni evaluación, ni aplicación de receta. Un disparo termina el ensayo en
marcha por la vía de terminación de siempre, como **Abortado** con veredicto **No conforme** y motivo
de terminación **Enclavamiento**, y no se nombra a nadie como quien lo terminó. El enganche sobrevive
a un reinicio. **Rearmar** aparece solo en A la espera de rearme, exige Ejecutar procedimientos, una
fuente que lee buena y segura y una unidad que no posea ningún ensayo; borra el enganche, queda en el
diario con el nombre del operador, y nunca reinicia el ensayo abortado.

## La tarjeta Ensayo {#the-run-card}

La cabecera de la tarjeta lleva un piloto que dice qué está haciendo la unidad, con las mismas
palabras y el mismo color que la píldora de la página de la unidad. Esperar las consignas manda sobre
cualquier otra lectura.

| Piloto | Color | Cuándo |
| --- | --- | --- |
| **Sin registrar** | Gris | Ningún ensayo posee la unidad. |
| **Preparando** | Gris | Arrancar ha reservado la unidad y el ensayo todavía no existe. |
| **Registrando** | Verde | El ensayo está muestreando. |
| **Esperando a que las consignas lleguen al equipo** | Precaución | La receta ha entregado las consignas de un segmento y espera a que el equipo las acepte; el tiempo propio del segmento todavía no ha empezado a contar, y el datalog sigue registrando. Solo lo muestra un segmento configurado para esperar ([Recetas](process-recipes#what-a-run-does-with-it)). |
| **En pausa** | Precaución | Pausar ha congelado la ventana temporizada en la última consigna; el datalog sigue registrando. |
| **Guardando** | Gris | El muestreo se ha detenido y se está escribiendo la instantánea del ensayo. |
| **Finalizando** | Gris | El ensayo ha llegado a su estado final y está cerrando su archivo; la unidad todavía no está libre. |

| Campo | Qué es | Valores / valor por defecto | Efecto |
| --- | --- | --- | --- |
| Procedimiento | El procedimiento preparado para el próximo Arranque. | "(ninguno)" más todos los procedimientos del modelo, por orden alfabético; nada preparado por defecto, y la preparación se reinicia cuando arranca la aplicación. | La preparación es de toda la estación: todas las pantallas de esta unidad, el punto `Next.Procedure` y la tarjeta de Operar muestran la misma elección. Preparar un procedimiento que fija un conjunto de alias aplica ese conjunto a la unidad al prepararlo, no en el Arranque; una fijación que no se puede aplicar deja en su sitio la preparación anterior y dice por qué en la tarjeta. El selector se atenúa sin Ejecutar procedimientos y mientras el runtime está detenido. |

Los botones del ciclo de vida, en el orden en que se dibujan. Pausar y Reanudar se dejan fuera cuando
el procedimiento preparado es Controlado o Instantáneo, porque solo un ensayo Temporizado tiene una
ventana que congelar; sin nada preparado se dibujan los cinco.

| Comando | Qué hace | Atenuado cuando (situación) | No se dibuja cuando (rol) |
| --- | --- | --- | --- |
| Arrancar | Arranca en esta unidad el procedimiento preparado. | La unidad está ocupada, no hay ningún procedimiento preparado, el runtime está detenido, el enclavamiento no está En reposo, o la estación rechaza las escrituras. | Sin Ejecutar procedimientos. |
| Pausar | Congela la ventana temporizada en la última consigna; el datalog sigue registrando. | Ningún ensayo está En marcha, o el procedimiento en marcha no es Temporizado. | Sin Ejecutar procedimientos; el procedimiento preparado es Controlado o Instantáneo. |
| Reanudar | Suelta la pausa y continúa la ventana. | Ningún ensayo está En pausa, o el enclavamiento no está En reposo. | Sin Ejecutar procedimientos; el procedimiento preparado es Controlado o Instantáneo. |
| Detener | Termina el ensayo limpiamente y lo congela como histórico, desde En marcha o desde En pausa. | Ningún ensayo posee la unidad. | Sin Ejecutar procedimientos. |
| Abortar | Termina el ensayo como abortado; el bloque de finalización se ejecuta igualmente. | Ningún ensayo está En marcha ni En pausa. | Sin Ejecutar procedimientos. |

Un comando rechazado escribe su motivo en la tarjeta ("No hay ningún procedimiento preparado. Elija
uno primero."), y dos líneas permanentes bajo los botones dicen por qué la estación o la unidad no
están aceptando comandos: "Runtime detenido", y el motivo del enclavamiento.

## El Arranque, y lo que valida {#start-and-what-it-validates}

El Arranque consume la preparación de la unidad y lo rechaza todo antes de tomar ningún recurso. Por
orden: se reserva la unidad (un segundo Arranque en la misma unidad se rechaza); el procedimiento
preparado tiene que seguir existiendo ("El procedimiento preparado ya no existe. Elija uno otra
vez.") y la preparación no puede haberse movido mientras el Arranque esperaba a que terminara una
edición de ingeniería ("El procedimiento preparado o los metadatos han cambiado mientras Arranque
esperaba. Revise el ensayo preparado y vuelva a intentarlo."); el procedimiento tiene que pasar la
puerta que muestra su propia página ("No hay nada que ejecutar: este procedimiento no referencia ni
datalog ni receta.", "El modo temporizado necesita una duración. Fije una.", "El modo instantáneo
necesita una receta instantánea (o ninguna). Un perfil temporizado no tiene un único instante.", "El
perfil de la receta (*N* ms) es más largo que la ventana temporizada (*M* ms).", y las comprobaciones
de producción); toda incidencia armada tiene que tener una condición válida; al menos un canal del
datalog tiene que resolverse en una fuente vinculada de esta unidad ("Ningún canal del datalog se
resuelve en una fuente vinculada de la unidad 'X'."); los metadatos pedidos tienen que estar
completos y con el tipo correcto ("El campo de metadatos 'X' es obligatorio.", "El campo de metadatos
'X' tiene que ser numérico.") y todos los campos secuenciales tienen que poder componerse (un código
de unidad o de procedimiento que falte rechaza el Arranque); el enclavamiento tiene que estar En
reposo; y todas las fuentes que escribe la receta tienen que estar libres (una fuente que tiene el
ensayo de otra unidad rechaza el Arranque nombrando el canal y la unidad que la tiene). Solo entonces
se reservan los contadores secuenciales, se crea el archivo del ensayo con los metadatos ya escritos
en él, y se lanzan los motores; las etiquetas de Arranque y los informes de Arranque que emite el
procedimiento salen a medida que el ensayo se materializa ([Emitir etiquetas e
informes](process-emission)).

## La tarjeta Metadatos {#the-metadata-card}

La tarjeta se encabeza "Aquello bajo lo que se registra el próximo ensayo de 'Procedimiento'. Un campo
marcado con * lo pide todo procedimiento." y dibuja una entrada por cada campo de metadatos que pide
el procedimiento preparado, en el orden del procedimiento; sin nada preparado dice "Prepare un
procedimiento y aquí aparecerán los campos que pide."

| Tipo de campo | Qué dibuja la tarjeta | Efecto |
| --- | --- | --- |
| Texto | Una casilla de entrada. | Se escribe en la preparación de toda la estación a medida que usted teclea; el Arranque lo registra en el archivo del ensayo. Un campo obligatorio (marcado con *) rechaza un Arranque vacío. |
| Número | Una casilla de entrada. | Lo mismo, y el Arranque rechaza un valor que no sea un número. |
| Secuencial | Una vista previa de solo lectura del identificador que compondría ahora el contador, o "Reservada en el arranque" cuando todavía no existe ningún estado de contador. | Mirar no reserva nada: el valor definitivo se reserva en el Arranque, así que un contador compartido por varias unidades puede moverse antes de eso. |

La preparación la consume el Arranque, no la borra: las entradas se quedan como valores por defecto
para el próximo ensayo del mismo procedimiento. Las entradas escritas para otro procedimiento se
quedan en la zona de preparación pero están inertes, ya que el Arranque lee solo los campos del
procedimiento preparado. Las casillas se atenúan sin Ejecutar procedimientos y mientras el runtime
está detenido.

## La tarjeta Estado del ensayo {#the-run-state-card}

Tres lecturas: **Estado** (En marcha, En pausa, Guardando, Completado, Abortado, Fallido, o
"Preparando" mientras la unidad está reservada y "En reposo" cuando nada la posee), **Ciclo** ("2 /
10" para un ensayo cíclico, "Sin ciclos" en los demás casos; se deja fuera del todo cuando el
procedimiento preparado es Controlado o Instantáneo) y **Veredicto** (el veredicto en vivo de la
evaluación, que se puede seguir leyendo después de terminar el ensayo hasta que arranca el siguiente;
"Ninguno" cuando no se ha juzgado nada).
Mientras ningún ensayo posee la unidad, el veredicto que sigue a la vista es el del último ensayo, y
la lectura se llama entonces **Veredicto del último ensayo**, para que nunca se lea como el del
ensayo que va a empezar.

## Qué hace cada terminación {#what-each-end-does}

| Terminación | Registro | Receta | Veredicto y estado |
| --- | --- | --- | --- |
| Detener | El muestreo se para después de ejecutarse el bloque de finalización, así que la transición al estado seguro está en el datalog. | Se escriben las consignas de finalización. | La evaluación cierra sus ventanas abiertas y se pliega: Conforme, No conforme, Indeterminado, o Ninguno sin evaluación. Completado. |
| Abortar | Lo mismo. | Se escriben las consignas de finalización. | No conforme diga lo que diga lo juzgado. Abortado. |
| Se acaba la ventana (Temporizado) o se registra la fila (Instantáneo) | Lo mismo. | Se escriben las consignas de finalización. | Como Detener. Completado; no se nombra a nadie como quien lo terminó. |
| Una escritura de receta falla con la política de fallo Abortar | Lo mismo. | La finalización se ejecuta igualmente. | No conforme. Abortado. |
| Se dispara el enclavamiento | Lo mismo. | La finalización se ejecuta igualmente. | No conforme. Abortado, motivo de terminación Enclavamiento. |
| Se para el runtime | Todo ensayo todavía sin sellar se aborta. | La finalización se ejecuta igualmente. | No conforme. Abortado. |
| Un error irrecuperable | El muestreo se para; sin finalización. | No se escribe nada más. | Ninguno. Fallido. |

Cerrar la aplicación no termina nada: un ensayo En marcha o En pausa se reanuda en el arranque
siguiente, con un perfil temporizado en pausa en el segmento y el ciclo que tenía persistidos, y el
datalog continúa en el mismo archivo.

## La tarjeta Canales {#the-channels-card}

Los canales legibles de la unidad en un único gráfico en vivo, cada serie rotulada con el nombre en
vigor en esta unidad (un alias se ve en vivo) y dibujada en el color y la banda que el modelo declara
en el canal, con la barra de herramientas que llevan todos los gráficos ([Gráficos](view-charts)).
Muestra los valores en vivo registre o no un ensayo. Una línea bajo el dibujo solo aparece cuando un
tope de retención ha recortado el histórico que conserva el gráfico (lo que puede conservar un canal,
lo que puede conservar un gráfico entre todos sus canales, o lo que conserva la estación entre todos
los gráficos en vivo), y dice lo que ese tope ha dejado; un gráfico al que se le ha concedido todo el
histórico que pidió no lleva esa línea. Los topes están en [Gráfico de líneas](component-line-chart#history).

## La tarjeta Comentarios {#the-comments-card}

La tarjeta se encabeza "Comentarios · Procedimiento · Unidad" mientras hay un ensayo activo y
"Comentarios · sin ensayo activo" en los demás casos; una unidad en reposo no muestra ninguna
cronología, y un ensayo terminado toma sus notas de [Históricos](histories-notes). Cada línea
registrada muestra su hora, su fase (Ensayo o Después del ensayo) y su texto, con dos gestos:
**Editar** la reescribe en el sitio (Intro guarda, Esc cancela; un texto en blanco o sin cambios deja
el registro en paz, y una reescritura estampa el instante de la edición), y **Eliminar** exige dos
pulsaciones, la primera arma la línea ("¿Eliminar este comentario? Esta acción no se puede deshacer.") y la
segunda la quita. La caja del pie ("Añada un comentario…") y **Añadir** registran una línea nueva
estampada con el instante y el operador con la sesión iniciada en esta pantalla (la estación cuando no
hay nadie). Los tres gestos exigen Ejecutar procedimientos y un ensayo activo. La misma adición está
disponible para los paneles de control y para los agentes a través del punto `Commands.Comment` de la
unidad ([El espacio de direcciones de la unidad](process-addresses)).

## La tarjeta Incidencias {#the-occurrences-card}

Los episodios de incidencia de esta unidad, los activos primero, cada uno con su estado, sus dos
relojes (tiempo activo y pérdida de señal) y el mensaje congelado con él; la cabecera cuenta los
episodios activos. Qué es un episodio, y cómo se derivan sus relojes, está en
[Incidencias](process-occurrences).

## La tarjeta Productividad {#the-productivity-card}

La actividad de producción de la unidad en **Hoy** o en la ventana deslizante (un mando segmentado en
la cabecera): productividad, rendimiento y tiempo típico transcurrido, el registro de salidas, los
resultados de finalización y una tabla por procedimiento. Qué cuenta y cómo se calcula es
[Productividad](process-productivity).

## La tarjeta Comandos sueltos {#the-single-commands-card}

Un comando aislado sobre la unidad, fuera de cualquier procedimiento. Una fila aparece solo donde el
modelo declara aquello de lo que dispara.

| Fila | Mandos | Qué hace | Atenuada cuando |
| --- | --- | --- | --- |
| Instantánea | Un selector de datalog y **Capturar** | Registra ahora una fila de datalog como un ensayo Instantáneo terminado en Históricos, llamado "Snapshot · datalog". | La unidad está ocupada, el enclavamiento no está En reposo, el runtime está detenido, todavía se está ejecutando un comando suelto, o falta Ejecutar procedimientos. |
| Evaluar ahora | Un selector de datalog, un selector de evaluación y **Evaluar** | Registra una fila y la juzga ahora con la evaluación; el ensayo se llama "Evaluate · evaluación" y lleva el veredicto del momento. Se dibuja solo cuando el modelo tiene a la vez un datalog y una evaluación. | Lo mismo. |
| Aplicar receta | Un selector de las recetas instantáneas del modelo y **Aplicar** | Escribe una vez las consignas de la receta por el punto único de escritura, bajo un bloqueo de vida corta; no se registra ningún ensayo, el registro es el diario. Una fuente que tiene un ensayo vivo lo rechaza. | El enclavamiento no está En reposo, el runtime está detenido, todavía se está ejecutando una aplicación, o falta Ejecutar procedimientos. Sigue disponible mientras la unidad registra. |

Las instantáneas y las evaluaciones no piden metadatos, no reservan ningún contador y nunca cuentan
para la producción. Los resultados aterrizan en el registro de acciones ("Instantánea registrada.
Consulte Históricos.", "Evaluado. El veredicto queda registrado en Históricos.", "Receta aplicada.").

## Los paneles de control como tarjetas {#dashboards-as-cards}

Un panel puede incrustar cualquier panel de control del modelo como una tarjeta, a la altura elegida
en el panel. La tarjeta ejecuta la definición del modelo resuelta para esta unidad, exactamente igual
que el nodo de panel de control propio de la unidad, y sus componentes de mando solo necesitan
Ejecutar procedimientos.

## El datalog {#the-datalog}

Mientras un ensayo registra, el [datalog](process-datalogs) que nombra su procedimiento escribe una
instantánea de nivel de aplicación por intervalo: todos los canales registrados, en el orden de
columnas declarado, cada valor junto a una marca de Buena o No disponible. La fila promete una
observación coherente de la aplicación, no una adquisición física simultánea: los dispositivos de
origen se refrescan a su propio ritmo. Una fuente no disponible o un valor no convertible se guardan
como un hueco; un `NaN` o un centinela de ingeniería recibidos correctamente se quedan como Buena. Un
intervalo más corto no llega ahí por la pantalla: el campo Intervalo entre instantáneas del datalog
rechaza un valor por debajo de 50 ms ("Escriba un número de al menos 50.") y devuelve la casilla al
intervalo en vigor. Un intervalo que llegue a un ensayo por cualquier otro camino se usa tal cual
hasta 50 ms, y cualquier valor por debajo se trata como 50 ms.

## El archivo del ensayo {#the-run-file}

El archivo del ensayo es el registro completo: identidades y nombres estables del modelo, la unidad y
el procedimiento, la revisión del modelo, la disposición de canales congelada con la tinta de gráfico
resuelta de cada columna, los valores de metadatos, las escrituras de receta tal como se ejecutaron,
los resultados de los criterios, los eventos de incidencia, los comentarios, las anotaciones del
gráfico, los registros de producción, los artefactos de etiqueta y los registros de informe. El
contexto congelado se captura en el Arranque y nunca se muta; el finalizador solo añade el resultado:
veredicto, estado final, hora de fin, quién terminó el ensayo y, cuando lo terminó un enclavamiento,
el motivo de la terminación. Eliminar el modelo, la unidad o el procedimiento nunca toca un ensayo
registrado. Consultar, exportar y volver a generar documentos a partir de archivos de ensayo es
[Históricos](histories).

## La vía de la automatización {#the-automation-path}

Una unidad con la [automatización](process-automation) habilitada toma el mismo ciclo de vida desde el
campo: un flanco de subida en la fuente booleana vinculada a Arrancar, Pausar, Reanudar, Detener o
Abortar dispara ese comando. Abortar gana sobre Detener en el mismo sondeo, y cualquier otra pareja de
flancos simultáneos se rechaza como conflictiva. Un Arranque automático resuelve su procedimiento
desde la elección fija o desde el selector numérico y sus metadatos desde las fuentes configuradas sin
tocar la preparación del operador, y se admite solo cuando la unidad está lista para el Arranque. El
resultado se escribe de vuelta en el retorno asignado como CommandResult: 0 En espera, 1 Aceptado, 2
Unidad no lista, 3 Selección no válida, 4 Metadatos no válidos, 5 Comando incompatible, 6 Comandos en
conflicto, 7 Fallo interno. Un ensayo que admitió la automatización se lista en Históricos con la
insignia **Automatización**, registra la automatización como responsable, y la nombra como quien lo
terminó tras un Detener o un Abortar automáticos.

## Agentes y paneles de control {#agents-and-dashboards}

El servidor de agente integrado gobierna el mismo ciclo de vida con sus herramientas de conducción de
Process (arrancar, detener, pausar, reanudar, abortar, comentar, instantánea, evaluar, aplicar
receta), anotado en el diario como Agent y registrado como Agent en el ensayo
([Acceso de agente](agent)). Un panel de control llega a él por las puntas de comando de la unidad: un
Botón sobre `Commands.Start` se deshabilita solo mientras la disponibilidad lee falso y una Entrada
sobre `Next.<Field>` prepara un valor ([El espacio de direcciones de la unidad](process-addresses));
el procedimiento mismo se prepara en la [tarjeta Ensayo](#the-run-card).

## Qué no hace esta superficie {#what-this-surface-does-not-do}

No configura nada: los canales, los vínculos, los metadatos, el enclavamiento y la automatización se
editan en [Definición](process-definition); lo que un ensayo aplica, registra y juzga se compone en
[Preparación](process-setup). No edita un ensayo terminado: las notas posteriores, las anotaciones,
las exportaciones, los informes y las etiquetas de un ensayo registrado son
[Históricos](histories). Y nunca dibuja una tarjeta que la estación no pueda llenar.
