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.
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 "Desde otras páginas" (Desde otras páginas) y en todo selector de
dirección. Renombrar un modelo, una unidad, un canal o un campo de metadatos 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.Camara_climatica.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. |
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. 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 NOK 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. |
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 o con el componente selector de Procedimiento. |
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.
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 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, las Entradas y el selector de Procedimiento de un panel de control, la automatización de la unidad y las herramientas del agente.