• 締切済み

RS232Cで機器制御

C言語で、RS232Cインターフェイスを使って機器を制御したいのですが、こういった経験がないものなので、どういう準備したらいいか、どういう関数を使ったらいいのかといった基本手順を教えてもらえないでしょうか。 勉強するのにいい本なども知りたいです。 数学系の出身なので、C自体は数値計算で使い慣れています。 環境はWindowsXPか2000があります。 よろしくお願いいたします。

みんなの回答

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.4

機器との接続条件やケーブルの結線、どういうタイミングでどのようなデータをやりとりするのかをしっかり把握しておく必要があると思います。 単に通信速度あわせて文字列を送って、文字列を受け取るぐらいなら簡単ですが、 ものによってはかなり特殊なものもあります。 ブレーク信号が必要だったり、RTS,CTSといった信号の自力での制御が必要だったり。 そうなると、自分でWIN32APIでの操作が必要かも。

回答No.3

C言語で使用できるRS232Cインターフェイスは下記URLにあります。(無償です)DLファイル内にはサンプルもあり手順なども親切に解説されています。基本的には   (1)ポートのopen   (2)通信パラメータの設定   (3)ポートへの書出しまたは読込み   (4)ポートのclose です。ポートからの入力データや出力データの形式は器機によって異なります。 市販本についてはあまり知りませんが、Webで検索(キー:rs232c)すれば見つかりますよ。

参考URL:
http://www.vector.co.jp/soft/win95/prog/se224900.html
vmax_yellow
質問者

お礼

回答ありがとうございます。DLしましたので、ちょっと読んでみます。 いい忘れたのですが、実はDOS上で動かしたいと思っています。素人はまずDOSかなーと思いまして。

回答No.2

コンポーネントを使う方法が簡単でしょうが、Win32APIを使う手もありますね。 とりあえず動かすだけなら難しくないと思います。 CreateFileで"COM1"をオープン SetCommStateで通信設定 SetCommTimeoutsでタイムアウト設定 WriteFileかTransmitCommCharで送信 ReadFileで受信 CloseFileで閉じる 実際にはエラー処理などいろいろ必要かと。

参考URL:
http://www.asia.microsoft.com/japan/msdn/library/ja/jpfileio/html/Toppage_Communication.asp
vmax_yellow
質問者

お礼

ご回答ありがとうございます。

  • teo98
  • ベストアンサー率23% (70/303)
回答No.1

WindowのRS232Cの制御では、フリーのコンポーネントを探してくるのが近道です。COMXとか・・・いろいろあります。シェアよりも、フリーの物の方が掲示板等でバグ等の指摘が出易いため使いやすいかもしれません。 本格的に使うためには、他人のコンポーネントではなく、自らAPIを操作する必要があります。 また、LinuxのRS232Cでは、WindowsのRS232Cよりも安心して制御出来るように聞いております。 BASICだと、始めからRS232Cの制御も考慮したコンパイラになっているわけで、安易にプログラム出来ます。ですが、BASICでは、いろいろな意味で限界を感じます。

参考URL:
http://images-jp.amazon.com/images/P/4789836894.09.LZZZZZZZ.jpg
vmax_yellow
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

  • RS-232C機器の制御プログラム

    PC-9801のMicrosoft Quick BASICで、RS-232Cポートを持つ実験装置(温度コントローラー)の制御を行うプログラムを作りたいと考えております。 つきましては、RS-232Cポートの制御に必要なライブラリ、プログラミングの方法(文法や手順など)を教えていただきたく存じます。 参考文献、参考URLのみでも結構ですので、どうかよろしくお願い致します。

  • アセンブラでRS-232Cを制御

    アセンブラでRS-232Cを使って電子機器を制御したいのですが、やり方が分かりません。 参考になるWebサイトを教えてください。 宜しくお願いします。

  • RS232Cを制御するAPI関数

    RS232Cを細かく制御したいのですが、そのようなAPI関数はあるでしょうか?

  • RS232Cの制御について詳しく書かれている書籍

    RS232Cに接続された機械(Robot)をパソコンで制御するプログラムを書きたいのですが、それにあたり、シリアルポートの制御を主として記述している参考書(書籍)を探しています。 書店などでプログラミング教書を探しても、RS232に関して触れられている本はほとんど無く、あったとしても紹介程度のものです。 プログラミングソフトはVisualStudioExpressEditionsシリーズを予定しています。無料なので.... 現時点で扱える言語はCとBASICだけです。 良い参考書があれば、VBやC#、C++等にもチャレンジしてみる意欲はあります。 何か、ハードウェア開発者(と言っても、今回はシリアルポート制御ですが..)でも理解できそうな比較的新しい書籍がありましたら、教えていただけると助かります。

  • RS485とRC232Cについて

    ここのカテゴリーでいいのかわかりませんでしたが、質問させていただきました。 私が今使っている機器は家庭用及び産業用の空調制御のマイコンですが、RS485のインターフェイスがあります。現状使用していないのですが、ここには各空調機器の運転時間や運転動作回数、週間スケジュール(タイマ)などの機能が搭載されています。この機能を使用するにはどうしたら良いのかわかりません。 RS485からRC232Cの変換でノートパソコンに信号を入力することができるようですが、どのようなソフトでこの信号を見ることができるのでしょうか?また、信号が生のデータの場合、この空調制御マイコンのメーカーに何をどうきいたらいいのかさっぱりわかりません。通信について、関連のサイトを教えていただけませんか?

  • RS232CとPCの通信

    RS232Cを使って、PCとシリアル通信をしたいのですが、 RS232Cの通信について、制御線や手順について詳しく書いてあるサイトを知りたいです。 もしご存知でしたら、教えていただきたいです。 よろしくお願いします。

  • PCに複数のRS232C機器を接続するときの接続…

    PCに複数のRS232C機器を接続するときの接続回路 1つのPCに複数のRS232C機器(これは新規に設計します)を 接続することを検討しています。 機器側のRS232CドライバーをTX、RXをEnable制御できる ものにものにしたいと考えています。 しかし、こんな「都合のよいIC」は無いのか(?)、みあたりません。 ご存知の方、教えてください。 または、このような場合、もっと別なよい方法があるのでしょうか? ご教授をお願いします。

  • RS-232Cのハードウェアフロー制御について

    「一般的な」パソコンで、RS-232Cのハードウェアフロー制御を行う場合、使用されるフロー制御信号は何になるか、ご存知の方教えていただけないでしょうか。 (どう接続するかはともかく。。。) RTS、CTS、DTR、DSR、DCD、RI全て使用するのでしょうか。 資料等調べるのにも、機器によりバラバラだと思うので何を調べてよいかもわからない状態です。 宜しくお願い致します。

  • RS-232Cインターフェースが無い!

    私は今大学4年生で卒業研究をしているのですが、その際にある機器とコンピューターをRS-232Cケーブルでつなげる必要が出てきました。しかし、よく見ると自分のパソコンにRS-232Cケーブル用のインターフェースが無いことに気が付いてしまいました。どうしてもつなげなければならないのですが、自分にはどうしていいかまったくわかりません。そのインターフェースが付いているパソコンを使うしかないのでしょうか?誰か教えてください。 ちなみに自分のパソコンは、  FUJITSU FMV-BIBLO NB9/1000L OSは、  Windows XP です。

  • USB機器をRS232Cポートに接続して使用する為のコンバーターを探し

    USB機器をRS232Cポートに接続して使用する為のコンバーターを探しています。 http://www.sanwa.co.jp/product/syohin.asp?code=USB-CVRS9 上記URLのように、RS232C接続の機器をUSBポートに接続する為の機器はすぐに見つかるのですが、逆の機器が見つかりません。 PCのRS232Cポートにシリアルケーブルを接続し、コンバータ等を介してUSB機器を制御したいと考えています。 そういった機器をご存知の方いらっしゃいましたらご教示願います。

専門家に質問してみよう