1つのデバイス内部で、カウンタ比較一致に同期してサンプリングを行うサンプルです。
このサンプルプログラムは、カウンタ入力機能、および、アナログ入力機能を持ったデバイスの選定が必要です。
同期動作については、イベントコントローラ使用例3の記載内容を参考にしてください。
サンプル仕様 |
※サンプルプログラムの初期値です。デバイスドライバの初期値と異なりますので、ご注意ください。 |
プログラム名 |
./internal_sync_counter_sampling |
変換データ転送方式 |
0(デバイスバッファモード) |
開始条件 |
10(イベントコントローラ出力) |
クロック種類 |
0(内部クロック) |
停止条件 |
0(設定回数変換終了) |
メモリタイプ |
0(FIFO) |
データ保存用バッファサイズ |
1MByte |
イベント |
マスター:比較カウント一致イベント、カウンタ動作エラー スレーブ:デバイス動作停止イベント、オーバーフローイベント、サンプリングクロック周期エラーイベント、AD変換エラーイベント |
1.希望するプログラム名を指定し、プログラム実行させると、上記のような外観のCUI(Character User Interface)メニューが表示されます。
ソフトウェアのバージョンによっては外観が異なることがあります。
2.デバイス初期化処理
・[1 : AioInit]をコマンド選択すると、デバイス名を指定することができます。
指定デバイスの利用開始することをデバイスドライバへ通知します。
デバイス名を指定すると、AioInitが実行され、CUIメニューが再度表示されます。
3.カウンタ/アナログ入力設定
・[3 : カウンタ/アナログ入力設定]をコマンド選択すると、カウンタ(マスター)のカウンタ番号や、比較カウント値が指定できます。
・カウンタ(マスター)の指定が完了すると、サンプリング(スレーブ)のレンジや、入力方式を指定できます。
利用するデバイスによっては、デバイス上のジャンパーピンで入出力レンジを変更しないと設定が有効とならない場合があります。
・サンプリング(スレーブ)の指定が完了すると、すべてのカウンタ/アナログ入力設定の内容が、デバイスドライバへ通知されます。
デバイスドライバへ通知が完了すると、CUIメニューが再度表示されます。
4.サンプリング設定
・[4 : サンプリング設定]をコマンド選択すると、サンプリング(スレーブ)のチャネル数や、サンプリングクロック周期、停止回数を指定できます。
なお、開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chからのデータ入力となります。
・サンプリング(スレーブ)のサンプリングクロック周期は、[μsec]単位で指定します。
指定できる内部クロック値の最小値は、利用するデバイスによって異なります。
また、指定したチャネル数の値も考慮してクロック周期を決める必要があります。
詳細は、[用語集]サンプリング クロックエラーの項目を参照ください。
・サンプリング(スレーブ)の停止回数は、希望する取得データ数を指定します。
サンプリング(スレーブ)の停止回数を指定すると、すべてのサンプリング設定の内容が、デバイスドライバへ通知されます。
・サンプリング設定が完了すると、CUIメニューが再度表示されます。
5.同期動作の設定
・[5 : 同期動作設定]をコマンド選択すると、開始条件、クロック種類、停止条件が、デバイスドライバへ通知されます。
同期動作設定が完了すると、CUIメニューが再度表示されます。
6.サンプリング動作
・[6 : サンプリング開始]をコマンド選択すると、開始条件「カウント比較一致」の待機状態となります。
すぐに、アナログ入力のサンプリングは行われません。
7.カウンタ動作
・[7 : カウンタ開始]をコマンド選択すると、カウンタ動作が始まります。
・[8 : AioPresetCnt]をコマンド選択すると、指定したプリセット値へカウント値がプリセットされます。
8.ステータスの取得
・[9 : 状態取得]をコマンド選択すると、カウント値、およびサンプリング回数が表示されます。
・カウンタ(マスター)で指定した比較カウント値と、カウント値が同じ値になると、「カウント比較一致」状態となり、アナログ入力のサンプリングが開始します。
・[10 : サンプリング停止]をコマンド選択すると、アナログ入力のサンプリングが停止します。
アナログ入力のサンプリング停止すると、デバイス動作停止イベントが発生します。
イベントが発生すると、sampling_data.csvに、サンプリングされたデータ値が保存されます。
・[11 : カウンタ停止]をコマンド選択すると、カウンタ動作が停止します。再びカウンタ動作を開始するには、[7 : カウンタ開始]をコマンド選択してください。
9.終了処理
・[12 : AioExit]をコマンド選択すると、現デバイス利用が完了したことデバイスドライバへ通知します。
プログラムを終了させることなく、異なるデバイス(例:AIO001など)からデータ取得ができます。
AioExitが実行されると、CUIメニューが再度表示されます。
・再び、データ取得処理を行う場合は、[1 : AioInit]をコマンド選択し、新たなデバイス名を指定し、デバイス初期化処理を行ってください。
10.プログラムの終了処理
・[q : 終了]をコマンド選択すると、プログラムが終了します。