I've recently been trying to incorporate the use of the DAQmx trigger vi into my program, but I keep running into an error and getting no data at all. In searching for solutions, I found this article that gives examples on different applications of the DAQmx Trigger vi, and I have attempted to copy it to see if I could at least get that to work. Here is the link, and I'm attempting to replicate the "Analog Hardware Triggering" section:
I am currently using the NI 9775 card with a Physical Acoustics AE sensor, if that matters. I would like to use the reference analog edge trigger with Hysteresis, but for the moment I just want to get the normal Start Analog Edge function to work. However when I try to replicate the example given on that link, I get error 200557, and I'm not sure why or what that necessarily means, despite my efforts to search for helpful solutions. Attached is my code and a screenshot of the error happening when I highlight execution. Could someone assist me?
Thank you for reading,
Solved! Go to Solution.
I couldn't open your code b/c I'm still at LV 2020, but I did recreate it and added a simulated 9775 in MAX.
1. I didn't replicate your -200557 error, instead I got error -200265, a failure to define the source of the analog edge trigger.
2. So I wired in the channel I used to create the task (SIM-cDAQ9775/ai0) and then I got error -201298, an apparent conflict between continuous sampling and the analog edge trigger.
3. So I changed to Finite sampling, and I was able to run 1 Read iteration successfully without errors. I moved the Start and Stop functions inside the loop and was able to run repetitive iterations without errors.
I was a little curious and did some searching. This is *very* tentative b/c I only spent a short time on it. But it appeared that the 9775 might be somewhat unique with some fairly uncommon usage restrictions.
In particular, it doesn't seem to want to have sampling set up at an arbitrary rate in Hz. Instead, you're supposed to choose between "high-resolution" and "high speed" modes, which you can't do with DAQmx Timing. Instead you use a special DAQmx Channel property node as seen here. By placing that property node *after* DAQmx Timing, it seems to override timing settings as needed and can still do repeated finite acquisitions.
Another info tidbit I didn't attempt to verify was that the 9775 was claimed not to be able to capture data locally *and* transfer to the host simultaneously. This could explain why it works in Finite Sampling mode but not Continuous where simultaneous capture & transfer would be necessary.
That said, the error text doesn't really do a lot to point in these directions.
Here's my test code snippet:
(Aside: anyone know why DAQmx Timing is showing such a verbose label in the polymorphic selector? And how to get it back to the normal label "Sample Clock"? This only started happening fairly recently, but isn't associated with any known trigger such as a new install.)
Thank you so much! That was exactly what I needed. I have played around with it a bit more, and now have it nearly exactly as I want it. I'll attach my current setup, saved for previous version, for anyone who wants to take a look at it. I do have just a couple small questions, if anyone would oblige:
1) I want to also start collecting data if a threshold in the negative is reached. So currently the program starts when a value above 0.004 is detected, but I'd also like it to start if a value below -0.004 is detected. I tried switching over to a Reference Analog Window, but got Error -89137. Screenshots of this error are also attached. (Side note, can anyone explain if I can change the size of the error windows? I can't drag them, but I would like to look at everything it has to say at once.)
2) I would like to compare the data I'm getting to the raw, unfiltered version, so I can determine if anything is offset or recording weirdly. Is there a way I can simultaneously record data to a different measurement file that is not triggered by the DAQmx Trigger VI? I tried just wiring a simple while loop to the same physical channel, but that wasn't working.
Either way, thank you again, that was extremely helpful.