FB_HVACConfigureKL32xx

Mit dem Funktionsbaustein FB_HVACConfigureKL32xx kann aus der PLC heraus der Sensortyp eines Kanals der KL3201/02/04, KL3208-0010 oder der KL3228 eingestellt werden. Dazu müssen die Variablen byStatusKL32xx, iDataInKL32xx, byCtrlKL32xx und iDataOutKL32xx im TwinCAT I/O Bereich mit den Variablen Status, Daten Ein, Kontrolle und Daten Aus eines Kanals der KL3201/02/04 oder der KL3228 verknüpft sein.
Mit dem Enum eSensorType können die in Tabelle 1 vorgegebenen Widerstandselemente ausgewählt werden.
Die Konfigurationssoftware KS2000 wird für das Einstellen des Temperatursensors nicht mehr benötigt.
![]() | Bei der Widerstandsmessung 10 bis 5000Ω der KL32xx entspricht 1 Digit = 0,5Ω, d.h. der angezeigte Rohwert muss in der PLC durch 2 dividiert werden. Beispiel: 2500Ω würden in der Steuerung mit einem Rohwert von 5000 dargestellt werden. Der Rohwert muss in der PLC durch 2 dividiert werden um auf den ohmschen Wert von 2500Ω zu kommen. |
![]() | Die Widerstandsmessung 10-10000Ω ist nur mit der Sonderklemme KL320x-0027 möglich. An dieser Sonderklemme kann ausschließlich nur die Widerstandsmessung 10...10000Ω betrieben werden. |
![]() | Die EtherCAT-Klemme EL3692 ist eine Widerstandsmessklemme, die den Messbereich bis 10MΩ abdeckt. |
VAR_INPUT
byStatusKL32xx : BYTE;
iDataInKL32xx : INT;
bSetSensor : BOOL;
bScanSensor : BOOL;
eSensorType : E_HVACSensorType;
tTimeOut : TIME;
byStatusKL32xx: Hier muss das Statusbyte (Status) der Busklemme im TwinCAT I/O Bereich für den jeweiligen Kanal zugewiesen werden. Ist dies nicht der Fall, so wird mit bErrorCommunication dieses als Fehler angezeigt, wenn mit einer steigenden Flanke an bSetSensor/bScanSensor der Funktionsbaustein aktiviert wurde. Ist das Scannen oder Setzen mit einer steigenden Flanke an bSetSensor/bScanSensor abgeschlossen, so wird dieses mit einem TRUE an bReady angezeigt und byOutStatus := byStatusKL32xx. Ist das Scannen oder Setzen aktiviert, bReady = FALSE, so wird an byOutStatus der Wert von byStatusKL32xx ausgegeben, der vor der Aktivierung anstand.
iDataInKL32xx: Hier muss der Rohwert (Daten Ein) der Busklemme im TwinCAT I/O Bereich für den jeweiligen Kanal zugewiesen werden. Ist dies nicht der Fall, so wird mit bErrorCommunication dieses als Fehler angezeigt, wenn mit einer steigenden Flanke an bSetSensor/bScanSensor der Funktionsbaustein aktiviert wurde. Ist das Scannen oder Setzen mit einer steigenden Flanke an bSetSensor/bScanSensor abgeschlossen, so wird dieses mit einem TRUE an bReady angezeigt und iOutDataIn := iDataInKL32xx . Ist das Scannen oder Setzen aktiviert, bReady = FALSE, so wird an iOutDataIn der Wert von iDataInKL32xx ausgegeben, der vor der Aktivierung anstand.
bSetSensor: Mit einer steigenden Flanke an bSetSensor wird der am Enum eSensorType vorgegebene Sensortyp in der Busklemme eingestellt. Ist der Vorgang abgeschlossen, wird intern im Baustein das Scannen aktiviert und über das Enum eStatusScanSensorType wird angegeben, welcher Sensortyp eingestellt wurde.
bScanSensor: Mit einer steigenden Flanke an bScanSensor wird das Scannen des jeweiligen Kanals der Busklemme aktiviert. Über das Enum eStatusScanSensorType wird angegeben, welcher Sensortyp eingestellt wurde.
eSensorType: Enum mit welchem der Sensortyp für den jeweiligen Kanal für das Setzen über bSetSensor angegeben wird (siehe E_HVACSensorType).
tTimeOut: Gibt die Zeit bis zum Abbruch der Funktion an und bErrorCommunication wird TRUE. Wird keine Zeit angegeben, so wird intern im Baustein mit T#5s gearbeitet.
VAR_OUTPUT
bReady : BOOL;
byOutStatus : BYTE;
iOutDataIn : INT;
byCtrlKL32xx : BYTE;
iDataOutKL32xx : INT;
eBusTerminalKL32xx : E_HVACBusTerminal_KL32xx;
eStatusScanSensorType : E_HVACSensorType;
bErrorGeneral : BOOL;
byError : BYTE;
bErrorCommunication : BOOL;
bErrorBusTerminalNotSupported: BOOL;
bErrorSensorType : BOOL;
bErrorScanSensor : BOOL;
bReady: Wird der Funktionsbaustein über eine steigende Flanke an bSetSensor/bScanSensor aktiviert, so wird bReady = FALSE. Ist der Vorgang des Scannen oder Setzen des Sensortypen abgeschlossen, wird bReady = TRUE.
byOutStatus: Ist das Scannen oder Setzen mit einer steigenden Flanke an bSetSensor/bScanSensor abgeschlossen, so wird dies mit einem TRUE an bReady angezeigt und byOutStatus := byStatusKL32xx. Ist das Scannen oder Setzen aktiviert, bReady = FALSE, so wird an byOutStatus der Wert von byStatusKL32xx ausgegeben, der vor der Aktivierung anstand.
iOutDataIn: Ist das Scannen oder Setzen mit einer steigenden Flanke an bSetSensor/bScanSensor abgeschlossen, so wird dies mit einem TRUE an bReady angezeigt und iOutDataIn := iDataInKL32xx . Ist das Scannen oder Setzen aktiviert, bReady = FALSE, so wird an iOutDataIn der Wert von iDataInKL32xx ausgegeben, der vor der Aktivierung anstand.
byCtrlKL32xx: Hier muss das Kontrollbyte (Kontrolle) der Busklemme im TwinCAT I/O Bereich für den jeweiligen Kanal zugewiesen werden. Ist dies nicht der Fall, so wird mit bErrorCommunication dieses als Fehler angezeigt, wenn mit einer steigenden Flanke an bSetSensor/bScanSensor der Funktionsbaustein aktiviert wurde.
iDataOutKL32xx: Hier muss die Datenausgabe (Daten Aus) der Busklemme im TwinCAT System Manager für den jeweiligen Kanal zugewiesen werden. Ist dies nicht der Fall, so wird mit bErrorCommunication dieses als Fehler angezeigt, wenn mit einer steigenden Flanke an bSetSensor/bScanSensor der Funktionsbaustein aktiviert wurde.
eBusTerminalKL32xx: Enum, welches den Busklemmentyp anzeigt, wenn an bSetSensor/bScanSensor mit einer steigenden Flanke der Funktionsbaustein aktiviert wurde (siehe E_HVACBusTerminal_KL32xx).
eStatusScanSensorType: Enum, welches den Sensortyp des jeweiligen Kanals anzeigt, wenn an bSetSensor/bScanSensor mit einer steigenden Flanke der Funktionsbaustein aktiviert wurde (siehe E_HVACSensorType).
bErrorGeneral: Wird TRUE, sobald entweder bErrorCommunication, bErrorBusTerminalNotSupported, bErrorSensorType oder bErrorScanSensor TRUE ist.
byError: Liefert alle Fehlermeldungen und Warnungen des Funktionsbausteines
byError.2 := bErrorGeneral;
byError.3 := bErrorCommunication;
byError.4 := bErrorBusTerminalNotSupported;
byError.5 := bErrorSensorType;
byError.6 := bErrorScanSensor;
bErrorCommunication: Wird TRUE, wenn z.B. die Variablen byCtrlKL32xx, iDataOutKL32xx, byStatusKL32xx und iDataInKL32xx nicht einem Kanal der Busklemme zugewiesen wurden. Beim Scannen oder Setzen des Sensortyps ist dann die Kommunikation zur Busklemme unterbrochen. bErrorCommunication wird ebenfalls TRUE, wenn die tTimeOut-Zeit beim Scannen oder Setzen des Sensortypen nicht ausreichend ist.
bErrorBusTerminalNotSupported: Wird TRUE, wenn die Busklemme von dem Funktionsbaustein nicht unterstützt wird.
bErrorSensorType: Wird TRUE, wenn der vorgegebene Sensortyp an eSensorType von der Busklemme nicht unterstützt wird.
bErrorScanSensor: Wird TRUE, wenn beim Scannen der Sensortyp nicht von den im Enum eBusTerminalKL32xx angegebenen Busklemmen unterstützt wird.
Sensorarten auswählbar über das Enum eTemperatureCharacteristic
(siehe E_HVACBusTerminal_KL32xx)
Sensorart | KL3201/2/4-0000 | KL3201/2/4-0010 | KL3201/2/4-0012 | KL3201/2/4-0014 | KL3201/2/4-0016 | KL3201/2/4-0020 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
PT100 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
PT200 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
PT500 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
PT1000 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
Ni100 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
Ni120 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
Ni1000(DIN) | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C |
Ni1000(Tk5000,LS) | not supported |
| not supported |
| not supported |
| not supported |
| not supported |
| not supported |
|
Widerstandsmessung 10 ... 1200Ω | x |
| x |
| x |
| x |
| x |
| x |
|
Widerstandsmessung 10 ... 5000Ω | x |
| x |
| x |
| x |
| x |
| x |
|
Widerstandsmessung 10 ... 10000Ω | not supported |
| not supported |
| not supported |
| not supported |
| not supported |
| not supported |
|
Sensorart | KL3201/2/4-0023 | KL3201/2/4-0025 | KL3201/2/4-0029 | KL3201/2/4-0031 | KL3228 | KL3208-0010 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
| Rohwert |
PT100 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | not supported |
| not supported |
|
PT200 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | not supported |
| not supported |
|
PT500 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | not supported |
| not supported |
|
PT1000 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/100°C |
Ni100 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | not supported |
| not supported |
|
Ni120 | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | not supported |
| not supported |
|
Ni1000(DIN) | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/10°C | x | 1/100°C |
Ni1000(Tk5000,LS) | not supported |
| not supported |
| x | 1/10°C | not supported |
| x | 1/10°C | x | 1/100°C |
Widerstandsmessung 10 ... 1200Ω | x |
| x |
| x |
| x |
| not supported |
| not supported |
|
Widerstandsmessung 10 ... 5000Ω | x |
| x |
| x |
| x |
| not supported |
| not supported |
|
Widerstandsmessung 10 ... 10000Ω | not supported |
| not supported |
| not supported |
| not supported |
| not supported |
| not supported |
|
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 |