Validación
La página de salud de la configuración: qué analiza la estación en los procedimientos, en la lógica y en los paneles de control, todos los hallazgos que puede informar y cómo los redacta, qué abre una fila, la insignia de la barra y por qué aquí no se repara nada.
La página Validación lista aquello sobre lo que la estación no se puede sostener: un vínculo de canal, un enclavamiento, un campo de automatización, una expresión, un script o una condición de Logic, o un componente de panel de control que apunta a un tag, a una variable, a un procedimiento o a una dirección que la estación ya no tiene, una acción de Process cuyos documentos un ensayo no podría emitir tal como está configurada, y un procedimiento que el arranque de un ensayo rechazaría. Es la entrada Validación del pie de la barra de navegación, se abre para una identidad con el permiso Ver Validación y responde en /validation. Es una página que se desplaza, dibujada a todo el ancho porque cada hallazgo es una frase. Es la hermana de la salud del runtime de la barra de estado: aquella dice si la estación está leyendo, esta dice si la configuración sigue resolviendo.
La página informa; nunca repara. Una fila abre el editor que es dueño del fallo, sobre la entidad que lo lleva, y la reparación es la edición que usted haga allí.
La tarjeta de estado
La tarjeta de arriba es toda la respuesta de la página sobre la configuración, y el único sitio donde se anuncia una estación limpia:
| Estado | Punto | Título | Detalle |
|---|---|---|---|
| Limpia | Verde | Nada que reparar | Todas las referencias de los procedimientos, la lógica y los paneles de control resuelven, todos los procedimientos arrancarían, y todas las acciones tienen lo que necesitan para salir. |
| Hallazgos | Ámbar | N elementos por reparar ("1 elemento" para uno) | Aquí no se repara nada. Una fila abre el editor que es dueño del fallo, sobre la entidad que lo lleva. |
La tarjeta lleva el único comando de la página, Volver a analizar (descripción emergente: "Comprobar ahora otra vez la configuración entera. La lista también se actualiza sola cada vez que algo cambia."). Se atenúa mientras corre un análisis. Como un análisis que encuentra lo mismo deja la lista exactamente igual, el resultado se informa en el registro de acciones de la barra de estado: "Análisis terminado: nada que reparar.", "Análisis terminado: N elementos por reparar." o "Error en el análisis: motivo".
Rara vez hace falta volver a analizar. El validador está siempre activo, en la estación, y vuelve a analizar por su cuenta 750 milisegundos después de cualquier ráfaga de cambios en cualquiera de las superficies que lee: los dispositivos, las líneas y los tags de Connector; los modelos de Process; los activos; las variables, las acciones y las alarmas de Logic; los paneles de control; las plantillas de etiqueta; los diseños de informe. La página y la insignia de la barra siguen el resultado. Un análisis que Connector atraviesa mientras mueve dispositivos hacia dentro o hacia fuera (una actualización de controlador, un dispositivo que se está añadiendo) se repite en cuanto Connector se asienta, así que una referencia nunca se declara rota solo porque su dispositivo esté en vuelo.
Los grupos
Los hallazgos se agrupan por la superficie que es su dueña, en un orden fijo. Un grupo sin nada dentro no se dibuja, así que una estación con un fallo de panel de control muestra un grupo.
| Grupo | Clases de hallazgo | La línea bajo el título |
|---|---|---|
| Process | Vínculos (vínculos de canal, enclavamientos, automatización), procedimientos y las incidencias que arman, y documentos de acción | N elementos. Vínculos de canal, enclavamientos y automatización de unidad que nombran un tag, una variable o un procedimiento que la estación ya no tiene, procedimientos que un arranque rechazaría, y acciones cuyos documentos un ensayo no podría emitir tal como están configuradas. |
| Logic | Variables de expresión, acciones, alarmas | N elementos. Expresiones, scripts de acción y condiciones de alarma que leen una dirección que ya no resuelve. |
| Paneles de control | Componentes | N elementos. Componentes cuyas propiedades apuntan a una dirección que ya no resuelve. Se dibujan, pero no leen nada. |
Una fila
Cada fila es un hallazgo, y dice de qué trata sin abrir nada:
- Un glifo de la clase: una unidad para un vínculo de Process, una marca de impresión para los documentos de una acción, la marca de composición escrita para un procedimiento, una bandera para una incidencia, las marcas de variable, de acción y de alarma del árbol de Logic, la marca de panel de control para un componente.
- El nombre de la entidad, después su tipo cuando el tipo dice algo que el nombre no dice (un componente al que el integrador nunca puso nombre vuelve a su clase, y la fila no dice "Indicador analógico Indicador analógico"), después "en ubicación" cuando la hay.
- El hallazgo: para un campo que nombra un destino, "Campo apunta a
referencia, que ya no existe." con la referencia en tipografía monoespaciada; para un campo que el runtime no puede usar, "Campo: qué está mal." - Una flecha a la derecha: la fila abre algo. La descripción emergente de la fila y su nombre accesible son la frase entera más dónde aterriza el clic ("Abrir la unidad en Process.", "Abrir la acción en Process.", "Abrir el procedimiento en Process.", "Abrir la incidencia en Process.", "Abrir el componente en el editor.", "Abrir la variable en Logic.", "Abrir la acción en Logic.", "Abrir la alarma en Logic.").
Todos los hallazgos que puede producir el análisis
La redacción de abajo es la de la propia página. Una referencia mostrada como tag:… o var:… es la identidad guardada de un tag o de una variable que ya no existe; una clave mostrada como texto es la clave guardada de un vínculo.
Process: vínculos de canal
Tipo "Vínculo de canal"; nombre: el nombre del canal (o "(canal eliminado)"); ubicación: "Modelo · Unidad". Abre la pantalla Canales del modelo sobre la unidad.
| Campo | Redacción |
|---|---|
| Tag | apunta a la clave de tag guardada, que ya no existe |
| Variable | apunta a la clave de variable guardada, que ya no existe |
Process: enclavamientos
Tipo "Enclavamiento"; nombre: el nombre de la unidad; ubicación: "Modelo · Unidad". A una unidad se la juzga por lo que observa de verdad: su propia fuente, o el valor por defecto del modelo cuando sigue al modelo. Abre la pantalla Automatización del modelo sobre la unidad.
| Campo | Redacción |
|---|---|
| Fuente | sigue al modelo, cuyo valor por defecto no nombra ninguna fuente booleana. |
| Fuente | no hay configurada ninguna fuente booleana. |
| Fuente | hay un Tag y una Variable seleccionados a la vez. |
| Tag | apunta a tag:…, que ya no existe |
| Tag | un tag DateTime no se puede convertir a booleano. (también los tags Guid y ByteString) |
| Variable | apunta a var:…, que ya no existe |
| Variable | una variable DateTime no se puede convertir a booleano. (también las variables Image, Icon y Color) |
Los tres primeros solo se informan mientras el enclavamiento de parada del modelo está habilitado.
Process: automatización
Tipo "Automatización"; nombre: el nombre de la unidad; ubicación: "Modelo · Unidad". Solo se juzga una automatización habilitada: una apagada no mueve nada y se retira de la lista. Abre la pantalla Automatización del modelo sobre la unidad.
| Campo | Redacción |
|---|---|
| Comandos | no hay configurada ninguna fuente de Arranque. |
| Procedimiento | el Procedimiento fijo no está disponible. (selección fija) |
| Selector | un hallazgo de fuente (más abajo), para una fuente entera |
| Código de selector n | selecciona un Procedimiento que se eliminó. |
| Fuente de Arranque, fuente de Parada, y así sucesivamente, una por fuente de comando | un hallazgo de fuente, para una fuente booleana |
| Metadatos | una asignación rellena un Procedimiento o un campo que se eliminó. |
| Metadatos "campo" | un hallazgo de fuente (numérico para un campo numérico; booleano, entero, real, texto o fecha para los demás), o: este campo no admite la generación automática. |
| Retorno Ready, Retorno Active, Retorno SelectedCode, Retorno CommandResult | apunta a tag:…, que ya no existe; o: el Tag en el que escribe no es escribible. / requiere un Tag booleano. (Ready, Active) / requiere un Tag entero. (SelectedCode, CommandResult) |
Un hallazgo de fuente es uno de estos: "no hay configurada ninguna fuente.", "hay un Tag y una Variable seleccionados a la vez.", "el Tag que lee se eliminó (tag:…).", "el Tag que lee no es legible." (el tag está deshabilitado o es de solo escritura), "un tag tipo no es compatible aquí.", "la Variable que lee se eliminó (var:…).", "una variable tipo no es compatible aquí.". La compatibilidad sigue el papel del campo: una fuente booleana necesita un tag o una variable booleana; una fuente entera un tipo entero; una fuente numérica un tipo entero o real; una fuente de metadatos cualquier tipo booleano, entero, real, de texto o de fecha.
Process: los procedimientos
Tipo "Procedimiento"; nombre: el nombre del procedimiento; ubicación: el nombre del modelo. El juicio pasa por la misma puerta por la que pasa el arranque de un ensayo, así que un procedimiento que esta lista llama ejecutable es uno que el banco acepta. Abre la página propia del procedimiento.
La puerta escribe estos rechazos en inglés, y la fila los cita tal como llegan, sea cual sea el idioma de la estación.
| Campo | Redacción |
|---|---|
| La composición | An evaluation judges over recorded rows. This procedure carries one but no datalog. |
| La composición | Occurrence 'name' watches recorded samples. This procedure arms it but has no datalog. |
| La composición | Nothing to run: this procedure references neither a datalog nor a recipe. |
| La composición | Instant mode needs an instant recipe (or none). A temporal profile has no single tick. |
| La composición | Controlled mode needs an instant recipe (or none). Setpoints apply at Start, safe-state at Stop. |
| La composición | Temporal mode needs a duration. Set one. |
| La composición | Temporal mode needs a temporal recipe (or none). An instant set has no timeline. |
| La composición | The recipe profile (N ms) is longer than the temporal window (M ms). |
| La composición | Occurrence 'name' watches 'Channels.channel', which this procedure's datalog does not record. |
| La composición | Un rechazo sobre lo que un ensayo terminado aporta a la producción, o sobre un valor de receta que no alcanza el canal al que apunta, en las palabras del editor que es su dueño. |
Process: las incidencias
Tipo "Incidencia"; nombre: el nombre de la incidencia; ubicación: el nombre del modelo. Solo se lee una incidencia que un procedimiento arma, y se lee una sola vez por muchos procedimientos que la armen, porque la condición es una y la reparación también. Abre la página propia de la incidencia.
| Campo | Redacción |
|---|---|
| La condición | El rechazo de la propia condición, en las palabras del editor de incidencias: una referencia de canal que este modelo no tiene, una condición que no se deja leer, una que devuelve algo que no es un Bool, o dos canales que acaban en el mismo nombre. También está escrito en inglés. |
Una condición que se sostiene sola y que aun así no puede juzgarse, porque el datalog del procedimiento deja fuera el canal que vigila, es un hallazgo sobre ese procedimiento: el datalog es la elección del procedimiento.
Process: los documentos de una acción
Tipo "Acción"; nombre: el nombre de la acción; ubicación: el nombre del modelo. El juicio es el mismo del que la página propia de la acción saca su aviso de "Necesita revisión", así que una acción que allí se declara lista, aquí está lista. Abre la página propia de la acción.
| Campo | Redacción |
|---|---|
| Comandos | Añada un comando: esta acción todavía no emite nada. |
| Comando n · Etiqueta en el Arranque, Comando n · Informe en la Finalización, y así sucesivamente | La primera observación sobre ese comando, y después "(k más en este comando)" cuando hay más. Un comando con varias observaciones sigue siendo una sola reparación, hecha en una sola página, así que es una sola fila. |
Las observaciones que puede llevar un comando, en el orden en que se reparan:
- Seleccione al menos un veredicto de finalización. (un comando en la Finalización sin ningún veredicto marcado)
- Elija un informe. / El informe seleccionado ya no existe.
- Elija una plantilla de etiqueta. / La plantilla se limpió o se eliminó; las asignaciones guardadas se conservan. / La plantilla global seleccionada ya no existe.
- La plantilla seleccionada todavía no tiene comandos de impresora; escríbalos o impórtelos antes de que un ensayo llegue a este comando.
- Los marcadores de la plantilla no se pueden leer: error
{{marker}}necesita una fuente. /{{marker}}está asignado más de una vez.{{marker}}: elija una fuente / esta fuente no está disponible en el Arranque / seleccione un campo del catálogo de metadatos de este modelo / seleccione un criterio de una de las evaluaciones de este modelo / fije un ciclo explícito de base cero, de 0 a n / quite los decimales de esta fuente de fecha y hora / use el formato por defecto para esta fuente numérica / los decimales tienen que estar entre 0 y 9 / quite el formato numérico o de fecha de esta fuente de texto{{marker}}se quitó de la plantilla actual; quite su asignación guardada.
Logic
Sin ubicación: las clases de Logic son de primer nivel. Una fila por cada dirección distinta que no resuelve, con la dirección escrita como la escribe la expresión. Solo se analizan las variables de expresión; una variable de memoria no tiene expresión que leer.
| Tipo | Campo | Redacción |
|---|---|---|
| Variable de expresión | Expresión | apunta a address, que ya no existe |
| Acción | Script | apunta a address, que ya no existe |
| Alarma | Condición | apunta a address, que ya no existe |
Paneles de control
Tipo: la clase del componente tal como la nombra el editor (Indicador analógico, Gráfico de líneas, Valor…); nombre: el nombre escrito para el componente, si no su rótulo, si no lo que deriva el editor; ubicación: el nombre del panel de control. Una fila por campo de dirección, así que un componente cuyo valor y cuyo color leen dos puntos eliminados son dos reparaciones.
| Campo | Redacción |
|---|---|
| Dirección, Dirección de acento, Serie 2 › Dirección y todos los demás campos de dirección de la clase (una lista anidada se lee como su ruta) | apunta a address, que ya no existe |
Solo se leen los campos de dirección, y solo un valor que se analice como una dirección con raíz y al menos un segmento: un rótulo que contiene "Process.Press 1.Temperature" es texto, no una referencia, y nunca se informa. La misma dirección en el mismo campo es un solo hallazgo. Los sinópticos definidos en un modelo de Process se saltan: vinculan canales a través de un marcador de posición de unidad, y ninguna punta responde a esas direcciones hasta que una unidad abre el sinóptico.
Qué abre una fila
| Clase | Abre | Dónde aterriza |
|---|---|---|
| Componente | El panel de control en modo edición (/d/{dashboard}?edit=true&focus={component}) |
Con el componente seleccionado y sus propiedades a la vista, que es donde se reescribe la dirección. Editar exige el permiso Editar los paneles de control; sin él el panel de control se abre para verlo. |
| Vínculo de canal | El espacio de trabajo de Process (/process?focus={unit}&screen=channels) |
La pantalla Canales del modelo, con la fila de esa unidad elegida y todas las carpetas por encima desplegadas. |
| Enclavamiento, Automatización | El espacio de trabajo de Process (/process?focus={unit}&screen=automation) |
La pantalla Automatización del modelo, con la fila de esa unidad elegida. |
| Documentos de una acción | El espacio de trabajo de Process (/process?focus={action}&screen=action) |
La página propia de la acción en la columna. |
| Procedimiento | El espacio de trabajo de Process (/process?focus={procedure}&screen=procedure) |
La página propia del procedimiento en la columna. |
| Incidencia | El espacio de trabajo de Process (/process?focus={occurrence}&screen=occurrence) |
La página propia de la incidencia en la columna. |
| Variable de expresión, Acción, Alarma | La página Logic (/logic?focus={id}) |
La entidad seleccionada en su editor, con su sección del espacio de direcciones desplegada. |
Abrir lo deja a usted sobre el fallo; la página de destino aplica entonces sus propios permisos a la edición (Gestionar Process en las pantallas de Process, Configurar Logic en Logic). Una entidad que ya no resuelve cuando la página llega (eliminada entretanto) se ignora, y la página abre donde abriría normalmente.
La insignia de la barra
La entrada Validación de la barra lleva una píldora de precaución con el número de elementos por reparar, "99+" a partir de noventa y nueve, y ninguna píldora mientras la configuración está limpia. El recuento es el del propio validador, mantenido al día en segundo plano por el mismo análisis que sigue la página, así que se mueve mientras usted edita en cualquier página, sin que esta esté abierta.
Qué no hace nunca la página
- No repara nada: ni revincula, ni elimina, ni renombra. Cada fila es un "abrir"; no hay otra acción en una fila, y no hay ninguna acción en lote.
- Nunca juzga el runtime: un dispositivo que no se comunica es la salud de la barra de estado, no un hallazgo de aquí. Una referencia a un tag que existe pero lee mala calidad resuelve.
- Nunca informa de una automatización deshabilitada, de un sinóptico definido en un modelo, de texto libre que parece una dirección, de una variable de memoria ni de una segunda observación o posterior del mismo comando de acción (el recuento dice cuántas más esperan en esa página).
- Nunca lee una incidencia que ningún procedimiento arma, y nunca lista dos veces la misma incidencia armada por muchos procedimientos que la armen: una condición es una reparación.
- Nunca analiza mientras Connector está a mitad de transición; espera y mide una sola vez.
- Es la misma lista en todas las pantallas, tanto en la ventana de la estación como en un navegador, y la misma para toda identidad que pueda abrirla: el permiso controla la página, no sus filas.
- Mientras el runtime está detenido la página cede el sitio al aviso de pausa como cualquier página; la insignia conserva su último recuento.