4 CANopen
4.3 ネットワーク通信
4.3.9 エラーメッセージ(エマージェンシ)
エマージェンシ・メッセージは重大なエラー状態がデバイスに発生し、対処するときや、他 のデバイスに重要な情報を伝える必要がある場合は常に送信されます。
エマージェンシ・オブジェクトの構造や意味は次ページ「EMCYコード」表に説明されてお り、下位バイト−上位バイトの順でバスメッセージにコード化されます。
エマージェンシ・オブジェクトはエラーが修復した後もまた送信されます(エラーコード=
0x0000、エラーレジスタおよび追加コードの内容は「EMCY コード」表に記述されていま
す)。
ロードされた設定がデフォルト値の場合、電源投入後エマージェンシ・オブジェクトが送信 されます。これは次の2つの理由で起きます。
• 設定がまだセーブされていない(インデックス0x1010)
• セーブされた設定がバスカプラで廃棄された。理由はモジュールが接続または抜か れたため。
132 CANopen ネットワーク通信
EMCYコード表
バイト 0 1 2 3 7 名称 エラー
コード
エラー レジスタ
追加コード 意味 0x00
0x0000* 00 00 00 00 00 「既定エラー領域」インデックス0x1003サブインデックス0 を”0”にセットまたは全てのエラーがクリアされる。
0x5000* 0x81 00 01 00 00 00 電源投入後ハードウェア構成の変更、またはノード/通信のリ セット
バスカプラは初期化される。保存コンフィグレーションが入 手不可、または入手したものが実装コンフィグレーションと 一致せず。
0x5000* 0x81 00 02 00 00 00 フラッシュエラー
コンフィグレーションをフラッシュにセーブしたときエラー が発生.
PP:エラーが起きた実際のモジュールスロット位置 0x5000* 0x81 00 03 PP LL
SS
プログラムしたコンフィグレーションが実装品と一致せず。
LL:エラーが起きたロジック上モジュールスロット位置 SS:エラー原因
エマージェンシ・メッセージのキューオーバーフロー 0x5000* 0x81 00 09 00 00 00
(エマージェンシ用インヒビットタイムが用いられたときの み起こりうる)
0x5000* 0x81 00 0A 01 00 00 ゲートウェイモジュールの最大数を超えた、またはゲートウ ェイモジュールがプロセスイメージの最大サイズを超えた。
0x5000* 0x81 00 0A 02 00 00 メールボックスの最大サイズを超えた。
0x8100* 0x81 00 04 00 00 00 2つのSyncオブジェクト間の時間間隔は通信周期より長い 0x8110* 0x11 00 01 00 00 00 内部受信バッファオーバーフロー
オブジェクト0x67FEで定義したステータス変化。出力はエラ ーモード/エラー値オブジェクトで定義した通り切り換わる。
0x8110* 0x11 00 02 00 00 00 内部送信バッファオーバーフロー
オブジェクト0x67FEで定義したステータス変化。出力はエラ ーモード/エラー値オブジェクトで定義した通り切り換わる。
0x8120* 0x11 00 03 00 00 00 CANコントローラがエラーパッシブモード
0x8130* 0x11 00 04 00 00 00 2つのノードガーディング・テレグラム間の時間がガードタイ ム×ライフタイムファクタより大きい
0x8130* 0x11 00 05 KK 00 00
2つのハートビート・テレグラム間の時間が設定値より大きい KK:時間オーバーフローを越えたノード
0x8210* 0x81 00 05 SS II NN PDOが通信プロファイルで設定した値より小さいバイト数で 送信された
PDOデータは捨てられる。出力は変化せず。
SS:セット箇所値 – 設定値(インデックス0x1600 サブイン デックス0)
II:実際値 – 送信バイト数 NN:PDO数(1..32) 0x81
最初のnデータが用いられる(n=オブジェクトディクショナ リで設定した全長)
SS:セット箇所値 – 設定値(インデックス0x1600 サブイン デックス0)
0x8220* 00 08 SS II NN PDOが通信プロファイルで設定した値より大きいバイト数で 送信された
II:実際値 – 送信バイト数 NN:PDO数(1..32)
0xFF00* 0x81 00 06 PP 00 00 内部バスエラー、STOPPEDステータスに移行 PP:モジュール位置
0xFF00* 0x81
- NN:現在のモジュールエラー数 DD 07 PP SK
NN
診断メッセージ - DD:診断バイト - PP:モジュール位置
- SK:エラーステータスおよびチャネル番号
*バイト0=下位バイト、バイト1=上位バイト
4.3.9.1 I/Oモジュールの診断メッセージ
診断機能付きのモジュールでエラーが起きた場合、診断ステータスはエマージェンシ・メッ セージによって送信されます。
現在のモジュールエラー数
ビット 0、1、2:モジュールのチャンネル番号を指定(チャンネル 0...7)
ビット 3:予約
ビット 7:検出またはクリアされたエラー
ビット 7=1:エラーを検出、ビット 7=0:エラーはクリアされた
モジュール位置
診断メッセージ識別子
モジュール特有診断バイト(アナログモジュール)
モジュール特有診断バイト(デジタルモジュール)
エラーがクリアされた場合”0”(つまり SK ビット 7=0)
診断メッセージ用追加コードの構造:
図4-23:追加コードの構造 g012423e
例:
• 2チャネルアナログ入力モジュール750-465、14番位置に接続、チャネル0の電流は 20mA以上
1エラー チャンネル0 エラー検出
14番目にモジュール挿入 診断メッセージ
電流>20.5mA エラーレジスタ エラーコード エマージェンシ・テレグラム
図4-24:エマージェンシ・テレグラム1 g012424e
• 最初のエラーに加えて、2チャネルデジタル出力モジュール750-506に別のエラーが 起きます。チャネル1で断線、モジュールは17番目に接続。
134 CANopen ネットワーク通信
2エラー チャンネル1 エラー検出
17番目にモジュール挿入 診断メッセージ
ビット2がセット、断線 エラーレジスタ エラーコード エマージェンシ・テレグラム
図4-25:エマージェンシ・テレグラム2 g012425e
• 発生したエラー(デジタルモジュール750-506で断線)が修復されます。
図4-24:エマージェンシ・テレグラム1
1エラー チャンネル1 エラー修復
17番目にモジュール挿入 診断メッセージ
OKメッセージとして常に0 エラーレジスタ
エラーコード エマージェンシ・テレグラム
図4-26:エマージェンシ・テレグラム2 g012426x
メモ
診断付のデジタルモジュールに対し、診断データはプロセスイメージに追加でマッピング されます。上記の例で用いた750-506は出力プロセスイメージで4ビット(1ビット=出 力値、1ビット/チャネル=未使用)をまた入力プロセスイメージで4ビット(2ビット/ チャネル=診断・・断線、短絡)を使用しています。