プログラムの素人の質問ですが、知ってる方教えてください。
VB6(SP5)にて、MSCommを使ってRS-232Cポートへデータを
送る処理をしています。そこで、ダブルクォーテーションを
吐き出さなければいけないのですが、「Chr(34)」だとエラーが
起きてしまいます。他にダブルクォーテーションを表示する方法は
ありませんか。本当に素人くさい質問ですがよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

MSCommについてよく知らないのですが、「""」と2回書く、ではダメですか?


(必要な文字列が「"ABC"」なら"""ABC"""と記述)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
出力がうまくいかない原因は、ダブルクォーテーションの
書き方が問題じゃなくて、MsCommに出力しているコードの
問題でした。出力するコードの知識が薄く、VBの出力の
せいにしてました。

お礼日時:2001/08/25 12:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QRS232Cについて

プログラミング初心者です。
Visual Basic6.0のMScommコントロールで0と1の文字を判別して、mscomm1.outputでon/offの出力信号を送信する方法ってありますか。どなたか御教授願います。

Aベストアンサー

otto0001otto さんの回答で概ね良いのですが
文字列として MSComm1.Output に与えた場合に送信できない文字コードが在ります。
(これはchr関数で文字に変換できない数値があるためです)
そこで次のようにすると0~255まで全ての数値が送信できます。
dim myByte() as Byte
redim myByte(0) as Byte
myByte(0) = &H55 '長さ1の配列に数値を代入する。
MSComm1.Output = myByte

QVB.netでRS232Cポートを使うには

Visual Basic.net でRS232C PORTを使いたいのですが、具体的な方法を教えてください。(WIN32 APIを経由して駆動するようなのですが。)

Aベストアンサー

MSCommが使えるなら、
ここを参考にしてください。

参考URL:http://www.picfun.com/serial08.html

QVBでRS232Cの制御について。

通信のデータ長やパリティ、ポーレート等の設定を”SETTINGS”でおこない、ポートをオープンして外部機器にデータを送る際、ここでは、データをバイナリデータで送らなければなりません。
STX,アドレス,チェックサム,ETXの順にそれぞれアスキーコードで16進数に変換して送ってますが、うまく通信できません。
教えて頂けませんか。
素人でごめんなさい。
この部分のサンプルプログラムがあれば最高なんですが・・・。

Aベストアンサー

>送信してデータが送られているようです。
>(RS232C→RS485変換にて計測機器に送信。その際LEDが瞬間的に点灯します)

送信できている証拠として、LED点灯ですか...
確かに計測機器に何らかの信号は送られているのでしょうが、
これでは正しいデータかどうかがわかりませんね。

一つずつつぶしていきましょう。
まずラインモニタ等で、本当にパソコンから正しい信号を送っているかどうかの
検証をして下さい。
ラインモニタがなければ別のパソコンでバイナリ通信ができる通信プログラム
でもいいです。その場合バイナリをASCIIコードなどで文字表示できるソフトで。
私は確か簡単なプログラムを作って検証しました。

またソフト的に気になる点を書きます。
1)バイナリ通信では、Byte変数を使う
2)透過コードの扱い
バイナリ通信ではテキスト通信の時のようにSTX(Start of Text)のような
特定の1バイトのコードに意味を持たせることができないので、
透過コードといって、有効データの通信の始まり、終わりを数バイトの
コードで表します。
これは機器によって異なるので、機器の仕様書を見てください。

私が扱った機器では、10Hと02Hが連続するとSTX、10Hと03Hが連続するとETX、
その間のコードが有効データでした。
有効データの中にはデータバイト長やチェックサムが入るので、例えば
偶然にノイズで10H+02Hと10H+03Hが入っても、有効かノイズかの判断が
できます。

以上のことを確かめて見てください。

>送信してデータが送られているようです。
>(RS232C→RS485変換にて計測機器に送信。その際LEDが瞬間的に点灯します)

送信できている証拠として、LED点灯ですか...
確かに計測機器に何らかの信号は送られているのでしょうが、
これでは正しいデータかどうかがわかりませんね。

一つずつつぶしていきましょう。
まずラインモニタ等で、本当にパソコンから正しい信号を送っているかどうかの
検証をして下さい。
ラインモニタがなければ別のパソコンでバイナリ通信ができる通信プログラム
でもい...続きを読む

Qrs232cでのRfidリーダライタの制御方法

研究用にタカヤ製品http://www.takaya.co.jp/enterprise/rf/rfid/module.htmのRFID評価キットTR3-D002Aを購入しました。

Visual Basicでリーダライタを制御するプログラムを作りたいと思っているのですが、プログラミングなどはした事もなく何から初めてよいのか途方にくれています。

通信コマンドは公開されているので、とりあえず、直接通信コマンドをRS232C経由でリーダライタに送って、リーダライタの読み取りモードを変更してみようと思っているですが、そのようにrs232cに繋いだ機器に直接通信コマンドを送るようなソフトはあるでしょうか?

テキストデータを送受信するソフトはあるのですが、なにもレスポンスがありません。通信コマンドは STX アドレス コマンド データ長 ETX SUM CR などとなっているので、それらを送って機器からレスポンスを得たいのですが、、、、
おそらく質問の仕方もかなりずれていると思うのですが、お手柔らかに答えて頂けると幸いです。
また、参考になるサイトなどがあれば教えてください。
osはwindows2000です。よろしくお願いします。

研究用にタカヤ製品http://www.takaya.co.jp/enterprise/rf/rfid/module.htmのRFID評価キットTR3-D002Aを購入しました。

Visual Basicでリーダライタを制御するプログラムを作りたいと思っているのですが、プログラミングなどはした事もなく何から初めてよいのか途方にくれています。

通信コマンドは公開されているので、とりあえず、直接通信コマンドをRS232C経由でリーダライタに送って、リーダライタの読み取りモードを変更してみようと思っているですが、そのようにrs232cに繋...続きを読む

Aベストアンサー

RS232Cの通信ソフトとしては、TeraTermが有名です。
(個人的にはAcknowrichと言うソフトが好きですが)
機械の事やコマンドについては良くわからないのですが、レスポンスが何も無い場合、通信スピードなどのプロトコルが間違っている可能性があります。
このあたりは大丈夫ですか?

おもしろそうな機械ですね。こういう商品ってメーカーから直接買うのでしょうか?

参考URL:http://hp.vector.co.jp/authors/VA002416/,http://www.vector.co.jp/soft/win95/prog/se089304.html

QVisual Basic2008での自作センサーとのRS232C接続

現在学校でセンサー(焦電型赤外線センサー)とPCをRS232Cで接続させようと考えています。
センサーからの信号は検知するとHが出力されます。
Visual Basic 2008を使って信号がHになった回数をカウントさせたいのですがどのようなプログラムを組めば良いのでしょうか?

また、センサーの出力はRS232Cのどのピンに接続すれば良いのでしょうか、どなたか詳しい方教えてください。

Aベストアンサー

●RS-232Cのピンアサイン
http://www40.atwiki.jp/system-ed/pages/13.html

注:制御信号のレベルは ON:+3V以上25V以下 OFF:-3V以下 -25V以上
  なので0Vの場合は不定です。
  (運が良ければ0VがOFFと判断されることもありますが当然
   保証されていません)

 :自作センサーの出力の仕様が判りませんが、一般的には
  レベル変換のための回路が必要です。

  この程度の情報を元に、後は自分で調査・判断できないようなら
  機器(PC)を壊す可能性が高いので止めておいたほうが良いでしょう。


●SerialPortクラスの使用方法
http://www.technoveins.co.jp/dev/vb2005/serialport.htm

 ・DSR、CTSの状態をPropertyで読むことができます。
 
 ・但し、上記のような使い方は保証されていないので、あくまで
  自己責任で行ってください。


人気Q&Aランキング

おすすめ情報