123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572 |
- <?xml version="1.0" encoding="utf-8"?>
- <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
- <POU Name="PROCESS" Id="{8f0fc598-40b3-45a0-b6d6-82fe73246645}" 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_TEMP1,
- STAGE_TEMP2,
- STAGE_TEMP3,
- STAGE_TEMP4:REAL;
-
- //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_TEMP1_WARNING:BOOL;
- STAGE_TEMP1_Alarm:BOOL;
-
- STAGE_TEMP2_WARNING:BOOL;
- STAGE_TEMP2_Alarm:BOOL;
-
- STAGE_TEMP3_WARNING:BOOL;
- STAGE_TEMP3_Alarm:BOOL;
-
- STAGE_TEMP4_WARNING:BOOL;
- STAGE_TEMP4_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:Tolerance;
- TOL_MFC2:Tolerance;
- TOL_MFC3:Tolerance;
- //TOL_MFC4:Tolerance;
- TOL_MFC5:Tolerance;
- TOL_MFC6:Tolerance;
- TOL_MFC7:Tolerance;
- //TOL_MFC8:Tolerance;
- //TOL_MFC9:Tolerance;
- TOL_MFC_VALUE_EN:BOOL;
- TOL_MFC_PERCENT_EN:BOOL;
- TOL_WALL_TEMP:Tolerance;
- TOL_LID_TEMP:Tolerance;
- TOL_STAGE_TEMP1:Tolerance;
- TOL_STAGE_TEMP2:Tolerance;
- TOL_STAGE_TEMP3:Tolerance;
- TOL_STAGE_TEMP4: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_TEMP1:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.StageTemp1);
- STAGE_TEMP2:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.StageTemp2);
- STAGE_TEMP3:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.StageTemp3);
- STAGE_TEMP4:=INT_TO_REAL(STEP_DATA.LstUnit.Heater.StageTemp4);
- 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
-
- //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(
- ENABLE:= TOL_MFC1.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(
- ENABLE:= TOL_MFC2.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(
- ENABLE:= TOL_MFC3.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(
- ENABLE:= TOL_MFC5.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(
- ENABLE:= TOL_MFC6.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(
- ENABLE:= TOL_MFC7.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(
- 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(
- 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_TEMP1(
- 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.StageTemp1,
- PV:= GV.AI.Stage_Temp1,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageTemp1WaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageTemp1AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_TEMP1_WARNING,
- STU_ALARM=> STAGE_TEMP1_Alarm, );
-
- TOL_STAGE_TEMP2(
- 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.StageTemp2,
- PV:= GV.AI.Stage_Temp2,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageTemp2WaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageTemp2AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_TEMP2_WARNING,
- STU_ALARM=> STAGE_TEMP2_Alarm, );
-
- TOL_STAGE_TEMP3(
- 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.StageTEMP3,
- PV:= GV.AI.Stage_TEMP3,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageTEMP3WaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageTEMP3AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_TEMP3_WARNING,
- STU_ALARM=> STAGE_TEMP3_Alarm, );
-
- TOL_STAGE_TEMP4(
- 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.StageTEMP4,
- PV:= GV.AI.Stage_TEMP4,
- WARNING_RANGE:= STEP_DATA.LstUnit.Heater.StageTEMP4WaningRange,
- ALARM_RANGE:= STEP_DATA.LstUnit.Heater.StageTEMP4AlarmRange,
- DELAY_TIME:=STEP_DATA.LstUnit.Heater.ToleranceDelayTime,
- RST := Alarm_RST,
- STABLE_TIME := PMStableTime,
- STU_WARNING=> STAGE_TEMP4_WARNING,
- STU_ALARM=> STAGE_TEMP4_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_TEMP1_WARNING
- OR STAGE_TEMP1_WARNING OR STAGE_TEMP2_WARNING OR STAGE_TEMP3_WARNING OR STAGE_TEMP4_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_TEMP1_Alarm
- OR STAGE_TEMP1_ALARM OR STAGE_TEMP2_ALARM OR STAGE_TEMP3_ALARM OR STAGE_TEMP4_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.STABLE_DONE
- AND TOL_MFC2.STABLE_DONE
- AND TOL_MFC3.STABLE_DONE
- AND TOL_MFC5.STABLE_DONE
- AND TOL_MFC6.STABLE_DONE
- AND TOL_MFC7.STABLE_DONE
- AND TOL_WALL_TEMP.STABLE_DONE
- AND TOL_LID_TEMP.STABLE_DONE
- AND TOL_STAGE_TEMP1.STABLE_DONE
- AND TOL_STAGE_TEMP2.STABLE_DONE
- AND TOL_STAGE_TEMP3.STABLE_DONE
- AND TOL_STAGE_TEMP4.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="11534" Count="83" />
- <LineId Id="11950" Count="0" />
- <LineId Id="11954" Count="2" />
- <LineId Id="11620" Count="0" />
- <LineId Id="12100" Count="0" />
- <LineId Id="12098" Count="1" />
- <LineId Id="11621" Count="0" />
- <LineId Id="12101" Count="0" />
- <LineId Id="11622" Count="14" />
- <LineId Id="11653" Count="177" />
- <LineId Id="11913" Count="0" />
- <LineId Id="11915" Count="30" />
- <LineId Id="11914" Count="0" />
- <LineId Id="11831" Count="8" />
- <LineId Id="11946" Count="0" />
- <LineId Id="11840" Count="4" />
- <LineId Id="11947" Count="0" />
- <LineId Id="11845" Count="14" />
- <LineId Id="11948" Count="1" />
- <LineId Id="11860" Count="45" />
- <LineId Id="28" Count="0" />
- </LineIds>
- </POU>
- </TcPlcObject>
|