Vérification

La page de santé de la configuration : ce que la station contrôle dans les procédures, la logique et les tableaux de bord, chaque constat qu'elle peut signaler et sa formulation, ce qu'une ligne ouvre, le badge de la barre de navigation, et pourquoi rien ne se corrige ici.

Afficher en Markdown

La page Vérification liste ce sur quoi la station ne peut pas s'appuyer : une liaison de voie, un verrouillage, un champ d'automatisme, une expression, un script ou une condition de Logic, ou un composant de tableau de bord qui pointe vers un tag, une variable, une procédure ou une adresse que la station ne possède plus, une action de Process dont un essai n'a pas pu produire les documents tels qu'ils sont configurés, et une procédure que le démarrage d'un essai refuserait. C'est l'entrée Vérification au pied de la barre de navigation, elle s'ouvre pour une identité qui détient la permission Voir la vérification, et elle répond à /validation. C'est une page qui défile, dessinée sur toute la largeur parce que chaque constat est une phrase. Elle est la sœur de l'état de santé du runtime dans la barre d'état : celui-ci dit si la station lit, celle-ci dit si la configuration se résout encore.

La page signale ; elle ne corrige jamais. Une ligne ouvre l'éditeur qui détient le défaut, sur l'entité qui le porte, et la correction est votre modification là-bas.

La carte d'état

La carte du haut est toute la réponse de la page sur la configuration, et le seul endroit où une station saine est annoncée :

État Point Titre Détail
Saine Vert Rien à corriger Chaque référence des procédures, de la logique et des tableaux de bord se résout, chaque procédure démarrerait, et chaque action dispose de ce qu'il lui faut pour aboutir.
Constats Ambre N éléments à corriger (« 1 élément » pour un seul) Rien ne se corrige ici. Une ligne ouvre l'éditeur qui détient le défaut, sur l'entité qui le porte.

La carte porte l'unique commande de la page, Relancer le contrôle (infobulle : « Contrôler de nouveau toute la configuration maintenant. La liste se rafraîchit aussi d'elle-même dès que quelque chose change. »). Elle est grisée pendant qu'un contrôle est en cours. Comme un contrôle qui trouve la même chose laisse la liste exactement telle qu'elle était, le résultat est signalé dans le journal des actions de la barre d'état : « Contrôle terminé : rien à corriger. », « Contrôle terminé : N à corriger. », ou « Échec du contrôle : raison ».

Vous avez rarement besoin de Relancer le contrôle. Le vérificateur est toujours actif, sur la station, et se relance de lui-même 750 millisecondes après toute rafale de modifications sur l'une des surfaces qu'il lit : équipements, lignes et tags du Connector ; modèles de Process ; les ressources ; variables, actions et alarmes de Logic ; tableaux de bord ; modèles d'étiquette ; mises en page de rapport. La page et le badge de la barre de navigation suivent le résultat. Un contrôle que le Connector traverse pendant qu'il fait entrer ou sortir des équipements (une actualisation de pilote, un équipement en cours d'ajout) est repris une fois le Connector stabilisé, donc une référence n'est jamais dite cassée du simple fait que son équipement est en mouvement.

Les groupes

Les constats sont groupés par la surface qui les détient, dans un ordre fixe. Un groupe vide n'est pas dessiné, donc une station avec un seul défaut de tableau de bord montre un seul groupe.

Groupe Genres de constat La ligne sous le titre
Process Liaisons (liaisons de voie, verrouillages, automatismes), procédures et occurrences qu'elles arment, et documents d'action N éléments. Liaisons de voie, verrouillages et automatismes d'unité nommant un tag, une variable ou une procédure que la station ne possède plus, procédures qu'un démarrage refuserait, et actions dont un essai n'a pas pu produire les documents tels qu'ils sont configurés.
Logic Variables d'expression, actions, alarmes N éléments. Expressions, scripts d'action et conditions d'alarme lisant une adresse qui ne se résout plus.
Tableaux de bord Composants N éléments. Composants dont les propriétés pointent vers une adresse qui ne se résout plus. Ils s'affichent, mais ne lisent rien.

Une ligne

Chaque ligne est un constat, et elle dit de quoi il s'agit sans rien ouvrir :

  • Un glyphe pour le genre : une unité pour une liaison de Process, une marque d'impression pour les documents d'action, la marque de composition écrite pour une procédure, un drapeau pour une occurrence, les marques de variable, d'action et d'alarme de l'arborescence de Logic, la marque de tableau de bord pour un composant.
  • Le nom de l'entité, puis son type quand le type dit quelque chose que le nom ne dit pas (un composant que l'intégrateur n'a jamais nommé retombe sur son genre, et la ligne n'indique pas « Cadran Cadran »), puis « dans emplacement » lorsqu'il y en a un.
  • Le constat : pour un champ qui nomme une cible, « Champ pointe vers référence, qui n'existe plus. » avec la référence en chasse fixe ; pour un champ que le runtime ne peut pas employer, « Champ : ce qui ne va pas. »
  • Un chevron à droite : la ligne ouvre quelque chose. L'infobulle de la ligne et son nom accessible sont la phrase entière plus l'endroit où le clic aboutit (« Ouvrir l'unité dans Process », « Ouvrir l'action dans Process », « Ouvrir la procédure dans Process », « Ouvrir l'occurrence dans Process », « Ouvrir le composant dans l'éditeur », « Ouvrir la variable dans Logic », « Ouvrir l'action dans Logic », « Ouvrir l'alarme dans Logic »).

Chaque constat que le contrôle peut produire

Les formulations ci-dessous sont celles de la page. Une référence affichée sous la forme tag:… ou var:… est l'identité enregistrée d'un tag ou d'une variable qui n'existe plus ; une clé affichée en texte est la clé enregistrée d'une liaison.

Process : liaisons de voie

Type « Liaison de voie » ; nom : le nom de la voie (ou « (voie supprimée) ») ; emplacement : « Modèle · Unité ». Ouvre l'écran Voies du modèle sur l'unité.

Champ Formulation
Tag pointe vers la clé de tag enregistrée, qui n'existe plus
Variable pointe vers la clé de variable enregistrée, qui n'existe plus

Process : verrouillages

Type « Verrouillage » ; nom : le nom de l'unité ; emplacement : « Modèle · Unité ». Une unité est jugée sur ce qu'elle observe réellement : sa propre source, ou la valeur par défaut du modèle quand elle suit le modèle. Ouvre l'écran Automatisme du modèle sur l'unité.

Champ Formulation
Source il suit le modèle, dont la valeur par défaut ne nomme aucune source booléenne.
Source aucune source booléenne n'est configurée.
Source un tag et une variable sont sélectionnés en même temps.
Tag pointe vers tag:…, qui n'existe plus
Tag un tag DateTime n'est pas convertible en booléen. (idem pour les tags Guid et ByteString)
Variable pointe vers var:…, qui n'existe plus
Variable une variable DateTime n'est pas convertible en booléen. (idem pour les variables Image, Icône et Couleur)

Les trois premiers ne sont signalés que tant que le verrouillage d'arrêt du modèle est activé.

Process : automatisme

Type « Automatisme » ; nom : le nom de l'unité ; emplacement : « Modèle · Unité ». Seul un automatisme activé est jugé : un automatisme désactivé ne pilote rien et se retire de la liste. Ouvre l'écran Automatisme du modèle sur l'unité.

Champ Formulation
Commandes aucune source de démarrage n'est configurée.
Procédure la procédure fixe n'est pas disponible. (sélection fixe)
Sélecteur un constat de source (ci-dessous), pour une source entière
Code de sélecteur n il sélectionne une procédure qui a été supprimée.
Source de Démarrage, source d'Arrêt, et ainsi de suite, une par source de commande un constat de source, pour une source booléenne
Métadonnées une correspondance alimente une procédure ou un champ qui a été supprimé.
Métadonnée « champ » un constat de source (numérique pour un champ numérique ; booléen, entier, réel, texte ou date pour les autres), ou : ce champ ne prend pas en charge la génération automatique.
Retour Ready, retour Active, retour SelectedCode, retour CommandResult pointe vers tag:…, qui n'existe plus ; ou : le tag qu'il écrit n'est pas accessible en écriture. / il exige un tag booléen. (Ready, Active) / il exige un tag entier. (SelectedCode, CommandResult)

Un constat de source est l'un des suivants : « aucune source n'est configurée. », « un tag et une variable sont sélectionnés en même temps. », « le tag qu'il lit a été supprimé (tag:…). », « le tag qu'il lit n'est pas accessible en lecture. » (le tag est désactivé ou en écriture seule), « un tag type n'est pas compatible ici. », « la variable qu'il lit a été supprimée (var:…). », « une variable type n'est pas compatible ici. ». La compatibilité suit le rôle du champ : une source booléenne exige un tag ou une variable booléens ; une source entière un type entier ; une source numérique un type entier ou réel ; une source de métadonnées n'importe quel type booléen, entier, réel, texte ou date.

Process : procédures

Type « Procédure » ; nom : le nom de la procédure ; emplacement : le nom du modèle. Le jugement passe par le portail même que franchit le démarrage d'un essai, donc une procédure que cette liste dit exécutable est une procédure que le banc accepte. Ouvre la page propre à la procédure.

Le portail rédige ces refus en anglais, et la ligne les cite tels quels, quelle que soit la langue de la station.

Champ Formulation
La composition An evaluation judges over recorded rows. This procedure carries one but no datalog.
La composition Occurrence 'name' watches recorded samples. This procedure arms it but has no datalog.
La composition Nothing to run: this procedure references neither a datalog nor a recipe.
La composition Instant mode needs an instant recipe (or none). A temporal profile has no single tick.
La composition Controlled mode needs an instant recipe (or none). Setpoints apply at Start, safe-state at Stop.
La composition Temporal mode needs a duration. Set one.
La composition Temporal mode needs a temporal recipe (or none). An instant set has no timeline.
La composition The recipe profile (N ms) is longer than the temporal window (M ms).
La composition Occurrence 'name' watches 'Channels.channel', which this procedure's datalog does not record.
La composition Un refus portant sur ce qu'un essai terminé apporte à la production, ou sur une valeur de recette qui n'atteint pas la voie qu'elle vise, dans les mots de l'éditeur qui en est propriétaire.

Process : occurrences

Type « Occurrence » ; nom : le nom de l'occurrence ; emplacement : le nom du modèle. Seule une occurrence armée par une procédure est lue, et elle l'est une seule fois quel que soit le nombre de procédures qui l'arment, car la condition est unique et la correction aussi. Ouvre la page propre à l'occurrence.

Champ Formulation
La condition Le refus de la condition elle-même, dans les mots de l'éditeur d'occurrences : une référence de voie que ce modèle ne possède pas, une condition illisible, une condition qui renvoie autre chose qu'un Bool, ou deux voies qui aboutissent au même nom. Il est écrit en anglais lui aussi.

Une condition qui tient toute seule et qui ne peut pourtant pas être jugée, parce que le datalog de la procédure laisse de côté la voie qu'elle surveille, est un constat sur cette procédure : le datalog est le choix de la procédure.

Process : documents d'action

Type « Action » ; nom : le nom de l'action ; emplacement : le nom du modèle. Le jugement est celui d'où la page propre à l'action tire son avis « À revoir », donc une action dite prête là-bas est prête ici. Ouvre la page propre à l'action.

Champ Formulation
Commandes Ajoutez une commande : cette action n'émet encore rien.
Commande n · Étiquette · Démarrage, Commande n · Rapport · Fin, et ainsi de suite La première remarque sur cette commande, puis « (k de plus sur cette commande) » quand il y en a d'autres. Une commande qui porte plusieurs remarques reste une seule correction, faite sur une seule page, donc elle tient sur une seule ligne.

Les remarques qu'une commande peut porter, dans l'ordre où elles se corrigent :

  • Sélectionnez au moins un verdict de fin. (une commande à la Fin sans aucun verdict coché)
  • Choisissez un rapport. / Le rapport sélectionné n'existe plus.
  • Choisissez un modèle d'étiquette. / Le modèle a été effacé ou supprimé ; les correspondances enregistrées sont conservées. / Le modèle global sélectionné n'existe plus.
  • Le modèle sélectionné n'a encore aucune commande d'imprimante ; écrivez-les ou importez-les avant qu'un essai n'atteigne cette commande.
  • Les marqueurs du modèle ne peuvent pas être lus : erreur
  • {{marker}} a besoin d'une source. / {{marker}} est associé plus d'une fois.
  • {{marker}} : choisissez une source / cette source n'est pas disponible au démarrage / sélectionnez un champ du catalogue de métadonnées de ce modèle / sélectionnez un critère dans l'une des évaluations de ce modèle / fixez un cycle explicite, numéroté à partir de zéro, de 0 à n / retirez les décimales de cette source de date et heure / utilisez le format par défaut pour cette source numérique / les décimales doivent être comprises entre 0 et 9 / retirez la mise en forme numérique ou de date de cette source de texte
  • {{marker}} a été retiré du modèle actuel ; supprimez sa correspondance enregistrée.

Logic

Aucun emplacement : les genres de Logic sont de premier niveau. Une ligne par adresse distincte qui ne se résout pas, l'adresse étant écrite comme l'expression l'écrit. Seules les variables d'expression sont contrôlées ; une variable de mémoire n'a pas d'expression à lire.

Type Champ Formulation
Variable d'expression Expression pointe vers adresse, qui n'existe plus
Action Script pointe vers adresse, qui n'existe plus
Alarme Condition pointe vers adresse, qui n'existe plus

Tableaux de bord

Type : le genre du composant tel que l'éditeur le nomme (Cadran, Courbe, Valeur…) ; nom : le nom saisi pour le composant, sinon son intitulé, sinon ce que l'éditeur en dérive ; emplacement : le nom du tableau de bord. Une ligne par champ d'adresse, donc un composant dont la valeur et la couleur lisent deux points supprimés fait deux corrections.

Champ Formulation
Adresse, Adresse d'accent, Série 2 › Adresse, et tout autre champ d'adresse du genre (une liste imbriquée se lit comme son chemin) pointe vers adresse, qui n'existe plus

Seuls les champs d'adresse sont lus, et seulement une valeur qui s'analyse comme une adresse enracinée d'au moins un segment : une étiquette qui contient « Process.Press 1.Temperature » est du texte, pas une référence, et n'est jamais signalée. La même adresse dans le même champ fait un seul constat. Les vues définies sur un modèle de Process sont ignorées : elles lient des voies à travers un emplacement d'unité, et aucun point ne répond à ces adresses tant qu'une unité n'a pas ouvert la vue.

Ce qu'une ligne ouvre

Genre Ouvre Où cela aboutit
Composant Le tableau de bord en mode modification (/d/{dashboard}?edit=true&focus={component}) Avec le composant sélectionné et ses propriétés affichées, là où l'adresse se ressaisit. Modifier exige la permission Modifier les tableaux de bord ; sans elle, le tableau de bord s'ouvre en consultation.
Liaison de voie L'espace de travail Process (/process?focus={unit}&screen=channels) L'écran Voies du modèle, avec la ligne de cette unité choisie et chaque dossier au-dessus d'elle déplié.
Verrouillage, Automatisme L'espace de travail Process (/process?focus={unit}&screen=automation) L'écran Automatisme du modèle, avec la ligne de cette unité choisie.
Documents d'action L'espace de travail Process (/process?focus={action}&screen=action) La page propre à l'action dans la colonne.
Procédure L'espace de travail Process (/process?focus={procedure}&screen=procedure) La page propre à la procédure dans la colonne.
Occurrence L'espace de travail Process (/process?focus={occurrence}&screen=occurrence) La page propre à l'occurrence dans la colonne.
Variable d'expression, Action, Alarme La page Logic (/logic?focus={id}) L'entité sélectionnée dans son éditeur, avec sa section de l'espace d'adressage dépliée.

L'ouverture vous dépose sur le défaut ; la page de destination applique ensuite ses propres permissions à la modification (Gérer Process sur les écrans de Process, Configurer Logic dans Logic). Une entité qui ne se résout plus à l'arrivée de la page (supprimée entre-temps) est ignorée, et la page s'ouvre là où elle s'ouvrirait normalement.

Le badge de la barre de navigation

L'entrée Vérification de la barre de navigation porte un badge de prudence avec le nombre d'éléments à corriger, « 99+ » au-delà de quatre-vingt-dix-neuf, et aucun badge tant que la configuration est saine. Le compte est celui du vérificateur lui-même, tenu à jour en arrière-plan par le même contrôle que la page suit, donc il bouge à mesure que vous modifiez sur n'importe quelle page, sans que cette page soit ouverte.

Ce que la page ne fait jamais

  • Elle ne corrige rien : aucune reliaison, aucune suppression, aucun changement de nom. Chaque ligne est une ouverture ; il n'y a pas d'autre action sur une ligne, et aucune action en lot.
  • Elle ne juge jamais le runtime : un équipement qui ne communique pas relève de l'état de santé de la barre d'état, pas d'un constat ici. Une référence vers un tag qui existe mais dont la qualité est mauvaise se résout.
  • Elle ne signale jamais un automatisme désactivé, une vue définie sur un modèle, un texte libre qui ressemble à une adresse, une variable de mémoire, ni une deuxième remarque et les suivantes d'une même commande d'action (le compte dit combien d'autres attendent sur cette page).
  • Elle ne lit jamais une occurrence qu'aucune procédure n'arme, et ne liste jamais deux fois la même occurrence armée, quel que soit le nombre de procédures qui l'arment : une condition est une correction.
  • Elle ne contrôle jamais pendant que le Connector est en pleine transition ; elle attend et mesure une seule fois.
  • C'est la même liste sur tous les écrans, dans la fenêtre de la station comme dans un navigateur, et la même pour toute identité qui peut l'ouvrir : la permission commande la page, pas ses lignes.
  • Tant que le runtime est arrêté, la page cède la place à l'avis de mise en pause comme toute page ; le badge garde son dernier compte.