# ユニット

> モデルが実体になるステーション。モデルのページのユニットの表、ユニットの追加と削除、定義の画面をまたいで選ばれているユニット、運転の下のユニット、そしてすべて開始とすべて停止です。

**ユニット**は、モデルが実体になる 1 台のステーションです。どのユニットも、モデルの定義の全体を、自分の信号源につないだ形で動かします。そのチャネルはタグや変数にバインドし、モデルのメタデータを自分のコードで刻み、モデルのインターロック、生産性、プリンターの既定に従うか、それを上書きします。試験台にステーションを 1 台足すことは、ユニットを 1 つ足すことです。

ユニットには、意図して 2 か所で出会います。**モデル自身のページ**では、**ユニット**の表の 1 行です。そのユニットが何であるかを、兄弟の隣で宣言します（Process の管理）。モデルの**運転**のグループの下では、使われているユニットです。実行がそれを持っているかどうかと、それを動かす操作パネルとダッシュボードです（開くにはモデルの閲覧、何かを開始するには手順の実行）。

## モデルのページのユニットの表 {#the-units-table-on-the-models-page}

**ユニット**のカードは、モデルのページの識別情報と構造の間に、「このモデルを実現するステーションです。どれもモデルの定義の全体を実行し、それぞれ自分の信号源につながります。」という行の下に立ちます。Process の管理にだけ描かれます。構造を編集してよくないロールに見えないのは、定義が見えないのとまったく同じです。

このカードは一覧で、その横に、選ばれているユニット自身のパネルが並びます（その間の仕切りはドラッグできます）。一覧はこうです。

| 列 | 何を見せるか |
| --- | --- |
| **名前** | ユニットの名前です。その場で編集できます（安全な名前の変更。下を参照）。 |
| **コード** | 変わらない短いコードです。その場で編集できます。入力例は「なし」と読めます。 |
| **チャネル** | そのユニットがどこまでつながっているかを、モデルから読み取ります。「まだチャネルがありません」、「5 個をバインド、不足なし」、「4 個をバインド、1 個が不足」（最後のものは注意の色です）。 |
| （行の操作） | **ユニットを削除**。危険の色です。 |

行を押すと、右の**ユニット**の欄にそれが開きます。何も選んでいないとき、欄は「ユニットを選ぶと、ここに開きます。」、モデルにユニットが 1 つもない間は「このモデルにはまだユニットがありません。追加すると、ここに開きます。」と読めます。

| 項目 | 何であるか | 値 / 既定 | 効果 |
| --- | --- | --- | --- |
| **名前** | 「このユニットのすべてのアドレスが名乗る名前です。」つまり `Process.<Model>.<Unit>` のうち、ユニットの区切りです。 | 自由な文字。作成時は「ユニット 1」、「ユニット 2」…です。英数字はアドレスへ残り、それ以外は `_` になり、先頭の数字には `_` が前に付きます。 | 確定（Enter、または欄を離れること）は、そろえられた名前の変更です。先に見せる行が、いくつの場所がそのアドレスを読んでいるかを言い、確定はそれらを書き換えます。その区切りにモデルの別のユニットがすでに対応している名前は拒まれます。「名前「X」はアドレスの区切り「Y」に対応しますが、それはすでに「Z」が使っています。」Process の管理がないときと、ステーションが施錠されている間は使えません。 |
| **コード** | 「これを含む連番のメタデータが刻む、短く安定したコードです。ユニットの名前を変えても、これは変わりません。」 | 自由な文字で、前後の空白は落とします。空はなしを意味します。 | 組み立てに**ユニットのコード**の部品を持つすべての連番の項目がこれを印刷し、そうした項目を尋ねる開始は、ユニットのコードが空の間は拒まれます。同じ項目は[メタデータ](process-metadata)の画面でも、それを使って刻むカウンターの横で編集できます。 |
| **備考** | 「この試験台で作業する人が知っておくべきことです。人以外は誰も読みません。」 | どんな文字でも。空です。 | ありません。 |

ユニットは追加した順に並びます。並べ替える操作はありません。

## ユニットの追加 {#adding-a-unit}

ユニットのカードの見出しにある**ユニット**が 1 つ追加します。モデルの行の右クリックのメニューの**ユニットを追加**も同じです。どちらにも Process の管理が要り、ステーションが施錠されている間は灰色になります。ユニットは空いている最初の「ユニット N」として生まれ（N は、モデルのどのユニットもまだその名前を持っていない、いちばん小さい番号です。最初のユニットの名前を変えたあとは、N はまた 1 になります）、一覧で選ばれ、パネルが開いた状態で見える位置までスクロールされるので、名前を付けるのが最初の仕事になります。

新しいユニットはまだ何もバインドしておらず（チャネル 6 本のモデルでは、充足が「0 個をバインド、6 個が不足」と読めます）、自動化を持たず、インターロックの信号、生産性の期間と数量、印刷キューについてはモデルに従います。そのバインドは[チャネル](process-channels)で作り、そのコードとカウンターは[メタデータ](process-metadata)で読みます。

## ユニットの削除 {#removing-a-unit}

**ユニットを削除**は、それが終わらせる行に乗っているので、消えるのは指しているその行であって、表がたまたま選んでいたものでは決してありません。先に確認します。「「X」を削除しますか？ユニットと、その上に設定したものをすべて削除します。 この操作は元に戻せません。」

ステーションは操作ログ帯で「実行の操作をしている間、ユニットは削除できません。」、「インターロックが掛かっている間、ユニットは削除できません。」と拒みます。保存そのものも同じく「ユニット「X」が処理中か、インターロックのラッチが掛かっている間は取り除けません。」と拒みます。取り除かれたユニットは、そのバインド、自動化、それ自身の数量、それ自身のプリンターの枠を道連れにします。記録された実行記録は履歴に残り、そのファイルには触れません。欄が空になるのは、選ばれていた行が、本当に消えたときだけです。

ユニットは運転からは取り除けません。ステーションを終わらせることは構造の話であり、それはステーションが宣言されている場所にあります。

## モデルをまたいで選ばれている 1 台のユニット {#one-picked-unit-across-the-model}

どのユニットが選ばれているかは、モデル全体で 1 つの答えです。モデルのページのユニットの表と、5 つの[定義](process-definition)の画面のユニットの一覧は、同じ選択を読み書きします。チャネルからプリンターへ移っても、手にしている試験台から離れません。画面の定義の側の行（チャネル、項目、外部停止の行、数量、プリンターの枠）を選ぶと、選ばれていたユニットが外れます。どの画面もちょうど 1 行に印を付けるからです。行を押すまでは何も選ばれておらず、あなたをチャネルか自動化へ送る[検証](validation)の指摘は、不具合のあるユニットをすでに選んだ状態で届きます。この選択はウィンドウごとのもので、保存されません。

## 運転の下のユニット {#the-unit-under-operate}

モデルの**運転**のグループを選ぶと、操作員が出会う姿のユニットが、「このモデルを実行するステーションです。1 つ開くと、手順を用意し、開始し、記録と判定を伴う実行を見られます。」の下に開きます。ユニットごとに 1 枚のカードが、実時間の状態とともに、次の優先の順で並びます。

| 状態の行 | 意味 |
| --- | --- |
| **停止信号が作動** / **再投入待ち** / **停止信号を取得できません** | そのユニットの停止インターロックです。モデルの外部停止が有効なときにだけ読みます（[自動化](process-automation)を参照）。 |
| **記録中** / **一時停止中** / **保存中** / **準備中** / **終了処理中** | 実行の操作がそのユニットを持っています。 |
| **待機 · 保持試験** / **待機 · 用意した手順なし** | 何も持っていません。用意されている手順があるときは、その行がそれを名指します。 |

ユニットが 1 つもないとき、壁は「まだユニットがありません。モデルのページの「ユニット」の表で追加してください。」と読めます。

ユニットを選ぶと、それ自身のページが開きます。見出しは「このモデルを実行するステーション 1 台です。面を開くと、手順を用意し、開始し、実行を見られます。」で、実行がそのユニットを持っている間はその状態のピル（記録中、一時停止中、保存中、準備中、終了処理中。待つように決めたレシピのセグメントが、まだ設定値を渡され終えていない間は「設定値が機器に届くのを待っています」になり、そのときは見出しの行が「未到達: Furnace, Pump 1」、つまり機器がまだ受け取っていないチャネルに入れ替わります）が付き、**操作面**のカード「このユニットを操作する面です。モデルが定義した操作パネルとダッシュボードを、このユニット向けに描きます。押すと開きます。」が、モデルの操作パネルごと、ダッシュボードごとに 1 つのタイルを持ちます。設定されたものはここでは何も編集せず、このページはバーを持ちません。手順を用意し、開始し、見守るのは面の上で、[運転](process-operate)に書いてあります。

## すべて開始とすべて停止 {#start-all-and-stop-all}

運転のグループのバーは、モデルの 2 つのまとめての引き金を載せます。手順の実行を持つロールにだけ描かれます。

| 指令 | 何をするか | 灰色になるとき |
| --- | --- | --- |
| **すべて開始** | 「手順を用意していて、今すぐ実行できるユニットをすべて開始します。それ以外は飛ばします。」ユニットが開始できるのは、何もそれを持っておらず、ランタイムが操作を受け付け、そのインターロックが塞いでおらず、手順が用意されているときです。 | 今このモデルのどのユニットも開始できないとき。まとめての指令がすでに動いているとき。ランタイムが停止しているとき。 |
| **すべて停止** | 「今実行しているユニットをすべて停止します。既に停止しているユニットは、そのままです。」 | どのユニットも動いていないとき。まとめての指令がすでに動いているとき。ランタイムが停止しているとき。 |

動けるかどうかは、まとめての指令が進む間、ユニットごとに読み直されます。同じまとまりの中の先の開始によって動けなくなったユニット（たとえば書き込みの信号源を共有しているもの）は飛ばされます。同時性も、共有された用意も、巻き戻しもありません。1 台の拒みは記録されるだけで、ほかを止めることも戻すこともありません。操作ログ帯は「ユニット 3 台を開始しました。」、「ユニット 1 台を停止しました。」、「開始できたユニットはありません。」と伝えます。まとめての指令が開始したどの実行も、同じ実行者を記録します。このウィンドウでサインインしているユーザーか、誰もいなければステーションです。

## ユニットごとに、モデルに従うもの {#what-follows-the-model-per-unit}

ユニットが答える 3 つの主題は、モデルの上で設定され、そのユニットが違うことを言わない限り受け継がれます。どの画面でも、選ばれているユニットは 2 択の選択肢「モデルの既定に従う」または「自分の … を持つ」と、その横に今効いている設定を見せます。従っている間はモデル自身の値が読み取り専用で、切り離したあとはそのユニット自身の値です。

| 主題 | 画面 | 切り離すと何が種になるか |
| --- | --- | --- |
| 停止インターロックの信号と極性 | [自動化](process-automation) | そのユニットが自分のものを一度も名指していないときは、モデルの信号と極性です。 |
| 移動期間と名前付きの数量 | [生産性](process-productivity) | そのユニットが自分の数量を 1 つも持たないときは、モデルの期間と、その数量の複製です。 |
| 4 つの印刷キュー | [プリンター](process-printers) | そのユニット自身の 4 つがすべて空のときは、モデルの 4 つです。 |

もう一度モデルに従っても、そのユニットが持っていたものは何も消えないので、2 度目に切り離すと、それが戻ります。

## このページがしないこと {#what-this-page-does-not-do}

- ユニットは、自分のチャネルも操作パネルもダッシュボードも持ちません。それらはモデルのもので、そのユニットのために描かれます。
- ユニットは複製しません。代わりにモデルを複製してください。
- ユニットはモデルの間を移動せず、その名前はツリーからは編集しません。
- すべて開始とすべて停止は引き金であって、そろえられた実行ではありません。何かがほかの何かを待つことはありません。
