- - PR -
送信電文にASCIIコードの制御文字を設定する方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-12-07 20:25
いつもお世話になっております。
RS-232C通信を行うのにSerialPortコントロールのWriteメソッドを 使用して、下記のコードでコマンドを送信したいと考えています。 SerialPort.Write(String) ※Stringには制御コマンドを設定します。 送信するRS-232C制御コマンドは Header部Message部CheckCode部Delimiter部 で構成されています。 仕様書によるとHeader部の最初にASCIIコードのSOH、 Message部の最初にSTX、最後にETXを付加しなければいけないのですが 制御文字をどのように記述したらよいのかわかりません。 どなたかご存知の方がいらしゃれば教えてください。 よろしくお願い致します。 環境は下記の通りです。 Windows XP Professional Version 2002 SP2 Visual Studio 2005 Professional Edition .NET Framework Version 2 使用言語 vb.net | ||||
|
投稿日時: 2007-12-07 20:36
VB.NETは(も?)まったくの門外漢ですが、char(01)とかで書けないんですかね。
| ||||
|
投稿日時: 2007-12-09 00:12
返信ありがとうございます。
私の認識が間違っているのかもしれませんが、 Char(01)は ASCIIコードから文字に変換する場合だったと思います。 デバックでみるとChar(01)は「cのように表示されます。 これで正しいのでしょうか? コマンドを送信しましたが、応答は返ってきませんでした。 他の部分に問題がある可能性も高いのですが、とりあえず制御文字の 扱いが正しいのかどうかわかりません。 Char関数の使用が正しいとご存知の方がいらっしゃったら 教えてください。 よろしくお願いいたします。 | ||||
|
投稿日時: 2007-12-09 00:54
SerialPort.Write(Byte(), Integer, Integer)で、バイト列を送信する方法でいかがでしょうか?
STXだけ送信したいということであれば、以下のようになると思います。
| ||||
|
投稿日時: 2007-12-11 17:38
ご回答ありがとうございました。
Chr(&H1)でできました。 |
1