IVT REGO 5002, 5003, 5004, 5005 ärvärden + info
Detaljer
Beskrivning
drivrutin för IVT REGO 5002, 5003, 5004, 5005
Bruksanvisning
.
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 41-60
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AI3 NAMED "IVTREGO AI41-60" TYPEID 21344 IS
PARAMETER
Id :"Adress";
PUBLIC
R41 : "Förvärmning VV" ; %30041 Förvärmning VV: Ingen[0], Värmesystem [1], FJV[2]
R42 : "Systemlösning" ; %30042 Systemlösning (4 siffror)
R43 : "Ärvärde T1 FL" ["°C"]; %30043 Ärvärde, T1 framledning 10*
R44 : "Ärvärde T2 UTE" ["°C"]; %30044 Ärvärde, T2 ute 10*
R45 : "Ärvärde T3 ST" ["°C"]; %30045 Ärvärde, T3 slingtank 10*
R46 : "Ärvärde T6 HetG" ["°C"]; %30046 Ärvärde, T6 hetgas 10*
R47 : "Ärvärde T8 Vut" ["°C"]; %30047 Ärvärde, T8 värme ut 10*
R48 : "Ärvärde T9 Vin" ["°C"]; %30048 Ärvärde, T9 värme in 10*
R49 : "Ärvärde T10 Kin" ["°C"]; %30049 Ärvärde, T10 kyla in 10*
R50 : "Ärvärde T11 Kut" ["°C"]; %30050 Ärvärde, T11 kyla ut 10*
R51 : "Börvärde T1 FL" ["°C"]; %30051 Börvärde, T1 framledning 10*
R52 : "Graddagar" ; %30052 Graddagar
R53 : "Drifttid E11 TS" ; %30053 Drifttid, E11 (Tillskott)
R54 : "Starter E11 TS" ; %30054 Starter, E11 (Tillskott)
R55 : "Drifttid E21 VP" ; %30055 Drifttid, E21 (Värmepump)
R56 : "Starter E21 VP" ; %30056 Starter, E21 (Värmepump)
R57 : "Drifttid G1 RaP" ; %30057 Drifttid, G1 (Radiatorpump)
R58 : "Starter G1 RaP" ; %30058 Starter, G1 (Radiatorpump)
R59 : "Drifttid G5 HGP" ; %30059 Drifttid, G5 (Hetgaspump)
R60 : "Starter G5 HGP" ; %30060 Starter, G5 (Hetgaspump)
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI41-60" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(40); % Start address register
DATA[4] := RWORD(20); % Number of registers
ANSWER SIZE 45
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(40); % Byte count
DATA[3] -> RWORD(R41:= DATA;); % Förvärmning VV: Ingen[0], Värmesystem [1], FJV[2]
DATA[5] -> RWORD(R42:= DATA;); % Systemlösning (4 siffror)
DATA[7] -> RWORD(IF (DATA>=32768) THEN R43:=(DATA-65536)/10; ELSE R43:=DATA/10; ENDIF;); % Ärvärde T1 framledning 10*
DATA[9] -> RWORD(IF (DATA>=32768) THEN R44:=(DATA-65536)/10; ELSE R44:=DATA/10; ENDIF;); % Ärvärde T2 ute 10*
DATA[11] -> RWORD(IF (DATA>=32768) THEN R45:=(DATA-65536)/10; ELSE R45:=DATA/10; ENDIF;); % Ärvärde T3 slingtank 10*
DATA[13] -> RWORD(IF (DATA>=32768) THEN R46:=(DATA-65536)/10; ELSE R46:=DATA/10; ENDIF;); % Ärvärde T6 hetgas 10*
DATA[15] -> RWORD(IF (DATA>=32768) THEN R47:=(DATA-65536)/10; ELSE R47:=DATA/10; ENDIF;); % Ärvärde T8 värme ut 10*
DATA[17] -> RWORD(IF (DATA>=32768) THEN R48:=(DATA-65536)/10; ELSE R48:=DATA/10; ENDIF;); % Ärvärde T9 värme in 10*
DATA[19] -> RWORD(IF (DATA>=32768) THEN R49:=(DATA-65536)/10; ELSE R49:=DATA/10; ENDIF;); % Ärvärde T10 kyla in 10*
DATA[21] -> RWORD(IF (DATA>=32768) THEN R50:=(DATA-65536)/10; ELSE R50:=DATA/10; ENDIF;); % Ärvärde T11 kyla ut 10*
DATA[23] -> RWORD(IF (DATA>=32768) THEN R51:=(DATA-65536)/10; ELSE R51:=DATA/10; ENDIF;); % Börvärde T1 framledning 10*
DATA[25] -> RWORD(R52:= DATA;); % Graddagar
DATA[27] -> RWORD(R53:= DATA;); % Drifttid E11 (Tillskott)
DATA[29] -> RWORD(R54:= DATA;); % Starter E11 (Tillskott)
DATA[31] -> RWORD(R55:= DATA;); % Drifttid E21 (Värmepump)
DATA[33] -> RWORD(R56:= DATA;); % Starter E21 (Värmepump)
DATA[35] -> RWORD(R57:= DATA;); % Drifttid G1 (Radiatorpump)
DATA[37] -> RWORD(R58:= DATA;); % Starter G1 (Radiatorpump)
DATA[39] -> RWORD(R59:= DATA;); % Drifttid G5 (Hetgaspump)
DATA[41] -> RWORD(R60:= DATA;); % Starter G5 (Hetgaspump)
TIMEOUT 1000
END;
END;
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 41-60
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AI3 NAMED "IVTREGO AI41-60" TYPEID 21344 IS
PARAMETER
Id :"Adress";
PUBLIC
R41 : "Förvärmning VV" ; %30041 Förvärmning VV: Ingen[0], Värmesystem [1], FJV[2]
R42 : "Systemlösning" ; %30042 Systemlösning (4 siffror)
R43 : "Ärvärde T1 FL" ["°C"]; %30043 Ärvärde, T1 framledning 10*
R44 : "Ärvärde T2 UTE" ["°C"]; %30044 Ärvärde, T2 ute 10*
R45 : "Ärvärde T3 ST" ["°C"]; %30045 Ärvärde, T3 slingtank 10*
R46 : "Ärvärde T6 HetG" ["°C"]; %30046 Ärvärde, T6 hetgas 10*
R47 : "Ärvärde T8 Vut" ["°C"]; %30047 Ärvärde, T8 värme ut 10*
R48 : "Ärvärde T9 Vin" ["°C"]; %30048 Ärvärde, T9 värme in 10*
R49 : "Ärvärde T10 Kin" ["°C"]; %30049 Ärvärde, T10 kyla in 10*
R50 : "Ärvärde T11 Kut" ["°C"]; %30050 Ärvärde, T11 kyla ut 10*
R51 : "Börvärde T1 FL" ["°C"]; %30051 Börvärde, T1 framledning 10*
R52 : "Graddagar" ; %30052 Graddagar
R53 : "Drifttid E11 TS" ; %30053 Drifttid, E11 (Tillskott)
R54 : "Starter E11 TS" ; %30054 Starter, E11 (Tillskott)
R55 : "Drifttid E21 VP" ; %30055 Drifttid, E21 (Värmepump)
R56 : "Starter E21 VP" ; %30056 Starter, E21 (Värmepump)
R57 : "Drifttid G1 RaP" ; %30057 Drifttid, G1 (Radiatorpump)
R58 : "Starter G1 RaP" ; %30058 Starter, G1 (Radiatorpump)
R59 : "Drifttid G5 HGP" ; %30059 Drifttid, G5 (Hetgaspump)
R60 : "Starter G5 HGP" ; %30060 Starter, G5 (Hetgaspump)
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI41-60" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(40); % Start address register
DATA[4] := RWORD(20); % Number of registers
ANSWER SIZE 45
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(40); % Byte count
DATA[3] -> RWORD(R41:= DATA;); % Förvärmning VV: Ingen[0], Värmesystem [1], FJV[2]
DATA[5] -> RWORD(R42:= DATA;); % Systemlösning (4 siffror)
DATA[7] -> RWORD(IF (DATA>=32768) THEN R43:=(DATA-65536)/10; ELSE R43:=DATA/10; ENDIF;); % Ärvärde T1 framledning 10*
DATA[9] -> RWORD(IF (DATA>=32768) THEN R44:=(DATA-65536)/10; ELSE R44:=DATA/10; ENDIF;); % Ärvärde T2 ute 10*
DATA[11] -> RWORD(IF (DATA>=32768) THEN R45:=(DATA-65536)/10; ELSE R45:=DATA/10; ENDIF;); % Ärvärde T3 slingtank 10*
DATA[13] -> RWORD(IF (DATA>=32768) THEN R46:=(DATA-65536)/10; ELSE R46:=DATA/10; ENDIF;); % Ärvärde T6 hetgas 10*
DATA[15] -> RWORD(IF (DATA>=32768) THEN R47:=(DATA-65536)/10; ELSE R47:=DATA/10; ENDIF;); % Ärvärde T8 värme ut 10*
DATA[17] -> RWORD(IF (DATA>=32768) THEN R48:=(DATA-65536)/10; ELSE R48:=DATA/10; ENDIF;); % Ärvärde T9 värme in 10*
DATA[19] -> RWORD(IF (DATA>=32768) THEN R49:=(DATA-65536)/10; ELSE R49:=DATA/10; ENDIF;); % Ärvärde T10 kyla in 10*
DATA[21] -> RWORD(IF (DATA>=32768) THEN R50:=(DATA-65536)/10; ELSE R50:=DATA/10; ENDIF;); % Ärvärde T11 kyla ut 10*
DATA[23] -> RWORD(IF (DATA>=32768) THEN R51:=(DATA-65536)/10; ELSE R51:=DATA/10; ENDIF;); % Börvärde T1 framledning 10*
DATA[25] -> RWORD(R52:= DATA;); % Graddagar
DATA[27] -> RWORD(R53:= DATA;); % Drifttid E11 (Tillskott)
DATA[29] -> RWORD(R54:= DATA;); % Starter E11 (Tillskott)
DATA[31] -> RWORD(R55:= DATA;); % Drifttid E21 (Värmepump)
DATA[33] -> RWORD(R56:= DATA;); % Starter E21 (Värmepump)
DATA[35] -> RWORD(R57:= DATA;); % Drifttid G1 (Radiatorpump)
DATA[37] -> RWORD(R58:= DATA;); % Starter G1 (Radiatorpump)
DATA[39] -> RWORD(R59:= DATA;); % Drifttid G5 (Hetgaspump)
DATA[41] -> RWORD(R60:= DATA;); % Starter G5 (Hetgaspump)
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.