LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Simulate an Oven Model

Hi,

I'm working on a LabView project. As I mentioned in the Subject title, my main task is to simulate an Oven Model (I'm not sure if this is the most suitable description).

To be more specific, I'm going to create a VI with one Control and one Indicator.

  • The range of Control is from 0 to 10 (for example)
  • While Control stays at 0, Indicator maintains at 50.
  • While I change Control to 5, because there is a time-delay, so after 5 seconds, Indicator starts increasing from 50 to 80, then decrease slightly to 75. Then Indicator maintains at 75. (is that called overshooting?)
  • While Control is increase to between 8 and 10, the Indicator value increases but the acceleration is decrease. Then the Indicator stays at around 90 and cannot increase anymore (saturation)

Can you suggest me some way to build that VI (the overshooting and saturation characteristic)? I have search for some similar thread in this forum but I don't think they match my requirement. If you find some, please let me know. 

Thank you so much!

 

 

 

0 Kudos
Message 1 of 6
(2,351 Views)

Seems like homework and we will be happy to help.

 

Do you have problem with the math or with translating it to LabVIEW? What have you done so far? Does everything except the overshoot and saturation work so far? 

0 Kudos
Message 2 of 6
(2,331 Views)

Hi altenbach,

Thank you for replying.

It is my homework, actually the preparation for some lessons with LabVIEW. 

The requirment is just simulate an oven, with a Control and an Indicator. All bullets I noted are just how I think my VI will work.

The problem is, if there is a math equation for the oven temperature already, I think that equation contains overshoot and saturation itself. 

So what I have to do now is find some LabVIEW function which can create them. (just like the delay characteristic of the oven, which I can simulate by using the time-delay)

Do you have any idea to solve my problem?

Hope to hear from you soon. 

 

 

 

 

0 Kudos
Message 3 of 6
(2,327 Views)

@meihk wrote:

 

Do you have any idea to solve my problem?


Yes, of course, but that something you should solve, but first you need to define the problem better. What does the control actually do? Does it (1) just regulate the % power to the heater or is there (2) some on/off thermostatic control that automatically turns a fixed power heater on or off depending on a setpoint set via the control?

 

Case (1) is easier but you won't get an overshoot.

Basically you would keep the current temperature in a shift register and simulate the heat loss by subtracting a suitable amount that scales with the temperature difference above 50. At the same time add a suitable amount scaled with the heater setting. Adjust the scale factors such that temperature asymptotically reaches 90 at full power. Run the loop at a reasonable rate. (picture is a simple draft that can give you some ideas).

 

altenbach_0-1590081941041.png

 

 

Case (2) Should have a control that sets the desired temperature (NOT heater power). You could do with an on/off heater control depending on setpoint, deadband, duty cycle and delays. You don't need any express VIs, just a simple state machine, keeping track of the various metrics.

 

I am sure you'll learn the limits of such primitive controls and your teacher will then go into the advantages of a well tuned PID system, which is probably the next project. 😄

 

0 Kudos
Message 4 of 6
(2,306 Views)

That's a lot of new things for me about LabVIEW and the controller. I guess I need sometime to digest your solution.

May I ask you some further questions, which is not related to this thread?

  • About the PID controller you mentioned. Is it output (control signal) is on/off only (like a boolean variable)? Or can it control a plant by adjust/regulate the % power (so the output will be a int/double/... variable)?
  • In another case, if I have the transfer function of the oven in s domain (named F(s)). Should I do this: create a "Control & Simulation Loop", then add the transfer function exactly like the one I have? (like this image)

And thank you so much for instruct me in detailed.

Untitled.png

 

 

0 Kudos
Message 5 of 6
(2,291 Views)

A PID control can control anything you want in any way you want. Read up on it here. It controls outputs so a desired system state is maintained based on available inputs. It is tuned for the response characteristics of the system to avoid oscillations while trying to reach any new setpoint as fast as and accurately as possible. Systems can vary widely. Controlling the temperature of a 1000 gallon tank of liquid deals with much slower responses compared to e.g. controlling a magnetic levitation system.

 

Sorry, I don't have the simulation toolkit, so I would do the same just in plain LabVIEW. As you can see from my example, simulation is easy and you can just add more characteristics.

0 Kudos
Message 6 of 6
(2,260 Views)