Gli strumenti, area per area
Che cosa fa ogni strumento che un agente può chiamare, raggruppato per l'interruttore di capacità che lo annuncia.
I nomi degli strumenti sono identificatori stabili in snake_case. Gli errori sono
strutturati e utilizzabili: una chiamata fallita restituisce che cosa è andato storto più un
suggerimento che nomina lo strumento o il passo che lo risolve, così un agente si corregge
da solo invece di tirare a indovinare. Quando l'area Backup (gestione) è attiva, il server
istruisce anche gli agenti a creare un backup della configurazione prima di modificarla.
Quale di questi elenchi un agente veda davvero è
che cosa apre ogni area.
Connector: lettura
| Strumento |
Che cosa fa |
connector_browse |
Elenca l'albero configurato con lo stato di salute in tempo reale: per Modbus RTU driver, linea seriale, dispositivo, tag; per ogni altro driver driver, dispositivo, tag con accanto la cartella di ciascun dispositivo. Rivela gli alias dei tag (Driver.Folders….Device.Tag) che usano tag_read, tag_write e le espressioni di Logic. Gli alias sono nulli mentre il server integrato è fermo. |
tag_read |
Legge i valori in tempo reale di un tag tramite l'alias: il valore grezzo a livello di dispositivo, il valore ingegneristico dopo la catena di conversione, la qualità e le due marche temporali. |
| Strumento |
Che cosa fa |
driver_capabilities |
Elenca ogni driver che l'applicazione può servire con i campi di connessione che un dispositivo richiede, il modello di indirizzamento dei tag (indirizzo a testo libero e/o campi tipizzati), il supporto al rilevamento e i suoi parametri, gli intervalli di temporizzazione e i tipi di valore supportati. È la mappa che un agente legge prima di device_upsert o tag_upsert. |
serial_line_list |
Elenca ogni linea seriale Modbus RTU salvata, comprese quelle disabilitate e vuote, con il suo id stabile e i valori di temporizzazione configurati, automatici ed effettivi. |
serial_line_upsert |
Crea una linea Modbus RTU o ne aggiorna una tramite l'id stabile. Nome e stato di abilitazione cambiano in qualsiasi momento; anche l'intervallo minimo tra le transazioni cambia mentre la linea è abilitata; porta seriale, velocità in baud, formato seriale e timeout di risposta cambiano solo mentre la linea salvata è disabilitata. |
serial_line_delete |
Elimina una linea tramite l'id stabile. Una linea che contiene ancora dispositivi viene rifiutata, a meno che la chiamata non autorizzi esplicitamente l'eliminazione di ogni dispositivo e tag figlio. |
device_upsert |
Crea o aggiorna un dispositivo per driver più nome (il driver è immutabile dopo la creazione). Cambiano solo i parametri forniti; i campi di connessione dipendono dal driver; spostare un dispositivo in una cartella riscrive ogni riferimento ai suoi vecchi indirizzi di tag. La modifica viene riconciliata subito nel server in esecuzione. |
device_delete |
Elimina un dispositivo e tutti i suoi tag; riconciliato subito nel server in esecuzione. |
tag_upsert |
Crea o aggiorna un tag su un dispositivo. L'indirizzamento dipende dal driver (indirizzo a testo libero e/o campi tipizzati); la risposta riporta l'indirizzo di bus assemblato e l'alias per tag_read. Comprende le fasi della lettura non valida (azione su NaN e presentazione dell'errore di lettura) per i tag numerici. |
tag_delete |
Elimina un tag; riconciliato subito. |
Logic: lettura
| Strumento |
Che cosa fa |
logic_browse |
Sfoglia lo spazio degli indirizzi di Logic a partire dalla radice, lo stesso albero a punti che legge ogni espressione: System, Server, Connector, Variables, Alarms, Process e Assets. Le cartelle create dall'operatore sono livelli reali dell'indirizzo; i punti figli portano il valore in tempo reale e la qualità. |
logic_read |
Legge un punto tramite il suo indirizzo a punti (per esempio Variables.Setpoint) e restituisce il valore in tempo reale e la qualità. |
Gli upsert sono parziali (i parametri omessi mantengono il loro valore) e ogni bozza
fusa supera la stessa convalida che applicano gli editor di Logic; una bozza non
valida viene respinta e nulla resta applicato a metà.
| Strumento |
Che cosa fa |
variable_upsert |
Crea o aggiorna una variabile: Expression (una singola espressione JavaScript di sola lettura sullo spazio degli indirizzi) o Memory (un valore scrivibile, facoltativamente ritentivo). Il nome è la chiave e, ripulito, l'indirizzo; il parametro della cartella la archivia, riscrivendo ogni riferimento al vecchio indirizzo. |
variable_delete |
Elimina una variabile per percorso, compreso il suo valore ritenuto. I canali collegati a essa perdono la sorgente. |
action_upsert |
Crea o aggiorna un'azione: un blocco di istruzioni JavaScript con esattamente due verbi di scrittura, l'assegnazione a una variabile Memory e la scrittura del tag ingegneristico. Convalidata staticamente, mai eseguita al salvataggio. |
action_delete |
Elimina un'azione per nome. Gli attivatori collegati a essa restano inattivi. |
trigger_upsert |
Crea o aggiorna un attivatore a intervallo: ogni intervalMs (minimo 100) l'azione collegata scatta sulla coda della logica; un battito durante un'esecuzione ancora in corso viene saltato. Il collegamento all'azione è debole e avviene per nome. |
trigger_delete |
Elimina un attivatore; l'azione collegata resta intatta. |
alarm_upsert |
Crea o aggiorna un allarme: un'espressione di condizione Bool, la priorità (Critical/High/Medium/Low), i ritardi di attivazione e di rientro, se è richiesta la tacitazione e lo stile di segnalazione. Salvare una condizione o una temporizzazione modificata azzera la macchina a stati in esecuzione. |
alarm_delete |
Elimina un allarme per percorso; una segnalazione attiva viene prima azzerata. |
logic_folder_upsert |
Crea, rinomina o riarchivia una cartella di organizzazione di una sezione (Variables, Alarms, Actions, Triggers; al massimo tre livelli). Per Variables e Alarms il percorso della cartella fa parte dell'indirizzo, quindi rinomine e spostamenti riscrivono ogni espressione, script, condizione e collegamento di dashboard sottostante. |
logic_folder_delete |
Elimina una cartella. Nulla di ciò che conteneva viene distrutto: elementi e sottocartelle risalgono di un livello e i riferimenti vengono riscritti; una collisione di nomi nella destinazione fa rifiutare l'eliminazione. |
Logic: comando
Tutti questi passano dalla coda unica della logica e vengono registrati con origine MCP.
| Strumento |
Che cosa fa |
variable_write |
Scrive un valore in una variabile Memory (convertito al suo tipo di uscita, ritenuto se la variabile è ritentiva). Le variabili Expression sono calcolate e rifiutano le scritture. |
tag_write |
Scrive un valore ingegneristico su un tag scrivibile: percorre all'indietro la catena di conversione del tag, viene convertito al tipo del dispositivo e scritto sull'apparecchiatura. I tag di sola lettura e i driver di sola lettura vengono rifiutati con il motivo. |
action_run |
Esegue un'azione sulla coda della logica e ne restituisce l'esito e la durata. Un'azione disabilitata fallisce senza essere eseguita. |
alarm_ack |
Tacita un allarme, la risposta dell'operatore; non fa nulla quando non c'è niente in attesa. |
alarm_ack_all |
Tacita ogni allarme che lo attende, in un solo elemento della coda della logica e con ogni transizione registrata. |
Server: lettura
| Strumento |
Che cosa fa |
server_status |
Riferisce lo stato di salute del server OPC UA integrato: stato di esecuzione, tempo di attività, URL dell'endpoint, sessioni client collegate e dimensione dello spazio degli indirizzi configurato. |
Server: comando
| Strumento |
Che cosa fa |
server_start |
Avvia il server OPC UA integrato, materializzando la configurazione attuale. Non fa nulla quando è già in esecuzione. |
server_stop |
Ferma il server in modo ordinato. La comunicazione con i dispositivi, le letture dei tag e lo spazio degli indirizzi di Logic in tempo reale si fermano finché non riparte. |
server_restart |
Ferma e poi avvia, rimaterializzando la configurazione; è la ricarica completa dopo una serie di modifiche. |
connector_refresh |
Riconcilia in modo incrementale il server in esecuzione con i dispositivi configurati (aggiunge, rimuove, ricrea) senza un riavvio completo; è il modo più leggero per applicare le modifiche. |
device_discover |
Esegue la scansione di rilevamento dei dispositivi di un driver e restituisce i candidati con i loro tag, senza salvare nulla. Partecipano solo i driver il cui protocollo supporta una vera scansione; i candidati già esistenti sono segnalati come tali. |
Diario: lettura
| Strumento |
Che cosa fa |
logs_read |
Legge il flusso di diario in tempo reale di tutto il programma (lo stesso della console di Eventi), filtrato per gravità minima (Debug/Information/Warning/Error, predefinito Information), area (App/Server/Connector/Logic/Process/Dashboard/Agent/Licensing), componente e una sottostringa di contesto; restituisce le corrispondenze più recenti (predefinito 100, al massimo 500). Le azioni degli agenti sono registrate nell'area Agent. |
event_history_read |
Legge la cronologia persistente degli eventi di esercizio, che sopravvive ai riavvii: transizioni di allarme, di occorrenza e di interblocco. Filtra per tipo (Alarm/Occurrence/Interlock), un periodo UTC inclusivo e un livello (priorità dell'allarme, gravità dell'occorrenza o transizione dell'interblocco); dalla più recente, predefinito 100, al massimo 500. Rigorosamente di sola lettura: nulla può cancellare o eliminare le voci del diario. |
Process: lettura
| Strumento |
Che cosa fa |
process_models |
Elenca per intero i modelli di Process: canali, gruppi condivisi, unità con il cablaggio risolto e lo stato di esecuzione, procedure, pannelli, ricette, valutazioni, occorrenze, più la libreria globale dei modelli di rapporto. È la mappa che un agente legge prima di avviare qualcosa. |
process_runs |
Elenca le prove, dalla più recente: id, nome, stato, verdetto, che cosa è stato eseguito, chi l'ha avviata (Station/User/Automation/Agent), tempi e avanzamento dei cicli. Può essere ristretto alle prove attive e limitato nel numero (predefinito 50). |
process_run |
Legge per id il registro congelato completo di una prova: istantanea, metadati, criteri giudicati con il numero di campioni, episodi ed eventi di occorrenza, scritture di ricetta come eseguite, commenti, e gli artefatti congelati di rapporto ed etichetta con i loro tentativi di stampa. Facoltativamente calcola il numero di righe del datalog e l'intervallo di tempo. |
unit_status |
Riferisce lo stato in tempo reale di un'unità: se è in prova (con la prova attiva) e il valore ingegneristico attuale dietro ogni canale, letto senza registrare. |
| Strumento |
Che cosa fa |
process_view_configure |
Configura esattamente un pannello di un modello: l'icona disegnata accanto e se il pannello compare nella pagina View. Nient'altro dell'aggregato di Process è scrivibile via MCP; il resto si modifica nella pagina Process. |
Process: comando
Le prove avviate, concluse o commentate da un agente registrano Agent come autore, mai
l'operatore che per caso è collegato al banco di prova.
| Strumento |
Che cosa fa |
process_snapshot |
Cattura una riga di datalog su un'unità fuori da una procedura. Ogni chiamata crea una nuova prova Instant, già conclusa, negli Storici, senza valutazione (verdetto None). |
process_evaluate |
Cattura una riga di datalog e la giudica con una valutazione; crea una prova Instant conclusa e ne restituisce il verdetto. |
process_recipe_apply |
Applica una volta una ricetta Instant a un'unità attraverso l'unico punto di scrittura di Process e i blocchi sulle sorgenti. Comanda l'apparecchiatura; non crea alcuna prova (le scritture vengono registrate). Le ricette Temporal sono rifiutate. |
process_start |
Avvia la prova di una procedura su un'unità, con un oggetto JSON per i campi di metadati della procedura. Metadati obbligatori mancanti o non validi, un'unità già in prova o un conflitto di blocco su un canale condiviso fanno rifiutare l'avvio. Restituisce l'id della nuova prova. |
process_stop |
Ferma una prova in corso: blocco di finalizzazione, istantanea congelata nello storico, verdetto calcolato. |
process_hold |
Sospende il profilo temporale di una prova all'ultimo setpoint; il datalog continua a registrare. |
process_resume |
Riprende il profilo temporale di una prova sospesa. |
process_abort |
Interrompe una prova da Running o Held: la finalizzazione viene eseguita, l'istantanea viene scritta, lo stato diventa Aborted e il verdetto NOK. |
process_comment |
Aggiunge un commento con marca temporale nel file di una prova: una nota nella cronologia mentre è attiva, una nota successiva quando è finita. |
process_report |
Genera (o rigenera) il rapporto PDF di una prova conclusa e ne restituisce il percorso del file. Un modello di documento nominato dalla libreria globale prevale su quello configurato nella procedura; senza né l'uno né l'altro vale il layout predefinito con tutte le sezioni. Rifiutato mentre la prova è attiva. |
process_run_delete |
Elimina definitivamente una prova registrata: il puntatore nell'indice dello storico e il file di database della singola prova. Rifiutato mentre è attiva; la configurazione resta intatta. |
| Strumento |
Che cosa fa |
dashboard_list |
Elenca le dashboard (oppure, nominando un modello, i sinottici di quel modello): dimensione della griglia, cartella, icona, contrassegno di avvio, visibilità per ruolo e ogni componente con la sua posizione, il suo livello e il JSON delle proprietà, più ogni rete di tratti salvata. Restituisce anche il catalogo dei tipi di componente con la dimensione predefinita e l'insieme di proprietà predefinito di ciascun tipo. |
dashboard_upsert |
Crea o aggiorna una dashboard per nome: dimensione della griglia (una riduzione che lascerebbe orfano un componente viene respinta), cartella e icona nell'elenco delle visualizzazioni, contrassegno di avvio, visibilità della barra di stato a schermo intero e visibilità per ruolo. Nominare un modello indirizza invece i sinottici di quel modello. Le pagine di dashboard aperte riflettono subito la modifica. |
dashboard_delete |
Elimina una dashboard e i suoi componenti per nome; nominare un modello elimina invece il sinottico di quel modello. |
component_upsert |
Aggiunge un componente per tipo (collocato nella prima cella libera con la dimensione predefinita del tipo, salvo indicazione diversa) oppure ne aggiorna uno per id. La collocazione deve stare dentro la griglia; la sovrapposizione è ammessa e il livello z decide l'ordine di disegno; il JSON delle proprietà è l'insieme tipizzato di quel tipo. Nominare un modello indirizza invece i sinottici di quel modello, così un sinottico creato là si può impaginare qui. |
component_delete |
Rimuove un componente per id; nominare un modello indirizza invece i sinottici di quel modello. |
connection_upsert |
Collega due morsetti di un simbolo con una rete di tratti tipizzata, risolvendo tipo, ruolo e direzione dal catalogo dei simboli esattamente come fa l'editor dell'area di disegno. Le estremità che si risolvono in tipi diversi falliscono, a meno che non sia esplicitamente ammesso un tratto indefinito; un ancoraggio che porta già un tratto viene respinto. Nominare un modello indirizza invece i sinottici di quel modello. |
connection_delete |
Rimuove una rete di tratti per id e revisione attesa, così un'eliminazione basata su dati vecchi viene respinta invece di cancellare una modifica più recente; nominare un modello indirizza invece i sinottici di quel modello. |
Interfaccia: automazione
Questi strumenti pilotano la finestra reale dell'applicazione; esistono perché un agente
possa verificare l'interfaccia che vede l'operatore, non una sua simulazione. Le
interazioni vengono inviate alla shell in esecuzione, quindi la condotta prevista è far
seguire a ogni gesto un ui_screenshot e osservarne l'effetto, e le corrispondenze ambigue
tornano come elenchi di candidati invece che come un clic indovinato.
| Strumento |
Che cosa fa |
ui_state |
Riferisce lo stato della shell: pagina attiva, pagine disponibili, tema, dimensione e visibilità della finestra, e l'indirizzo di loopback su cui questa istanza serve la propria interfaccia. È la chiamata di orientamento che precede tutto il resto. |
ui_navigate |
Attiva una pagina della shell tramite il suo nome stabile, che è in inglese su ogni stazione: View, Process, Logic, Connector, Users, Validation, Events, Agent, Settings, Account. Viene accettata anche l'etichetta che la barra di navigazione mostra nella lingua della stazione. |
ui_screenshot |
Cattura la finestra così come appare sullo schermo in un file PNG e ne restituisce il percorso assoluto; se la finestra è nascosta nell'area di notifica la ripristina prima. Può catturare una singola zona nominata dello schermo (un'area data-doc-region univoca e visibile) invece dell'intera finestra, e una zona mancante, nascosta o ambigua fallisce elencando le zone visibili invece di ripiegare in silenzio sulla cattura completa. |
ui_scroll |
Fa scorrere la zona di scorrimento principale della pagina attiva all'inizio, alla fine o di un numero di schermate, restituendo gli scostamenti così che una pagina lunga si possa percorrere tutta. |
ui_set_theme |
Applica il tema (System, Light o Dark). Viene salvato esattamente come dal menu del tema nella barra del titolo, quindi un agente ben educato ripristina il valore originale quando ha finito. |
ui_resize |
Ridimensiona la finestra ripristinata in unità indipendenti dal dispositivo, limitata al minimo della finestra; utile per verificare le impaginazioni strette. |
ui_click |
Fa clic sul pulsante, collegamento, casella di spunta o interruttore visibile il cui testo corrisponde; caselle di spunta e interruttori si trovano tramite l'etichetta del campo e il risultato riferisce lo stato raggiunto. L'ambiguità restituisce i candidati invece di sceglierne uno. |
ui_set_text |
Scrive un valore in una casella di testo identificata dall'etichetta del suo campo, confermando il collegamento come farebbe la digitazione. |
ui_select |
Seleziona un elemento tramite il testo visibile: un percorso separato da barre percorre un albero, espandendolo lungo la strada; un solo segmento corrisponde anche a elementi di elenco, schede, voci di casella combinata e righe di griglia nella pagina attuale. |
Backup: gestione
| Strumento |
Che cosa fa |
backup_create |
Crea un'istantanea a caldo del database di configurazione nella cartella dei backup, con una nota facoltativa. Le prove registrate vivono fuori dalla configurazione e non vengono mai toccate dal backup né dal ripristino. |
backup_list |
Elenca i backup della configurazione (nome del file, data di creazione, dimensione, nota) più l'eventuale ripristino già programmato. |
Non esiste deliberatamente alcuno strumento di eliminazione dei backup: la conservazione
è solo dell'operatore, nella pagina Backup.
Backup: ripristino
| Strumento |
Che cosa fa |
backup_restore |
Programma un backup perché sostituisca la configurazione attuale al prossimo avvio dell'applicazione. Nulla cambia nell'applicazione in esecuzione e lo strumento non la riavvia mai; la configurazione che sta per essere sostituita viene prima salvata automaticamente in un'istantanea, e l'operatore può annullare il ripristino in attesa dalle Impostazioni fino al riavvio. Rifiutato mentre una registrazione è attiva. |
Impostazioni: gestione
| Strumento |
Che cosa fa |
settings_read |
Legge le preferenze di visualizzazione e di ciclo di vita della stazione: formati di data, ora e numero, cifre decimali, tema, contrassegni di chiusura nell'area di notifica e di rapporto di errore. |
localization_set |
Aggiorna le preferenze di visualizzazione (parziale: i parametri omessi restano). Solo visualizzazione: archiviazione, ingressi e uscite dei driver e registrazioni usano sempre il formato invariante. |
asset_list |
Elenca le risorse dell'utente (immagini, icone, colori) con id, valori e percorsi. |
asset_import |
Importa un PNG/JPG dal percorso di un file locale nella libreria di risorse dell'applicazione e restituisce l'id della nuova risorsa. I byte vengono copiati, quindi il file di origine può essere spostato in seguito. |
symbol_validate |
Convalida il contenuto di un simbolo passato per intero (SVG grezzo o pacchetto v2) senza salvare nulla: è una prova a vuoto dell'importazione vera, e restituisce errori, avvisi del depuratore e un riepilogo di ciò che è stato riconosciuto. La descrizione dello strumento porta il contratto completo del simbolo portabile. |
symbol_import |
Importa il contenuto di un simbolo passato per intero come nuova risorsa simbolo dell'utente e ne restituisce l'id e il riferimento user:<guid>. Crea sempre una nuova risorsa; un nome in collisione riceve un suffisso automatico. |