質問

質問者:takedono 三菱PLCでの232C通信
困り度:
  • すぐに回答を!
三菱のPLC(A1S)にて計算機リンクを使い(A1SJ71C24R2)232C通信をしようと思うのですが、初めてなのでうまくいっているのか分かりません。モニタ上ではデータレジスタに値は書き込まれています。仕様としては東研のバーコードリーダでQRコードを読みその値をPLCに送信しようとしてます。QRの内容は半角の英数文字です。PLCのFROM命令でバッファメモリを読み込むと5桁くらいの数値が入ってきます。この数値は何なのでしょうか?読み込んだ値をGOTなどに表示したいのですが、GOTの画面にアスキー表示をつけ、数値の入っているデバイスを指定しても何も表示されません。この数値を一度ASCIIで変換する必要があるのでしょうか?232C自体やASCIIコード自体、今回使うのが初めてで、マニュアルを調べながらがんばっているのですがいまいちよく分かりません。又、このような外部機器に232Cで通信すて指令を出す場合コマンドをASCIIに変換しTO命令で計算機リンクのバッファメモリに書き込めばいいのでしょうか?例えばバーコードリーダーのトリガーをPLCからコントロールする場合等です。もうひとつは例えば「ABCD120A  ABC」というQRデータをPLCに取り込みこの中の120Aだけを別のデータレジスタに書き込めるのでしょうか?この「120A」は1〜3桁にランダムに変動します。詳しい方いたら教えてください。よろしくお願いします。
質問投稿日時:07/12/24 22:58
質問番号:3624918
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:lumiheart >PLCのFROM命令でバッファメモリを読み込むと5桁くらいの数値が入ってきます。この数値は何なのでしょうか?
アスキーコードそのものです
http://e-words.jp/p/r-ascii.html

>GOTの画面にアスキー表示をつけ、数値の入っているデバイスを指定しても何も表示されません。
おそらくボーレート、7/8ビット等の232cパラメータが違う
それらが違っていても71c24は受信を正常完了してしまいます
(エラーにはなりません、所謂文字化けになるだけです)
GX8のモニタモードの一括モニタで表示をアスキーにしてみてください
正常に受信できていれば文字として表示されます

パラメータは合ってるとして

1、アスキーコードのスタート位置を間違えている
  受信データの最初の1ワードは受信データ文字数です
  (バイナリ値でアスキーではありません)
  GOTの表示アドレスをこれにしていると
  GOTは最初の文字がアスキーではないので文字表示を中止します
  要するに2ワード目からが受信文字になります
  また、BCRからの先頭データが先頭が必ずしも文字とは限りません
  STX(02h)コードの場合があります
  確認したわけではありませんがやはりGOTは文字ではないと判断する可能性は否定できません


2、ビッグエンディアン、リトルエンディアンの問題
http://e-words.jp/w/E38393E38383E382B0E382A8E383B3E38387E382A3E382A...
http://e-words.jp/w/E383AAE38388E383ABE382A8E383B3E38387E382A3E382A...
melsecPLCはリトルエンディアンです
でも、通常のBCRはデフォルトでリトルエンディアンのはずです


3、BCRの出力データフォーマットはBCRメーカ発行のマニュアルをよく読んでください
  先頭コード、エンドコード、デリミタ(CRLF)等のフォーマットを確認してください
種類:回答
どんな人:専門家
自信:参考意見
回答日時:07/12/25 01:20
回答番号:No.1
この回答へのお礼ありがとうございます。一応何とかできたみたいです。まだまだ勉強が必要です。ありがとうございました。