メインコンテンツまでスキップ

CANopen (機械装備 / モーション)

CANopen は CAN バス上に構築された上位プロトコル (CiA 301) で、モーションコントローラ・サーボ・ロボット関節・計測器・車両補助システム など、精密 / 決定論的な通信が求められる分野で広く使われています。

本ゲートウェイは共通統合エンジンを通じて CANopen の読み取りに対応します。

PlantPulse は CAN バスを直接扱えません

PlantPulse Edge の H/W には CAN コントローラがありません。CANopen スレーブと通信するには、必ず CAN ↔ Ethernet ゲートウェイ が必要です。

推奨 H/W備考
Anybus Communicator CANEtherNet/IP、Modbus TCP、PROFINET などへ変換
Ixxat CAN@net NTTCP socket ベースの raw / CANopen ルーティング
HMS Networks Ewon Cosy / Flexy + CAN extension遠隔地の統合
Kvaser Ethercan開発 / デバッグ用

多くの統合現場では CAN → Modbus TCP / EtherNet/IP マッピング に変換し、PlantPulse には Modbus TCP / EtherNet/IP として登録するほうが簡単です。本ページは、ゲートウェイが CANopen をそのまま公開する場合のガイドです。


登録フォームの入力値

入力欄記入内容
IP アドレスCAN ↔ Ethernet ゲートウェイの IP192.168.30.40
ポートゲートウェイが公開する TCP ポート(ベンダーごと、例 19227)
Node ID (node-id)CANopen ノード番号 (1~127)5
応答タイムアウト応答待ち時間 (ms)2000
Node ID が要点

CANopen では同一バスに複数のスレーブが接続され、それぞれ Node ID で識別されます。スレーブごとに個別の接続として登録してください。


CANopen の基本概念 (簡易まとめ)

用語意味
Object Dictionary (OD)デバイスの全データ項目をツリー形式で整理した表。インデックス (16-bit) + サブインデックス (8-bit) でアクセス
SDO (Service Data Object)point-to-point の読み書き。PlantPulse が使用するモード。低速だが任意の項目にアクセス可能
PDO (Process Data Object)サイクリック / イベントベースの push。ゲートウェイが受信してキャッシュする場合が多い
NMT (Network Management)ノードのステートマシン (Boot-up → Pre-operational → Operational → Stopped)
EDS / DCFOD を定義したテキストファイル。ベンダーが提供

OD インデックスは標準領域 (0x1000~0x1FFF)、メーカー領域 (0x2000~)、標準デバイスプロファイル (0x6000~) に分かれます。


タグの PLC アドレス表記

OD 座標を <index>:<subindex> 形式で入力します。16 進・10 進のどちらでも可能です。

表記意味
0x1000:0Device Type
0x1018:1Identity → Vendor ID
0x1018:2Identity → Product Code
0x6000:01(DS-401 デジタル入力プロファイル) Digital Input 1
0x6041:0(DS-402 モーションプロファイル) Statusword
0x6064:0(DS-402) Position Actual Value
0x6077:0(DS-402) Torque Actual Value

座標はデバイスの EDS ファイル、またはマニュアルの OD 表で確認します。無償ツールの CANopen Magic / CANeds / CANopenNode でスレーブを直接スキャンすることもできます。


データ形式のマッチング

OD の値データ形式形式補助
BOOLEANBoolean(空欄)
INTEGER8 / UNSIGNED8IntegerB
INTEGER16 / UNSIGNED16Integer(空欄)
INTEGER32 / UNSIGNED32IntegerDW
REAL32FloatREAL
VISIBLE_STRINGStringSTR[N]

EDS ファイルの DataType 列をそのまま参照してマッチングすれば十分です。


よくある問題と対処

症状考えられる原因対処
「No reply / SDO timeout」ノードが Pre-operational または StoppedNMT で Operational へ遷移 (ゲートウェイ / マスタ設定)
一部のノードのみ無応答Node ID の重複、終端抵抗の欠落CAN ラインの両端に 120Ω 終端、ID 重複の点検
値がばらつくbit-rate の不一致スレーブとゲートウェイのボーレートを一致させる (125k / 250k / 500k / 1M)
通信はできるが意味が不明瞭ベンダー固有の OD 領域 (0x2000~) を使用中ベンダーマニュアル / EDS の項目説明を確認
「Heartbeat lost」マスタ未設定ゲートウェイをマスタに設定、または sync producer を有効化

次のステップ

  • 高度な設定 — REST API の CANopen 例
  • 大規模サイトでは PROFINET / EtherCAT への移行 事例が多くあります — 新規構築であれば検討する価値があります。