Las herramientas, área por área
Qué hace cada herramienta que un agente puede llamar, agrupadas por el interruptor de capacidad que las anuncia.
Los nombres de las herramientas son identificadores estables en snake_case. Los errores son
estructurados y accionables: una llamada fallida devuelve qué salió mal más una pista que
nombra la herramienta o el paso que lo arregla, para que un agente se corrija solo en lugar
de adivinar. Cuando el área Copias de seguridad (administración) está encendida, el servidor
además les indica a los agentes que creen una copia de seguridad de la configuración antes
de hacer cambios de configuración. Cuál de estas listas ve realmente un agente es
lo que abre cada área.
Connector, lectura
| Herramienta |
Qué hace |
connector_browse |
Lista el árbol configurado con el estado de salud en vivo: Modbus RTU como driver, línea serie, dispositivo y tag; todos los demás drivers como driver, dispositivo y tag, con la carpeta de cada dispositivo al lado. Revela los alias de tag (Driver.Carpetas….Dispositivo.Tag) que usan tag_read, tag_write y las expresiones de Logic. Los alias son nulos mientras el servidor integrado está detenido. |
tag_read |
Lee los valores en vivo de un tag por su alias: el valor crudo a nivel de dispositivo, el valor de ingeniería después de la cadena de conversión, la calidad y las dos marcas de tiempo. |
| Herramienta |
Qué hace |
driver_capabilities |
Lista todos los drivers que la aplicación puede servir, con los campos de conexión que necesita un dispositivo, el modelo de direccionamiento de tags (dirección de texto libre y campos tipados), el soporte y los parámetros de descubrimiento, los rangos de tiempos y los tipos de valor admitidos. El mapa que lee un agente antes de device_upsert o tag_upsert. |
serial_line_list |
Lista todas las líneas serie Modbus RTU guardadas, incluidas las desactivadas y las vacías, con su id estable y sus valores de tiempo configurado, automático y efectivo. |
serial_line_upsert |
Crea una línea Modbus RTU o actualiza una por su id estable. El nombre y el estado de activación cambian en cualquier momento; el intervalo mínimo entre transacciones cambia también mientras está activada; el puerto serie, la velocidad, el formato serie y el tiempo de espera de respuesta cambian solo mientras la línea guardada está desactivada. |
serial_line_delete |
Elimina una línea por su id estable. Una línea que todavía contiene dispositivos se rechaza salvo que la llamada autorice explícitamente eliminar todos los dispositivos y tags hijos. |
device_upsert |
Crea o actualiza un dispositivo por driver más nombre (el driver es inmutable después de crearlo). Solo cambian los parámetros entregados; los campos de conexión son por driver; mover un dispositivo a una carpeta reescribe todas las referencias a las direcciones anteriores de sus tags. El cambio se concilia de inmediato dentro del servidor en marcha. |
device_delete |
Elimina un dispositivo y todos sus tags; se concilia de inmediato dentro del servidor en marcha. |
tag_upsert |
Crea o actualiza un tag en un dispositivo. El direccionamiento es propio de cada driver (dirección de texto libre y campos tipados); la respuesta repite la dirección de bus armada y el alias para tag_read. Incluye las etapas de lectura no válida (la acción de NaN y la presentación de una lectura fallida) para los tags numéricos. |
tag_delete |
Elimina un tag; se concilia de inmediato. |
Logic, lectura
| Herramienta |
Qué hace |
logic_browse |
Explora el espacio de direcciones de Logic con raíz, el mismo árbol de puntos que lee cada expresión: System, Server, Connector, Variables, Alarms, Process y Assets. Las carpetas del operador son niveles de dirección de verdad; los puntos hijos incluyen su valor en vivo y su calidad. |
logic_read |
Lee un punto por su dirección con puntos (por ejemplo Variables.Setpoint) y devuelve el valor en vivo y la calidad. |
Las altas y modificaciones son parciales (los parámetros omitidos conservan su valor) y cada
borrador combinado pasa la misma validación que aplican los editores de Logic; un
borrador no válido se rechaza y nada queda aplicado a medias.
| Herramienta |
Qué hace |
variable_upsert |
Crea o actualiza una variable: de expresión (una sola expresión JavaScript de solo lectura sobre el espacio de direcciones) o de memoria (un valor escribible, opcionalmente retentivo). El nombre es la clave y, higienizado, la dirección; el parámetro de carpeta la archiva, y reescribe todas las referencias a la dirección anterior. |
variable_delete |
Elimina una variable por su ruta, con su valor retenido incluido. Los canales vinculados a ella pierden su fuente. |
action_upsert |
Crea o actualiza una acción: un bloque de sentencias JavaScript con exactamente dos verbos de escritura, la asignación a una variable de memoria y la escritura de ingeniería a un tag. Se valida de forma estática y nunca se ejecuta al guardar. |
action_delete |
Elimina una acción por su nombre. Los disparadores vinculados a ella quedan inactivos. |
trigger_upsert |
Crea o actualiza un disparador por intervalo: cada intervalMs (mínimo 100) la acción vinculada se lanza en la cola de la lógica; un tick durante una ejecución pendiente se omite. El vínculo con la acción es flojo y por nombre. |
trigger_delete |
Elimina un disparador; la acción vinculada no se toca. |
alarm_upsert |
Crea o actualiza una alarma: una expresión de condición booleana, la prioridad (Crítica, Alta, Media o Baja), los retardos a la activación y a la desactivación, si se exige el reconocimiento, y el estilo del anuncio. Guardar una condición o unos tiempos cambiados reinicia la máquina de estados en marcha. |
alarm_delete |
Elimina una alarma por su ruta; un anuncio activo se limpia primero. |
logic_folder_upsert |
Crea, renombra o vuelve a archivar una carpeta organizadora de una sección (Variables, Alarmas, Acciones, Disparadores; tres niveles como máximo). Para Variables y Alarmas, la ruta de la carpeta es parte de la dirección, así que los cambios de nombre y los movimientos reescriben todas las expresiones, los scripts, las condiciones y los vínculos de panel de control que haya debajo. |
logic_folder_delete |
Elimina una carpeta. Nada de lo que contenía se destruye: los elementos y las subcarpetas se vuelven a archivar un nivel arriba y las referencias se reescriben; un choque de nombre en el destino rechaza la eliminación. |
Logic, operación
Todas estas viajan en la única cola de la lógica y se registran con el origen MCP.
| Herramienta |
Qué hace |
variable_write |
Escribe un valor en una variable de memoria (forzado a su tipo de salida, y retenido cuando es retentiva). Las variables de expresión se calculan y rechazan las escrituras. |
tag_write |
Escribe un valor de ingeniería en un tag escribible: se deshace por la cadena de conversión del tag, se fuerza al tipo del dispositivo y se escribe en el equipo. Los tags de solo lectura y los drivers de solo lectura se rechazan con el motivo. |
action_run |
Ejecuta una acción en la cola de la lógica y devuelve su resultado y su duración. Una acción desactivada falla sin ejecutarse. |
alarm_ack |
Reconoce una alarma, la respuesta del operador; no hace nada cuando no hay nada pendiente. |
alarm_ack_all |
Reconoce todas las alarmas que esperan una respuesta, como un solo elemento de la cola de la lógica y con cada transición registrada. |
Servidor, lectura
| Herramienta |
Qué hace |
server_status |
Reporta el estado de salud del servidor OPC UA integrado: si está en marcha, su tiempo de actividad, la URL del punto de conexión, las sesiones de cliente conectadas y el tamaño del espacio de direcciones configurado. |
Servidor, operación
| Herramienta |
Qué hace |
server_start |
Arranca el servidor OPC UA integrado y materializa la configuración actual. No hace nada cuando ya está en marcha. |
server_stop |
Detiene el servidor con orden. La comunicación con los dispositivos, las lecturas de tags y el espacio de direcciones en vivo de Logic se detienen hasta que arranque de nuevo. |
server_restart |
Detener y luego arrancar, volviendo a materializar la configuración; la recarga completa después de un lote de cambios. |
connector_refresh |
Concilia de forma incremental el servidor en marcha con los dispositivos configurados (agrega, quita, vuelve a crear) sin un reinicio completo; la manera más ligera de aplicar los cambios. |
device_discover |
Corre el escaneo de descubrimiento de dispositivos de un driver y devuelve los candidatos con sus tags, sin guardar nada. Solo participan los drivers cuyo protocolo admite un escaneo de verdad; los candidatos que ya existen se marcan como tales. |
Diario técnico, lectura
| Herramienta |
Qué hace |
logs_read |
Lee el flujo de registro en vivo de todo el programa (el mismo de la consola de Eventos), filtrado por gravedad mínima (Debug, Information, Warning o Error; Information al inicio), por área (App, Server, Connector, Logic, Process, Dashboard, Agent o Licensing), por componente y por un fragmento de texto contextual; devuelve las coincidencias más nuevas (100 al inicio, 500 como máximo). Las acciones de agente se registran bajo el área Agent. |
event_history_read |
Lee la cronología permanente de eventos de operación, que sobrevive a los reinicios: las transiciones de alarma, las de ocurrencia y las de enclavamiento. Se filtra por clase (Alarm, Occurrence o Interlock), por un periodo UTC inclusivo y por un nivel (la prioridad de la alarma, la gravedad de la ocurrencia o la transición del enclavamiento); las más nuevas primero, 100 al inicio y 500 como máximo. Estrictamente de solo lectura: nada puede limpiar ni eliminar entradas del registro. |
Process, lectura
| Herramienta |
Qué hace |
process_models |
Lista completos los modelos de Process: los canales, los grupos compartidos, las unidades con su cableado resuelto y su estado de marcha, los procedimientos, los paneles, las recetas, las evaluaciones y las ocurrencias, más la biblioteca global de plantillas de reporte. El mapa que lee un agente antes de arrancar cualquier cosa. |
process_runs |
Lista las corridas, de la más reciente a la más antigua: id, nombre, estado, veredicto, qué corrió, quién la arrancó (Estación, Usuario, Automatización o Agente), tiempos y avance de ciclos. Se puede restringir a las corridas activas y acotar (50 al inicio). |
process_run |
Lee el registro congelado completo de una corrida por su id: la instantánea, los metadatos, los criterios juzgados con sus conteos de muestras, los episodios y los eventos de ocurrencia, las escrituras de receta tal como se ejecutaron, los comentarios, y los artefactos congelados de reporte y de etiqueta con sus intentos de impresión. Opcionalmente calcula el conteo de filas y el rango de tiempo del datalog. |
unit_status |
Reporta el estado en vivo de una unidad: si está en marcha (con la corrida activa) y el valor de ingeniería actual detrás de cada canal, leído sin registrar nada. |
| Herramienta |
Qué hace |
process_view_configure |
Configura exactamente un panel de un modelo: el icono que se dibuja a su lado y si aparece en la página View. Nada más del agregado de Process se puede escribir por MCP; el resto se edita en la página Process. |
Process, operación
Las corridas que un agente arranca, termina o comenta registran a Agente como el actor,
nunca al operador que resulte estar con la sesión iniciada en el banco de pruebas.
| Herramienta |
Qué hace |
process_snapshot |
Captura una fila de datalog en una unidad, fuera de un procedimiento. Cada llamada crea una corrida instantánea nueva y ya completada en Históricos, sin ninguna evaluación (veredicto None). |
process_evaluate |
Captura una fila de datalog y la juzga con una evaluación; crea una corrida instantánea completada y devuelve su veredicto. |
process_recipe_apply |
Aplica una receta instantánea una vez a una unidad, a través del punto único de escritura de Process y de sus bloqueos de fuente. Manda al equipo; no crea ninguna corrida (las escrituras sí se registran). Las recetas temporizadas se rechazan. |
process_start |
Arranca una corrida de procedimiento en una unidad, con un objeto JSON para los campos de metadatos del procedimiento. Unos metadatos obligatorios ausentes o no válidos, una unidad que ya está en marcha, o un conflicto de bloqueo de canal compartido rechazan el arranque. Devuelve el id de la corrida nueva. |
process_stop |
Detiene una corrida en marcha: el bloque de finalización, la instantánea congelada del histórico y el veredicto calculado. |
process_hold |
Pausa el perfil temporizado de una corrida en la última consigna; el datalog sigue registrando. |
process_resume |
Reanuda el perfil temporizado de una corrida en pausa. |
process_abort |
Aborta una corrida desde En marcha o En pausa: se ejecuta la finalización, se escribe la instantánea, el estado pasa a Abortada y el veredicto a NOK. |
process_comment |
Agrega un comentario con marca de tiempo al archivo de una corrida: una nota de cronología mientras está activa, y una nota posterior después. |
process_report |
Genera (o vuelve a generar) el reporte en PDF de una corrida terminada y devuelve su ruta de archivo. Una plantilla nombrada de la biblioteca global invalida la que el procedimiento tenga configurada; sin ninguna de las dos, se aplica el diseño predeterminado con todas las secciones. Se rechaza mientras la corrida está activa. |
process_run_delete |
Elimina de forma permanente una corrida grabada: su apuntador en el índice del histórico y el archivo de base de datos de esa corrida. Se rechaza mientras está activa; la configuración no se toca. |
| Herramienta |
Qué hace |
dashboard_list |
Lista los paneles de control (o, al nombrar un modelo, los sinópticos de ese modelo): el tamaño de la cuadrícula, la carpeta, el icono, la marca de arranque, la visibilidad por rol y todos los componentes con su posición, su capa y su JSON de propiedades, más todas las redes de conexión guardadas. Devuelve además el catálogo de clases de componente, con el tamaño inicial y el juego de propiedades inicial de cada clase. |
dashboard_upsert |
Crea o actualiza un panel de control por su nombre: el tamaño de la cuadrícula (una reducción que dejaría huérfano a un componente se rechaza), la carpeta y el icono de la lista de Visualización, la marca de arranque, la visibilidad de la barra de estado a pantalla completa, y la visibilidad por rol. Al nombrar un modelo se direccionan los sinópticos de ese modelo. Las páginas de panel de control abiertas reflejan el cambio en vivo. |
dashboard_delete |
Elimina un panel de control y sus componentes por su nombre; al nombrar un modelo se elimina el sinóptico de ese modelo. |
component_upsert |
Agrega un componente por su clase (colocado en la primera celda libre con el tamaño inicial de la clase, salvo que se indique otra cosa) o actualiza uno por su id. La colocación tiene que caer dentro de la cuadrícula; el traslape se permite y la capa z decide el orden de dibujo; el JSON de propiedades es el juego tipado de esa clase. Al nombrar un modelo se direccionan los sinópticos de ese modelo, así que un sinóptico creado ahí se puede acomodar aquí. |
component_delete |
Quita un componente por su id; al nombrar un modelo se direccionan los sinópticos de ese modelo. |
connection_upsert |
Conecta dos bornes de símbolo con una red de conexión tipada, resolviendo el tipo, el rol y la orientación desde el catálogo de símbolos exactamente como lo hace el editor del lienzo. Los extremos que resuelven a tipos distintos fallan salvo que se permita explícitamente una conexión sin definir; un anclaje que ya lleva una conexión se rechaza. Al nombrar un modelo se direccionan los sinópticos de ese modelo. |
connection_delete |
Quita una red de conexión por su id y la revisión esperada, para que una eliminación vieja se rechace en lugar de aplastar una edición más nueva; al nombrar un modelo se direccionan los sinópticos de ese modelo. |
Interfaz, automatización
Estas herramientas manejan la ventana real de la aplicación; existen para que un agente
pueda verificar la interfaz que ve el operador, no una simulación de ella. Las
interacciones se despachan al shell en vivo, así que la conducta prevista es seguir cada
gesto con ui_screenshot y observar el efecto, y las coincidencias ambiguas regresan como
listas de candidatos en lugar de como un clic adivinado.
| Herramienta |
Qué hace |
ui_state |
Reporta el estado del shell: la página activa, las páginas disponibles, el tema, el tamaño y la visibilidad de la ventana, y la dirección de loopback en la que esta instancia sirve su interfaz. La llamada de orientación antes que cualquier otra cosa. |
ui_navigate |
Activa una página del shell por su nombre estable, que está en inglés en toda estación: View, Process, Logic, Connector, Users, Validation, Events, Agent, Settings, Account. También se acepta el rótulo que la barra de navegación muestra en el idioma de la estación. |
ui_screenshot |
Captura la ventana tal como se muestra en pantalla dentro de un archivo PNG y devuelve su ruta absoluta; restaura primero la ventana cuando está escondida en el área de notificación. Puede capturar una región nombrada del sinóptico (un área data-doc-region única y visible) en lugar de la ventana entera, y una región ausente, escondida o ambigua falla con las regiones visibles listadas, en lugar de caer en silencio a una captura completa. |
ui_scroll |
Desplaza la región de desplazamiento principal de la página activa hasta arriba, hasta abajo o por páginas de ventana, y devuelve los desplazamientos para que se pueda barrer una página larga. |
ui_set_theme |
Aplica el tema (Sistema, Claro u Oscuro). Se guarda exactamente igual que con el menú de tema de la barra de título, así que un agente que se porta bien restaura el valor original al terminar. |
ui_resize |
Cambia el tamaño de la ventana restaurada en unidades independientes del dispositivo, recortado al mínimo de la ventana; útil para auditar las disposiciones compactas. |
ui_click |
Hace clic en el botón, el hipervínculo, la casilla o el conmutador visible cuyo texto coincida; las casillas y los conmutadores se encuentran por el rótulo de su campo y el resultado reporta el estado en el que aterrizó. Una ambigüedad devuelve los candidatos en lugar de elegir uno. |
ui_set_text |
Escribe un valor dentro de una caja de texto identificada por el rótulo de su campo, y confirma el vínculo igual que si se hubiera escrito a mano. |
ui_select |
Selecciona un elemento por su texto visible: una ruta separada por diagonales recorre un árbol y lo va desplegando; un solo segmento coincide además con elementos de lista, de pestaña, de desplegable y con filas de cuadrícula de la página actual. |
Copias de seguridad, administración
| Herramienta |
Qué hace |
backup_create |
Crea una instantánea en línea de la base de datos de configuración dentro de la carpeta de copias de seguridad, con una nota opcional. Las corridas grabadas viven fuera de la configuración y ni la copia ni la restauración las tocan nunca. |
backup_list |
Lista las copias de seguridad de la configuración (nombre de archivo, hora de creación, tamaño y nota) más cualquier restauración ya programada. |
A propósito no hay ninguna herramienta para eliminar copias de seguridad: la retención
es solo del operador, en la página Copias de seguridad.
Copias de seguridad, restauración
| Herramienta |
Qué hace |
backup_restore |
Programa una copia de seguridad para que reemplace la configuración actual en el siguiente arranque de la aplicación. Nada cambia en la aplicación en marcha y la herramienta nunca la reinicia; la configuración que se va a reemplazar se guarda antes en una instantánea automática, y el operador puede cancelar la restauración pendiente desde Ajustes hasta el reinicio. Se rechaza mientras hay una grabación activa. |
Ajustes, administración
| Herramienta |
Qué hace |
settings_read |
Lee las preferencias de presentación y de ciclo de vida de la estación: los formatos de fecha, de hora y de número, las posiciones decimales, el tema, y las marcas de cerrar al área de notificación y de reporte de falla. |
localization_set |
Actualiza las preferencias de presentación (parcial: los parámetros omitidos se quedan). Solo de presentación: el almacenamiento, la entrada y salida de los drivers y las grabaciones usan siempre el formato invariante. |
asset_list |
Lista los recursos del usuario (imágenes, iconos y colores) con sus ids, sus valores y sus rutas. |
asset_import |
Importa un PNG o un JPG desde una ruta de archivo local a la biblioteca de recursos que posee la aplicación y devuelve el id del recurso nuevo. Los bytes se copian, así que el archivo de origen se puede mover después. |
symbol_validate |
Valida contenido de símbolo en línea (SVG crudo o un paquete v2) sin guardar nada: un ensayo de la importación exacta, que devuelve los errores, las advertencias del higienizador y un resumen de lo que se reconoció. La descripción de la herramienta lleva el contrato completo del símbolo portable. |
symbol_import |
Importa contenido de símbolo en línea como un recurso de símbolo de usuario nuevo y devuelve su id y su referencia user:<guid>. Siempre crea un recurso nuevo; un nombre que choca recibe un sufijo automático. |