# Process

> 手順のモデルを一度定義し、ユニットの上で実体にし、記録され判定される試験として実行するワークスペース。ワークスペースの欄、モデルの 4 つのグループ、コマンドバー、権限の段階、そして 2 つのロックです。

**Process** は、試験や製造の工程を組み立て、そのあと実行するナビゲーションバーのページです。**モデル**を一度定義し（何を測るか、実行が何を刻むか、何がステーションを自分で動かすか、何を作り出すか、どこに印刷するか）、それを**ユニット**（現場のステーションで、それぞれが自分の信号源につながっています）の上で実体にし、モデルのライブラリーから**手順**を組み立て、ユニットの上で開始します。どの実行も自己完結したそれ自身のファイルに記録するので、記録された実行記録は、それを生んだ構成にあとから加わるどんな変更よりも長生きします。同じ語彙が品質試験にも製造の工程にも当てはまります。時間をかけて設定値を当て、チャネルを記録し、結果を判定するものなら何でもです。

ページの見出しには「Process：手順のモデルを定義し、ユニットの上で実体にして、記録され判定される試験を実行します。」と出ます。Process の 4 つの権限（モデルの閲覧、手順の実行、レシピと判定の編集、Process の管理）のどれか、または履歴の表示を持つ識別情報に対して開きます。

## この範囲にあるもの {#in-this-area}

| ページまたはグループ | 何を扱うか |
| --- | --- |
| [モデルとフォルダー](process-models) | モデルの根、モデル自身のページ、モデルを複製、モデルを削除、そしてモデル、レポート、ラベルを入れるフォルダーです。 |
| [ユニット](process-units) | モデルのページのユニットの表、ユニットの追加と削除、定義の画面をまたいで選ばれているユニット、運転の下のユニット、すべて開始とすべて停止です。 |
| [定義](process-definition) | チャネル、メタデータ、自動化、生産性、プリンター。工程の構造で、工程そのものが変わるときだけ変わります。 |
| [可視化](process-visualization) | ダッシュボードと操作パネル。モデルがどう自分を見せるかを一度定義し、すべてのユニットに対して描きます。 |
| [段取り](process-setup) | 発生記録、別名、データログ、レシピ、判定、アクション、手順。試験台に載る製品が変わるときに変わるものです。 |
| [運転](process-operate) | ユニットごとに 1 つのノードで、実行を用意し、開始し、見守る操作パネルとダッシュボードを抱えます。 |
| [テンプレート](process-templates) | すべてのモデルが共有する、ステーション全体の 2 つのライブラリー、レポートとラベルです。 |
| [履歴](histories) | 記録された実行を見るブラウザーで、この同じツリーの根の 1 つです。 |

## ページ {#the-page}

Process は一覧と詳細のページです。左に**ワークスペース**の欄、右に、欄が選んでいるものの詳細のパネルがあり、その上には、その選択の操作を載せたコマンドバーが立ちます。パネルは自動で保存します。スイッチは倒した瞬間、入力欄は離れた瞬間に効き、拒まれた書き込みは欄を元に戻し、ウィンドウの下の操作ログ帯で理由を伝えます。

このページは 2 つのアドレスで答えます。`/process` は、あなたのロールが見られる最初の根で開きます。`/histories` は履歴の根への深い入口なので、実行記録へのしおりは今もそこに着きます。`?focus=<id>&screen=channels`、`automation`、`action`、`view`、`screen` を持つアドレスは、その面でワークスペースを開きます。前の 2 つは[検証](validation)のページが書き（モデルのチャネルか自動化の画面で、不具合のあるユニットの行がすでに選ばれています）、最後の 2 つは [View](home) のページが書きます。ロールが見られない識別子や、ページが描かない画面の名前なら、ページはいつもどおりに開きます。

ロールがどの根も持たないとき、パネルにはこう出ます。「この操作者に開かれているワークスペースの枝はありません。モデルとテンプレートは管理の段階で設定し、記録された実行記録には固有の権限が要ります。手順は、ユニットの運転の画面かダッシュボードから開始します。」

## ワークスペースの欄 {#the-workspace-column}

根が 3 つある 1 本のツリーです。

| 根 | 何を抱えるか |
| --- | --- |
| **モデル** | ステーションのすべてのモデルを名前順に並べ、それぞれが 4 つのグループを持ちます。モデルは自分で作ったフォルダーに入れられます。フォルダーは案内のためだけのもので、アドレスには決して入りません。 |
| **テンプレート** | ステーション全体の 2 つのライブラリーです。**レポート**（PDF の様式）と**ラベル**（プリンターの指令ファイル）で、どちらも同じようにフォルダーを受け付けます。 |
| **履歴** | 記録された実行を見るブラウザーです。葉なので、選ぶと詳細のパネルに実行記録の一覧が開きます。 |

どの行も閉じた状態で生まれます。目当ての枝を開けば、開いたものは保存をまたいで開いたままです。行を並べるグループには件数の印 `(3)` が付き、何も抱えていないときは「空」の語が付くので、まっさらなステーションでも「ここには何もない」と「まだ読み込んでいない」を見分けられます。定義の 5 行と、まとめの 3 行（定義、可視化、段取り）には印が付きません。パネルで編集するか、ほかの行をまとめるだけだからです。運転は自分のユニットを数えます。根、モデル、フォルダーは太字で描かれます。

フッターには**新規…**、**すべて展開**、**すべて折りたたむ**があります。新規…は Process の管理を持つロールにだけ描かれ、ステーションが施錠されている間は理由をツールチップにして灰色になります。開くのは 1 つのメニューで、**新しいモデル**、**新しいレポート**、**新しいラベル**、そして 3 つの項目（**モデル**、**レポート**、**ラベル**）を持つ**新しいフォルダー**の下位のメニューが並びます。下位のメニューはその根に空のフォルダーを開き、名前の欄をすぐ入力できる状態にします。どの項目も、その区分の根に作ります。フォルダーの中に作るのは、フォルダーに対する操作です（そのバー、またはその右クリックのメニュー）。

## モデルの 4 つのグループ {#a-models-four-groups}

モデルを選ぶと、そのモデル自身のページが開きます。識別情報、ユニットの表、そしてグループの上のタイルです（[モデルとフォルダー](process-models)を参照）。その下には、変わる頻度の順に 4 つのグループが立ちます。

| グループ | 行 | グループのページが言うこと |
| --- | --- | --- |
| **定義** | チャネル、メタデータ、自動化、生産性、プリンター | 「この工程の構造です。動かすステーション、測るもの、実行が刻むもの、ステーションをひとりでに動かすもの、生産するもの、そして印刷先です。工程が変わったときに変わります。」 |
| **可視化** | ダッシュボード（n）、操作パネル（n） | 「この工程の見せ方です。この上に定義した運転用ダッシュボードと、ユニットを操作する面です。それぞれ 1 つの定義が、モデルのすべてのユニットに使われます。」 |
| **段取り** | 発生記録、別名、データログ、レシピ、判定、アクション、手順 | 「試験台に載る製品が変わったときに変わるものです。何を監視するか、チャネルをどの名前で読むか、何を記録するか、実行が適用する設定値、何で判定するか、そしてそれらをまとめる手順です。」 |
| **運転** | ユニットごとに 1 つのノードで、それぞれがモデルの操作パネルごと、ダッシュボードごとに 1 つのノードを抱えます | 「このモデルを実行するステーションです。1 つ開くと、手順を用意し、開始し、記録と判定を伴う実行を見られます。」 |

まとめの 3 ページは、行へ跳ぶタイルの壁です。一覧を表すタイルは件数を出し、自動化、生産性、プリンターは名前を出します。運転は自分のユニットを実時間の状態とともに並べます。4 つのどれも、それ自身のコマンドバーを持ちません。

## 権限の段階 {#the-ladder-of-permissions}

Process へのアクセスは 4 つのローカルユーザーの権限で、[ユーザー](users)のページでロールごとに与えます。それぞれが下の段を含みます（[権限](users-permissions)を参照）。

| 段 | 何を許すか | ツリーが何を見せるか |
| --- | --- | --- |
| **モデルの閲覧** | 何も実行せず何も変えずに、すべてのモデル、ユニット、定義、段取りの面、テンプレートを読みます。 | モデルとテンプレートを丸ごと。どのパネルも読み取り専用で保たれ、操作は描かれません。 |
| **手順の実行** | ユニットの面で手順を用意して開始します。一時停止、再開、停止、中止、コメント、単発の指令、すべて開始とすべて停止、再投入です。 | 閲覧と同じです。 |
| **レシピと判定の編集** | 段取りの下のすべて。発生記録、別名セット、データログ、レシピ、判定、アクション、手順の作成、編集、削除です。 | 各モデルは、入れられていたフォルダーの中で、段取りの枝だけに減ります。テンプレートは落ちます。 |
| **Process の管理** | すべて。モデル、ユニット、定義の 5 画面、可視化、フォルダー、レポートとラベルのライブラリー、そしてすべての名前の変更です。 | すべてです。 |

このページにはもう 2 つの権限が届きます。**履歴の表示**は履歴の根を開きます（ほかに何も持たない識別情報には、ページそのものも開きます）。**ダッシュボードの編集**は、モデルのダッシュボードのダッシュボードを編集の操作が求めるものです。

このページは、アプリのどのコマンドバーとも同じやり方で 2 つの拒みを分けます。ロールが決して許さないものは、まったく描かれません。今この瞬間だけ拒まれるものは描かれたまま灰色になり、理由をツールチップにします。ロールが使えないメニューの行は「このワークスペースを管理するには「Process の管理」の権限が必要です。」と読め、その権限なしに名前の変更を試みると「Process のアドレスの識別情報の名前を変更するには、Process の管理の権限が必要です。」と答えます。

## コマンドバー {#the-command-bar}

バーは、選択に操作があるところならどこにでも立ちます。それを増やす、複製する、編集する、開始するものは左に、それを終わらせるものは危険の色で右にあります。選択にどちらもないところでは、バーは落ちます。

| 選んだノード | 先頭側の操作 | 終わらせる操作 | 必要な権限 |
| --- | --- | --- | --- |
| モデルの根 | **モデル** | | Process の管理 |
| フォルダー（モデル、レポート、ラベルの下） | **モデル** / **レポート** / **ラベル**（フォルダーの中に作ります）、**フォルダー**（下位のフォルダー）、**フォルダー名を変更** | **フォルダーを削除** | Process の管理 |
| モデル | **モデルを複製** | **モデルを削除** | Process の管理 |
| レポート | **レポート** | | Process の管理 |
| レポートの様式 | **見本を印刷**（[テンプレート](process-templates)を参照） | **レポートを削除** | Process の管理 |
| ラベル | **ラベル** | | Process の管理 |
| ラベルのテンプレート | | **ラベルを削除** | Process の管理 |
| ダッシュボード | **ダッシュボード** | | Process の管理 |
| 1 つのダッシュボード | **ダッシュボードを編集**、**View に表示**（スイッチ） | **ダッシュボードを削除** | Process の管理。エディターにはダッシュボードの編集 |
| 操作パネル | **操作パネル** | | Process の管理 |
| 1 つの操作パネル | **View に表示**（スイッチ） | **操作パネルを削除** | Process の管理 |
| 発生記録、別名、データログ、レシピ、判定、アクション、手順 | **発生記録**、**別名セット**、**データログ**、**レシピ**、**判定**、**アクション**、**手順** | | レシピと判定の編集 |
| 1 つの発生記録、別名セット、データログ、レシピ、判定、手順 | | **発生記録を削除** … **手順を削除** | レシピと判定の編集 |
| 1 つのアクション | **指令** | **アクションを削除** | レシピと判定の編集 |
| 運転 | **すべて開始**、**すべて停止** | | 手順の実行 |
| 編集中のダッシュボード | **編集を終える**（エディター自身の帯の上） | | |

どの作成の操作も、仮の名前で自分の行を作ります（「新しいモデル 1」、「レポート 2」、「手順 3」、「チャネル 4」）。どれも作ったものを開きません。画面は新しい行を並べるページに移り（そのページ自身のバーから作ったときは、画面はそのままです）、ツリーはそのページを選んで展開し、新しい行はそこで強調表示されて見える位置までスクロールされます。ページがカードの壁のとき（モデルの根、レポート、ラベル、それらのフォルダー、そしてカードを並べるモデルの各グループ）は新しいカードが強調表示されます。選んだ行のパネルが横に付く表のとき（モデルのユニット、アクション、アクションのコマンド、チャネル、メタデータの項目）は、表が新しい行を選び、それがその表の印になります。項目を開くのはカード、またはツリーのその行で、名前を付けるのはそこでの最初の仕事です。どの終わらせる操作も先に確かめます。構成の削除がすべて使う 1 つの対話です（「「X」を削除しますか？… この操作は元に戻せません。」）。いいえ、Esc、外側の押下で断れます。フォルダーを取り除くは、何も削除しない例外です。その確認は、根へ戻る行の数を数えます。

まとめの 3 ページ、定義の 5 行（その操作は画面自身の区画の見出しにあります）、テンプレートと履歴の根、運転の下のユニット、モデルのページのユニットの表（その操作はそのカードの見出しにあります）には、バーは立ちません。

このバーのどの操作も、ステーションが施錠されている間は理由をツールチップにして灰色になります（下を参照）。ロールが持たない操作は描かれません。

## 右クリック {#right-click}

行を右クリックするとその行が選ばれ、同じ操作がメニューとして開きます。そこには、バーではなく行に属する操作が加わります。モデルの**ユニットを追加**（画面はモデルのページに移り、ユニットはその表で選ばれます）、モデル、レポート、ラベルの**移動先**（新しいフォルダー、行がすでに第 1 階層のフォルダーにあるときは新しい下位のフォルダー、区分の根、または既にあるどのフォルダーでも）、チャネルの**チャネルを追加**とメタデータの**項目を追加**（画面はその行のページに移り、新しい行がそこで選ばれます）、アクションの**コマンドを追加**（画面はそのアクションのページに移り、コマンドがそこで選ばれます）です。ステーションが施錠されている間と、ロールが変えてよくない行の上では、このメニューは開きません。

## エンジニアリングロック {#the-engineering-lock}

どれか 1 つのモデルのどれか 1 つのユニットが実行の操作（準備中、記録中、一時停止中、保存中、終了処理中）に占められている間、ステーション全体の構成は読み取り専用になります。ページの上の通知バーには「エンジニアリングロック中：ユニットの操作が動いています。すべてのユニットが終わるまで構成は読み取り専用のままです。実行の操作とそのほかの操作員の操作は、引き続き使えます。」と出ます。Process のどのパネルも動かなくなり、バーのどの操作も「ユニットが実行中の間は構成がロックされます。」とともに灰色になり、開いているダッシュボードのエディターは閉じます。Connector、Logic、ダッシュボードも同じ境界で施錠されます。運転の下のユニットの面、その実行の指令、View のページ、履歴は、その間もずっと使えます。

## ランタイムの停止 {#the-stopped-runtime}

ステーションのランタイムが停止している間、Process のどの変更（構成、用意、実行の指令、コメント、実行記録の削除）も「ランタイム停止中」として拒まれます。すべて開始とすべて停止もそれとともに灰色になります。読み取り、履歴、エクスポート、レポートは引き続き使えます。

## エージェント {#agents}

loopback の[エージェントアクセス](agent)の endpoint は、同じモデルと実行記録に届きます。読み取りのツール `process_models`、`process_runs`、`process_run`、`unit_status` は読み取りの組に入り、操作のツール（`process_start`、`process_stop`、`process_hold`、`process_resume`、`process_abort`、`process_snapshot`、`process_evaluate`、`process_recipe_apply`、`process_comment`、`process_report`、`process_run_delete`）は、エージェントのページでそれ自身の許可の後ろに置かれます。それらの書き込みは Agent として記録されます。ランタイムが停止している間に答えるのは、読み取りのツールと `process_report` だけです。

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

- ツリーから実行を開始することはしません。手順は、運転の下のユニットの操作パネル、ダッシュボード、バインドした指令のポイント、または自動化を通した PLC から用意して開始します。
- モデル、フォルダー、グループの行を並べ替えることもしません。モデル、手順、ライブラリーは名前順、アクションはそれ自身の順、ユニットは追加した順に並びます。
- ツリーから名前を変えることもしません。モデル、ユニット、チャネル、メタデータの項目は、それ自身のパネルで、参照を書き換える安全な名前の変更を通して変えます。
- 何も取り消しません。どの削除も先に確認し、記録された実行記録が、このワークスペースの削除で触れられることは決してありません。
