Ethenet フィールドバスコントローラを使って 三菱社 PLC と MC プロトコル通信をするサンプルプログラム NO. 0400 10/08/03 1 MC プロトコルの概要 MC プロトコル (MELSEC コミュニケーションプロトコル ) とは三菱社 Q シリーズ PLC と Ethernet またはシリアルデバイスによって通信をすることにより シーケンサ内部のデバイスに書込 / 読込をすることができるプロトコルです 通信手順が公開されており 当社 Ethernet フィールドバスコントローラでもプログラムを作成 書込することによって通信することが可能です 2 本サンプルプログラムの概要 本サンプルプログラムでは幾つかの項目を入力するだけで MC プロトコル (UDP) で通信することができるようになっています 三菱社製 PLC へは最大 500 点 ( 送信 / 受信 ) のデータを送信できます また 本サンプルプログラムでは実入出力領域をそのままMCプロトコル領域へ変換しています 例 ) 送信 D100~D105 設定の場合 %IW0~%IW5 を三菱 PLC にて読み出し可能 プログラムは 750-841 用サンプルプログラムと 750-842/843 用サンプルプログラムの 2 種類が用意されています 750-841 用サンプルプログラムは WebVisu を使用してインターネットエクスプローラーから設定をすることができるようになっています (750-842,843 用サンプルプログラムは Codesys 上プログラムによって設定 ) 1/10
3 三菱シーケンサの設定 GX-Developer のパラメータ ネットワークパラメータ Ethernet/CC IE/MELSECNET を開き QJ71E71-100 の設定を行ないます 動作設定を選択し 下図のように設定を行ないます 2/10
続いてオープン設定を選択し 下記のように設定を行ないます 交信相手 IP アドレスの項目は IP アドレスに 255.255.255.255 を入力し 一斉同報に設定します 以上で GX-Developer での設定は終了です シーケンサに設定を書き込んで WAGO-I/O-SYSTEM の設定に移ります 4 サンプルプログラムのダウンロード 4-1 750-841 の場合 750_841MC_Sample_UDP_RW&Webvisu_rev*.pro (* はリビジョン番号 ) を CodesysV2.3 で開き 通常の手順にてサ ンプルプログラムをダウンロードします ファイルパスに日本語が含まれている場合は下図のようなエラーが発生しますが そのまま OK を押します 3/10
プログラムのダウンロードが完了したら続いてマニュアル用の画像及び WebVisu 日本語表示用差分ファイルをダウンロードします Online Write file to PLC を実行し Manual1.jpg Manual2.jpg Manual3.jpg Webvisu.htm をコントローラーにダウンロードをします 4/10
4-2 750-842,750-843 の場合 750_842_843_MC_Sample_UDP_RW.pro を CodesysV2.3 で開き 通常の手順でのダウンロードを実行してください なお 本サンプルプログラムではターゲット設定が 750-843 になっております 750-842 にダウンロードをする場 合は Resources Target Settings を開き Configuration を 750-842 に設定してください 750-842,750-843 の場合 次項の MC プロトコルの通信設定を Codesys プログラム上で行うことになります 5-2 750-842,750-843 の場合の通信設定を設定頂いた後にプログラムのダウンロードを実行することをおすす めします 5/10
5 MC プロトコル通信設定 5-1 750-841 の場合の通信設定 750-841 は WebVisu で MC プロトコルの通信設定を行うことができます インターネットエクスプローラーでアドレスバーに IP アドレスを入力し Web-based Management を開き WebVisu リンクを実行します 6/10
< 設定画面の解説 > PLC IP アドレス三菱 Ethernet ユニットの IP アドレスを入力してください PLC 通信 PORT GX-Developer で設定した自局ポート番号 (2000) を入力してください 通信サイクルタイム 1 回の通信にかける時間です この項目は ms 単位で入力します ( 例 :1 秒設定の場合は 1000 を入力 ) 通信時間を短くしすぎるとデータの読み飛ばしを発生することがあります その場合は通信サイクルタイムを長めに取るようにしてください 通信タイムアウト時間ここで設定した時間の間受信データに変化がない場合 通信異常とみなします この項目は ms 単位で入力します ( 例 :1 秒設定の場合は 1000 を入力 ) 通信異常の場合 com_error(bool) の値が TRUE になります データレジスタ方式 DもしくはWの左にあるチェックボックスでデータレジスタを選択します また 各レジスタを選択した場合の先頭アドレスと最終アドレスが表示されます 受信 ( 送信 ) 先頭アドレス三菱 PLC の MC プロトロルで読み出し ( 書き出し ) をしたい先頭アドレスを指定します 受信 ( 送信 ) 点数前項の先頭アドレスを起点に何点分データを読み出すかを10 進数で指定します 受信 ( 送信 )ON/OFF このチェックボックスを ON にすると実際に三菱 PLC と通信を開始します 7/10
5-2 750-842,750-843 の場合の通信設定 750-842 750-843 の通信設定は Codesys プログラム上で行ないます Settings[PRG] を開き プログラムを直接変更してダウンロードをしてください < 設定の解説 > (* 宛先 IP アドレスの設定 *) 三菱 Ethernet ユニットの IP アドレスを入力してください STRING データとなっていますので 192.168.1.1 のような方式で入力します ( データ部の最初と最後にはアポストロフィーを入力する ) (* PLC 通信 PORT の設定 *) GX-Developer で設定した自局ポート番号 (2000) を入力してください 16 進数でのデータ指定になっていますので 16#2000 のような方式で入力します (* 通信サイクルタイムの設定 (1/2 値を設定 ) *) 1 回の通信にかける時間です TIME データとなっていますので T#50ms のような方式で入力します 通信時間を短くしすぎるとデータの読み飛ばしを発生することがあります その場合は通信サイクルタイムを長めに取るようにしてください 8/10
(* 通信タイムアウト時間の設定 *) ここで設定した時間の間受信データに変化がない場合 通信異常とみなします 通信異常の場合 com_error(bool) の値が TRUE になります TIME データとなっていますので T#2000ms のような方式で入力します (* リンクデバイスの選択 *) 使用したいデバイスに TRUE を 使用しないデバイスに FALSE を指定します 必ずどちらかが選択されるように指定してください (* 先頭アドレスの設定 *) 三菱 PLC の MC プロトロルで読み出し ( 書き出し ) をしたい先頭アドレスを指定します Dレジスタを選択した場合は 10 進数でそのまま数値を入力します Wレジスタを選択した場合は 16 進数データのため 16#100 のような方式で入力します (* デバイス点数の設定 *) 前項の先頭アドレスを起点に何点分データを読み出し ( 書き出し ) するかを10 進数で指定します 6 プログラムの概略 この章では三菱 PLC へ送信 / 受信するデータの指定方法及び注意事項について説明します 6-1 WAGO-I/O 三菱 PLC 送信データの指定方法 本サンプルプログラムでは WAGO_to_Mitsubishi[PRG] にて実入出力領域 (%IW**,%QW**) のデータを D200 ~ D204 (750-841), W200 ~ W204 (750-842,750-843) にアサインしています 三菱 PLC へは最大 500 ワート までデータの送信が可能になっています 任意のデータを送信したい場合はプログラムを変更する必要があります 変更箇所は次のとおりです ( 750-841 用のプログラムの場合 ) 1 SendDataAssign_W[PRG] 内 47 ステッフ 目の FOR ~ END_FOR 間を削除するか (* *) でくくり 実行されないようにする 2 50 ステッフ 目の (* を削除 3 351 ステッフ 目の *) を削除 4 送信したいデータを %MW1000 以降にアサインする 三菱 PLC へデータを送信するためのバッファエリアは %MW1000 以降で用意されています %MW1000 以降にデータをアサインすると MC プロトコルによってデータを送信することができます 9/10
6-2 三菱 PLC WAGO-I/O 受信データの指定方法 6-2-1 750-841 の場合の受信エリア 本サンプルプログラムでは WAGO_to_Mitsubishi[PRG] にて実入出力領域 (%IW**,%QW**) のデータを D100 ~ D104 にアサインしています 三菱 PLC からは最大 500 ワート までデータの受信が可能になっています 任意のデータを受信したい場合はプログラムを変更する必要があります ワードとして取り出したい場合は receive_r[11] 以降のデータを %MB200, %MB201 といった連続したバイトにアサインし %MW100 で読み出す といったプログラムを作成する必要があります (%MB0 ~ %MB20 までは本サンプルプログラム領域として使用しているため 使用しないでください ) また MC プロトコルの仕様上 Receive_R[11] 以降はエラー発生時のエラーコードの格納場所も兼ねております そのため Receive_R[9],Receive_R[10] を参照し 0 意外の場合 ( エラーの場合 ) は Receive_R[11] 以降はアサイ ンしないようなプログラムを作成してください 6-2-2 750-842,750-843 の場合の受信エリア 本サンプルプログラムでは Data_Assign_R[PRG] にて D100 ~ D104 から %QW0 ~ %QW4 へアサインされています 三菱 PLC からの受信データは receive_r.data[12] 以降にバイト配列で格納されています したがって ワードとして取り出したい場合は本サンプルプログラム Data_Assign_R[PRG] のように一度 %QB0, %QB1 といった連続したバイトにアサインし %QW0 で読み出す といったプログラムを作成する必要があります (%MB200, %MB201 などでも可能 %MB0 ~ %MB20 までは本サンプルプログラム領域として使用しているため 使用しないでください ) また MC プロトコルの仕様上 Receive_R[12] 以降はエラー発生時のエラーコードの格納場所も兼ねております そのため Receive_R.Data[10],Receive_R.Data[11] を参照し 0 意外の場合 ( エラーの場合 ) は Receive_R.Data[12] 以降はアサインしないようなプログラムを作成してください 10/10