LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LV - Microcontroller marriage

This is something that I have been talking quite often here : Can LV be used for critical (  deterministic ) machine control ?

I do lots of coding for product endurance rigs that need switching of solenoid valves at a rate varying from 0.2 Sec to 1.5 sec. And being endurance rigs, the typical value for the number of cyles will be around 1 million to 5 million . Thus the tests once started will run for many days / or till the product fails. I was struggling with LV 8.0 timed loop running at 50mS intervals within which a state machine was doing the following :

- Check for safety interlocks
- Switch the solenoid at the programmed rate
- Plot the parameters like flow, pressure, torque etc in "real"  time.
- Save critical process values to disk at programmed intervals.
- Keep track of counts and stop cycle when actual cycles = programmed cycles.

SInce I did not ( could not ) use LVRT, I ran into serious problems on only one area in the above list : Switching of the solenoid. The on/off times were never deterministic and for some odd reason used to crash / hang the application altogether after a few hours of running.

The low cost solution :

Since I also code for 8 bit microcontrollers ( MCU )  I  tried out the following :

- As soon as the program is launched in the PC, LV will send in the required solenoid switching timing data to the MCU via RS232.
- The MCU will verify the data and confirm back to LV through a DI.
- LV will then start the cycling process like switching on the main motor etc. and send a signal through a DO to the MCU.
- The MCU will take control of the solenoid switching ALONE and the LV will do the rest of the operations in the State Machine.

I am glad to say that this logic has worked out fine and the obtained plots with the extremely deterministic timing of the MCU are a beauty to look at. Though I have explained the hand shake between LV and MCU rather simply , the actual implementation is more refined like monitoring a toggle bit from LV by the MCU  ( kind of watch dog function ) and raise an alarm if the LV timed loop exceeds the 50ms by a large margin , consequtively.

Now that I have done this,  I am confident of  merging  ( or sharing )  the jobs between LV and  a  PLC . The PLC will do deterministic machine control functions and LV will do data acquistion and non-deterministic machine control. OK I do know that there is a handicap when I have to change the machine sequence based on a window in a analog channel.  Except for that  I can manage all other control functions with the LV-PLC combo ?

What do the LV experts feel about this idea ?

Thanks

Raghunathan
Raghunathan
LabVIEW to Automate Hydraulic Test rigs.
0 Kudos
Message 1 of 3
(4,278 Views)
Hi!
   Why can't you usse LVRT? And have you ever checked for Programmable I/O? This is a costly solution, respect to MCUs, but you can build rich tests....

  (BTW, which family of MCUs are you using?!?!?!? Just curious...)

   Anyway, in general if you are strong both in LabVIEW and in MCU programming, I think it's a good combo.  For some jobs, in the past, I did it, and found it really interesting!

Have a nice day!

graziano
0 Kudos
Message 2 of 3
(4,264 Views)
Shouldn't be a problem doing this with LV, but I'd prefer LVRT. We are using LVRT on cFP controllers for fuel cell testrigs and testsystems. Those have to run for a few thousand hours without interuptions and after we learned to use LVRT correcty, problems are not caused by the control system anymore. For dataaquisition we use anh accompanying PC with LV DSC on it...
0 Kudos
Message 3 of 3
(4,258 Views)