
パソコンWIN XPからハイパーターミナルを使用してRs232C通信、送信相手はPLC(シーケンサ)を行おうと試みていますが、送信動作をすると”無効なメッセージ形式”と出て送信出来ません。
送信ファイルはメモ帳で作成しテキスト、ASCIIコード等色々な文字を記入して試みていますが、駄目です。
パソコンにはCOMポートが無いので、USBをシリアル変換ケーブルを使用して通信しています。
RS232Cの配線(クロス)、通信設定、COMポート選択に間違いが無いかも確認していますが、問題ないと思っています。
USBシリアル変換ケーブルが原因かとも思いますが、”無効なメッセージ形式”なので、送信するデータ形式に問題があるのではと考えていますが、正しくはどの様な形式のものをファイルの送信にすれば宜しいでしょうか。またファイルの送信設定で、色々なプロトコル選択があります。どれを選べば宜しいでしょうか。
通信ポートの設定は9600,N,8,1です。
ご回答、宜しくお願い致します。
No.5ベストアンサー
- 回答日時:
回答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/E38393E38383E382B0E382A8E383 …
"41h"が"14h"になったり"4142h"が"4241h"になってたりします
こうしたくだらない仕様の不一致によるバグとは言えないバグは
ハイパーターミナルで見つける事はほぼ不可能に近い
だからHEXデータでモニタする必要があります
お世話になります。
送信出来ました。まさか直接入力すれば送信出来るとは思いませんでした。ASCII設定でローカルエコーにすれば入力した文字が画面に表示します。
これでPLCのシリアル通信のソフト作成、デバックが出来ます。助かります。色々アドバイス有難う御座いました。

No.4
- 回答日時:
テキストファイルを送りたければ、「テキストファイルの送信」を使ってください。
Z-modemやX-modemを使うとエンコードされてしまい、PLCが理解できなくなります。PLCが理解できないから、エラー応答をよこすので、それが無効なメッセージ形式という現象につながっているのでは?Z-modem等はテキストしか流せない回線にバイナリファイルを送信するためのプロトコルで、エラー訂正とハンドシェークを行っているため、そのプロトコルを使えるもの同士でないとだめです。PLCは大抵、べたテキストしか理解できませんから、そういうプロトコルを使用してはいけません。
それと、ハイパーターミナルでうまくいかない、あるいは制御コードを使うためやりにくい場合は、別にツールを用意する方がいいです。フリーソフトでもありますよ。(参考URL)
プリアンブルとポストアンブルですが、データのヘッダとフッタみたいなものです。[プリアンブル]データ本体・チェックサム[ポストアンブル]のような形で使用します。ありがちなのはプリアンブルにSTX(02h)、ポストアンブルにETX(03h)をつけるパターンです。これらは思いっきりバイナリ値なので、メモ帳では作成できませんが、参考URLのようなツールであれば対応できます。
参考URL:http://www.greva.jp/souko/item/index.htm?w=70
No.3
- 回答日時:
ハイパーターミナルでも全ての信号がアスキーであれば可能ですが
出来れば専用のプロトコルアナライザかラインモニタを使うべき
http://miechan.jp/hmrmz1.htm
ベクターにもラインモニタが有ります
http://search.vector.co.jp/search?query=%83%89%8 …
PLCのメーカ及び機種は何でしょう?
三菱A&Qなら不可能ですよ
何故ならハイパーターミナルから[ENQ](05h)[ETX](03h)を出力する事はできませんから
>”無効なメッセージ形式”
このメッセージはハイパーターミナルが出したエラーメッセージでしょうか?
憶測ですがPLCが送信した[NAC](15h)を受信したのではないでしょうか?
ハイパーターミナルではこうした制御信号のモニタはできませんので
16進モニタ機能のあるラインモニタを使いましょう
会社支給のPCでソフトを自由にインストール出来ないと言う事情が有るかも知れませんが
ちゃんと許可を取れば大抵は許可は降ります
「これが無いと出来ません」と、言い切ったもん勝ち
この回答への補足
ご回答有難う御座います。
ラインモニタが必要ですか。。。
PLCは三菱ではありません。機種は申し上げられません。すみません。
”無効なメッセージ形式”はハイパーターミナル側で表示されるメッセージです。PLCからは送信はしておりません。
”無効なメッセージ形式”の発生原因(意味)が分かればと思いますが。

No.2
- 回答日時:
コマンドのフォーマットが解らないので、一般論になりますが、もしプロトコルがあっているとしたら…
1)改行コードは正しいか?
2)チェックサムが必要ではないのか?つけている場合、計算は正しいか?
3)プリアンブル、ポストアンブルでデータを挟む必要はないのか?
といったあたりが気になります。もし2)3)が原因だと、テキストに制御コードを埋め込む必要があるので、メモ帳+ハイパーターミナルでは対処しきれないかも知れません。
ところで、無効なデータ形式と言ってきているのはPLCですか?
この回答への補足
ご回答有難う御座います。
1)改行コードは付けていません。
PLC側では受信文字数を固定数として設定して受信としていま す。とりあえず5文字固定とし、5文字受信できたら受信完了とな ります。(なる筈です。)
2)PLC受信側はチェックサムは無しで設定していて問題ないと思っ てます。PLC側の計算も受信したら自動的にデータレジスタに入 力させる仕組みになっていて問題ないと思います。
2)プリアンブル、ポストアンブルの具体的な意味が分かりません。
例などで教えて頂けたらと思います。
無効なデータ形式の表示はパソコン側で表示されます。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールが、入力中に送信してい...
-
EXCEL VBAで→PDF化→自動メール送信
-
チャイナユニコムSIMでSMS送信...
-
Becky!ver.2の送信エラーについて
-
「Unicodeで送信」という表示が...
-
サイボウズにおける文字化け
-
パワーポイントで作図した図を...
-
Wordのファイルを開くと、開い...
-
パワポで曲がった両矢印の簡単...
-
点線の円(○・丸)
-
Wordで家系図を書きたいです。
-
「ワード」の「ハイフン」を縦...
-
タイムカードの氏名所属などプ...
-
Excelにて用紙(縦)の、中央左...
-
急いでます!「~」の打ち方
-
パワーポイントの表を左90度回...
-
エクセルでの図形の書き方
-
PowerPointでPDF化したときの枠...
-
Excelの画面上に上書き保存のア...
-
PDF-XChange Viewer
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Thunderbird 「後で送信」の設...
-
サンダーバードのアドレス帳へ...
-
メールが、入力中に送信してい...
-
Thunderbirdの送信トレイについて
-
メール誤送信の防止 / Ctl+Ente...
-
未送信メールが見当たらない。
-
Notes 送信ボックスに何も入り...
-
【サンダーバード】”下書き”や”...
-
「Mail Distributor」について
-
Outlookが送信不可
-
送信時間を確認できますか?(...
-
「あとで送信」が知らないうち...
-
google IMEの有効性と問題点
-
送ったメールが「送信済み」に...
-
おすすめのメール配信ソフトに...
-
Outlook Express で、急に添付...
-
Outlook Express の使い方で分...
-
まいと~くFAX7でスキャンする...
-
また出た!
-
Becky!が、送信途中の状態のま...
おすすめ情報