同期バスを使用した2デバイス間のサンプリング同期


外観

 

概略

デバイスバッファモードにて同期バスを使用し、指定したチャネル数/サンプリング回数だけサンプリングを行うサンプルです。

このサンプルプログラムは、同期バスを使用するため、同期コネクタを持っているデバイスの選定が必要です。

また、マスターデバイス上の同期コネクタとスレーブデバイス上の同期コネクタとを、予め専用の同期ケーブルで接続ください。

同期動作については、イベントコントローラ使用例2の記載内容を参考にしてください。

 

サンプル仕様

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

プログラム名

./ecu_sync_sampling

変換データ転送方式

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

開始条件

マスター:0(ソフトウェア)、スレーブ:10(イベントコントローラ出力)

クロック種類

マスター:0(内部クロック)、スレーブ:10(イベントコントローラ出力)

停止条件

マスター:0(設定回数変換終了)、スレーブ:10(イベントコントローラ出力)

メモリタイプ

0(FIFO)

イベント

デバイス動作停止イベント、オーバーフローイベント、サンプリングクロック周期エラーイベント、AD変換エラーイベント

 

使用手順

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

 

2.デバイス初期化処理

 ・[1 : 初期化]をコマンド選択すると、デバイス名を指定することができます。 
  指定デバイスの利用開始することをデバイスドライバへ通知します。

  マスター側、および、スレーブ側も、デバイス名の指定が必要です。
  デバイス名を指定すると、AioInitが実行され、CUIメニューが再度表示されます。
  

 

3.アナログ入力設定

 ・[3 : アナログ入力設定]をコマンド選択すると、サンプリング(マスター)のレンジを指定できます。
  

 ・サンプリング(マスター)のレンジを指定すると、サンプリング(マスター)の入力方式を指定できます。
  

 ・サンプリング(マスター)の入力方式を指定すると、サンプリング(スレーブ)のレンジを指定できます。
  

 ・サンプリング(スレーブ)のレンジを指定すると、サンプリング(スレーブ)の入力方式を指定できます。
  

 ・サンプリング(スレーブ)の入力方式を指定すると、すべてのアナログ入力設定の内容がデバイスドライバへ通知されます。
  利用するデバイスによっては、デバイス上のジャンパーピンで入出力レンジを変更しないと設定が有効とならない場合があります。
  

 ・アナログ入力設定が完了すると、CUIメニューが再度表示されます。

 

4.サンプリング設定

 ・[4 : サンプリング設定]をコマンド選択すると、サンプリング(マスター)のチャネル数、サンプリングクロック周期、停止回数を指定できます。
  開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chからのデータ入力となります。

 ・サンプリング(マスター)のサンプリングクロック周期は[μsec]単位で指定します。
  指定できるサンプリングクロック値の最小値は、利用するデバイスによって異なります。


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

 ・サンプリング(マスター)の停止回数は、希望する取得データ数を指定します。

 ・サンプリング(マスター)の設定が完了すると、サンプリング(スレーブ)のチャネル数が指定できます。
  開始チャネル番号は0ch固定です。例えば、チャネル数 3を指定した場合、0ch~2chからのデータ入力となります。
  

 ・サンプリング(スレーブ)のチャネル数を指定すると、すべてのサンプリング設定の内容が、デバイスドライバへ通知されます。

 ・サンプリング設定が完了すると、CUIメニューが再度表示されます。

 

5.同期動作の設定

 ・[5 : 同期動作設定]をコマンド選択すると、開始条件、クロック種類、停止条件が、デバイスドライバへ通知されます。
  同期動作設定が完了すると、CUIメニューが再度表示されます。

 

6.サンプリング動作

 ・[6 : サンプリング開始]をコマンド選択すると、データサンプリングが行われます。
  マスター側のデバイスと同じタイミングで、スレーブ側のデバイスも、データサンプリングされます。
  データサンプリングが行われると、CUIメニューが再度表示されます。
  

 ・[7 : 状態取得]をコマンド選択すると、サンプリング回数やステータスが表示されます。
  サンプリング回数が表示されると、CUIメニューが再度表示されます。
  

 ・[8 : サンプリング停止]をコマンド選択すると、データサンプリングが停止します。
  サンプリング停止すると、デバイス動作停止イベントが発生します。
  イベントが発生すると、マスタでサンプリングされたデータ値は、sampling_data_master.csvに保存されます。
  また、スレーブでサンプリングされたデータ値は、sampling_data_slave.csvに保存されます。
  

 

7.終了処理

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

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

 

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

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