Las herramientas, área por área

Qué hace cada herramienta que un agente puede llamar, agrupadas por el interruptor de capacidad que las anuncia.

Ver como Markdown

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.

Connector, configuración

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.

Logic, configuración

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.

Process, configuración

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.

Paneles de control, configuración

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.