このQ&Aは役に立ちましたか?
三菱製シリアルコミュニケーションユニットとOMRON製IDコントローラの通信方法について
2023/10/15 20:41
- V600-CA5D02の通信方法について、テストコマンドを送信するとエラーが出る問題が発生しています。CPUは三菱製のQ06HCPUを使用し、シリアルコミュニケーションユニットはQJ71C24Nで、通信速度は9600bps、データ長は7bit、パリティはなし、ストップビットは1bit、通信プロトコルは無手順プロトコルです。
- 送信指令の流れは、TSOMRON*CRというテストコマンドを送信し、IDコントローラの応答を受け取ります。受信指令の流れでは、IDコントローラからのデータを受信し、処理を行います。通信結果としては、TS14*というレスポンスが返ってきます。
- 原因がまだ特定されていないため、解決策が不明です。情報をお持ちの方はご教示いただければ幸いです。
三菱製シリアルコミュニケーションユニットとOMR…
2008/12/22 16:05
三菱製シリアルコミュニケーションユニットとOMRON製IDコントローラV600-CA5D02の通信方法について
タイトルの通り、通信がうまくいきません。
V600-CA5D02のマニュアルによると、テストコマンドを送信すると、IDコントローラからそのままレスポンスが帰ってくるはずですが、エラーが出ます。
スペックは以下の通り
CPU: Q06HCPU(三菱Qシリーズ)
シリアルコミュニケーションユニット:QJ71C24N
通信速度: 9600bps
データ長: 7bit
パリティ: なし
ストップBit: 1bit
通信プロトコル: 無手順プロトコル
プログラム:↓
送信指令
├─┤├─┬──($MOV "TSOMRON*CR" D10) 【TS:テストコマンド *CR:ターミネータ】
│ ├──(MOV H0A0D D20)
│ ├──(MOV K1 D0) CH番号指定
│ ├──(MOV K0 D1) 送信結果0クリア
│ ├──(MOV K20 D2) 送信データ数指定
│ ├──(G.OUTPUT U0 D0 D10 M0) 送信データ数指定
受信指令
├─┤├─┬──(MOVP K1 D50)
│ ├──(FMOV K0 D51 K2)
│ ├──(MOVP K20 D53)
│ ├──(G.INPUT U0 D50 D60 M10)
通信結果
レスポンス(TS14*)が帰ってきます。
情報がアバウトですみません。
原因が分かってる方はぜひ教えていただけませんか。
何卒宜しくお願いします。
回答 (2件中 1~2件目)
>IDコントローラにCOMMのLEDが付いてますが赤点灯(通信異常検出)します。どうしてでしょうか?
http://www.fa.omron.co.jp/product/family/1765/index_p.html
V600シリーズ IDコントローラ ユーザーズマニュアル SCHI-705C ダウンロード 5677KB
135/165ページ
第5章通信
終了コード一覧
00 正常終了コード
上記以外 なんらかの異常発生
138/165ページ
第6章トラブルシューティング診断機能
現在、正常に通信出来てるとの事ですがコマンドコードは何ですか?
今でもテスト(TS)?
リード(RD)、ライト(WT)とか?
プロトコルアナライザ、通信モニタ
http://www.lineeye.co.jp/html/product_le8200.html
本来ならこのような機器で通信をモニタすれば一発解決なのですが
http://www.vector.co.jp/soft/win95/hardware/se423507.html
http://www.vector.co.jp/soft/win95/hardware/se369900.html
パソコンでもモニタ可能(通信文をHEX表示させてみる)
単純にボーレートや7/8ビットとかのパラメータが違っていても
こうした機器で確認しない限り実際はどうなってるかは分かりません
多くの場合「設定したツモリ」だけで実際には書き換わっていなかったりする
もうそろそろ解決したかな?
>(通信設定についてはその後もSWを含め、何回も確認しており、一応問題はないと思っています。)
ここが初心者とベテランの分かれ道
何故か初心者は電文を確認しようとしない
エラーが出ている以上、電文が違ってるのです
ソースをいくら眺めてもベテランでさえ間違い箇所を探すのは時間が掛る
ウインドウズ付属のハイパーターミナルででも確認できますが
HEX表示できる通信ソフトを入手して電文を直接確認してください
必ずどこかが違ってるはずです
例えば
RDA1000001*Cr
としたつもりが
RDA10000_01*Cr <空白が入ってる
とかになっていてもラダーから読み取るのはかなり困難です
ただ、Qj71とパソコンを市販のクロスケーブルで接続するだけなので
手間は要りません
ほんのわずかの手間を惜しむだけで1日損しますよ
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
ターミネータが違います
├─┤├─┬──($MOV "TSOMRONA" D10) <奇数はめんどくさいので”A”追加
│ ├──(MOV K8 D2) 送信データ数指定(バイト数設定)
また、QJ71C24Nの受信終了コードは 2A0Dh にして下さい
CRLFではありません
訂正
├─┤├─┬──($MOV "TSOMRONA" D10) <奇数はめんどくさいので”A”追加
│ ├──(MOV 0D2A D2) <ターミネータ *Cr
│ ├──(MOV K10 D2) 送信データ数指定(バイト数設定)
お礼
2008/12/23 09:26
lumiheart様 回答ありがとうございます。大変勉強になりました。
今は一応通信はしていてIDコントローラからはちゃんとレスポンスが帰ってくるようになりました。ただひとつ気になるのが、IDコントローラにCOMMのLEDが付いてますが赤点灯(通信異常検出)します。どうしてでしょうか?
質問ばかりで申し訳ありませんが、今後とも宜しくお願いします。
お礼
2008/12/23 15:42
lumiheart様:
お忙しいところありがとうございます。
現状ですが、"TS"コマンドについては気にはなりましたが、調査もせずに"RD"、"WT"コマンドに進みました。(通信設定についてはその後もSWを含め、何回も確認しており、一応問題はないと思っています。)
ところが、制御コマンドは送信は赤点灯もせずにうまくいってますが、IDからのレスポンスが異常ではないですが、非常に不安定です。現在1秒クロックでずっと送信しても、一応正しいレスポンスは帰ってはきますが、20秒位後に一発帰ってくる状態です(X3のONタイミングがおかしい)。これはPLC初期設定のタイマ0のせいでしょうか?現在はタイマ0を中心に調べている状況です。