FB_BA_ScheduleBase

FB_BA_ScheduleBase 1:

Der Basis Zeitplan repräsentiert die Parametrierung und Auswertung der abgeleiteten Zeitschalt-Funktionsbausteinen FB_BA_ScheduleAnalog, FB_BA_ScheduleBinary und FB_BA_ScheduleMultistate.

Der Baustein enthält die eigentlichen Zeitschalteinträge für 24 Ausnahmetage und 7 Wochentage.

Die Zeitschalteinträge für die 24 Ausnahmetage werden in der Liste aException parametriert.

Die Zeitschalteinträge für die 7 Wochentage werden in der Liste aWeek parametriert.

Die drei abgeleiteten Zeitschalt-Funktionsbausteine FB_BA_ScheduleAnalog, FB_BA_ScheduleBinary und FB_BA_ScheduleMultistate haben eine identische Funktionalität - sie unterscheiden sich ausschließlich im Datentyp der Schaltwerte, siehe Bespielinitialisierungen.

Unterschiedliche Datentypen lassen sich innerhalb eines Zeitschalt-Bausteins nicht mischen.

Ermittlung des resultierenden Schaltbefehls

Alle zu einem bestimmten Zeitpunkt aktiven Zeitschalteinträge werden in einer internen Prioritätsmatrix zusammengefasst. Aus diesen Zeitschalteinträgen bestimmt jener mit der höchsten Schaltzeit den Schaltwert an einem der abgeleiteten Funktionsbausteine FB_BA_ScheduleAnalog, FB_BA_ScheduleBinary oder FB_BA_ScheduleMultistate. Die Auswertung der Zeitschalteinträge erfolgt zyklisch.

Ein Zeitschaltbefehl gilt jeweils nur an einem Tag (bis Mitternacht). Entweder wird ab Mitternacht ein neuer Schaltbefehl definiert oder der Default-Wert der abgeleiteten Zeitschalt-Funktionsbausteine wird am PresentValue ausgegeben.

Der Basis-Zeitplan ermittelt den resultierenden Schaltbefehlseintrag PresentValue, gemäß folgender Kriterien:

Ein aktives Ausnahme-Profil mit aktivem Zeitschalteintrag hat Vorrang vor einer Wochenzeitschaltuhr, die Wochenzeitschaltuhr wird dann nicht berücksichtigt.

Hat ein aktives Ausnahme-Profil keinen Zeitschalteintrag, so wird automatisch die Wochenzeitschaltuhr hinzugezogen. Dieser Eintrag ist gleichzusetzen mit einem aktiven Ausnahme-Profil mit aktivem Zeitschalteintrag.

Erst wenn kein Ausnahme-Profil aktiv ist, kommt die Wochenzeitschaltuhr zum Tragen und bestimmt anhand aktiver Zeitschalteinträge den PresentValue.

Hat auch die Wochenzeitschaltuhr keinen aktiven Zeitschalteintrag, so ist der Default-Wert = PresentValue.

Beispiele zur Konfiguration in Verbindung mit weiteren Schedule Bausteinen.

FB_BA_ScheduleBase 2: Eingänge CONSTANT PERSISTENT

VAR_INPUT CONSTANT PERSISTENT
{region 'Variable Parameters'}
  {attribute 'parameterCategory':='Value'}
    aWeek         : T_BA_ScheduleWeek;
  {attribute 'parameterCategory':='Value'}
    aException    : T_BA_ScheduleExceptionList;
  {endregion}
END_VAR

Name

Typ

Beschreibung

aWeek

T_BA_ScheduleWeek

Das Wochenprogramm aWeek enthält für jeden Wochentag (Montag bis Sonntag) je ein Tagesprofil.

Ein Profil besteht aus den folgenden Eigenschaften:

  • Liste von Zeitschalteinträgen

Bespieldeklarationen sind anhängig zu finden.

aException

T_BA_ScheduleExceptionList

Das Liste aException enthält 24 Zeitplan-Ausnahme-Profile.

Ein Profil besteht aus den folgenden Eigenschaften:

  • Zeitraumtypen (Einfaches Datum, Datumsbereich, Woche Und Tag)
  • Datumswert
  • Liste von Zeitschalteinträgen

Bespieldeklarationen sind anhängig zu finden.

FB_BA_ScheduleBase 3: Eigenschaften

Name

Typ

Zugriff

Definitionsort

Beschreibung

Exception

T_BA_ScheduleExceptionList

Get / Set

Public

Die Eigenschaft Exception ermöglicht den Schreib- und Lesezugriff auf die Ausnahmeeinträge des Zeitplanes.

Week

T_BA_ScheduleWeek

Get / Set

Public

Die Eigenschaft Week ermöglicht den Schreib- und Lesezugriff auf das Wochenprogramm des Zeitplanes.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.62

Tc3_BA2 ab v5.5.2.0