[掲示板へもどる]
一括表示

[No.465] RS-232C通信について 投稿者:シロ  投稿日:2009/10/12(Mon) 12:16
[関連記事

管理人様

いつも拝見させていただいております。

本題ですが、三菱のFX3U−ADPを使用しセンサー二台の現在値をPLCに取り込みたいのですが、ASC2がよくわかりません。どうすればよいのでしょうか?

コマンド   #1スペースMデリミタ  現在値12345デリミタ
コマンド   #2スペースMデリミタ  現在値12345デリミタ

どのようなプログラムにすればよいのでしょうか?

その他に注意点とか御座いましたらお願いします。

初心者で申し訳ございませんが、宜しくお願いいたします。


[No.466] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/12(Mon) 21:49
[関連記事

こんばんは

FX3U−ADPの詳細な型式は何でしょうか?
探してみましたが「ASC2がよくわかりません。」中のASC2命令がありません。ASCIの命令?

> コマンド   #1スペースMデリミタ  現在値12345デリミタ
> コマンド   #2スペースMデリミタ  現在値12345デリミタ

通信相手のセンサー型式もわからないとコマンド詳細もわかりません。

上の例ではこういうコマンドを送ったら現在値のアンサーがこの桁数で返ってくるという例をあらわしているのでしょうか?

RS232Cと書かれていますがFX3U-232ADPはCH数は1個です。
センサー2台と通信ということは2台使うということですか?
複数台接続したいのであればRS485ではないですか?


[No.467] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/10/12(Mon) 23:41
[関連記事

管理人様

こんばんは。

構成ですがPLC側 FX3U-232ADP

センサー側 オムロン スマートセンサーZX-GTC11を演算ユニットに二台接続しインターフェイスユニットを使用し現在値の取り込みをしたいと思っております。

不十分な所が多く申し訳ございません。


[No.468] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/13(Tue) 10:12
[関連記事

ご連絡ありがとうございました。
内容が理解できました。

Melfansweb(登録無料)にて
FXシリーズ ユーザーズマニュアル[通信制御編]
jy997d13301j.pdf
というマニュアルをダウンロードして下さい。

こちらの「5.2 パラメータ方式による通信設定(GX Developer)」にて通信設定をZXと合わせて下さい。
使用するフレームは「2」のヘッダ:なし ターミネータ:あり
になります。

あとの制御命令の使用方法については
6.2  RS命令の使い方
6.22 機能と動作
7.  実用プログラム例
8.2  RS2命令の使い方
を参照して下さい。

デリミタが「CR」のみの使用ならRS命令でいいですが、
「CR+LF」を使用する場合は「LF」が設定できるRS2命令を使用して下さい。

ターミネータ設定は
RS命令時 「D8124」(6.1関連デバイスの内容確認)
RS2命令時「D8382」(8.1関連デバイスの内容確認)

アスキーコードは
9.関連資料の「9.4 アスキーコード表」を参照して下さい。

ZXの測定コマンドですが
「#01 MCR」又は「#01 MEASURECR」ですが楽なので「#01 MCR」にします。
アスキーコードで
233031204DとなりCRは勝手におしりに付加けられるのでデータの中には不要です。
これをデータメモリの中にしまいます。
(例)
M8161 ON 8ビットデータの場合

M8000
-||---+------------[MOV H0023 D100]- #で23
      |
      +------------[MOV H0030 D101]- 0で30
      |
      +------------[MOV H0031 D102]- 1で31
      |
      +------------[MOV H0020 D103]- スペースで20
      |
      +------------[MOV H004D D104]- Mで4D

これをマニュアルに従いRS命令(RS2命令)で送信します。

注意点ですが、
送信→受信と流れを決めてしまわないで「送信」と「受信」は独立した回路を作って下さい。
相手から予期しないタイミングでデータが送信されて「受信完了」がONしたままになるのを防ぎます。

いきなり全部のデバッグするよりは「通信」だけをテストしたほうがいいんですが・・・
FX3Uとセンサーだけで通信テスト回路でデバッグすれば現場でデバッグするよりはるかに楽です。現場では配線から設定からいろいろ疑うことが発生するしメーカーに技術相談もしにくい。
最悪、デスクトップパソコンのRS232Cにつないでコマンドの確認をするのも手です。
※ハイパーターミナルとかフリーソフトとか使用

あとはラインモニターがあれば「通信」の中身が見られるのでコマンドに間違いがあるとか発見が容易になります。


[No.469] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/10/13(Tue) 21:03
[関連記事

管理人様

大変詳しい説明ありがとうございます。

明日早速チャレンジしてみます。


[No.470] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/20(Tue) 09:28
[関連記事

うまく通信出来ていればいいのですが・・・

通信モニタは高価なモノがたくさんありますが
データリンクという会社の
CW232 (25P)\19,740
CW232/V( 9P)\19,740
が安くていいのでは?
※私はCW232にケーブル接続を合わす為の極性変換コネクタを数種類用意して使っています。
ちょっとアプリケーションで
ログを後から読み出してアスキー←→HEX切り換え表示できないというショボイ欠点
※昔持っていたMS-DOS時代の通信モニタソフトでも出来ていたのに「なぜ?」って感じ
がありますが立ち上げ時用としては十分かと。

CW232/V-BLACK(9P)\31,290
という新製品もありますが少し高め
でも、上記欠点が解消された様子。

詳細HPは「CW232」で検索して下さい。

やっぱり目で見えるのと見えないのとでは全然違います。
調整で泥沼に入ることを思えばお高くないのでは?


[No.471] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/10/25(Sun) 21:51
[関連記事

管理人様

いろいろご提案、ご説明ありがとうございます。

出張等が重なりあまり進んでおりません。

なんとか通信事態は出来るようにはなりました。

ただ今回はセンサーの使用モードが違う為にコマンドのMが使用出来なくいろいろ試しております。(どうしても二個のセンサーの現在値を取得したいので!)

例えば3つのセンサーの状態を知りたい時は一つのコマンドを送ってレスポンスが帰ってきてから次のコマンドを送る感じなのでしょうか?
それとも3つのコマンドをいっぺんに送る事も可能なのでしょか?


[No.472] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/26(Mon) 21:43
[関連記事

> なんとか通信事態は出来るようにはなりました。

最初よりだいぶ進歩しましたね。

> ただ今回はセンサーの使用モードが違う為にコマンドのMが使用出来なくいろいろ試しております。(どうしても二個のセンサーの現在値を取得したいので!)

#99 M[CR]
は全チャンネルとなります。
モードが不明ですがやはり「Mコマンド」が使えない?
何コマンドで処理するつもりですか?

> 例えば3つのセンサーの状態を知りたい時は一つのコマンドを送ってレスポンスが帰ってきてから次のコマンドを送る感じなのでしょうか?
> それとも3つのコマンドをいっぺんに送る事も可能なのでしょか?

そういうコマンドがない場合、
基本は1個コマンドを送ってアンサーをもらう。
次のコマンドを送りアンサーをもらう。
という繰り返しです。


[No.473] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/10/28(Wed) 22:34
[関連記事

管理人様

こんばんは。

大変参考にさせてもらっております。

コマンド(M)の件ですが

今回GLASSモードで使用予定ですがマニュアルによるとピン間隔、ピン径計測モードのみ測定値を取得できると書いてあります。他に何か方法があるのでしょうか?

それともプログラムに問題があるのでしょうか?

現在こんな感じになってます。



 M8000
| |-------------〔RS2 D700 K3 D800 K3 K1〕

実行条件
 | |---|----------〔MOV H3023 D700〕 #、0
    |
    |----------〔MOV H2031 D701〕 SP、1
    |
    |----------〔MOV H4D D702〕 M
    |
    |----------〔SET M8402〕送信要求
M8403
 | |--------------〔MOV D800 D850〕 符号 5桁目
    |
    |----------〔MOV D801 D851〕 4桁目、3桁目
    |
    |----------〔MOV D802 D852〕 2桁目、1桁目
    |
    |----------〔RST M8403〕
    |
    |


[No.474] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/29(Thu) 09:11
[関連記事

シロさん どうも。

> 今回GLASSモードで使用予定ですがマニュアルによるとピン間隔、ピン径計測モードのみ測定値を取得できると書いてあります。他に何か方法があるのでしょうか?

えっ本当!?・・・と思ってマニュアルをよく見ると
「ピン間隔判定モード」、「ピン径判定モード」の時のみ「判定」結果を取得します
と書かれています。(まぎらわしい)
なので通常時は測定のデータが返されてきます。
ということで「GLASSモード」でも関係ないはず・・・です。(※あくまでマニュアルを読む限り)

で、このプログラムで通信してデータは読めなかったのですか?


[No.475] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/10/29(Thu) 21:09
[関連記事

管理人様

通常時とは?どういう事でしょか?

Mのコマンドで問題ないと言うことでしょか?

数字は返ってくるのですが、センサーのモニターの数字とは合っておりません。

返ってくる数字もアスキーコードですよね?


[No.476] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/10/29(Thu) 21:21
[関連記事

> 通常時とは?どういう事でしょか?

「判定モード」を使わなければという意味です。
GLASSモードは判定モードではないので数字がレスポンスで返ってきます。

> Mのコマンドで問題ないと言うことでしょか?

マニュアル読む限りはGLASSモードでもMのコマンドで良いと理解できるのですが。

> 数字は返ってくるのですが、センサーのモニターの数字とは合っておりません。

合っていないとすると・・・演算が必要なのでは?
固定値(センサーの幅とか)−返ってきた数字・・・とか。
実際がいくつで読んだ数字がいくつかでつじつま合うように考えてみるしかないけど・・・。

ここまでくれば、メーカーにGLASSモードでMコマンド使って測定値読んだけど
センサーと合わないのはなぜ?
と聞けば答えを教えてくれそう。

> 返ってくる数字もアスキーコードですよね?
アスキーです。


[No.477] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/11/03(Tue) 21:27
[関連記事

管理人さま

お世話になっております。

コマンドの件ですがメーカーに問い合わせた結果コマンドの使用は出来るとの事でした。
現在、一台だけの現在値の取得には成功しましたが二台目がなかなかうまくいきません。

二台分のデータを取得する際は、二台分のコマンドをまとめて送れるものなのでしょうか?

それとも別々に取得するのでしょうか?その際RS2の命令は二回使用するようになるのでしょうか?

いろいろ試してはいるのですが・・・・


[No.478] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/11/03(Tue) 22:56
[関連記事

> 現在、一台だけの現在値の取得には成功しましたが二台目がなかなかうまくいきません。
> 二台分のデータを取得する際は、二台分のコマンドをまとめて送れるものなのでしょうか?
#99 M[CR]
を使用すれば全CH取得出来るはずなんですが・・・?
これでもCH1のみしか取得出来ないとするとCH2が認識出来ていない?
ということになるんでしょうか・・・。
一度今の組み合わせをメーカーに相談してMコマンドでCH1は取得できたがCH2が取得できないと相談してみて下さい。


[No.479] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/11/05(Thu) 22:09
[関連記事

管理人様

お世話になっております。

CH番号を二番にすれば2CHのデータを取得できます。ただ両方のデータの取得が出来なかったものですので・・・


M8000
-||---+-----------〔RS2 D100 K10 D200 K20 K1〕
   |
   ------------[MOV H3923 D100]- 9、#
      |
      +------------[MOV H2039 D101]- SP,9
      |
      +------------[MOV H004D D102]- M   
      
   
     |-------〔MOV D200 D300〕1CH 二桁分
     |-------〔MOV D201 D301〕1CH 二桁分
     |-------〔MOV D202 D302〕1CH 一桁分
     |-------〔MOV D203 D303〕2CH 二桁分
     |-------〔MOV D204 D304〕2CH 二桁分 
     |-------〔MOV D205 D305〕2CH 一桁分  

 このような感じになるのでしょうか?


[No.480] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/11/05(Thu) 23:24
[関連記事

こんばんは

M8000
-||---+------------[RS2 D100 K10 D200 K20 K1]-
      |
      +------------[MOV H3923 D100]- 9、#
   |
      +------------[MOV H2039 D101]- SP,9
      |
      +------------[MOV H004D D102]- M   

RS2命令の「K10」は16ビットデータ時(M8161 OFF時)は「K3」にすべきでは?
でも、D102の上位「00」も含んでしまうので多分NG。
この場合はM8161 ONにして8ビットデータとして「K5」とすべきでは?

M8000
-||---+---------------------(M8161)-
      |
      +------------[MOV H0023 D100]- #
   |
      +------------[MOV H0039 D101]- 9
   |
      +------------[MOV H0039 D102]- 9
      |
      +------------[MOV H0020 D103]- SP
      |
      +------------[MOV H004D D104]- M   

この辺修正してみてもダメな場合は
「なぜCH1とCH2別々だと出来るのに#99ではダメなのか?」とメーカーに聞くしかないですね。

センサー表示と違うデータが返ってくる件ですが、
その返ってくる数字は何だったんでしょうか?やっぱり演算が必要???


[No.482] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/11/13(Fri) 22:51
[関連記事

管理人様

何とか思っていた通りに出来る様になりました。


やっぱり8ビットでないと出来ませんでした。

センサーの数字が一桁減った時や0.000に時にスペースが入って来てHEXで変換すると

演算エラーが出てしまうような状況でした。

いろいろ教えていただきありがとうございました。


[No.483] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/11/13(Fri) 23:14
[関連記事

> 何とか思っていた通りに出来る様になりました。
よかったですね。

> やっぱり8ビットでないと出来ませんでした。
やっぱりそうでしたか。

> センサーの数字が一桁減った時や0.000に時にスペースが入って来てHEXで変換すると
> 演算エラーが出てしまうような状況でした。

結構こういう桁が同じでない仕様のものが多いので結果見て処置って感じですね。
WTOB命令などで受信データWORDをBYTEに分離して
-[<= H30 D**]-[<= D** H39]-
のような範囲チェックというのが数値変換前の処理として必要でしょうね。

> いろいろ教えていただきありがとうございました。
どういたしまして。

気になって仕方ないので今後のために教えて下さい。
Q1.コマンド「#99 M」は使えた?
  やっぱり使えないのでCH1とCH2を2回に分けて受信した?

Q2.CH1,CH2で表示と受信データが違うという事でしたが
  やっぱり固定値−受信データが正解?
  又は受信データがやはり表示と一致していた?


[No.484] Re: RS-232C通信について 投稿者:シロ  投稿日:2009/11/18(Wed) 23:42
[関連記事


管理人様

いろいろご指導いただき感謝いたしております。

Q1.コマンド「#99 M」は使えた?
  やっぱり使えないのでCH1とCH2を2回に分けて受信した?

 使えましたが、よく見ているとまれに違う数値が入ってきてよくわかりませんでしたので個別に受信している状態です。 


Q2.CH1,CH2で表示と受信データが違うという事でしたが
  やっぱり固定値−受信データが正解?
  又は受信データがやはり表示と一致していた?

 センサーの現在値が受信しております。


[No.485] Re: RS-232C通信について 投稿者:管理人  投稿日:2009/11/20(Fri) 22:42
[関連記事

> いろいろご指導いただき感謝いたしております。
いえいえ、どういたしまして。

>  使えましたが、よく見ているとまれに違う数値が入ってきてよくわかりませんでしたので個別に受信している状態です。 

ほう、違う数値が入ってくるっていうのが気になりますね。多少パラパラしてるんでしょうかねぇ・・・。
数回データを取って範囲内のデータのみ使うっていうのも手だけど時間かかりすぎかも。

>  センサーの現在値が受信しております。
固定値も変だなぁと思っていたので納得です。

わざわざご返答ありがとうございます。スッキリしました。