LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

high level design options

Hi, I'm trying to decide on the best way to desing an application that will be responsible for the following:

-Display and control of 5 temperature zones (analogue/digital)
-Display and control of 4 Mass Flow Controllers (analogue)
-Control of various serial devices
-Logging and other standard application features

I have no problem writing small VI's do control one of the temp zones or one of the MFC's but putting it all together is proving to be harder than I expected. I am using LV 7.1 with PCI 6024E and PCI 6602 DAQ cards. I've looked at application examples like the 'Cookie factory' which have been very useful but I'm worried about how to do all the I/O.

I've noticed that if I write a separate VI to control each temp zone, they don't seem to all be able to access the hardware at the same time (not surprising) but does this mean that I'll have to do all my I/O at the same time and therefore in the same VI?

I've also thought about using the DAQopc server in conjunction with the DSC module which would allow my VI's to just read and write to tags as apposed to trying to read directly from the DAQ. Does the DAQopc server work with DAQmx? I haven't been able to see any of my DAQmx tags in the opc server.

Any help would be much appreciated. Thanks.
Message 1 of 6
(3,488 Views)
I do not have any experience with the DSC stuff, so I will not comment on that. I had delayed responding, thinking that someone with more experience along those lines might make some suggestions. Anyway with the cautions out of the way, here goes my opinions.

I like state machine architectures. In particular I have separate, parallel state machines for DAQ, GUI, and data processing. I use queues and functional globals to transfer data and commands among the state machines. In your case I might further subdivide the DAQ into a machine for each of the cards and another for the serial communications.

For example if all the temperature zones (A, B, C, D, E) were monitored and controlled through the PCI 6024, I might have a loop which reads and writes to the device (PCI 6024). Inputs would be commands sent over a queue and would be of the form "Read Temperature " or "Set Temperature <150>" where the part in <> brackets is a parameter. The output (in separat...



Message 2 of 6
(3,457 Views)
Does the DAQopc server work with DAQmx?

From a few months ago here, the answer would appear to be "No" (or "Not yet").
=====================================================
Fading out. " ... J. Arthur Rank on gong."
0 Kudos
Message 3 of 6
(3,440 Views)
Thanks for the replies, I hadn't thought of using a state machine for the I/O and I'm not sure if its the best option but I'll definately have a closer look at it!
0 Kudos
Message 4 of 6
(3,417 Views)
Hi Simon et al,

"I do [] have [] experience with the DSC stuff, so I will [] comment on that. I had delayed responding, thinking that someone with [less] experience along those lines might make some suggestions."

I would probably implement something like what Lynn suggested and simply used the DSC tags to handle the logging and display if there was a large I/O count.

I will concider DSC when I have a high channel count or when one of my "canned" DSC applications can be used or when I wnat to take advantage of the security, and alarming functions.

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 5 of 6
(3,397 Views)
Hello Donald,

DAQ OPC Server still uses the Taditional DAQ drivers and hence not compatible with DAQmx.

Regards,

Arun V
National Instruments
0 Kudos
Message 6 of 6
(3,360 Views)