INtimeドキュメンタリトップへ

不明点の抽出と調査

課題
仕様書を読んでみると、現在の知識では不明瞭な部分が抽出されました。それらの調査を行うことにしました。

10月2日・・・分からないことの嵐

最初に仕様書のなかで不明な部分を抽出しました。その結果が以下です:

 


INtime側  

PCIカードの検出方法
DIOカードの検出方法
割込みによる値取得方法
スレッド作成方法
擬似アナログデータ生成方法


NT側  

INtimeカーネルサービスが起動チェック方法?
INtime側とNT側との通信方法。
INtimeアプリケーションの開始チェック方法?
棒グラフ表示方法?


現在の心境
≪・・・これだけ不明な部分があったら仕様書の内容はすべて不明だろ!! 逆に分かっている部分を挙げてみろ!!≫
う~ん・・・とにかく何も分からないじゃ話が進まないからとりあえず、(株)マイクロネットホームページ(http://www.mnc.co.jp) よりINtime2.10クイックスタートガイドページを読みサンプルとして書かれているとおりサンプルプロジェクトを作成してみました(INtimeウィザードの使用)。

---INtimeウィザードを使ってプロジェクトをたちあげると、いくつかの質問に答えるだけで必要なコードを生成してくれる---

「なるほど・・・」

ウィザードを使用してポーリングスレッドを作成する・・・としたが、ポーリング周期時間などを指定するだけでウィザードが自動で骨組みを作成してくれるのは助かります。これでスレッドの生成方法は分かりました。

ウィザードで生成された部分でスレッドの生成部分は:

// ポーリングスレッドを生成します
strInit.hPoll1 = CreateRtThread(170, PollThread1, 4096, 0); 
if (strInit.hPoll1 == BAD_RTHANDLE){
  strInit.hPoll1= NULL_RTHANDLE; 
  Fail("Cannot create poll thread 1");
} 

本日の感想
「まぁわかってみれば、そんなに複雑なものじゃない・・・!(苦)」

PollThread1のエントリ(void PollThread())を探せば、その中にスレッドの中身が書かれているのが確認できました(100msのスリープ処理)。WindowsでもCreateThread()ってあるけれど、あれと似ている?
まぁINtimeっていってもあまり変わらないなぁ・・・Visual C++使っているし、あまりINtimeを意識しなくてもなんとかできそうだ・・・と無理矢理にでも士気を上げるのでした。