Bausteine: AO, BO, MO, AVAL, BVAL, MVAL

In diesem Kapitel werden die allgemeinen Funktionalitäten beschrieben, die mehrere I/O-Bausteine gemeinsam haben. Pro Unterkapitel wird aufgelistet, für welche Bausteine das Unterkapitel gültig ist. Baustein-spezifische Erklärungen ohne allgemeine Gemeinsamkeit werden bei den entsprechenden I/O-Bausteinen beschrieben.

Prioritätsmechanismus

Grundfunktion

Für die prioritätsgerechte Auswertung der verschiedenen Sollwertvorgaben aus BACnet-Kommandierungen und Datenfluss-Verschaltungen sind die Bausteine AO, BO, MO, AVAL, BVAL und MVAL mit einer Prioritätsmatrix [PrioArr] ausgestattet.

Alle externen Quellen schreiben ihre Sollwertvorgabe und Aktivkennung (Freigabe) in diese [PrioArr]. Der Baustein ermittelt aus diesen Einträgen laufend den gültigen aktuellen Wert [PrVal].

In der [PrioArr] können maximal 16 unterschiedliche Einträge eingetragen werden, bestehend aus je einer Sollwertvorgabe und der zugehörigen Aktivkennung (Freigabe). Die Eintragsnummer entspricht zugleich der Priorität des entsprechenden Eintrags, wobei Priorität 1 der höchsten und Priorität 16 der niedrigsten Priorität entspricht. Die einzelnen Prioritäten haben eine vordefinierte Bedeutung.

[PrVal] ermitteln

Der Baustein ermittelt laufend aus den Eintragungen in der [PrioArr] den gültigen aktuellen Wert am Ausgang [PrVal]. Der Wert, der die höchste Priorität hat und dessen Aktivkennung (Freigabe) gesetzt ist, wird gewählt. Ist keine Aktivkennung gesetzt, wird der Vorgabewert [DefVal] weiterverarbeitet.

Struktur der Prioritätsmatrix [PrioArr]

Die einzelnen Prioritäten haben eine vordefinierte Bedeutung.

In der [PrioArr] sind für den Personenschutz, den Anlagenschutz, die manuelle Bedienung und für den Anlagenbetrieb je zwei benachbarte Prioritäten reserviert.

  • Die jeweils höhere Priorität (kleinere Zahl) dieser Prioritätspaare ist für die gewerkenahe, lokale Steuerung und Überwachung reserviert (Prio 1, 4, 7, 15).
  • Die jeweils tiefere Priorität (grössere Zahl) dieser Prioritätspaare ist für die über-geordnete Steuerung und Überwachung reserviert (Prio 2, 5, 8, 16).
  • Die Priorität 6 ist speziell für die Sicherstellung von Ein- und Ausschaltverzögerungen sowie für die Einhaltung minimaler Ein- und Ausschaltzeiten reserviert.

Damit kann sichergestellt werden, dass, z.B. ein NOT-AUS-Befehl, der vor Ort an der Anlage ausgelöst wird, gegenüber einer Sicherheitsfunktion aus einer übergeordneten Teilanlage prioritär behandelt wird.

Prio 6

Der Prioritätseintrag 6 wird benutzt, um aus der [PrioArr] resultierende Schaltbefehle zeitlich verzögert an den Ausgang [PrVal] weiterzuleiten. Damit lässt sich sowohl die Einhaltung von Ein- und Ausschaltverzögerungszeiten wie auch minimaler Ein- und Ausschaltzeiten sicherstellen.

Zu diesem Zweck wird der Wert von [PrVal] durch die bausteininterne Logik in den Prioritätseintrag 6 übernommen. Während des Ablaufs obiger Verzögerungszeiten wird Priorität 6 aktiv gesetzt und damit gegenüber Priorität 7…16 dominant. Ausserhalb dieser Zeiten ist Priorität 6 immer inaktiv.

Durch die Positionierung obiger Funktionalität innerhalb der [PrioArr] zwischen den Prioritäten 1…5 und 7…16 folgt:

  • Befehle mit Priorität 1…5 werden immer sofort, unabhängig von ablaufenden Verzögerungszeiten, ausgeführt
  • Befehle mit Priorität 7…16 werden von ablaufenden Verzögerungszeiten immer übersteuert

Im Gegensatz zu allen andern Einträgen in der [PrioArr] werden die Befehle und die Aktivkennung für Priorität 6 ausschliesslich durch die Bausteine BO, MO, BVAL, MVAL erzeugt und verwaltet. Priorität 6 kann nicht von einer externen Quelle beschrieben werden.

Die Ein-/Ausschaltverzögerung

Sobald einer der Befehle mit Priorität 7…16 [PrVal]-bestimmend wird und den momentanen Zustand von [PrVal] ändern würde, wird der Prioritätseintrag 6 wie folgt aufgesetzt:

Falls die Ein- [DlyOn] oder Ausschaltverzögerungszeit [DlyOff] > 0 ist:

  1. Priorität 6 übernimmt den noch unveränderten, aktuellen Wert von [PrVal].
  2. Priorität 6 wird aktiv gesetzt.
  3. Die Ein- oder Ausschaltzeitverzögerung wird gestartet.
  4. Nach Ablauf der Verzögerungszeit wird Priorität 6 inaktiv gesetzt.

Falls die Verzögerungszeiten [DlyOn], resp. [DlyOff] = 0 sind, erfolgt keine Aktion.

Ist der neue, [PrVal]-bestimmend Wert identisch mit dem momentanen Zustand von [PrVal], erfolgt ebenfalls keine Aktion.

Die minimale Ein-/Ausschaltzeit

Bei jeder Änderung am Ausgang [PrVal] von Aus auf Stufe-n oder von Stufe-n auf Aus, wird der Prioritätseintrag 6 wie folgt aufgesetzt:

Falls die minimale Ein- [TiOnMin], resp. Ausschaltzeit [TiOffMin] > 0 ist:

  1. Priorität 6 übernimmt den neuen Wert von [PrVal].
  2. Priorität 6 wird aktiv gesetzt.
  3. Die minimale Ein- resp. Ausschaltzeit wird gestartet.
  4. Nach Ablauf der Verzögerungszeit wird Priorität 6 inaktiv gesetzt.

Falls die minimalen Schaltzeiten [TiOnMin], resp. [TiOffMin] = 0 sind, erfolgt keine Aktion.

Einschränkungen

  • Obige Funktionalität wird nur von den Bausteinen BO, MO, BVAL und MVAL unterstützt.
  • Bei mehrstufigen Schaltbefehlen werden die Überwachungszeiten nur beim Umschalten von Aus auf Stufe-n oder von Stufe-n auf Aus aktiviert. Beim Umschalten zwischen den einzelnen Stufen (z. B. Stufe 1 auf Stufe 2) werden die Überwachungszeiten nicht aktiviert.
  • Bereits laufende Überwachungszeiten bleiben jedoch aktiv.

Applikation

  • Durch die Aktivierung von minimalen Ein-/Ausschaltzeiten lassen sich unnötige Ein- und Ausschaltvorgänge verhindern.
  • Durch die Aktivierung von Ein-/Ausschaltverzögerungen wird die Einhaltung von Nachlaufverzögerungen gewährleistet.

Aktivkennung

Damit ein bestimmter Wert bei der Auswertung der [PrioArr] berücksichtigt wird, muss seine Aktivkennung gesetzt sein.

Folgendes betrifft die Prioritäten 1,4,7 und (Datenflussverschaltung): Die jeweilige Aktivkennung wird über die Anschlüsse [EnSfty], [EnCrit], [EnSwi] resp. [EnPgm] gesetzt.

Wird via BACnet ein bestimmter Wert kommandiert, so wird der entsprechende Wert in der [PrioArr] eingetragen und die zugehörige Aktivkennung automatisch richtig gesetzt.

Sowohl der Wert wie auch die Aktivkennung werden vom entsprechenden Baustein verwaltet.

Prio

Bedeutung

Anwendung

Zugriff erfolgt über

1

Sicherheitswert (Personenschutz)

Reserviert für die Auslösung von Sicherheitsfunktionen (1 = höchste Prio).

Wird Priorität 1 oder 2 [PrVal]-bestimmend, wird der entsprechende Wert sofort an den Ausgang [PrVal] weitergeleitet. Er unterliegt nicht den Verzögerungszeiten der Prio 6.

Lokale Sicherheitsfunktion, z.B.:

- Feuer

- Not-Aus

- Wartungsschalter

- Gasalarm

- Thermopaket

Datenflussverschaltung über die Anschlüsse: [ValSfty] and [EnSfty].

Normalerweise ist [ValCrit] eine Konstante und [EnCrit] wird aktiviert/deaktiviert.

2

Übergeordnete Sicherheitsfunktion, z.B.:

- Entrauchen

BACnet-Kommandierung.

Zugriff über den Baustein CMD_CTL.

3

In Desigo nicht benutzt.

4

Kritischer Wert (Anlagenschutz)

Reserviert für die Überwachung von kritischen Anlagenzuständen.

Wird Priorität 4 oder 5 [PrVal] bestimmend, so wird der entsprende Wert sofort an den Ausgang [PrVal] weitergeleitet. Er unterliegt nicht den Verzögerungszeiten der Prio 6.

Lokale Überwachung kritischer Anlagenzustände, z. B.:

- Frostschutz (Auskühlschutz)

- Verriegelung von Aggregaten

- Vereisungsschutz

Datenflussverschaltung über die Anschlüsse: [ValCrit] und [EnCrit].

Normalerweise ist [ValCrit] eine Konstante und [EnCrit] wird aktiviert/deaktiviert.

5

Übergeordnete Überwachung kritischer Anlagenzustände:

- Frost in Lüftungsanlage (Klappen zu, Ventilatoren abstellen, Pumpe ein, Ventil auf)

BACnet-Kommandierung.

Zugriff über den Baustein CMD_CTL.

6

Minimale Ein-/Ausschaltzeit

Damit lassen sich unnötige Ein- und Ausschaltvorgänge verhindern.

Ein-/Ausschaltverzögerung

Gewährleistet die Einhaltung von Nachlaufverzögerungen.

Kein Zugriff !

Die Befehle werden ausschliesslich intern im Baustein erzeugt.

Die Überwachungszeiten [TiOnMin], [TiOffMin], [DlyOn] und [DlyOff] können in den Bausteinen BO, MO, BVAL, MVAL konfiguriert werden.

7

Bedienwert

Reserviert für die manuelle Bedienung.

Lokale manuelle Bedienung, z.B.:

- Handschalter

- Betriebswahlschalter

Datenflussverschaltung über die Anschlüsse: [ValSwi] und [ENSwi].

8

Übergeordnete manuelle Bedienung, z. B.:

- Desigo CC

- Bediengerät

- Web-Client

BACnet-Kommandierung. Zugriff über:

- Desigo CC

- Bediengerät

- Web-Client

9...13

In Desigo nicht benutzt.

14

Programmwert

Reserviert für den normalen Anlagenbetrieb mit Überwachung, Steuerung und Regelung.

Übergeordnete Steuerung und Überwachung der Anlage.

BACnet-Kommandierung. Zugriff über die Bausteine:

- CMD_CTL

- PWR_CTL (falls Freigabe der Regelung=Fest)

15

Lokale Steuerung und Regelung der Anlage.

Datenflussverschaltung über die Anschlüsse: [ValPgm] und [EnPgm].

Ist der Programmwert eine Reglergrösse, wird [EnPgm] = True und [ValPgm] = Reglergrösse.

Ist der Programmwert keine Reglergrösse, wird [EnPgm] = False.

16

Programmwert

Reserviert für PX-übergreifende allgemeine Kommandierungen über BACnet-Referenzen.

 

BACnet-Kommandierung. Zugriff über die Bausteine:

CMD_CTL

PWR_CTL (falls Freigabe der Regelung = Freigegeben)

PX-übergreifend über diverse Bausteine, z. B. ASCHED, BSCHED, MSCHED (Namensreferenz-Liste).

17

Vorgabewert [DefVal]

Falls keine der Prioritäten 1…16 aktiv ist, wird an deren Stelle [DefVal] weiter verarbeitet.

Der Einfluss des [DefVal] ist abhängig vom Zustand des jeweiligen Bausteins:

Ausser Betrieb [OoServ=False]:

[DefVal] unterliegt, wie die Werte der Prioritäten 7…16, den Verzögerungszeiten der Priorität 6.

[OoServ=True]:

[DefVal] wird sofort, an den Ausgang [PrVal] weitergeleitet.

BACnet-Kommandierung. Zugriff über:

- CFC

- PXM20

- Web-Client

Beispiel: Einfluss der Prioritäten 7...16 auf [PrVal]

Prio

Anwendung

1

Prio 7…16

Annahme: Der resultierende Schaltbefehl aus Prio (7…16) steht auf Off und ist aktiv gesetzt.

Prio 6

Annahme: Prio 6 ist nicht aktiv.

[PrVal]

Annahme: Ausgang [PrVal] steht auf Off.

2

Prio 7…16

Der resultierende Schaltbefehl aus Prio (7…16) schaltet von Aus auf Stufe 2.

Prio 6

Prio 6 übernimmt den noch unveränderten, aktuellen Wert von [PrVal=Aus] und wird aktiv gesetzt.

Gleichzeitig wird die Einschaltverzögerung [DlyOn] gestartet. Während dieser Verzögerungszeit bleibt Prio 6 aktiv – ihr Wert bleibt auf Aus.

[PrVal]

Da Prio 6 den resultierenden Schaltbefehl aus Prio (7…16) übersteuert, bleibt der Ausgang [PrVal] auf Aus.

3

Prio 7…16

k.A.

Prio 6

1. Nach Ablauf der Einschaltverzögerung [DlyOn] wird Prio 6 freigegeben.

2. Der resultierende Schaltbefehl Stufe 2 aus Prio (7…16) wird an [PrVal] ausgegeben.

3. Prio 6 übernimmt den neuen Wert von [PrVal] und wird wiederaktiv gesetzt. Gleichzeitig wird die minimale Einschaltzeit [TiOnMin] gestartet. Während dieser Überwachungszeit bleibt Prio 6 aktiv.

[PrVal]

Der Ausgang [PrVal] wechselt von Aus auf Stufe 2.

4

Prio 7…16

k.A.

Prio 6

Die minimale Einschaltzeit [TiOnMin] ist abgelaufen. Prio 6 wird freigegeben.

[PrVal]

Nach Wegfall der Prio 6 wird der Ausgang [PrVal] wieder durch den resultierenden Schaltbefehl aus Prio (7…16) bestimmt.

[PrVal] bleibt auf Stufe 2.

5

Prio 7…16

Keine der Aktivkennungen der Prio (7…16) ist aktiv.

Deshalb wird der resultierende Schaltbefehl durch [DefVal] bestimmt.

Prio 6

Der Baustein startet die Ausschaltverzögerung [DlyOff].

Während dieser Überwachungszeit wird Prio 6 aktiv gesetzt – ihr Wert bleibt auf Stufe 2.

[PrVal]

Da Prio 6 den resultierenden Schaltbefehl [DefVal] übersteuert, bleibt der Ausgang [PrVal] auf Stufe 2.

6

Prio 7…16

k.A.

Prio 6

1. Nach Ablauf der Ausschaltverzögerung [DlyOff] wird Prio 6 freigegeben.

2. Der resultierende Schaltbefehl Aus aus [DefVal] wird an [PrVal] ausgegeben.

3. Prio 6 übernimmt den neuen Wert von [PrVal] und wird wiederaktiv gesetzt. Gleichzeitig wird die minimale Ausschaltzeit [TiOffMin] gestartet. Während dieser Überwachungszeit bleibt Prio 6 aktiv.

[PrVal]

Der Ausgang [PrVal] wechselt von Stufe 2 auf Aus.

7

Prio 7…16

k.A.

Prio 6

Die minimale Ausschaltzeit [TiOffMin] ist abgelaufen. Prio 6 wird freigegeben.

[PrVal]

Da weder Prio 6 noch eine der Aktivkennungen der Prioritätseinträge (7…16) aktiv ist, wird der resultierende Schaltbefehl durch [DefVal] bestimmt.

Der Ausgangswert [PrVal] bleibt auf Aus.

8

Prio 7…16

Mindestens eine der Aktivkennungen der Prioritätseinträge (7…16) ist wieder aktiv.

Der resultierende Schaltbefehl aus Prio (7…16) steht auf Stufe 1.

Prio 6

Prio 6 übernimmt den noch unveränderten, aktuellen Wert von [PrVal=Aus] und wird aktiv gesetzt.
Gleichzeitig wird die Einschaltverzögerung [DlyOn] gestartet. Während dieser Verzögerungszeit bleibt Prio 6 aktiv – ihr Wert bleibt auf Aus.

[PrVal]

Da Prio 6 den resultierenden Schaltbefehl aus Prio (7…16) übersteuert, bleibt der Ausgang [PrVal] auf Aus.

9

Prio 7…16

k.A.

Prio 6

1. Nach Ablauf der Einschaltverzögerung [DlyOn] wird Prio 6 freigegeben.

2. Der resultierende Schaltbefehl Stufe 1 aus Prio (7…16) wird an [PrVal] ausgegeben.

3. Prio 6 übernimmt den neuen Wert von [PrVal] und wird wiederaktiv gesetzt. Gleichzeitig wird die minimale Einschaltzeit [TiOnMin] gestartet. Während dieser Überwachungszeit bleibt Prio 6 aktiv.

[PrVal]

Der Ausgang [PrVal] wechselt von Aus auf Stufe 1.

10

Prio 7…16

Der resultierenden Schaltbefehl aus Prio (7…16) schaltet von Stufe 1 auf Stufe 2.

Prio 6

Die minimale Einschaltzeit [TiOnMin] ist immer noch aktiv.

Umschalten von Stufe-m auf Stufe-n.

Bei mehrstufigen Schaltbefehlen werden die Überwachungszeiten nur beim Umschalten von Aus auf Stufe-n oder von Stufe-n auf Aus aktiviert. Beim Umschalten zwischen den einzelnen Stufen (z. B. Stufe 1 auf Stufe 2) werden diese Zeiten nicht aktiviert. Bereits laufende Überwachungszeiten bleiben jedoch aktiv –Prio 6 übernimmt den neuen Zielwert.

[PrVal]

Ein Wechsel von Stufe 1 auf Stufe 2 würde Prio 6 nicht aktivieren.

Da aber die minimale Einschaltzeit [TiOnMin] immer noch aktiv ist, übersteuert Prio 6 trotzdem den resultierenden Schaltbefehl aus Prio(7..16).

Der Ausgang [PrVal] schaltet von Stufe 1 auf Stufe 2.

11

Prio 7…16

k.A.

Prio 6

Die minimale Einschaltzeit [TiOnMin] ist abgelaufen. Prio 6 wird freigegeben.

[PrVal]

Nach Wegfall der Prio 6 wird der Ausgang [PrVal] wieder durch den resultierenden Schaltbefehl aus Prio (7…16) bestimmt.

Der Ausgang [PrVal] bleibt auf Stufe 2.

Beispiel: Einfluss der Prioritäten 1...5 auf [PrVal]

Prio

Anwendung

1

Prio 1…5

Annahme: Alle Aktivkennungen der Prio (1…5) sind inaktiv.

Prio 6

Annahme: Prio 6 ist nicht aktiv.

[PrVal]

Annahme: Ausgang [PrVal] steht auf Off.

2

Prio 1…5

Mindestens eine der Aktivkennungen der Prioritätseinträge (1…5) ist wieder aktiv. Der resultierende Schaltbefehl aus Prio (1…5) steht auf Aus.

Prio 6

Da der resultierende Schaltbefehl aus Prio (1…5) keine Änderung des Ausgangs [PrVal] zur Folge hat, bleibt Priorität 6 inaktiv.

[PrVal]

Der Ausgangswert [PrVal] bleibt auf Aus.

3

Prio 1…5

Der resultierende Schaltbefehl aus Prio (1…5) schaltet von Aus auf Stufe 1.

Prio 6

Prio 6 übernimmt den neuen Wert von [PrVal=Stufe 1] und wird aktiv gesetzt. Gleichzeitig wird die minimale Einschaltzeit [TiOnMin] gestartet, die Verzögerungszeit [DlyOn] wird dabei nicht abgewartet.

Hinweis:Einträge der Prio (1…5) initialisieren nur die minimalen Ein- resp. Ausschaltzeiten [TiOnMin] und [TiOffMin], nicht jedoch die Ein- resp. Ausschaltverzögerungszeiten.

Laufende [TiOnMin]- und [TiOffMin]-Zeiten kommen jedoch erst zum Tragen, wenn alle Prio (1…5) inaktiv sind, d.h. wenn eine der Prio (7…16) [PrVal]-bestimmend wird.

[PrVal]

Prio 1…5 sind zur Auslösung von Sicherheitsfunktionen reserviert und werden, unabhängig von allfällig laufenden Überwachungszeiten in Prio 6, sofort ausgeführt.

Der Ausgang [PrVal] wird sofort von Aus auf Stufe 1 geschaltet.

4

Prio 1…5

Keine der Aktivkennungen der Prioritätseinträge (1…5) ist aktiv

Prio 6

Die minimale Einschaltzeit [TiOnMin] ist immer noch aktiv. Prio 6 übernimmt den neuen Zielwert aus Prio (7…16).

[PrVal]

Der resultierende Schaltbefehl wird aus Prio 6 bestimmt.

Der Ausgang [PrVal] schaltet von Stufe 1auf Stufe 2.

5

Prio 1…5

k.A.

Prio 6

Die minimale Einschaltzeit [TiOnMin] ist abgelaufen. Prio 6 wird freigegeben.

[PrVal]

Da weder Prio 6, noch ein Eintrag der Prio (1…5) aktiv sind, wird der Ausgang [PrVal] wieder durch den resultierende Schaltbefehl aus Prio (7…16) bestimmt.

Der Ausgang [PrVal] bleibt auf Stufe 2.

Hinweis:Beim Umschalten zwischen Stufe 1 und Stufe 2 wird die minimale Einschaltzeit [TiOnMin] nicht neu gestartet.

6

Prio 1…5

Annahme: Alle Aktivkennungen der Prio (1…5) sind inaktiv.

Prio 6

Annahme: Prio 6 ist nicht aktiv.

[PrVal]

Annahme: Ausgang [PrVal] steht auf Off.

7

Prio 1…5

Mindestens eine der Aktivkennungen der Prioritätseinträge (1…5) ist wieder aktiv. Der resultierende Schaltbefehl aus Prio (1…5) steht auf Aus.

Prio 6

Da der resultierende Schaltbefehl aus Prio (1…5) keine Änderung des Ausgangs [PrVal] zur Folge hat, bleibt Priorität 6 inaktiv.

[PrVal]

Der Ausgangswert [PrVal] bleibt auf Aus.

8

Prio 1…5

Der resultierende Schaltbefehl aus Prio (1…5) schaltet von Aus auf Stufe 2.

Prio 6

Prio 6 übernimmt den neuen Wert von [PrVal=Stufe 2] und wird auf aktiv gesetzt. Gleichzeitig wird die minimale Einschaltzeit [TiOnMin] gestartet, die Verzögerungszeit [DlyOn] wird dabei nicht abgewartet.

Hinweis:Einträge der Prio (1…5) initialisieren nur die minimalen Ein- resp. Ausschaltzeiten [TiOnMin] und [TiOffMin], nicht jedoch die Ein- resp. Ausschaltverzögerungszeiten.

Laufende [TiOnMin]- und [TiOffMin]-Zeiten kommen jedoch erst zum Tragen, wenn alle Prio (1…5) inaktiv sind, d.h. wenn eine der Prio (7…16) [PrVal]-bestimmend wird.

[PrVal]

Prio 1…5 sind zur Auslösung von Sicherheitsfunktionen reserviert und werden, unabhängig vom Schaltzustand und allfällig laufender Überwachungszeiten in Prio 6, sofort ausgeführt.

Der Ausgang [PrVal] wird sofort von Off auf Stufe 2 geschaltet.

9

Prio 1…5

Der resultierende Schaltbefehl aus Prio (1…5) schaltet von Stufe 2 auf Aus.

Prio 6

Prio 6 übernimmt den aktuellen Wert von [PrVal=Off].

Die noch laufende minimale Einschaltzeit [TiOnMin] wird abgebrochen.
Der Baustein startet die minimale Ausschaltzeit [TiOffMin] neu.

[PrVal]

Prio 1…5 sind zur Auslösung von Sicherheitsfunktionen reserviert und werden, unabhängig vom Schaltzustand und allfällig laufender Überwachungszeiten in Prio 6, sofort ausgeführt.

Der Ausgang [PrVal] wird sofort von Stufe 2 auf Aus geschaltet.

10

Prio 1…5

Alle Aktivkennungen der Prio 1…5 sind inaktiv.

Prio 6

Die minimale Ausschaltzeit [TiOffMin] ist immer noch aktiv.

[PrVal]

Der resultierende Schaltbefehl wird aus Prio 6 bestimmt.

Der Ausgangswert [PrVal] bleibt auf Aus.

11

Prio 1…5

k.A.

Prio 6

Die minimale Ausschaltzeit [TiOffMin] ist abgelaufen. Prio 6 wird freigegeben.

[PrVal]

Da weder Prio 6, noch ein Eintrag der Prio (1…5) aktiv sind, wird der Ausgang [PrVal] wieder durch den resultierende Schaltbefehl aus Prio (7…16) bestimmt.

Der Ausgangswert [PrVal] bleibt auf Aus.

Schaltarten [SwiKind]

Bausteine: BO, MO, BVAL, MVAL

Alle schaltenden I/O-Bausteine besitzen ein parametrierbares Schaltverhalten. Das Schaltverhalten bestimmt die Funktion des Bausteins. Die Schaltfunktionen verwenden den Prioritätsmechanismus der [PrioArr] und die Schaltbefehlsverzögerung.

  • Normal: Direktes und stufenweises Schaltverhalten unter Berücksichtigung der Laufzeiten (z. B. Motor, Brenner, Klappe usw.)
  • Motor: Stufenweises Schaltverhalten für rotierende Aggregate unter Berücksichtigung von Hochlauf und Austrudelzeiten (Keilriemenschutz)
  • Trigger: Ereignisbasiertes Schaltverhalten der letzte hat Recht; Integration eines Datenpunktes (EIB, LonMark)
  • Switch: Impulsauslösung (ON/OFF) mit definierter Dauer
  • Taster mit Verzögerung: Impulsauslösung (Ein/Aus) mit definierter Dauer Der Impuls kann nach Bedarf verlängert werden.
  • Freigabe (Freigabebefehl): Ausgabe eines subsystemspezifischen Freigabewertes statt Present_Value (=Relinquish_Default), falls keine Priorität im Ausgangsobjekt aktiv ist

[SwiKind]

BO

MO

BVal

MVal

Normal

Motor

 

 

 

Auslöser/Trigger

 

 

Schalter

 

 

Taster mit Verzögerung

 

 

Freigabe

 

 

 

Normal

Normale Bearbeitung der Prozesswerte in der [PrioArr]. Die eingestellten Laufzeiten sind aktiv. Die Ausgänge können direkt oder stufenweise geschaltet werden.

Motor

Die Einstellung Motor wird verwendet, wenn Hochlauf- und Austrudelzeiten aufgrund von rotierender Schwungmasse berücksichtigt werden müssen. In dieser Einstellung wird anhand der eingestellten Zeiten verhindert, dass z. B. beim Schalten eines Ventilatormotors der Keilriemen überbelastet wird.

Beim Runterschalten wird zunächst anhand der Hochlaufzeit geprüft, ob die aktuelle Motor-Stufe bereits erreicht wurde. Erst wenn sich die Stufe in einem stabilen Zustand befindet, wird der Befehl zum Runterschalten ausgeführt. Während der Austrudelzeit ist der resultierende Befehl an die HW Aus. Nach Ablauf der Austrudelzeit wird der neue Befehl an die HW übermittelt.

Auslöser/Trigger

In der Einstellung Auslösung gewinnt die Quelle, die zuletzt geschrieben hat. Der gültige Wert wird aus der [PrioArr] auf [DefVal] geschrieben und an den Ausgang weitergegeben. Die Priorität wird anschliessend wieder freigegeben.

Die Prioritäten 7-16 werden in dieser Einstellung gleichwertig behandelt, die Prioritäten 1-5 haben blockierende Wirkung.

Die Auslösungsfunktionalität wird für die Integration, z. B. von Lon-Datenpunkten eingesetzt. Aufgrund des Ereignismechanismus wird diese Funktionalität nicht für P-Bus-Objekte eingesetzt.

Schalter

Schalter wird verwendet, um einen Impuls (Ein oder Aus) mit voreingestellter Dauer auszulösen. Ein Kommandieren via BACnet oder ein Freigabesignal via Datenflussverschaltung auf eine der Prioritäten 7…16 löst einen entsprechenden Impuls aus (Ereignis). Die Einstellung der minimalen Einschaltzeit [TiOnMin] und/oder minimale Ausschaltzeit [TiOffMin] ist erforderlich. Durch Parametrierung beider Zeiten können schnelle Schaltaktionen verhindert werden. Die Prioritäten 1…5 haben eine blockierende Wirkung.

Schalter mit Verlängerung (Zeitverlängerung)

Die Funktion Schalter mit Verzögerung ist analog zur Funktion Schalter, nur kann ein aktiver Impuls jederzeit durch einen neuen Impuls verlängert werden.

Lauf- und Überwachungszeiten

Die I/O-Funktionsbausteine sind mit den in der HLK-Technik notwendigen Lauf- und Überwachungszeiten ausgerüstet, so dass sie sich direkt als Komponente (Motor, Klappe, Ventilator usw.) einsetzen lassen.

Je nach Aufgabe können an den I/O-Bausteinen unterschiedliche Lauf- und Überwachungszeiten parametriert werden:

Laufzeiten:

  • Ein-/Ausschaltverzögerung
  • Minimale Ein-/Ausschaltzeit
  • Hochlauf/Austrudelzeit

Überwachungszeiten:

  • Rückmeldezeit beim Ein-/Ausschalten
  • Abweichung der Rückmeldung im Betrieb

Laufzeiten

Ein-/Ausschaltverzögerung

Bausteine: BO, MO, BVAL, MVAL

Die Ein-/Ausschaltverzögerung bewirkt an den schaltenden I/O-Bausteinen eine Verzögerung der Ausgabe, wenn der Schaltbefehl über die Priorität 7…16 geschrieben wurde. Die Verzögerungszeit wirkt auf Priorität 6 wie bereits beschrieben. Schaltbefehle über die Priorität 1…5 werden ohne Verzögerung ausgeführt.

Minimale Ein-/Ausschaltzeit

Die minimale Ein-/Ausschaltzeit bewirkt an den schaltenden I/O-Bausteinen eine zeitliche Blockierung des Ausgangs, wenn der Schaltbefehl über die Priorität 7…16 geschrieben wurde. Die minimale Ein-/Ausschaltzeit wirkt auf Priorität 6 wie bereits im Kapitel 24.2.1.3 beschrieben. Schaltbefehle über die Priorität 1…5 werden jedoch ohne Berücksichtigung der minimalen Ein-/Ausschaltzeit sofort ausgeführt.

Hochlauf-/Austrudelzeit

Die Hochlauf-/Austrudelzeiten (bzw. Auf-/Zulaufzeiten) lassen sich pro Stufe in einer Tabelle definieren. Die Zeiten sind wirksam in den Schalterarten [SwiKind] Normal und Motor.

Die Hochlaufzeit ist die Zeitspanne, die ein Motor beim Umschalten von einer tieferen in die nächsthöhere Stufe benötigt, um auf die neue Drehzahl zu kommen. Somit wird die Stromaufnahme des Motors begrenzt.

Die Austrudelzeit ist die Zeit, die der Motor nach einem Stufenwechsel in eine tiefere Stufe benötigt, um die neue Drehzahl der tieferen Stufe zu erreichen. Somit wird eine Rücklieferung an das Stromnetz verhindert und Keilriemen und Motor werden geschont.

Die Zeiten sind in der Regel von der bewegten Schwungmasse abhängig und müssen projektspezifisch ermittelt werden

Vor allem bei 1-stufigen Motoren können die Zeiten als Auf-/Zulaufzeiten verwendet werden, z. B. Klappenantrieb 0-100%. Eine sich bewegende Klappe kann somit im System abgebildet und das Übergangssignal zu Steuerungszwecken eingesetzt werden.

Überwachungszeiten

Rückmeldeüberwachung/Prozesswertüberwachung

Bausteine: BI, MI, BO, MO, BVAL, MVAL

Die I/O-Objekte sind mit einer Überwachungsfunktion ausgestattet. Die Ausgangsobjekte überwachen die Rückmeldung der Anlage. Dazu muss ein Adress-String in den Parameter Rückmeldungsadresse [FbAddr] eingetragen und die Alarmfunktion aktiv sein.

Die Eingangs- und Wertobjekte können auf Referenzwerte überwachen. Dazu müssen die entsprechenden Referenzwerte parametriert und die Alarmfunktion aktiviert werden.

Abweichungsüberwachung

Weicht der Rückmeldewert gegenüber dem Ausgangswert [PrVal] ab, so wird nach einer einstellbaren Zeitspanne ein Abweichungsalarm erzeugt und der Status des Bausteins wechselt zu in Alarm. Sobald die beiden Werte wieder übereinstimmen, werden Alarm und Status nach der eingestellten Zeitspanne wieder zurückgesetzt. Ansonsten erfolgt keine automatische Reaktion des Bausteins, d.h. sofern auf diesen Alarm eine Schaltreaktion in der Anlage erfolgen muss, ist diese Reaktion mittels des Störungsausgangs [Dstb] im CFC zu programmieren.

Rückmeldeüberwachung beim Ein-/Ausschalten

Die Zeitspanne, in der das Rückmeldesignal vom Ausgangswert [PrVal] nach einem Ein-/Ausschalten maximal abweichen darf, lässt sich parametrieren. Besteht nach Ablauf dieser Überwachungszeit immer noch eine Abweichung, so wird ein Alarm erzeugt und der Status des Bausteins wechselt zu in Alarm. Sobald die beiden Werte wieder übereinstimmen, werden Alarm und Status nach der eingestellten Zeitspanne wieder zurückgesetzt. Ansonsten erfolgt keine automatische Reaktion des Bausteins, d.h. sofern auf diesen Alarm eine Schaltreaktion in der Anlage erfolgen muss, ist diese Reaktion mittels des Störungsausgangs [Dstb] im CFC zu programmieren.

Keine Rückmeldeüberwachung

Wird die Rückmeldeüberwachung nicht benötigt und der Adress-String bleibt leer, so werden die Überwachungszeiten für die Baustein-interne Erzeugung des Übergangszustands [TraSta] benutzt. Das heisst, beim Ein-/Ausschalten wird für die eingestellte Zeitspanne das Signal des Übergangszustands gesetzt. Somit lässt sich im System ein sich bewegender Antrieb, z. B. eine Klappe, anzeigen.

Grenzwertüberwachung

Bausteine: AI, AO, AVAL

Bei den analogen I/O-Bausteinen lässt sich der aktuelle [PrVal] auf eine Obere/Untere Grenze überwachen. Ist die Alarmüberwachung eingeschaltet, wird nach einer einstellbaren Zeitspanne ein Abweichungsalarm erzeugt und der Status des Bausteins wechselt zu In Alarm. Sobald der aktuelle Werte wieder innerhalb der Grenzen liegt, werden Alarm und Status nach der eingestellten Zeitspanne wieder zurückgesetzt. Es erfolgt ansonsten keine automatische Reaktion des Bausteins, d.h. sofern auf diesen Alarm eine Schaltreaktion in der Anlage erfolgen muss, so ist diese Reaktion mittels des Störungausgangs [Dstb] in PX Design zu programmieren.

Übersteuern via Client

Eingangs-, Ausgangs- und Wertbausteine können über BACnet-Clients oder im Online-Testmodus in Xworks Plus (CFC) übersteuert werden.

Übersteuern eines Eingangswerts durch Bediener

In diesem Fall gibt es zwei Möglichkeiten.

1. Übersteuern über einen BACnet Client:

Der BACnet-Client wird über einen BACnet-Service übersteuert.

Bei einem Eingangsobjekt erfolgt das Übersteuern durch Setzen von Ausser Betrieb [OoServ] und Schreiben des gewünschten [PrVal]. [DefVal] wird dabei automatisch auf denselben Wert gesetzt wie [PrVal]. (Es kann auch [DefVal] überschrieben werden, [PrVal] wird dann automatisch übernommen.)

Beim Übersteuern mit PXM20 müssen diese Regeln nicht befolgt werden, dies macht das Bediengerät automatisch.

Übersteuerte Eingangsobjekte werden nicht automatisch zurückgesetzt. Dazu muss zuerst [OoServ] zurückgesetzt werden. [DefVal] bleibt dabei auf dem zuletzt übersteuerten Wert und [PrVal] wird wieder vom physikalischen Eingang übernommen).

2. Übersteuern über den Online-Testmodus im CFC:

Das Übersteuern mit CFC erfolgt über einen proprietären Service.

Die Ausgänge eines Bausteins lassen sich nicht überschreiben.

Zum Überscheiben des [PrVal] muss zuerst der Wert im [OoServ] auf TRUE gesetzt werden, danach kann der Wert im [DefVal] verändert werden. Mit der Übernahme wird der Wert als aktueller Wert übernommen und steht anschliessend am [PrVal] zur Verfügung.

Übersteuern eines Ausgangswerts durch Bediener

In diesem Fall gibt es zwei Möglichkeiten.

1. Übersteuern über einen BACnet Client:

Das Übersteuern eines Ausgangs- oder Wertobjekts basiert auf der im Objekt verfügbaren [PrioArr]. Priorität 8 ist reserviert für Bediener, d.h. PXM20 und Web-Client schreiben beim Übersteuern auf Priorität 8. Mit einem anderen BACnet-Client kann auch auf andere Prioritäten geschrieben werden.

Der Wert (Value oder NULL) wird in der [PrioArr] abgelegt. Als Resultat der Verarbeitung im Objekt wird der Wert, welcher ungleich NULL ist und die höchste Priorität aufweist, an [PrVal] ausgegeben. Ist keine Priorität aktiv, so wird [DefVal] ausgegeben.

2. Übersteuern über den Online-Testmodus in Xworks Plus (XWP):

[PrVal] ist ein Ausgang und kann somit nicht geändert werden. Hier muss zuerst der Wert im [EnOp] gesetzt werden; anschliessend wird der veränderbare Wert am [ValOp] in die Prioritätsliste auf Priorität 8 übernommen. Als Resultat der Verarbeitung im Objekt wird der Wert, welcher ungleich NULL ist und die höchste Priorität aufweist, an [PrVal] ausgegeben. Ist keine Priorität aktiv, so wird [DefVal] ausgegeben.

Betriebsstunden

Die Betriebsstundenzählung lässt sich bei Binary I/O sowie bei Multistate I/O-Bausteinen (BI, BO, MI, MO) realisieren. Ein Teil der Funktionalität ist durch die BACnet-Norm vorgegeben. Um die in der Gebäudeautomation geforderte Funktionalität vollumfänglich zur Verfügung zu stellen, wurden hier einige proprietäre Erweiterungen implementiert.

Funktion

Bei einem binären Eingangsobjekt werden die Betriebsstunden über den EIN-Zustand des [PrVal] ermittelt (d.h. es wird die Dauer erfasst, während der der Wert aktiv ist). Bei einem Multistate lassen sich die zu zählenden States definieren. Diese werden zusammengefasst in einem Zähler aufsummiert (die verschiedenen Zustände lassen sich nicht einzeln auswerten). Im Gegensatz zu den Eingangsobjekten wird für die Betriebsstundenmeldung der Ausgangsobjekte der EIN-Zustand des [FbVal] erfasst (nicht [PrVal]).

Bei der Betriebsstundenzählung gibt es zwei verschiedene Zähler:

  • Betriebsstundenzähler
  • Gesamtbetriebsstundenzähler

Freigabe

Die Betriebsstundenzählung kann über den Anschluss Freigabe Betriebsstundenzählung [EnOph] freigegeben werden. Für binäre Objekte ist dies ein binärer Wert, für Multistate-Objekte eine Liste der für die Zählung freigegebenen Werte.

Betriebsstundenzähler

Über den Betriebsstundenzähler werden die Wartungsmeldungen (Ereignisse) erzeugt. Dieser Wert wird typischerweise nach dem Durchführen der Wartung wieder zurückgesetzt. Zur weiteren Verschaltung im Programm (z.B. für eine betriebsstundenabhängige Umschaltung von Pumpen oder Kesseln), steht der Ausgang Aktuelle Betriebsstunden [PrOph] zur Verfügung.

Rücksetzen der Betriebsstunden

Für die Rücksetzung der aktuellen Betriebsstunden wird Eingang [Oph] verwendet. Im Online-Testmodus in Xworks Plus (XWP) oder über BACnet-Clients lässt sich der aktuelle Wert mit Schreiben eines neuen Wertes (normalerweise 0) zurücksetzen. Dieses Zurücksetzen hat keinen Einfluss auf den Gesamtbetriebsstundenzähler (Anschlüsse Gesamtbetriebsstunden [OphTot] und aktuelle Gesamtbetriebsstunden [PrOphTot]).

Gesamtbetriebsstundenzähler

Der Gesamtbetriebsstundenzähler erfasst die totale Laufzeit eines Aggregats. Er wird erst zurückgesetzt, wenn das Aggregat ausgewechselt wird. Zur weiteren Verschaltung im Programm steht Ausgang [PrOphTot] zur Verfügung.

Rücksetzen der Gesamtbetriebsstunden

Um die Gesamtbetriebsstunden zurückzusetzen steht der Eingang [OphTot] zur Verfügung. Im Online-Testmodus in Xworks Plus oder über BACnet-Clients lässt sich der aktuelle Wert mit dem Schreiben eines neuen Wertes (normalerweise 0) zurücksetzen. Dieses Zurücksetzen setzt gleichzeitig den Betriebsstundenzähler (Anschlüsse [Oph] und [PrOph]) auf denselben Wert.

Dies wird beispielsweise für Aggregate benötigt, welche als Ersatz eingebaut werden, aber bereits eine bestimmte Betriebszeit gelaufen sind.

Wartungsmeldung

Eine Wartungsmeldung (Ereignis) lässt sich wahlweise über eine gewisse Betriebszeit oder an einem bestimmten Datum erzeugen. Dafür lassen sich der Grenzwert [OphLm] und/oder der Wert Wartungsdatum [MntnDate] parametrieren. Bei Überschreiten des Grenzwertes oder bei Erreichen des Datums (um 13:00Uhr) wird eine Ereignismeldung ausgelöst. Gleichzeitig wird der binäre Ausgang Wartungsanzeige [MntnInd] für die weitere Verschaltung aktiv gesetzt. Nach dem Zurücksetzen der Betriebsstunden ändert dieser Ausgang wieder auf inaktiv. Gleichzeitig wird der Zeitstempel der letzten Zurücksetzung im Anschluss Zeitstempel der Betriebsstunden-Rücksetzung [TiStmOph] abgelegt.

Rückmeldungswert

Wenn ein Rückmeldungswert konfiguriert ist, wird die Betriebsstundenzählung anhand des Rückmeldungswerts vorgenommen und nicht anhand des aktuellen Werts.

Zur weiteren Verschaltung des Wartungsintervalls steht der Ausgang Aktuelle Betriebsstundengrenze [PrOphLm] zur Verfügung.

Wertebereich Betriebsstunden

Die Betriebsstunden werden mit 32 Bit erfasst, was den maximalen Wert von 4,294,967,296 ergibt. Mit der Auflösung in Sekunden ergibt das einen Wertebereich > 49,000 Tage (bzw. > 136 Jahre).

Ausser Betrieb [OoServ]

Über den Anschluss Ausser Betrieb [OoServ] wird der physikalische Ein-/Ausgang vom I/O-Baustein getrennt. Die Funktion Ausser Betrieb wird üblicherweise eingesetzt, wenn ein Hardware-Modul temporär nicht verwendet wird oder defekt ist, z. B. Fühler nicht angeschlossen oder defekt. Zuverlässigkeitsprobleme und dadurch entstehende Störungsalarme werden somit unterdrückt.

Eingangsbaustein

Ist bei einem Eingangsbaustein [OoServ=TRUE] der physikalische Eingang von [PrVal] entkoppelt ([PrVal] = [DefVal]), werden Änderungen des physikalischen Eingangs nicht an [PrVal] weitergegeben. Weiter sind Zuverlässigkeit [Rlb] und Zustandsflagge [StaFlg] ebenfalls vom physikalischen Eingang entkoppelt. In diesem Zustand lassen sich die Eigenschaften [PrVal] und [Rlb] für Testzwecke ändern.

Ausgangsbaustein

Ist die Eigenschaft Ausser Betrieb für einen Ausgangsbaustein gesetzt [OoServ=TRUE], wird der physikalischer Ausgang von [PrVal] getrennt. Änderungen des [PrVal] werden nicht an den physikalischen Ausgang, der den letzten Wert enthält, übertragen. Weiter sind Zuverlässigkeit [Rlb] und Zustandsflagge [StaFlg] ebenfalls vom physikalischen Ausgang entkoppelt. In diesem Zustand können [PrVal] und [Rlb] für Testzwecke geändert werden. Andere von diesen Eigenschaften abhängige Funktionen sind von [OoServ] unabhängig. Anschluss [PrVal] wird weiterhin gemäss [PrioArr] gesetzt, der Wert wird aber nicht an den physikalischen Ausgang weitergegeben.

Alarm- und Ereignisfunktionen

Jeder Ausgangs-, Eingangs- und Wert-Baustein lässt sich als Alarmquelle ein- und ausschalten und konfigurieren. Die Konfiguration erfolgt über die entsprechenden Einstellwerte an den Anschlüssen des Bausteins. Siehe Alarmkonzept.

Zuverlässigkeit (Rlb)

Die Zuverlässigkeit des aktuellen Wertes sowie die des physikalischen Ein-/Ausgangs wird am Anschluss Zuverlässigkeit [Rlb] dargestellt. So werden unter anderem Adressierungsfehler, Fühlerprobleme (Kurzschluss, Unterbrechung), Modulfehler (fehlende, falsche Module) erkannt und gemeldet. Siehe Zuverlässigkeitstabelle.

Inbetriebnahmezustand [ComgSta]

Während der Inbetriebnahmephase kann der Zustand des I/O am Anschluss [ComgSta] eingetragen werden. Die Einstellung hat keinen Einfluss auf das Programm und dient lediglich als eine Art Notizblock für die Inbetriebnahme.

Folgende Zustände stehen zur Wahl:

  • Geprüft
  • Nicht geprüft [DefVal]
  • Peripherie defekt oder fehlt
  • Kabel defekt oder fehlt
  • I/O defekt oder fehlt

Da dies ein statischer Zustand ist, muss er bei der Inbetriebnahme manuell eingestellt werden.

Zustandsflagge [StaFlg]

Der Anschluss Zustandsflagge [StaFlg] zeigt den Zustand des I/O-Bausteins an. Dieser Anschluss besteht aus vier Bool-Werten:

  • Logisch True (1), wenn der Anschluss Ereigniszustand [EvtSta] nicht den Wert Normal anzeigt.
  • Logisch True (1), wenn der Anschluss [Rlb] nicht den Wert NO_FAULT_DETECTED anzeigt.
  • Logisch True (1), wenn der Baustein-Datenpunkt lokal übersteuert wurde (z.B. manueller Schalter an I/O-Modul). Ist dieses Flag gesetzt, zeigen [PrVal] und [Rlb] Änderungen des physikalischen Ein-/Ausgangs nicht mehr an.
  • Logisch True (1), wenn der Anschluss [OoServ] aktiv ist.

Vorgabewert [DefVal]

Bei einem Eingangsbaustein wird [DefVal] auf [PrVal] durchgeschaltet, wenn [OoServ] auf True gesetzt ist.

Bei einem Ausgangsbaustein wird [DefVal] auf [PrVal] durchgeschaltet, wenn in der Prioritätsmatrix keine Priorität (1…16) aktiv ist.