Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FUNCTION deckControlStartHeat : VOID
- title = 'deck control start heat'
- family : 'deckCtrl'
- author : 'dsh'
- VAR_INPUT
- oven : INT;
- deck : INT;
- recipe : INT;
- END_VAR
- VAR_TEMP
- copyRet : INT;
- dTemp : INT;
- END_VAR
- BEGIN
- IF DeckControlDB.data[oven,deck].STATE = 3 OR
- DeckControlDB.data[oven,deck].STATE = 5 OR
- DeckControlDB.data[oven,deck].STATE = 6 OR
- DeckControlDB.data[oven,deck].STATE = 12 THEN
- copyRet := RecHandlerCopyDeck(oven := oven,
- deck := deck,
- recipe := recipe);
- IF copyRet <> 0 THEN
- deckControlerror(oven := oven, deck := deck, error := 1);
- RETURN;
- END_IF;
- // check if pre heating is required
- IF (SfTemperatureGet(oven := oven, deck := deck) -
- DeckControlDB.settings[oven,deck].minTempDiffToStart) >=
- DeckControlDB.data[oven, deck].act_recipe.Temperature THEN
- // do not heat, switch to ready to load...
- StateChange(p_dst_state := 6, p_state := DeckControlDB.data[oven,deck].STATE);
- ELSE
- IF DeckDoorIsClosed(oven := oven, deck := deck) THEN
- StateChange(p_dst_state := 4, p_state := DeckControlDB.data[oven,deck].STATE);
- dTemp := DeckControlDB.data[oven, deck].act_recipe.Temperature // calculate ?T
- - SfTemperatureGet(oven := oven, deck := deck);
- DeckControlDB.data[oven,deck].specHeatTimeMin := SysTempCalc(deck := deck, dTemp := dTemp); // calculate ?t
- DeckControlDB.data[oven,deck].panel_state := 3;
- DeckControlDB.data[oven,deck].actHeattimeMin := 0;
- DeckControlDB.data[oven,deck].actHeattimeSec := 0;
- DeckControlDB.data[oven,deck].HeatTimeCount := 0;
- FireControlPrepare(oven := oven, deck := deck);
- ELSE
- deckControlerror(oven := oven, deck := deck, error := 2);
- END_IF;
- END_IF;
- END_IF;
- END_FUNCTION
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement