CompactRIOのDAQmx APIを使用した複数のタスクの同期

更新しました Jun 1, 2023

使用製品

ハードウェア

  • cRIO-9040
  • cRIO-9053
  • cRIO-9049
  • cRIO-9047
  • cRIO-9045
  • cRIO-9042
  • cRIO-9055
  • cRIO-9054
  • cRIO-9058
  • cRIO-9056

ドライバ

  • NI-DAQmx

問題

DAQmxと互換性のあるcRIOシャーシがあります。アナログ入力タスクとデジタル入力タスクを作成し、これら2つのタスクを同期させたいと思います。
アナログ入力タスクのサンプリングクロックを共有したいのですが、DAQmxタイミングリソースリストからai/SampleClockが見つかりません。これを他のモジュールと共有して同期するために、aiサンプリングクロックを使用するにはどうすればよいですか?

解決策

cRIO DAQmxプログラムでは、ai/SampleClockの代わりに、クロック共有用にit<n>を選択する必要があります。
cRIO-904Xまたは905Xでは、各スロットに異なるタイミングエンジンがあります。たとえば、cRIO-9049を使用している場合、8つの異なるタイミングエンジンを使用できるため、個別のタイミングソースを持つ8つの異なるタスクを作成できます。各タイミングエンジン名については、次の表を参照してください。

SampTimingEngine
プロパティ値

使用されるアナログ入力、デジタル入力、およびNI9361タイミングエンジン使用されるアナログ出力およびデジタル出力タイミングエンジン
0it0ot0
1it1ot1
2it2ot2
3it3ot3
4it4ot4
5it5ot5
6it6ot6
7it7ot7

例えばcRIO1のスロット0でのアナログ入力モジュールを持っており、他のタスクと、このサンプリング・クロックを共有したい場合は、他のタスクでDAQmxのTiming.viのソースのために/cRIO1/it0/SampleClockを選択する必要があります。
詳細については、 DAQmxヘルプ「cRIO-904x / 905xタイミングエンジン」を参照してください。