=== FB 91: MSensoren  [STL] ===
INTERFACE:
  Input:
    ESensor : Bool                                      // Eingang des zu überwachenden Sensors
    T_Ein : Int := 1                                    // Einschaltzeitverzögerung (*100ms)
    T_Aus : Int := 5                                    // Ausschaltzeitverzögerung  (*100ms)
    tein_aktiv : Bool := TRUE                           // Einschaltzeit aktivieren
    taus_aktiv : Bool := TRUE                           // Ausschaltzeit aktivieren
  Output:
  InOut:
  Static:
    Stat : "USensor_Ein_Aus"                            // Status des Endschalters
  Temp:
  Constant:

--- NW 1: Zeitwert löschen ---
      A      ESensor
      A      Stat.B_Akt
      O
      AN     ESensor
      AN     Stat.B_Akt
      JCN    Nw02


tdel: L      0                                               // Zeitwert löschen
      T      Stat.T_Zelle

      BEU

--- NW 2: Einschaltzeit abgelaufen ? ---
Nw02: L      Stat.T_Ein_Akt                                  // Gewollter Zeitwert
      L      9999                                            // angegeben ?
      <>I                                                    // Ja !
      JC     w020

      L      T_Ein                                           // Sollwert übergeben
      T      Stat.T_Ein_Akt                                  // Gewollter Zeitwert

w020: A      Stat.B_Akt
      JC     Nw03

      L      Stat.T_Zelle                                    // Aktueller Zeitwert
      L      Stat.T_Ein_Akt                                  // Gewollter Zeitwert erreicht ?
      >=I
      S      Stat.B_Akt                                      // Sensor ist nach Einschaltzeit aktiv
      JC     tdel                                            // Zeit löschen

      JU     Nw04

--- NW 3: Ausschaltzeit abgelaufen ? ---
Nw03: L      Stat.T_Aus_Akt                                  // Gewollter Zeitwert
      L      9999                                            // angegeben ?
      <>I                                                    // Ja !
      JC     w030

      L      T_Aus                                           // Sollwert übergeben
      T      Stat.T_Aus_Akt                                  // Gewollter Zeitwert

w030: AN     Stat.B_Akt
      JC     Nw04

      L      Stat.T_Zelle                                    // Aktueller Zeitwert
      L      Stat.T_Aus_Akt                                  // Gewollter Zeitwert erreicht ?
      >=I
      R      Stat.B_Akt                                      // Sensor ist nach Ausschaltzeit nicht mehr aktiv
      JC     tdel                                            // Zeit löschen


--- NW 4: Zeit läuft ---
Nw04: AN     "100ms-Impuls"                                  // nur als Impuls
      O
      AN     Stat.B_Akt                                      // Einschaltzeit läuft
      AN     tein_aktiv                                      // aber Zeit einfrieren
      O
      A      Stat.B_Akt                                      // Ausschaltzeit läuft
      AN     taus_aktiv                                      // aber Zeit einfrieren
      BEC

      L      Stat.T_Zelle
      L      "MW2"
      +I
      T      Stat.T_Zelle


--- NW 5: Ende ---
      BE

