123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622 |
- <?xml version="1.0" encoding="utf-8"?>
- <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
- <POU Name="PROCESS" Id="{4e5b59a3-f96c-4b90-972f-6e352fb86290}" SpecialFunc="None">
- <Declaration><![CDATA[FUNCTION_BLOCK PROCESS
- VAR_INPUT
- ENABLE:BOOL;
- NEXTSTEP_EN:BOOL;
- Alarm_RST:BOOL;
- PMStableTime:INT;
- STEP_DATA:RecipeEachStep;
- END_VAR
- VAR_OUTPUT
-
- //APC
- APC_PRESSURE:REAL;
- APC_POSITION:REAL;
- APC_CONTROL_MODE:SINT;
-
- //MFC
- MFC1_SV:REAL;
- MFC2_SV:REAL;
- MFC3_SV:REAL;
- MFC4_SV:REAL;
- MFC5_SV:REAL;
- MFC6_SV:REAL;
- MFC7_SV:REAL;
- MFC8_SV:REAL;
- MFC9_SV:REAL;
-
- //HEATER
- WALL_TEMP:REAL;
- LID_TEMP:REAL;
- STAGE_EDGE_TEMP:INT;
- STAGE_CENTER_TEMP:INT;
-
- //STEP
- STEP_TIME_OUT:BOOL;
- STEP_ERR:BOOL;
- NEXTSTEP:BOOL;
-
- //Tolerance
- PRESSURE_WARNING:BOOL;
- PRESSURE_ALARM:BOOL;
-
- MFC1_WARNING:BOOL;
- MFC1_Alarm:BOOL;
-
- MFC2_WARNING:BOOL;
- MFC2_Alarm:BOOL;
-
- MFC3_WARNING:BOOL;
- MFC3_Alarm:BOOL;
-
- MFC4_WARNING:BOOL;
- MFC4_Alarm:BOOL;
-
- MFC5_WARNING:BOOL;
- MFC5_Alarm:BOOL;
-
- MFC6_WARNING:BOOL;
- MFC6_Alarm:BOOL;
-
- MFC7_WARNING:BOOL;
- MFC7_Alarm:BOOL;
-
- MFC8_WARNING:BOOL;
- MFC8_Alarm:BOOL;
-
- MFC9_WARNING:BOOL;
- MFC9_Alarm:BOOL;
-
- WALL_TEMP_WARNING:BOOL;
- WALL_TEMP_Alarm:BOOL;
-
- LID_TEMP_WARNING:BOOL;
- LID_TEMP_Alarm:BOOL;
-
- STAGE_EDGE_TEMP_WARNING:BOOL;
- STAGE_EDGE_TEMP_Alarm:BOOL;
-
- STAGE_CENTER_TEMP_WARNING: BOOL;
- STAGE_CENTER_TEMP_ALARM: BOOL;
-
- END_VAR
- VAR
- STEP_TIME:TON;
- STEP_TIME_DONE:BOOL;
-
- COMPLETION:INT;
-
- //Tolerance
- TOL_PRESSURE_PERCENT:Tolerance;
- TOL_PRESSURE_VALUE_EN:BOOL;
- TOL_PRESSURE_PERCENT_EN:BOOL;
-
- TOL_MFC1_PERCENT:Tolerance;
- TOL_MFC2_PERCENT:Tolerance;
- TOL_MFC3_PERCENT:Tolerance;
- //TOL_MFC4_PERCENT:Tolerance;
- TOL_MFC5_PERCENT:Tolerance;
- TOL_MFC6_PERCENT:Tolerance;
- TOL_MFC7_PERCENT:Tolerance;
- //TOL_MFC8_PERCENT:Tolerance;
- //TOL_MFC9_PERCENT:Tolerance;
- TOL_MFC_VALUE_EN:BOOL;
- TOL_MFC_PERCENT_EN:BOOL;
- TOL_WALL_TEMP_PERCENT:Tolerance;
- TOL_LID_TEMP_PERCENT:Tolerance;
- TOL_STAGE_EDGE_TEMP_PERCENT:Tolerance;
-
- TOL_STAGE_CENTER_TEMP_PERCENT:Tolerance;
- TOL_HEATER_VALUE_EN:BOOL;
- TOL_HEATER_PERCENT_EN:BOOL;
-
- TON_STEP_TIME:TON;
- TON_STEP_TIME_EN:BOOL;
-
- WARNING_OCC:BOOL;
- ALARM_OCC:BOOL;
-
- i:INT;
-
- STABLE_DONE:BOOL;
- EN_TRIG:R_TRIG;
- TON_STABLE_PROCESS:TON;
-
- CHAMBER_TEMP_MIN_VALUE:REAL;
- STAGE_EDGE_TEMP_MIN_VALUE:REAL;
- STAGE_CENTER_TEMP_MIN_VALUE:REAL;
-
- END_VAR
- ]]></Declaration>
- <Implementation>
- <ST><![CDATA[//NOT ENABLE
- IF NOT ENABLE
- THEN
- i:=0;
- STEP_ERR:=FALSE;
- STEP_TIME_OUT:=FALSE;
- NEXTSTEP:=FALSE;
- TON_STEP_TIME_EN:=FALSE;
- END_IF;
-
- //初始化
- EN_TRIG(CLK:= ENABLE, Q=> );
- IF EN_TRIG.Q OR NEXTSTEP_EN
- THEN
- i:=1;
- STEP_ERR:=FALSE;
- STEP_TIME_OUT:=FALSE;
- NEXTSTEP:=FALSE;
- TON_STEP_TIME_EN:=TRUE;
- END_IF;
-
- //STEP开始时赋值
- IF ENABLE AND NOT STEP_TIME_DONE
- THEN
- //APC
- IF STEP_DATA.LstUnit.Pressure.PressureUnitMode = 'Pressure'
- THEN
- APC_PRESSURE:=STEP_DATA.LstUnit.Pressure.StartValue;
- APC_CONTROL_MODE:=5;
- ELSIF
- STEP_DATA.LstUnit.Pressure.PressureUnitMode = 'Position'
- THEN
- APC_POSITION:=STEP_DATA.LstUnit.Pressure.StartValue;
- APC_CONTROL_MODE:=2;
- END_IF
-
- IF STEP_DATA.LstUnit.Pressure.ToleranceMode = 'Value'
- THEN
- TOL_PRESSURE_VALUE_EN:=TRUE;
- TOL_PRESSURE_PERCENT_EN:=FALSE;
- ELSIF
- STEP_DATA.LstUnit.Pressure.ToleranceMode = 'Percent'
- THEN
- TOL_PRESSURE_VALUE_EN:=FALSE;
- TOL_PRESSURE_PERCENT_EN:=TRUE;
- END_IF
-
- //MFC
- IF STEP_DATA.LstUnit.GAS.ToleranceMode = 'Value'
- THEN
- TOL_MFC_VALUE_EN:=TRUE;
- TOL_MFC_PERCENT_EN:=FALSE;
- ELSIF
- STEP_DATA.LstUnit.GAS.ToleranceMode = 'Percent'
- THEN
- TOL_MFC_VALUE_EN:=FALSE;
- TOL_MFC_PERCENT_EN:=TRUE;
- END_IF
-
- MFC1_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas1);
- MFC2_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas2);
- MFC3_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas3);
- MFC4_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas4);
- MFC5_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas5);
- MFC6_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas6);
- MFC7_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas7);
- MFC8_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas8);
- MFC9_SV:=INT_TO_REAL(STEP_DATA.LstUnit.GAS.Gas9);
-
- //HEATER
- IF STEP_DATA.LstUnit.Heater.ToleranceMode = 'Value'
- THEN
- TOL_HEATER_VALUE_EN:=TRUE;
- TOL_HEATER_PERCENT_EN:=FALSE;
- ELSIF
- STEP_DATA.LstUnit.Heater.ToleranceMode = 'Percent'
- THEN
- TOL_HEATER_VALUE_EN:=FALSE;
- TOL_HEATER_PERCENT_EN:=TRUE;
- END_IF
-
- WALL_TEMP:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.WallTemp);
- LID_TEMP:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.LidTemp);
- STAGE_EDGE_TEMP:= STEP_DATA.LstUnit.Heater.StageEdgeTemp*10;
- STAGE_CENTER_TEMP:= STEP_DATA.LstUnit.Heater.StageCenterTemp*10;
- END_IF;
- // Lifter
- GV.NDO.AV110 := STEP_DATA.Lifter_Up AND NOT STEP_DATA.Lifter_Down;
- GV.NDO.AV109 := FALSE;
- //取最小值
- IF
- GV.AI.Chamber_Temp1<=GV.AI.Chamber_Temp2 AND GV.AI.Chamber_Temp1<=GV.AI.Chamber_Temp3
- THEN
- CHAMBER_TEMP_MIN_VALUE:=GV.AI.Chamber_Temp1;
- ELSIF
- GV.AI.Chamber_Temp2<=GV.AI.Chamber_Temp1 AND GV.AI.Chamber_Temp2<=GV.AI.Chamber_Temp3
- THEN
- CHAMBER_TEMP_MIN_VALUE:=GV.AI.Chamber_Temp2;
- ELSIF
- GV.AI.Chamber_Temp3<=GV.AI.Chamber_Temp2 AND GV.AI.Chamber_Temp3<=GV.AI.Chamber_Temp1
- THEN
- CHAMBER_TEMP_MIN_VALUE:=GV.AI.Chamber_Temp3;
- END_IF
-
- IF
- GV.AI.Stage_Temp1<=GV.AI.Stage_Temp3
- THEN
- STAGE_EDGE_TEMP_MIN_VALUE:=GV.AI.Stage_Temp1;
- ELSE
- STAGE_EDGE_TEMP_MIN_VALUE:=GV.AI.Stage_Temp3;
- END_IF
-
- IF
- GV.AI.Stage_Temp2<=GV.AI.Stage_Temp4
- THEN
- STAGE_CENTER_TEMP_MIN_VALUE:=GV.AI.Stage_Temp2;
- ELSE
- STAGE_CENTER_TEMP_MIN_VALUE:=GV.AI.Stage_Temp4;
- END_IF
- //Tolerance
- TOL_PRESSURE_PERCENT(
- ENABLE:= TOL_PRESSURE_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_PRESSURE_VALUE_EN,
- TOL_P:= TOL_PRESSURE_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.Pressure.StartValue,
- PV:= GV.AI. APC.ACTUAL_PRESSURE,
- WARNING_RANGE:= STEP_DATA.LstUnit.Pressure.StartValueWarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Pressure.StartValueAlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Pressure.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> PRESSURE_WARNING,
- STU_ALARM=> PRESSURE_ALARM, );
- TOL_MFC1_PERCENT(
- ENABLE:= TOL_MFC1_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas1,
- PV:= GV.AI.MFC1_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas1WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas1AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC1_WARNING,
- STU_ALARM=> MFC1_Alarm, );
-
- TOL_MFC2_PERCENT(
- ENABLE:= TOL_MFC2_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas2,
- PV:= GV.AI.MFC2_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas2WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas2AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC2_WARNING,
- STU_ALARM=> MFC2_Alarm, );
-
- TOL_MFC3_PERCENT(
- ENABLE:= TOL_MFC3_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas3,
- PV:= GV.AI.MFC3_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas3WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas3AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC3_WARNING,
- STU_ALARM=> MFC3_Alarm, );
-
-
- TOL_MFC5_PERCENT(
- ENABLE:= TOL_MFC5_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas5,
- PV:= GV.AI.MFC5_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas5WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas5AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC5_WARNING,
- STU_ALARM=> MFC5_Alarm, );
-
- TOL_MFC6_PERCENT(
- ENABLE:= TOL_MFC6_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas6,
- PV:= GV.AI.MFC6_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas6WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas6AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC6_WARNING,
- STU_ALARM=> MFC6_Alarm, );
-
- TOL_MFC7_PERCENT(
- ENABLE:= TOL_MFC7_PERCENT.SV>0 AND ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_MFC_VALUE_EN,
- TOL_P:= TOL_MFC_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.GAS.Gas7,
- PV:= GV.AI.MFC7_Flow,
- WARNING_RANGE:= STEP_DATA.LstUnit.GAS.Gas7WarningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.GAS.Gas7AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.GAS.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> MFC7_WARNING,
- STU_ALARM=> MFC7_Alarm, );
- TOL_WALL_TEMP_PERCENT(
- ENABLE:= ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_HEATER_VALUE_EN,
- TOL_P:= TOL_HEATER_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.Heater.WallTemp,
- PV:= CHAMBER_TEMP_MIN_VALUE,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.WallTempWaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.WallTempAlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> WALL_TEMP_WARNING,
- STU_ALARM=> WALL_TEMP_Alarm, );
-
- TOL_LID_TEMP_PERCENT(
- ENABLE:= ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_HEATER_VALUE_EN,
- TOL_P:= TOL_HEATER_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.Heater.LidTemp,
- PV:= GV.AI. Lid_Temp,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.LidTempWaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.LidTempAlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> LID_TEMP_WARNING,
- STU_ALARM=> LID_TEMP_Alarm, );
-
-
- TOL_STAGE_EDGE_TEMP_PERCENT(
- ENABLE:= ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_HEATER_VALUE_EN,
- TOL_P:= TOL_HEATER_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.Heater.StageEdgeTemp,
- PV:= STAGE_EDGE_TEMP_MIN_VALUE,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageEdgeTempWaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageEdgeTempAlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_EDGE_TEMP_WARNING,
- STU_ALARM=> STAGE_EDGE_TEMP_Alarm, );
-
- TOL_STAGE_CENTER_TEMP_PERCENT(
- ENABLE:= ENABLE,
- STEP_TYPE:= STEP_DATA.Completion,
- STEP_TIME:= STEP_DATA.StepTime+STEP_DATA.AddTime,
- TOL_V:= TOL_HEATER_VALUE_EN,
- TOL_P:= TOL_HEATER_PERCENT_EN,
- SV:= STEP_DATA.LstUnit.Heater.StageCenterTemp,
- PV:= STAGE_CENTER_TEMP_MIN_VALUE,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageCenterTempWaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageCenterTempAlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_CENTER_TEMP_WARNING,
- STU_ALARM=> STAGE_CENTER_TEMP_ALARM, );
-
-
-
- //ALRAM & WARNING
- WARNING_OCC:= PRESSURE_WARNING
- OR MFC1_WARNING OR MFC2_WARNING OR MFC3_WARNING OR MFC4_WARNING OR MFC5_WARNING
- OR MFC6_WARNING OR MFC7_WARNING OR MFC8_WARNING OR MFC9_WARNING
- OR WALL_TEMP_WARNING OR LID_TEMP_WARNING OR STAGE_EDGE_TEMP_WARNING OR STAGE_CENTER_TEMP_WARNING;
-
- ALARM_OCC:= PRESSURE_ALARM
- OR MFC1_ALARM OR MFC2_ALARM OR MFC3_ALARM OR MFC4_ALARM OR MFC5_ALARM
- OR MFC6_ALARM OR MFC7_ALARM OR MFC8_ALARM OR MFC9_ALARM
- OR WALL_TEMP_ALARM OR LID_TEMP_ALARM OR STAGE_EDGE_TEMP_ALARM OR STAGE_CENTER_TEMP_ALARM;
- //STABLE DONE
- TON_STABLE_PROCESS(IN:= ENABLE, PT:= INT_TO_TIME(PMStableTime)*1000, Q=> , ET=> );
- STABLE_DONE:= TOL_PRESSURE_PERCENT.STABLE_DONE
- AND TOL_MFC1_PERCENT.STABLE_DONE
- AND TOL_MFC2_PERCENT.STABLE_DONE
- AND TOL_MFC3_PERCENT.STABLE_DONE
- AND TOL_MFC5_PERCENT.STABLE_DONE
- AND TOL_MFC6_PERCENT.STABLE_DONE
- AND TOL_MFC7_PERCENT.STABLE_DONE
- AND TOL_WALL_TEMP_PERCENT.STABLE_DONE
- AND TOL_LID_TEMP_PERCENT.STABLE_DONE
- AND TOL_STAGE_EDGE_TEMP_PERCENT.STABLE_DONE
- AND TOL_STAGE_CENTER_TEMP_PERCENT.STABLE_DONE
- AND TON_STABLE_PROCESS.Q;
- //STEP流程
- CASE i OF
- 1: IF STEP_DATA.Completion='Stable'
- THEN
- i:= 10;
- ELSIF STEP_DATA.Completion='Time'
- THEN
- i:= 20;
- END_IF
-
- //STABLE
- 10: IF STABLE_DONE
- THEN i:=100;
- END_IF;
-
- //TIME
- 20: IF ALARM_OCC
- THEN i:=50;
- ELSE i:=21;
- END_IF;
-
- 21: IF STEP_TIME_DONE
- THEN i:= 100;
- ELSE i:= 20;
- END_IF;
-
- //ALARM CONDITION
- 50: STEP_ERR:=TRUE;
- TON_STEP_TIME_EN:=FALSE;
-
- //TIME OUT
- 51: STEP_TIME_OUT:=TRUE;
- TON_STEP_TIME_EN:=FALSE;
-
- //FINISHED
- 100: NEXTSTEP:=TRUE;
- TON_STEP_TIME_EN:=FALSE;
- END_CASE;
-
- //PROCESS TIME
- STEP_TIME(IN:= TON_STEP_TIME_EN, PT:= INT_TO_TIME(STEP_DATA.StepTime+STEP_DATA.AddTime)*1000, Q=> STEP_TIME_DONE, ET=> );
-
-
-
- ]]></ST>
- </Implementation>
- <LineIds Name="PROCESS">
- <LineId Id="3674" Count="6" />
- <LineId Id="4359" Count="0" />
- <LineId Id="3681" Count="11" />
- <LineId Id="3696" Count="10" />
- <LineId Id="4163" Count="0" />
- <LineId Id="3707" Count="3" />
- <LineId Id="4151" Count="0" />
- <LineId Id="4153" Count="2" />
- <LineId Id="4161" Count="0" />
- <LineId Id="4157" Count="0" />
- <LineId Id="4164" Count="0" />
- <LineId Id="4158" Count="1" />
- <LineId Id="4162" Count="0" />
- <LineId Id="4152" Count="0" />
- <LineId Id="3711" Count="1" />
- <LineId Id="4167" Count="8" />
- <LineId Id="4165" Count="1" />
- <LineId Id="3713" Count="10" />
- <LineId Id="4177" Count="8" />
- <LineId Id="4176" Count="0" />
- <LineId Id="4186" Count="0" />
- <LineId Id="3724" Count="4" />
- <LineId Id="4571" Count="0" />
- <LineId Id="4368" Count="0" />
- <LineId Id="4572" Count="1" />
- <LineId Id="4369" Count="0" />
- <LineId Id="4380" Count="11" />
- <LineId Id="4370" Count="0" />
- <LineId Id="4392" Count="0" />
- <LineId Id="4408" Count="4" />
- <LineId Id="4419" Count="0" />
- <LineId Id="4407" Count="0" />
- <LineId Id="4420" Count="0" />
- <LineId Id="4422" Count="5" />
- <LineId Id="4421" Count="0" />
- <LineId Id="3729" Count="11" />
- <LineId Id="4149" Count="1" />
- <LineId Id="4429" Count="0" />
- <LineId Id="3741" Count="12" />
- <LineId Id="4199" Count="1" />
- <LineId Id="4430" Count="0" />
- <LineId Id="3754" Count="7" />
- <LineId Id="4189" Count="0" />
- <LineId Id="3763" Count="3" />
- <LineId Id="4201" Count="1" />
- <LineId Id="4431" Count="0" />
- <LineId Id="3767" Count="7" />
- <LineId Id="4190" Count="0" />
- <LineId Id="3776" Count="3" />
- <LineId Id="4203" Count="1" />
- <LineId Id="4432" Count="0" />
- <LineId Id="3780" Count="2" />
- <LineId Id="3795" Count="5" />
- <LineId Id="4192" Count="0" />
- <LineId Id="3802" Count="3" />
- <LineId Id="4208" Count="0" />
- <LineId Id="4207" Count="0" />
- <LineId Id="4433" Count="0" />
- <LineId Id="3806" Count="7" />
- <LineId Id="4193" Count="0" />
- <LineId Id="3815" Count="3" />
- <LineId Id="4209" Count="1" />
- <LineId Id="4434" Count="0" />
- <LineId Id="3819" Count="7" />
- <LineId Id="4194" Count="0" />
- <LineId Id="3828" Count="3" />
- <LineId Id="4211" Count="1" />
- <LineId Id="4435" Count="0" />
- <LineId Id="3832" Count="1" />
- <LineId Id="3860" Count="10" />
- <LineId Id="4213" Count="1" />
- <LineId Id="4436" Count="0" />
- <LineId Id="3871" Count="7" />
- <LineId Id="4195" Count="0" />
- <LineId Id="3880" Count="3" />
- <LineId Id="4215" Count="1" />
- <LineId Id="4437" Count="0" />
- <LineId Id="3884" Count="8" />
- <LineId Id="4196" Count="0" />
- <LineId Id="3894" Count="3" />
- <LineId Id="4217" Count="1" />
- <LineId Id="4438" Count="0" />
- <LineId Id="3898" Count="7" />
- <LineId Id="4197" Count="0" />
- <LineId Id="3907" Count="3" />
- <LineId Id="4220" Count="0" />
- <LineId Id="4219" Count="0" />
- <LineId Id="4439" Count="0" />
- <LineId Id="3911" Count="1" />
- <LineId Id="4133" Count="0" />
- <LineId Id="3913" Count="0" />
- <LineId Id="4134" Count="1" />
- <LineId Id="3914" Count="11" />
- <LineId Id="4366" Count="1" />
- <LineId Id="4345" Count="0" />
- <LineId Id="4347" Count="3" />
- <LineId Id="4352" Count="5" />
- <LineId Id="4364" Count="0" />
- <LineId Id="4363" Count="0" />
- <LineId Id="3927" Count="12" />
- <LineId Id="3941" Count="1" />
- <LineId Id="3953" Count="23" />
- <LineId Id="4358" Count="0" />
- <LineId Id="3977" Count="3" />
- <LineId Id="28" Count="0" />
- </LineIds>
- </POU>
- </TcPlcObject>
|