08-26-2020 02:34 PM
I am trying to use LabVIEW to create XML files of temperature profile settings. I currently have the program writing the xml file and the user interface is working how I intended it to. The main problem that I am seeing is with my table that is used to display what the operator has selected so far. I want it to write values on the table when the operator clicks to add a step. It seems like it's almost working. My main issue is that it will write two of each command. For example, if I click to add ramp rate and then switch to soak it will add a second ramp rate before adding a soak. Any ideas on how to fix this? Is it the mechanical action of the "Add a step" switch? Is it reading it's value change twice?
Solved! Go to Solution.
08-26-2020 03:30 PM
I see that Step to Add control is being read in parallel with the Dequeue function. So by the time you press Add Step and enqueue the command, the step has already been read as probably and old value then and that gets added.
I would put the Step to Add up in the producer loop. The queue should consist of a command "Add Step" and the Enum "Step to Add".
PS: In Add Step:Value change, comparing a boolean wire to True is a Rube Goldberg. The green wire already gives you a True. The =T adds nothing but an unnecessary step.
08-26-2020 03:46 PM
Ok, that makes sense. So for this, in the producer loop would you bundle the "Step to add" enum and the command? Then when you dequeue the cluster unbundle it send each value where it needs to go?
08-26-2020 09:56 PM
Correct. That is what I would do.
Or if you keep the step to add enum control in the consumer loop, move it inside case structure.
Right now, your dataflow causes it have already read an old, stale value of the step before you ever click the button to add the new step you just changed.