# Unités

> Les stations sur lesquelles un modèle est concrétisé : le tableau des unités sur la page du modèle, l'ajout et le retrait d'une unité, l'unité choisie à travers les écrans de Définition, l'unité sous Conduite, et Tout démarrer et Tout arrêter.

Une **unité** est une station sur laquelle un modèle est concrétisé. Chaque unité exécute toute la
définition du modèle, câblée à des sources qui lui sont propres : ses voies se lient à des tags ou à
des variables, elle estampille les métadonnées du modèle avec un code à elle, et elle suit ou
remplace les réglages par défaut du modèle pour le verrouillage, la productivité et les imprimantes.
Ajouter une station au banc, c'est ajouter une unité.

Une unité se rencontre à deux endroits, à dessein. Sur la **page propre au modèle**, c'est une ligne
du tableau **Unités** : ce qu'est l'unité, déclaré à côté de ses semblables (Gérer Process). Sous le
groupe **Conduite** du modèle, c'est l'unité en service : si un essai la détient, et les volets et
tableaux de bord par lesquels elle est conduite (Consulter les modèles pour l'ouvrir; Exécuter les
procédures pour démarrer quoi que ce soit).

## Le tableau des unités sur la page du modèle {#the-units-table-on-the-models-page}

La carte **Unités** se tient entre Identité et Structure sur la page du modèle, sous la ligne « Les
stations sur lesquelles ce modèle est réalisé. Chacune exécute toute la définition du
modèle, câblée sur des sources qui lui sont propres. » Elle n'est dessinée que pour Gérer Process : un
rôle qui ne peut pas modifier la structure ne la voit pas, exactement comme il ne voit pas
Définition.

La carte est une liste avec, à côté, le volet propre à l'unité choisie (le séparateur entre les deux
se déplace). La liste :

| Colonne | Ce qu'elle montre |
| --- | --- |
| **Nom** | Le nom de l'unité, modifiable sur place (un changement de nom sûr, plus bas). |
| **Code unité** | Le code court stable, modifiable sur place; le texte d'exemple indique « aucun ». |
| **Voies** | Jusqu'où l'unité est câblée, lu sur le modèle : « Aucune voie pour l'instant », « 5 liées, aucune manquante » ou « 4 liées, 1 manquantes » (la dernière dans l'encre de prudence). |
| (action de ligne) | **Retirer l'unité**, dans l'encre de danger. |

Cliquer sur une ligne l'ouvre dans la colonne **Unité** à droite. Sans rien de choisi, la colonne
indique « Sélectionnez une unité, et elle s'ouvre ici. », ou « Ce modèle n'a encore aucune
unité. Ajoutez-en une, et elle s'ouvre ici. » tant que le modèle n'en a aucune.

| Champ | Ce que c'est | Valeurs / défaut | Effet |
| --- | --- | --- | --- |
| **Nom** | « Le nom auquel répond chaque adresse de cette unité. » : le segment de l'unité dans `Process.<Model>.<Unit>`. | Texte libre; « Unité 1 », « Unité 2 », … à la création. Les lettres et les chiffres survivent dans l'adresse, tout le reste devient `_`, et un chiffre de tête est préfixé par `_`. | Valider (Entrée, ou quitter le champ) est un changement de nom coordonné : la ligne de prévision dit combien d'emplacements lisent l'adresse, et la validation les réécrit. Un nom dont le segment est déjà celui d'une autre unité du modèle est refusé : « Le nom « X » correspond au segment d'adresse « Y », déjà employé par « Z ». » Désactivé sans Gérer Process et tant que la station est verrouillée. |
| **Code unité** | « Un code court et stable avec lequel les métadonnées séquentielles qui l'incluent estampillent leurs valeurs. Renommer l'unité ne le change jamais. » | Texte libre, débarrassé des espaces de bord; vide signifie aucun. | Chaque champ Séquentiel dont la composition porte une partie **Code unité** l'imprime, et un démarrage qui demande un tel champ est refusé tant que le code de l'unité est vide. Le même champ se modifie sur l'écran [Métadonnées](process-metadata), à côté des compteurs qui estampillent avec lui. |
| **Remarques** | « Tout ce que quiconque travaille sur ce banc devrait en savoir. Rien ne le lit, sinon une personne. » | Tout texte; vide. | Aucun. |

Les unités sont listées dans l'ordre où elles ont été ajoutées; il n'y a aucun contrôle pour les
réordonner.

## Ajouter une unité {#adding-a-unit}

**Nouvelle unité**, en tête de la carte Unités, en ajoute une; **Ajouter une unité** dans le menu
contextuel de la ligne du modèle aussi. Les deux demandent Gérer Process et grisent tant que la
station est verrouillée. L'unité naît sous le nom du premier « Unité N » libre (le plus petit N dont
aucune unité du modèle ne porte encore le nom : une fois la première unité renommée, N revient à 1),
choisie dans la liste avec son volet ouvert et amenée dans la zone visible, donc la nommer est la première chose que vous faites.

Une unité neuve ne lie encore rien (sa couverture indique « 0 liées, 6 manquantes » sur un modèle de
six voies), n'a aucun automatisme, et suit le modèle pour son signal de verrouillage, sa période de
productivité et ses quantités, et ses files d'impression. Ses liaisons se font sur
[Voies](process-channels); son code et ses compteurs se lisent sur [Métadonnées](process-metadata).

## Retirer une unité {#removing-a-unit}

**Retirer l'unité** voyage avec la ligne qu'elle termine, donc ce qui part est la ligne sous le
pointeur, jamais celle que le tableau avait choisie. Elle confirme d'abord : « Supprimer « X »? Cela
retire l'unité et tout ce qui est configuré dessus. Cette action est irréversible. »

La station refuse, dans le journal des actions, « Impossible de supprimer une unité pendant qu'elle est
occupée par une opération d'essai. » et « Impossible de supprimer une unité tant que son verrouillage
est enclenché. »; l'enregistrement lui-même refuse de la même façon avec « Impossible de retirer
l'unité « X » tant qu'elle est occupée ou qu'elle a un verrouillage mémorisé. » Une unité retirée
emporte ses liaisons, son automatisme, ses propres quantités et ses propres emplacements
d'imprimante. Ses essais enregistrés restent dans les historiques, et leurs fichiers ne sont pas
touchés. Seule la ligne choisie laisse la colonne vide, et seulement une fois qu'elle est vraiment
partie.

Une unité ne se retire pas depuis Conduite : mettre fin à une station est de la structure, et cela
vit là où la station est déclarée.

## Une seule unité choisie pour tout le modèle {#one-picked-unit-across-the-model}

Quelle unité est choisie est une seule réponse pour tout le modèle : le tableau des unités de la page
du modèle et la liste des unités de chacun des cinq écrans de [Définition](process-definition) lisent
et écrivent le même choix. Passer de Voies à Imprimantes reste sur le banc en main. Choisir une ligne
de la moitié définition d'un écran (une voie, un champ, la ligne Arrêt externe, une quantité, un
emplacement d'imprimante) efface l'unité choisie, parce que chaque écran marque exactement une ligne.
Rien n'est choisi tant que vous n'avez pas cliqué sur une ligne, et un constat de
[Vérification](validation) qui vous envoie sur Voies ou Automatisme arrive avec l'unité en défaut
déjà choisie. Le choix vaut par fenêtre et n'est pas enregistré.

## L'unité sous Conduite {#the-unit-under-operate}

Sélectionner le groupe **Conduite** du modèle ouvre les unités telles que l'opérateur les rencontre,
sous « Les stations sur lesquelles ce modèle tourne. Ouvrez-en une pour préparer une procédure, la
démarrer et suivre un essai enregistré et évalué. » : une carte par unité avec son statut en
direct, dans cet ordre de priorité :

| Ligne de statut | Sens |
| --- | --- |
| **Arrêt déclenché** / **En attente de réarmement** / **Signal d'arrêt indisponible** | Le verrouillage d'arrêt de l'unité, lu seulement pendant que l'Arrêt externe du modèle est activé (voir [Automatisme](process-automation)). |
| **Enregistrement** / **Suspendu** / **Écriture** / **Préparation** / **Finalisation** | Une opération d'essai détient l'unité. |
| **Au repos · Essai de palier** / **Au repos · aucune procédure préparée** | Rien ne la détient; la ligne nomme la procédure préparée quand il y en a une. |

Sans aucune unité, le mur indique « Aucune unité pour l'instant. Ajoutez-en une sur la page du modèle, dans le tableau Unités. »

Sélectionner une unité ouvre sa propre page : l'en-tête « Une station sur laquelle ce modèle tourne.
Ouvrez une surface pour préparer une procédure, la démarrer et suivre l'essai. », une pastille
avec l'état de l'essai tant qu'un essai détient l'unité (Enregistrement, Suspendu, Écriture,
Préparation, Finalisation, ou « En attente que les consignes parviennent à l'équipement » tant qu'un
segment de recette réglé pour attendre est encore en attente de ses consignes, auquel cas la ligne
d'en-tête cède la place à « Toujours en attente de : Furnace, Pump 1 », les voies que leur équipement
n'a pas encore prises), et une carte **Surfaces de conduite**, « Ce par quoi cette unité est conduite : les
volets et les tableaux de bord que son modèle définit, dessinés pour cette unité. Cliquez sur l'un
d'eux pour l'ouvrir. », avec une tuile par volet et par tableau de bord du modèle. Rien de configuré
ne se modifie ici et la page ne porte aucune barre : préparer, démarrer et surveiller un essai se
passent sur les surfaces, décrites sous [Conduite](process-operate).

## Tout démarrer et Tout arrêter {#start-all-and-stop-all}

La barre du groupe Conduite porte les deux déclencheurs de lot du modèle. Ils ne sont dessinés que
pour Exécuter les procédures.

| Commande | Ce qu'elle fait | Grisée quand |
| --- | --- | --- |
| **Tout démarrer** | « Démarrer chaque unité qui a une procédure préparée et qui peut tourner maintenant. Les autres sont ignorées. » Une unité peut démarrer quand rien ne la détient, que le runtime accepte les opérations, que son verrouillage ne la bloque pas et qu'une procédure y est préparée. | Aucune unité du modèle ne peut démarrer pour l'instant; un lot est déjà en cours; le runtime est arrêté. |
| **Tout arrêter** | « Arrêter chaque unité qui tourne maintenant. Les unités déjà arrêtées le restent. » | Aucune unité ne tourne; un lot est déjà en cours; le runtime est arrêté. |

L'admissibilité est relue unité par unité à mesure que le lot avance, donc une unité qu'un démarrage
antérieur du même lot a rendue inadmissible (une source d'écriture partagée, par exemple) est
ignorée. Il n'y a ni synchronisme, ni préparation partagée, ni retour en arrière : le refus d'une
unité est journalisé et n'arrête ni n'annule jamais celui d'une autre. Le journal des actions signale
« 3 unités démarrées. », « 1 unité arrêtée. » ou « Aucune unité n'a pu être démarrée. » Chaque essai
que le lot démarre enregistre le même responsable : l'utilisateur dont la session est ouverte sur
cette fenêtre, ou la station quand il n'y en a aucun.

## Ce qui suit le modèle, par unité {#what-follows-the-model-per-unit}

Trois sujets auxquels une unité répond se configurent sur le modèle et s'héritent tant que l'unité ne
diffère pas. Sur chaque écran, l'unité choisie montre un choix à deux voies, « Suit le réglage par
défaut du modèle » ou « A son propre … », et la configuration en vigueur à côté : les valeurs propres
au modèle, en lecture seule, tant qu'elle suit; celles de l'unité une fois qu'elle s'est détachée.

| Sujet | Écran | Ce que le détachement amorce |
| --- | --- | --- |
| Le signal de verrouillage d'arrêt et sa polarité | [Automatisme](process-automation) | Le signal et la polarité du modèle, quand l'unité n'en a jamais nommé un à elle. |
| La période glissante et les quantités nommées | [Productivité](process-productivity) | La période du modèle et une copie de ses quantités, quand l'unité ne détient aucune quantité à elle. |
| Les quatre files d'impression | [Imprimantes](process-printers) | Les quatre files du modèle, quand les quatre files propres à l'unité sont toutes vides. |

Suivre de nouveau le modèle n'efface rien de ce que l'unité avait, donc se détacher une seconde fois
le lui rend.

## Ce que cette page ne fait pas {#what-this-page-does-not-do}

- Une unité n'a ni voies, ni volets, ni tableaux de bord à elle : ce sont ceux du modèle, dessinés
  pour l'unité.
- Une unité ne se copie pas; copiez plutôt le modèle.
- Une unité ne se déplace pas d'un modèle à l'autre, et son nom ne se modifie pas depuis l'arbre.
- Tout démarrer et Tout arrêter sont des déclencheurs, pas un essai coordonné : rien n'attend rien.
