IVT REGO 5002, 5003, 5004, 5005 Larm + Börv 5004
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 61-80 (Alarms)
% Larmstatus i REGO
% 1: Normal /Ej larm
% 2: Blockerad
% 3: Kvitterad
% 4: reserverad
% 5: Återgången
% 6: reserverad
% 7: Utlöst
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
% 2012-12-21 chnged T3/4,18 to T3/4.18
%
DEVICETYPE IvtRego5005AI4 NAMED "IVTREGO AI61-80" TYPEID 21345 IS
PARAMETER
Id :"Adress";
PUBLIC
R61 : "Driftt. G7LaddP"; %30061 Drifttid, G7 (Laddpump)
R62 : "Starter G7LaddP"; %30062 Starter, G7 (Laddpump)
R63 : "Driftt. Q21Vent"; %30063 Drifttid, Q21 (Växelventil)
R64 : "Starter Q21Vent"; %30064 Starter, Q21 (Växelventil)
R65 : "Status Q10Shunt"; %30065 Status, Q10 (Shunt)
R66 : "Status Q21VXV" ; %30066 Status, Q21 (VXV)
R67 : "Status Q40Shunt"; %30067 Status, Q40 (Shunt)
R68 : "Larm B31FlödeKy"; %30068 Larmstatus no.35, B31 lågt flöde kyla
R69 : "Larm S.spänning"; %30069 Larmstatus no.36, Tillfällig låg systemspänning
R70 : "Givarfel T4VV" ; %30070 Larmstatus no.37, T4 varmvatten givarfel
R71 : "Givarfel T7VVac"; %30071 Larmstatus no.38, T7 VV-ackumulator givarfel
R72 : "Larm B21Tryck V"; %30072 Larmstatus no.39, B21 lågt tryck värme
R73 : "Larm T4VV Reg.a"; %30073 Larmstatus no.40, T4 varmvatten regleravvikelse
R74 : "Larm Kom.fel" ; %30074 Larmstatus no.41, Kommunikationsfel
R75 : "Status KPR" ; %30075 Status kompressor: 0=Från, 1=Pumpstart, 2=Kontroll, 3=Kompressorstart, 4=Drift, 5=Stannar, 6=Larm
R76 : "Börvär. T3/4.18"; %30076 T3/T4 (E21), T18 (E22) – Börvärde 5004
R77 : "T4 Temp VV" ; %30077 T4 Varmvatten (E22) 10* 5004
R78 : "T7 Temp AckTank"; %30078 T7 AckTank (E22) 10* 5004
R79 : "T18 Fjärrvärme" ; %30079 T18 Fjärrvärme (E22) samma börvärde som T1 10* 5004
R80 : "Drifttid G2VBp" ; %30080 Drifttid, G2 låg hastighet (värmebärarpump) 10* 5004
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI4 NAMED "Läs AI61-80" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(60); % 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(R61:= DATA;);
DATA[5] -> RWORD(R62:= DATA;);
DATA[7] -> RWORD(R63:= DATA;);
DATA[9] -> RWORD(R64:= DATA;);
DATA[11] -> RWORD(R65:= DATA;);
DATA[13] -> RWORD(R66:= DATA;);
DATA[15] -> RWORD(R67:= DATA;);
DATA[17] -> RWORD(R68:= DATA;);
DATA[19] -> RWORD(R69:= DATA;);
DATA[21] -> RWORD(R70:= DATA;);
DATA[23] -> RWORD(R71:= DATA;);
DATA[25] -> RWORD(R72:= DATA;);
DATA[27] -> RWORD(R73:= DATA;);
DATA[29] -> RWORD(R74:= DATA;);
DATA[31] -> RWORD(R75:= DATA;);
DATA[33] -> RWORD(R76:= DATA;); %Börvärde 5004
DATA[35] -> RWORD(IF (DATA>=32768) THEN R77:=(DATA-65536)/10; ELSE R77:=DATA/10; ENDIF;); %10* 5004
DATA[37] -> RWORD(IF (DATA>=32768) THEN R78:=(DATA-65536)/10; ELSE R78:=DATA/10; ENDIF;); %10* 5004
DATA[39] -> RWORD(IF (DATA>=32768) THEN R79:=(DATA-65536)/10; ELSE R79:=DATA/10; ENDIF;); %10* 5004
DATA[41] -> RWORD(IF (DATA>=32768) THEN R80:=(DATA-65536)/10; ELSE R80:=DATA/10; ENDIF;); %10* 5004
TIMEOUT 1000
END;
END;
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 61-80 (Alarms)
% Larmstatus i REGO
% 1: Normal /Ej larm
% 2: Blockerad
% 3: Kvitterad
% 4: reserverad
% 5: Återgången
% 6: reserverad
% 7: Utlöst
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
% 2012-12-21 chnged T3/4,18 to T3/4.18
%
DEVICETYPE IvtRego5005AI4 NAMED "IVTREGO AI61-80" TYPEID 21345 IS
PARAMETER
Id :"Adress";
PUBLIC
R61 : "Driftt. G7LaddP"; %30061 Drifttid, G7 (Laddpump)
R62 : "Starter G7LaddP"; %30062 Starter, G7 (Laddpump)
R63 : "Driftt. Q21Vent"; %30063 Drifttid, Q21 (Växelventil)
R64 : "Starter Q21Vent"; %30064 Starter, Q21 (Växelventil)
R65 : "Status Q10Shunt"; %30065 Status, Q10 (Shunt)
R66 : "Status Q21VXV" ; %30066 Status, Q21 (VXV)
R67 : "Status Q40Shunt"; %30067 Status, Q40 (Shunt)
R68 : "Larm B31FlödeKy"; %30068 Larmstatus no.35, B31 lågt flöde kyla
R69 : "Larm S.spänning"; %30069 Larmstatus no.36, Tillfällig låg systemspänning
R70 : "Givarfel T4VV" ; %30070 Larmstatus no.37, T4 varmvatten givarfel
R71 : "Givarfel T7VVac"; %30071 Larmstatus no.38, T7 VV-ackumulator givarfel
R72 : "Larm B21Tryck V"; %30072 Larmstatus no.39, B21 lågt tryck värme
R73 : "Larm T4VV Reg.a"; %30073 Larmstatus no.40, T4 varmvatten regleravvikelse
R74 : "Larm Kom.fel" ; %30074 Larmstatus no.41, Kommunikationsfel
R75 : "Status KPR" ; %30075 Status kompressor: 0=Från, 1=Pumpstart, 2=Kontroll, 3=Kompressorstart, 4=Drift, 5=Stannar, 6=Larm
R76 : "Börvär. T3/4.18"; %30076 T3/T4 (E21), T18 (E22) – Börvärde 5004
R77 : "T4 Temp VV" ; %30077 T4 Varmvatten (E22) 10* 5004
R78 : "T7 Temp AckTank"; %30078 T7 AckTank (E22) 10* 5004
R79 : "T18 Fjärrvärme" ; %30079 T18 Fjärrvärme (E22) samma börvärde som T1 10* 5004
R80 : "Drifttid G2VBp" ; %30080 Drifttid, G2 låg hastighet (värmebärarpump) 10* 5004
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI4 NAMED "Läs AI61-80" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(60); % 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(R61:= DATA;);
DATA[5] -> RWORD(R62:= DATA;);
DATA[7] -> RWORD(R63:= DATA;);
DATA[9] -> RWORD(R64:= DATA;);
DATA[11] -> RWORD(R65:= DATA;);
DATA[13] -> RWORD(R66:= DATA;);
DATA[15] -> RWORD(R67:= DATA;);
DATA[17] -> RWORD(R68:= DATA;);
DATA[19] -> RWORD(R69:= DATA;);
DATA[21] -> RWORD(R70:= DATA;);
DATA[23] -> RWORD(R71:= DATA;);
DATA[25] -> RWORD(R72:= DATA;);
DATA[27] -> RWORD(R73:= DATA;);
DATA[29] -> RWORD(R74:= DATA;);
DATA[31] -> RWORD(R75:= DATA;);
DATA[33] -> RWORD(R76:= DATA;); %Börvärde 5004
DATA[35] -> RWORD(IF (DATA>=32768) THEN R77:=(DATA-65536)/10; ELSE R77:=DATA/10; ENDIF;); %10* 5004
DATA[37] -> RWORD(IF (DATA>=32768) THEN R78:=(DATA-65536)/10; ELSE R78:=DATA/10; ENDIF;); %10* 5004
DATA[39] -> RWORD(IF (DATA>=32768) THEN R79:=(DATA-65536)/10; ELSE R79:=DATA/10; ENDIF;); %10* 5004
DATA[41] -> RWORD(IF (DATA>=32768) THEN R80:=(DATA-65536)/10; ELSE R80:=DATA/10; ENDIF;); %10* 5004
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.