El espacio de direcciones de la unidad

Todos los puntos que publica una unidad en Process.Model.Unit, su tipo y su significado, qué puntos son comandos escribibles, y qué puede leer de ahí un script de Logic.

Ver como Markdown

Toda unidad publica sus datos de corrida como direcciones comunes de Logic en Process.<Model>.<Unit>, así que los paneles de control, las expresiones de Logic, el servidor OPC UA embebido y el agente llegan a ellos sin ninguna tubería extra. La rama se recorre en la página Logic, en "De otras páginas" (Desde otras páginas) y en todo selector de dirección. Renombrar un modelo, una unidad, un canal, un campo de metadatos, una evaluación o un criterio reemplaza las direcciones correspondientes y reescribe las referencias textuales vivas; los archivos grabados conservan congelados los nombres de cuando se escribieron. Los segmentos son los nombres depurados: una unidad llamada "Unidad 1" del modelo "Cámara climática" se direcciona como Process.Cámara_climática.Unidad_1.

Rama Qué expone Escribible
Channels.<Channel> El valor vinculado en vivo de cada canal, tipado como lo declara el canal. Un canal escribible (papel Solo escritura o Lectura y escritura) es un punto escribible por el punto único de escritura; una fuente que tiene una corrida rechaza a cualquier otro escritor.
Procedure.<point> El estado de la corrida, un escalar por punto (tabla más abajo). No.
Commands.<command> Start, Hold, Resume, Stop, Abort y Comment. Sí: escribir despacha (tabla más abajo).
Next.<point> El área de preparación que consume el siguiente Arranque. Solo los campos de metadatos manuales.
LastRun.<point> El registro de la última corrida que la unidad terminó (LastRun). No.
Productivity.Today.<branch> y Productivity.Rolling.<branch> La proyección de productividad de la unidad para cada periodo. No.

Canales

Un punto de canal lee el valor que hay detrás del vínculo de la unidad, proyectado al tipo de datos del canal, y se lee como un hueco cuando el canal no está vinculado o su fuente no está disponible. En un script de Logic el punto es una proyección tipada de solo lectura del tag o la variable vinculados, nunca el tag mismo: Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited, ValueRounded, las conversiones ValueToBool(), ValueToInteger(), ValueToReal(), ValueToString() y ValueToDateTime(), la calidad State(), las marcas SourceTimeStamp() y ApplicationTimeStamp(), Refresh(), Name y EngineeringUnit. Los miembros de la cadena de conversión responden para un vínculo a un tag; un vínculo a una variable responde el valor y la marca de la aplicación.

Procedure

Todo punto se calcula a partir de la corrida en vivo y se lee con calidad buena; un punto que no tiene nada que decir se lee como un hueco.

Punto Tipo Significado
Status Texto Preparing mientras la unidad está reservada y todavía no existe ninguna corrida, Idle mientras nada la posee, y si no el estado de la corrida: Running, Held, Saving, Completed, Aborted, Failed.
Running Booleano Estrictamente el estado En marcha; nunca verdadero para la preparación, En pausa, Guardando ni la finalización.
Busy Booleano El tramo ocupado entero: la reserva, En marcha, En pausa, Guardando y el cierre final del archivo de la corrida.
Verdict Texto Ok, Nok, Indeterminate o None, escritos exactamente así, sin importar la palabra que muestren la interfaz o una etiqueta impresa: una comparación se escribe Process.<Model>.<Unit>.Procedure.Verdict == "Nok". La evidencia juzgada se sigue leyendo después de que la corrida termina, hasta que arranca la siguiente.
Mode Texto El modo de la corrida activa, Instant, Temporal o Controlled; un comando suelto (instantánea, evaluar ahora) también informa. Hueco cuando está en reposo.
ActiveProcedure Texto El nombre de la corrida activa ("Procedimiento · Unidad"). Hueco cuando está en reposo.
SegmentIndex Entero El segmento actual del perfil temporizado, de base cero. Hueco sin perfil.
CycleIndex Entero El ciclo actual, de base cero. Hueco cuando está en reposo.
CycleCount Entero El total de ciclos de la corrida (1 para una sola pasada). Hueco cuando está en reposo.
Cycle Texto "2 / 10" para una corrida cíclica; un hueco cuando la corrida no es cíclica, para que una lectura vinculada muestre la marca de hueco en vez de una sola pasada engañosa.
FailedCycles Entero Los ciclos juzgados No conformes hasta ahora. Hueco cuando la corrida no es cíclica.
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid Entero Los contadores de evidencia de la evaluación, actualizados de forma atómica por el motor de evaluación. Hueco sin evidencia juzgada.
Elapsed Número decimal Segundos desde que arrancó la corrida. Hueco cuando está en reposo.
StartedAt Fecha y hora Cuándo arrancó la corrida activa. Hueco cuando está en reposo.
Metadata.<Field> Texto Un punto por campo de metadatos del modelo: el valor que la corrida en curso congeló en el Arranque. Hueco cuando está en reposo y para un campo que esa corrida no pide; un campo dejado en blanco se lee como texto vacío. Es lo que una acción disparada en el Arranque lee de la corrida que empieza, ya que Next.<Field> muestra la siguiente.

Commands

Leer un punto de comando responde "¿esto se puede ejecutar ahora?", así que un Botón vinculado se desactiva solo; escribirlo despacha el comando por la consola de corridas, con la fuente de la superficie que escribe registrada en el diario y con la identidad de quien lo presionó. Un comando es una llamada de servicio, nunca la escritura de un punto en cola.

Punto Se lee verdadero cuando Al escribirlo
Start La unidad no está ocupada, el runtime acepta operaciones, el enclavamiento está Normal y hay un procedimiento preparado. Arranca el procedimiento preparado con los metadatos preparados.
Hold Una corrida está En marcha y su procedimiento es Temporizado. Congela la ventana.
Resume Una corrida está En pausa y el enclavamiento está Normal. Suelta la pausa.
Stop Una corrida está En marcha. Termina la corrida como Completada.
Abort Una corrida está En marcha o En pausa. Termina la corrida como Abortada.
Comment Nunca: el punto no tiene lectura. Anexa el texto escrito como comentario a la corrida activa, o como nota posterior a la corrida en la última corrida terminada de la unidad cuando está en reposo. Una unidad sin ninguna corrida lo rechaza ("La unidad no tiene ninguna corrida que comentar."), y el texto vacío también.

Todo comando se lee falso mientras la estación rechaza escrituras (el runtime detenido).

Next

Punto Tipo Significado
Next.Procedure Texto El nombre del procedimiento preparado. Aquí es de solo lectura: preparar se hace en la tarjeta Corrida del panel de unidad.
Next.<Field> Texto Un punto por campo de metadatos que pide el procedimiento preparado; la rama se rehace cuando la unidad se vuelve a preparar, y un campo de otro procedimiento se lee como un hueco. Un campo manual (de texto o numérico) es un punto de preparación escribible, que es lo que escribe un componente Entrada vinculado a él. Un campo secuencial es una predicción de solo lectura del identificador que compondría el contador ahora; leerlo nunca lo reserva.

Preparar es de toda la estación, en memoria y transitorio: se restablece cuando la aplicación arranca y el Arranque lo consume, no lo limpia.

Productivity

Dos periodos, Today (desde la medianoche local) y Rolling (la ventana declarada en el modelo o en la unidad), cada uno con tres ramas (Productividad):

Rama Puntos Tipo
Summary ProductivityPercent, YieldPercent, TypicalElapsedSeconds Número decimal; un hueco hasta que exista el denominador.
Summary Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed Conteos enteros.
Outputs.<key> Quantity, RatePerHour Número decimal; una clave por cantidad con nombre, o por procedimiento productivo cuando el modelo no declara ninguna cantidad.
Procedures.<key> Quantity, RatePerHour y los puntos de resumen de arriba Como arriba, por procedimiento productivo.

Las claves se derivan del identificador estable y de la unidad de salida congelada, no del nombre visible, así que un cambio de nombre nunca mueve una expresión. Todo punto es de solo lectura, y la proyección se lee del índice de históricos, nunca de los archivos de corrida.

LastRun

El registro de la última corrida que la unidad terminó: cuál fue, cómo terminó, qué ingresó el operador en el Arranque y cómo salió cada criterio. Es lo que lee una acción de Logic disparada en la Finalización (Acciones), y cualquier otro consumidor lo lee igual: una pantalla que muestra la última pieza, una alarma, los servidores de la estación. Cuenta toda corrida grabada de la unidad, también una fallida y una Instantánea o un Evaluar ahora; una corrida importada nunca cuenta.

Punto Tipo Significado
RunId Texto El identificador de la corrida.
Procedure Texto El nombre del procedimiento como lo grabó la corrida.
Status Texto Completed, Aborted o Failed, escritos exactamente así.
Verdict Texto Ok, Nok, Indeterminate o None, escritos como en Procedure.Verdict; una corrida fallida se lee None.
StartedAt, FinishedAt Fecha y hora Cuándo arrancó la corrida y cuándo terminó.
Elapsed Número decimal Segundos desde el arranque hasta el final.
CycleCount Entero Los ciclos de la corrida (1 en una pasada única).
FailedCycles Entero Los ciclos juzgados No conformes.
Metadata.<Field> Texto Un punto por campo de metadatos del modelo: el valor que la corrida congeló en el Arranque. Un campo que la corrida no pidió se lee como hueco; un campo dejado en blanco se lee como texto vacío.
Evaluations.<Evaluation>.<Criterion>.<point> Como abajo Una carpeta por evaluación del modelo y, debajo, una por criterio, con el nombre del criterio, o con el de su canal cuando no tiene.

Cada criterio lleva un resultado, plegado sobre todos los ciclos en que se juzgó, así que la dirección es la misma para una pasada única y para una corrida de cien ciclos:

Punto Tipo Significado
Outcome Texto Ok, Nok o Indeterminate, escritos exactamente así: un ciclo No conforme da Nok; si no, un ciclo Indeterminado da Indeterminate; si no, Ok.
Passed Booleano Verdadero solo cuando Outcome es Ok.
Value Número decimal El valor medido del canal vigilado: la última muestra evaluada de la ventana, en modo Un punto la juzgada, del ciclo más reciente que midió uno.
MinValue, MaxValue Número decimal El menor y el mayor valor evaluado, sobre todos los ciclos.
Limits Texto Los límites como se grabaron, como 5 .. 45.
WorstExcursion Número decimal La mayor distancia más allá de un límite, sobre todos los ciclos.
FailedCycles Entero Los ciclos que juzgaron este criterio No conforme.

La rama tiene la forma del modelo, nunca la forma de la última corrida: cada campo de metadatos del catálogo y cada criterio de cada evaluación es un punto, así que un script que nombra uno pasa la validación antes de cualquier corrida, y después de una corrida de un procedimiento que juzgó por otra evaluación.

Situación Qué leen los puntos
Ninguna corrida de la unidad ha terminado todavía Un hueco con mala calidad, en cada punto.
Una corrida termina El registro nuevo, ya en su lugar antes de que el Procedure.Status de la unidad diga que la corrida terminó.
Otra corrida de la unidad está en curso El registro anterior, hasta que esa corrida termine.
La aplicación vuelve a arrancar La última corrida terminada de la unidad, releída de su archivo poco después del arranque; un hueco hasta que se lee.
Un criterio que la última corrida no juzgó (de otra evaluación, o agregado después) Un hueco en cada punto.
Dos evaluaciones, o dos criterios, cuyos nombres se leen igual Nada: la dirección no se resuelve en ninguno de los dos, y la página de la evaluación lo dice (Evaluaciones).

Renombrar un campo de metadatos, una evaluación, un criterio o el canal de un criterio sin nombre mueve estas direcciones como cualquier otro renombrado de esta página.

Qué puede hacer un script

Los scripts de variable, de alarma y de acción de Logic pueden leer todo lo de aquí: valores de canal, estado de la corrida, disponibilidad de un comando, valores preparados, la última corrida y puntos de productividad. No pueden despachar un comando, escribir un campo de preparación ni anexar un comentario; esas escrituras pertenecen a los consumidores explícitos de comandos: los paneles de operación, los Botones y las Entradas de un panel de control, la automatización de la unidad y las herramientas del agente.

Un punto de canal se lee como la proyección tipada de Canales; cualquier otro punto de aquí se lee como su valor simple, sin .Value detrás, a diferencia de una variable:

if (Process.Oven_soak.Oven_1.LastRun.Verdict === "Ok") {
  Variables.Last_serial = Process.Oven_soak.Oven_1.LastRun.Metadata.Serial;
}