• ベストアンサー

RS232Cについて

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

  • lkmm
  • お礼率0% (0/6)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

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

その他の回答 (3)

回答No.3

RS-232Cでは情報を8BIT単位で送ります。 "0"という文字はアスキーコードで30HEX 2進数で書くと00110000となります。 "0"をRS232Cに出力すると0011000 というBITが送られることになります。 いま、01010101というビットを送りたいので あれば、これは55HEXということになりますから MSComm1.Output =chr(&H55) とします。

noname#60992
noname#60992
回答No.2
lkmm
質問者

補足

ご回答ありがとうございます。そのサイトは見てみたのですが、 MSComm1.Output = Text1.Textで このtext1.textに"00000000"や"11001100"(Stringとして宣言)などと入力した場合、この0と1は「High」や「Low」と認識しているのでしょうか。それともただ単に「文字」としてしか認識されないのでしょうか。                

回答No.1

RS-232Cインターフェースのpinを HighやLOWにしたいということでしょうか?

lkmm
質問者

補足

そうです。8桁の2進数を8ビット,19200bpsで送信したいのですが。

関連するQ&A

  • RS232Cの切替器

    お願いします RS232Cの切替器(ON/OFF器)を探しています RS232Cは信号を出力しかしていません(入出力ではなく) それを遠隔からON/OFF(出力/切)をしたいのですが、そのような装置をご存知ありませんでしょうか? 遠隔からは接点信号でON/OFFしたい(もしくは専用の操作器でもなんでも結構です) よろしくお願いします

  • RS-232C接続のための VS 2008 C++のプログラム

    RS-232C接続のための VS 2008 C++のプログラム パソコンとRS-232Cで接続することで制御できるパトライト(PHE-3FB)を渡され、今週中に動かしたいのですが、私はプログラミング経験が非常に浅くどうしても、動かすことができません。加えて、実装の環境が「Visual Studio 2008 C++」のみに限られており、大変困っています。 こんな、初心者の私でもRS-232Cの通信プログラムが書けるようなサイトはないでしょうか。 Windows Visual studio 2008 C++ で書かれたサンプルプログラムのようなものがあれば非常に助かります。。。 どなたか、助けてください・・ 追記 MSCOMMコントロールはWindows Visualstudeo 2008 C++にはないのでしょうか・・

  • RS-232Cのコマンドについて

    はじめまして。 RS-232C通信にて計測器からデータを取得します。 計測器の仕様では、 『呼び出しコマンドが「0x08」でデータが吐き出されます。 ハイパーターミナルで言えば、Ctrl + H のコマンドです。』 と記載されています。 VB6.0のMSCommコントロールを使用して、コマンドを送出して、データを得たいです。 この場合、コマンド送出はどのように記述すればよいのかわかりません。 MSComm.Output = "H" ← Hですか?? コマンドの意味を理解できていなくて、困っています。 初心者でお恥ずかしい質問ですが、教えてください。 宜しくお願いします。

  • RS232CでのRFIDリーダライタの制御プログラム。

    研究用にタカヤ製品http://www.takaya.co.jp/enterprise/rf/rfid/module.htm のRFID評価キットTR3-D002Aを購入しました。 ↓のようなVB6.0で16進数のバイト列を送信してレスポンスをえるプログラムを作りました。 MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.Handshaking = comNone MSComm1.PortOpen = True Dim Send(7) As Byte Send(0) = &H2 Send(1) = &H0 Send(2) = &H4F Send(3) = &H1 Send(4) = &H0 Send(5) = &H3 Send(6) = &H55 Send(7) = &HD MSComm1.Output = Send 通信プロトコルはあっていると思うし、COMモニタでみても、ついてきたデモソフトと同じ信号が出力されているので、 リーダライタからレスポンスのデータが帰ってくると思うのですが、COMモニタでみる限り何もレスポンスはないです。 プログラミングは初めてなのもあり、困っています。 何か特殊なことをしないと、こういうSDKが別売であるような機器を制御するのは無理なのでしょうか? また、原因は何が考えられるでしょうか?

  • MSCommを用いたRS-232-Cデータ転送

    Visual Basic ver.6を用いてRS-232-Cデータ転送のプログラムを書いています。 転送には,MSComm controlを用いています。 コンピューター側から命令コードを測定器側に送信すると(例えば,MSComm1.OutPut = "F,3,300," & Chr(13)のように),測定器側からは次のようなテキストデータの転送が指定された回数だけ起こります: @C/R 数値データC/R 数値データC/R ・・・・ ・・・・ (指定回数繰り返す) そこで,質問ですが,このデータをMSComm1.Inputを介してきちんと取得する方法をお教えください。私がよく理解できいない部分は,「どのような形でbufferにデータが落ちているのか?」という部分と「繰り返し処理をどう記述するのか?」という部分です。多分後者は配列型変数を用いて「指定回数」だけ繰り返すことになると思いますが・・・・。 なお,データ転送の制御フォーマットはデータのみの転送で,STXもETXも使用していません。

  • RS232C端子に信号を出力させたい

    環境は VB6 Learning Edition,WindowsXP です。 RS-232C(2,3,4,5,6,8,20) 何れかのピンに Morse信号を出力したいのですが。 例えば"R" である ・― ・ を次のタイミングで出力させるにはどうすれば良いでしょうか。 0.4秒間-ON,0.4秒間-OFF,1.2秒間-ON,0.4秒間-OFF,0.4秒間-ON

  • XPでVBを使いRS232Cから5bpsでデータを出力する方法を教えて下さい。

    VBの初心者です。 VBを使いRS2322Cから5bpsでデータを出力したいと思っています。 98MEにてAPIのWriteFile()を使い成功したのですが、XPへ移行したとたんNGとなってしまいました。 MSComm1.Outputを使おうかとも思ったのですが最低ボーレイト110bpsまでで使えません。 何方かXPでRS2322Cから5bpsでデータを出力する方法をご存知の方がおられれば教えて下さい。

  • TOSNUCとRS232C通信設定について

    TOSNUC600の通信パラメータを間違えて変更してしまい、NCからPCへプログラムの出力が出来なくなってしまいました。 ・ComncV3使用しています。 ・PC→NCはOKでした。 ・文字コードをEIAにすると出力できますが、()などの記号が抜けてしまいます。 ・文字コードISOの時は、最初の1行(プログラム番号)が出力されただけで、Comnc側は受信完了してしまい、NC側は送信完了せず、通信しようとし続けている状態です。 現在の設定 ・ブロックパリティチェック→実行する ・コントロールアウト部でブロックパリティチェック→実行する ・パンチアウトコード→ISO ・パンチアウトデバイス→FACIT ・ISOでのEOB→LF ・プログラムナンバーパンチアウト→ON ・プログラムエンドコード→% ・256文字リーダ、トレーラー→出力する ・ISOコード時文字パリティビット→つけない ・ダンプ途中休止時RS信号を→オフする ・DCコードを→使用しない ・ストップビット→2ビット ・ボーレート→4800 最終的には文字コードISOで()も含めて作ったプログラムそのまま出力できるように設定できたらと。。 この設定を変えてみたらといったアドバイスがあれば教えていただきたいです。

  • RS-232Cで接続したPC間のファイル転送

    環境 [XP VB6.0] お世話になります。 RS-232Cのクロスケーブルで2台のPCを接続し、一方のPCにあるファイルをもう一方のPCに送信し、受信したファイルを保存するというプログラムを作成しないといけません。 現状、フォーム上でコモンダイアログによりファイルを選択し、選択したファイルが、フルパスでテキストボックスに表示されます。 送信ボタンをクリックするとファイルの送信処理を開始し、受信側は受け取ったファイルを保存するという流れを作りたいのです。 しばらく調べたのですが、なかなかクリティカルする回答を見つける事が出来なかったので質問させていただきます。 もうこのような転送手段は使わないと思いますが・・・。 MSCommコントロールを使用し、文字の送受信程度であればできたのですが、MSCommではファイル転送はできないのでしょうか? 送信側、受信側のプログラムをご教授いただければと思います。 つたない文章で申し訳ありません。 よろしくお願いします。

  • RS-232Cの使い方

    RS-232C(D-Sub9)を使用してスイッチのオン/オフを見たいのですが、 簡単に実現できる方法はございますでしょうか? スイッチの接点だけなので、高価なインターフェース基板など使用したくありませ。ご教授おねがいいたします。