本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RS-422Aの通信)

RS-422A通信トラブル:三菱電機QJ71C24N-R4とチラーの通信不可

2023/10/17 20:44

このQ&Aのポイント
  • 三菱電機のQJ71C24N-R4でチラーとのRS-422A通信ができず、困っています。
  • チラーの通信仕様は、スタートビット1、データビット8、パリティなし、ストップビット1、誤り制御水平パリティです。
  • 三菱電機のQJ71C24N-R4は垂直パリティなので、通常のOUTPUTでは送信できません。経験のある方、ご教授お願いします。
※ 以下は、質問の原文です

RS-422Aの通信

2009/02/09 21:49

三菱電機のQJ71C24N-R4でチラーとの通信をしたのですが
通信できないで困っています、チラーの通信仕様は、
スタートビット 1、データビット 8 パリテイー なし 
ストップビット 1 誤り制御 水平パリテイー
です、送信は EOT アドレス 職別子  ENQ
   受信は STX 職別子 データ ETX BCC
です、三菱電機のQJ71C24N-R4は垂直パリティー
ですので、通常のOUTPUTで送信しても、。相手から
何もかえってきません、どうしたらいいのか大変こまっています
通信プロトコルは。無手順でしています
経験のある方、ご教授お願いします

質問者が選んだベストアンサー

ベストアンサー
2009/02/11 15:48
回答No.4

LD X16A MOVP K2 D3000   
FMOVP K0 D3001 K2      
MOVP K20 D3003        
G.INPUT U16 D3000 D3100 M2631 受信読出し

D3000 受信チャンネルNo2
D3001 受信結果
D3002 受信データ数
D3003 受信データ許容数(20ワード)

STX 職別子(M1) データ  ETX BCC
02H 4DH31H 20H20H20H20H31H32H2EH33H 03H 61H

初回の受信データ
D3100 4D02h
D3101 2031h
D3102 2020h
D3103 3120h
D3104 2E32h
D3105 0333h
D3106 (0061h) <本来ならBCCはここに読み出したいのだが読み出せない
D3107
D3108
D3109
 
2回目以降の受信データ
D3100 0261h <前回読み込めなかったBCCが先頭に来て後へズレる
D3101 314Dh
D3102 2020h
D3103 2020h
D3104 3231h
D3105 332Eh
D3106 0003h
D3107
D3108
D3109
 

>QJ71は垂直パリテイーでチラーのほうは、水平パリティーなので
用語の問題ですが垂直パリティとは
              ↓です
9600 データビット 8 パリテイー なし ストップビット 1


水平パリティとはBCCの事です
http://www5e.biglobe.ne.jp/~komichan/network/n1_CRC.html
http://www.lineeye.co.jp/html/term_ayamari.html


本件の場合ETXの後ろのBCCが問題なのですが

Q対応シリアルコミュニケーションユニットユーザーズマニュアル(応用編)
SH(名)-080002-P(1/1) (約6,306KB)
174/382ページ
6.1 無受信監視時間(タイマ0)の設定
    (c) 無手順プロトコルでデータ交信している場合(方式1)

これでBCC受信後の無受信時間検出によりエラーを発生させて
エラーフラグによりBCCを読み出す事が可能になります


ユーザ登録フレームはGX Configurator-SCが無ければほぼ不可能です
但し、Configurator-SCにはETXの後ろにBCCを付ける事は出来ません
要するに使えません

お礼

2009/02/11 19:44

詳しい解説ありがとうございます。三菱電機の技術相談のメールをしても
詳しい回答が得られず、ユーザー登録フレームたどのようのしたらいいのか
もう一度配線の見直しをしたりしておうさおしているだけで、時間過ぎて
います。ユーザー登録フレームの考えは捨てます
BCCは判断しないのですから。プログラムを下記の用に変更して見ます
LD M2631 ANI {*D3002 K2 Z2}
{WTOB D3100 D3200 KZ02}
{= D3201 H02} SET M2640
LD M2640 {MOVP K0 D3026} 表示データをクリア
{MOVP H30 D3219}温度でーた10-3を0にする
{MOVP D3208 D3120}温度でーた10-2
{MOVP D3209 D3121}温度でーた10-1
{MOVP D3211 D3122}温度でーた10-0
  {BTOWP D3211 D3224 K4}
{HABINP D3224 D3226}アスキーデータをBINに変換
D3100 0261H D3200 0061
D3101 314DH D3201 0002
D3102 2020H D3202 0031
D3103 2020H D3203 004D
D3104 3231H D3204 0020
D3105 332EH D3205 0020
D3106 0003H D3206 0020
D3107 D3207 0020
D3208 0031
D3209 0032
D3210 002E
D3211 0033
D3212 0003
を変換して2ワード目の0002Hが来たときに背TM2640
で温度デーたのD3208~D3211のを取り入れる
この方法で初回のデータを無視して2回目以降からのデータ
を取り入れると方法でやって見ます
御教授お願いします

ありがとうございました。無事終了しました
終了コードのフラッシュロムに書き込み方の違いと
温度でーたが9.9になると通常09.9ではなく
sp 9.9となることでアスキーとBINの変換
にエラーがでた為でした
また何かありましたら御教授お願いします

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (4件中 1~4件目)

2009/02/10 23:34
回答No.3

> 受信は STX 職別子 データ ETX BCC
> 受信終了コードを03H(ETX)に指定しています

なので、2回目の受信から一つずれて前のBCCが先頭に来ます
>00E3とか、理解できないものが、はいってきています
従って、恐らくこれはBCCでしょう

Ch2受信バッファ
A00 受信データ数 <ここには何が入ってますか?
A01 BCC    <前回受信したBCC(1ワード?)
A02 STX、M1 <STX、識別子
A03 データ    <データは1ワード?
A04 ETX

と並ぶはずです

お礼

2009/02/11 08:31

回答ありがとうございます
受信データの振り分けのプログラムを書きます
LD M2631 ANI M2632 [*D3002 K2 Z2}
{WT0B D3010 D3100 K0Z2}
{= D3101 H4D }{= D3102}-{SET M2640}
と受信D3100の振り分けています
D3100~D3139までは0000でD3140にでーたがはいります
この感じですとバッフアーメモリのA41からのにはいるようです
実際確認ができませんしたので,A00は 受信したときのデータ
は変化します.A01~A40まではなんなのかわかりません
通常の受信データを取扱書からサンプルのデータを見ると
STX 職別子(M1) データ  ETX BCC
02H 4DH31H 20H20H20H20H31H32H2EH33H 03H 61H
データの表記は SP SP SP SP 12.3 で 温度表記は12.3度です
QJ71は垂直パリテイーでチラーのほうは、水平パリティーなので
データの処理が、違うのですが?FA相談の回答では、プログラム
の処理やユーザー登録フレームの設定が必要ですとの回答をもらいました
今、取扱説明書を読んでいますが、理解ができずに苦しんでおります
よろしくお願いします

質問者
2009/02/10 13:06
回答No.2

具体的なプログラムはどうなってますか?
--------------------[$MOV "EOT1234567890ENQ"]
とかじゃあないでしょうね
EOTは04hですよ 45h,4Fh,54hでは有りませんよ
ENQは05hですよ 45h,4Eh,51hでは有りませんよ

QJ71の受信終了コードは何になってますか?
デフォルトはCRLF[0D0Ah]ですがこれには有りません
終了コード「無」ですよ
受信バイト数固定モードにするか?
可変長受信終了コード無しモードにするか?
さもなくば終了コードETX[03h]にしてBCCを無視するかですが
omron温調器の通信が出来てるのでこの辺りの設定は済んでるとは思うけど

2009/02/09 23:34
回答No.1

過去ログ
http://mori.nc-net.or.jp/EokpControl?&tid=138200&event=QE0004

QJ71C24の通信はラダーでアスキーコードの電文を16進コードで出力するように作ります
要するにBCCは自分でラダーで計算プログラムを作って電文中に挿入します


>送信は EOT アドレス 職別子  ENQ
>受信は STX 職別子 データ ETX BCC
どうころんでもこれは誤記でしょう

送信は  ENQ アドレス 職別子  EOT
じゃあないでしょうか?
でも、送信にBCCが付いてないけれど?
送信と受信でプロトコルが違うのもおかしい気がするし
EOT: End Of Transmission
http://www.wdic.org/w/WDIC/EOT
STX: Start of TeXt
http://www.wdic.org/w/WDIC/STX
ENQ: ENQuiry
http://www.wdic.org/w/WDIC/ENQ

お礼

2009/02/10 08:19

lumiheart様回答ありがとうございます
電文内容は、表記のとおりです
チラーは オリオン機械のRKE1500B-Vです
EOT アドレス 職別子 ENQ
とりせつの表記をそのまま書きます
(1)ポーリング手順
 1)データリンクの初期化
   ポストコンピュータは。ポーリングシーケンス送信の前にデータリンク
   の初期化のためにEOTを送信します
  2)ポーリングシーケンス送信
    アドレス-職別子-ENQ
    アドレス ポーリングする機器のデバイスアドレス
    職別子 データを職別するコード
    ENQ ポーリングシーケンス終了をあらわす伝送制御キャラクタ
    その後、ポストコンピュータは、本体からの応答待ちとなります
をあります.BCCのことは何まありません、その後にサンプルの電文が
ありますが,Bccとことはありません、今回はじめての通信で1CHのほう
は、オムロンの温調器(E5CN3台)の、通信はうまく通信していますが
2CHのほうは、うまくいきません。アドバイスのほどよろし
お願いします。

ありがとうござます現在のソフトです
LD M2611 MOV H4 D2910
MOV H30 D2912
MOV H35 D2912
MOV H4D D2913
MOV H31 D2914
MOV H5 D2915
LD SM400 BTOW D2910 D2940 K6
LD M2611 PLS M2620
LD M2620 MOV K2 D2930
MOV K0 D2931
MOV K3 D2932
G.OUT U16 D2930 D2940 M2630
LD X16A MOVP K2 D3000
FMOVP K0 D3001 K2
MOVP K20 D3003
G.INPUT D3000 D3100 M2631
が送信、受信です
受信終了コードを03H(ETX)に指定しています
後SW3 05CA SW4 0006に設定しています
QJ71C24N-R4のSD RDの LEDランプも
送信、受信のタイミングで点灯します
送信バッフアーのも 801 3004.802 4D35.
          803 0531
なつて、います
受信バッフアーですが,A00からですが、わからないもの
がはいつて着ています、受信に電文ですと A01のところに
STX、M1なので A01 4D02にが入るはずですが
00E3とか、理解できないものが、はいってきています
という状態です、よろしくお願いします

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。