状態
④ アナログ入力 [ai_status.vi]

 

 連続したアナログ入力のステータスを確認する場合に選択します

 


IN/OUT 端子レイアウト

 


出力端子

AiSamplingCount

現在の 1Ch あたりのサンプリング回数を取得します
例)2Ch で 500 回のサンプリングを行い、データが 1000 個ある場合 AiSamplingCount は 500 になります

 

AiRepeatCount

現在のリピート回数を取得します

※リピート動作が使用できないデバイスの場合、取得できる値は「0」になります。

 

AiStatus

現在のアナログ入力ステータスを取得します
16 進表記のビット単位で以下の意味を持ちます

ステータス

意味

00000001H

デバイス動作中

「開始」実行から、設定回数終了、エラーによる停止、「停止」実行による停止までの間このステータスが ON になります

開始トリガ待ち、遅延サンプリング、リピート動作中もこのステータスは ON です

 

00000002H

開始トリガ待ち

「トリガ設定」が外部トリガ、レベル比較、レンジ比較のいずれかの場合に、「開始」実行後、トリガ条件が成立するまでの間このステータスが ON になり、変換を開始するとOFF になります

リピートによる繰り返し動作を設定している場合も、トリガ待ちの状態になるたびにこのステータスが ON になります

00000010H

指定サンプリング

回数格納

メモリに格納された変換データが「開始」の AiSamplingTimes で設定したサンプリング回数分に達したとき ON になります

FIFO メモリの場合、このステータスが ON の状態で「読み取り」を実行し、バッファのデータ量が指定回数分未満になると OFF に戻ります

「開始」を実行するか、上級関数の AioResetDevice_i.vi で OFF になります

「開始」の AiSamplingTimes に 0 を指定すると、このステータスは常に OFF のままになります

00010000H

オーバーフロー

変換データがバッファに収まりきらない時に ON になります

このとき、FIFO メモリの場合は変換が停止します

RING メモリの場合は変換を継続し、古いデータから上書きされます

「開始」を実行するか、上級関数の AioResetDevice_i.vi で OFF になります

00020000H

サンプリング

クロックエラー

変換速度が速すぎると発生するエラーで、変換は停止し、ステータスが ON になります
「開始」を実行するか、上級関数の AioResetDevice_i.vi で OFF になります

00040000H

AD 変換エラー

通常このステータスは OFF ですが、何らかの問題が発生した場合に ON になります

ON になった場合、デバイスが故障している可能性もあります
問題が解決しない場合は、「お問い合わせ」に記載の窓口へご相談ください

00080000H

ドライバスペックエラー

ドライバでの処理が間に合わない場合に発生するエラーです

ドライバメモリを使用するデバイスの場合、変換には[デバイスの変換速度+ドライバ処理時間]  が必要になります
(ドライバ処理時間は環境により異なります)

このエラーはサンプリングクロックエラーと同時に発生します

例)AiStatus が「11H」(10 進では「17」)のとき 「デバイス動作中」かつ「指定サンプリング回数格納」が ON になっています

 

AiStopTriggerCount

停止トリガ入力時の 1Ch あたりのサンプリング回数を取得します

※CPS-AI-1608LI, CPS-AI-1608ALIでは停止トリガ入力時のサンプリング回数を取得できないため、取得できる値は「0」になります。

ステータスを利用した連続サンプリング

FIFOメモリで長時間の連続サンプリングを行う場合、ある程度の周期で「読み取り」を実行しないと、デバイスやドライバが保持できるデータ量を超えてサンプリングが停止してしまいます。(オーバーフロー)

この読み取り周期に、「指定サンプリング回数格納」(00000010H)ステータスを利用できます。

サンプル InfiniteAi.vi のように周期的に全データを読み取る方法もありますが、毎回一定のデータ量を読み取りたい場合には、こちらの方法もお試しください。