Les outils, domaine par domaine

Ce que fait chaque outil qu'un agent peut appeler, groupé par l'interrupteur de capacité qui l'annonce.

Afficher en Markdown

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.

Connector : configuration

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é.

Logic : configuration

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.

Process : configuration

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.

Tableaux de bord : configuration

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.