- #1
Sogeking
- 1
- 0
Homework Statement
Essentially, I need to program four control units of the Vacuum Heat Treatment Plant. These are; thermocouple, heater, blower, door switch.
Attachmen 1 : http://img209.imageshack.us/img209/7536/vacuumheattreatmentplan.png
Uploaded with ImageShack.us
Attachment 2: http://img138.imageshack.us/img138/7536/vacuumheattreatmentplan.png
Uploaded with ImageShack.us
The attachment 1 shows such a dryer where the granules are placed in an open top container with a fine sieved bottom. Hot air produced by the blower and the heating element passes through the sieve and fluidises the granules. The temperature of the air coming out of the granules is measured by a thermocouple. The temperature is low at the beginning and as the granules dry, the temperature gradually increases. The granules are considered to be dry when the outlet air temperature reaches the value of 75C. The signal conditioning circuit for the thermocouple produces an output of 0v for the temperature below 75C or an output of 5V for the temperature equal to above 75C .
But the following requirements has to be met;
1) The door, which allows the granule container to be placed in the dryer, must be closed before the dryer can be switched on;
(2) The blower must be switched on a finite time (not specified) before the heater to allow the blower to reach a reasonable speed;
(3) When the outlet air temperature reaches 750 C to indicate the completion of drying, the heater has to be switched off a finite time (not specified) before the blower.
Homework Equations
Equations aren't required for this problem.
The Attempt at a Solution
And this is what I have.
GOSUB CONFIGURE
GOSUB CHK_DOOR_1
GOSUB TURN_ON_BLOWER_1
GOSUB HEATER_0N
GOSUB THERMOCOUPLE_CHECK
GOSUB HEATER_0FF
GOSUB TURN_OFF_BLOWER_1
END
CONFIGURE
OUT 603, 152
RETURN
CHK_DOOR_1
LOOP 1 DOOR_PORT_C=INP(602)
MASK_1=%0100 0000
RESULT1=DOOR_PORT_C OR MASK1
IF RESULT1=0 THEN GOTO LOOP1
RETURN
TURN_ON_BLOWER_1
FOR (INT I =1; 1<100 ;I++) { →THIS IS FOR THAT TIME DELAY.
BLOWER_PORT_C=INP (602)
MASK_2=%1011 1111
RESULT2=BLOWER_PORT_C AND MASK
OUT 602, RESULT2
}
RETURN
HEATER_OFF
FOR (INT I =1; 1<100 ;I++) {
HEATER_PORT_B=INP (601)
MASK_3=%1111 1110
RESULT3=HEATER_PORT_B AND MASK_3
OUT 601, RESULT3
}
RETURN
THERMOCOUPLE_CHECK
LOOP2 THERMOCOUPLE_PORT_A=INP(600)
MASK_4=%0000 0001
RESULT_4=THERMOCOUPLE_PORT_A AND MASK
IF RESULT4=0 THEN GOTO LOOP2
OUT 600, RESULT4
RETURN
Is my programming correct? I'm not sure if I did the time delay correct. And also the Loop. Could you also comment on my use of programming spacing. I will greatly appreciate it if you can point out the areas that needs my attention, and also requires correction.
Thanks.
Last edited by a moderator: