124 lines
3.5 KiB
Markdown
124 lines
3.5 KiB
Markdown
|
|
||
|
FC1035
|
||
|
|
||
|
```pascal
|
||
|
|
||
|
CASE "DB Cycle".nAutoStat OF
|
||
|
|
||
|
0: // Manual
|
||
|
|
||
|
"DB Cycle".xExecute := FALSE;
|
||
|
"DB Cycle".nZonaStat := 0;
|
||
|
|
||
|
IF ("DB Collegamento HMI".NumeroPagina.NumeroPaginaCorrente = #Page101) THEN
|
||
|
"DB Gateway".nOnSelection := "DB AreaPar".N["DB Cycle".nZona_ManSel].Gateway;
|
||
|
ELSIF ("DB Collegamento HMI".NumeroPagina.NumeroPaginaCorrente = #Page102) THEN
|
||
|
"DB Gateway".nOnSelection := "DB HMI Guide".nGWNumber;
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
1: // Stopped
|
||
|
|
||
|
"DB Cycle".xExecute := FALSE;
|
||
|
"DB Remote Control DB".WR.StatusWord."Bit_2 ChangeOverDone" := TRUE;
|
||
|
"DB Cycle".nZonaStat := 0;
|
||
|
|
||
|
// IF "xDI_SafetyModuleResetted_CH1" AND "xDI_SafetyModuleResetted_CH2" THEN
|
||
|
IF "DB HMI Guide".xPBReset THEN
|
||
|
"DB Cycle".nAutoStat := 2; // GOTO Resetting
|
||
|
END_IF;
|
||
|
// END_IF;
|
||
|
|
||
|
|
||
|
2: // Resetting
|
||
|
|
||
|
// "DB Cycle".xZona_Stopped := FALSE;
|
||
|
|
||
|
IF NOT "DB Alarms".Alm_1."15" THEN
|
||
|
"DB Cycle".nAutoStat := 3; // GOTO Idle
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
3: // Idle
|
||
|
|
||
|
IF "Ton_AutoStartDelay".Q THEN
|
||
|
"DB Cycle".nAutoStat := 4; // GOTO Starting
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
4: // Starting
|
||
|
|
||
|
"DB Cycle".nZonaStat := 2; // GOTO Assegnazione zona iniziale
|
||
|
|
||
|
|
||
|
5: // Execute
|
||
|
|
||
|
"DB Cycle".xExecute := TRUE;
|
||
|
"rtExecute"(CLK:= "DB Cycle".xExecute);
|
||
|
IF "rtExecute".Q THEN
|
||
|
"DB Cycle".nZonaStat := 3; // GOTO Caricamento posizione attuatori
|
||
|
END_IF;
|
||
|
|
||
|
IF "DB HMI Guide".xPBCycleStop THEN
|
||
|
"DB Cycle".nAutoStat := 10; // GOTO Stopping
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
6: // Completing
|
||
|
|
||
|
"DB Cycle".nZona_Actual := 1;
|
||
|
|
||
|
IF "DB Cycle".xCF_Complete THEN
|
||
|
"DB Cycle".nFormat_Actual := "DB Cycle".nFormat_Required;
|
||
|
"DB Cycle".sFormat_NameActual := "DB Cycle".sFormat_NameRequired;
|
||
|
END_IF;
|
||
|
|
||
|
"DB Cycle".nAutoStat := 7; // GOTO Complete
|
||
|
|
||
|
|
||
|
7: // Complete
|
||
|
|
||
|
"DB Cycle".nZonaStat := 1;
|
||
|
|
||
|
IF ("DB HMI Guide".xSELLocRem AND "DB HMI Guide".xPBReset) OR
|
||
|
(NOT "DB HMI Guide".xSELLocRem AND NOT "DB Remote Control DB".RD.CtrlWord."Bit_0 ChangeOverRequest") THEN
|
||
|
"DB Cycle".nAutoStat := 1; // GOTO Stopped
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
10: // Stopping
|
||
|
|
||
|
"DB Cycle".xExecute := TRUE;
|
||
|
|
||
|
IF "DB Cycle".xZona_Stopped THEN
|
||
|
"DB Cycle".nAutoStat := 1; // GOTO Stopped
|
||
|
"DB Cycle".xZona_Stopped := FALSE;
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
11: // Aborting
|
||
|
|
||
|
"DB Cycle".xExecute := FALSE;
|
||
|
"DB Cycle".nZonaStat := 0;
|
||
|
|
||
|
IF "DB Cycle".xZona_Stopped THEN
|
||
|
"DB Cycle".nAutoStat := 12; // GOTO Aborted
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
12: // Aborted
|
||
|
|
||
|
"DB Cycle".xZona_Stopped := FALSE;
|
||
|
|
||
|
IF "DB HMI Guide".xPBReset THEN
|
||
|
"DB Cycle".nAutoStat := 1; // GOTO Stopped
|
||
|
END_IF;
|
||
|
|
||
|
|
||
|
13: // Clearing
|
||
|
|
||
|
IF NOT "DB HMI Guide".xActiveAlarm THEN
|
||
|
"DB Cycle".nAutoStat := 1; // GOTO Stopped
|
||
|
END_IF;
|
||
|
|
||
|
```
|