ユーザーバッファモードにて、指定サンプリング回数以外の停止条件でサンプリングを行うサンプルです。
指定転送数毎イベントにてサンプリングデータをデータ保存ファイルに追記します。
取得データ回収時にユーザーバッファの上書きが発生した場合はサンプリングを停止します。
このサンプルプログラムは、アナログ入力機能を持ったデバイスの選定が必要です。
サンプル仕様 |
※サンプルプログラムの初期値です。デバイスドライバの初期値と異なりますので、ご注意ください。 |
プログラム名 |
AiSamplingInfiniteUser |
変換データ転送方式 |
1(ユーザーバッファモード) |
メモリタイプ |
1(メモリへの上書きあり) |
イベント |
AD変換開始条件成立イベント、デバイス動作停止イベント、指定転送数毎イベント、オーバーフローイベント、サンプリングクロック周期エラーイベント、AD変換エラーイベント |
1.希望するプログラム名を指定し、プログラム実行させると、上記のような外観のウィンドウが表示されます。
ソフトウェアのバージョンによっては外観が異なることがあります。
2.デバイス初期化処理
・デバイス名に、デバイスマネージャーで設定したデバイス名を指定し、[AioInit]ボタンを押します。
指定デバイスの利用開始することをデバイスドライバへ通知します。
3.パラメータ設定
・「レンジ:」で希望する入力レンジを選択し、[AioSetAiRangeAll]ボタンを押します。
利用するデバイスによっては、デバイス上のジャンパーピンで入力レンジを変更しないと設定が有効とならない場合があります。
・「入力方式:」で希望する入力方式を選択し、[AioSetAiInputMethod]ボタンを押します。
・「チャネル数:」で、希望するチャネル数を入力し、[AioSetAiChannels]ボタンを押します。
なお、開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chのデータ取得となります。
4.サンプリング条件設定
・[条件設定...]ボタンを押すと、「サンプリング条件設定」ダイアログボックスが表示されます。
・「開始条件:」で、希望する開始条件を選択します。
・サンプリングクロック条件設定で、希望する「クロック種類:」を選択します。
内部クロックを選択した場合、サンプリングクロック周期を[μsec]単位で入力しします。指定できるサンプリングクロック周期の最小値は、利用するデバイスによって異なります。
外部クロックを選択した場合、デバイスに接続された外部クロックの周期でデータを取得します。外部クロック入力タイミングも、立ち上がり、立下りから選択できます。
なお、指定したチャネル数の値も考慮してクロック周期を決める必要があります詳細は、[用語集]サンプリング クロックエラーの項目を参照ください。
・スキャンクロック条件設定で、希望する「変換速度:」を[μsec]単位で入力します。
指定できる最小値は、利用するデバイスによって異なります。
・「停止条件:」で、希望する停止条件を選択します。 選択した停止条件の応じて、レベル比較設定や、インレンジ/アウトレンジ比較設定を行います。
・[OK]ボタンを押すと、「サンプリング条件設定」ダイヤログボックス内のの全設定内容がデバイスへ反映され、メインウィンドウへ戻ります。
[Cancel]ボタンを押すと、全設定内容が破棄され、メインウィンドウへ戻ります。
5.ユーザーバッファ設定
・「サンプリング回数:」は、データ転送回数よりも大きい値を指定し、[ユーザーバッファサイズ設定]ボタンを押します。
プログラムメモリ上にユーザーバッファを確保し、デバイスドライバへバッファメモリの場所を通知します。
6.指定転送数毎イベント設定
・「データ転送回数:」で、希望するデータ転送回数を入力し、[AioSetAiEventTransferTimes]ボタンを押します。
7.サンプリング動作
・[サンプリング開始]ボタンを押すと、サンプリングが開始されます。
ユーザーバッファに、指定転送毎イベント設定内のテータ転送回数分のサンプリングデータが格納されるとイベントが発生します。
ユーザーバッファ内のデータは、ストレージメディアへファイル格納します。
・[AioGetAiTransferCount]ボタンを押すと、「転送位置:」の表示値が更新されます。
・[AioGetAiTransferLap]ボタンを押すと、「上書回数:」の表示値が更新されます。
・[AioGetAiStatus]ボタンを押すと、「ステータス:」の表示値が更新されます。
・[サンプリング停止]ボタンを押すと、データサンプリングが停止します。
8.終了処理
・[AioExit]ボタンを押し、現デバイス利用が完了したことデバイスドライバへ通知します。
プログラムを終了させることなく、異なるデバイス(例:AIO001など)からデータ取得ができます。
再び、データ取得処理を行う場合は、新たなデバイス名を指定の上、[AioInit]ボタンを押し、デバイス初期化処理を行ってください。
9.プログラムの終了処理
・ウィンドウ内の[閉じる]ボタンを押し、プログラムを終了させます。