Les outils, domaine par domaine
Ce que fait chaque outil qu'un agent peut appeler, groupé par l'interrupteur de capacité qui l'annonce.
Les noms d'outils sont des identifiants stables en snake_case. Les erreurs sont structurées
et exploitables : un appel qui échoue renvoie ce qui n'a pas fonctionné, plus une indication
nommant l'outil ou l'étape qui corrige le problème, pour qu'un agent se corrige au lieu de
deviner. Quand le domaine Sauvegardes (gestion) est ouvert, le serveur demande aussi aux
agents de créer une sauvegarde de configuration avant de modifier la configuration. Laquelle
de ces listes un agent voit réellement, c'est
ce que chaque domaine ouvre.
Connector : lecture
| Outil |
Ce qu'il fait |
connector_browse |
Liste l'arborescence configurée avec l'état de santé en direct : Modbus RTU sous la forme pilote, ligne série, équipement, tag; tous les autres pilotes sous la forme pilote, équipement, tag, avec le dossier de chaque équipement à côté. Révèle les alias de tag (Driver.Folders….Device.Tag) qu'utilisent tag_read, tag_write et les expressions Logic. Les alias sont nuls tant que le serveur intégré est arrêté. |
tag_read |
Lit les valeurs en direct d'un tag par son alias : la valeur brute au niveau de l'équipement, la valeur physique après la chaîne de conversion, la qualité et les deux horodatages. |
| Outil |
Ce qu'il fait |
driver_capabilities |
Liste chaque pilote que l'application sait servir, avec les champs de connexion dont un équipement a besoin, le modèle d'adressage des tags (adresse en texte libre ou champs typés, ou les deux), la prise en charge de la découverte et ses paramètres, les plages de temporisation et les types de valeur pris en charge. La carte qu'un agent lit avant device_upsert ou tag_upsert. |
serial_line_list |
Liste chaque ligne série Modbus RTU enregistrée, y compris celles qui sont désactivées ou vides, avec son identifiant stable et ses temporisations configurée, automatique et effective. |
serial_line_upsert |
Crée une ligne Modbus RTU ou en met une à jour par son identifiant stable. Le nom et l'état d'activation changent à tout moment; l'intervalle minimal entre transactions change lui aussi pendant que la ligne est activée; le port série, la vitesse, le format série et le délai de réponse ne changent que pendant que la ligne enregistrée est désactivée. |
serial_line_delete |
Supprime une ligne par son identifiant stable. Une ligne qui contient encore des équipements est refusée, sauf si l'appel autorise explicitement la suppression de tous les équipements et tags qu'elle porte. |
device_upsert |
Crée ou met à jour un équipement par pilote et nom (le pilote est immuable après la création). Seuls les paramètres fournis changent; les champs de connexion dépendent du pilote; déplacer un équipement dans un dossier réécrit chaque référence à ses anciennes adresses de tag. Le changement est appliqué immédiatement au serveur en cours d'exécution. |
device_delete |
Supprime un équipement et tous ses tags; appliqué immédiatement au serveur en cours d'exécution. |
tag_upsert |
Crée ou met à jour un tag sur un équipement. L'adressage dépend du pilote (adresse en texte libre ou champs typés, ou les deux); la réponse renvoie l'adresse de bus assemblée et l'alias pour tag_read. Comprend les étapes de lecture invalide (action sur NaN et présentation d'un échec de lecture) pour les tags numériques. |
tag_delete |
Supprime un tag; appliqué immédiatement. |
Logic : lecture
| Outil |
Ce qu'il fait |
logic_browse |
Parcourt l'espace d'adressage Logic depuis sa racine, le même arbre à points que lit chaque expression : System, Server, Connector, Variables, Alarms, Process et Assets. Les dossiers de l'opérateur sont de vrais niveaux d'adresse; les points enfants portent leur valeur en direct et leur qualité. |
logic_read |
Lit un point par son adresse à points (par exemple Variables.Setpoint) et renvoie la valeur en direct et la qualité. |
Les upserts sont partiels (un paramètre omis garde sa valeur) et chaque brouillon fusionné
passe la validation qu'appliquent les éditeurs de Logic; un brouillon invalide est
rejeté et rien n'est appliqué à moitié.
| Outil |
Ce qu'il fait |
variable_upsert |
Crée ou met à jour une variable : Expression (une seule expression JavaScript en lecture seule sur l'espace d'adressage) ou Memory (une valeur modifiable, rémanente si vous le demandez). Le nom est la clé et, une fois assaini, l'adresse; le paramètre de dossier la classe, en réécrivant chaque référence à l'ancienne adresse. |
variable_delete |
Supprime une variable par son chemin, y compris sa valeur rémanente. Les voies qui y étaient liées perdent leur source. |
action_upsert |
Crée ou met à jour une action : un bloc d'instructions JavaScript comportant exactement deux verbes d'écriture, l'affectation d'une variable mémoire et l'écriture d'un tag en valeur physique. Validée statiquement, jamais exécutée à l'enregistrement. |
action_delete |
Supprime une action par son nom. Les déclencheurs qui y étaient liés restent inactifs. |
trigger_upsert |
Crée ou met à jour un déclencheur périodique : toutes les intervalMs (100 au minimum) l'action liée part sur la file de la logique; un top qui tombe pendant une exécution en cours est sauté. Le lien vers l'action est souple et se fait par nom. |
trigger_delete |
Supprime un déclencheur; l'action liée n'est pas touchée. |
alarm_upsert |
Crée ou met à jour une alarme : une expression de condition booléenne, une priorité (Critical/High/Medium/Low), des retards d'apparition et de disparition, l'obligation ou non d'un acquittement, et le style de signalisation. Enregistrer une condition ou une temporisation modifiée réinitialise la machine d'état en cours. |
alarm_delete |
Supprime une alarme par son chemin; une signalisation active est d'abord effacée. |
logic_folder_upsert |
Crée, renomme ou reclasse un dossier d'organisation d'une section (Variables, Alarms, Actions, Triggers; trois niveaux au maximum). Pour Variables et Alarms le chemin du dossier fait partie de l'adresse : un renommage ou un déplacement réécrit donc chaque expression, script, condition et liaison de tableau de bord situés en dessous. |
logic_folder_delete |
Supprime un dossier. Rien de ce qu'il contenait n'est détruit : les éléments et les sous-dossiers remontent d'un niveau et les références sont réécrites; une collision de nom à destination fait refuser la suppression. |
Logic : pilotage
Toutes ces opérations empruntent l'unique file de la logique et sont journalisées avec
l'origine MCP.
| Outil |
Ce qu'il fait |
variable_write |
Écrit une valeur dans une variable Memory (convertie vers son type de sortie, conservée si elle est rémanente). Les variables Expression sont calculées et refusent l'écriture. |
tag_write |
Écrit une valeur physique dans un tag accessible en écriture : elle remonte à l'envers la chaîne de conversion du tag, est convertie vers le type de l'équipement, puis écrite sur l'équipement. Les tags en lecture seule et les pilotes en lecture seule sont refusés avec la raison. |
action_run |
Exécute une action sur la file de la logique et renvoie son résultat et sa durée. Une action désactivée échoue sans s'exécuter. |
alarm_ack |
Acquitte une alarme, la réponse de l'opérateur; sans effet quand rien n'est en attente. |
alarm_ack_all |
Acquitte toutes les alarmes qui attendent un acquittement, en un seul élément de la file de la logique, chaque transition étant journalisée. |
Serveur : lecture
| Outil |
Ce qu'il fait |
server_status |
Rend compte de l'état de santé du serveur OPC UA intégré : état de fonctionnement, durée de fonctionnement, URL du point de terminaison, sessions clientes connectées et taille de l'espace d'adressage configuré. |
Serveur : pilotage
| Outil |
Ce qu'il fait |
server_start |
Démarre le serveur OPC UA intégré en matérialisant la configuration courante. Sans effet s'il fonctionne déjà. |
server_stop |
Arrête proprement le serveur. La communication avec les équipements, la lecture des tags et l'espace d'adressage Logic en direct s'arrêtent jusqu'au prochain démarrage. |
server_restart |
Arrêt puis démarrage, avec rematérialisation de la configuration; le rechargement complet après une série de modifications. |
connector_refresh |
Réconcilie de façon incrémentale le serveur en cours d'exécution avec les équipements configurés (ajouts, retraits, recréations) sans redémarrage complet; la façon la plus légère d'appliquer des modifications. |
device_discover |
Lance le balayage de découverte d'équipements d'un pilote et renvoie les candidats avec leurs tags, sans rien enregistrer. Seuls les pilotes dont le protocole permet un vrai balayage y participent; les candidats qui existent déjà sont signalés comme tels. |
Journaux : lecture
| Outil |
Ce qu'il fait |
logs_read |
Lit le flux de journal en direct de tout le programme (celui de la console de la page Événements), filtré par gravité minimale (Debug/Information/Warning/Error, Information par défaut), par domaine (App/Server/Connector/Logic/Process/Dashboard/Agent/Licensing), par composant et par une sous-chaîne de contexte; renvoie les correspondances les plus récentes (100 par défaut, 500 au maximum). Les actions d'un agent sont journalisées dans le domaine Agent. |
event_history_read |
Lit la chronologie persistante des événements d'exploitation, celle qui survit aux redémarrages : transitions d'alarme, transitions d'occurrence et transitions de verrouillage. Filtre par nature (Alarm/Occurrence/Interlock), par période UTC bornes comprises et par niveau (priorité d'alarme, gravité d'occurrence ou transition de verrouillage); les plus récentes d'abord, 100 par défaut, 500 au maximum. Strictement en lecture seule : rien ne peut vider ni supprimer une entrée du journal. |
Process : lecture
| Outil |
Ce qu'il fait |
process_models |
Liste les modèles du Process en entier : voies, groupes partagés, unités avec leur câblage résolu et leur état de fonctionnement, procédures, panneaux, recettes, évaluations, occurrences, plus la bibliothèque globale de modèles de rapport. La carte qu'un agent lit avant de démarrer quoi que ce soit. |
process_runs |
Liste les essais, du plus récent au plus ancien : identifiant, nom, état, verdict, ce qui s'est exécuté, qui l'a démarré (Station/User/Automation/Agent), temps et avancement des cycles. Peut être restreinte aux essais en cours et plafonnée (50 par défaut). |
process_run |
Lit le dossier figé complet d'un essai par son identifiant : instantané, métadonnées, critères jugés avec le nombre d'échantillons, épisodes et événements d'occurrence, écritures de recette telles qu'exécutées, commentaires, et les artefacts figés du rapport et de l'étiquette avec leurs tentatives d'impression. Calcule au besoin le nombre de lignes du datalog et sa plage de temps. |
unit_status |
Rend compte de l'état en direct d'une unité : si elle fonctionne (avec l'essai en cours) et la valeur physique actuelle derrière chaque voie, lue sans enregistrement. |
| Outil |
Ce qu'il fait |
process_view_configure |
Configure exactement un panneau d'un modèle : l'icône dessinée à côté de lui et sa présence ou non sur la page View. Rien d'autre de l'agrégat Process n'est modifiable par MCP; le reste s'édite sur la page Process. |
Process : pilotage
Les essais démarrés, terminés ou commentés par un agent inscrivent Agent comme auteur,
jamais l'opérateur dont la session se trouve ouverte au poste.
| Outil |
Ce qu'il fait |
process_snapshot |
Capture une ligne de datalog sur une unité en dehors d'une procédure. Chaque appel crée un nouvel essai Instant, déjà terminé, dans les Historiques, sans évaluation (verdict None). |
process_evaluate |
Capture une ligne de datalog et la juge avec une évaluation; crée un essai Instant terminé et renvoie son verdict. |
process_recipe_apply |
Applique une fois une recette Instant à une unité, par le canal d'écriture du Process et ses verrous de source. Commande l'équipement; ne crée aucun essai (les écritures sont journalisées). Les recettes Temporal sont refusées. |
process_start |
Démarre l'essai d'une procédure sur une unité, avec un objet JSON pour les champs de métadonnées de la procédure. Une métadonnée obligatoire absente ou invalide, une unité déjà en fonctionnement ou un conflit de verrou sur une voie partagée font refuser le démarrage. Renvoie l'identifiant du nouvel essai. |
process_stop |
Arrête un essai en cours : bloc de finalisation, instantané figé dans l'historique, verdict calculé. |
process_hold |
Suspend le profil temporel d'un essai à la dernière consigne; le datalog continue d'enregistrer. |
process_resume |
Reprend le profil temporel d'un essai suspendu. |
process_abort |
Interrompt un essai depuis l'état Running ou Held : la finalisation s'exécute, l'instantané est écrit, l'état devient Aborted et le verdict NOK. |
process_comment |
Ajoute un commentaire horodaté dans le fichier d'un essai : une note dans la chronologie pendant l'essai, une note après coup ensuite. |
process_report |
Génère (ou régénère) le rapport PDF d'un essai terminé et renvoie le chemin de son fichier. Un modèle de document nommé, pris dans la bibliothèque globale, l'emporte sur celui que la procédure a configuré; sans l'un ni l'autre, la mise en page par défaut avec toutes les sections s'applique. Refusé tant que l'essai est en cours. |
process_run_delete |
Supprime définitivement un essai enregistré : son pointeur dans l'index des historiques et le fichier de base de données de l'essai. Refusé tant qu'il est en cours; la configuration n'est pas touchée. |
| Outil |
Ce qu'il fait |
dashboard_list |
Liste les tableaux de bord (ou, si vous nommez un modèle, les vues de ce modèle) : taille de la grille, dossier, icône, indicateur de démarrage, visibilité par rôle et chaque composant avec sa position, sa couche et son JSON de propriétés, plus chaque réseau de tracés enregistré. Renvoie aussi le catalogue des natures de composant, avec la taille et le jeu de propriétés par défaut de chacune. |
dashboard_upsert |
Crée ou met à jour un tableau de bord par son nom : taille de la grille (un rétrécissement qui laisserait un composant orphelin est rejeté), dossier et icône dans la liste de visualisation, indicateur de démarrage, visibilité de la barre d'état en plein écran, et visibilité par rôle. Nommer un modèle adresse les vues de ce modèle à la place. Les pages de tableau de bord ouvertes reflètent le changement en direct. |
dashboard_delete |
Supprime un tableau de bord et ses composants par leur nom; nommer un modèle supprime la vue de ce modèle à la place. |
component_upsert |
Ajoute un composant par sa nature (placé sur la première cellule libre à la taille par défaut de sa nature, sauf indication contraire) ou en met un à jour par son identifiant. Le placement doit tenir dans la grille; le chevauchement est autorisé, la couche z décidant l'ordre de dessin; le JSON de propriétés est le jeu typé de cette nature. Nommer un modèle adresse les vues de ce modèle à la place, donc une vue créée là se met en page ici. |
component_delete |
Retire un composant par son identifiant; nommer un modèle adresse les vues de ce modèle à la place. |
connection_upsert |
Relie deux bornes de Symbol par un réseau de tracés typé, en résolvant le type, le rôle et le sens depuis le catalogue de symboles exactement comme le fait l'éditeur du plan de travail. Deux extrémités qui se résolvent en types différents échouent, sauf si un tracé indéfini est explicitement autorisé; un ancrage qui porte déjà un tracé est rejeté. Nommer un modèle adresse les vues de ce modèle à la place. |
connection_delete |
Retire un réseau de tracés par son identifiant et la révision attendue, pour qu'une suppression périmée soit rejetée au lieu d'écraser une modification plus récente; nommer un modèle adresse les vues de ce modèle à la place. |
Interface : automatisation
Ces outils pilotent la vraie fenêtre de l'application; ils existent pour qu'un agent
vérifie l'interface que voit l'opérateur, et non une simulation de celle-ci. Les
interactions sont envoyées à la fenêtre en direct : la conduite attendue est donc de faire
suivre chaque geste d'un ui_screenshot et d'en observer l'effet, et une correspondance
ambiguë revient sous forme de liste de candidats plutôt qu'en clic deviné.
| Outil |
Ce qu'il fait |
ui_state |
Rend compte de l'état de la fenêtre : page active, pages disponibles, thème, taille et visibilité de la fenêtre, et adresse de boucle locale sur laquelle cette instance sert son interface. L'appel d'orientation, avant tout le reste. |
ui_navigate |
Active une page de l'application par son nom stable, qui est en anglais sur toute station : View, Process, Logic, Connector, Users, Validation, Events, Agent, Settings, Account. Le libellé que la barre de navigation affiche dans la langue de la station est accepté également. |
ui_screenshot |
Capture la fenêtre telle qu'elle est affichée dans un fichier PNG et renvoie son chemin absolu; restaure d'abord la fenêtre si elle est masquée dans la zone de notification. Peut capturer une seule région nommée (une zone data-doc-region unique et visible) au lieu de la fenêtre entière; une région absente, masquée ou ambiguë échoue en listant les régions visibles, au lieu de retomber silencieusement sur une capture complète. |
ui_scroll |
Fait défiler la zone de défilement principale de la page active vers le haut, vers le bas ou d'un écran à la fois, en renvoyant les décalages pour qu'une longue page puisse être balayée. |
ui_set_theme |
Applique le thème (System, Light ou Dark). Le choix est conservé exactement comme celui du menu de thème de la barre de titre : un agent bien élevé rétablit donc la valeur d'origine quand il a fini. |
ui_resize |
Redimensionne la fenêtre restaurée en unités indépendantes du périphérique, bornées au minimum de la fenêtre; utile pour auditer les mises en page étroites. |
ui_click |
Clique le bouton, le lien, la case à cocher ou l'interrupteur visible dont le texte correspond; les cases et les interrupteurs se trouvent par le libellé de leur champ et le résultat indique l'état atteint. Une ambiguïté renvoie les candidats au lieu d'en choisir un. |
ui_set_text |
Écrit une valeur dans une zone de texte identifiée par le libellé de son champ, en validant la liaison comme le ferait une saisie. |
ui_select |
Sélectionne un élément par son texte visible : un chemin séparé par des barres obliques parcourt un arbre en le dépliant au passage; un segment unique correspond aussi aux éléments d'une liste, d'un onglet, d'une liste déroulante et aux lignes de grille de la page courante. |
Sauvegardes : gestion
| Outil |
Ce qu'il fait |
backup_create |
Crée un instantané en ligne de la base de données de configuration dans le dossier des sauvegardes, avec une note facultative. Les essais enregistrés vivent hors de la configuration et ne sont jamais touchés par une sauvegarde ni par une restauration. |
backup_list |
Liste les sauvegardes de configuration (nom de fichier, date de création, taille, note) ainsi que toute restauration déjà programmée. |
Il n'existe délibérément aucun outil de suppression de sauvegarde : la rétention
appartient à l'opérateur seul, sur la page Sauvegardes.
Sauvegardes : restauration
| Outil |
Ce qu'il fait |
backup_restore |
Programme une sauvegarde pour remplacer la configuration courante au prochain démarrage de l'application. Rien ne change dans l'application en cours d'exécution et l'outil ne la redémarre jamais; la configuration remplacée fait d'abord l'objet d'un instantané automatique, et l'opérateur peut annuler la restauration en attente depuis les Paramètres jusqu'au redémarrage. Refusé pendant qu'un enregistrement est en cours. |
Paramètres : gestion
| Outil |
Ce qu'il fait |
settings_read |
Lit les préférences d'affichage et de cycle de vie de la station : formats de date, d'heure et de nombre, nombre de décimales, thème, indicateurs de fermeture dans la zone de notification et de rapport de panne. |
localization_set |
Met à jour les préférences d'affichage (partiel : un paramètre omis reste). Affichage seulement : le stockage, les entrées et sorties des pilotes et les enregistrements utilisent toujours le format invariant. |
asset_list |
Liste les ressources de l'utilisateur (images, icônes, couleurs) avec leurs identifiants, leurs valeurs et leurs chemins. |
asset_import |
Importe un PNG ou un JPG depuis un chemin de fichier local dans la bibliothèque de ressources détenue par l'application et renvoie l'identifiant de la nouvelle ressource. Les octets sont copiés, donc le fichier source peut être déplacé ensuite. |
symbol_validate |
Valide un contenu de symbole en ligne (SVG brut ou paquet v2) sans rien enregistrer : une simulation de l'import réel, qui renvoie les erreurs, les avertissements de l'assainissement et un résumé de ce qui a été reconnu. La description de l'outil porte le contrat de symbole portable au complet. |
symbol_import |
Importe un contenu de symbole en ligne comme nouvelle ressource de symbole utilisateur et renvoie son identifiant et sa référence user:<guid>. Crée toujours une ressource; un nom en collision reçoit automatiquement un suffixe. |