三菱電機Q03UDVCPUとOMRONのEIP通信カプラNX-EIP202をEthernet/IP(Explicit)で接続します。
Q03UDVCPUの内蔵Ethernetポートから自作のExplicitメッセージを発行するプログラムを実装し、NX-EIP202に装着したDIOユニットを制御します。
Explicitメッセージの中身はMolexのEIP Toolを使用してUCMM通信を行った際のパケットをWiresharkでキャプチャした内容を解析して作成します。
1 構成
2 NX-EIC202のUCMM通信テスト
2.1 Identityオブジェクトの読出し
NX-EIC202の製品情報を読み出す場合のオブジェクトは以下のようになります。
Service Code | Class ID | Instance ID | 内容 |
01 Hex | 01 Hex | 01 Hex | 製品情報 |
MolexのEIP Toolで読み出してみます。
EIP Toolでは読み出したデータがわかりにくいため、Wiresharkでパケットを見ると製品情報「Product Name:NX-EIC202」が読み出されていることがわかります。
2.2 EtherNet/IP スレーブターミナルの入出力データの読み書き
OMRONの「EtherNet/IP™カプラユニット ユーザーズマニュアル」の「A-3-6 EtherNet/IP スレーブターミナルの入出力データ読み書き」に記載された手順に従って入出力データの読み書きを行います。
手順1:EtherNet/IP スレーブターミナルの各ユニットに出力データの初期値を書き込む
NX-EIC202のオブジェクトは以下のようになります。
Service Code | Class ID | Instance ID | Attribute ID |
10 Hex (Set Attribute Single) | 04 Hex (Assembly) | 94 Hex | 03 Hex |
MolexのEIP Toolでは以下のように入力します。
手準2:Ethernet/IP スレーブターミナルの各ユニットの状態をオペレーショナルに変更する
NX-EIC202のオブジェクトは以下のようになります。
Service Code | Class ID | Instance ID | Unit No | State | Reserved | Output data Access watch dog timeout time(ms) |
39 Hex (Change NX state) | 74 Hex (NX Configuration) | 01 Hex | 0000 Hex | 08 Hex (Operational) | 00 Hex | 0036EE80 Hex (3600sec) |
MolexのEIP Toolでは以下のように入力します。
ここまで実施するとNXユニットのLED“TS”が点灯になります。
手順3:入力データを読み出す。
NX-EIC202のオブジェクトは以下のようになります。
Service Code | Class ID | Instance ID | Attribute ID |
0E Hex (Get Attribute Single) | 04 Hex (Assembly) | 64 Hex | 03 Hex |
MolexのEIP Toolでは以下のように入力します。
このとき、NX-ID4442のIN0に接続したスイッチをオンしていたので、Responseの7Word目が“01 Hex (0000 0001 Bin)”になっています。
NX-ID4442のIN7に接続したスイッチをオンしたときは、Responseの7Word目が“80 Hex (1000 0000 Bin)”になります。
手順4:出力データを書き込む。
NX-EIC202のオブジェクトは以下のようになります。
Service Code | Class ID | Instance ID | Attribute ID | Data |
10 Hex (Set Attribute Single) | 04 Hex (Assembly) | 94 Hex | 03 Hex | 0001 Hex (0Bit ON) |
MolexのEIP Toolでは以下のように入力します。
16 Bit目をONするときは、Dataの2 Byte目に“80 Hex”を入力します。
3 Q03UDVCPUの設定
3.1 PCパラメータ設定
PCパラメータの内蔵Ethernetポート設定を以下のように設定します。
オープン設定のNo.3を以下のように設定します。
“設定終了”でPCパラメータを閉じます。
3.2 設定の書込み
オンラインから“PC書込”でパラメータとプログラムを書き込み、CPUリセットします。
3.3 通信プロトコルの作成
Q03UDVCPUの内蔵Ethernetポートの通信プロトコル支援機能を使用してUCMM通信パケットを作成します。
Gx-works2の“ツール”→“通信プロトコル支援機能”→“内蔵Ethernet”を選択しツールを起動します。
上記テストで取得した情報を元に下記のような8個のプロトコルを作成します。
Gx-works2のリモート操作でCPU動作モードを“Stop”にします。
通信プロトコル支援機能のオンラインから“ユニット書込”を選択し設定を書き込みます。
CPUリセット操作を行います。
3.4 プログラムの作成
「QnUCPUユーザーズマニュアル(内蔵Ethernetポート通信編):6.2 設定方法 」を参考に、通信プロトコルを実行するラダーを作成し書込みます。
4 動作確認
①コネクションオープン。
②プロトコル番号2“ListService”からプロトコル番号3“RegisterSession”を連続実行して“SessionHandle”を取得します。
③プロトコル番号6“出力初期値書込み”とプロトコル番号7“オペレーショナル変更”を連続実行します。
④プロトコル番号4を実行し、入力NX-ID4442の状態を読み出します。
(NX-ID4442の0 Bit目に配線したスイッチON状態が、D942に“H0001”として格納されます)
⑤プロトコル番号5を実行し、出力NX-OD5121の0Bit目をONします。
(書き込みデータを格納するD950に“H0001”を格納しプロトコル番号5を実行すると、NX-OD5121の0 Bit目がONします)
5 参考文献
OMRON:EtherNet/IP™カプラユニット ユーザーズマニュアル.pdf(SBCD-365K)
Molex:EIP Tool