Some courses and learning paths on NI Learning Center may not appear on learner dashboards. Our team is actively investigating.
If you encounter access issues, please contact services@ni.com and include the learner’s name, email, service ID or EA number, and the list of required courses.
‎04-03-2012 12:02 PM
I am building a vi that needs to run a device with two identical columns. Each column goes through cylce where gas is loaded, heated, then purged. The two cylinders are use the same pumps and what not to control. I was wondering if I could create two state machines, one for each column and then use a functional variable to communicate between the two? do parrallel state machines work ok?
Solved! Go to Solution.
‎04-03-2012 12:05 PM
Yes, just two independent loops, one for each column. You could use a third loop for the user interaction.
‎04-03-2012 12:23 PM
@TSCline wrote:
I am building a vi that needs to run a device with two identical columns. Each column goes through cylce where gas is loaded, heated, then purged. The two cylinders are use the same pumps and what not to control. I was wondering if I could create two state machines, one for each column and then use a functional variable to communicate between the two? do parrallel state machines work ok?
"Parallel state machines" can work. but I'm a really big fan of "Code it once". Let's assume you created the perfect Queue Driven state machine. All you really need is for the Producer to call copies of the consumer. So if the QDSM was saved with the extension VIT instead of vi the producer could load as many as it wanted into sub-panels and create an array of queues for each.
Here is a similar scalable project I once built
A better example can be found in a presentation to the Minneapolis User's group by CLD Tore Johnson of St. Bernard Engineering.