I am facing a problem with my Data Acquisiton and Logging program that I programmed according to the Continuous Data Acquisiton and Logging project template from LabVIEW. The Start or stop messages should by enqueued on the UI Queue and sent to the Data Acquisiton and Logging MHL and then it gets released, then the message should be enqueued on the Acquistion and Logging Queues to activate the corresponding Case structures in the subVIs and the data is produced in another subVI (that I am not allowed to upload here) and passed to the Data Acquisition and Data Logging SubVIs through the Data Queue to start the Acquisition and Logging. The problem is that the start message gets dequeued in the Data Acquisition and Logging MHL but doesn't get enqueued on the Acquisition and Logging Queues to start the acquisition and Logging in the corresponding subVIs.
I would be thankful if someone could point out my mistake and give me some tips how to fix it.
I cropped the part I am having problem with from my main VI and uploaded it here as I am not allowed to upload the whole project so you can't run it but I hope it's enough to give you an idea about what I am trying to explain here.
Solved! Go to Solution.
I guess I figured out what my mistake is, the start and stop messages get actually enqueued but the thing is that in my acquisition and Logging subVIs I need the message to be continuously reenqueued to the acquisition queue so that acquisition continues, as far as I understood the message gets sent one time at first and stops there without getting repeatedly generated so that the continuous acquisition takes place.
Sounds like you got it figured out, for continuous aquisition I have used timeouts with enqueued element (if timeout send aquisition) or in event case, the timeout is a bit more obvious. If you do that of course you should have this be an isolated loop that won't ever have to process long methods in other message cases/events. I too am still learning, I'm sure there are more methods to be used