デバイスバッファモードにて、イベント通知をコールバックとし、指定したチャネル数/サンプリング回数だけジェネレーティングを行うサンプルです。
このサンプルプログラムは、アナログ出力機能を持ったデバイスの選定が必要です。
サンプル仕様 |
※サンプルプログラムの初期値です。デバイスドライバの初期値と異なりますので、ご注意ください。 |
プログラム名 |
AoGeneratingOnceDevCallback |
変換データ転送方式 |
0(デバイスバッファモード) |
開始条件 |
0(ソフトウェア) |
クロック種類 |
0(内部クロック) |
停止条件 |
0(設定回数変換終了) |
メモリタイプ |
0(FIFO) |
イベント(コールバック) |
デバイス動作停止イベント、ジェネレーティングクロック周期エラーイベント、DA変換エラーイベント |
1.希望するプログラム名を指定し、プログラム実行させると、上記のような外観のウィンドウが表示されます。
ソフトウェアのバージョンによっては外観が異なることがあります。
2.デバイス初期化処理
・デバイス名に、デバイスマネージャーで設定したデバイス名を指定し、[AioInit]ボタンを押します。
指定デバイスの利用開始することをデバイスドライバへ通知します。
3.アナログ出力設定
・「レンジ:」で希望する出力レンジを選択し、[AioSetAoRangeAll]ボタンを押します。
利用するデバイスによっては、デバイス上のジャンパーピンで出力レンジを変更しないと設定が有効とならない場合があります。
4.ジェネレーティング設定
・「チャネル数:」設定で、希望するチャネル数を指定し、[AioSetAoChannels]ボタンを押します。
なお、開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chからのデータ出力となります。
・「ジェネレーティングクロック周期:」設定で、希望するジェネレーティングクロック周期を[μsec]単位で指定し、[AioSetAoSamplingClock]ボタンを押します。
指定できるジェネレーティングクロック周期の最小値は、利用するデバイスによって異なります。
また、指定したチャネル数の値も考慮する必要があります。
詳細は、[用語集]サンプリング クロックエラーの項目を参照ください。
・[基本設定]ボタンを押すと、上記「サンプル仕様」表の条件がデバイスへ設定されます。
5.出力データ設定
・「ジェネレーティング回数:」設定で希望するジェネレーティング回数を指定し、[出力データ生成...]ボタンを押すと、ジェネレーティング用のファイルが生成されます。
生成ファイルの格納フォルダー: (カレント フォルダー) ※EXEファイルと同じフォルダー
生成ファイル名: GeneratingData.csv
生成データ: 指定レンジに応じた正弦波(サイン波)が生成されます。指定したジェネレーティング回数で1周期となります。
複数チャネルの場合、位相が1/4周期(90度)遅れた正弦波(サイン波)が、各チャネルに対して生成されます。
生成ファイル例:
・出力データを生成した後、[AioSetAoSamplingDataEx]ボタンを押すと、デバイスドライバへ出力用ファイルを通知します。
6.ジェネレーティング動作
・[ジェネレーティング開始]ボタンを押すと、デバイスからデータ出力が開始されます。
・[AioGetAoSamplingCount]ボタンを押すと、「ジェネレーティング回数:」の表示値が更新されます。
・[AioGetAoStatus]ボタンを押すと、「ステータス:」の表示値が更新されます。
・[ジェネレーティング停止]ボタンを押すと、デバイスからのデータ出力が停止します。
・指定したジェネレーティング回数までデータ出力が完了、もしくは、ジェネレーティング停止すると、コールバック関数が呼出しされます。
コールバック関数内では、「総ジェネレーティング回数:」の表示値が更新されます。
7.終了処理
・[AioExit]ボタンを押し、現デバイス利用が完了したことデバイスドライバへ通知します。
プログラムを終了させることなく、異なるデバイス(例:AIO001など)からデータ出力ができます。
再び、データ出力処理を行う場合は、新たなデバイス名を指定の上、[AioInit]ボタンを押し、デバイス初期化処理を行ってください。
8.プログラムの終了処理
・ウィンドウ内の[閉じる]ボタンを押し、プログラムを終了させます。