学会NI |
您所在的位置:网站首页 › labview数据采集实例教程 › 学会NI |
在LabVIEW中配置任务定时 下面的LabVIEW程序框图显示的是如何使用“NI-DAQmx定时”VI的“采样时钟”实例来配置使用外部采样时钟的连续模拟输出生成。 ![]() 为了实现数据采集程序间的同步,定时信号必须以与触发信号同样的方式在一个设备的不同功能区域间或在多个设备间进行路由。 NI-DAQmx可自动完成这些路由。 所有有效的定时信号都可作为“NI-DAQmx定时”函数的源输入。 例如,在以下“DAQmx定时”VI中,设备的模拟输出采样时钟信号可用作模拟输入通道采样时钟的信号源,而无需进行任何显式路由。 NI-DAQmx的定时和同步特性文档中介绍了更多关于借助NI-DAQmx使用“NI-DAQmx定时”函数来实现同步的信息。 由于所测信号可提供定时,因此大多数计数器操作都不需要采样定时。 这些应用应使用“NI-DAQmx定时”函数的隐式实例。 在以下LabVIEW程序框图中,“NI-DAQmx定时”VI的隐式实例用于以指定的采样数量将缓冲脉冲宽度采集配置为有限值。 ![]() 在.NET中配置任务定时 Channel.Timing.ConfigureSampleClock()函数用于配置采样时钟源、采样时钟速率,以及待采集或生成的采样数。 以下程序代码显示了根据连接至设备PFI 0的外部采样时钟创建一个连续采样。 analogInTask = new Task(); analogInTask.AIChannels.CreateVoltageChannel( ... ); analogInTask.Timing.ConfigureSampleClock( "/Dev1/PFI0", // external clock source line or use "" for internal clock 10000, // expected rate of external clock or actual rate of internal clock SampleClockActiveEdge.Rising, // acquire on rising or falling edge of ticks SampleQuantityMode.ContinuousSamples, // continuous or finite samples 1000 // number of finite samples to acquire or used for buffer size if continuous );
在C/C++中配置任务定时 DAQmxCfgSampClkTiming函数用于配置C或C++中的任务定时。 以下程序代码显示了该函数应用于一个10000赫兹的内部时钟的范例。 char clockSource[256] = ""; float64 rate = 10000; DAQmxCfgSampClkTiming(taskHandle, clockSource, rate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, 1000);
某些数据采集设备针对数字I/O操作采用的是握手定时模式。 握手协议通过与外部设备进行定时信号的请求和确认交互来传输样本。 “NI-DAQmx定时”函数的握手实例可用于为数字I/O操作配置握手定时模式。 练习范例: LabVIEWVoltage - Continuous Output.viCounter - Read Pulse Width and Frequency (Finite).viCVICont Gen Volt Wfm-Ext ClkBuff Semi-Period-Finite.NETContGenVoltageWfm_ExtClkMeasBuffered_SemiPeriodFinite
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |