I wrote a Labview program to interface with a cDAQ-9188 and everything appears to be working fine. I used the DAQ Assistant to make the base level functionality and then converted them to DAQmx code and that went pretty well.
When I created the DAQmx code a timing clock didn't appear so I added a DAQmx Sample Timing (Sample Clock) vi in order to gain control over the rates. I tested the software, including changing my record rates, and everything worked as expected. (see image).
When I looked in the DAQmx SubVi that I created I saw that a timing clock was actually in there (see other image). It has content wired up to it (sample mode, rate, samples per channel) but this content doesn't appear to affect what I have in the main VI. Heck, I don't even have samples per channel wired on the main VI, I have it wired into my DAQmx Read in my while loop!
So is the Timing in the main VI overriding the Timing in the SubVI? Should I take the Timing complete out of the SubVI?
Again, everything appears to work as intended. I do have more work to put into this and I'm concerned that this will cause headaches in the future. Also, I want to be more informed about what I'm doing!
I attached the VI and SubVIs as that seems to be the protocol. They are a work in progress! 🙂
Thanks for the assistance.
Solved! Go to Solution.
If you open up the timing VI you'll find it's just setting several DAQmx Timing Properties:
Calling it the second time just overwrites whatever you did previously. It would eliminate some redundancy to just call it once (you could either delete the timing from your subVI or pass parameter into the subVI to configure it there) but it isn't a problem to call it twice.