LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Contingency Plan - Terminating Processes Without Killing Program

 

Attached is my program incase it helps to see clarify some things. I'm using LV 8.0

 

 

I'm trying to figure out if there is a function or a method where I could terminate a process without stopping the entire program. 


The Situation

 

Here is what I'm trying to do exactly..

 

I have 2 pumps (A and B) that are on a normally open relay circuit and 1 on a normally open circuit (Pump C). This means that if I send a 5V signal to the normally closed circuit the pumps A and B would turn OFF. Similarly if I send a 5V signal to pump C it would turn ON

 

This on/off sequence occurs every hour.

 

I want to add  contingency into my program where if the pressure increases above 25psi all the pumps would turn off and the process would stop. So which means to stop the process I would have to continuously send a 5V signal to Pumps A and B and send a 0V signal to pump C. I believe that the way I have my programming setup right now it should work fine. 

 

THE PROBLEM

 

Obviously if I kill the pumps the pressure is going to drop below 25 psi, which means labview will stop sending signals and turn the pumps back on and the pressure will jump back upto +25psi. I don't want that to happen


My Question

 

Is there a way that if I hit the 25psi mark that labview would permanently terminate the process so that it wouldn't go back to checking whether the pressure is less than the limit and abort the process until a physical reset or  something of such sort ? 

 

 

 

 

Thank You For Taking The Time Smiley Wink

 

Amir Alansari

Graduate Student

Environmental Engineering

0 Kudos
Message 1 of 5
(2,693 Views)

Amir,

This is very easy to do, but I was having a little trouble following the block diagram. A shift register in one of your loops could store a boolean that would change if the process had been stopped by over pressure. That True boolean could be used to keep other processes from continuing to cycle on/off. Or you could use a functional global which would do the same thing, but rather than being stored on the shift register in the loop of your main VI it would be stored in the functional global.

 

A quick glance around your block diagram and I noticed there might be a couple of local variables inside the same loop as the indicator they are reading from. This is an easy way to eliminate a local variable and wire direct.

 

Eric

0 Kudos
Message 2 of 5
(2,684 Views)

Hey Eric, 

 

I didn't quite understand from the labview help how to use the shift registers ? 

 

It talks about either remembering iteration values or reseting initial values ? 

 

can you please provide an example or clarify this.

 

Thanks,

Amir. 

0 Kudos
Message 3 of 5
(2,668 Views)

Amir,

Essentially all you need is some kind of status alarm that doesn't reset until the operator tells it to reset.

 

Build the VI below and watch what happens when you make the pressure go over 25 and then below 25. Your output remains true until you reset it. Do that on the loop in your program and you can use the output to keep your pumps from turning back on when you don't want them to.

 

Eric

 

overpressure_alarm.png

0 Kudos
Message 4 of 5
(2,664 Views)

Hey Eric, 

 

Thanks for the help. I had to do some tweaking to get it to work for me, but I learned something new. 

 

Amir. 

0 Kudos
Message 5 of 5
(2,647 Views)