L'espace d'adressage de l'unité

Chaque point qu'une unité publie sous Process.Modèle.Unité, son type et son sens, quels points sont des commandes inscriptibles, et ce qu'un script Logic peut en lire.

Afficher en Markdown

Chaque unité publie ses données d'essai comme des adresses Logic ordinaires sous Process.<Model>.<Unit>, donc les tableaux de bord, les expressions Logic, le serveur OPC UA embarqué et l'agent les atteignent sans plomberie supplémentaire. La branche se parcourt sur la page Logic sous « Depuis les autres pages » (Depuis les autres pages) et dans chaque sélecteur d'adresse. Renommer un modèle, une unité, une voie ou un champ de métadonnées remplace les adresses correspondantes et réécrit les références textuelles vivantes; les fichiers enregistrés gardent les noms figés au moment où ils ont été écrits. Les segments sont les noms assainis : une unité nommée « Unit 1 » du modèle « Chambre climatique » s'adresse Process.Chambre_climatique.Unit_1.

Branche Ce qu'elle expose Inscriptible
Channels.<Channel> La valeur liée en direct de chaque voie, typée comme la voie la déclare. Une voie inscriptible (rôle Écriture seule ou Lecture et écriture) est un point inscriptible par le canal d'écriture; une source qu'un essai détient refuse tout autre auteur.
Procedure.<point> L'état de l'essai, un scalaire par point (tableau ci-dessous). Non.
Commands.<command> Start, Hold, Resume, Stop, Abort et Comment. Oui : écrire déclenche (tableau ci-dessous).
Next.<point> La zone de préparation que le prochain démarrage consomme. Les champs de métadonnées manuels seulement.
Productivity.Today.<branche> et Productivity.Rolling.<branche> La projection de productivité de l'unité pour chaque période. Non.

Les voies

Un point de voie lit la valeur derrière la liaison de l'unité, projetée dans le type de donnée de la voie, et se lit comme un vide quand la voie n'est pas liée ou que sa source est indisponible. Dans un script Logic, le point est une projection typée en lecture seule du tag ou de la variable liée, jamais le tag lui-même : Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited, ValueRounded, les conversions ValueToBool(), ValueToInteger(), ValueToReal(), ValueToString() et ValueToDateTime(), la qualité State(), les horodatages SourceTimeStamp() et ApplicationTimeStamp(), Refresh(), Name et EngineeringUnit. Les membres de la chaîne de conversion répondent pour une liaison à un tag; une liaison à une variable répond la valeur et l'horodatage d'application.

Procedure

Chaque point est calculé à partir de l'essai en direct et se lit avec une bonne qualité; un point qui n'a rien à dire se lit comme un vide.

Point Type Sens
Status Texte Preparing pendant que l'unité est réservée et qu'aucun essai n'existe encore, Idle tant que rien ne la détient, sinon l'état de l'essai : Running, Held, Saving, Completed, Aborted, Failed.
Running Booléen Strictement l'état En cours; jamais vrai pour la préparation, la suspension, l'écriture ou la finalisation.
Busy Booléen Toute la période d'occupation : réservation, En cours, Suspendu, Écriture et fermeture finale du fichier d'essai.
Verdict Texte OK, NOK, Indeterminate ou None. La preuve jugée reste lisible après la fin de l'essai, jusqu'au démarrage du suivant.
Mode Texte Le mode de l'essai actif, Instant, Temporal ou Controlled; une commande unique (instantané, évaluer maintenant) répond aussi. Vide au repos.
ActiveProcedure Texte Le nom de l'essai actif (« Procédure · Unité »). Vide au repos.
SegmentIndex Entier Le segment courant du profil temporel, numéroté à partir de 0. Vide sans profil.
CycleIndex Entier Le cycle courant, numéroté à partir de 0. Vide au repos.
CycleCount Entier Le nombre total de cycles de l'essai (1 pour un passage unique). Vide au repos.
Cycle Texte « 2 / 10 » pour un essai cyclique; un vide quand l'essai n'est pas cyclique, pour qu'un affichage lié montre la marque de vide au lieu d'un passage unique trompeur.
FailedCycles Entier Les cycles jugés non conformes jusqu'ici. Vide quand l'essai n'est pas cyclique.
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid Entier Les compteurs de preuve de l'évaluation, mis à jour de façon atomique par le moteur d'évaluation. Vides sans preuve jugée.
Elapsed Décimal Les secondes écoulées depuis le démarrage de l'essai. Vide au repos.
StartedAt Date et heure Quand l'essai actif a démarré. Vide au repos.

Commands

Lire un point de commande répond « ceci peut-il s'exécuter maintenant », donc un bouton lié se désactive de lui-même; l'écrire déclenche la commande par la console d'essai, journalisée avec l'origine de la surface qui écrit et enregistrée avec l'identité de qui a pressé. Une commande est un appel de service, jamais une écriture de point mise en file.

Point Se lit vrai quand Écrire
Start L'unité n'est pas occupée, le runtime accepte les opérations, le verrouillage est normal et une procédure est préparée. Démarre la procédure préparée avec les métadonnées préparées.
Hold Un essai est En cours et sa procédure est en mode Temporel. Fige la fenêtre.
Resume Un essai est Suspendu et le verrouillage est normal. Relâche la suspension.
Stop Un essai est En cours. Termine l'essai en Terminé.
Abort Un essai est En cours ou Suspendu. Termine l'essai en Interrompu.
Comment Jamais : le point n'a aucune lecture. Ajoute le texte écrit comme commentaire à l'essai actif, ou comme note d'après-essai sur le dernier essai terminé de l'unité quand elle est au repos. Une unité sans aucun essai refuse (« L'unité n'a aucun essai à commenter. »), et un texte vide aussi.

Chaque commande se lit fausse tant que la station refuse les écritures (le runtime arrêté).

Next

Point Type Sens
Next.Procedure Texte Le nom de la procédure préparée. En lecture seule ici : la préparation se fait sur la carte Essai ou avec le composant sélecteur de procédure.
Next.<Champ> Texte Un point par champ de métadonnées que la procédure préparée demande; la branche se remodèle quand l'unité est préparée de nouveau, et un champ d'une autre procédure se lit comme un vide. Un champ manuel (texte ou numérique) est un point de préparation inscriptible, ce qu'un composant de saisie qui y est lié écrit. Un champ séquentiel est une prévision en lecture seule de l'identifiant que le compteur composerait maintenant; le lire ne le réserve jamais.

La préparation vaut pour toute la station, vit en mémoire et est passagère : elle se réinitialise au démarrage de l'application et est consommée, non effacée, par le démarrage d'un essai.

Productivity

Deux périodes, Today (depuis minuit local) et Rolling (la fenêtre déclarée sur le modèle ou sur l'unité), chacune avec trois branches (Productivité) :

Branche Points Type
Summary ProductivityPercent, YieldPercent, TypicalElapsedSeconds Décimal; un vide tant que le dénominateur n'existe pas.
Summary Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed Comptes entiers.
Outputs.<clé> Quantity, RatePerHour Décimal; une clé par quantité nommée, ou par procédure productive quand le modèle ne déclare aucune quantité.
Procedures.<clé> Quantity, RatePerHour et les points de résumé ci-dessus Comme ci-dessus, par procédure productive.

Les clés dérivent de l'identifiant stable et de l'unité de mesure figée, pas du nom affiché, donc un changement de nom ne déplace jamais une expression. Chaque point est en lecture seule, et la projection est lue dans l'index des historiques, jamais dans les fichiers d'essai.

Ce qu'un script peut faire

Les scripts de variable, d'alarme et d'action de Logic peuvent lire tout ce qui est ici : les valeurs de voies, l'état de l'essai, la disponibilité des commandes, les valeurs préparées et les points de productivité. Ils ne peuvent ni déclencher une commande, ni écrire un champ de préparation, ni ajouter un commentaire; ces écritures appartiennent aux consommateurs de commandes explicites : les volets de conduite, les boutons et les saisies des tableaux de bord et le sélecteur de procédure, l'automatisme de l'unité et les outils de l'agent.