RINGメモリを使用した無限ジェネレーティング


外観

 

概略

デバイスバッファモードにて、指定したチャネル数/リピート回数でジェネレーティングを行うサンプルです。

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

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

サンプル仕様

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

プログラム名

./ao_generating_ring_memory

変換データ転送方式

0(デバイスバッファモード)

開始条件

0(ソフトウェア)

クロック種類

0(内部クロック)

停止条件

0(設定回数変換終了)

メモリタイプ

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

リピート回数

0(無限)

イベント

デバイス動作停止イベント、リピート終了イベント、ジェネレーティングクロック周期エラーイベント、DA変換エラーイベント

 

使用手順

1.希望するプログラム名を指定し、プログラム実行させると、上記のような外観のCUI(Character User Interface)メニューが表示されます。
  ソフトウェアのバージョンによっては外観が異なることがあります。

 

2.デバイス初期化処理

 ・[1 : AioInit]をコマンド選択すると、デバイス名を指定することができます。 
  指定デバイスの利用開始することをデバイスドライバへ通知します。
  デバイス名を指定すると、AioInitが実行され、CUIメニューが再度表示されます。
  

3.アナログ出力設定

 ・[3 : AioSetAoRangeAll]をコマンド選択すると、レンジを指定することができます。
  レンジを指定すると、AioSetAoRangeAllが実行され、CUIメニューが再度表示されます。

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

 

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

 ・[4 : AioSetAoChannels]をコマンド選択すると、チャネル数を指定することができます。
  チャネル数を指定するとAioSetAoChannelsが実行され、CUIメニューが再度表示されます。

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

 ・[5 : AioSetAoSamplingClock]をコマンド選択すると、ジェネレーティングクロック周期を指定することができます。
  希望するジェネレーティングクロック周期を[μsec]単位で指定します。
  ジェネレーティングクロック周期を指定するとAioSetAoSamplingClockが実行され、CUIメニューが再度表示されます。

  指定できるジェネレーティングクロック周期の最小値は、利用するデバイスによって異なります。
  また、指定したチャネル数の値も考慮する必要があります。

  詳細は、[用語集]サンプリング クロックエラーの項目を参照ください。

  

 ・[6 : 基本設定]をコマンド選択すると、上記「サンプル仕様」表の条件がデバイスへ設定されます。
  デバイスへの設定が完了すると、CUIメニューが再度表示されます。
  

 ・[7 : AioSetAoRepeatTimes]をコマンド選択すると、リピート回数を指定できます。
  希望するリピート回数を指定すると、CUIメニューが再度表示されます。
  

 

5.出力データ設定

 ・[8 : 出力データ生成]をコマンド選択すると、ジェネレーティング回数を指定できます。
  ジェネレーティング回数を指定すると、ジェネレーティング用データが生成され、CUIメニューが再度表示されます。
  

  生成データ: 指定レンジに応じた正弦波(サイン波)が生成されます。指定したジェネレーティング回数で1周期となります。
         複数チャネルの場合、位相が1/4周期(90度)遅れた正弦波(サイン波)が、各チャネルに対して生成されます。

  生成データ例:
   

 ・出力データを生成した後、[9 : AioSetAoSamplingDataEx]をコマンド選択すると、デバイスドライバへ出力用データを通知します。
  デバイスドライバへ出力用データ通知されると、CUIメニューが再度表示されます。
  

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

 ・[10 : ジェネレーティング開始]をコマンド選択すると、デバイスからデータ出力が開始されます。
  デバイスからデータ出力が開始されると、CUIメニューが再度表示されます。
  

 ・[11 : AioGetAoSamplingCount]をコマンド選択すると、ジェネレーティング回数が表示されます。
  ジェネレーティング回数が表示されると、CUIメニューが再度表示されます。
  

 ・[12 : AioGetAoRepeatCount]をコマンド選択すると、リピート回数が表示されます。
  リピート回数が表示されると、CUIメニューが再度表示されます。
  

 ・[13 : AioGetAoStatus]をコマンド選択すると、ステータスが表示されます。
  ステータスが表示されると、CUIメニューが再度表示されます。
  

 ・[14 : ジェネレーティング停止]をコマンド選択すると、デバイスからのデータ出力を停止します。
  デバイスからのデータ出力を停止させステータスを表示すると、CUIメニューが再度表示されます。
  

 ・指定したジェネレーティング回数までデータ出力が完了、もしくは、[14 : ジェネレーティング停止]をコマンド選択すると、デバイス動作が停止します。

 

7.終了処理

 ・[15 : AioExit]をコマンド選択すると、現デバイス利用が完了したことデバイスドライバへ通知します。
  プログラムを終了させることなく、異なるデバイス(例:AIO001など)からデータ出力ができます。
  AioExitが実行されると、CUIメニューが再度表示されます。
  

 ・再び、データ出力処理を行う場合は、[1 : AioInit]をコマンド選択し、新たなデバイス名を指定し、デバイス初期化処理を行ってください。

 

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

 ・[q : 終了]をコマンド選択すると、プログラムが終了します。