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.

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