産業用イーサネット(12)EtherCAT のエラー検出

エラー検出/FCSエラー

フレーム末尾の FCS 受信を待たず送信を開始する On The Fly の課題は、エラー処理だ。図1 のように、スレーブはフレーム末尾の FCS 受信前にデータの入出力と次段への送信を開始する。FCS エラーを検出したときには、既にデータの入出力が終わっている。

EtherCAT の解決策は、フレームを全て受信したところで FCS エラーや物理層エラーの検出を確認し、エラーを検出したスレーブは FCS の後に 4 bit のマーキングを追加し(図2)、入出力処理を取り消す。同時に 「ポートエラー」をカウントアップする。

次段以降のスレーブは、マーキングを検出すると入出力処理を取り消し、 「受信エラー」をカウントアップする。FCS エラーを検出したスレーブと、マーキングされたフレームを受信したスレーブでは、エラー処理とエラーカウンタが異なる。この違いは、後のエラー箇所の特定に使用する重要な情報だ。

図1 On The Fly 動作
図1 On The Fly 動作
図2 4bit マーキング追加
図2 4bit マーキング追加

3 は最初のスレーブでFCS エラーを検出した例だ。フレームを受信し入出力処理を終えたSlave1 は、FCE エラーを検出した時点で入出力処理を取り消し、FCS の後に 4bit のマーキングを追加する。同時に入力ポートでエラーが発生したことを示す「ポートエラー」をカウントアップする。

Slave2 以降は、マーキングを検出するとすでに済ませた入出力処理を取り消し、上流ですでにエラーが発生したことを示す「受信エラー」をカウントアップする。

マスタは、巡回を完了したフレーム全体を受信するとマーキングを検出し、送信に失敗したことを知る。マスタはデータの再送やスレーブのカウンタにより、障害箇所の特定などを行う。

図3 エラー処理
図3 エラー処理

エラー検出/ワーキングカウンタ(WKC)

EtherCAT は、伝送路での FCS エラーや物理層エラー検出以外にもエラー検出の機構を備えている。ワーキングカウンタ(WKC)は、スレーブでのデータの読み書きが正常に行われたかどうかを検出する仕組みだ。

図4 に示すように、1つのイーサネットフレームには複数のEtherCATデータグラムを搭載することができる。各EtherCAT データグラムは複数のスレーブで読み書きすることもでき、EtherCAT データグラムの末尾には2バイトのワーキングカウンタ(WKC)領域がある。

マスタはWKCを初期値0で送信し、各スレーブ(EtherCAT デバイス)は正常に「読み取り操作」「書込み操作」「読み取り/書込み操作」を実行したときに表1 のルールに従い加算する。イーサネットフレームが全てのスレーブを通過しマスタに戻ると、マスタは期待した WKC と実際の WKC を比較し、EtherCAT データグラムが正常に処理されたかどうかを判断する(図4 参照)。ワーキングカウンタの位置は、図5 参照。

図25 WKC 動作例
図4 WKC 動作例
コマンド 処理 加算値
Read command 失敗 加算なし
成功 +1
Write command 失敗 加算なし
成功 +1
Read/Write command 失敗 加算なし
Read 成功 +1
Write 成功 +2
Read/Write 成功 +3
表1 WKC 加算ルール
図5 EtherCAT フレーム構造
図5 EtherCAT フレーム構造

工場・物流現場のネットワークの現状

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。