2015年08月25日

GX7とFRENIC Mini シリーズ(Eco・Multi・MEGA共通)との接続 その3

メーカーより直接転送について回答を頂き、それを元にサンプルデーターを作りました。

Q:レシピメニュー選択したら、直接それぞれのインバーターに転送したい

A:レシピデータ直接転送の可否について

レシピ設定が1組のみとなっておりますので
今回のような連続していないアドレスを使用したい場合は
直接転送するように設定できません。
同等の動作をさせる場合は今回ご使用いただいているように
内部アドレスから転送していただくことで同等の動作となります。

サンプルプログラム説明
ポップアップウィンドウのメニューを選択時に内部アドレス0000を定数値「1」にし
(それぞれのボタンに設定する)

clip_4.jpg

基本画面の演算タグにて内部アドレス0000が「1」のときに下記の3個の演算を
実行させます。
@ INV1 401798 = 内部 0110  ←レシピデータをINV1に転送
A INV2 401798 = 内部 0111  ←レシピデータをINV2に転送
B 内部 0000 = 0 ←メニュー選択時に「1」にしたデータを「0」に戻す

clip_2.jpg

clip_3.jpg


以上のように設定することでメニュー選択時にレシピデータを転送します。
この例では、レシピナンバーから直接選択した場合やレシピ周波数変更した場合は自動的に転送しません。
その際は、転送ボタンを使用します。
また、電源を再投入した場合は、レシピがゼロリセットされてメニュー名が表示しません。
いずれか選択してしまえば、後はその番号を記憶します。
また、レシピのメニュー名はメッセージテーブルを利用して、一括変更が簡単に出来る様にしてあります。

サンプルデータ

右クリックで保存して下さい。


posted by かんぼ at 09:05| Comment(0) | Modbus-RTU通信

2015年08月21日

GX7とFRENIC Mini シリーズ(Eco・Multi・MEGA共通)との接続 その2

GX7とFRENIC Mini シリーズを2台接続してみました。
RS485の分配には、サンワサプライのRJ45分配器を使用しました。
分配器は全端子並列ですので、LANケーブルは2芯のみコネクタに圧着します。

2015-08-20 15.36.24.jpg

レシピメニューからそれぞれのインバーターに運転周波数を設定します。
運転指令は、インバーター端子から、また多段変速端子で切替もします。

clip_1.jpg

clip_2.jpg

レシピメニュー選択した時点で、それぞれのインバーターに転送したかったのですが、簡単にできそうも(>o<)
転送スイッチを付けました(^^ゞ

clip_3.jpg


clip_4.jpg

既存制御盤に、かなり窮屈に取り付けたのでPS2-ミニUSB変換プラグが入りません。
下のスイッチを外して接続しないと出来ません。
別のPS2変換コネクタや、ミニUSBの曲りプラグなども探してみましたが、超小型のはありませんでした。

そこで変換プラグを改造しました。
まずモールドの皮を剥きます。わりとサクッとカッターナイフでそぎ落とせます。
丸コネクター側から入れると楽。(指を切らないように)

2015-08-19 15.56.52.jpg

樹脂の部分を、ヒートガンで熱して柔らかくし、曲げて成型します。(電線を焦がさないように)
革手袋着用して手で行いました。(火傷に注意)

2015-08-19 16.16.50.jpg

それに、エポキシパテを良くこねて大体の形に成型し、固まったらヤスリで成型します。

2015-08-20 08.49.19.jpg

スペシャルコネクタ完成!
これで、狭いスペースでも使えます。

2015-08-20 08.46.53.jpg



posted by かんぼ at 11:16| Comment(2) | Modbus-RTU通信

2015年06月19日

ミスミGX7と三菱FREQROL-E700との接続

さて今度は、三菱インバーターFREQROL-E700シリーズの接続
またまた、レジスタ番号でつまずく(^^ゞ
取扱説明書の記載番号と違う、、、
なんとか調べた。

2015-06-19 16.50.23.jpg

作ったテスト画面

2015-06-19 16.48.17.jpg

画面データ


資料ファイル
取扱説明書のパラメーター一覧をエクセルファイルに落とすのは大変面倒だった。


周波数と運転指令の切替は色々なパターンがあるので、面倒で作っていません。
実際に使うときに頑張るべ。
posted by かんぼ at 17:31| Comment(0) | Modbus-RTU通信

2015年06月14日

GX7とFRENIC Mini シリーズ(Eco・Multi・MEGA共通)との接続

ミスミタッチパネルと富士インバーターの接続です。

2015-06-13 12.03.20.jpg


RS-485通信にて接続します。

プロトコルは、Modbus RTUです。

しかしプロトコルのメッセージ通信については、ほとんど理解しなくても大丈夫。

HMIのDriverが勝手にやってくれます\(^o^)/

PLCで通信の時はCRC16でつまずいた(^^ゞ


しかしながら、ファンクションコード変換で、つまずく(^^ゞ

メーカーサポートに教えを請う。

詳しく説明頂いた。


Modbus通信で、データーの参照や変更を行う場合、データ・アドレスを用いて行います。データーの種類には、コイル、入力ステータス、入力レジスタ、保持レジスタの4種類があります。

FRENIC Mini シリーズ(Eco・Multi・MEGA共通)では、保持レジスタ(Holding Register)を使っています。

16ビットのデーター長で、HMIの可能デバイス範囲は、ビットアドレスで(40001.00〜465536.15)ワードアドレスで(400001〜465536)です。


S01周波数指令を例に説明(計算)いたします。

コード   アドレス値 @ A   B

 S01 →  401794  = 400001 + 7×256 +1

@HMIの設定可能な保持レジスタが400001からスタートする為加算します。(ここが分からなかった)

Aインバータ側コード番号換算 S→7より引用 7×256

(FRENIC-Mini_Eco_Multi_MEGA RS-485通信ユーザーズマニュアル3-4頁 アドレス計

算式、3-5頁 表3.2参照ください)

Bインバータ側機能コード番号 01→1より引用

(FRENIC-Mini_Eco_Multi_MEGA RS-485通信ユーザーズマニュアル5-2頁 参照くださ

い)

各コード番号換算値

F(00)→400001〜  400001+ 0×256 (コード番号F=0)+ 0(機能コード番号00)

E(01)→400258〜 400001+ 1×256 (コード番号E=1)+ 1(機能コード番号01)

C(01)→400514〜 400001+ 2×256+1

P(01)→400770〜 400001+ 3×256+1

H(02)→401027〜 400001+ 4×256+2

A(01)→401282〜 400001+ 5×256+1

U(00)→402817〜 400001+11×256+0

O(01)→401538〜 400001+ 6×256+1

S(01)→401794〜 400001+ 7×256+1

M(01)→402050〜 400001+ 8×256+1


また、対応していないアドレスが入ってしまいますと相手機器からアドレスが存在し

ないエラーが返ってくるため、GX7側でエラーを表示します。


通信ケーブル

clip_8.jpg


通信設定

clip_2.jpg


clip_1.jpg


clip_2.jpg


clip_4.jpg


clip_3.jpg


作画状況(デバイス状態ごと)

BaseScreen 1_運転画面_0.bmp


BaseScreen 1_運転画面_1.bmp


BaseScreen 1_運転画面_2.bmp


BaseScreen 1_運転画面_3.bmp


次は機種コード変換でつまずく。

またまた、メーカーサポートより教えを請う。

たびたびすみません、○車さまには、大変お世話になっています<m(__)m>

clip_4.jpg


clip_3.jpg


そして作った画面なのだが、ここでもハマル(^^ゞ

BaseScreen 2_機種コード変換_0.bmp


clip_7.jpg


もらったデータ-をそのままコピペで、入力データー(M23)をコード変換した、402072を代入する演算を追加。

しかし、内部1000には書き込まれるが、桁分解表示の演算が動かない(^^ゞ

試行錯誤の末、ページを切り替えてスキャンする際の演算タブのスキャンディレーに1×500msを設定して解決!

clip_0.jpg


clip_5.jpg


2015-06-13 12.18.36.jpg


それと、Nステートランプで工夫した点。

プラス1でデーターインクリメントするのはいいが、オーバーフローするまで上がる。

0から3でループさせたい。

しばし考えて、3のandを取る、いわゆる上位を0でマスク。

Nステートは、「4」「8」「16」ランプ選択なので、半端に7で使いたいときにも使えるかも。

clip_6.jpg


作った画面データ


参考資料



さて、次は複数台接続とレシピ機能に挑戦するとする。

posted by かんぼ at 20:14| Comment(270) | Modbus-RTU通信

2007年08月03日

Modbus-RTU通信プロトコル

Modbus-RTU通信プロトコルによる富士インバーターとの通信


DSCF1778.jpg

最近シリアル通信にさわる機会が多くなっています。
昔みたいにPLCのラダーで通信プログラムを書かなくても、マクロやファンクションブロック等で比較的簡単に接続出来るようになりました。
エラーチェックコード等を自動で生成し送信してくれるのは大変ありがたいです。
CRC16なんてラダーで考えるのは頭が。。。。

キーエンスのタッチパネルVT3は直接温調器やインバータに接続出来るとの売りですが。。。
手持ちの富士インバーターFRENC-Miniシリーズとは簡単選択項目がありません。ダメじゃん(Q_Q)↓

調べて見るとインバーター通信プロトコルにModbus-RTUも選択出来ますし、またVT3でも通信選択出来ます。
じゃあこれで通信するしか無いかなと。。。
選択肢にある安川VSminiJ7もプロトコルはModbus-RTUですが、読み書きのファンクション・コード及びデータが違っているのでそのままでは使えません。

しかしModbus-RTU通信プロトコルとは、なんぞや???
キーエンスのマニュアルは詳細説明が無く、全然理解出来ません。(^^ゞ

まずは、FRENC-MiniシリーズRS485通信ユーザーズマニュアルをダウンロード
http://www.fujielectric.co.jp/fcs/jpn/new/frenic-mini/index.htm
ついでにPCローダソフトウエアFRENIC Loaderもダウンロードします。

取りあえず第3章Modbus RTU プロトコルを読破することから始めます。
しかし、RTUファンクションコード(ファンクション・フィールド)とインフォメーション(データ・フィールド)の関係がどうにも理解出来ない。。。
で色々検索したところ下記の資料と突き合わせでやっと理解出来ました。
富士で言うところのファンクション読出しとは、保持レジスタのデータ読出しの事なのね。。。
つまりFRENC-Miniシリーズではワードデータしか使っていないと。単純じゃん。

エム・システム技研
Modbus プロトコル概説書
http://www.m-system.co.jp/mssjapanese/kaisetsu/nmmodbus.pdf


プロトコル検索中に見つけた面白い(超便利)ソフトです。
苦もなくインバータと繋がってしまいました。\(^^@)/
プログラム前にコード・データ内容の確認が出来て、ミスも少なくなるかも?

QuickMod Modbus scanning tool
http://www.azeotech.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=27&nav=0&gclid=CLOxjqmB1I0CFQqgYgodWz52mA

QUICK-MOD.png

【追記】
以前は簡単にダウンロード出来たのですが現在はユーザー登録して25日間のトライアル版をダウンロードしないと駄目ですね。

このリンク
http://www.azeotech.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=27&nav=0&gclid=CLOxjqmB1I0CFQqgYgodWz52mA

l「Download a 25 day tria」をクリックして現れたページ(Download DAQFactory)の「Download Now」をクリック
当然ユーザー登録などしてないでしょうから、
Create a MyDAQFactory account to download DAQFactoryクリックしMy DAQFactory User Profileの各項目を記入します。

My DAQFactory
Login Information(ログイン情報)
Username * ユーザー名
Password * パスワード(5文字以上)
Confirm Password * 確認のためパスワード入力
Personal Details
Email * メールアドレス
Additional Details (追加詳細)
Questions? 質問があれば記入(英語で質問できるはずも無く無記入ですね)
Validation Code * 確認コード→右の画像の文字を記入します。

記入したら「Register」クリック

My DAQFactoryページが表示されるのでProductServiceの「downloads」をクリック
ここでやっとダウンロード出来ます。
DAQFactory Release 5.79a and QuickMod Proクリックすると
前と同じDownload DAQFactoryページが表示されます。
「Download Now」でダウンロード開始です。

DAQFactory Softwareに入っているQuickMod Modbus Scannerが目的のツールです。

ソフトを起動したらModbus RTU serial にチェックが入っている事を確認し、「configure」クリックしてシリアルポートの設定をしてセーブしてから始めます。

使い方を軽く説明します。(ヘルプを見ても英文なので、十分理解出来ていませんから。。。)
PCソフト側通信設定 RS232C-RS485変換器 インバータ通信(RS-485 2線式)設定をそれぞれ統一設定します。
意外に通信出来ない原因はこれにあったりして。。。自戒(^^ゞ

【Quick-MODの設定】
ソフト起動すると通信が開始されます。
初めに[Configure]クリックして通信設定を合わせます。

ID:局番(スレーブアドレス)
 RS485の局番です。

Function:FC(ファンクション・コード)Holding Register(保持レジスタ)
 FRENC-Miniシリーズでは、機能コード(コード変換表で変換した値=Hi/Lo 2バイト=1ワード)=保持レジスタ(16bit)アドレスに対応しています。
 使えるファンクションは、下記の4つです。
  コード  ファンクション名      機  能
  03(0X03) Read Holding Register   保持レジスタの読出し
  08(0X08) Diagnostics        診断ファンクション
  06(0X06) Preset Single Register  保持レジスタへの書込み
  16(0X10) Force Multiple Registers 複数保持レジスタへの一括書込み

Type:データ種類(Unsigned Integer (16))
 符号無し16bitかな?データ数値が小さいのでsigned Integer(16)でもOKだった。
 選択が間違って?いれば上の(Status:)に通信エラー表示されます。

Tag#:機能コード(10進数入力)
 (FOO〜Z64)をコード換算表で換算した値の10進数
 読出し先頭アドレスを入力します。
 例えば、W01:運転状況の場合は0F01(16進)ですから3841(10進)と入力します。

#pts:読出しデータ数(10進数入力)
 機能コードが連続して割当てされていないので、未使用コードを連続読出ししても無駄です?
 でもデーターが入っていたりします。隠しコードか?(^_^)

 画面ではF00からF15まで連続した16個を指定しています。
 Excelの黒く反転した項目の現在値がインバーターより読み出されています。(0:〜15:)
 ただタッチパネル等で実際に通信した場合は、お解りのようにデータ値の位取りに注意が必要ですね。
 この連続データ表示数は32まで設定出来ます。

[Monitor]をクリックすると、別ウィンドゥ(Monitor:Comm)で通信内容が表示されます。

画面のコマンドデータ(問合せメッセージ Query Message)の説明

Tx : ¥x01¥x03¥x00¥x00¥x00¥x10¥x44¥x06

COMMAND.jpg

※ちなみに取説などで、¥x00 0x00 00H $00 とか表記されているのは、いずれも16進数の00の事です。

また、インバーターに書込みする場合は、右上の[Set Output]クリックするとダイアログ表示されるのでそちらでセットします。

面白くて無意味に色々読出して遊んでます。
あらかじめ応答メッセージの値が確認出来るのでプログラムの作成・チェックが楽になりそうです。
富士インバータ等Modbus-RTU通信機器をお持ちの方は是非お試し下さい。


【おまけ】

機能コード表やコメント表など作る際のちょっとしたテクニックです。
Excelで表を作っていますが、手作業でのコード入力は大変ですね。(^^ゞ
今回使ったテクを披露します。

まず富士のPCローダソフトウエアFRENIC Loaderを起動して、使用するインバータの機能コード一覧を表示させます。

FRENIC-00.jpg

次にこの表をPDF化します。
適当なPDFファイル作成ソフトを利用します。今回はAdobe PDFを使用しました。

FRENIC-01.jpg

次に作成されたPDFファイルを開いて、「全て選択」しコピーします。

FRENIC-02.jpg

それをテキストエディタに貼り付けます。自分は秀丸を使っています。

FRENIC-03.jpg

エディタの置換機能で半角スペースを,(カンマ)に置き換えてCSVファイルで保存します。

FRENIC-04.jpg

FRENIC-05.jpg

保存したCSVファイルをExcelで開いて、Excel形式で保存すればOKです。
後はオートフィルやらマクロでお好きなように加工して下さい。

FRENIC-06.jpg

秀丸の便利なところです。
ラダー等のコメントはスペースの関係上半角カタカナを使う場合が多いのですが、カタカナのみ半角変換出来ます。
もちろんWEB公開されている文章整形マクロを使っても良いです。かなり多機能な物が公開されています。

FRENIC-07.jpg

半角変換したあと、不要のFコードを縦にBOX選択(コントロールキーを押しながらドラッグ)しているところです。
選択したらDeleteします。

FRENIC-08.jpg

【さらにおまけ】

10進 16進を簡単に計算変換出来るお勧めの電卓です。
今回もコード変換に活躍しました。

複数表示形式同時表示電卓 mulc
http://www5e.biglobe.ne.jp/~anhr/mulc.html

FRENIC-09.jpg

フリーのPDFファイル作成ソフト
CutePDF Writer 2.7
http://www.altech-ads.com/product/10000305.htm

またメーカーサイトからダウンロードしたPDFファイルにパスワードが掛かっていてコピー出来ない場合はこちらのソフトで。

PDF Password Remover v3.0
http://www.altech-ads.com/product/10001190.htm

Excelのアドインも便利です。
14日間試用できますから、気に入ったらベクターで購入しても良いでしょう。

nanakusa.jpg

Excelアドイン集「七草」
http://www.techno5.net/download/usages/nanakusa.html





posted by かんぼ at 22:25| Comment(284) | Modbus-RTU通信