画面には温度が表示され続け、スイッチのポートランプも点灯しているのに、機械のデータ更新は停止しています。これは矛盾ではありません。ケーブルが正常であること、ネットワーク接続が応答すること、アプリケーションが動作していることは、それぞれ別の状態です。産業用デバイスが本当にオンラインであるかを判断するには、情報が届くかどうかと、その情報が新たに生成されたものかどうかの両方を確認します。ハートビートカウンターと通信ウォッチドッグは、この2つの問いを分けて考えるのに役立ちます。

3種類の「稼働中」—ポートランプで分かるのは1つだけ
産業用イーサネットスイッチのLINKランプは、主に物理リンクの状態を示します。電話回線がつながっている状態と考えてください。それだけでは、相手がまだ話しているかどうかは分かりません。PLC(プログラマブルロジックコントローラー)は制御タスクを実行します。HMI(ヒューマンマシンインターフェース)は、そのデータを読み取って表示します。PLCのタスクが一時停止したり、データ収集プログラムがレジスターの更新を停止したりしても、物理リンクは維持されることがあります。
第2の層はトランスポート接続です。TCP通信では、デバイスのネットワークスタックが接続を維持し、受信したバイトに対して確認応答を返します。スタックが応答することは、アプリケーションが要求を処理したことや、画面上の温度が最近のサンプルに基づくことの証明にはなりません。第3の層は実際のプロセス更新です。データ収集タスクは実行されたか、合意された制御データは生成されたか、その値は十分に新しいかを確認します。トラブルシューティング時には、これらの状態を別々に記録してください。1つの緑色ランプだけでは、3つの問いすべてに答えることはできません。
読み取りが成功しても、見かけ上のオンライン状態にすぎない場合がある理由
監視装置がPLCのレジスターを繰り返し読み取り、常に25を受信するとします。温度が実際に安定している場合もあれば、データ収集タスクが最後の値のまま停止している場合もあります。数値だけを見ても、この2つを区別できません。通信の成功だけでも同様です。値を受信したからといって、そのサンプリング時刻まで自動的に得られるわけではありません。
鮮度を評価するには、値とともにサンプリングのタイムスタンプ、品質表示、または更新カウンターを送信します。品質表示は、データが有効か、古いか、異常かを示します。その符号化方式はインターフェースの文書によって異なります。このような情報がなければ、受信側は通信が成功したとは判断できますが、プロセスが正常であると直ちに結論付けることはできません。画面では、現在の値、最後の有効な更新、障害状態を区別して表示する必要があります。タイムアウト後も古い値を保持する場合は、更新されていない値であることを明示してください。

実際に監視したい処理にハートビートを結び付ける
ハートビートは、あらかじめ取り決めた稼働のしるしですが、その生成元は監視対象の処理に結び付いていなければなりません。一般的な設計の1つは、対象のPLCタスクが更新を完了するたびにカウンターを変更するものです。受信側はこれを定期的に読み取ります。101、次に102、そして103と確認できれば、このタスクが実行を継続している根拠になります。これらの数値は例示です。カウンターのサイズ、更新間隔、読み取り方法は、送受信の両側で合意する必要があります。これは、すべての産業用プロトコルに組み込まれた共通フィールドではありません。
応答が届き続けていても、カウンターが103のままであれば、何らかのパケットが届いたというだけで業務処理レベルの監視タイマーをリセットしないでください。デバイスの識別情報、対応する要求、データの有効性、合意されたカウンターの変化を確認します。カウンターの周回、デバイスの再起動、遅延した応答にも対処してください。特に重要なのは、データ収集タスクが停止しているのに、無関係なバックグラウンドスレッドがハートビートを送信し続けることを防ぐことです。そうしなければ、別の形の見かけ上のオンライン状態を生み出します。

数値を流用せず、通常の変動を考慮してタイムアウトを設定する
タイムアウトは、有効な更新がない状態で、問題と判断するまでどのくらい待つかを定めます。短すぎると、通常のキュー待ち、デバイスの高負荷、短時間の経路変更によって誤警報が発生する可能性があります。長すぎると、障害が長時間検出されないままになる可能性があります。まず、通常の更新間隔、想定される最大負荷時の応答動作、パケット損失と再試行、許容される検出遅延を把握します。そのうえで、プロセスに適した時間幅を選んでください。1つのミリ秒設定値を、すべての生産ラインにそのまま流用しないでください。
要求タイムアウト、TCPキープアライブ、プロセスデータのタイムアウトは、それぞれ異なるタイマーです。要求タイムアウトは、ある要求に対応する応答が時間内に届いたかを確認します。TCPキープアライブは、アイドル状態の接続で相手に引き続き到達できるかを確認します。プロセスデータのタイムアウトは、対象データが合意どおりに更新され続けているかを確認します。キープアライブの成功は、業務タスクが実行中であることの証明にはなりません。再試行の回数と間隔にも制限を設け、障害によって大量の要求が発生し、正常な制御通信に必要な容量が消費されないようにしてください。
ウォッチドッグの仕組みと、それによって認証されるわけではないもの
ウォッチドッグは、有効な更新が時間内に届くかを監視し、届かない場合に定義された応答動作を実行します。カウントダウンタイマーを想像してください。有効なプロセスデータがタイマーをリセットし、期限までに有効な更新が届かなければ、デバイスは障害を報告するか、設定に従って出力を処理します。この機構は、ハードウェア、ファームウェア、アプリケーションソフトウェアのいずれかで動作します。ネットワークから受信するプロセスデータを監視する場合も、デバイス内部のプロセッサーとインターフェース間の通信を監視する場合もあります。
例えば、BeckhoffのEtherCAT文書では、ネットワーク側のプロセスデータ監視と内部インターフェースの監視を区別しています。この例は、何を監視しているのかを理解する助けになります。ただし、FCTELスイッチが同じ機構を実装しているという意味ではなく、あるターミナルのデフォルト時間を無関係なデバイスに適用してはなりません。タイムアウト時に最後の値を保持するか、クリアするか、別の設定状態を選択するかは、実際のデバイスの文書によって決まります。通常の通信ウォッチドッグは、認証された安全制御機能と同じものではなく、機械に必要な安全設計の代わりにはなりません。
復旧と受入試験には、ケーブルを抜くテストだけでは不十分
復旧は段階ごとに確認します。ポートがUPに戻れば、物理リンクが確立したことを示します。次に、接続と要求処理、新しく有効なデータ、デバイスの正しい動作状態を確認します。その後に初めて、所定の手順で制御を再開してください。遅れて届いた古い応答1つやハートビート1つだけで、すべての出力を自動的に復帰させてはなりません。どの状態にオペレーターの確認が必要で、どの状態が自動復旧できるかは、設備とプロセスによって異なります。
受入試験では、管理された条件下で3種類の障害を順に発生させます。通信ケーブルの切断、対象業務タスクの一時停止、有効な応答の遅延です。毎回、変更する条件は1つだけにしてください。ポート状態、応答と要求の対応、ハートビートまたはサンプリング時刻の変化、警報の発生タイミング、復旧動作を記録します。タスクを一時停止してもリンクが維持され、その一方で業務処理レベルの警報が発生するなら、システムがデータの鮮度を監視していることを実証できます。ケーブルを抜くテストだけでは、この能力を実証できません。
スイッチ側の情報とアプリケーション側の情報を併せて確認する
FCTELの資料に記載されている、ギガビット銅線ポート24基とギガビット銅線/光ファイバーコンボポート4基を備えたマネージドスイッチは、PLCや監視端末のネットワーク接続に使用できます。インターフェース構成については、リンク先の製品ページを参照してください。必要な管理機能を備えた実際の機種を選ぶ際には、必要なポート状態、エラーカウンター、イベント記録を取得できるか確認してください。スイッチが提供するのは通信経路です。アプリケーションのハートビートや品質情報には、通常、PLC、ゲートウェイ、監視ソフトウェア側の連携が必要です。スイッチを交換するだけで、見かけ上のオンライン状態が自動的に解消されるわけではありません。
ネットワークログとアプリケーションログを時刻で照合します。ポートが安定しているのに有効な更新が止まる場合は、プログラム、データ収集タスク、インターフェースの定義を調べます。ポートのリンクが繰り返し切れる場合は、まずケーブル、電源、接続を点検します。応答間隔が長くなる場合は、負荷、キュー待ち、再試行を調べます。要するに、ランプが確認するのはリンク、応答が確認するのは返信であり、対象の業務タスクが動作し続けている根拠となるのは、有効で新しいデータだけです。
技術参考資料: Beckhoff:特定のEtherCATターミナルのウォッチドッグ設定 および Modbus協会:プロトコルおよび実装に関する資料。関連するFCTEL資料: 技術記事 および 産業用スイッチの製品資料.


