3 フィールドバスカプラ
3.1 フィールドバスカプラ 750-337、750-338
3.1.5 データ交換
CANopen においては、データ送信、イベントのトリガ、エラー状態の通知などは通信オブ
ジェクトを用いて行われます。各通信オブジェクトは最大 8 バイトのデータを含んだ CAN テレグラムで構成されます。このテレグラムはネットワーク内で固有の COB-ID(通信オブ
ジェクトID)が割り当てられます。
通信オブジェクトのパラメータおよびCANopenサブスクライバのパラメータやデータはオ ブジェクトディクショナリに載っています。
3.1.5.1 通信オブジェクト
バスカプラ750-337および750-338は以下の通信オブジェクトをサポートします。
• 32×Tx-PDO
フィールドバスノード入力データのプロセスデータ交換用
• 32×Rx-PDO
フィールドバスノード出力データのプロセスデータ交換用
• 2×サーバSDO
コンフィグレーションデータの交換およびノードの状態についての通知用
• 同期オブジェクト(SYNC) ネットワーク同期用
• エマージェンシオブジェクト(EMCY)
• ネットワーク管理オブジェクト
−モジュール制御プロトコル
−エラー制御プロトコル
−ブートアッププロトコル 3.1.5.2 通信インタフェース
CANopenバスカプラは、データ交換に関し2種類のインタフェースを持っています。
• フィールドバス(マスタ)へのインタフェース
• バスモジュールへのインタフェース
データ交換はフィールドバスマスタとバスモジュールの間で行われます。
フィールドバス側からのアクセスはフィールドバスに依存します。
3.1.5.3 メモリ領域
カプラは物理的入出力データ用に256ワード(ワード0〜255)のメモリ空間を使用します。
48 フィールドバスカプラ
フィールドバスカプラ750-337、750-338
フィールドバス
フィールドバスカプラ
入力データメモリ領域
出力データメモリ領域
I/Oモジュール
入力モジュール
出力モジュール
図3-10:バスカプラのメモリ領域およびデータ交換 g012433e
カプラのプロセスイメージは、入力データ保存領域および出力データ保存領域内でバスモジ ュールの物理データを含みます(各々ワード0〜255)。
① 入力モジュールデータはフィールドバス側から読むことができます。
② 同じように、フィールドバス側から出力モジュールへの書き込みを行うことができます。
3.1.5.4 アドレッシング
電源を投入したとき、データはプロセスイメージからオブジェクトディクショナリにマッピ ングされます(イニシャライゼーション)。CANopen フィールドバスマスタは、PDO また は SDO 経由でデータをアドレスするために、またアクセスするために、オブジェクトディ クショナリの16ビットのインデックスと8ビットのサブインデックスを用います。
従って、プロセスイメージ中のデータの位置は、CANopen ユーザにとって直接意味があり ません。
オブジェクトディクショナリ
フィールドバスカプラ 入力データメモリ領域
出力データメモリ領域
I/Oモジュール
フィールド バスマスタ
入力モジュール
出力モジュール
3.1.5.4.1 I/Oモジュールデータのインデックス
ユーザ固有のコンフィグレーションがイニシャライゼーション前に保存され、また現在接続 されたモジュールのコンフィグレーションが以前保存されたコンフィグレーションと一致し た場合、イニシャライゼーションはそのコンフィグレーションで行われます。
詳細情報
ユーザ固有のコンフィグレーションに対するイニシャライゼーションの例に関しては、
3.1.6.6節「アプリケーション固有のマッピング」を参照してください。
他の場合は全てイニシャライズするときに、デバイスプロファイルDS401に基づいてデフォ ルトのコンフィグレーションがオブジェクトディクショナリに割り当てられます。
ここで、オブジェクトディクショナリに対するエントリはデータ幅(1ビット、1バイト、2 バイト、3バイト、その他)や入出力によって別々に行われます。
物理的なバスモジュールの配置はノード内で任意に行えます。
データ幅=1ワード/チャネル データ幅=1ビット/チャネル アナログ入力モジュール
アナログ出力モジュール 熱電対入力モジュール 抵抗センサ入力モジュール パルス幅出力モジュール インタフェースモジュール アップダウンカウンタ
デジタル入力モジュール デジタル出力モジュール 診断付デジタル出力モジュール
電源入力モジュール(ヒューズ/診断付あり)
ソリッドステートリレー リレー出力モジュール
表3-1:I/Oモジュール データ幅
メモ
各I/Oモジュールの入出力ビット数またはバイト数に関しては、対応するI/Oモジュールの 記述を参照してください。
デジタルモジュールのデータが最初に考慮されます。
CANopen ではデータはビット単位で送信しないため、デジタルモジュールのデータはバイ
ト単位でグループ化され、対応するインデックスに割り当てられます(例:デジタル入力デ ータはインデックス0x2000、デジタル出力モジュールはインデックス0x2100)。
1 バイト以上のデータ幅を持ったバスモジュールデータは、その幅に応じて各々のインデッ クスが割り当てられます。
以下の表はバスモジュールデータのインデックスを示しています。
入力モジュール 出力モジュール データ巾
インデックス
1 bit デジタル 0x2000 0x2100
1 byte特定モジュール 0x2200 0x2300
2 byte特定モジュール 0x2400 0x2500
3 byte特定モジュール 0x2600 0x2700
4 byte特定モジュール 0x2800 0x2900
5 byte特定モジュール 0x3000 0x3100
6 byte特定モジュール 0x3200 0x3300
7 byte特定モジュール 0x3400 0x3500
8 byte特定モジュール 0x3600 0x3700
表3-2:オブジェクトディクショナリ中のバスモジュールデータのインデックス
50 フィールドバスカプラ
フィールドバスカプラ750-337、750-338
各インデックスは最大256のサブインデックス(0〜255)を持ちます。
サブインデックス0 には総データブロック数(バイト数)が入ります。サブインデックス1 以降にはブロック毎にデータが入力されます。ブロックサイズはバスモジュールのデータ幅 によって異なります。
サブインデックス 内 容
0 データブロック数
1 1番目データブロック(I/Oモジュールのデータ幅)
2 2番目データブロック(I/Oモジュールのデータ幅)
・・・ ・・・
表3-3:オブジェクトディクショナリ内バスモジュールデータのサブインデックス
詳細情報
デフォルトコンフィグレーションの設定の詳細に関しては、4.3.4.1節「イニシャライゼーシ ョン」参照してください。
注意
ノードが変更または拡張された場合、プロセスイメージを再構成することになります。この 場合、プロセスデータのアドレスもまた前回のものと比較して変更になります。モジュール を追加した場合、全ての既存モジュールのプロセスデータを考慮しておいてください。
例:バスモジュールのコンフィグレーションが以下の場合 1)2チャネルデジタル入力モジュール×5(750-400など)
2)4チャネルデジタル出力モジュール×1(750-504など)
3)2チャネルアナログ出力モジュール×2(750-552など)
1)2chデジタル入力モジュール×5データのインデックス
インデックス サブインデックス 内容 説明
0 2 8 ビット入力ブロック数
1 D4.2 D4.1 D3.2 D3.1 D2.2 D2.1 D1.2 D1.1* デジタル入力ブロック 1 0x2000
(0x6000)
2 0 0 0 0 0 0 D5.2 D5.1 デジタル入力ブロック 2
*D1.1=データ、ビットモジュール 1、チャネル 1、D1.2=データ、ビットモジュール 1、チャネル 2、他
2)4chデジタル出力モジュール×1データのインデックス
インデックス サブインデックス 内容 説明
0 1 8 ビット出力ブロック数
0x2100
(0x6200) 1 0 0 0 0 D1.4 D1.3 D1.2 D1.1* デジタル出力ブロック
*D1.1=データ、ビットモジュール 1、チャネル 1、D1.2=データ、ビットモジュール 1、チャネル 2、他
3)2chアナログ出力モジュール×2データのインデックス
インデックス サブインデックス 内容 説明
0 4 2 バイトチャネル数
1 D1.1* アナログチャネル 1
2 D1.2* アナログチャネル 2
3 D2.1* アナログチャネル 3
0x2500 (0x6411)
4 D2.2* アナログチャネル 4
*D1.1=データ、ワードモジュール 1、チャネル 1、D1.2=データ、ワードモジュール 1、チャネル 2、他