本节介绍了编程PXI-4130输出时的定时考虑因素。解释了如何快速更新以及配置VI在NI-DCPower中的工作方式。
可使用4个VI来编程电压或电流。分别是配置电压电平VI、配置电流限制VI、配置电流电平VI和配置电压限制VI。前两个VI仅在选择直流电压输出函数时可用,而后两个VI仅在选择直流电流输出函数时可用。使用配置输出函数VI设置输出函数。有关如何编程输出的详细信息,请参阅NI-DCPower帮助文件。
这些配置VI可在循环中连续调用,从而达到最快的更新速度。硬件每333 µs接受一个新的更新命令,以支持3 kHz的最大连续更新速率。例如,如需进行电压扫描,可在循环中反复调用配置电压电平VI。循环的最快运行速度为3 kHz,即使软件能更快运行,但每个新的更新命令必须与前一个命令至少间隔333 µs。下图所示为如何在LabVIEW中编写此类循环代码。
图1:以最大速率调用配置电压电平VI。
下表所示为在PXI-4130通道1上进行不同配置更改所需的处理时间。
第一列所示为特定更改开始影响输出所需的最长时间。该时间为从配置VI完成硬件的重新配置,持续到执行结束并返回至用户程序。
第二列所示为最大连续更新速率。这些速率适用于连续运行循环中的更新。有关此最大速率的详细信息,请参见软件速度部分。
配置更改 | 最大时间(µs) | 最大连续速率(Hz) |
更改电压电平(具有相同极性) | 667 | 3000 |
更改电压电平(具有不同极性) | 1000 | 1500 |
更改电流限制 | 667 | 3000 |
更改电流电平(具有相同极性) | 667 | 3000 |
更改电流电平(具有不同极性) | 1000 | 1500 |
更改电压限制 | 667 | 1500 |
更改电压电平范围 | 667 | 1500 |
更改电流限制范围 | 4000 | 273 |
更改电流电平范围 | 4000 | 273 |
更改电压限制范围 | 667 | 1500 |
尽管能以3 kHz的速率连续更新输出,但并不意味着输出将在333 µs的周期内稳定。或许需要远远长于此的时间,具体时长取决于您的负载状况。如需了解有关确定输出稳定时间的详细信息,请参阅NI PXI-4130产品规范及可编程直流电源和精密直流电源的负载注意事项。
更改电流限制范围或电流电平范围比其他操作所需的时间更长。注意,在更改输出值时,如该输出值对应的自动范围属性设置为TRUE,则可能会隐式地改变输出范围。例如,在更改电流限制时,如果niDCPower的电流限制自动范围属性设置为TRUE,则当前限制范围可能会隐式地改变。
如果电平的极性(符号)发生改变,则改变电压或电流电平所需的时间比正常情况更长。将电压电平从-5 V更改为10 V所需时间比从5 V更改为10 V所需时间长。
NI-DCPower提供两个可用于测量的VI。第一个VI是niDCPower测量。该VI仅用于单个通道的单个电压或电流的测量值。第二个VI是niDCPower多项测量。该VI可用于同时从一个或多个通道获取电压和电流测量值。
如果同时需要进行电压和电流测量或测量多个通道,niDCPower多项测量的性能优于niDCPower测量。但是,如只需单次测量,niDCPower测量更佳。
PXI-4130每333 µs持续测量所有通道的电压和电流,采样率为3 kS/s。 采样平均属性和测量前重置均值属性可用于控制测量的使用方式,以及niDCPower测量和niDCPower多项测量的返回报告方式。
PXI-4130可以对测量采样作平均处理以降低噪声并改善敏感度。仪器以3 kS/s的速率对固定数量的采样进行平均处理。可使用niDCPower采样平均属性,通过编程设置平均采样数。调用任一测量VI时将返回一个平均值。
PXI-4130使用一种简单的平均算法,而不是移动平均算法。只要仪器采集到固定数量的采样,就会生成平均值并丢弃采样。然后开始采集下一组采样,用于下一次平均测量。
可使用测量前重置均值属性控制何时采集平均采样。
如该属性设置为FALSE,仪器将不断采集测量结果并对其进行平均处理。调用niDCPower测量或niDCPower多项测量时,将返回最后一次的平均测量值。这意味着用于获取该平均值的采样在调用该VI之前就已经被采集。使用此设置可以获得最佳性能,因为这支持仪器在应用程序忙于其他任务时进行采样。
如果将属性设置为TRUE,NI-DCPower将丢弃之前的采样和平均值,并开始采集一组新的采样以对其进行平均处理。
因此,要确保niDCPower测量或niDCPower多项测量返回的测量值是由调用VI之后获取的采样组成,请将测量前重置均值属性设置为TRUE。该选项为默认设置。
软件测量速率是使用NI-DCPower的应用程序能够达到的最快采集测量速率。该速率由两个因素决定。第一个因素是PXI-4130的固定采样率,即3 kS/s。第二个因素是niDCPower采样平均属性设置的待平均的采样数。这是下列LV循环运行的最大速率。
图2:以最大速率调用多项测量VI。
niDCPower采样平均属性和NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE属性的默认值为10。如下列公式所示,使用默认值时,最快的软件测量速率为每秒300次测量。
如未使用测量平均(采样平均 = 1),则最快的软件测量速率为每秒3000次测量。
虽然不进行平均测量可以获得最快的测量速率,但环境噪声(例如由线缆引入的50 Hz或60 Hz噪声)会增加测量不确定性。根据需要调整niDCPower采样平均属性或NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE属性,以优化应用程序的噪声性能和测量速率。
有关如何抑制噪声的详细信息,请参阅NI直流电源和SMU帮助文件。
前两节介绍了最大更新速率和最大测量速率。仅从硬件最大值的角度讨论了这些问题。要达到最大速度,应用程序软件必须足够快,以便与硬件相匹配。
下表所示为NI-DCPower中时间关键VI的典型执行速度。这些数字表明,在大多数现代的PC上,软件可以匹配PXI-4130的最大速率。因此,只要运行NI-DCPower应用程序的处理器内核足够快且没有被其它任务占用,应用程序应该就能以PXI-4130的最大速率3 kHz运行。
VI | 执行时间(µs) |
配置电压电平VI | 120 |
配置电流限制VI | 140 |
配置电流电平VI | 125 |
配置电压限制VI | 125 |
测量VI | 120 |
多项测量VI(单通道) | 185 |
* 这些数字是1.86 GHz Intel® Core™2双核处理器的基准值。要达到前面两节中提到的3 kHz最大循环速率,NI建议使用多核处理器。
前面两部分分别讨论了源定时和测量定时。但是,NI PXI-4130最适用于源-测量操作。
在典型的源-测量循环中,需提供电压或电流,等待输出经过一定时间后趋于稳定,然后进行测量。由于依赖软件定时,因此最小定时器分辨率通常在1 ms范围内。下图所示为如何编写源-延迟-测量循环代码。
图3:如何实现源-延迟-测量循环。
循环速率在很大程度上取决于配置循环的稳定时间。
如要达到最高的源-测量循环速率,就不能在应用程序中使用软件定时器。循环必须仅包含更新(配置VI)和测量(测量VI)。如采样平均属性设置为1,该方法可实现3 kHz的循环速率。
但是,由于配置VI将在PXI-4130输出更新之前返回,则测量将不对应于同一循环迭代请求的值。该测量是有效测量,但对应于发生在其后2至4个循环迭代中的更新。因此,该循环退出后获得至少另外2至4个测量值,并将这些测量附加到从循环获得的测量中。 此外,建议使用多项测量VI,它可以同时测量电压和电流(最大时间差为250 µs),并使用这些电压和电流测量值来处理在循环之后进行的数据,而不是依赖于配置VI的输入。
设置测量前重置均值属性为FALSE以获得更好的性能。
该循环速率将随平均采样数的增加而降低。
下图所示为如何在LabVIEW中实现此类循环。
图4:如何实现最快的源-测量循环速率。
任何使用PXI-4130的序列或扫描必须在软件中执行,且必须由软件定时。PXI-4130可以每隔333微秒采集一个新的电压和电流测量值。还可每333 µs更新一次。因此,可达到的最快源-测量循环速率为3 kHz。只要拥有速度合理、工作负载较小的机器,就可以实现该速率。