Vallox Air Handling Unit Read
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 6
- Uppdaterad
- 2016-05-11
- Skapad
- 2014-02-25
- Kategori
- Övriga protokoll, Värme, Ventilation
- Visningar
- 2797
Beskrivning
This is a partial driver for a Vallox air handling unit.
The protocol is Vallox Bus Protocol 31.12.20013.
OBS! The unit uses NTC temperature sensors with their own translation table. This driver implements a formula that gives resonable values in the 0-30 degrees Celsius range.
Values:
- Input fan (1=on, 0=off)
- output fan (1=on, 0=off)
- Supply air after cell temperature
- Exhaust air temperature
- Extract air temperature
- Error number
- Heating target temperature
- Cell defrosting (1=on, 0=off)
- Freezing prevention (1=on, 0=off)
- Supply setting temperature
Bruksanvisning
Sender emulates a control panel with address 33-47.
Receiver is one of the units mother boards with address 17-31.
The script has been tested with sender=41 and reciever=17.
Juridisk information
Alla skript tillhandahålls i befintligt skick och all användning sker på eget ansvar. Felaktig använding kan leda till skadad eller förstörd utrustning.
Skript kod
PARAMETER
Sender: "Sender";
Receiver: "Receiver";
PUBLIC
V1: "Input fan"; % 1=on, 0=off
V2: "output fan"; % 1=on, 0=off
V3: "supply after cell" ["°C"]INT;
V4: "Exhaust temp" ["°C"]INT;
V5: "Extract temp" ["°C"]INT;
V6: "Error number";
V7: "Heating target" ["°C"]INT;
V8: "Cell defrosting"; % 1=on, 0=off - 6DH kytkin pien. nop. -pyyntö
V9: "Freeze prevention"; % 1=on, 0=off - 6FH vesipatterin jäätymishälytys
V10: "Supply setting" ["°C"]INT;
V11: "After heating" [""]INT;
V12: "Exchanger bypass" [""]INT;
PRIVATE
count;
tmp;
BAUDRATE 9600;
CHECKSUM SUM8;
TELEGRAM ReadDS NAMED "ReadDS" IS
QUESTION
DATA[0] := BYTE(1); %Domain
DATA[1] := BYTE(Sender);
DATA[2] := BYTE(Receiver);
DATA[3] := BYTE(0); % Requests are always zero
DATA[4] <- BYTE(
IF count > 9 THEN count := 0; ENDIF;
IF count = 0 THEN tmp := HEX(08);
ELSIF count = 1 THEN tmp := HEX(31);
ELSIF count = 2 THEN tmp := HEX(33);
ELSIF count = 3 THEN tmp := HEX(34);
ELSIF count = 4 THEN tmp := HEX(36);
ELSIF count = 5 THEN tmp := HEX(57);
ELSIF count = 6 THEN tmp := HEX(6D);
ELSIF count = 7 THEN tmp := HEX(6F);
ELSIF count = 8 THEN tmp := HEX(A4);
ELSIF count = 9 THEN tmp := HEX(07);
ENDIF;
DATA := tmp;
);
ANSWER SIZE 6
DATA[0] = BYTE(1);
DATA[1] = BYTE(Receiver);
DATA[2] = BYTE(Sender);
DATA[4] -> BYTE(
IF count = 0 THEN
IF DATA & 1 THEN V12 := 0; ELSE V12 := 1; ENDIF;
IF DATA & 8 THEN V1 := 0; ELSE V1 := 1; ENDIF;
IF DATA & 32 THEN V2 := 0; ELSE V2 := 1; ENDIF;
ELSIF count = 1 THEN V3 := ROUND(18 + ((DATA - 155) * 4 / 11));
ELSIF count = 2 THEN V4 := ROUND(18 + ((DATA - 155) * 4 / 11));
ELSIF count = 3 THEN V5 := ROUND(18 + ((DATA - 155) * 4 / 11));
ELSIF count = 4 THEN V6 := DATA;
ELSIF count = 5 THEN V7 := ROUND(18 + ((DATA - 155) * 4 / 11));
ELSIF count = 6 THEN
IF DATA & 16 THEN V8 := 1; ELSE V8 := 0; ENDIF;
ELSIF count = 7 THEN
IF DATA & 16 THEN V9 := 1; ELSE V9 := 0; ENDIF;
ELSIF count = 8 THEN V10 := ROUND(18 + ((DATA - 155) * 4 / 11));
ELSIF count = 9 THEN
IF DATA & 32 THEN V11 := 1; ELSE V11 := 0; ENDIF;
ENDIF;
count := count + 1;
);
TIMEOUT 1000
END;
END;
Användarnas noteringar
Du måste vara inloggad för att göra en notering. Bli medlem eller logga in. Vi använder en moderator som godkänner noteringarna innan de visas.