Borland C++ BuilderでRS-232C通信

調査レポート

ある分析装置からRS-232C経由でデータを取得する必要に迫られ、突然Windowsプログラミングを始めることになった。選んだ処理系はボーランド社のC++ Builder 6(以下BCB6)。Cを選んだのは仕事でマイコン(H8)向けのプログラムをCで組んでいるから。BCB6を選んだのは初めてのWindows向けソフトウェア作成にMicrosoft Visual C++は敷居が高過ぎるように思えたから(汗)。BCB6は使いたい機能がカプセル化されたコンポーネントを用いることでプログラミングの省力化が可能である(らしい)。しかし、いざデータ取得ソフトの作成を始めてすぐ気が付いた。BCB6にはRS-232C通信用のコンポーネントが用意されてない・・・(涙)

早速インターネットで調査開始。

[シリアルポート(RS-232C)を使ったプログラムの作り方]
やはりRS-232C通信を行うためにはWin32APIを利用する必要があるらしい。出来るだけWin32APIの世界には踏み込みたくなかったからBCB6を選んだのに。。。

How to collect data from monitors
BCB5でWin32APIを使いRS-232C通信を行うソフトウェアの構築方法解説。詳細な説明できっちり読めば勉強になりそう。

RS232Cシリアル通信
ここもWin32APIを使ったRS-232C通信の解説。

C++ Builder 3 パワフルテクニック大全集(インプレス刊)
目次を見ると、この本にはシリアル通信方法の説明があるらしい。(第7章)

C++Builder RS232Cライブラリ
Vectorで見つけたコンポーネント。シェアウェア(630円)。

TCommPortコンポーネントについて
フリーで使えるコンポーネント。探せば結構見付かる。

RS232Cからのデータを受信
Belution.comのC++Builderフォーラムでの、「RS-232Cから流れてくるデータを簡単にモニタリングしたい」という質問に対するやりとり。この情報が一番参考になった。結局、ここで紹介されていたTHmThreadedCommというコンポーネントを利用させて頂くことに決定。

LIMのタコ部屋 - HmComm(1)
THmThreadedCommのサポートページ。

Delphian World
BCB6で使えるコンポーネントのライブラリサイト。ここは今後もお世話になりそう。THmThreadedCommは左サイドバーからNetworkを選ぶと出てくる。これを組み込んで、シリアル通信は簡単に行えるようになった。作者に感謝。

このページの位置
ynk.jpちょっと気になった話Borland C++ BuilderでRS-232C通信
2007.12.17公開, 2009.12.6リンク修正
ぐ〜たらだんな