06-04-2012 03:49 AM - edited 06-04-2012 03:51 AM
Hello, I have a strange problem with implementing IF-THEN conditioning of parts of code. On the attached diagram I would like to put all DAQ tasks in separate IF-THEN blocks to exclude them from a DAQ if no channels of their are invloved. However, LV2011SP1f1 does not allow me to do that with error: "Wire: Is a member of a cycle" Obviously that is not the case, I am just passing error clusters through it. Am I missing something here or is it a bug? Thanks in advance,
06-04-2012 03:54 AM - edited 06-04-2012 03:56 AM
Hi golubovski,
yes, there's a cycle: the error cluster between the two case structures form a cycle.
The upper case of both has two tunnels: one is an output, the second one is an input. Both are connected to the lower case structure, again forming in-/output. LabVIEW can run the upper case structure only, when all inputs are ready. But the second input is only ready after running that case - cycle error...
06-04-2012 03:55 AM
It's normal, try to think in terms of data flow, you're trying to connect your error wires in and out of the case structure a little too much.
I suggest you keep one error wire per DAQmx task instead of using one for all your tasks.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
06-04-2012 04:08 AM
Thank you both to clearing this up to me! I guess I sounded stupid, but I see the error cluster as a fixed RAM location where blocks write to (update) and read from the status. So it was logical to me to do that :)))
Aplogies,
06-04-2012 04:15 AM
There is no stupid questions!
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus