Пример #1
0
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 **/
  }
}
Пример #2
0
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 **/
Пример #3
0
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 **/
	}
}
Пример #4
0
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);
	}
}