L'espace d'adressage de l'unité
Chaque point qu'une unité publie sous Process.Model.Unit, son type et son sens, quels points sont des commandes inscriptibles, et ce qu'un script Logic peut y lire.
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 y accèdent sans aucune tuyauterie supplémentaire. La branche se parcourt sur la
page Logic sous « Depuis d'autres pages »
(Depuis d'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 « Climatic chamber » s'adresse Process.Climatic_chamber.Unit_1.
| Branche | Ce qu'elle expose | Inscriptible |
|---|---|---|
Channels.<Channel> |
La valeur liée en direct de chaque voie, typée comme la voie le 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 écrivain. |
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 distribue la commande (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.<branch> et Productivity.Rolling.<branch> |
La projection de productivité de l'unité pour chaque période. | Non. |
Voies
Un point de voie lit la valeur derrière la liaison de l'unité, projetée vers le type de donnée de la
voie, et se lit comme une lacune 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és,
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 de tag ; une liaison de variable répond la valeur et
l'horodatage applicatif.
Procédure
Chaque point est calculé depuis l'essai en direct et se lit avec une bonne qualité ; un point qui n'a rien à dire se lit comme une lacune.
| Point | Type | Signification |
|---|---|---|
Status |
Texte | Preparing tant 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 durée d'occupation : la réservation, En cours, Suspendu, Écriture et la 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) le rapporte aussi. Lacune au repos. |
ActiveProcedure |
Texte | Le nom de l'essai actif (« Procédure · Unité »). Lacune au repos. |
SegmentIndex |
Entier | Le segment actuel du profil temporel, numéroté à partir de 0. Lacune sans profil. |
CycleIndex |
Entier | Le cycle actuel, numéroté à partir de 0. Lacune au repos. |
CycleCount |
Entier | Le nombre total de cycles de l'essai (1 pour un passage unique). Lacune au repos. |
Cycle |
Texte | « 2 / 10 » pour un essai cyclique ; une lacune quand l'essai n'est pas cyclique, pour qu'un relevé lié montre la marque de lacune au lieu d'un passage unique trompeur. |
FailedCycles |
Entier | Les cycles jugés non conformes jusqu'ici. Lacune quand l'essai n'est pas cyclique. |
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid |
Entier | Les compteurs de preuve de l'évaluation, mis à jour d'un bloc par le moteur d'évaluation. Lacune sans preuve jugée. |
Elapsed |
Décimal | Les secondes depuis le démarrage de l'essai. Lacune au repos. |
StartedAt |
Date et heure | Quand l'essai actif a démarré. Lacune au repos. |
Commandes
Lire un point de commande répond « ceci peut-il s'exécuter maintenant », donc un Bouton lié se désactive tout seul ; l'écrire distribue la commande par la console d'essai, journalisée avec la source 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 Temporelle. | Fige la fenêtre. |
Resume |
Un essai est Suspendu et le verrouillage est normal. | Lève 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 post-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é).
Préparation
| Point | Type | Signification |
|---|---|---|
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.<Field> |
Texte | Un point par champ de métadonnées que la procédure préparée demande ; la branche se reforme quand l'unité est préparée de nouveau, et un champ d'une autre procédure se lit comme une lacune. Un champ manuel (texte ou numérique) est un point de préparation inscriptible, ce qu'écrit un composant Saisie qui lui est lié. Un champ séquentiel est une prédiction 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 elle est consommée, non effacée, par le démarrage.
Productivité
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 ; une lacune tant que le dénominateur n'existe pas. |
Summary |
Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed |
Des comptes entiers. |
Outputs.<key> |
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.<key> |
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, non du nom affiché, donc un renommage ne déplace jamais une expression. Chaque point est en lecture seule, et la projection est lue depuis l'index d'historique, jamais depuis 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 voie, l'état de l'essai, la disponibilité des commandes, les valeurs préparées et les points de productivité. Ils ne peuvent ni distribuer une commande, ni écrire un champ de préparation, ni ajouter un commentaire ; ces écritures appartiennent aux consommateurs de commande explicites : les volets de conduite, les Boutons, les Saisies et le sélecteur de procédure des tableaux de bord, l'automatisme de l'unité et les outils de l'agent.