質問

質問者:junjun04 WIN XP ハイパーターミナルでRS232C送信について 
困り度:
  • 困っています
パソコンWIN XPからハイパーターミナルを使用してRs232C通信、送信相手はPLC(シーケンサ)を行おうと試みていますが、送信動作をすると”無効なメッセージ形式”と出て送信出来ません。
送信ファイルはメモ帳で作成しテキスト、ASCIIコード等色々な文字を記入して試みていますが、駄目です。
パソコンにはCOMポートが無いので、USBをシリアル変換ケーブルを使用して通信しています。
RS232Cの配線(クロス)、通信設定、COMポート選択に間違いが無いかも確認していますが、問題ないと思っています。
USBシリアル変換ケーブルが原因かとも思いますが、”無効なメッセージ形式”なので、送信するデータ形式に問題があるのではと考えていますが、正しくはどの様な形式のものをファイルの送信にすれば宜しいでしょうか。またファイルの送信設定で、色々なプロトコル選択があります。どれを選べば宜しいでしょうか。
通信ポートの設定は9600,N,8,1です。
ご回答、宜しくお願い致します。
質問投稿日時:09/01/14 18:20
質問番号:4630076
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:lumiheart 回答No.3です

>1)改行コードは付けていません。
>  PLC側では受信文字数を固定数として設定して受信としています。

と、言う事はPLC側は無手順モードですか?

で有るならば話は難しくない
ハイパーターミナルのキーボードから適当に文章を書くだけ
ハイパーターミナルはリアルタイムでキーボードのコードを送信します
例えば"A"のキーボードを押すと[41h]が即送信されます
"ABC"[Enter]と押せば
41h,42h,43h,0Dh,0Ahと5文字送信されます

PLCラダーを少し変更して(テスト用)
(何かのボタンを押したら強制的に固定テキストを送信するように)

44h,45h,46h,0Dh,0AhとPLCから送信すれば
"DEF"とハイパーターミナルに表示されます



もしボーレートや7/8ビット等のパラメータが違っていれば
"41h"が"42h"とかに化けてます
ポートが開いて電線が繋がってさえ居れば文字化けするかも知れませんが
何らかの表示されます(制御コードは無視される場合もありますが)

PLCの機種にもよりますが所謂エンディアンの問題で
http://e-words.jp/w/E38393E38383E382B0E382A8E383B3E38387E382A3E382A...
"41h"が"14h"になったり"4142h"が"4241h"になってたりします
こうしたくだらない仕様の不一致によるバグとは言えないバグは
ハイパーターミナルで見つける事はほぼ不可能に近い
だからHEXデータでモニタする必要があります
種類:回答
どんな人:専門家
自信:参考意見
回答日時:09/01/15 11:52
回答番号:No.5
この回答へのお礼お世話になります。
送信出来ました。まさか直接入力すれば送信出来るとは思いませんでした。ASCII設定でローカルエコーにすれば入力した文字が画面に表示します。
これでPLCのシリアル通信のソフト作成、デバックが出来ます。助かります。色々アドバイス有難う御座いました。
最新から表示回答順に表示良回答のみ表示