状态
④ 模拟量输入 [ai_status.vi]

 

确认连续模拟量输入的动作状态(Status)时选择

 

 

 


IN/OUT端子布局

 


OUT端子

AiSamplingCount

 

取得当前的1通道的采样次数

 

例)使用2个通道采样500次,数据是1000个

    AiSamplingCount 是500

 

 

AiRepeatCount

 

取得当前的重复次数

* 对于不能使用重复操作的设备,可以获得的值为“0”。

 

 

AiStatus

 

取得当前的模拟量输入的状态(status)

以16进制表示,单位是位,意义如下所示

Status

意义

00000001H

设备动作中

从[开始]执行开始,到 变换结束/由于错误停止/由于执行[停止]而停止 为止,这期间的status为ON

等待开始触发/延迟采样/重复动作中 的时候这个status也是ON

00000002H

等待开始触发

当[触发设定]是外部触发/电平比较/范围比较 的时候,从执行[开始]后,到触发条件成立前,这期间的status为ON。变换开始时这个status变为OFF

即使是设定为重复动作,当每次触发等待的状态时,这个status变为ON

00000010H

存储指定采样次数

内存中保存的变换数据达到[开始]的AiSamplingTimes所设定的采样次数时,这个status变为ON。

如果是FIFO内存,这个status是ON的状态下实行[读取],当buffer中的数据量小于指定次数时,status变为OFF

执行[开始],或者是执行高级函数AioResetDevice_i.vi,这个status变为OFF

如果指定[开始]的AiSamplingTimes为0,这个status会一直保持位OFF

00010000H

溢出

Buffer容纳不了变换数据的时候,这个status变为ON

这个时候,如果是FIFO内存,变换将停止

如果是RING内存,变换继续,旧的数据将被覆盖

执行[开始],或者是执行高级函数AioResetDevice_i.vi,这个status变为OFF

00020000H

采样时钟错误

这是变换速度太快的时候发生的错误。变换停止,status变为ON

执行[开始],或者是执行高级函数AioResetDevice_i.vi,这个status变为OFF

00040000H

AD变换错误

通常这个status是OFF,但是当有问题发生时这个status变为ON

如果这个status变为ON,有可能是设备发生了故障

如果问题没解决,请与[与我们联系]中记载的技术支持窗口联系

00080000H

驱动程序规范错误

如果驱动程序处理不及时,会发生这个错误

如果是使用驱动程序内存的设备,变换需要

[设备的变换速度+驱动程序的处理时间]

(驱动程序的处理时间与环境有关)

这个错误与采样时钟错误同时发生

 

例)AiStatus是[11H] (10进制表示是[17])时

    [设备动作中]和[存储指定采样次数]是ON

 

 

AiStopTriggerCount

 

取得停止触发输入时1通道的采样次数

* 由于CPS-AI-1608LI和CPS-AI-1608ALI不能获得输入停止触发时的采样次数,因此可获得的值为“0”。

 

 

利用status连续采样

使用FIFO内存长时间连续采样时,如果不按照一定周期进行[读取]的话,

当超出设备和驱动程序可以保持的数据量,采样将停止。(溢出)

在这个读取周期中,可以使用status [存储指定采样次数] (00000010H)。

还有一种方法是周期的读取全部数据,可参照例子InfiniteAi.vi。

也可以尝试每次读取一定量的数据。