void generic_EINKLEMMSCHUTZ_CTRL(void) { if (SYS_bit_get(Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX)) { switch (EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state) { case 1: /** state NORMALBETRIEB in chart EINKLEMMSCHUTZ_CTRL **/ { if (((FH_TUERMODUL__EKS_LEISTE_AKTIV && !(FH_TUERMODUL__EKS_LEISTE_AKTIV_old))) && ((!(FH_TUERMODUL__SFHZ && FH_TUERMODUL__SFHA)))) { stable = 0; SYS_bit_set(Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX); EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 2; break; } break; } case 2: /** state EINKLEMMUNG in chart EINKLEMMSCHUTZ_CTRL **/ { SYS_bit_clr(Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX); if ((!(FH_TUERMODUL__EKS_LEISTE_AKTIV) && FH_TUERMODUL__EKS_LEISTE_AKTIV_old)) { stable = 0; EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; break; } break; } default: { stable = 0; EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; break; } } /** switch EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state **/ } }
void FH_DU(void) { time = 1; /**SYS_get_clock()**/ stable = 0; step = 0; while (!stable) { stable = 1; step++; { switch (FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state) { case 1:/** state SCHLIESSEN in chart FH_STEUERUNG_DUMMY **/ { if ((!(FH_DU__MFHZ) && FH_DU__MFHZ_old)) { stable = 0; FH_DU__MFH = 0; FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; break; } break; } case 2:/** state BEREIT in chart FH_STEUERUNG_DUMMY **/ { if ((FH_DU__MFHZ && !(FH_DU__MFHZ_old))) { stable = 0; FH_DU__MFH = -100; FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 1; break; } if ((FH_DU__MFHA && !(FH_DU__MFHA_old))) { stable = 0; FH_DU__MFH = 100; FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 3; break; } break; } case 3:/** state OEFFNEN in chart FH_STEUERUNG_DUMMY **/ { if ((!(FH_DU__MFHA) && FH_DU__MFHA_old)) { stable = 0; FH_DU__MFH = 0; FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; break; } break; } default: { stable = 0; FH_DU__MFH = 0; FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; break; } } /** switch FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state **/ } { { if (!SYS_bit_get(Bitlist, active_KINDERSICHERUNG_CTRL_IDX)) { KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; } SYS_bit_clr(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX); if (!SYS_bit_get(Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX)) { EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; } SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX)) { SYS_bit_clr(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; } SYS_bit_clr(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX); if (!SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_IDX)) { SYS_bit_clr(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX); SYS_bit_clr(Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX); B_FH_TUERMODUL_CTRL_next_state = 2; FH_TUERMODUL_CTRL__N = 0; A_FH_TUERMODUL_CTRL_next_state = 1; SYS_bit_set(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX); WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; } SYS_bit_clr(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX); /** static reactions: **/ if (FH_DU__S_FH_TMBFZUCAN != FH_DU__S_FH_TMBFZUCAN_old) { if ((!FH_DU__DOOR_ID)) { FH_DU__S_FH_FTZU = FH_DU__S_FH_TMBFZUCAN; } } if (FH_DU__S_FH_TMBFZUDISC != FH_DU__S_FH_TMBFZUDISC_old) { if (FH_DU__DOOR_ID) { FH_DU__S_FH_TMBFZUCAN = FH_DU__S_FH_TMBFZUDISC; } } if (FH_DU__S_FH_TMBFAUFCAN != FH_DU__S_FH_TMBFAUFCAN_old) { if ((!FH_DU__DOOR_ID)) { FH_DU__S_FH_FTAUF = FH_DU__S_FH_TMBFAUFCAN; } } if (FH_DU__S_FH_TMBFAUFDISC != FH_DU__S_FH_TMBFAUFDISC_old) { if (FH_DU__DOOR_ID) { FH_DU__S_FH_TMBFAUFCAN = FH_DU__S_FH_TMBFAUFDISC; } } /** end static reactions **/ } } SYS_bit_cpy(Bitlist, active_KINDERSICHERUNG_CTRL_IDX, Bitlist, active_KINDERSICHERUNG_CTRL_old_IDX); SYS_bit_cpy(Bitlist, active_FH_TUERMODUL_CTRL_IDX, Bitlist, active_FH_TUERMODUL_CTRL_old_IDX); SYS_bit_cpy(Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX, Bitlist, active_EINKLEMMSCHUTZ_CTRL_old_IDX); SYS_bit_cpy(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX, Bitlist, active_BLOCK_ERKENNUNG_CTRL_old_IDX); FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC; FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF; FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC; FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU; generic_KINDERSICHERUNG_CTRL(); FH_DU__MFHA = FH_TUERMODUL__MFHA; FH_DU__MFHZ = FH_TUERMODUL__MFHZ; FH_DU__I_EIN = FH_TUERMODUL__I_EIN; FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV; FH_DU__POSITION = FH_TUERMODUL__POSITION; FH_DU__FT = FH_TUERMODUL__FT; FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC; FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL; FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC; FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL; FH_DU__KL_50 = FH_TUERMODUL__KL_50; FH_DU__BLOCK = FH_TUERMODUL__BLOCK; FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC; FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF; FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC; FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU; generic_FH_TUERMODUL_CTRL(); FH_DU__MFHA = FH_TUERMODUL__MFHA; FH_DU__MFHZ = FH_TUERMODUL__MFHZ; FH_DU__I_EIN = FH_TUERMODUL__I_EIN; FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV; FH_DU__POSITION = FH_TUERMODUL__POSITION; FH_DU__FT = FH_TUERMODUL__FT; FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC; FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL; FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC; FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL; FH_DU__KL_50 = FH_TUERMODUL__KL_50; FH_DU__BLOCK = FH_TUERMODUL__BLOCK; FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC; FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF; FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC; FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU; generic_EINKLEMMSCHUTZ_CTRL(); FH_DU__MFHA = FH_TUERMODUL__MFHA; FH_DU__MFHZ = FH_TUERMODUL__MFHZ; FH_DU__I_EIN = FH_TUERMODUL__I_EIN; FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV; FH_DU__POSITION = FH_TUERMODUL__POSITION; FH_DU__FT = FH_TUERMODUL__FT; FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC; FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL; FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC; FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL; FH_DU__KL_50 = FH_TUERMODUL__KL_50; FH_DU__BLOCK = FH_TUERMODUL__BLOCK; FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC; FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF; FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC; FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU; generic_BLOCK_ERKENNUNG_CTRL(); FH_DU__MFHA = FH_TUERMODUL__MFHA; FH_DU__MFHZ = FH_TUERMODUL__MFHZ; FH_DU__I_EIN = FH_TUERMODUL__I_EIN; FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV; FH_DU__POSITION = FH_TUERMODUL__POSITION; FH_DU__FT = FH_TUERMODUL__FT; FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC; FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL; FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC; FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL; FH_DU__KL_50 = FH_TUERMODUL__KL_50; FH_DU__BLOCK = FH_TUERMODUL__BLOCK; SYS_bit_cpy(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX, Bitlist, active_KINDERSICHERUNG_CTRL_IDX); SYS_bit_cpy(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, active_FH_TUERMODUL_CTRL_IDX); SYS_bit_cpy(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX, Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX); SYS_bit_cpy(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX, Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX); FH_TUERMODUL_CTRL__N_old = FH_TUERMODUL_CTRL__N; FH_TUERMODUL__I_EIN_old = FH_TUERMODUL__I_EIN; FH_DU__MFH = FH_DU__MFH_copy; FH_DU__I_EIN_old = FH_DU__I_EIN; BLOCK_ERKENNUNG_CTRL__N_old = BLOCK_ERKENNUNG_CTRL__N; FH_TUERMODUL__SFHZ_ZENTRAL_old = FH_TUERMODUL__SFHZ_ZENTRAL; FH_TUERMODUL__SFHZ_MEC_old = FH_TUERMODUL__SFHZ_MEC; FH_TUERMODUL__SFHA_ZENTRAL_old = FH_TUERMODUL__SFHA_ZENTRAL; FH_TUERMODUL__SFHA_MEC_old = FH_TUERMODUL__SFHA_MEC; FH_TUERMODUL__BLOCK = FH_TUERMODUL__BLOCK_copy; FH_TUERMODUL__BLOCK_old = FH_TUERMODUL__BLOCK; FH_TUERMODUL__SFHZ = FH_TUERMODUL__SFHZ_copy; FH_TUERMODUL__SFHZ_old = FH_TUERMODUL__SFHZ; FH_TUERMODUL__SFHA = FH_TUERMODUL__SFHA_copy; FH_TUERMODUL__SFHA_old = FH_TUERMODUL__SFHA; FH_TUERMODUL__MFHZ = FH_TUERMODUL__MFHZ_copy; FH_TUERMODUL__MFHZ_old = FH_TUERMODUL__MFHZ; FH_TUERMODUL__MFHA = FH_TUERMODUL__MFHA_copy; FH_TUERMODUL__MFHA_old = FH_TUERMODUL__MFHA; FH_TUERMODUL__EKS_LEISTE_AKTIV_old = FH_TUERMODUL__EKS_LEISTE_AKTIV; FH_DU__EKS_LEISTE_AKTIV_old = FH_DU__EKS_LEISTE_AKTIV; FH_DU__S_FH_TMBFAUFCAN_old = FH_DU__S_FH_TMBFAUFCAN; FH_DU__S_FH_TMBFZUCAN_old = FH_DU__S_FH_TMBFZUCAN; FH_DU__S_FH_TMBFZUDISC_old = FH_DU__S_FH_TMBFZUDISC; FH_DU__S_FH_TMBFAUFDISC_old = FH_DU__S_FH_TMBFAUFDISC; FH_DU__BLOCK = FH_DU__BLOCK_copy; FH_DU__BLOCK_old = FH_DU__BLOCK; FH_DU__MFHZ = FH_DU__MFHZ_copy; FH_DU__MFHZ_old = FH_DU__MFHZ; FH_DU__MFHA = FH_DU__MFHA_copy; FH_DU__MFHA_old = FH_DU__MFHA; } /** while(!stable) **/ } /** FH_DU **/
void generic_BLOCK_ERKENNUNG_CTRL(void) { if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX) && SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_old_IDX) && !SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX)) { SYS_bit_clr(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); } if (SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX)) { switch (BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state) { case 1: /** state KEINE_BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/ { if ((FH_TUERMODUL__I_EIN != FH_TUERMODUL__I_EIN_old) && ((FH_TUERMODUL__I_EIN > 0))) { stable = 0; FH_TUERMODUL__BLOCK_copy = 0; BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 2; BLOCK_ERKENNUNG_CTRL__N = 0; BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2; BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3; SYS_bit_set(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); break; } break; } case 2: /** state BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/ { if ((!(FH_TUERMODUL__MFHA) && FH_TUERMODUL__MFHA_old) || (!(FH_TUERMODUL__MFHZ) && FH_TUERMODUL__MFHZ_old)) { stable = 0; BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 0; break; } switch (BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state) { case 1: /** state FENSTER_BLOCKIERT in chart BLOCK_ERKENNUNG_CTRL **/ { break; } case 2: /** state FENSTER_BEWEGT_SICH in chart BLOCK_ERKENNUNG_CTRL **/ { if ((FH_TUERMODUL__I_EIN > (BLOCK_ERKENNUNG_CTRL__I_EIN_MAX - 2))) { stable = 0; FH_TUERMODUL__BLOCK_copy = 1; BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 1; break; } break; } case 3: /** state EINSCHALTSTROM_MESSEN in chart BLOCK_ERKENNUNG_CTRL **/ { SYS_bit_clr(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); if ((BLOCK_ERKENNUNG_CTRL__N == 11 && !(BLOCK_ERKENNUNG_CTRL__N_old == 11))) { stable = 0; BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 2; break; } /** static reactions: **/ if (BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state == 3) { if (step == 1 && tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy != 0 && (time - tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy == 0.002)) { BLOCK_ERKENNUNG_CTRL__N = BLOCK_ERKENNUNG_CTRL__N + 1; if ((FH_TUERMODUL__I_EIN > BLOCK_ERKENNUNG_CTRL__I_EIN_MAX)) { BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = FH_TUERMODUL__I_EIN; } } } /** end static reactions **/ break; } default: { stable = 0; BLOCK_ERKENNUNG_CTRL__N = 0; BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2; BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3; SYS_bit_set(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); break; } } /** switch BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state **/ break; } default: { stable = 0; BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; break; } } /** switch BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state **/ } }
void generic_FH_TUERMODUL_CTRL(void) { if (!SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_IDX) && SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_old_IDX) && !SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX)) { SYS_bit_clr(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX); SYS_bit_clr(Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX); } if (SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_IDX)) { if (!SYS_bit_get(Bitlist, active_KINDERSICHERUNG_CTRL_IDX)) { KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; } SYS_bit_clr(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX); if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX)) { SYS_bit_clr(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX); BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; } SYS_bit_clr(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX); SYS_bit_set(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX); switch (B_FH_TUERMODUL_CTRL_next_state) { case 1: /** state ZAEHLER_WHSP_ZU_HOCH in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL_CTRL__N == 59 && !(FH_TUERMODUL_CTRL__N_old == 59))) { stable = 0; B_FH_TUERMODUL_CTRL_next_state = 3; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } break; } case 2: /** state NICHT_INITIALISIERT in chart FH_TUERMODUL_CTRL **/ { if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHZ))) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; sc_FH_TUERMODUL_CTRL_2329_1 = time; B_FH_TUERMODUL_CTRL_next_state = 3; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } switch (NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state) { case 1: /** state SCHLIESSEN in chart NICHT_INITIALISIERT **/ { if (!(FH_TUERMODUL__SFHZ)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; break; } break; } case 2: /** state OEFFNEN in chart NICHT_INITIALISIERT **/ { if (!(FH_TUERMODUL__SFHA)) { stable = 0; FH_TUERMODUL__MFHA_copy = 0; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; break; } break; } case 3: /** state BEREIT in chart NICHT_INITIALISIERT **/ { if ((FH_TUERMODUL__SFHA)) { stable = 0; FH_TUERMODUL__MFHA_copy = 1; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 2; break; } if ((FH_TUERMODUL__SFHZ)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 1; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 1; break; } break; } default: { stable = 0; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; break; } } /** switch NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state **/ break; } case 3: /** state INITIALISIERT in chart FH_TUERMODUL_CTRL **/ { if (((FH_TUERMODUL_CTRL__N > 60 && !(FH_TUERMODUL_CTRL__N_old > 60))) && ((!(FH_TUERMODUL_CTRL__INREVERS1 || FH_TUERMODUL_CTRL__INREVERS2)))) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; FH_TUERMODUL__MFHA_copy = 0; B_FH_TUERMODUL_CTRL_next_state = 1; break; } if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHA))) { stable = 0; FH_TUERMODUL__MFHA_copy = 0; sc_FH_TUERMODUL_CTRL_2375_2 = time; B_FH_TUERMODUL_CTRL_next_state = 2; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; break; } if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHZ))) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; sc_FH_TUERMODUL_CTRL_2352_1 = time; B_FH_TUERMODUL_CTRL_next_state = 2; NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; break; } switch (INITIALISIERT_FH_TUERMODUL_CTRL_next_state) { case 1: /** state OEFFNEN in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL__POSITION >= 405)) { stable = 0; FH_TUERMODUL__MFHA_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } switch (OEFFNEN_FH_TUERMODUL_CTRL_next_state) { case 1: /** state TIPP_OEFFNEN in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old)) || (FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old))) { stable = 0; FH_TUERMODUL__MFHA_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0; break; } break; } case 2: /** state MAN_OEFFNEN in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old))) { stable = 0; OEFFNEN_FH_TUERMODUL_CTRL_next_state = 1; break; } if ((!(FH_TUERMODUL__SFHA) && FH_TUERMODUL__SFHA_old)) { stable = 0; FH_TUERMODUL__MFHA_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0; break; } break; } default: { stable = 0; OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2; break; } } /** switch OEFFNEN_FH_TUERMODUL_CTRL_next_state **/ break; } case 2: /** state SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL__POSITION <= 0)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } switch (SCHLIESSEN_FH_TUERMODUL_CTRL_next_state) { case 1: /** state TIPP_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ { if ((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old)) || (FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old))) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } switch (TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state) { case 1: /** state REVERSIEREN2 in chart FH_TUERMODUL_CTRL **/ { SYS_bit_clr(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX); if (SYS_bit_get(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 1; FH_TUERMODUL_CTRL__INREVERS2_copy = 0; TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; FH_TUERMODUL__MFHA_copy = 0; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); break; } break; } case 2: /** state TIPP_SCHLIESSEN1 in chart FH_TUERMODUL_CTRL **/ { if (SYS_bit_get(Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX)) { stable = 0; FH_TUERMODUL_CTRL__INREVERS2_copy = 1; SYS_bit_set(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX); TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); FH_TUERMODUL__MFHZ_copy = 0; sc_FH_TUERMODUL_CTRL_1781_10 = time; FH_TUERMODUL__MFHA_copy = 1; break; } break; } default: { stable = 0; TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); break; } } /** switch TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ break; } case 2: /** state MANUELL_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ { if ((!(FH_TUERMODUL__SFHZ) && FH_TUERMODUL__SFHZ_old)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } switch (MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state) { case 1: /** state REVERSIEREN1 in chart FH_TUERMODUL_CTRL **/ { SYS_bit_clr(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX); if (SYS_bit_get(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX)) { stable = 0; FH_TUERMODUL_CTRL__INREVERS1_copy = 0; MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; FH_TUERMODUL__MFHA_copy = 0; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); FH_TUERMODUL__MFHZ_copy = 1; break; } break; } case 2: /** state MAN_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ { if (SYS_bit_get(Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX)) { stable = 0; FH_TUERMODUL__MFHZ_copy = 0; FH_TUERMODUL_CTRL__INREVERS1_copy = 1; SYS_bit_set(Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX); MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); sc_FH_TUERMODUL_CTRL_1739_10 = time; FH_TUERMODUL__MFHA_copy = 1; break; } if ((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old))) { stable = 0; SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0; break; } break; } default: { stable = 0; MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); FH_TUERMODUL__MFHZ_copy = 1; break; } } /** switch MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ break; } default: { stable = 0; SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); FH_TUERMODUL__MFHZ_copy = 1; break; } } /** switch SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ break; } case 3: /** state BEREIT in chart FH_TUERMODUL_CTRL **/ { if (((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old))) && ((FH_TUERMODUL__POSITION > 0))) { stable = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 2; SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX); FH_TUERMODUL__MFHZ_copy = 1; break; } if (((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old))) && ((FH_TUERMODUL__POSITION < 405))) { stable = 0; FH_TUERMODUL__MFHA_copy = 1; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 1; OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2; break; } break; } default: { stable = 0; INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; break; } } /** switch INITIALISIERT_FH_TUERMODUL_CTRL_next_state **/ break; } default: { stable = 0; B_FH_TUERMODUL_CTRL_next_state = 2; break; } } /** switch B_FH_TUERMODUL_CTRL_next_state **/ switch (A_FH_TUERMODUL_CTRL_next_state) { case 1: /** state WIEDERHOLSPERRE in chart FH_TUERMODUL_CTRL **/ { SYS_bit_clr(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX); if ((step == 1 && tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL != 0 && (time - tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL == 1)) && ((FH_TUERMODUL__MFHZ || FH_TUERMODUL__MFHA))) { stable = 0; FH_TUERMODUL_CTRL__N = FH_TUERMODUL_CTRL__N + 1; A_FH_TUERMODUL_CTRL_next_state = 1; SYS_bit_set(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX); WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; break; } switch (WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state) { case 1: /** state WDHSP in chart FH_TUERMODUL_CTRL **/ { if ((step == 1 && tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL != 0 && (time - tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL == 3)) && (((!(FH_TUERMODUL__MFHZ || FH_TUERMODUL__MFHA)) && FH_TUERMODUL_CTRL__N > 0))) { stable = 0; FH_TUERMODUL_CTRL__N = FH_TUERMODUL_CTRL__N - 1; WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; break; } break; } default: { stable = 0; SYS_bit_set(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX); WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; break; } } /** switch WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state **/ break; } default: { stable = 0; FH_TUERMODUL_CTRL__N = 0; A_FH_TUERMODUL_CTRL_next_state = 1; SYS_bit_set(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX); WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; break; } } /** switch A_FH_TUERMODUL_CTRL_next_state **/ SYS_bit_cpy(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX); SYS_bit_cpy(Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX); } }