FB_HVACScale

FB_HVACScale 1:

Ein analoger Rohwert wird auf den angegebenen Messbereich skaliert und als Funktionswert zurückgegeben. Überschreitet der Rohwert den oberen oder unteren Messbereich, so wird der entsprechende Grenzwert ausgegeben. Zwischen dem oberen und unteren Grenzwert der Rohdaten, muss mindestens ein Unterschied von 0.01 vorhanden sein. Ist dieses nicht der Fall, so wird der untere Grenzwert ausgegeben. Der Unterschied zwischen den Grenzen ist notwendig, um bei der internen Berechnung der Geradengleichung eine Division durch Null zu vermeiden.

FB_HVACScale 2:

VAR_INPUT

eDataSecurityType    : E_HVACDataSecurityType;
bSetDefault          : BOOL;
rRawData             : REAL;

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.

rRawData: Rohwert von der Klemme.

VAR_OUTPUT

rScaledValue         :  REAL;

rScaledValue: Skalierter Wert.

VAR_IN_OUT

rRawDataLowOffLimit     :  REAL;
rRawDataHighOffLimit    :  REAL;
rScaleDataLowOffLimit   :  REAL;
rScaleDataHighOffLimit  :  REAL;

rRawDataLowOffLimit: Unterer Grenzwert vom Rohwert. Die Variable wird persistent gespeichert. Voreingestellt auf 0.

rRawDataHighOffLimit: Oberer Grenzwert vom Rohwert. Die Variable wird persistent gespeichert. Voreingestellt auf 32767.

rScaleDataLowOffLimit: Unterer Grenzwert vom skalierten Messwert. Die Variable wird persistent gespeichert. Voreingestellt auf 0.

rScaleDataHighOffLimit: Oberer Grenzwert vom skalierten Messwert. Die Variable wird persistent gespeichert. Voreingestellt auf 100.

Beispiel in FUP:

FB_HVACScale 3:

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