Thermal Fluid Oven Demo

© 2001 Juan Carlos Orozco

For MatPLC project. Uses GPL licence.

Introduction

The purpose of this project is to demonstrate the capabilities of the MatPLC control using a realistic example. We will put more enphasis in the control part of the machine instead of the exact phisical properties. The project will include the simulation of the plant, for this we will use some simplified models for each part of the machine. The simulation part will also run on the MatPLC plataform.

Machine Description

This oven is a 3 heating zone oven. The material to be heated is trasported with a belt that goes through the 3 heating zones. Each zone is heated using hot air that recirculates in each zone. The air is heated using radiators that radiate the heat of the thermal fluid that flows through the radiator pipes. The thermal fluid is heated using a gas combustion thermal liquid heater. The thermal fluid is continuosly flowing in a primary circuit, ech radiator has a three way valve that controls the flow in the secondary circuits that go through the radiators. Therefore we will have three secondary circuits one for each zone. This three way valves are the ones that control the heat in the recirculating air of each zone.

We will need to control the temperature of the heater, the temperature of the the recirculating air in each zone and the speed of the belt.

Actuators

Sensors

Variable Table

We will divide the project in four sections:

To have less variable definitions, we will place the values of the sensors in the simulation section and the values of the actuators in the control section.

Name

Description

Type

Unit

Default

Heater Control





ControlPeriod

The period of the control could be different than the period for the simulation. Normally the period for the simulation should be equal or smaller than this period.

int

msec

200

ThermalFluidTempSP

Set point for the thermal fluid temperature

Float

350

PrimCircuitFluidPump


Bool


0

GasAirValve

This is the throthle for the combustion. 0 is low flame (not shut down), 100 is maximum flame.

Float

%

0

CombustionAirFan


Bool


0

IgnitionSpark


Bool


0

Oven Control





Zone1TempSP

Set point for the temperature of the air in zone 1

Float

100

Zone2TempSP

Set point for the temperature of the air in zone 2

Float

100

Zone3TempSP

Set point for the temperature of the air in zone 3

Float

150

BeltMotorSpeed

Speed command to the belt motor drive.

Float

m/sec

0

BeltMotorSpeedSP

Set point for the speed of the belt.

Float

m/sec

0.5

HotAirBlowers


Bool


0

Z1ThreeWayValveFlow

Thermal fluid flow rate to the radiator of zone 1.

Float

%

0

Z2ThreeWayValveFlow

Thermal fluid flow rate to the radiator of zone2.

Float

%

0

Z3ThreeWayValveFlow

Thermal fluid flow rate to the radiator of zone3.

Float

%

0

Heater Simulation





SimulationPeriod

The simulation will be executed in a discrete way using this period time to recalculate all the variables on the system.

int

msec

200

ThermalFluidSpecificHeat


Float constant

kcal/kg*Cº

0.2

ThermalFluidMass


Float constant

kg

1600

MaxHeaterHeat


Float constant

kcal

25000

MinHeaterHeat


Float constant

kcal

2500

PrimCircuitToAmbHeatK

Coeficient to calculate the heat loss of the thermal fluid primary circuit to the Ambient.

Float constant

kcal/(sec*Cº)

1

AmbientTemperature


Float constant

20

ThermalFluidTemp


Float

0

FlameDetector

Used for safety.

Bool


0

HighTempInFluidSwitch

Used for safety.

Bool


0

Oven Simulation





RadiatorFluidMass

The mass of the thermal fluid in each radiator.

Float constant

kg

20

MaxFlowRateRadiator

Flow rate of thermal fluid to the radiator when the three way valve flow is 100%.

Float constant

kg/sec

1

AirSpecificHeat


Float constant

kcal/kg*Cº

0.5

Zone1AirMass


Float constant

kg

10

Zone2AirMass


Float constant

kg

10

Zone3AirMass


Float constant

kg

10

ProductMass

Mass of the product in each zone. Assuming continuous product.

Float constant

kg

15

ProductSpecificHeat


Float constant

kcal/kg*Cº

0.4

RadiatorToAirHeatK

Coeficient to calculate the heat transfer from the radiators to the recirculating air in each zone of the oven

Float constant

kcal/(sec*Cº)

1

AirToProductHeatK

Coeficient to calculate the heat transfer from the hot air to the product.

Float constant

kcal/(sec*Cº)

1

Z1AirToAmbientHeatK

Coeficient to calculate the heat loss from the hot air inside the zone 1 to the ambient. We could use this factor also to take into consideration the hot air that goes into the ambient and is replaced by fresh air from the ambient.

Float constant

kcal/(sec*Cº)

1

Z2AirToAmbientHeatK

Coeficient to calculate the heat loss from the hot air inside the zone 2 to the ambient. We could use this factor also to take into consideration the hot air that goes into the ambient and is replaced by fresh air from the ambient.

Float constant

kcal/(sec*Cº)

1

Z3AirToAmbientHeatK

Coeficient to calculate the heat loss from the hot air inside the zone 3 to the ambient. We could use this factor also to take into consideration the hot air that goes into the ambient and is replaced by fresh air from the ambient.

Float constant

kcal/(sec*Cº)

1

ProductTempZone1


Float

0

ProductTempZone2


Float

0

ProductTempZone3


Float

0

Zone1Temp

Temperature of the air in zone 1

Float

0

Zone2Temp

Temperature of the air in zone 2

Float

0

Zone3Temp

Temperature of the air in zone 3

Float

0

BeltMotorSpeedFeedback

Speed feedback from the belt motor drive.




Z1RadiatorTemp

Temperature of the thermal fluid in the radiator at zone 1.

Float

0

Z2RadiatorTemp

Temperature of the thermal fluid in the radiator at zone 2.

Float

0

Z3RadiatorTemp

Temperature of the thermal fluid in the radiator at zone 3.

Float

0

Z1AirPressure

Air presure switch from zone 1. Used for security.

Bool


0

Z2AirPressure

Air presure switch from zone 2. Used for security.

Bool


0

Z3AirPressure

Air presure switch from zone 3. Used for security.

Bool


0



Mathematical Models

The models are not based on real physical units and are used only to simulate in a simplified way the plant to be able to control it.

Q = m*c*DeltaT. Where m - Mass, c - Specific heat.

Heater x BTUs 1 BTU = 0.252 kcal

Combustion Heat

We will assume a linear response from the Gas Air Valve plus an offset to simulate that the low flame is not zero because the flame never shuts down.

CombHeat = (GAValve * HeaterSpan + HeaterMin) * HeaterOn

Not finished...

Files

README.html – This file.

README.txt – How to build and run. It contains a simple explanation of the keyboard functions that are actually implemented.

matplc.config – Point definition, synchronization definition, dsp module definition (Heater).

vitrine.config – Configuration for displaying the variables on the console.

vitrine.txt – Background or static text for the console.

constants.c – Assign values to all constants.

extramath.c – Execution of math functions that could not be implemented in the dsp module at the moment.

kbd.c – Implementation of the keyboard interface.

Makefile – To compile the project.

demo – Perl script to execute the demo. This program executes all the individual modules that are needed for the demo.

ToDo

WishList