三菱iQ-RシリーズのCPUにはイーサネットポートが標準で搭載されています。
この内蔵イーサネットを使えば、他ベンダーの機器とModbusTCPで通信ができます。
ただし使用するCPUやユニットによって、クライアント/サーバーの割り当てに制限があります。
- 【クライアントのみ】
└ CPU内蔵のイーサネットポート - 【クライアント/サーバ】
├ ENシリーズCPUと一体のイーサネットユニット(内蔵タイプRJ71EN71)
└増設用のイーサネットユニット(RJ71EN71)
iQ-R CPUをModbusTCP通信のクライアントとして使うとき、GX-Works3のユニット設定から『シンプルCPU通信設定』を利用します。
ラダー上で通信プロトコル回路を書かなくていいので、簡単にModbusTCP接続を確立できる点が特徴です。
シンプルCPU通信設定を使った例に、【FANUC】Modbus/TCPサーバ機能を追加してModbusで通信するがあります。
これは三菱iQ-R CPUとFANUCをModbusTCP通信で接続したときの、FANUC側の設定を解説しました。
ここでは三菱iQ-R CPUをクライアント、FANUCをサーバーとしたModbusTCP接続のやり方について、シンプルCPU通信設定から実現する手順を解説します。
シンプルCPU通信設定とは
難しい通信プロトコルの回路を書かなくても、三菱電機のPLCや他ベンダーのPLCとも簡単に接続できる便利な機能です。
送受信は指定した相手と1:1でおこない、PLC同士でデバイスデータを送受信したいときに使います。
交信相手の機器種別一覧
シンプルCPU通信設定が対応する交信相手は次の通りです。
機器種別 | 交信相手 | 通信方法 |
---|---|---|
三菱iQ-R(内蔵Ethernet) | RnCPU, RnENCPU, RnPCPU, RnSFCPU, RnPSFCPU | MELSOFT接続(UDP) |
三菱Q(内蔵Ethernet) | Ethernetポート内蔵QCPU | MELSOFT接続(UDP) |
三菱L(内蔵Ethernet) | Ethernetポート内蔵LCPU | MELSOFT接続(UDP) |
三菱iQ-F(内蔵Ethernet) | FX5U CPUユニット, FX5UC CPUユニット | MELSOFT接続(TCP) |
三菱iQ-L(内蔵Ethernet) | LnHCPU | MELSOFT接続(UDP) |
三菱iQ-R(Ethernetユニット) | RnENCPU,RJ71EN71 | MELSOFT接続(UDP) |
三菱Q(Ethernetユニット) | QJ71E71-100 | MELSOFT接続(UDP) |
三菱L(Ethernetユニット) | LJ71E71-100 | MELSOFT接続(UDP) |
三菱A/AnS(Ethernetユニット) | AJ71E71N3-T, AJ71QE71N3-T, A1SJ71E71N3-T, A1SJ71QE71N3-T | MCプロトコル(A互換1Eフレーム) |
三菱FX3(Ethernetブロック・アダプタ) | FX3U-ENET-ADP, FX3U-ENET-L | MCプロトコル(A互換1Eフレーム) |
SLMP対応機器(QnA互換3Eフレーム) | • SLMP対応機器(シリアル番号なし) • MCプロトコル3Eフレーム対応機器 | SLMP(MCプロトコル QnA互換3Eフレーム) • Read(0401H) • Write(1401H) |
オムロン(CS/CJシリーズ) | SYSMAC CS/CJシリーズ対応機器 | FINS |
キーエンス(KVシリーズ) | KVシリーズ対応機器 | SLMP(MCプロトコル QnA互換3Eフレーム) |
パナソニック(FP2SHシリーズ) | FP2シリーズ対応機器 | MEWTOCOL |
パナソニック(FP7シリーズ) | FP7シリーズ対応機器 | MEWTOCOL7 |
安川MP3000シリーズ | MP3000シリーズ対応機器 | 拡張MEMOBUS |
安川MP2000シリーズ | MP2000シリーズ対応機器 | 拡張MEMOBUS |
横河FA-M3シリーズ | FA-M3シリーズ対応機器 | パソコンリンク |
MODBUS/TCP対応機器 | MODBUS/TCPスレーブ機器 | MODBUS/TCP |
SIEMENS S7シリーズ | S7シリーズ対応機器 | S7 Communication |
富士電機MICREX-SXシリーズ | • MICREX-SX(CPUモジュール)シリーズ対応機器 • MICREX-SX(Ethernetモジュール)シリーズ対応機器 | ローダコマンド |
ジェイテクトTOYOPUCシリーズ | • TOYOPUC PC10(CPUモジュール)シリーズ対応機器 • TOYOPUC Plus(CPUモジュール)シリーズ対応機器 • TOYOPUC Plus(Ethernetモジュール)シリーズ対応機器 | コンピュータリンク |
FANUCのPMCが交信相手の一覧になかったため、Modbus/TCPを使って接続することにしました。
一覧にない機器でも、Modbus/TCPのスレーブ機能に対応していれば、シンプルCPU通信機能を使って接続できます。
シンプルCPU通信機能で設定できるのはクライアント側のみ
機器種別一覧では、交信相手に『Modbus/TCPスレーブ』と記述されてることにお気づきでしょうか。
シンプルCPU通信機能を使ってModbus/TCP通信を確立する際は、必ずiQ-R CPUがクライアントに設定されます。
iQ-R CPUをサーバ(スレーブ)にしたいときは、相手機器接続構成設定を使います。
さらにEthernet構成RnENCPUの一体型Ethernetポートへ接続するか、別途Ethernetユニットが必要です。
今回はクライアント側として利用するので、サーバ設定に関しては割愛します。
Modbus/TCP接続における構成例
三菱iQ-R CPUとFANUC 0i-TCを接続する方法を例にとって構成を説明します。
ネットワーク回路構成
ModbusTCPのクライアントは三菱電機製 iQ-R(R120ENCPU)、サーバをFANUC 0i-TCとします。
両者はスイッチングハブを経由して、イーサネットケーブル(ストレート)で接続します。
このとき三菱側は一体型Ethernetユニットのポート1、FANUC側は内蔵Ethernetポートにイーサネットケーブルの両端をつなぎます。
各機器のIPアドレスは次の通りです。
- 三菱R120ENCPU → 192.168.3.40
- FANUC 0i-TC → 192.168.3.41
三菱iQ-Rユニット構成
R120ENCPUといった、型式にENがつくモデルはEthernetユニット一体型CPUです。
スロット0のユニット部品は、『CPU拡張』リストからRJ71EN71を選びます。
型式後のカッコ書き内は、各ネットワークポートの仕様です。
ModbusTCP接続では、Ethernetインタフェースに対応した(E+IEC)または(E+IEF)を選択します。
ユニット全体の構成図は次の通りです。
ベースユニット | R33B |
電源ユニット | R61P |
CPU | R120ENCPU |
Ethernetユニット | RJ71EN71(E+IEC) |
Modbusデータ領域と取合内容
三菱PLCとFANUC PMC間において、やり取りされるデータの流れは次の通りです。
【三菱PLC –≫ FANUC PMC】
- データレジスタD9000.0~D9079.Fの内容を、保持レジスタ0~79ワード目に書込み
- 保持レジスタ0~79ワード目の内容を、PMCアドレスE0000.0~E0159.7に書込み
【三菱PLC ≪– FANUC PMC】
- PMCアドレスE0500.0~E0559.7の内容を、保持レジスタ80~159ワード目に書込み
- 保持レジスタ80~159ワード目 の内容を、データレジスタD9100.0~D9179.Fに書込み
ModbusTCP通信を定義することで、工程①でModbusデータ領域へ書込み、工程④でModbusデータ領域から読出せます。
シンプルCPU通信設定は、この工程を簡単に実現する機能だと言えます。
※FANUC側が保持レジスタ領域の読出/書出にしか対応していないため、使用する領域は保持レジスタ(Holding Register)です。
シンプルCPU通信設定でModbusTCP通信パラメータを定義する
構成例にそって、シンプルCPU通信設定のパラメータを定義していきます。
ナビゲーションウィンドウから、Ethernetインタフェースのパラメータ設定画面を開いておいてください。
自ノードのアドレス設定
自ノードとは、ModbusTCPネットワーク上での三菱PLC自身のことです。
ネットワーク回路構成をもとに、自ノードのIPアドレスとサブネットマスクを、次の通りに入力してください。
- IPアドレス
└ 192.168.3.40 - サブネットマスク
└ 255.255.255.0 - デフォルトゲートウェイ
└ 未設定 ※接続相手が同じサブネットマスクを使っているため不要
シンプルCPU通信設定を有効にする
設定項目一覧から、応用設定内の『シンプルCPU通信設定』を開きます。
直上に『Modbus/TCP設定』の項目がありますが、シンプルCPU通信設定を使ったModbusTCP通信では設定しません。
シンプルCPU通信設定は次のように入力します。
- シンプルCPU通信使用有無
└ 使用する - CPU応答監視タイマ
├ 5
└ s - シンプルCPU通信設定
└ <詳細設定>を開く
シンプルCPU通信の詳細設定
ここでは接続相手先とやり取りするデバイス領域を設定します。
接続相手のFANUCとは入力/出力データをやり取りしたいので、通信パターンは書込/読出の2つを定義します。
ModbusTCP接続における、シンプルCPU通信での設定項目は次の通りです。
設定名称 | 設定No.1の設定 | 設定No.2の設定 |
---|---|---|
通信パターン | 書込 | 読出 |
更新設定 | 定期/100ms | 定期/100ms |
交信相手(転送元) | 自局(自ノードのIPアドレス) | MODBUS/TCP(192.168.3.41) ※交信相手設定を参照 |
交信相手(転送元) | MODBUS/TCP(192.168.3.41) ※交信相手設定を参照 | 自局(自ノードのIPアドレス) |
ワードデバイス(転送元) | 種別:D/先頭(D)9000~最終(D)9079 | 種別:Holding Register/先頭0~最終79 |
ワードデバイス(転送先) | 種別:Holiding Regisger/先頭80~最終159 | 種別:D/先頭(D)9100~最終(D)9179 |
通信タイムアウト時間 | 1000ms | 1000ms |
通信リトライ回数 | 3 | 3 |
異常時監視時間 | 30s | 30s |
読出/書込の相手が同じなので、2項目とも同じ交信相手設定にします。
項目 | 設定 |
---|---|
IPアドレス入力形式 | 10進数 |
機器種別 | MODBUS/TCP対応機器 |
IPアドレス | 192.168.3.41 |
TCP/UDP | TCP |
ポート番号 | 502 ※Modbus/TCP通信では502が既定値 |
自局ポート番号 | 6000 ※1024~4999、5010~61439から選択する |
オプション(16進数) MODBUSアプリケーションヘッダのユニットID | FF |
ゲートウェイ機器を通じてModbus RTU/ASCII対応機器と更新する場合、オプションの値は次のように指定してください。
- 00(ブロードキャスト送信)
- 01~F7(MODBUS RTU/ASCII対応機器の局番)
以上でシンプルCPU通信設定による、ModbusTCP通信の設定は終わりです。
通信ができないとき
ModbusTCP通信がうまくいかないときは、次の確認項目を実施してください。
MODBUS/TCP接続時のトラブルシューティング
相手機器はMODBUS/TCPに対応しているか
相手機器がMODBUS/TCPに対応していない場合は、MODBUS/TCPの規格に対応した機器に交換してください。 |
接続中の相手機器とのコネクション数が64の状態で、新しい接続を実施していないか
Ethernet搭載ユニットへ接続する相手機器を減らしてください。 相手機器とのコネクション数が64を超えた場合、最後に交信してから最も時間が経過している相手機器とのコネクションは自動的に切断されます |
MODBUS/TCP機能に対応しているEthernet搭載ユニットを使用しているか。
Ethernet搭載ユニットのファームウェアバージョンを確認し、MODBUS/TCP機能に対応したユニットか確認してください。 MODBUS/TCP機能に未対応のEthernet搭載を使用している場合は、対応済みのユニットに交換してください。 |
シンプルCPU通信診断またはバッファメモリ上のシンプルCPU通信エラーコードで、エラーが発生していないか。
エラー要因を取り除いてください。 通信リトライ回数、通信タイムアウト時間を増やすことで通信ができる場合は、通信リトライ回数、通信タイムアウト時間を見直すか、ケーブル、ハブ、ルータなど相手機器とのEthernet通信の回線状況を確認し、回線が混み合っていないかなど確認してください。 |
シンプルCPU通信診断の通信状態、またはバッファメモリ上のシンプルCPU通信状態が「準備中」のままとなっていないか。
Ethernet搭載ユニットとハブとの間のケーブルの状態および、ハブが正常に動作しているかを確認する。 |
シンプルCPU通信機能に対応しているユニットを使用しているか。
”システムモニタ”の”製品情報一覧”で、対象ユニットのファームウェアバージョンを確認し、シンプルCPU通信に対応したユニットか確認する。 シンプルCPU通信未対応のユニットを使用している場合、対応済みのユニットに交換する。 |
相手機器接続構成設定で設定している自局ポート番号が61696~65534になっていないか。
シンプルCPU通信の交信相手が三菱電機シーケンサの場合、自局ポート番号は61696~65534を動的に使用しています。 相手機器接続構成設定の自局ポート番号に61696~65534を設定していると、ポート番号が重複して通信ができないため、相手機器接続構成設定の自局ポート番号を61696~65534以外に設定してください。 |
シンプルCPU通信機能を設定したCPUユニットで、ほかのEthernet機能を同時に実行していないか。
シンプルCPU通信機能を設定したCPUユニットで同時に実行しているEthernet機能を見直す。 |
交信相手のCPUユニットのサービス処理の負荷が高くないか。
●交信相手がサービス処理を設定できる機種なら、交信相手のサービス処理の回数や時間を増やす。 ●交信相手がCOM(P)命令、CCOM命令に対応している場合は、交信相手のシーケンスプログラムにCOM(P)命令、CCOM命令を組み込む。 ●実行間隔を見直す。 |
Ethernet通信の負荷が高くないか。または通信品質が低くないか。
ケーブル,ハブ,ルータなど相手機器とのEthernet通信の回線状況を確認し、負荷を削減や通信品質の改善をおこなう。 CPUユニット(内蔵Ethernetポート部)のバッファメモリUn¥G100/Un¥G101(単位時間(1秒)あたりの受信パケット数)、またはUn¥G102/Un¥G103(単位時間(1秒)あたりの送信パケット数)を確認し、負荷を削減し通信品質を改善する) |
シンプルCPU通信機能を設定したCPUユニットのスキャンタイムが長い。
シンプルCPU通信機能を設定したCPUユニットのシーケンスプログラムにCOM(P)命令、CCOM命令を組み込む。 |
交信相手のIPアドレスの設定が正しいか。
交信相手のIPアドレスを確認し、間違っている場合は修正してください。 |
”接続状態”(Un¥G1249309)が3H(実行中)になっているか。
●1H(準備中)の場合は、通信開始待ち時間が経過するまで待ってください。 ●2H(要求待ち)または4H(停止中)の場合は、’機能起動/停止指示’(Un¥G1249300.0)と’各プロトコルの開始要求’(Un¥G1249348~Un¥G1249379)をONしてください。 ●5H(リトライ中)または6H(異常監視中)の場合は、”通信タイムアウト時間”または”異常時監視時間”経過後に再度確認してください。 |
Ethernetケーブルがしっかりと接続されているか。
Ethernetケーブルを正しく接続してください。 |
プロトコル設定にて、交信相手に対して適切なプロトコルが使用されているか。
交信相手に対して適切なプロトコルを使用していない場合は、適切なプロトコルに修正してください。 プロトコルについては、交信相手のマニュアルを参照してください。 |
’照合不一致プロトコル番号’(Un¥G1249317)と、’照合不一致情報’(Un¥G1249318~Un¥G1249333)を確認する。
照合不一致となった構成要素番号と照合不一致の要因を確認し、原因となっている構成要素の設定内容を見直してください。 |
”送受信パラメータ設定”の”受信システムエリアクリア”の設定内容を確認する。
”しない”に設定されている場合は、”する”に設定してください。 |
参考資料
三菱電機株式会社 MELSEC iQ-R Ethernetユーザーズマニュアル(応用編)シンプルCPU通信設定 R-ETHER-U-OU-J
コメント