Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

daq

I am new to Labview , I have few questions regarding the case structure, Can any any one help me on this....
I created a VI for monitoring the teperature and alarm when the temperature goes higher than the limit.
My question is ..I want to create an alarm out of range of 75 to 85 ( which I am able to do it ) but while the temperature is rising from 0 to 75  degrees the alarm is shooting all the time. can any one modify my VI so that the alarm is only enabled after it reaches 75 degrees or with any new idea.
Aim is not to alarm when the temperature is rising from  0 to 75 but enable the alarm after it reaches 75 and remain in the enable mode for the remaining period.
 
0 Kudos
Message 1 of 8
(4,520 Views)
Hello Brian,
       I looked at your code and it looks like you have extra logic that you don't need.  I changed the Configure Comparison Express VI to "In Range" and wired the temperature to it.  I have attached a screenshot of the altered block diagram.  In the future I recommend that you write out your logic in words or a flow chart and then choose the appropriate functions in LabVIEW.

Cheers,

NathanT
Message 2 of 8
(4,493 Views)

Hi Nathan,

Thanks for the reply, I know how to do this, what I want to do is: when the temperature is ramping up to 75 degrees, there should be no alarm and when the temperature hits 75 degrees, the temperature is maintained at 75 degrees for certain period of time (1hour, soaking), the alarm should be ON only in that period(soak) of time and then be disabled. can you help me out in this by modifying the VI or giving any ideas.

Thank you.

Brian

0 Kudos
Message 3 of 8
(4,483 Views)
You would need to somehow define the point at which you've stopped ramping. One way is in the attached file. Once the setpoint is reached, a counter is incremented. The actual temperature would have to be within a certain window for a certain time. In the example, I just used a wait (ms) of 1000 msec and if the count is greater than 5, that means that the termperature was stable for the last 5 seconds. Once it's stable, you would latch this value and wire the value to a case statement with the alarm monitor.
Message 4 of 8
(4,445 Views)

Thank you,

This is what I needed, I will get it to run on our furnace and mail you back if I any thing else.

Thank you very much.... saved my day.'..

Message 5 of 8
(4,435 Views)

Hi Dennis,

The example you provided helped us a lot( we are able to enable the alarm after the ramp upi time ), Now we have a new thing to do, we have to disable the alarm after soak time, can you tell us how to do that logic or provide us with that type of logic..

Can you please help us in this issue..

Thank you.

Brian1

 

0 Kudos
Message 6 of 8
(4,397 Views)
Hi Brian,
      I recommend that you experiment with the timing functions, such as the Elapsed Time Express VI which will output a true value when the requested amount of time has elapsed.  You could also use "Get Date/Time in seconds" when the alarm is enabled and then periodically get the time again and compare the two values to see if the soak time has elapsed.  The possibilities are endless and the more you do for yourself, the more you will be able to maintain and improve your application in the future, since you will know the reasons behind using certain logic.

Take a look at Using the Elapsed Time Express VI in LabVIEW 8.0 (and Higher) for more information about the Elapsed Time Express VI.

Cheers,

NathanT
Message 7 of 8
(4,350 Views)
I would also like to recomend that you look at using a state machine architecture for your program. Put simply, a state machine in LabVIEW is a case statement inside a while loop. The while loop has a shift register and that is wired to the case selector. The data wired to the case selector can be a number, enum, string, queue, etc. In any specific case, you wire a value out to the shift register that defines the next state. There are shipping examples and design patttern templates.
Message 8 of 8
(4,342 Views)