ユーザーバッファを使用した無限ジェネレーティング


外観

 

概略

ユーザーバッファモードにて、指定サンプリング回数以外の停止条件でジェネレーティングを行うサンプルです。

メモリタイプはRINGメモリを指定しているため、設定された出力データは繰り返し出力できます。繰り返しの回数は任意に設定できますし、無限に出力することも可能です。

このサンプルプログラムは、アナログ出力機能を持ったデバイスの選定が必要です。

サンプル仕様

※サンプルプログラムの初期値です。デバイスドライバの初期値と異なりますので、ご注意ください。

プログラム名

AoGeneratingInfiniteUser

変換データ転送方式

1(ユーザーバッファモード)

メモリタイプ

1(RING:繰り返し出力あり)

イベント

デバイス動作停止イベント、指定転送数毎イベント、ジェネレーティングクロック周期エラーイベント、DA変換エラーイベント

指定転送数毎イベント

500

 

使用手順

1.希望するプログラム名を指定し、プログラム実行させると、上記のような外観のウィンドウが表示されます。

  ソフトウェアのバージョンによっては外観が異なることがあります。

 

2.デバイス初期化処理

 ・デバイス名に、デバイスマネージャーで設定したデバイス名を指定し、[AioInit]ボタンを押します。

  指定デバイスの利用開始することをデバイスドライバへ通知します。

 

3.アナログ出力設定

 ・「レンジ:」で希望する出力レンジを選択し、[AioSetAoRangeAll]ボタンを押します。

  利用するデバイスによっては、デバイス上のジャンパーピンで出力レンジを変更しないと設定が有効とならない場合があります。

 

4.ジェネレーティング設定

 ・「チャネル数:」設定で、希望するチャネル数を指定し、[AioSetAoChannels]ボタンを押します。

  なお、開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chからのデータ出力となります。

 

5.ジェネレーティング条件設定

 ・[条件設定...]ボタンを押すと、「ジェネレーティング条件設定」ダイアログボックスが表示されます。

  

 

 ・「開始条件:」設定で、希望する開始条件を選択します。

 ・クロック条件設定で、希望する「クロック種類:」を選択します。

  内部クロックを選択した場合、ジェネレーティングクロック周期を[μsec]単位で入力しします。指定できるジェネレーティングクロック周期の最小値は、利用するデバイスによって異なります。

  外部クロックを選択した場合、デバイスに接続された外部クロックの周期でデータを出力します。外部クロック入力タイミングも、立ち上がり、立下りから選択できます。

  なお、指定したチャネル数の値も考慮してクロック周期を決める必要があります詳細は、[用語集]サンプリング クロックエラーの項目を参照ください。

 ・「停止条件:」設定で、希望する停止条件を選択します。

 ・[OK]ボタンを押すと、「ジェネレーティング条件設定」ダイヤログボックス内の全設定内容が反映され、メインウィンドウへ戻ります。

  [Cancel]ボタンを押すと、全設定内容が破棄され、メインウィンドウへ戻ります。

 

6.ジェネレーティング設定

 ・「ジェネレーティング回数:」設定で希望するジェネレーティング回数を指定し、[ユーザーバッファ設定...]ボタンを押すと、ジェネレーティング用のファイルが生成さ、デバイスドライバへ通知されます。

  生成ファイルの格納フォルダー: (カレント フォルダー) ※EXEファイルと同じフォルダー

  生成ファイル名: GeneratingData.csv

  生成データ: 指定レンジに応じた正弦波(サイン波)が生成されます。指定したジェネレーティング回数で1周期となります。

         複数チャネルの場合、位相が1/4周期(90度)遅れた正弦波(サイン波)が、各チャネルに対して生成されます。

 

7.指定ジェネレーティング回数出力イベント設定

 ・「データ転送回数:」に希望するデータ転送回数を指定し、[AioSetAoEventTransferTimes]ボタンを押します。

 

8.ジェネレーティング動作

 ・[ジェネレーティング開始]ボタンを押すと、デバイスからデータ出力が開始されます。

  指定ジェネレーティング回数出力イベント設定内の「データ転送回数:」分のデータが、デバイスから出力されるとイベントが発生します。

  イベントが発生する毎に、「転送位置:」や「繰り返し出力回数:」の表示値が更新されます。

 ・[AioGetAoTransferCount]ボタンを押すと、「転送位置:」の表示値が更新されます。

 ・[AioGetAoTransferLap]ボタンを押すと、「繰り返し出力回数:」の表示値が更新されます。

 ・[AioGetAoStatus]ボタンを押すと、「ステータス:」の表示値が更新されます。

 ・[ジェネレーティング停止]ボタンを押すと、デバイスからのデータ出力が停止します。

 

9.終了処理

 ・[AioExit]ボタンを押し、現デバイス利用が完了したことデバイスドライバへ通知します。

  プログラムを終了させることなく、異なるデバイス(例:AIO001など)からデータ出力ができます。

  再び、データ出力処理を行う場合は、新たなデバイス名を指定の上、[AioInit]ボタンを押し、デバイス初期化処理を行ってください。

 

10.プログラムの終了処理

 ・ウィンドウ内の[閉じる]ボタンを押し、プログラムを終了させます。