03-06-2015 11:39 AM
Hi, I'm planning to develop a VI to handle end-of-line testing for a product. It needs to be reliable, robust, and user-friendly so this is pretty new territory from just designing a straight automated tester or a straight data acquisition VI. My VI needs to:
- Read/Send periodic CAN data at 100Hz
- Read multiple ADC channels
- Perform a test routine involving CAN data and the ADC data
- Write test results to a data-base
- Display values to front panel and take input from front panel
I did something similar a few months ago for gathering data for a model but it had many issues. I used several timed while loops but ran into data dependency issues and over-runs. It worked okay for what I needed it for, but this next iteration needs to be much better. A queued messasge model seems like it would have prevented those issues. There's also the producer/consumer model which also seems like it would work, and then the actor framework which seems to be the most robust but may require some learning. I just need to pick one and stick with it.
So, which model do you all think would be best for my application? Producer/consumer, queued messages, or actor framework? Something else?
03-06-2015 11:42 AM
An application doesn't usually conform to only a single isolated design pattern. For example, in a producer/consumer in LabVIEW, the consumer is often a queued message handler.
Is this application going to be all on one target?
03-06-2015 11:45 AM
It is. The application will run on an automated testing station and make use of the various peripherals on it, like the CAN controller, the ADCs, and a few other instruments.