FB_HVACMotor1Speed

Dieser Funktionsbaustein dient zur Steuerung eines einstufigen Antriebs in der HLK-Technik. Er eignet sich für Ventilatoren.
VAR_INPUT
eDataSecurityType : E_HVACDataSecurityType;
bSetDefault : BOOL;
bEnable : BOOL;
bAuto : BOOL;
eCtrlModeActuator : E_HVACActuatorMode;
bMotorProtec : BOOL;
bFeedbContactor : BOOL;
bFeedbProcess : BOOL;
bRepairSwitch : BOOL;
bManSwitch : BOOL;
bCtrlVoltage : BOOL;
bReset : BOOL;
eDataSecurityType:Wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist, werden die persistenten VAR_IN_OUT-Variablen des Funktionsbausteins bei einer Wertänderung im Flash des Rechners abgelegt. Dafür ist es zwingend erforderlich den Funktionsbaustein FB_HVACPersistentDataHandling einmalig im Hauptprogramm, das zyklisch aufgerufen wird, zu instanziieren. Ansonsten wird der instanziierte FB intern nicht freigegeben.
Eine Wertänderung kann vom Gebäudeleitsystem, einem lokalen Bediengerät oder von einem Schreibzugriff von TwinCAT aus erfolgen. Beim Neustart des Rechners werden die gesicherten Daten automatisch vom Flash in den RAM zurück gelesen.
Anwendungsbeispiel: example_persistent.zip
Bei eDataSecurityType:= eHVACDataSecurityType_Idle werden die persistent deklarierten Variablen nicht spannungsausfallsicher gespeichert.
Hinweis | |
Eine sich zyklisch ändernde Variable darf niemals mit der IN_OUT-Variablen eines Funktionsbausteins verbunden werden, wenn eDataSecurityType:= eHVACDataSecurityType_Persistent ist. Es würde zu einem frühzeitigen Verschleiß des Flashspeichers führen. |
bSetDefault: Wenn die Variable TRUE ist, werden die Default-Werte der VAR_IN_OUT Variablen übernommen.
bEnable: Freigabe des Bausteins, wenn bEnable = TRUE ist. Ist bEnable = FALSE, so wird der Antrieb über die angegebene Zeitvariable tStopDelay ausgeschaltet.
bAuto: bAuto ist nur dann aktiv, wenn die Betriebsart eCtrlModeActuator entweder auf eHVACActuatorMode_Auto_BMS oder eHVACActuatorMode_Auto_OPsteht.
Wenn die Eingangsvariable bAuto = TRUE ist, so wird dem Funktionsbaustein vorgegeben, dass der Antrieb laufen soll. Wenn bAuto = FALSE ist, so wird der Antrieb über die angegebene Zeitvariable tStopDelay verzögert ausgeschaltet.
eCtrlModeActuator: Enum, über welches die Betriebsart des Motors vorgegeben wird (siehe E_HVACActuatorMode). Bei falscher Angabe wird intern mit der letzten, gültigen Betriebsart weitergearbeitet. Bei der Erstinbetriebnahme ist diese eHVACActuatorMode_Auto_BMS. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
bMotorProtec: Eingang für den Motorschutz. Eine Störung vom Motorschutz steht an, wenn der Eingang bMotorProtec = FALSE ist (Ruhestromprinzip). Bei einer anstehenden Störung wird der Ausgang bMotor = FALSE, die Störung wird am Ausgang des Funktionsbausteins durch bErrorMotorprotec signalisiert. Ein erneuter Anlauf des Motors kann nur erfolgen, wenn die Störung behoben und am Eingang bReset quittiert wurde.
bFeedbContactor: Rückmeldung vom Leistungsteil des Motors. Die Betriebsrückmeldung steht an, wenn der Eingang bFeedbContactor = TRUE ist. Falls diese Rückmeldung nach dem Einschalten des Motors nicht nach der mit tDelayFeedbContactor einstellbaren Zeit ansteht, so wird der Ausgang bErrorFeedbContactor gesetzt um die Störung zu signalisieren. Bei einer anstehenden Störung wird der Ausgang bMotor = FALSE. Ein erneuter Anlauf des Motors kann nur erfolgen, wenn die Störung behoben und am Eingang bReset quittiert wurde. Sollte keine Rückmeldung vom Leistungsteil des Motors vorhanden sein, so muss an dem Eingang bFeedbContactor die Ausgangsvariable bMotor angelegt werden.
![]() | Sollte keine Rückmeldung vom Leistungsteil des Motors vorhanden sein, so muss an dem Eingang bFeedbContactor die Ausgangsvariable bMotor angelegt werden. |
bFeedbProcess: Am Eingang bFeedbProcess kann eine Prozessrückmeldung z.B. von einem Keilriemenwächter oder Strömungswächter angeschlossen werden. Die Prozessrückmeldung steht an, wenn der Eingang bFeedbProcess = TRUE ist (Ruhestromprinzip). Falls die Prozessrückmeldung in der Hochlaufphase nach dem Einschalten des Motors nicht nach der einstellbaren Zeit tFeedbProcessTimer ansteht, schaltet der Antrieb ab und signalisiert an dem Ausgang bErrorFeedbProcess eine Störung. Ein erneuter Anlauf des Motors kann nur erfolgen, wenn die Störung behoben und am Eingang bReset quittiert wurde. Um ein unerwünschtes Abschalten des Antriebs während des Betriebes durch die Prozessüberwachung bei z.B. kurzzeitigen Druckschwankungen zu vermeiden, kann das Ansprechen des Eingangs bFeedbProcess durch die Zeit tDelayFeedbProcess verzögert werden.
bRepairSwitch: Mit dem Eingang bRepairSwitch wird der Status des Reparaturschalters überwacht. Der Motor kann nur dann eingeschaltet werden, wenn bRepairSwitch= TRUE ist (Ruhestromprinzip). Bei einem ausgeschalteten Reparaturschalter bRepairSwitch = FALSE wird der Ausgang bMotor = FALSE.
bManSwitch: Mit dem Eingang bManSwitch wird der Status des Hand/Not-Schalters überwacht. Der Motor kann nur dann eingeschaltet werden, wenn bManSwitch= TRUE ist (Ruhestromprinzip). Bei einem ausgeschalteten Hand-/Not-Schalter bManSwitch= FALSE wird der Ausgang bMotor = FALSE.
bCtrlVoltage: Mit dem Eingang bCtrlVoltage wird die Steuerspannung überwacht. Der Motor kann nur dann eingeschaltet werden, wenn bCtrlVoltage = TRUE ist (Ruhestromprinzip). Bei ausgeschalteter Steuerspannung bCtrlVoltage= FALSE wird der Ausgang bMotor = FALSE. Um einen Meldeschauer an Störmeldungen bei Ausfall der Steuerspannung zu vermeiden, werden die Störmeldungen des Funktionsbausteines unterdrückt. Liegt die Steuerspannung wieder an, so werden die Störmeldungen wieder freigegeben.
bReset: Quittierungseingang bei einer Störung.
VAR_OUTPUT
bMotor : BOOL;
byState : BYTE;
bStateAuto : BOOL;
bStateRepairSwitch : BOOL;
bStateManSwitch : BOOL;
eStateModeActuator : E_HVACActuatorMode;
bErrorGeneral : BOOL;
byError : BYTE;
bErrorMotorprotec : BOOL;
bErrorFeedbContactor : BOOL;
bErrorFeedbProcess : BOOL;
bInvalidParameter : BOOL;
bMotor: Ausgangsvariable zur Ansteuerung eines 1-stufigen Motors.
byState: Statusbyte über den Betriebszustand des Funktionsbausteines.
byState.0 := bEnable;
byState.1 := bMotor;
byState.2 := bStateAuto;
byState.5 := bStateRepairSwitch;
byState.6 := bStateManSwitch;
byState.7 := bCtrlVoltage;
bStateAuto: Statusmeldung für die Automatikvorwahl, wenn die Betriebsart eCtrlModeActuator entweder auf eHVACActuatorMode_Auto_BMS oder eHVACActuatorMode_Auto_OPstehtund über die Eingangsvariable bAuto die Stufe 1 aktiviert wurde.
bStateRepairSwitch: Statusmeldung des Reparaturschalters. Ein TRUE signalisiert, dass der Reparaturschalter ausgeschaltet ist.
bStateManSwitch: Statusmeldung des Hand/Not-Schalter. Ein TRUE signalisiert, dass die Hand/Not-Bedienebene aktiviert ist.
eStateModeActuator: Enum, über das der Status der Betriebsart des Motors an die Steuerung zurückgegeben wird (siehe E_HVACActuatorMode).
bErrorGeneral: Die Störungsmeldung bErrorGeneral wird TRUE, sobald eine der Störmeldungen bErrorMotorprotec, bErrorFeedbContactor oder bErrorFeedbProcess = TRUE ist. Der Ausgang bMotor wird dann auf FALSE gesetzt und erst wieder frei gegeben, wenn die Störung behoben ist und mit bReset quittiert wurde.
byError: Liefert alle Fehlermeldungen und Warnungen des Funktionsbausteins.
byError.1 := bInvalidParameter;
byError.2 := bErrorGeneral;
byError.3 := bErrorMotorprotec;
byError.4 := bErrorFeedbContactor;
byError.5 := bErrorFeedbProcess;
bErrorMotorprotec: Fehler Motorschutz, siehe Eingangsvariable bMotorProtec.
bErrorFeedbContactor: Fehler Rückmeldung vom Leistungsteil, siehe Eingangsvariable bFeedbContactor.
![]() | Sollte keine Rückmeldung vom Leistungsteil des Motors vorhanden sein, so muss an dem Eingang bFeedbContactor die Ausgangsvariable bMotor angelegt werden. |
bErrorFeedbProcess: Fehler der Prozessrückmeldung, siehe Eingangsvariable bFeedbackProcess.
bInvalidParameter: Zeigt an, dass ein falscher Parameter an einer der Variablen eCtrlModeActuator, tStartDelay, tStopDelay, tDelayFeedbContactor, tFeedbProcessTimer oder tDelayFeedbProcess anliegt. Eine falsche Parameterangabe führt nicht zum Stillstand des Bausteins, siehe Beschreibung der Variablen. Nach Behebung der falschen Parameterangabe muss die Meldung bInvalidParameter mit bReset quittiert werden.
VAR_IN_OUT
tStartDelay : TIME;
tStopDelay : TIME;
tDelayFeedbContactor : TIME;
tFeedbProcessTimer : TIME;
tDelayFeedbProcess : TIME;
tStartDelay: Mit der Zeit tStartDelay [s] wird der Anlauf des Motors nach der Freigabe und Einschaltung über die Betriebsart des Motors verzögert (0s..3600s). Die Variable wird persistent gespeichert. Voreingestellt auf 0s.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
tStopDelay: Mit der Zeit tStopDelay [s] wird das Ausschalten des Motors durch Ausschalten über die Betriebsart des Motors verzögert (0s..3600s). Die Variable wird persistent gespeichert. Voreingestellt auf 0s.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
tDelayFeedbContactor: Zeitverzögerung [ms] der Rückmeldung des Leistungsteils nach dem Einschalten des Motors. Wenn diese abgelaufen ist und bFeedbContactor = FALSE, dann wird dies über die Störmeldung bErrorFeedbContactor der Steuerung zurück geliefert (100ms..3600ms). Die Variable wird persistent gespeichert. Voreingestellt auf 100ms.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
tFeedbProcessTimer: Zeitverzögerung der Prozessrückmeldung bFeedbProcess [s] nach dem Einschalten des Motors. Wenn diese abgelaufen ist und bFeedbProcess = FALSE, dann wird dies über die Störmeldung bErrorFeedbProcess der Steuerung zurück geliefert (0s..3600s). Die Variable wird persistent gespeichert. Voreingestellt auf 0s.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
tDelayFeedbProcess: Um ein unerwünschtes Abschalten des Antriebs während des Betriebs durch die Prozessüberwachung bFeedbProcess bei z.B. kurzzeitigen Druckschwankungen zu vermeiden, kann das Ansprechen des Eingangs bFeedbProcess durch die Zeit tDelayFeedbProcess [s] verzögert werden (0s..3600s). Die Variable wird persistent gespeichert. Voreingestellt auf 0s.
Liegt ein nicht korrekter Variablenwert an, dann wird, wenn vorhanden der letzte, gültige Variablenwert genommen. Wenn kein gültiger, letzter Wert vorliegt, dann wird mit dem Default-Wert weitergearbeitet. bInvalidParameter wird bei falscher Parameterangabe gesetzt.
Voraussetzungen
Entwicklungsumgebung | erforderliche Bibliothek | Erforderliche Function |
---|---|---|
TwinCAT 3.1 ab Build 4022.16 | Tc2_HVAC V3.3.1.0 | TF8000 | TC3 HVAC V1.0.0.0 |