三菱電機#MXF-EtherCAT_PART03_WAGO 7553-8000 EtherCATカプラーと接続しよう

こちらは新しい記事のシリーズで、三菱電機のMXF-EtherCATバージョンのCPUで様々な検証を行います。第3話ではMXF-EtherCATでWAGOの新しいEtherCATカプラー7553-8000と接続し、モジュールのパラメータ設定、検証プログラム作成まで説明します。

さ、FAを楽しもう!

Reference Link

https://soup01.com/ja/category/mitsubishi-jp/mxr/

7553-8000?

WAGOのフィールドバスカプラ「7553-8000」は、WAGO-I/O-SYSTEM 755シリーズを、オープンなリアルタイム産業用Ethernet通信規格であるEtherCAT®ネットワークに接続するためのデバイスです。

また、7553-8000はWAGO-I/O-SYSTEM 755シリーズに対応するデジタルI/Oモジュール、アナログI/Oモジュール、および各種高機能I/Oモジュールを任意に組み合わせて使用でき、通信入力用の「INポート」と通信出力用の「OUTポート」の2つのRJ45ポートが搭載されています。

これにより、EtherCATデバイスを順次接続するライン型トポロジーを容易に構築できる。追加のネットワークインフラ機器を必要とせず、シンプルかつ低コストな配線を実現できる点が特長であります。

さらに、本体にはDIPスイッチが設けられており、必要に応じてステーションアドレスの設定に使用できます。

特徴

診断機能とプロセスデータの管理

フィールドバスカプラの診断機能は、EtherCAT規格に完全に準拠するよう設計されています。本体に各種状態表示用LEDが標準搭載されており、現場での詳細な状態確認や故障診断を行うことができます。

I/Oモジュールの認識とプロセスイメージの生成

フィールドバスカプラは、接続されたセンサからの入力信号を集約する役割を担います。

フィールドバスカプラの接続後、カプラはノードに接続されているI/Oモジュールを自動的に認識し、その構成情報に基づいてローカルプロセスイメージを生成します。

アナログI/Oモジュールや特殊機能モジュールのデータは、ワード単位またはバイト単位で処理されます。一方、デジタルI/Oモジュールのデータは、ビット単位でまとめられます。

生成されたローカルプロセスイメージは、受信データを格納する領域と、送信データを格納する領域の2つに分割されます。

プロセスイメージへのデータマッピング

プロセスイメージでは、最初にアナログI/Oモジュールのデータがマッピングされます。

各モジュールのデータは、フィールドバスカプラの後段に接続された物理的な配置順序に従って割り当てられます。続いて、デジタルI/Oモジュールのデータがマッピングされます。デジタルデータはビット単位でまとめられ、ワード単位に集約されたうえで、アナログデータの後ろに配置されます。

デジタルI/Oのデータ数が16ビットを超える場合、フィールドバスカプラは自動的に新しいワードを生成し、残りのデータを割り当てます。

EtherCATマスタとのプロセスデータ交換

各センサからの入力信号は、フィールドバスカプラ(EtherCATスレーブ)で集約され、

フィールドバスを介して上位コントローラ(EtherCATマスタ)へ転送されます。

受信したプロセスデータの関連付けや制御処理は、上位コントローラ側で実行されます。

上位コントローラは、処理結果に基づいて生成した出力データを、EtherCATネットワークおよび各ノードを介してアクチュエータへ送信します。

このように、フィールドバスカプラが現場の入出力データの収集・伝送を担当し、上位コントローラがデータ処理と制御を担当することで、EtherCATを利用した分散型I/O制御システムが構成されます。

外観

以下の図は、フィールドバスカプラの各部の構成と配置を示しています。

  • フィールドバス接続ポート(X1、X2):本体左側の下部に配置されており、EtherCATネットワークへの接続に使用します。
  • 電源接続端子(X3):フィールドバス接続ポートの上部に配置されており、システム電源の供給に使用します。
  • 状態表示LED:本体右側の上部に配置されており、バス通信の状態、エラーメッセージ、各種診断情報を表示します。
  • サービスインターフェース(USB Type-C):本体右側の下部に配置されており、保護カバーの内側に設けられています。

状態表示部

フィールドバスカプラおよびノードの動作状態は、発光ダイオード(LED)による状態表示灯を通じて確認できます。各LEDの光は、導光部材(ライトガイド)を介して本体ケースの上面へ導かれる構造となっており、外部から動作状態を容易に確認できます。

また、一部のLEDには多色表示機能が採用されており、赤色、緑色、オレンジ色の点灯によって、それぞれの状態を識別できるようになっています。

LED表示と各状態の意味

LED

表示色

表示内容

L/A IN

緑

ポートX1(IN)のネットワーク接続状態および通信アクティビティを示します。

L/A OUT

緑

ポートX2(OUT)のネットワーク接続状態および通信アクティビティを示します。

RUN

緑

EtherCATの動作状態(アプリケーション層ステータス)を示します。

ERR

赤

フィールドバスのエラー状態を示します。

I/O

赤/緑/オレンジ

ノードの動作状態を示すとともに、異常が発生した場合はLEDの点滅パターンによってエラー内容を通知します。

ID選択スイッチ

ID選択スイッチは、EtherCATスレーブを識別するための「Explicit Device ID(EDI)」の下位8ビット(bit 0~bit 7)を設定するために使用します。

Explicit Device IDは、EtherCATネットワーク上の各スレーブを一意に識別するための識別番号です。そのため、同一のEtherCATネットワーク内で、同じExplicit Device IDを複数のデバイスに設定することはできません。

Explicit Device IDは、Hot Connect機能を使用する場合や、ネットワーク内でのデバイスの取り違えを防止する場合に必要となります。また。Explicit Device IDに「0」を設定することはできません。

Explicit Device IDの設定方法

Explicit Device IDはビット単位で設定され、ID選択スイッチ1~8によって下位8ビットが割り当てられます。ID選択スイッチ1が最下位ビット(bit 0:LSB)に対応し、ID選択スイッチ8が下位8ビットの最上位ビット(bit 7:MSB)に対応します。

一方、Explicit Device IDの上位8ビット(bit 8~bit 15)は、SDOオブジェクト「0x2134」を介して設定し、デバイス内部に保存できます。

このように、ID選択スイッチで設定した下位8ビットと、SDOオブジェクトで設定した上位8ビットを組み合わせることで、WAGO EtherCATスレーブの固定Explicit Device IDが構成されます。

フィールドバスカプラの起動

マスタスイッチの設定、およびフィールドバスカプラと各I/Oモジュールの電気的な接続が完了すると、フィールドバスノードを起動できる状態になります。

電源を投入すると、フィールドバスカプラは初期化処理を開始します。初期化処理では、最初にフィールドバスカプラのファームウェアが起動します。ファームウェアの起動中は、I/O LEDがオレンジ色に点灯します。

続いて、フィールドバスカプラは接続されている各I/Oモジュールを認識し、フィールドバスノードの動作に必要な情報を取得します。

この処理中は、I/O LEDが赤色で点滅します。

初期化処理が正常に完了すると、フィールドバスカプラは「INIT状態」へ移行し、I/O LEDが緑色に点灯します。

一方、起動処理中にエラーが発生した場合は、I/O LEDの点滅パターン(点滅コード)によってエラー情報が通知されます。このように、フィールドバスカプラは起動処理の進行状況や異常の有無をI/O LEDで表示するため、LEDの点灯色や点滅状態から、初期化処理の状態を確認できます。

起動動作

EtherCATフィールドバスカプラでは、電源投入後のセルフテストが完了し、ローカルバスの起動処理が開始されると、これと並行してEtherCATスレーブスタックが起動します。

EtherCATスレーブスタックの起動後、スレーブは「INIT状態」に移行します。この状態になると、EtherCATマスタはスレーブに対して「PREOP状態」への遷移を要求できるようになります。

ただし、ローカルバスの初期化処理が完了する前にPREOP状態への遷移要求を受信した場合、INIT状態からPREOP状態への遷移は一時的に保留されます。

この場合、ローカルバスの初期化処理が正常に完了した時点で、PREOP状態への遷移が実行されます。

一方、ローカルバスの初期化処理中にエラーが発生した場合は、INIT状態からPREOP状態への遷移が拒否され、対応するALステータスコード(Application Layer Status Code)によってエラー内容が通知されます。

このように、EtherCATフィールドバスカプラでは、ローカルバスの初期化状態に応じてEtherCATの状態遷移が制御され、I/Oモジュールの初期化が正常に完了したことを確認したうえで、次の通信状態へ移行する仕組みとなっています。

プロセスイメージの生成と登録

ローカルバスの初期化処理が正常に完了すると、接続されているI/Oモジュールの構成に基づいて、プロセスイメージの構成が確定します。

その後、各I/Oモジュールの入力データおよび出力データに対応するオブジェクトと、プロセスデータのマッピング情報(RxPDOおよびTxPDO)に関するオブジェクトが、オブジェクトディクショナリ(Object Dictionary)に登録されます。プロセスデータの構成を再認識させるためには、フィールドバスカプラの動作電源を一度切断し、再投入する必要があります。

また、動作中にI/Oモジュールの構成が変更された場合、フィールドバスカプラはエラー状態へ移行します。このエラー状態は、動作電源のOFF/ONによる再起動を行わなければ解除できません。

ローカルバスの初期化処理が一度正常に完了すると、それ以降のINIT状態からPREOP状態への遷移要求は、遅延なく受け付けられます。この動作は、初期化完了後にエラーが発生し、ローカルバスが動作していない場合でも同様です。

16チャンネルデジタル入力モジュール 7557-0105

WAGOのデジタル入力モジュール「7557-0105(16DI 24V DC 3ms/LSS)」は、センサ、スイッチ、近接スイッチなどのフィールドデバイスから、デジタル制御信号を取得するためのI/Oモジュールです。

7557-0105は16チャンネルのデジタル入力を備えており、1線式センサを直接接続できます。各入力チャンネルには、定数3msのRCフィルタが搭載されており、入力信号に含まれるノイズの影響を低減します。

フィールドデバイスは、CAGE CLAMP®接続端子「DI 1~DI 16」に接続します。

7557-0105のデジタル入力は、ローサイドスイッチング(Low-side Switching:LSS)方式に対応しています。この方式では、フィールド電源の0V電位が入力端子に接続されることで、対応する入力チャンネルの信号状態が「High」に設定されます。

デジタル入力モジュール(DIモジュール)には、システムや接続機器の電源を切断した際に発生する不定電圧によって、内部の電子部品が損傷しないよう、十分な耐性または保護機構が備えられています。

各入力チャンネルには、信号状態を表示する緑色のステータスLEDが搭載されています。これにより、各チャンネルの入力信号の状態を視覚的に確認できます。

い。

デジタル入力モジュール「7557-0105(16 DI 24V DC 3ms NPN)」は、フィールド側で使用する24V電源を、上流側に接続されたI/Oモジュールまたはフィールドバスカプラから受け取ります。また、WAGO-I/O-SYSTEM 755シリーズのすべてのフィールドバスカプラに対応しており、同シリーズを使用したフィールドバスノードに組み込むことができます

Layout

LED

チャンネル

名称

LED番号

LED状態

表示内容

1

DI 1 status

1

消灯

DI 1の入力信号:信号電圧(0)

1

DI 1 status

1

緑色点灯

DI 1の入力信号:信号電圧(1)

2

DI 2 status

2

消灯

DI 2の入力信号:信号電圧(0)

2

DI 2 status

2

緑色点灯

DI 2の入力信号:信号電圧(1)

…

…

…

…

…

15

DI 15 status

15

消灯

DI 15の入力信号:信号電圧(0)

15

DI 15 status

15

緑色点灯

DI 15の入力信号:信号電圧(1)

16

DI 16 status

16

消灯

DI 16の入力信号:信号電圧(0)

16

DI 16 status

16

緑色点灯

DI 16の入力信号:信号電圧(1)

配線図

16チャンネルデジタル出力モジュール 7557-0123

WAGOのデジタル出力モジュール7557-0123(16DO 24V DC 0.5A NPN)は、上位の制御装置から出力されるデジタル制御信号を、接続されたアクチュエータへ伝送するためのI/Oモジュールで、電磁弁、コンタクタ、トランスミッタ、リレーなどの各種電気負荷を制御する用途に使用されます。

16チャンネルのデジタル出力を備えており、1線式のアクチュエータを直接接続できます。

アクチュエータは、CAGE CLAMP®接続端子「DO 1~DO 16」に接続します。また、アクチュエータへの電源供給には、用途に適したフィールド側接続モジュールを組み合わせて使用します。

デジタル出力モジュール(DOモジュール)には、電磁弁やリレーなどの誘導性負荷をOFFにした際に発生する誘導電圧によって、内部の電子部品が損傷しないよう、十分な耐性または保護機構が備えられています。

7557-0123は、マイナス側をスイッチングするNPN方式を採用しています。この方式では、出力チャンネルの信号状態が「High」になると、対応する出力端子がフィールド電源の0V電位に接続されます。

各出力チャンネルには、出力のスイッチング状態を表示する緑色のステータスLEDが搭載されています。これにより、各チャンネルの出力状態を視覚的に確認できます。

い。

デジタル出力モジュール「7557-0123」は、WAGO-I/O-SYSTEM 755シリーズのすべてのフィールドバスカプラに対応しており、同シリーズを使用したフィールドバスノードに組み込むことができます。

Layout

チャンネル

名称

接続端子

機能

1

Output DO 1

1

DO 1の出力信号電圧

2

Output DO 2

2

DO 2の出力信号電圧

…

…

…

…

15

Output DO 15

15

DO 15の出力信号電圧

16

Output DO 16

16

DO 16の出力信号電圧

LED

チャンネル

名称

LED番号

LED状態

表示内容

1

State DO 1

1

消灯

DO 1の出力信号:信号電圧(0)

1

State DO 1

1

緑色点灯

DO 1の出力信号:信号電圧(1)

2

State DO 2

2

消灯

DO 2の出力信号:信号電圧(0)

2

State DO 2

2

緑色点灯

DO 2の出力信号:信号電圧(1)

…

…

…

…

…

15

State DO 15

15

消灯

DO 15の出力信号:信号電圧(0)

15

State DO 15

15

緑色点灯

DO 15の出力信号:信号電圧(1)

16

State DO 16

16

消灯

DO 16の出力信号:信号電圧(0)

16

State DO 16

16

緑色点灯

DO 16の出力信号:信号電圧(1)

配線図

4チャンネルアナログ入力モジュール 7557-0441

WAGOのアナログ入力モジュール「7557-0441(4AI U/I S.E.)」は、フィールドデバイスから入力されるシングルエンド方式の電圧信号および電流信号を処理するためのI/Oモジュールで、以下のアナログ入力信号に対応し、電気的に絶縁された4チャンネルのシングルエンド入力が備えられています。

  • 電圧入力:0~10V
  • 電流入力:0~20mA
  • 電流入力:4~20mA

各チャンネルのグランド接続は、共通の0Vグランド電位を使用する構成となっています。入力されたアナログ信号は、電気的に絶縁された状態で、16ビットの分解能によって伝送されます。

7557-0441には、動作状態を確認するためのLEDが搭載されています。各チャンネルの動作準備が完了し、ローカルバス通信が正常に行われている場合は、緑色のファンクションLEDによって状態が表示されます。

また、各チャンネルには赤色のエラーLEDが設けられており、入力信号が測定範囲を超えた場合に異常を通知します。さらに、入力信号の種類によっては、過負荷や断線などの異常状態も検出し、赤色LEDで通知します。

アナログ入力モジュール7557-0441は、WAGO-I/O-SYSTEM 755シリーズの各種フィールドバスカプラに対応しており、同シリーズを使用したフィールドバスノードに組み込むことができます。

Layout

チャンネル

端子名称

接続端子番号

機能

1

AI 1

1

アナログ入力1:信号入力

1

24 V

9

フィールド電源電圧(Uv)

1

Ground

2

アナログ入力:グランド

1

FE

10

機能接地(FE)

2

AI 2

3

アナログ入力2:信号入力

2

24 V

11

フィールド電源電圧(Uv)

2

Ground

4

アナログ入力:グランド

2

FE

12

機能接地(FE)

3

AI 3

5

アナログ入力3:信号入力

3

24 V

13

フィールド電源電圧(Uv)

3

Ground

6

アナログ入力:グランド

3

FE

14

機能接地(FE)

4

AI 4

7

アナログ入力4:信号入力

4

24 V

15

フィールド電源電圧(Uv)

4

Ground

8

アナログ入力:グランド

4

FE

16

機能接地(FE)

LED

チャンネル

名称

LED番号

LED状態

表示内容

1

Status AI 1

1

緑色点灯

動作準備が完了しており、ローカルバス通信が正常に行われている状態を示します。

1

Status AI 1

1

消灯

動作準備が完了していない、ローカルバス通信が中断されている、またはチャンネルが無効化されている状態を示します。

1

Error AI 1

9

赤色点灯

入力信号が許容測定範囲の上限または下限を超えている状態、過負荷または断線を示します。

1

Error AI 1

9

消灯

エラーが発生していない、または診断機能/チャンネルが無効化されている状態を示します。

配線図

4チャンネルアナログ出力モジュール 7557-0461

WAGOのアナログ出力モジュール7557-0461(4AO U/I)は、各種標準的な電圧信号および電流信号の出力に対応したI/Oモジュールです。

7557-0461は、各出力チャンネルの信号形式を個別にパラメータ設定できるため、接続するフィールドデバイスの仕様に応じて柔軟に構成でき、断線や短絡などの異常を検出する診断機能が備えられており、異常の発生を検出して通知できます。

また、誤配線に対する保護機能も搭載されており、接続ミスによる内部回路の損傷を防止するよう設計されています。

そして電圧出力では、必要に応じてセンスライン(Sense Line)を使用した4線式接続を選択できます。4線式接続では、電圧出力用の配線に加えて、電圧検出用のセンスラインを接続します。これにより、配線抵抗による電圧降下の影響を補正し、負荷側での出力電圧の精度を高めることができます。

また、アナログ出力信号は電気的に絶縁されており、16ビットの分解能で伝送されます。

Layout

チャンネル

端子名称

接続端子番号

機能

1

+AO1

1

電圧/電流出力(プラス側)

1

-AO1

9

電圧/電流出力(マイナス側)

1

+S1

2

センス入力(プラス側)

1

-S1

10

センス入力(マイナス側)

2

+AO2

3

電圧/電流出力(プラス側)

2

-AO2

11

電圧/電流出力(マイナス側)

2

+S2

4

センス入力(プラス側)

2

-S2

12

センス入力(マイナス側)

3

+AO3

5

電圧/電流出力(プラス側)

3

-AO3

13

電圧/電流出力(マイナス側)

3

+S3

6

センス入力(プラス側)

3

-S3

14

センス入力(マイナス側)

4

+AO4

7

電圧/電流出力(プラス側)

4

-AO4

15

電圧/電流出力(マイナス側)

4

+S4

8

センス入力(プラス側)

4

-S4

16

センス入力(マイナス側)

LED

名称

LED番号

表示色

表示内容

Status LED 1

1

緑

チャンネル1の動作状態を示します。動作準備が完了し、ローカルバス通信が正常に行われている状態を表示します。

Error LED 1

9

赤

チャンネル1の異常状態を示します。断線や短絡が発生した場合にエラーを通知します。

配線図

EtherCAT

EtherCAT®では、RxPDO(Receive Process Data Object)とTxPDO(Transmit Process Data Object)を使用して、プロセスデータのマッピングを行い、周期的に送受信されるプロセスデータの構造を定義します。

RxPDOとTxPDOは、EtherCATスレーブのオブジェクトディクショナリ(Object Dictionary)内に定義されるデータオブジェクトです。RxPDOはスレーブが受信するプロセスデータを、TxPDOはスレーブが送信するプロセスデータを扱います。

EtherCATスレーブのプロセスデータは、スレーブ内部のRAMに保存されます。

これらのデータは、スレーブのオブジェクトディクショナリ(Object Dictionary)において、入力データ領域(0x6000~0x6FFF)および出力データ領域(0x7000~0x7FFF)に対応するオブジェクトとして表現されます。

内部的には、これらのオブジェクトやサブインデックスは、デバイス内で該当するデータが保存されているメモリ位置を参照する役割を持っています。

また、オブジェクトおよびサブインデックスは、一般的にデバイスの物理的な構成を反映するように生成・命名されます。

0x6000番台および0x7000番台のオブジェクトに登録されたデータは、それぞれのインデックスとサブインデックスを使用して、RxPDOおよびTxPDOから参照できます。

EtherCATでは、以下のオブジェクト領域がPDOの定義に使用されます。

オブジェクト範囲

名称

用途

0x6000~0x6FFF

入力データオブジェクト

スレーブの入力データを定義

0x7000~0x7FFF

出力データオブジェクト

スレーブの出力データを定義

0x1600~0x17FF

RxPDO

出力データのマッピング

0x1A00~0x1BFF

TxPDO

入力データのマッピング

つまり、PDOは複数のプロセスデータをひとつのデータ単位にまとめる役割を持っています。これにより、個々の入力データや出力データを、周期通信で扱うデータのまとまりとして定義できます。

Sync Manager Assignment Listによる通信データの定義

RxPDOおよびTxPDOは、Sync Manager Assignment Listに登録されます。

各リストには、次のオブジェクトが割り当てられています。

  • 0x1C12(Sync Manager Assignment): 出力データに対応するRxPDOの割り当て
  • 0x1C13(Sync Manager Assignment): 入力データに対応するTxPDOの割り当て

これらのリストでは、周期通信で使用するRxPDOおよびTxPDOと、それらを送受信する順序が定義されます。

このように、EtherCATのプロセスデータは、以下の3つの要素によって構成されています。

  1. 入力・出力データオブジェクト(0x6000番台/0x7000番台)
    スレーブが保持する入力データおよび出力データの内容を定義します。
  2. RxPDO/TxPDO
    入力データおよび出力データを、周期通信で扱うデータ単位にまとめます。
  3. Sync Manager Assignment List(0x1C12/0x1C13)
    周期的に送受信するPDOと、そのデータの並び順を定義します。

プロセスデータ構成の変更とマスタによる認識

EtherCAT仕様では、RxPDO、TxPDO、およびSync Manager Assignment Listについて、EtherCATマスタからの書き込みを許可する構成と、読み取り専用とする構成の両方が認められています。

書き込みが許可されている場合、ユーザーは周期的に交換されるプロセスデータの構造を自由に設定できます。

一方、多くのEtherCATスレーブでは、これらのオブジェクトは読み取り専用として定義されており、すべてのプロセスデータを周期的に送受信する構成となっています。

この場合、EtherCATマスタはスレーブの起動時に該当するオブジェクトを参照し、周期通信で交換されるプロセスデータの正確な構造を把握します。

スレーブ内部RAMと周期通信データの関係

読み取り専用のPDO構成を持つスレーブでは、内部RAM上のプロセスデータの配置と、周期通信で交換されるデータの配置が一致しています。

そのため、スレーブ内部のプロセスデータを、並び替え処理を行うことなく直接コピーできます。

これにより、データの再配置に伴う処理を省略し、効率的なプロセスデータの交換が可能になります。

マッピング例

以下の図では、仮想的なEtherCATスレーブを例として、プロセスデータのマッピングの仕組みを示しています。

このスレーブは、入力データとして以下の5つのデータを持つものとします。

データ名

データ型

データサイズ

data A

UINT8

8ビット

data B

UINT8

8ビット

data C

UINT16

16ビット

data D

BIT4

4ビット

data E

BIT4

4ビット

プロセスデータのマッピング

フィールドバスカプラでは、モジュラーデバイスプロファイル(Modular Device Profile)に従って、プロセスデータのマッピングが行われます。

本製品では、モジュラーデバイスプロファイルの特殊なサブプロファイルは実装されていません。

また、Sync Manager Assignment ListおよびRxPDO/TxPDOなどのマッピングオブジェクトは、書き込みが許可されておらず、読み取り専用となっています。

モジュラーデバイスプロファイルの構成

モジュラーデバイスプロファイルでは、以下の規則に従ってオブジェクトが構成されます。

入力データオブジェクト(0x6000番台)

入力データを持つ各I/Oモジュールに対して、入力データ用のオブジェクトが割り当てられます。モジュールが持つすべての入力データは、対応するサブインデックスによって表現されます。

出力データオブジェクト(0x7000番台)

出力データを持つ各I/Oモジュールに対して、出力データ用のオブジェクトが割り当てられます。モジュールが持つすべての出力データは、対応するサブインデックスによって表現されます。

RxPDO/TxPDOの割り当て

各I/Oモジュールには、入出力データの種類に応じてRxPDOまたはTxPDO、あるいはその両方が割り当てられます。これらのPDOは、各I/Oモジュールが持つすべての入力データおよび出力データを参照します。これにより、EtherCATマスタは、接続されているI/Oモジュールの構成に応じたプロセスデータの配置を把握し、周期通信に必要なデータ構造を認識できます。

ステータスデータ(0xF100)

フィールドバスカプラのステータスデータは、オブジェクト「0xF100」に格納されます。

制御データ(0xF200)

フィールドバスカプラの制御データは、オブジェクト「0xF200」に格納されます。

このように、モジュラーデバイスプロファイルでは、各I/Oモジュールの入出力データと対応するPDOが一定の規則に従って定義されます。

Object 0x6000

入力データオブジェクト(0x6000~0x63F0)の構成

オブジェクト「0x6000~0x63F0」には、各I/Oモジュールの入力データが格納されます。

入力データを持つ各I/Oモジュールに対して、内部データバス上の入力データを表すオブジェクトが1つずつ割り当てられます。

つまり、I/Oモジュールの配置番号に応じて、オブジェクトのインデックスが0x0010(16)ずつ増加する仕組みとなっています。

一方、入力データを持たないI/Oモジュールについては、対応する入力データオブジェクトは生成されません。

入力データオブジェクトの内部構造

各入力データオブジェクトの構造は、接続されているI/Oモジュールの仕様によって異なります。

具体的には、以下の要素によってオブジェクトの構成が決定されます。

  • I/Oモジュールのチャンネル数
  • 各チャンネルが持つデータ項目数
  • 各データの型(データタイプ)

そのため、デジタル入力モジュールやアナログ入力モジュールなど、I/Oモジュールの種類によって、オブジェクトのサブインデックス構成やデータ形式が異なります。

一般的に、各入力データオブジェクトには、対応するI/Oモジュールから供給されるすべての入力データが含まれます。

Object 0x7000

出力データオブジェクト(0x7000~0x73F0)の構成

オブジェクト「0x7000~0x73F0」には、各I/Oモジュールの出力データが格納されます。

出力データを持つ各I/Oモジュールに対して、出力データを表すオブジェクトが1つずつ割り当てられます。

つまり、I/Oモジュールの配置番号に応じて、オブジェクトのインデックスが0x0010(16)ずつ増加する仕組みとなっています。

一方、出力データを持たないI/Oモジュールについては、対応する出力データオブジェクトは生成されません。

出力データオブジェクトの内部構造

各出力データオブジェクトの構造は、接続されているI/Oモジュールの仕様によって異なります。具体的には、以下の要素によってオブジェクトの構成が決定されます。

  • I/Oモジュールのチャンネル数
  • 各チャンネルが持つデータ項目数
  • 各データの型(データタイプ)

そのため、デジタル出力モジュールやアナログ出力モジュールなど、I/Oモジュールの種類によって、オブジェクトのサブインデックス構成やデータ形式が異なります。

一般的に、各出力データオブジェクトには、対応するI/Oモジュールが持つすべての出力データが含まれます。

Object 0xF100

オブジェクト「0xF100」には、モジュラーデバイスプロファイル(Modular Device Profile)に従って、フィールドバスカプラのステータスデータが格納されます。

また、このオブジェクトには、接続されている各I/Oモジュールの診断メッセージも含まれます。これにより、フィールドバスカプラの動作状態に加えて、I/Oモジュールで発生した異常や診断情報を確認できます。

Object 0xF200

オブジェクト「0xF200」には、モジュラーデバイスプロファイル(Modular Device Profile)に従って、フィールドバスカプラの制御データが格納されます。

また、このオブジェクトには、各I/Oモジュールの診断メッセージに関する制御ワード(Control Word)も含まれます。

これにより、フィールドバスカプラの制御に加えて、I/Oモジュールの診断メッセージに関連する制御を行うことができます。

Download ESI File

下記のLinkから今回記事で使用する7553-8000 EtherCATカプラーのESI Fileをダウンロードします。

https://www.wago.com/sg/io-systems/fieldbus-coupler-ethercat/p/8461-013_7553-8000#downloads

Implementation

WAGO 7553-8000側

最初はWAGO 7553-8000側から設定します。

DIP スイッチ

今回の記事ではWAGO EtherCATカプラーをID=7️に設定しますので、本体にあるDIPスイッチのスイッチ1,2,3をON側にしてください。

MXF-EtherCAT側

次はMXF-EtherCAT側を構築します。

EtherCATネットワーク構築

EtherCATネットワークを構築するにはModule Parameters→Module Extended Parametersをクリックします。

ESI Fileインストール

EtherCAT Configuration→ESI Managementをクリックします。

Add Fileをクリックします。

先程WAGO HPからダウンロードしたESI FILEを開きます。

Done!

WAGO EtherCAT カプラー7553-8000追加

SubDeviceを右クリック→Add SubDeviceします。

先程追加したWAGO 7553-8000 EtherCATカプラーを選択し→OKで進みます。

Done!

モジュール設定

次はWAGO 7553-8000 EtherCAT Couplerにインストールされたモジュールを追加するため、Module Tabをクリックします。

例えば1番目のモジュールが7557-0105なら、以下の操作をしてください。

  1. 左側を001:Terminalを選択します。
  2. 右側にあるDigital Input→7557-0105を選びます。
  3. 真ん中にある”<<”ボタンをクリックします。

今回の記事のモジュール構成は以下になります。

Distributed Clocks設定

Distributed Clocks Tabを開き→Operation ModeをDC-Synchronします。

アナログ入力パラメータ設定

今回記事では7557-0441アナログ入力入力モジュールのチャンネル1を電圧入力として動作したいので、SubDevice→7557-0441をクリックします。

もしくはSubDevice7553-8000→CoE object Dictionaryを開きます。

Signal Type→ValueのDrop-listをクリックします。

Drop-listから0-10vを設定します。

Done!次はConfirmボタンをクリックします。

Done!パラメータが変更された場合は、下記にある”Restore default”ボタンを押せるようになります。

アナログ出力パラメータ設定

SubDevice7553-8000→CoE object Dictionary→CoE object Dictionaryを開き、Signal Type(Channel 1)を0-10vに設定します。

設定保存

Close with Reflecting the Settingをクリックしネットワーク設定を保存します。

Yesをクリックします。

ラベル生成

今度はラベルを生成します。Labeling Targetを選択し→Label Nameを入力→Create Labelで構造体ラベルを生成しましょう。

Yesで進みます。

Done!

プログラム

こちらは検証プログラムです。ST言語のR_TRIGとSHLを使用し、16ビットのデジタル出力を順番にONさせるプログラムを作成しました。

  • R_TRIGで100msクロック信号の立ち上がり、かつWAGOの入力モジュールに配線したボタンを押したことを検出し、SHLによって出力データを1ビットずつ左にシフトします。
  • NX-ECC202・NX-ECC203出力データが0の場合は初期値として1を設定し、最上位ビット(Bit 15)に到達すると出力データをクリアして、再びBit 0から処理を繰り返します。
  • WAGO 7557-0123出力モジュールはChannel1からChannel16までON・OFFを繰り返します。
  • 7557-0461アナログ出力チャンネル1の出力値は7557-0441アナログ入力値1そのままLoop Backします。

//EtherCAT Ready
M10:=MX_EC.bIn_EtherCATFunction_Ready;

//Sub Devices
D100:=MX_EC.unSts_SubDeviceESMState_D[0];
D101:=MX_EC.unSts_SubDeviceESMState_D[1];
D102:=MX_EC.unSts_SubDeviceESMState_D[2];
D103:=MX_EC.unSts_SubDeviceESMState_D[3];

//
IF iCounter <0 THEN
iCounter:=0;
END_IF;


//fbR_TRIG(CLK:= MX_SQ.stSM.b10msClock);
fbR_TRIG(CLK:= MX_SQ.stSM.b100msClock AND stID07.Module17557_010516DI_3msNPNInputs_Channel1Data1 =1);


IF SubDevice_1001NX_ECC203_Module1NX_OD5256OutputDataSet1_OutputBit16bits = 0 THEN

SubDevice_1001NX_ECC203_Module1NX_OD5256OutputDataSet1_OutputBit16bits:=1;

END_IF;

IF fbR_TRIG.Q THEN

SubDevice_1001NX_ECC203_Module1NX_OD5256OutputDataSet1_OutputBit16bits:=
SHL(
SubDevice_1001NX_ECC203_Module1NX_OD5256OutputDataSet1_OutputBit16bits
,1
);

END_IF;

IF stID40.Module2NX_OD5256OutputDataSet1_OutputBit16bits =0 THEN
stID40.Module2NX_OD5256OutputDataSet1_OutputBit16bits:=1;
END_IF;

IF fbR_TRIG.Q THEN

stID40.Module2NX_OD5256OutputDataSet1_OutputBit16bits:=
SHL(
stID40.Module2NX_OD5256OutputDataSet1_OutputBit16bits
,1
);
IF iCounter = 0 THEN
stID07.Module27557_012316DO_05ANPNOutputs_Channel1Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel2Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel3Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel4Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel5Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel6Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel7Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel8Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel9Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel10Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel11Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel12Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel13Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel14Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel15Data1:=0;
stID07.Module27557_012316DO_05ANPNOutputs_Channel16Data1:=0;
iCounter:=iCounter+1;
ELSE
stID07.Module27557_012316DO_05ANPNOutputs_Channel1Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel2Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel3Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel4Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel5Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel6Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel7Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel8Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel9Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel10Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel11Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel12Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel13Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel14Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel15Data1:=1;
stID07.Module27557_012316DO_05ANPNOutputs_Channel16Data1:=1;
iCounter:=0;
END_IF;

END_IF;

stID07.Module47557_04614AO_UIStandardOutputs_Channel1Word1:=stID07.Module37557_04414AI_UIStandardInputs_Channel1Word1;

CPUと接続する

最後はPCとMXF-EtherCATをUSB-Cで接続します。

ダウンロード

プロジェクトをCPUにダウンロードし、電源を入れ直します。

結果

WAGO 7553-8000 EtherCAT Coupler本体にあるRUNとI/O LED両方も緑点灯になっています。

オムロンのECC203はエラーなく、RUN・TS両方とも緑点灯になっています。

4つのEtherCAT Slaveもステータス=8、つまりOP状態になっています。

こちらの動画から動作確認できます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする