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

仕様の確認

課題
まずは仕様書の確認。システムがどのような動きをするものなのか? それを制作するにあたり、どのような知識が必要になるのか?

10月1日・・・仕様様々
今日からINtimeを使用したサンプルシステムに入る。INtimeは初めてだから多少不安だ。
まずは仕様の確認。 以下が私に与えられた仕様で、この仕様をもとに設計・制作をしました:


仕様A:INtimeアプリケーション

センサの状態8CH分の計測値を100msで取り込み、各CHに設定されたレベル以上の値を検出した場合DO出力制御する。
1 INtimeアプリケーションとして制作する。
2 アナログ入力PCIカード(AD/DAカード)を検出できること、検出できない場合は擬似アナログデータの生成(後述)をサポートする。
3 DIOカードを検出できること。検出できない場合はDO信号を出力しないモードで動作する。
4 アナログデータの取り込みは、割り込みで動作すること。
5 アナログデータの取り込み周期は100ms。ポーリングを使用して周期をつくる。
6 計測されるアナログデータは全8CHあり、±0~+10Vレンジとする(デジタル値:0~4095)
7 各CHの値が+8.0V以上を超えている場合に所定のDOビットをONにする。DOは8ビットを使用しており、ビット0(CH 0)~ビット7(CH 7)である。このときのDOポート・オフセットは0。
8 100ms周期にDO8~DO15ビットを点滅させるスレッドを持つこと。DOポート・オフセットは1。
9 取り込んだ計測データは100件ごとに1件分ディスクログを出力する(CH番号と計測値(0.0V~10.0V))、ディスク書き込みはスレッドとして分離されていること。
10 擬似アナログデータの生成は以下に示す: 8CH分の擬似値0~4095を生成するスレッドをひとつ作成する。ひとつのスレッドの中で100ms、200ms、・・・・800msの値生成周期を設定する。
11 仕様Aは24時間稼動できること。

仕様B:Windows NTXアプリケーション

仕様Aアプリケーションによって採取されたアナログ8CHデータをリアルタイムに棒グラフ表示するWindowsアプリケーション。
12 Visual C++で作成されたWindowsプログラムであること。
13 INtimeカーネルサービスが起動していない場合はエラーメッセージを表示して仕様Bアプリケーションを終了する。
14 仕様Bアプリケーション上に用意された「スタートボタン」押下により描画NTスレッドを開始する(通信開始)
15 仕様Aアプリケーションが開始されていない場合、エラーメッセージを表示して終了する。
16 仕様Aアプリケーションからアナログデータ受信を待機する。
17 受信したアナログデータをもとに該当するCHの棒グラフ表示を更新する。
18 棒グラフは8チャンネル分表示する。
19 棒グラフは左から右向きに値を(0~4095:値が大きいほど長い)、上から下方向にCH番号0から7まで描画する。
20 CHごとに棒グラフの色を違える(緑系の色:背景色は黒)。
21 各CHの値が+8.0Vを超えるときDO出力をしていることを示す赤いランプが点灯すること。
22 仕様Bアプリケーションはいかなるタイミングで終了しても構わないものとするが、このとき仕様Aアプリケーションの動作を停止させてはいけない(仕様Aアプリケーションの処理は続行する)。
23 仕様Bアプリケーションは24時間稼動できること。

本日の感想
「・・・・・・。なんとなく動作はわかりました・・・。」
≪・・・何がわかったんだろう・・・?≫(心の声)


とにかくINtimeについてほとんど知識がなく、またボードの取り扱いについても分からない状態からのスタートでした。まずどこから手をつけてよいものら・・・INtimeが先かボードが先か・・・。
というか・・・INtimeってなんだ!!仕様書に書かれているすべての不明な言葉が走馬灯のように私の頭の中を駆け巡るのでした・・・。