数字输出数据生成方法
- 更新时间2024-07-03
- 阅读时长3分钟
进行数字输出操作时,可进行软件定时生成或硬件定时生成。
软件定时生成
软件定时生成是指由软件来控制数据生成的速率。软件发送一个独立的命令至硬件,初始化每个数字生成。在NI-DAQmx中,软件定时生成被称为按需定时,通常是指即时或静态操作。它们用于写出一个值。
对于软件定时生成,如串行数字模块上的任何DO通道被用于硬件定时任务,则该模块上的所有通道都不能用于软件定时任务。
硬件定时生成
硬件定时生成就是由数字硬件信号控制生成的速率。信号可在控制器内部生成,也可由外部提供。
与软件定时采集相比,硬件定时生成有下列优点:
- 采样定时间隔大幅缩短。
- 采样定时间隔是可确定的。
- 硬件定时采集可使用硬件触发。
硬件定时单点(HWTSP)模式
在HWTSP模式下,采样通过硬件定时方式连续生成和采集信号,不带缓冲机制。必须使用采样时钟,或更改检测定时类型。不支持其他定时类型。
如要获知循环是否在规定时间(例如,控制应用)内完成,请使用HWTSP模式。由于HWTSP模式不带有缓冲区,所以要确保读取和写入的速度能满足硬件定时的速度。如读取或写入操作延迟,将会返回错误。
缓冲数字输出
缓冲区是计算机内存中用于存放生成采样的临时存储区。在带有缓冲机制的生成过程中,数据先从主机的缓冲区中移至CompactRIO控制器的板载FIFO中,然后被写入C系列模块。
采样模式是缓冲I/O操作的一个属性。采样模式分为有限和连续:
- 有限-有限采样模式生成是指生成预定数量的数据采样。写出指定数量的采样后,生成任务停止。
-
连续-连续生成是指生成未知数量的采样。连续生成是指连续生成采样,直至用户停止操作,而不是生成一定数量的数据采样后停止。根据数据写入的不同控制方式,有三种连续生成的类型。这三种模式是:重复生成、板载重复生成、非重复生成。
- 在重复生成模式中,用户定义主机内存中的缓冲区。缓冲区的数据连续下载至FIFO,然后被写出。新数据可在不影响输出的任何时候写入主机缓冲区。
- 板载重复生成中,整个缓冲区一次下载至FIFO,然后在FIFO中重复生成。数据下载至FIFO后,新数据不能写入FIFO。要使用板载重复生成,整个缓冲区必须与FIFO的大小匹配。使用板载重复生成的好处在于,一旦操作开始就不需与主机内存通信,避免了总线过于繁忙和操作系统延迟等问题。 注: 将并行DO模块安装至插槽1~4能使可用FIFO的大小最大化,因为在插槽5~8中使用模块会减少可用FIFO的大小。
- 在非重复生成模式下,旧数据不会被重复。新数据必须连续写入缓冲区。如程序向缓冲区写入新数据的速度不够快,无法满足生成需求,缓冲区将发生下溢并导致错误。