LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

measure with multiple cards

hello,
i've got 3 cards in a project. this cards are measuring temperature, digital IO and Analog IO.
the problem is that i can't receive the values in one while loop. the temperature needs much more time to measure as the other cards.

two questions:
1. i've got a queue where i do my initialisation.the daq is parallel to this queue. is it possible to use any tool which waits till the initialisation
is done to start the daq?
2. has anyone a schema which describes a multi card daq? i don't think that my solution is the best.
short description about my solution:
i've got lots of parallel while- loops where the daq is (first while- loop for temperature, second for DIO,...).
another parallel part is a queue which does the initialisation , an idle-case and deinitialisation.

In the moment i stop the while-loops with a local variable of my stop button. i think there will be a better solution.

it would be nice if anyone has a schema, link or any other documentation.

markus
0 Kudos
Message 1 of 7
(2,998 Views)
Hello Markus,

Can you post your code, or at least the part you are having problems with?
It would be easier to help you then.

Paulo
0 Kudos
Message 2 of 7
(2,988 Views)
in the attachement you can see two pictures. the "main" picture is the control of the application. in the "daq" picture you can see the daq.
the main.jpg is to lay above the daq.jpg.
from up to down:

the first loop in "main" is the event handler. every event has a queue object which is handled in the main queue.
the second while loop controls the menu of the application (menu- queue).
the third while loop includes the main queue. here it is the initialisation, events and deinitialisation of the application handled.
the other while-loops are for the daq.

is this a good solution?

in my actual application every daq loop is stopped with a local variable.
0 Kudos
Message 3 of 7
(2,977 Views)
here is the attachement.
0 Kudos
Message 4 of 7
(2,976 Views)
0 Kudos
Message 5 of 7
(2,976 Views)
Hi,

I normally use some sequence structures to do hardware initialization before the main body of the program.
So I would have a sequence with 3 frames. In the first one initialize the hw, the second one would contain the normal function mode and the third, closing references and hw control, ...
About the structure you use, I find it a little strange, but don't take this as a critic to your programming mode.
You have all those while loops, with a case structure and all of them controlled by the same variable.
So when you press that button, all your while loops will go to measuring mode.
Apparently you are allways measuring everything when messung is true.
So if you had only one while loop it would work the same way, better yet, if messung is a button, you could put everything in the event structure and measure everything when the event messung - mouse down happens and you don't need all those while loops.
Also the stop could be made by that event structure.

Hope this helps,
Paulo
0 Kudos
Message 6 of 7
(2,971 Views)
thanks for your reply.

you wrote that it is a better way to use the daq is in one while-loop.
the problem is the temperature. this measurement will be very slow and reduces the speed of my daq.
so i choose to use while loops. every measument can be started and stopped separately.


i don't measure all the channels if "messung" is true. The vi's inside the while-loops have a boolean variable which controls the measurement.

you say that you use sequenzes for the initialisation,... .isn't this a problem for the overview?
that's my problem. the functionality of a vi is easy. but to create it clear and easy to vary is agreat problem of me.
some people said that every programmers target is to use only one display size for the block diagram?

is there any vi to wait for a occurence? i would use it to stop the vi when it is in the deinitialisation sequence.

markus
0 Kudos
Message 7 of 7
(2,963 Views)