上面附带的LabVIEW代码是我过去成功用来从设备读取频率数据的代码。我通常也在我的属性节点和while循环之间使用Start Task VI。
我正在尝试用C#编写代码。到目前为止,我已成功地在我的设备USB-6363上编码模拟输出和模拟输入(因此我知道我能够使用C#成功地从设备写入和读取数据)。
我还使用万用表(帖子底部的Grainger链接)来读取频率数据(设备在图片中设置的橙色Hz模式)。
但是,我的C#代码似乎在读取频率数据时遇到问题。我的C#代码已附加。当我尝试运行此程序时,我收到以下错误。这与使用名为' MeasDigFreqBuffCont_ExtClk_ArmStart.2013'的示例程序时得到的错误相同。我展示的代码只是创建任务,我稍后在我的程序中调用代码在不同的部分,这就是我得到错误的方式。
----------------------------------------------- - 开始错误代码--------------------------------------------- ----
{错误= -200077消息="请求的值不是受支持的值 这个性质。属性值可能无效,因为它发生冲突 与另一个属性。\ n \ nProperty: NationalInstruments.DAQmx.CIChannel.FrequencyDivisor \ n请求值: 1 \ n可能值:4到4294967295 \ n通道名称:数字 频率\ n \ n任务名称:_unnamedTask< 0> \ n \ n状态代码:-200077"}
----------------------------------------------- - 结束错误代码--------------------------------------------- -----
在示例程序中,它要求采样时钟源(来自设备的PFI通道)。但是在LabVIEW代码中它没有要求这个。这个例子可能比我想做的更详细吗?
Task frequencyInput = new Task();
frequencyInput.CIChannels.CreateFrequencyChannel(
"Dev1/ctr0",
"Digital Frequency",
200,
15000,
CIFrequencyStartingEdge.Rising,
CIFrequencyMeasurementMethod.DynamicAveraging,
0.001,
1,
CIFrequencyUnits.Hertz
);
frequencyInput.CIChannels["Digital Frequency"].FrequencyTerminal = "/Dev1/PFI0";
CounterSingleChannelReader counterFreq = new CounterSingleChannelReader(frequencyInput.Stream);
double counterFreqData = counterFreq.ReadSingleSampleDouble();
txtPFI0.Text = Convert.ToString(counterFreqData);
FLUKE (R) Fluke-115 Compact - Basic Features Digital Multimeter, 14° to 122°F Temp. Range
答案 0 :(得分:2)
格式化错误消息:
请求的值不是此属性的受支持值。属性值可能无效,因为它与另一个属性冲突。
属性:NationalInstruments.DAQmx.CIChannel。 FrequencyDivisor
请求值:1
可能的值:4到4294967295任务名称:_unnamedTask< 0>
状态代码:-200077
根据documentation,您要求设备使用无效的除数。将您的1
更改为4
:
frequencyInput.CIChannels.CreateFrequencyChannel(
"Dev1/ctr0",
"Digital Frequency",
200,
15000,
CIFrequencyStartingEdge.Rising,
CIFrequencyMeasurementMethod.DynamicAveraging,
0.001,
/* here */ 4,
CIFrequencyUnits.Hertz
);
NI installs C# examples for DAQmx,其中包括一个用于测量频率的内容:
C:\Users\Public\Documents\National Instruments\NI-DAQ\Examples\DotNET4.0\Counter\Measure Digital Frequency\MeasDigFrequency_LowFreq1Ctr\CS