Hi,
四个建议:
1. AI模拟触发的时候,你将Dev1/AO0直接写到输入端,貌似6366内部没有这个信号路由通道 ==>请用一根导线,将AO0连接到APFI0上面,AI模拟通道选择APFI0;
2. 如果你是要在高电平处采集N个点,可以让AI设置为有限点采样。
3. 你这一端代码应该不涉及秘密,可以直接把VI发出来,大家看起来比较方便。或者在LabVIEW中导出图片,别人在LabVIEW中就可以直接打开了。(选择你的代码,Edit -> Create VI Snippet from ...)
4. 你可以把你现在实现的功能表述一下,比如AO输出是否正常?AI能否采集一次?报了什么错误?
Xiaohui Wang
NI Field Sales Engineer.
非常感谢您的回复,我现在手边的USB-6366 pinout如下图,没有你说的APFI0。附件我传了两个VI,一个是只有输出的,输出正常。另一个就是把输出和采集放一起的,目前运行不正常,包括输出。错误如下图。不好意思,真是的现学现用,不懂得太多,有很急!
Hi,
1. APFI0-> Pin29;
2. AO输出的任务,还是继续保持连续输出,如果是有限点输出的话,按照你现在的程序只能输出1秒钟就停了;
3. AI任务因为你配置了开始触发,而触发信号你并没有连接过去,所以AI任务开始不了,在DAQmx Read超时等待时间内(默认10秒),读不到数据,所以报-200284错误。(此错误应该位于错误3处,错误2处应该是没有错误)
----
因此,
a. 连接Pin29和Pin 25,
b. AI 任务触发来自于APFI0(你已经设置了);
c. 设置AI任务中定时函数处的Samples per channel;
d. DAQmx Read的时候,读取的点数也用上面的Samples per channel,或者是它的整倍数(你的AO任务信号频率是10Hz,也就是AI在可充触发情况下,会一秒钟产生10包数据)
Good Luck!
Xiaohui Wang
NI Field Sales Engineer
你好,
APFI0(pin29)为什么是接pin25?
我已经将这两个pin链接起来,VI按你说的做了些修改。目前还是在错误3处出现相同的错误。并在DAQmx wait until done处出现下面错误。
AO用有限输出,因为我的方波信号的幅值是需要变化的,例如每1000个方波幅值变化一次,所以我用有限输出外加一个循环,每个循环方波幅值变化一次。
Hi,
1. 如上面说到的,USB-6366内部没有信号路由通道将AO0接到AI模拟触发通道上,所以需要外面人为手动接一根线。
2. Sorry, Pin 15(AO0) not Pin 25,输入错误。
3. AI任务,先用onboard clock,确认一下可充触发的功能。(USB-6366,基于NI-STC3芯片,是支持该功能的),也就是你的AO任务独立的,AI任务也是独立的,AO为AI提供触发的电平。
另外,建议:AI开始触发的参考电平设置高一点,否则0.001很容易被噪声导致误触发。比如你的幅值是1V,可以设置为0.5V。如果设置了触发信号的迟滞窗,设置一个合适大小的值。
Good Luck!
Xiaohui Wang,
NI Field Sales Engineer