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