I'm trying to measure the frequency of a digital input on my 6034E card, but I need some filtering/de-bouncing which is not available in hardware. I've attached a screenshot of the approach I've taken (which may well be totally wrong - I've not dealt with measuring digital signals before). Before this approach I had tried using a counter to measure the frequency, which kind of worked, but the signal was very noisy. Anyway, I seem to be stuck at 1st base with this, as I get an error from the DAQmx Read node (code 200014) which says the terminal cannot appear multiple times within a single digital input task. I've checked the examples, and it doesn't look obvious to me what I'm doing wrong - can someone help me out please?
Solved! Go to Solution.
First impressions show me that what you are attempting looks correct in theory, the error is in relation to your channel setup. I notice you have a "task" and "line" input, the task should exist under Measurement & Automaticion Explorer (MAX) and contain all settings for the digital channel therefore the line input shouldn't be required. I can also see that you DAQmx Read has no timeout wired to it, I think it should automatically accept -1 in this scenario but may be worth wiring that in to be sure.
If that doesn't help I'd appreciate a copy of your code and I will try it out on my system.
All the best,
Just having the lines input, and deleting the task input helped. Then realised my hardware limits what kind of timing I can have (only On Demand). Finally worked through a series of error messages and I now have some code ready to test on real signals.
Thanks for your help,