解決策
DAQmxでは、停止トリガを直接生成する方法は提供されていません。ただし、基準トリガを使用して読み取り位置を変更することで、LabVIEWで停止トリガに相当するものを作成できます。
これを達成するには、基準トリガの前後にN個のサンプルを取得するように構成された有限集録を設定する必要があります。これは、基準トリガのプリトリガサンプルを提供するために、DAQmxタスクが基準トリガを待つ間、データを連続的に収集するために便利です。この連続的に収集されたデータは、明示的に設定された取得の一部ではありませんが、DAQmx読み取りVIを使用して読み取ることができます。
基準トリガを停止トリガとして実装する方法の例として、次のスニペットを参照してください。
図1: LabVIEWで開始トリガと停止トリガを使用するDAQmxアプリケーション
上記の例では、アナログ入力タスクがDAQmxで作成され、開始デジタルエッジトリガと基準デジタルエッジトリガの2つのトリガを使用するように設定されています。
開始トリガは、タスクが基準トリガに備えてサンプルの取得を開始する時期を決定し、基準トリガはタスクが停止する前に最初に要求された有限数のプレトリガおよびポストトリガサンプルをいつ送信するかを決定します。
メモ: DAQmxドライバは、開始トリガが発生するまで基準トリガを待機しないため、必要に応じて同じPFIラインに到達するように開始トリガと参照トリガを設定することができます。
基準トリガを構成する
基準トリガには、
プリトリガサンプル数/チャンネルと呼ばれる追加の入力パラメータが必要です。
図2: LabVIEWのプリトリガサンプル数/チャンネル パラメータ
プレトリガサンプル数は、有限収集中に取得されたサンプルのうち、基準トリガが発生する前のサンプル数を定義します。取得中の残りのサンプルは、ポストトリガサンプルとみなされます。
暗黙的に、ポストトリガサンプルの数は次のようになります。
ポストトリガサンプル数 =
サンプル数/チャンネル(DAQmxタイミング入力) -
プレトリガサンプル数/チャンネル(DAQmxトリガ入力)
たとえば、プレトリガサンプルの最小数(2個)を収集し、ポストトリガサンプルを40個取得するタスクを構成するには、DAQmxタイミングVIのサンプル数/チャンネル入力端子に42を設定し、DAQmx基準トリガのプレトリガサンプル数/チャンネル入力端子に2を設定します。 有限収集の最終出力は次のようになります。
図3: 基準トリガを使用した場合におけるDAQmx読み取りの最終的な出力を可視化
メモ: タスクのタイミングを設定するときは、基準トリガのために少なくとも2個のプリトリガと2個のポストトリガサンプルが必要です。したがって、基準トリガを停止トリガとして使用しても、基準トリガが発生した後も少なくとも2つのサンプルが受信されますが、必要でない場合は後処理で破棄することができます。