Valve3P (FB)

FUNCTION_BLOCK Valve3P

Kurzbeschreibung

Steuerung eines 3-Punkt-Ventilantriebs und Berechnung der Ventilposition
Zusätzlich ist der 3-Punkt-Antrieb durch eine Blockierschutzfunktion geschützt.
Typische Anwendung: Steuerung eines 3-Punkt-Ventilantriebs in einem Heizkreis

Darstellung

../_images/Valve3P_FB.png

Schnittstellen

Eingänge

Name Datentyp Wertebereich Initialwert Funktion
xInOpen BOOL     Anforderung - Ventilöffnung
xInClose BOOL     Anforderung - Ventilschliessung
eAOOOpen HVACTYPES.eManBin HVACTYPES.eManBin.Auto, HVACTYPES.eManBin.ManOff, HVACTYPES.eManBin.ManOn   Betriebsart der Handübersteuerung - Hardware für die Ventilöffnung
eAOOClose HVACTYPES.eManBin HVACTYPES.eManBin.Auto, HVACTYPES.eManBin.ManOff, HVACTYPES.eManBin.ManOn   Betriebsart der Handübersteuerung - Hardware für die Ventilschliessung

Ausgänge

Name Datentyp Wertebereich Initialwert Funktion
xHBOpen BOOL     Freigabe - Ventilöffnung nach Handübersteuerung
xHBClose BOOL     Freigabe - Ventilschliessung nach Handübersteuerung
xABOpen BOOL     Freigabe - Ventilöffnung vor Handübersteuerung
xABClose BOOL     Freigabe - Ventilschliessung vor Handübersteuerung
dtAbsLastOn DATE_AND_TIME     Startdatum/-zeitpunkt der letzten Blockierschutzprozesses
rPos REAL 0.0 ... 100.0   Aktuelle Ventilposition

Sollwerte / Parameter

Name Datentyp Wertebereich Initialwert Funktion
tDuration TIME   120s Laufzeit des Antriebs
udiAbsTime UDINT 0 bis 3600s 200s Zeitdauer des Blockierschutzprozesses
todAbsStartTime TOD   TOD#09:00:00 Uhr Startzeitpunkt des Blockierschutzprozesses
eAbsDay eDoW   eDow.Montag Wochentag des Blockierschutzprozesses
eManModeOpen eMANBIN eMANBIN.Auto, eMANBIN.Off, eMANBIN.On eMANBIN.Auto Betriebsart der Handübersteuerung - Venilöffnung
eManModeClose eMANBIN eMANBIN.Auto, eMANBIN.Off, eMANBIN.On eMANBIN.Auto Betriebsart der Handübersteuerung - Venilschliessung

Funktionsbeschreibung

Allgemeines

Dieser Funktionsbaustein dient zur Steuerung der Position eines 3-Punkt-Ventilantriebs durch die Ausgänge Freigabe - Ventilöffnung nach Handübersteuerung xHBOpen bzw. xHBClose.
Die aktuelle Ventilposition wird permanent berechnet und steht am Ausgang rPos zur Verfügung.
Es kommen im Wesentlichen folgende Funktionsbausteine zur Anwendung:

Abs3P

ManBin

Position3P

Blockierschutzprozess

Dieser Prozess wird durch die Überwachung der Signale 1 und 2 auf Aktivität und bei Bedarf durch die Auslösung des Blockierschutzes realisiert.
Der Prüfzeitraum umfasst dabei jeweils 168 Stunden ( = 1 Woche ).
Die Signale 1 und 2 sind aktiv, falls sie im Prüfzeitraum während der minimalen Betriebsdauer von 30.0s durchgehend aktiv sind ( Nur Signal 1 oder nur Signal 2 oder beide ).
Der Blockierschutzprozess wird damit unterbunden, die Prüfzeit startet erneut.

Signal 1: ( xInOpen UND eAOOOpen = HVACTYPES.eManBin.Auto ) ODER ( eAOOOpen = HVACTYPES.eManBin.ManOn )

Signal 2: ( xInClose UND eAOOClose = HVACTYPES.eManBin.Auto ) ODER ( eAOOClose = HVACTYPES.eManBin.ManOn )

Wurde während des Prüfzeitraums keine Aktivität erfasst, so wird der Blockierschutzprozess am Wochentag eAbsDay zur Uhrzeit todAbsStartTime ausgelöst.
Gleichzeitig startet die Prüfzeitdauer erneut.

Der aktive Blockierschutzprozess wird in zwei aufeinander folgende Zeitabschnitte unterteilt ( Abschnitt 1 und Abschnitt 2 )
Im Abschnitt 1 wird während der Zeitdauer udiAbsTime die Kombination Freigabe - Ausgang xABOpen = TRUE, Freigabe - Ausgang xABClose = FALSE ausgegeben.
Im Abschnitt 2 wird während der Zeitdauer udiAbsTime die Kombination Freigabe - Ausgang xABOpen = FALSE, Freigabe - Ausgang xABClose = TRUE ausgegeben.

Die erstmalige Auslösung der Blockierschutzprozesses kann je nach den relevanten Einstellungen ( Wochentag eAbsDay und todAbsStartTime )
verzögert sein

Beispiel

Prüfzeit am Dienstagmorgen beendet, Auslösung des Blockierschutzprozesses erst am kommenden Montag.

Am Ausgang dtAbsLastOn steht das Startdatum und der Startzeitpunkt der letzten Blockierschutzprozesses zur Verfügung.

Voraussetzung für den Einsatz des Funktionsbausteins Abs3P

Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead mit xEn = TRUE erforderlich.

Freigabe - Ventilöffnung vor Handübersteuerung xABOpen

Die Freigabe - Ventilöffnung vor Handübersteuerung xABOpen wird durch den Eingang Anforderung - Ventilöffnung xInOpen und das Blockierschutzmodul beeinflusst.
xInOpen Blockierschutzprozess xABOpen Hinweise
FALSE FALSE FALSE Anforderung nicht aktiv, kein Blockierschutzprozess
X TRUE Abschnitt 1: TRUE Abschnitt 2: FALSE Blockierschutzprozess aktiv
TRUE FALSE TRUE Anforderung aktiv, kein Blockierschutzprozess
Legende: X = beliebig

Freigabe - Ventilschliessung vor Handübersteuerung xABClose

Die Freigabe - Ventilschliessung vor Handübersteuerung xABClose wird durch den Eingang Anforderung - Ventilschliessung xInClose und das Blockierschutzmodul beeinflusst.
xInClose Blockierschutzprozess xABClose Hinweise
FALSE FALSE FALSE Anforderung nicht aktiv, kein Blockierschutzprozess
X TRUE Abschnitt 1: FALSE Abschnitt 2: TRUE Blockierschutzprozess aktiv
TRUE FALSE TRUE Anforderung aktiv, kein Blockierschutzprozess
Legende: X = beliebig

Freigabe - Ventilöffnung nach Handübersteuerung xHBOpen

Die Freigabe - Ventilöffnung nach Handübersteuerung xHBOpen entspricht der Freigabe - Ventilöffnung vor Handübersteuerung xABOpen
zusätzlich erweitert um ein Handübersteuermodul.
xABOpen eManModeOpen xHBOpen Hinweise
FALSE eMANBIN.Auto FALSE Handübersteuermodul in Automatik
TRUE eMANBIN.Auto TRUE Handübersteuermodul in Automatik
X eMANBIN.On TRUE Handübersteuermodul in Handbetrieb Ein
X eMANBIN.Off FALSE Handübersteuermodul in Handbetrieb Aus
Legende: X = beliebig

Freigabe - Ventilschliessung nach Handübersteuerung xHBClose

Die Freigabe - VentilSchliessung nach Handübersteuerung xHBClose entspricht der Freigabe - Ventilschliessung vor Handübersteuerung xABClose
zusätzlich erweitert um ein Handübersteuermodul.
xABClose eManModeOpen xHBClose Hinweise
FALSE eMANBIN.Auto FALSE Handübersteuermodul in Automatik
TRUE eMANBIN.Auto TRUE Handübersteuermodul in Automatik
X eMANBIN.On TRUE Handübersteuermodul in Handbetrieb Ein
X eMANBIN.Off FALSE Handübersteuermodul in Handbetrieb Aus
Legende: X = beliebig

Zwangsteuerung der Handübersteuerungen der Ausgänge

Befindet sich die Betriebsart der Handübersteuerung - Venilöffnung eManModeOpen im Zustand eMANBIN.On ( = Handübersteuerung Öffnen aktiv ),
dann wird zwangsläufig die Betriebsart der Handübersteuerung - Venilschliessung eManModeClose in den Zustand eMANBIN.Off
( = Handübersteuerung Schliessen nicht aktiv ) versetzt.

Befindet sich die Betriebsart der Handübersteuerung - Venilschliessung eManModeClose im Zustand eMANBIN.On ( = Handübersteuerung Schliessen aktiv ),
dann wird zwangsläufig die Betriebsart der Handübersteuerung - Venilöffnung eManModeOpen in den Zustand eMANBIN.Off
( = Handübersteuerung Öffnen nicht aktiv ) versetzt.

Aktuelle Ventilposition rPos

Sie dient zur Anzeige der aktuellen Position des 3-Punkt-Antriebes im Bereich 0 - 100% und wird aus der Zeitdauer der Signale an den Ausgängen
Freigabe - Ventilöffnung nach Handübersteuerung xHBOpen und Freigabe - Ventilschliessung nach Handübersteuerung xHBClose in Kombination mit
der Laufzeit des Antriebs tDuration berechnet.

Die Positionsanzeige ist unabhängig von der Signalerzeugung, d.h. erreicht die Positionsanzeige eine Endposition ( 0% oder 100% ), so werden
trotzdem weiterhin Signale an den Ausgängen xABOpen und xABClose bzw. xHBOpen und xHBClose erzeugt.
Die Positionsanzeige berücksichtigt nicht die eventuellen Positionsänderungen durch die Handübersteuerung - Hardware.

Visualisierung




Information

Element Autoren Datum Version Anmerkungen
Funktion Adam Bartod 11.2017 1.0 Ursprungsversion
Programmierung Adam Bartod 11.2017 1.0 Ursprungsversion
Test Jochen Reu / 11.2017 1.0 Ursprungsversion
Dokumentation Jochen Reu 11.2017 1.0 Ursprungsversion

Codesys

InOut:
Scope Name Type Initial Comment
Input xInOpen BOOL   Anforderung - Ventilöffnung
xInClose BOOL   Anforderung - Ventilschliessung
eAOOOpen eManBin   Betriebsart der Handübersteuerung - Hardware für die Ventilöffnung
eAOOClose eManBin   Betriebsart der Handübersteuerung - Hardware für die Ventilschliessung
Output xHBOpen BOOL   Freigabe - Ventilöffnung nach Handübersteuerung
xHBClose BOOL   Freigabe - Ventilschliessung nach Handübersteuerung
xABOpen BOOL   Freigabe - Ventilöffnung vor Handübersteuerung
xABClose BOOL   Freigabe - Ventilschliessung vor Handübersteuerung
dtAbsLastOn DT   Startdatum/-zeitpunkt der letzten Blockierschutzprozesses
rPos REAL   Aktuelle Ventilposition
Input tDuration TIME TIME#2m0s0ms Laufzeit des Antriebs
udiAbsTime UDINT 200 Zeitdauer des Blockierschutzprozesses
todAbsStartTime TOD TIME_OF_DAY#9:0 Startzeitpunkt des Blockierschutzprozesses
eAbsDay eDoW eDow.Monday Wochentag des Blockierschutzprozesses
eManModeOpen eMANBIN eMANBIN.Auto Betriebsart der Handübersteuerung - Venilöffnung
eManModeClose eMANBIN eMANBIN.Auto Betriebsart der Handübersteuerung - Venilschliessung