# 有効化と稼働状態

> ツリーの各階層で何がデータ収集に参加するか、ドットと状態の文字が何を意味するか、すべて／正常／問題あり／オフのチップ、ステータスバー、最後のエラー、そして再接続、再読み込み、すべて再読み込みのコマンド。

「通信」欄の全体を 2 つの問いが貫いていて、どの階層でも同じ答え方をします。何がデータ収集に参加しているのか、そして今何が答えているのか、です。前者は有効化と無効化のコマンドで自分が決めることで、後者は常時動いている監視が 1 秒ごとに観測し、ページのすべてのドット、ステータスバー、そして Logic とダッシュボードが読む Connector の値へ押し出すものです。

## 何が参加するか {#what-takes-part}

有効かどうかは階層ごとに決まり、上のスイッチが下のスイッチを書き換えることは決してありません。

| 階層 | コマンド | オフにしたときの効果 |
| --- | --- | --- |
| シリアル回線 | 回線のバーにある有効化 / 無効化 | その上のすべての機器についてバスが閉じます。各機器は自分の有効の選択をそのまま保ち、回線をふたたび有効にすると、まったく元のとおりに戻ります。回線の組が不正なあいだ、有効化は拒否されます。 |
| ブローカー | ブローカーのバー、またはその行にある有効化 / 無効化 | その下のすべての機器について MQTT のセッションが閉じます。各機器は自分の有効の選択を保ち、ブローカーをふたたび有効にすると元のとおりに戻ります。ブローカーにホストがないあいだ、有効化は拒否されます。 |
| 機器 | 機器のバーまたはその行にある有効化 / 無効化 | 機器とのすべての通信が止まり、そのタグが実時間のアドレス空間から出ます。タグは自分のスイッチをそのまま保ちます。既定はオンです。 |
| タグ | タグのバーまたはその行にある有効化 / 無効化 | そのタグ 1 つがデータ収集と実時間のアドレス空間から出ます。既定はオンです。書き込みのみのタグは、有効かどうかにかかわらず読み出されません。 |

有効化と無効化にはどれも Connector の構成が必要で、実行がステーションを占有しているあいだ、またはランタイムが停止しているあいだは灰色になります。同じドライバーでスキャンが動いているときは、回線と機器のものも灰色になります。機器が**運用上有効**であるとは、その機器が有効で、シリアル回線上の機器ならその回線も、MQTT ならそのブローカーも有効であることです。定周期読み出し、オフのチップ、稼働状態の監視が見ているのはこれです。ドライバー自身にはスイッチがありません。パッケージに入っているドライバーはすべて選べるようになっており、何を読むかはその下の階層が決めます。

## 機器の稼働状態 {#the-health-of-a-device}

監視は、機器の有効で読める側のタグから、その機器の稼働状態を導きます。

| 稼働状態 | ドット | 意味 |
| --- | --- | --- |
| **オンライン** | 緑 | 有効で読める側のタグが、すべて直前の読み取りに答えました。OCPP の充電ポイントや LoRaWAN のセンサーがまだ最初の値を送っていないタグ（最初の充電の前の、充電コネクターの Transaction など）は、その値が届くまで数に入りません。ほかに 3 つの場合も、最初の値がまだ届いていないタグは数に入りません。File ドライバーが読むファイルがまだないとき、Generic serial and TCP ドライバーの受信待ちのタグが、フィルターの受け入れる最初のメッセージをまだ受け取っていないとき、そして Database ドライバーのタグが、まだ行のないテーブルの最新の行を読むときです。最初の値は、機器が最後に接続したときから数えます。充電のあとで充電ポイントが接続し直すと、充電コネクターの Transaction は次の充電まで再び数に入りません。機器が接続してから一度でも値があったタグは、待っているあいだも通常どおり数に入ります。 |
| **一部応答** | 黄 | 答えたものと、答えなかったものがあります。 |
| **オフライン** | 赤 | ひとつも答えませんでした。 |
| **無効** | 灰 | 機器が無効か、そのシリアル回線かブローカーが無効です。 |
| **まだ不明** | 灰 | 判断する材料がありません。有効なタグがないか、ホストがまだ入力されておらず、ステーションが接続しようとしない機器か、保存のあとやサーバーの起動時にステーションが動いているサーバーへ入れ直している機器です。入れ直している機器は、タグのどれかが答えるまで、またはどれかのタグが読み出し周期に 10 秒を足した時間を答えずに過ごすまで、この状態のままです。接続済みでも、まだどのタグの値も送っていない LoRaWAN のセンサー、それにオンラインの説明のとおり、読めるタグがすべてまだ最初の値を待っている機器も、この状態です。 |

機器自身のドットも、タグと同じく、監視を待たずに有効化と無効化へすぐに応えます。無効化すればすぐに無効と出て、有効化すれば、監視がオンになった機器を読むまでまだ不明と出ます。シリアル回線を有効化や無効化したときも機器は同じように応え、そのフォルダー、ドライバー、ドライバーのフォルダーのドットも同じ瞬間に追いかけます。

OCPP の充電ポイントは、LoRaWAN の無線コンセントレーターがゲートウェイの接続から稼働状態を得るのと同じように、タグが黙っているかどうかではなく、このステーションのセントラルシステムへの接続から稼働状態を得ます。つないでいる間は、これまでに何を送ったかにかかわらずオンライン（送ってきたタグの一部が失敗しているときは一部応答）、ステーションを開いてから一度もつないできていないときや落ちたあとはオフライン、まだ不明はステーションが入れ直してから最大 10 秒の間だけです。表の全体は [OCPP](driver-ocpp#the-charge-points-health) にあります。

有効なタグがすべて書き込みのみの機器には判断する読み取りがないので、代わりに通信路の接続の状態を取ります。接続していればオンライン、していなければオフライン、Connector がまだ試していなければまだ不明です。上下限の異常を伴う範囲外の値は、接続の問題ではなくプロセスの状態です。タグのドットは黄色になりますが、機器をオフラインと数えることは決してありません。代替値も同じで、機器がオフラインと報告されたままでも、タグは読める状態に保たれます。内蔵の OPC UA サーバーはこの稼働状態に含まれません。サーバーが停止しているあいだも Connector は読み続け、すべてのタグは実時間の値を保ちます。サーバー自身の状態は [状態](connector-opcua-server) にあります。すべてのタグが空欄になるのは Connector そのものが動いていないときだけで、そのときステータスバーには「Connector：停止」と出ます。

## タグのドット {#the-tags-dot}

タグのドットは、ツリーでもタグのページでも同じです。ステーションが読んでいないタグは、最後に何を表示していても灰色です。無効なタグと、無効な機器、無効な回線の下の機器、ホストがまだ入力されていない機器のすべてのタグがそうで、無効化すればその機器のタグはすぐに灰色になります。ステーションが読んでいるタグでは、値が代替値であるか上下限の段階が異常を上げたときは黄色です。読める数値であることと、それが測定であることは同じではないからです。読み取りが途絶えたときも黄色です。タグに値があるあいだは緑で、それ以外は灰色です。読み取りが途絶えるのは、タグの読み出し周期に 10 秒を足した時間のうちに新しい読み取りが届かないときで、機器が接続を受け入れたあとで応答をやめた場合などです。このとき読み取りは失敗したものとして扱われます。タグは[機器が応答しなかったとき](connector-value-pipeline#the-device-did-not-answer)の方針が示すものを表示し、既定では値がなく品質が悪くなり、最後に届いた読み取りの取得元の時刻がその時点を示し、機器の稼働状態のなかでは応答していないものとして数えられます。直前の読み取りが失敗したとき、タグの行は赤いエラー印も持ち、その文言がツールチップになります。

## シリアル回線の状態 {#serial-line-states}

シリアル回線は、どのドライバーのものも、物理ポートを機器とは別に報告します。ツリーの行、ドライバーの回線の表、そして回線のページの見出しに出ます。

| 状態 | ドット | 意味 |
| --- | --- | --- |
| **オフ** | 灰 | 回線が無効です。 |
| **待機** | 灰 | 有効ですが、有効な機器がありません。ポートは開いていません。 |
| **接続中…** | 黄 | 機器が有効で、ポートを開いているところ、または失敗のあとに開き直しているところです。 |
| **オンライン** | 緑 | ポートが開いていて、通信しています。 |
| **ポート障害** | 赤 | ポートを開けなかったか、失敗しました。理由はステーションの言語で見出しの下に出て（別のプログラムがポートを使っている、ポートが存在しない、ポートで障害が起きた）、オペレーティングシステムの言葉のまま行のエラーのツールチップに出ます。診断ログには失敗が 1 回、復旧が 1 回記録されます。 |

回線の要約の文字には、その機器が何をしているかが加わります：「オンライン · 機器 2 台中 2 台がオンライン」、「オンライン · オンライン 1 台 · 問題あり 1 台」、「待機 · 有効な機器がありません」。回線がオンラインでも、誰も答えない機器を抱えていることはあります。MQTT のブローカーも同じように、機器とは別に自分のセッションを報告します。その状態は[MQTT](driver-mqtt#broker-states)にあります。

## ドットのまとめ方 {#how-the-dots-roll-up}

フォルダー、シリアル回線、ドライバー、そしてドライバーのフォルダーは、どれも自分の子に同じ規則を当てます。数えるのはオンライン、一部応答、オフラインの子だけで、無効とまだ不明は中立であり、親を黄色や赤に引き下げることは決してありません。数える子のうち、すべてがオンラインならオンライン、ほかのものに混じってオンラインか一部応答があれば一部応答、すべてがオフラインならオフライン、数える子がひとつもなければまだ不明です。フォルダーは、サブフォルダーを含めて中のすべての機器をまとめます。Modbus RTU のドライバーは自分の回線を、Generic serial and TCP と SCPI instruments のドライバーは自分の回線と回線上にない機器を、MQTT のドライバーは自分のブローカーをまとめます。ドライバーのフォルダーは、その下のすべてのドライバーをまとめます。1 つのドライバーがオンラインで、もう 1 つのドライバーの機器がすべて無効なら、ドライバーのフォルダーは黄色ではなくオンラインと読まれます。[サーバー](connector-servers)のフォルダーの 2 つの行はこのまとめの外にあります。それぞれのドットはそのサーバーの様子だけを示し、ドライバーのフォルダーのドットもステータスバーも動かしません。

## すべて / 正常 / 問題あり / オフのチップ {#the-all--ok--issues--off-chips}

ツリーの上のチップは、この同じ状態ですべての行を分けます。**正常**は、運用上有効で、オンラインか、まだ判断する材料のない機器か回線（ホストがまだ入力されていない機器を含みます）、そして上下限の内側の測定値を読んでいる有効なタグです。**問題あり**は、オフラインか一部応答の有効な機器か回線、そして、ステーションが読んでいる機器にあって、値がないか、値が代替値か上下限の外にあるか、読み取りが途絶えた有効なタグです。**オフ**は、無効な機器、回線、タグで、無効な回線の下の機器も含みます。タグが読まれるのは、その機器が読まれているあいだだけです。そのため、オフの機器のタグはすべて機器と一緒にオフに入り、ホストがまだ入力されていない機器の有効なタグは、何を表示していても機器と一緒に正常に入ります。値がなくても、最初の値がまだ届いていないために機器の稼働状態の数から外れている有効なタグ（オンラインを参照）も、正常に入ります。2 つのサーバーは自分の状態で分けられます。オンで失敗していなければ**正常**、オンなのに起動できなければ**問題あり**、オフなら**オフ**です。ドライバーの行と 2 つのフォルダーは、その下の何かが条件を満たすときに出ます。選んでいる行は常に見えたままです。チップについては、欄のほかの部分と一緒に [Connector](connector#search-and-the-state-chips) で説明しています。

## ステータスバー {#the-status-bar}

ウィンドウのステータスバーの左にある Connector のマークと文字は、同じ監視を 1 行に畳んだものです。マークはツリーのドットと同じく緑、黄、赤、灰色に色づきます。オフラインや一部応答の機器がないときは「Connector：オンライン」。それ以外のときは、いちばん状態の悪い機器を名指しして、オフラインなら「Connector：Furnace が通信していません」、一部応答なら「Connector：Furnace が不安定です」と出ます。Connector 自身が動いていない間は「Connector：停止」です。これは Connector だけを語ります。機器を公開する内蔵の OPC UA サーバーには自分の状態が [状態](connector-opcua-server) にあり、サーバーが停止している間も Connector は読みます。通知領域のアイコンも同じ行を示します。この表示をクリックすると Connector のページが開きます。ステータスバーの残りは[ウィンドウ](app-window)にあります。

## 最後のエラー {#last-error}

ツリーの各階層は、自分のエラーを詳しく示し、すぐ下の階層でエラーのある項目を名前で挙げ、エラーが上から来ているときは上を指し示します。どのドライバーでも同じです。自分のエラーがある項目は、ツリーの行とそれを並べるすべての表で、名前のあとに赤い印が付き、理由がツールチップになります。その理由は項目と項目自身のページに残り、診断ログはどの行も丸ごと残します。

| 階層 | 自分のエラー | 下の階層 | 上から来たエラー |
| --- | --- | --- | --- |
| ドライバー | パッケージに含まれていないドライバーや、このコンピューターにないライブラリー。ページの知らせとして出ます | エラーのあるシリアル回線とブローカー、続いてエラーのある機器を名前で挙げます：「エラーのある機器 2 台：Boiler、Chiller」 | なし |
| シリアル回線、MQTT ブローカー | 開けないポートや、ステーションを拒むブローカー。見出しの下にステーションの言語で赤く出ます（下記） | エラーのある機器を名前で挙げます | なし |
| 機器 | 接続できない、または接続を拒まれた。見出しの下と、ドライバーの機器の表の**最後のエラー**の列に赤で出ます。どちらもステーションの言語で出て（下を参照）、行全体はセルのツールチップになります | エラーのあるタグを名前で挙げます：「エラーのあるタグ 3 件：C3、Opt_Int、T5」。3 つを超える分は数で示します（「+2」） | エラーのあるシリアル回線やブローカーの下では、機器に印は付かず、機器のページは「この機器はシリアル回線 Bench bus を経由しますが、その回線にエラーがあります。理由は回線のページにあります。」と示します |
| タグ | 読み取りや書き込みが失敗した理由。見出しの下に赤で出ます | なし。タグは最後の階層です | 機器が接続されていないあいだ、タグに印は付かず、タグのページは「このタグは機器 Furnace を経由しますが、その機器は接続されていません。理由は機器のページにあります。」と示します |

機器自身のエラーは、機器が再接続すると、オンラインでも一部応答でも消えます。まだ失敗しているタグは、そのタグ自身のエラーを自分の行とページに残し、機器の行には接続エラーが付かなくなります。機器がオンラインのまま書かれたエラーは、ステーションがその機器から読むすべてのタグについて、記録が書かれたあとの読み取り値が届いた時点で消えます。オンラインで数に入らない、最初の値を待っているタグは、ここでも数に入りません。タグのエラーは、記録が書かれたあとにそのタグの読み取り値が届いた時点で消え、機器の状態が変わったかどうかは関係ありません。そのタグは機器の一覧からも外れます。あとの読み取りで、タグが機器の接続以来の最初の値を待っているだけだとわかったときも、タグの読み取りエラーは消えます。充電中でない充電ポイントが接続し直すと、充電コネクターの Transaction は最初の充電の前と同じように、エラーなしで再び待ちます。パッケージがドライバーを持たない機器は、その場所に代わりに「このパッケージに含まれていないドライバーです。」という知らせを見せます。調べるべき障害がないからです。証明書を待っている OPC UA の機器は「証明書の承認を待っています」と見せます。有効でホストがまだない機器は「ホストがまだ入力されていません」と見せます。まだ何も試していないので示すエラーはなく、前のホストが残したエラーも消えます。診断ログの全体は Events のページにあります。

機器、タグ、シリアル回線、ブローカーの見出しの下の赤い行と、機器の**最後のエラー**のセル、そしてタグのページの書き込みの答えは、何が失敗したかをステーションの言語で伝えます。どの試行でもそうで、ドライバーが自分で書いた行もそうです。診断ログの行の書き出し、例外のクラス、オペレーティングシステムの英語、ステーションが次にすることは出ません。セルのツールチップ、ツリーの印のツールチップ、イベントのページには行全体が残ります。

| 失敗したもの | 赤い行が伝えること |
| --- | --- |
| Modbus のユニットが読み取りに例外で応答する | 機器が読み取りを拒否したこと、**レジスターの種類**の一覧が付ける名前でのクラス、機器のマニュアルが印刷するとおりのアドレス（入力レジスターの 0 は 30001）、そしてコード。コード 1 から 4、10、11 にはその意味が付きます（コード 2 は不正なアドレス） |
| ポートが接続を拒否する | 「機器はポート 502 で接続を受け付けていません。そのポートで動作しているサービスがないか、ファイアウォールが拒否しています。」 |
| ホストは ping に応答するが、ポートは何も言わない | 「10.0.0.5 は ping に応答しますが、ポート 502 は応答しません。このステーション、機器、またはその間のネットワークで、ファイアウォールがそのポートをブロックしている可能性があります。このステーションから 10.0.0.5 への TCP 502 を許可してください。」 |
| ポートも ping も応答しない | 「10.0.0.5 は ping にも応答しません。機器の電源が入っているか、ホストが正しいかを確認してください。ping もブロックするファイアウォールでも同じように見えます。」 |
| 機器が時間内に応答しない | 「機器が時間内に応答しませんでした。」 |
| ホスト名を解決できない | 「名前 plc-7 をネットワークアドレスに解決できません。機器のホストを確認してください。」 |
| ドライバーが自分の言葉なしで失敗した | 「機器は理由を示さずに失敗しました。技術的な詳細はイベントページにあります。」 |
| Modbus のユニットが書き込みに例外で応答する | 機器が書き込みを拒否したこと。拒否された読み取りと同じように伝えます |
| 機器との接続が切れる | 「機器との接続が切れました。」 |
| ホストへのネットワークの経路がない | 「このステーションから機器へのネットワークの経路がありません。機器のホストと、その間のネットワークを確認してください。」 |
| Web サービスが成功の範囲の外の状態で応答する | 「機器が HTTP ステータス 503 で応答しました。」。401、403、404 ではそのあとに状態の意味が付きます（401 はユーザー名またはパスワードが受け付けられなかったこと） |
| 機器が読み取りに値なしで応答し、ドライバーが理由を何も言わない | 「機器は読み取りに値なしで応答しました。」 |
| 機器の応答がタグの型の値ではない | 「機器の応答を、タグの型の値として読めません。」 |
| 別のプログラムがシリアルポートを使っているか、ポートが存在しない | 「シリアルポート COM3 は別のプログラムが使っているか、Windows がステーションに開かせません。」 または 「シリアルポート COM3 はこのコンピューターにありません。ポートの名前と、アダプターが差し込まれているかを確認してください。」 |
| MQTT ブローカーがステーションを拒否する | 何を拒否したかと、どこで直すか：「ブローカーがユーザー名またはパスワードを拒否しました。「ブローカーへの接続」カードの「ユーザー名」と「パスワード」を確認してください。」 |
| 現場設備またはブローカーが提示した証明書をステーションが拒否した | 「この現場設備の証明書（9F2C44A01B7E33D0）は、Redfish ドライバーのページの「現場設備へのアクセス」であなたの承認を待っています。承認すると読み取りが始まります。」。このステーションで遮断された証明書、有効期間の外にある証明書、承認では代わりにならない検査に通らない証明書も同じように述べます |
| Siemens の CPU が接続を拒否した | 「CPU は TCP 接続を受け付け、S7 接続を拒否しました。機器の「ラック」と「スロット」を確認してください。」。拒否されたパスワード、ドライバーの横にない OpenSSL のライブラリ、名前によるアクセスに応答しない CPU も同じように述べます |
| 機器の読み取りが予期せず止まった | 「この機器の読み取りが予期せず止まったため、タグに値がありません。プログラムを再起動すると再び読み取ります。技術的な詳細はイベントページにあります。」 |
| それ以外の失敗 | ドライバー自身の言葉。理由を伝えます |

失敗した機器のコマンド、**再接続**、スキャンも、何に行き当たったかを同じ言葉で述べます。ステーション自身による拒否（接続されていない機器、まだ動作中の構成に入っていない機器、まだ保存されていないコマンド）も同じです。エージェントと診断ログには英語の行が残ります。

機器または MQTT ブローカーの TCP 接続が開かないと、ステーションはそのポートをもう一度確かめ、同時にホストへ ping を送ります。診断ログの行には、ドライバー自身の原因のあとに、原因と同じく英語の文がひとつ加わります。赤い行はそれをステーションの言語で伝えます（上を参照）。電源の入った機器は、ポートが閉じていればすぐに拒否します。そのため、ホストが応答しているのにポートが黙っているなら、途中でフィルターされています。

| ステーションが見つけたこと | 原因のあとの文 |
| --- | --- |
| ホストは ping に応答し、ポートは何も返さない | 「10.0.0.5 answers ping, but TCP port 502 does not: a firewall probably blocks that port, on this station, on the device or on the network between them. Allow TCP 502 from this station to 10.0.0.5.」 |
| ポートも ping も応答しない | 「10.0.0.5 does not answer ping either: check that the device is on and that the address is right. A firewall that also blocks ping looks the same.」 |
| ポートが拒否する | 「10.0.0.5 refuses connections on TCP port 502: nothing serves on that port there, or a firewall refuses it.」 |

ポートは機器のプロトコルが開くものです。ほとんどのドライバーでは機器自身のポート、Siemens では 102、Rockwell と Omron NJ/NX では 44818、Beckhoff ADS では 48898 です。ブローカーの文はブローカーのコンピューターを名指しし、応答してステーションを拒否したブローカーには文が付きません。機器自身の確かめるべきポートがない場合は、何も加わりません。シリアル回線、UDP、VISA、SQLite ファイルや ODBC ソース、SQL Server Browser サービスが見つける SQL Server インスタンス、コンピューターのプロキシが運ぶ要求がそうです。文は誰も名指ししません。このステーションでも、機器でも、工場のネットワークでも、ポートを開ける人は同じ言葉を読みます。

## 再接続、再読み込み、すべて再読み込み {#reconnect-refresh-and-refresh-all}

| コマンド | どこにあるか | 何をするか |
| --- | --- | --- |
| **再接続** | 機器のバーと右クリックメニュー | その機器の接続を閉じて開き直します。ほかの機器には触れず、何も読み直しません。文言はドライバーを待ちます：「「Furnace」に再接続しました。」または機器の赤い行と同じ言葉で原因を添えて「「Furnace」に再接続できませんでした：」。 |
| **再読み込み** | ドライバーのバーと右クリックメニュー | 構成をデータベースから読み直し、ツリー全体を組み立て直します。動いているサーバーはそのままです。欄はそのままの位置を保ちます。ドライバーは選ばれたままでページも開いたまま、展開していたところも展開したままです。「機器を再読み込みしました。」 |
| **すべて再読み込み** | ドライバーのフォルダーが開くカタログのバー | 再読み込みと同じで、ドライバーのフォルダーはカタログを開いたまま選ばれています。 |

再読み込みとすべて再読み込みは読むだけなので、どのロールにも描かれます。再接続は接続を閉じて開き直すので、Connector の構成がないロールにはまったく描かれません。3 つとも、実行がステーションを占有しているあいだ、またはランタイムが停止しているあいだは灰色になり、再接続と再読み込みはスキャンやペアリングが動いているあいだも灰色になります。再接続は、まだアドレスの入力を待っている機器（ホスト、NI-DAQmx の機器、フォルダー、データベースのどれか）でも灰色になります。開き直す接続がないからです。ツールチップにはドライバーに足りないものが出ます。編集のあとにどちらの再読み込みも必要ありません。保存はそれ自体で、変わった機器を動いているサーバーに反映させますし、届かない機器は答えるまで背後で再試行され、そのあいだそのタグは空欄として読まれます。再接続はその待ち時間を縮めるものです。次の自動の試みに任せる代わりに今すぐ尋ね、機器が答えたかどうかを伝えます。上下限の異常を上げる境界は[値の変換経路](connector-value-pipeline)の一部です。
