こんばんは。まつりぬいです。
本日は、前回の記事の続き、通信プロトコルを使って、オムロン製RFIDのV780との接続方法について解説します。
前回の記事はこちら。
オムロンのV780の詳細については下記のHPを参照ください。
https://www.fa.omron.co.jp/products/family/3630/download/manual.html
1.電文を確認しよう
前回の記事でも述べた通り、通信をする上では電文のフォーマットを確認する必要があります。電文は、基本的に機器のマニュアルに載っています。
V780の場合は、下記のリンク先からマニュアルのダウンロードが可能です。オムロンの場合、ダウンロードには会員登録が必要なのでご注意ください。
https://www.fa.omron.co.jp/products/family/3630/download/manual.html
今回は、データリードのコマンドを例として解説します。IDリードのコマンドのフォーマットは、マニュアルの7-23ページに記載があります。内容を抜粋すると、下記の通りです。
◆コマンドフォーマット:送信内容
簡単に解説すると…
- トランザクション識別子:2byteとも指定なしでOK、値は「00」
- プロトコル識別子:2byte使用、値は「0000」
- フィールド長:この後の電文のbyte数、図の通り6byteなので0006(HEX)を指定
- レジスタ番号:図内の票の通り、読み込ませたい領域に合わせHEXで設定
- ワードカウント:読み出す範囲をHEXで指定、後に出てるくるレスポンスの電文に影響
続けて、レスポンスフォーマットを確認します。レスポンスは、正常に信号がやり取りされた場合と、異常レスポンスが返された場合の2種類設定があります。
◆正常レスポンス
- バイトカウント:コマンドフォーマットで設定した読み取るbyte数に合わせ可変
- リードデータ:IDタグから読み取ったデータ、設定次第でbyte数が可変
上図の通り、送信時に設定した内容に合わせ、返ってくる値が可変するので注意が必要です。
◆異常レスポンス
異常レスポンスは、エラーが返ってくる返信です。最終部の例外コードにエラーコードが格納されます。
2.通信プロトコルの設定
上記、確認した内容に合わせ、通信プロトコルを設定します。通信プロトコルは下図のツール内のメニューから選択します。
ユニットを選択します。今回はEtherNetのユニットを使用しますので、下図の通り選択します。
通信プロトコル編集画面が出てきますので、メニューから新規作成を選択します。
追加を選択します。そのまま、下図の通り種別は新規追加を選びます。標準的なフォーマットはMODBUS/TCPも用意されているのですが、V780のフォーマットにあったものが無いため、新規作成します。
送信、正常レスポンス、異常レスポンスについて、マニュアルを参考に設定を設定していきます。データ内容についてHEXとASCIIコードの設定(今回はHEXのみ)や、データ長、変数指定が必要な場合は変数を指定していきます。今回は極力、固定データで設定するようにしています。
最後に、設定した内容をユニットに書き込みします。下図の通り、オンラインから書き込みを実行します。注意点として、書き込み先ユニットを間違えない点、RUN中書き込みができない点、それぞれご注意ください。
3.パラメータとラダーの設定
最後にPLC側のパラメータ設定とラダー設定を行います。
◆パラメータ設定
今回はRJ71EN71経由でEtherNet経由でV780を接続しますので、RJ71EN71のパラメータ設定でV780を指定する設定を追加します。下図の詳細設定を選択します。
下図が設定の参考例です。更新手段は「通信プロトコル」、送受信設定は「ペアリング」とし、他の部分は実際の構成に合わせ、IPやコネクションNoは修正してください。
また、MODBUS/TCPの場合、相手先のポート番号「502」は固定値ですのでご注意ください。
◆ラダーの設定
まずは、EtherNetユニットと、V780の通信コネクションを張る回路を作成します。下図が参考例です。使用する接点やユニット番号は、実際の構成に合わせて修正するようにしてください。
いよいよ最後。通信プロトコルを使って送信する命令を作成します。参考例は下図の通りです。こちらも、実際の構成に合わせ、ユニット番号や使用する通信プロトコルの命令番号を修正し、動作確認をしてみてください。また、(s3)で指定したレジスタに合わせ、実行するプロトコル番号をレジスタに格納する必要がありますのでご注意ください(図だとD202に送信)。
V780との通信に関しては、大枠は上記の通りです。実際は、コネクションが確立しなかったり、通信プロトコルの通信がうまくいかなかったり、あるいはデータを読み取れなかった場合を想定し、それぞれエラーが起こった時のリトライ回路等を用意する必要があります。また、不用意に読み取らせたくない場合は、1サイクルごとにコネクションをクローズする必要もあります。このあたりは、実際の運用に合わせ、回路を検討し動作確認をしてみてください。
1件のコメント