Validación

La página de salud de la configuración: qué analiza la estación en los procedimientos, en la lógica, en los paneles de control y en las listas de sus servidores y brókeres, 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.

Ver como Markdown

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 expresión, un script o una condición de Logic escritos de una forma que su editor rechaza, 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.

También lista una fila de una lista por la que la estación entrega sus datos (la lista del servidor OPC UA, el mapa de registros del servidor Modbus o la lista de publicación de un bróker MQTT) cuya fuente se eliminó: una fila así sigue en su lista y no sirve ni publica nada.

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 Cada referencia de los procedimientos, la lógica, los paneles de control y lo que la estación sirve y publica resuelve, cada procedimiento arrancaría, y cada acción tiene lo que necesita 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 (informació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.

También lee las tres listas por las que la estación entrega sus datos: una fila añadida, editada o eliminada en el servidor OPC UA, en el servidor Modbus o en la tarjeta Publicar de un bróker vuelve a analizar del mismo modo, y lo mismo hace la eliminación del tag, la variable, la alarma o el comando que nombra una fila.

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, o escritos de una forma que su editor rechaza.
Paneles de control Componentes N elementos. Componentes cuyas propiedades apuntan a una dirección que ya no resuelve. Se dibujan, pero no leen nada.
Connector Filas de la lista del servidor OPC UA, del mapa de registros del servidor Modbus y de las listas de publicación de los brókeres MQTT N elementos. Filas de la lista del servidor OPC UA, del mapa de registros del servidor Modbus y de las listas de publicación de los brókeres MQTT cuya fuente se eliminó. Siguen en su lista, pero no sirven ni publican 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 informació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.").
  • Para una fila de una lista de servidor, el glifo es la marca que dibuja el árbol de Connector para lo que contiene la lista (el servidor OPC UA, el servidor Modbus, el bróker MQTT), y el clic aterriza donde termina la información emergente ("Abrir la fila en el servidor OPC UA.", "Abrir la fila en el servidor Modbus.", "Abrir la fila en la página del bróker MQTT.").

Todos los hallazgos que puede producir el análisis

La redacción de abajo es la de la propia página. Un vínculo de canal guarda la clave de su fuente, así que su fila nombra la clave que ya no se resuelve; un enclavamiento, una fuente de automatización y un retorno guardan una identidad que el operador nunca lee, así que sus filas dicen que el tag o la variable se eliminó en lugar de imprimirla.

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 el Tag al que estaba fijado se eliminó.
Tag un tag DateTime no se puede convertir a booleano. (también los tags Guid y ByteString)
Variable la Variable a la que estaba fijada se eliminó.
Variable una variable de tipo fecha y hora no se puede convertir a booleano. (también imagen, icono y valor de 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 de opciones un hallazgo de fuente (más abajo), para una fuente entera
Código de selector n selecciona un Procedimiento que se eliminó.
Fuente del comando Arrancar, Fuente del comando Detener, 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 “Lista”, Retorno “Activa”, Retorno “Código seleccionado”, Retorno “Resultado del comando” el Tag en el que escribe se eliminó. / el Tag en el que escribe no es escribible. / requiere un Tag booleano. (Lista, Activa) / requiere un Tag entero. (Código seleccionado, Resultado del comando)

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ó.", "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ó.", "una variable de tipo 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.

Campo Redacción
Composición Una evaluación juzga sobre filas registradas. Este procedimiento lleva una, pero no tiene datalog.
Composición La incidencia 'nombre' vigila muestras registradas. Este procedimiento la arma, pero no tiene datalog.
Composición No hay nada que ejecutar: este procedimiento no referencia ni datalog ni receta.
Composición El modo instantáneo necesita una receta instantánea (o ninguna). Un perfil temporizado no tiene un único instante.
Composición El modo controlado necesita una receta instantánea (o ninguna). Las consignas se aplican al arrancar y el estado seguro al parar.
Composición El modo temporizado necesita una duración. Fije una.
Composición El modo temporizado necesita una receta temporizada (o ninguna). Un conjunto instantáneo no tiene línea de tiempo.
Composición El perfil de la receta (N ms) es más largo que la ventana temporizada (M ms).
Composición La incidencia 'nombre' vigila 'Channels.canal', que el datalog de este procedimiento no registra.
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
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 booleano, 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 (Arranque), Comando n · Informe (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 ha borrado o eliminado; las correspondencias 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.
  • No se pueden leer los marcadores de la plantilla: error
  • {{marker}} necesita una fuente. / {{marker}} está asignado más de una vez.
  • {{marker}}: elija una fuente / esta fuente no está disponible en 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, contando desde 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 ha eliminado de la plantilla actual; quite su correspondencia 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. Cuando toda dirección de un texto resuelve, el texto también se juzga como lo juzga su editor, y un texto que el editor rechaza es una fila, con el propio mensaje del editor como redacción: una alarma guardada como !Variables.Start dice "'Variables.Start' es el punto en sí, no su valor: como condición siempre cuenta como verdadero. Lea su valor con Variables.Start.ValueToBool()." El juicio deja fuera la evaluación de prueba del editor sobre los valores actuales, así que una fila nunca aparece y desaparece con una lectura, y un texto vacío no se lista: es una definición aún no escrita.

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
Variable de expresión Expresión el mensaje con que su editor rechaza el texto (Lo que la validación rechaza)
Acción Script el mensaje con que su editor rechaza el texto (Lo que la validación rechaza)
Alarma Condición el mensaje con que su editor rechaza el texto (Lo que la validación rechaza)

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, Punto de color, Serie 2 › Dirección y todos los demás campos de dirección de la clase, cada uno con la etiqueta que le da el panel de propiedades del editor (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.

Connector

Una fila de la lista del servidor OPC UA, del mapa de registros del servidor Modbus o de la lista de publicación de un bróker MQTT guarda su fuente (un tag, una variable, una alarma y, en el servidor OPC UA, también un comando de un dispositivo) por su identidad: un cambio de nombre nunca la rompe, y una eliminación deja la fila en pie, nombrando lo que perdió. Esa fila aparece aquí, la misma que su propia tabla muestra como ausente. Una fuente que la estación todavía tiene y no ofrece (un tag deshabilitado, un tag de un dispositivo deshabilitado, una variable de un tipo que ningún registro lleva) no aparece: los propios campos de la fila dicen qué la deja fuera. La fila guarda una identidad que el operador nunca lee, así que dice qué clase de fuente desapareció en lugar de mostrarla.

Tipo Nombre Ubicación Campo Redacción
Nodo servido Tag ausente, Variable ausente, Alarma ausente o Comando ausente Servidor OPC UA Fuente el Tag servido se eliminó. / la Variable servida se eliminó. / la Alarma servida se eliminó. / el Comando servido se eliminó.
Fila del mapa de registros el lugar de la fila tal como lo lee el mapa (su clase de registro y su registro) Servidor Modbus Fuente el Tag servido se eliminó. / la Variable servida se eliminó. / la Alarma servida se eliminó.
Tópico publicado el tópico de la fila el nombre del bróker Fuente el Tag publicado se eliminó. / la Variable publicada se eliminó. / la Alarma publicada se eliminó.

La página no elimina ni cambia nada, y cada servidor sigue haciendo con la fila lo que hacía: el servidor OPC UA no sirve nada por ella, el servidor Modbus responde con la excepción 04 a un cliente que lee sus registros, y el bróker conserva el último mensaje que retuvo en el tópico. La reparación se hace en la tarjeta de la fila: se elige otra fuente o se elimina la fila.

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.
Nodo servido, Fila del mapa de registros, Tópico publicado El Connector (/connector?focus={row}) El servidor OPC UA, el servidor Modbus o el bróker seleccionado en el árbol, con la fila seleccionada en su tarjeta Nodos servidos, Mapa de registros o Publicar y sus campos abiertos bajo la tabla, donde se elige otra fuente o se elimina la fila.

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, Configurar Connector en el Connector). 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. Abrir esta página y volver a analizar en ella también actualizan el recuento, así que la píldora nunca muestra un número distinto del de la lista.

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.
  • Nunca elimina una fila de una lista de servidor ni cambia lo que un servidor hace con ella, y nunca lista una fuente que la estación todavía tiene pero no ofrece (un tag deshabilitado, una variable de un tipo que ningún registro lleva): eso lo dice la propia tarjeta de la fila.