# 判定

> 実行記録を判定する合否の判定基準です。判定基準のすべての項目、それぞれの結果が実行に何をするか、そして結果がどう総合判定にまとまるかを説明します。

**判定**は、使い回せる合否の判定基準の組です。どの判定基準も、実行の中のある範囲で読める 1 つのチャネルを見張り、記録されたサンプルを、固定の帯か、別のチャネルの周りの公差に照らして判断します。判定基準はそれぞれ自分の結果で閉じ、実行記録の総合判定は、それらをまとめたものです。判定の仕組みは、データログが記録する行の上で実時間に判断するので、判定基準のチャネルと、その基準チャネルは、手順のデータログの列でなければなりません。何が判定されたかは、実行記録ファイルが証明します。判定は Process > モデル > モデル > 段取り > **判定**の下にあり、**レシピと判定の編集**の権限が要ります。

## 判定のフォルダー {#the-evaluations-folder}

**判定**の行を選ぶとフォルダーのページが開き（「実行記録を合否で判定する基準です。判定は工程のチャネルを読みます。」）、判定 1 つにつき 1 枚のカードが名前順に並びます。カードを押すとそれが開き、X が取り除きます。1 つもないときは「まだ判定がありません。追加してください。」と出ます。

| 指令 | 何をするか | 灰色になるとき（状況） | 描かれないとき（ロール） |
| --- | --- | --- | --- |
| **判定**（詳細のバー、フォルダーを選んだとき。右クリック**判定を追加**） | 判定基準のない `判定 <n>` を足します。行はそのグループに足され、そこで強調表示されて見える位置までスクロールされます。開くのはそのカードです。 | どれか 1 つのユニットが実行に占められているとき、またはランタイムが停止しているとき。 | レシピと判定の編集がないとき。 |

## 判定のページ {#the-evaluations-page}

見出しには名前と、「実行記録を合否で判定する基準です。」の行と、判定基準を数えるピルが載ります。どの項目も自動で保存し、どの編集も、選んでいる判定基準の下見を描き直します。

### 定義 {#definition}

| 項目 | 何であるか | 値 / 既定 |
| --- | --- | --- |
| **名前** | ツリーでの呼び名、手順の判定の選択欄での呼び名、そして操作パネルのその場で判定の選択欄での呼び名で、どのユニットの `LastRun.Evaluations` の下でもフォルダーの名前になります（[名前はアドレス](#names-are-addresses)）。欄を離れたときに確定し、そのとき、いくつの参照が一緒に移るかを先に告げる名前の変更を通ります。空の名前は拒まれます。 | 自由な文字。作成時は `判定 <n>` です。 |
| **備考** | それを読む人のための自由な文字です。 | 既定は空です。 |

2 つの欄の下に、カードは、この判定やその判定基準の名前がほかのものと同じに読めるときにそれを伝えます。公開済みの版が保存していることのある状態です（[名前はアドレス](#names-are-addresses)を参照）。

### 実行記録の判定のしかた {#how-the-run-is-judged}

このカードは、仕組みが当てはめるまとめ方を、その順に述べます。

- **不合格**は、判定基準が 1 つでも不合格になったときです。
- **判定不能**は、不合格が 1 つもなく、判定できないものがあったときです。
- **合格**は、すべての判定基準が合格したときだけです。

「重大度は、それを何も変えません。手順の中止のしきい値と照らし合わせ、不合格がその場で実行を終わらせるかどうかだけを決めます。」カードは、実行より先に注意もします。「今の設定では判定できない判定基準が 1 件あるので、実行は判定不能で終わります。」（または「… `<n>` 件あるので …」）です。そして、まだ何もそれを参照していない間は「このモデルの手順は、まだこの判定で実行されていません。」と言います。

## 判定基準の一覧 {#the-criteria-list}

一覧の見出しは**判定基準**で、その**判定基準**のボタンが、モデルの最初の読めるチャネルの上に行を足して選びます（判定の起点は実行記録の全体、判定の方式は範囲の全体、両側の開いた固定の帯、重大度は重大、名前なし）。行を押すと、**判定基準**の欄でそれが開きます。何も選んでいないとき、その欄には「判定基準を選ぶと、その全体を 1 か所で編集でき、各項目が何を決めるのかも横に出ます。」と出ます。一覧は判定基準の全体を持ち、パネルの幅を越えて横にたどれます。

| 列 | 何を持つか |
| --- | --- |
| **名前** | 判定基準の名前で、その場で編集できます。欄を離れたときに、欄の**名前**の項目と同じ名前の変更を通って確定します。拒まれたときはステータスバーに出ます。 |
| **チャネル** | 判定する読めるチャネルです。 |
| **判定の起点** | 実行記録の全体、時間範囲、区間で、それぞれ、判定する区間の形が名前の横に付き、その帰結がツールチップに出ます。 |
| **時間の幅** | 起点が求める 2 つの設定です。区間の起点には**区間**と**安定待ち**、時間範囲の起点には**開始日**と**終了日**、実行記録の全体には「実行記録の全体」です。 |
| **方式** | 範囲の全体か 1 点で、その形が付きます。 |
| **上下限** | 固定の帯か設定値の周りで、その形が付きます。 |
| **帯** | 固定の帯には**最小**と**最大**（「空欄ならその側は開いたまま」）、相対の上下限には基準チャネルと**±** 公差です。 |
| **重大度** | 軽微、重大、致命的です。 |
| **結果** | その判定基準が実行に何をもたらすかです（「不合格で実行記録を失敗させます」、「不合格で実行記録を失敗させ、そこで止めます」、「判定できません」）。全文がツールチップに出ます。 |
| 行の操作 | **削除**が「判定基準を削除」と、その名前（または、そのチャネルの名前）と、「判定からこの判定基準を削除します。」を尋ねます。 |

## 判定基準の全体 {#the-criterion-in-full}

その欄は下見から始まります。選んでいる判定基準の帯と、それが判定する区間が、宣言された軸の上に、そのそばにサンプルなしで描かれます（設定の画面の裏に実行はありません）。固定の帯はチャネルの工業値で、両側に不合格の余地を残して描かれます。相対の帯は基準チャネルからのずれとして描かれ、その基準チャネルは 0 の線として立ちます。何も描けないとき（上下限が決まっていない、基準が選ばれていない）は、枠が空のまま立たずに、その理由を言います。その下では、どの項目も決まった説明の行の上に立ち、答えが入力とともに動くところでは、効いているものの効果も出ます。効果の行の数値は、ステーションの数値の形式（[言語と形式](settings-localization)）で、それぞれが持つ桁のまま書きます。帯の境界や公差は、その欄が見せる最大 6 桁までで、時間は 1 秒未満ならミリ秒、1 秒からは秒で書きます。

| 項目 | 何であるか | 値 / 既定 | 効果の行 |
| --- | --- | --- | --- |
| **名前** | 「結果が表示されるすべての場所で、この検査を名乗る名前です。」空のときは、レポートでも、`LastRun` の下の判定基準のアドレスでも、チャネルに戻ります。行に名前が付くまで、欄は自分に `判定基準 <n>` という見出しを付けます。 | 自由な文字。作成時は空です。 | 名前を確定すると何が一緒に動くかで、名前を変えるどの欄も言うとおり、いくつの参照が移るか、または 1 つも移らないかです。 |
| **チャネル** | 「判定する読み取り値です。手順のデータログの列でなければなりません。」 | モデルの読めるチャネル。作成時は最初のものです。 | |
| **判定の起点**（範囲） | 「実行のどの区間について、この判定基準を判定するかです。」 | **実行記録の全体**（既定）、**時間範囲**、**区間**。 | 実行記録の全体：「実行の全体で判定します。レシピは要りません。」時間範囲：「実行の開始から測った 2 つの時点の間で判定します。」区間：「レシピがその区間にいる間、遅延の後に判定します。一時停止すると、その分だけ延びます。」 |
| **区間（0 から数える）**と**安定待ち（ms）**（区間の起点） | 「レシピのどの区間を判定するか、そしてその区間に入ってからどれだけ待って範囲を開くかです。」 | 整数。既定はどちらも 0 です。どちらの欄も負の数を受け取りません。入力は拒まれ、欄の下の注意書きがそれを伝え、前の値が戻ります。 | 「区間 1 と同時に開きます。」または「区間 1 に入って 2 秒 で開きます。」 |
| **開始（ms）**と**終了（ms、0 なら実行の終わり）**（時間範囲の起点） | 「実行の開始から数えた 2 つの時点で、範囲はその間に立ちます。」 | ミリ秒。既定はどちらも 0 です。終了が 0 なら実行が終わるまでで、そうでなければ終了は開始より後でなければなりません。 | 「5 秒 から実行の終わりまでです。」、「5 秒 から 30 秒 までです。」、または「終了が開始と同じか、それより前なので、範囲が空です。」 |
| **方式** | 「その区間のどれだけに、判定を委ねるかです。」 | **範囲の全体**（既定）、**1 点**。 | 範囲の全体：「範囲のすべてのサンプルが合格しなければなりません。」1 点：「範囲の最後のサンプルだけで決まります。」 |
| **上下限**（上下限） | 「上下限をどの形で与えるかで、その下の欄が何を尋ねるかも決まります。」 | **固定の帯**（既定）、**設定値の周り**。 | 固定の帯：「固定の工業値の帯です。どちらの側も開いたままにできます。」設定値の周り：「同じ行で採取した別のチャネルを中心にした帯です。」 |
| **最小**と**最大**（固定の帯） | 「読み取り値が収まっていなければならない工業値です。片側を空欄にすると、その側は開いたままです。」 | 数か空欄。作成時はどちらも空欄です。 | 「上下限を決めていないので、どの読み取り値も合格します。」、「20 以上で合格します。」、「80 以下で合格します。」、「20 から 80 までで合格します。」、または「最小が最大より上なので、これは判定できず、実行は判定不能で終わります。」で、これは行の下の結果の区画も同じことを言います。 |
| **基準**と**± 公差**（相対） | 「読み取り値を測る相手のチャネルと、そこからどれだけ離れてよいかです。」 | モデルの読めるチャネルと数。作成時はなしと 0 です。 | 「設定値 から ±0.5 以内で合格します。」または「公差を測る相手のチャネルを選んでください。」 |
| **重大度** | 「手順の中止のしきい値と照らし合わせます。レポートでの強調も、これで決まります。」 | **軽微**、**重大**（既定）、**致命的**。 | |
| **結果** | その判定基準が生むものと、それが実行に何をするかです。 | 読み取り専用です。 | 下を参照してください。 |

### 結果が何を言うか {#what-the-result-says}

| 行 | 詳しく | いつ |
| --- | --- | --- |
| 「不合格で実行記録を失敗させます」 | 「失敗すると実行記録は不合格になります。」または、どれかの手順がその判定を実行しているときは「失敗すると実行記録は不合格になります。この重大度で中止する手順がないので、実行記録は最後まで進みます。」 | この判定を実行するどの手順も、この判定基準の重大度では中止しないとき。 |
| 「不合格で実行記録を失敗させ、そこで止めます」 | 「失敗すると実行記録は不合格になり、そこで終わります。`<procedure>` がこの重大度で中止するためです。」 | この判定を実行する手順が、この重大度かそれより軽い重大度で不合格のときに中止するとき。 |
| 「判定できません」 | 「今の設定では判定できないので、実行記録は判定不能のままになります。」に続けて、その理由が出ます。 | 下の理由のどれかが当てはまるとき。 |

判定基準が判定できない理由は、設定のときに、仕組み自身の順で尋ねられます。「このモデルのチャネルを監視していません。」、「監視するチャネルが、これを実行する手順のデータログに記録されていません。」、「このモデルの基準チャネルを参照していません。」、「終了が開始と同じか、それより前なので、範囲が空です。」、「上下限が足りないか、上下が逆です。」、「基準チャネルが、これを実行する手順のデータログに記録されていません。」です。データログについての理由は、その判定を実行する手順にだけ尋ねられます。どの手順もまだ取り上げていない判定は、まだ出来上がっていないだけで、誤ってはいません。

## 判定基準がどう総合判定にまとまるか {#how-criteria-fold-into-a-verdict}

効いている範囲の中の、記録されたどの行も 1 度だけ分類されます。**判定した**、**取得不可**（値の欠測か品質の悪さ）、**無効**（品質はよいが有限の数でないもの。品質のよい `NaN` は監査できる生のデータとして残りますが、数値の判定基準を保証することはできません）です。固定の上下限には見張っている値が要り、相対の上下限には、見張っている値と基準の値が同じ行から要ります。判定したサンプル数、範囲外のサンプル数、取得できないサンプル数、無効なサンプル数の計数と、影響を受けたチャネルの固定した組は、判定基準ごとに記録され、ユニットの `Procedure.*` のポイントの下で実時間にも読めます（[ユニットのアドレス空間](process-addresses)を参照）。

どの結果も、何を測ったかを記録します。範囲の中で見張っているチャネルの、最後に判定した値（**1 点**の方式では判断したサンプル）と、判定した値の一番小さいものと一番大きいもの、そして最悪の逸脱、つまり数えたサンプルの中で上下限を超えた距離のいちばん大きいものです（サンプルを判定して 1 つも範囲外がなかったときは 0）。取得できない行と無効な行は決して数えないので、何も判定しなかった範囲はこれらを何も記録しません。以前の版が書いた実行記録ファイルには測定値がなく、空として読まれます。

どの結果も、判定した実行の区切りを残します。方式、判定の起点、時間範囲の開始と終了、区間とその安定待ちです。あとで開いた実行記録も何を判定したかを言えるので、実行記録の詳細と PDF のレポートの根拠はそこから始まります（[判定した判定基準](histories-record#judged-criteria)を参照）。以前の版が書いた実行記録ファイルはそれを残していないので、根拠には計数だけが出ます。

結果は、根拠について厳しく決められます。**範囲の全体**の方式では、判定した違反が 1 つでもあれば**不合格**が証明されます。そうでなくて、取得できない行や無効な行、観測の中断、空の範囲があれば、その判定基準は**判定不能**になります。帯の中の根拠がそろっているときだけ**合格**になります。**1 点**の方式は、範囲の最後の効いているサンプルだけで決めます。その結果の計数、最悪の逸脱、影響を受けたチャネルも、そのサンプル 1 つだけのものです。一番小さい値と一番大きい値は、見張った範囲の全体をそのまま覆います。時間指定の手順は、サイクルごとに判定基準の起点を取り直し、不合格になったサイクルを数えます。実行記録の総合判定は、順にまとまります。中止された実行、または不合格の判定基準が 1 つでもあれば**不合格**です。そうでなくて判定不能の結果が 1 つでもあれば**判定不能**です。結果がすべて合格なら**合格**です。判定のない実行は、総合判定なしで終わります。手順の中止のしきい値や、不合格のサイクルの数え上げを動かすのは、確定した不合格だけです。

## 名前はアドレス {#names-are-addresses}

どのユニットも、最後の実行の結果を `Process.<Model>.<Unit>.LastRun.Evaluations.<Evaluation>.<Criterion>` の下に公開します（[LastRun](process-addresses#lastrun)）。そのため、判定の名前と、それぞれの判定基準の名前（名前のない判定基準なら、見ているチャネルの名前）は、アドレスの区切り、つまり整えられた名前になります。「Soak check」は `Soak_check` です。どちらかの名前を変えると、モデルのほかの名前の変更と同じく、これらのアドレスが移り、それを書いた式、スクリプト、画面が書き換わります。名前のない判定基準が見ているチャネルの名前を変えても、それは移ります。

同じに読める 2 つの名前は 1 つのアドレスに対応し、そのアドレスはどちらの結果を持っているのかを言えません。そのため、次のようになります。

| 状況 | どうなるか |
| --- | --- |
| ある名前のせいで、モデルの 2 つの判定、またはこの判定の 2 つの判定基準が、同じ区切りになる（大文字と小文字は区別しない） | 拒まれ、その区切りと、すでにそれに対応しているものが示されます。 |
| この判定の 2 つの判定基準に名前がなく、同じチャネルを見ている | 許されます。新しい判定基準はそうして始まるからです。どちらかに名前が付くまで、どちらの結果も `LastRun` の下では読めません。 |
| 以前の版が保存したモデルに、すでにそういう 2 つの名前がある | そのまま残り、そのまま保存されます。共有されたアドレスは何も読まず、定義のカードがそう伝えます。「アドレスの区切り Soak_check は Soak Check と同じなので、Logic はどちらの最後の実行の結果も読めません。どちらかの名前を変えてください。」または「判定基準 Oven air, Oven Air はアドレスの区切り Oven_air を共有しているので、Logic はどれの最後の実行の結果も読めません。それぞれに別の名前を付けてください。」 |
| そういう名前を持つモデルを複製する | 複製は、元が持っていたとおりにそれを保ちます。 |

## 判定がどこで使われるか {#where-an-evaluation-is-used}

| 面 | 判定をどうするか |
| --- | --- |
| 手順の**判定**の段 | その手順のすべての実行を判定します。**不合格で中止する重大度 ≥** の選択欄も一緒に来ます。段の行には「判定基準 4 個を判定します。重大 の不合格で実行記録を中止します。」または「… 不合格でも実行記録を中止しません。」と出ます。判定を持ちながらデータログを持たない手順は、検査を通りません。[手順](process-procedures)を参照してください。 |
| 操作パネルの**単発の指令**のカード | **その場で判定**が、データログを通して 1 行を記録し、その判定に照らして判断します。総合判定は履歴に記録されます。判定のチャネルは、選んだデータログの列でなければなりません。 |
| ラベルの指令 | 差し込み項目は、判定基準の名前、チャネル、上下限、重大度、結果、誤差、範囲の時点、サンプルの計数、影響を受けたチャネル、最大の逸脱を、はっきり指定したサイクルについて読めます。[アクション](process-actions#markers)を参照してください。 |
| レポート | 判定基準の節が、どの判定基準の結果も、その重大度が決める強調とともに印字します。 |
| Logic | どのユニットの `LastRun.Evaluations` も、そのユニットの最後の実行でのそれぞれの判定基準の結果（結果、測定値、最小と最大、上下限、最大の逸脱、不合格のサイクル）を読みます。完了時に呼び出される Logic のアクション、画面、警報のためです。[LastRun](process-addresses#lastrun)を参照してください。 |

## 判定を削除 {#remove-evaluation}

**判定を削除**は、判定を選んだときの詳細のバーの危険のまとまり、その右クリックのメニュー、そしてフォルダーのページのカードの X にあります。先に尋ねます（「判定を削除」、「判定と、その判定基準を削除します。」）。それで判断していた手順は、判定の参照が空になり、その実行は総合判定なしで終わるようになります。レシピと判定の編集が要り、エンジニアリングロックの下とランタイムの停止中は灰色になります。

## 判定がしないこと {#what-an-evaluation-does-not-do}

- データログが記録しないものは何も判断せず、実行やスナップショットの外では何も判断しません。
- 式の判定基準は持ちません。判定基準は、1 つのチャネルの上の帯か公差です。
- ユニットによって何も変わりません。1 組の上下限が、モデルのすべてのユニットに効きます。
- それ自身で実行を終わらせることはありません。不合格が実行を中止するかどうかは、手順の不合格で中止する重大度のしきい値が、判定基準の重大度と照らし合わせて決めます。
