IVT REGO 5002, 5003, 5004, 5005
Detaljer
Beskrivning
drivrutin för IVT REGO 5002, 5003, 5004, 5005.
För IMSE UltraBase30 använd de uppdelade skripten
Bruksanvisning
READ Analog input 21-40 (Alarms)
Larmstatus i REGO
1: Normal /Ej larm
2: Blockerad
3: Kvitterad
4: reserverad
5: Återgången
6: reserverad
7: Utlöst
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
%
% READ Digital input
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
% 2011-01-25 Inläsning var förskjuten 1 bit DI0 saknades
%
DEVICETYPE IvtRego5005DI1 NAMED "IVTREGO Läs DI" TYPEID 21340 IS
PARAMETER
Id :"Adress";
PUBLIC
%GH
%DI0 :"Låg temp VVladd"; %10001 Låg temp i laddkrets VV End. 5003
%DI1 :"Låg tryck värme"; %10002 Lågt tryck värme (stoppar allt)
%DI2 :"Buffertank" ; %10003 Buffertank: Ja[1], Nej[0]
%DI3 :"Laddning tappv."; %10004 Tappvattenladdning: Ja[1], Nej[0]
%DI4 :"Låg tryck kyla" ; %10005 B31, lågt tryck kyla
%DI5 :"E11 larm tills."; %10006 E11, larmingång (tillskott)
DI6 :"E21 driftind." ; %10007 E21, driftindikering (värmepump)
DI7 :"G1 larm framl." ; %10008 G1, larmingång (framledning)
DI8 :"E11 driftind." ; %10009 E11, driftindikering (tillskott)
DI9 :"G1 drift framl."; %10010 G1, driftindikering (framledning)
DI10 :"G2 drift värmeb"; %10011 G2, driftindikering (värmebärare)
DI11 :"G3 drift köldb."; %10012 G3, driftindikering (köldbärare)
DI12 :"G5 drift h.gasp"; %10013 G5, driftindikering (hetgaspump)
DI13 :"G7 drift laddn."; %10014 G7, driftindikering (laddning)
DI14 :"Tillåt on/off" ; %10015 receiveblock, tillåt start/stopp (kommunikationshandboken)
DI15 :"E21 summalarm" ; %10016 E21, summalarm
DI16 :"Q21 status 1=VV"; %10017 Q21, status: VV[1], Värme[0]
DI17 :"Summalarm A" ; %10018 Summalarm, A-larm
DI18 :"Summalarm B" ; %10019 Summalarm, B-larm
DI19 :"Summalarm C" ; %10020 Summalarm, C-larm
DI20 :"Q41 VVC 1=Hetg."; %10021 Q41, val av VVC-flöde: Slingtank + Hetgas[0], Hetgas[1] End. 5004
DI21 :"G2 VBpump hög" ; %10022 G2, driftindikering hög hastighet (värmebärarpump) End. 5005
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadDI1 NAMED "Läs DI1-21" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(22); % Number of inputs
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(3);
DATA[3] -> BYTE(%IF (DATA & 1) THEN DI0 := 1; ELSE DI0 := 0; ENDIF;
%IF (DATA & 2) THEN DI1 := 1; ELSE DI1 := 0; ENDIF;
%IF (DATA & 4) THEN DI2 := 1; ELSE DI2 := 0; ENDIF;
%IF (DATA & 8) THEN DI3 := 1; ELSE DI3 := 0; ENDIF;
%IF (DATA & 16) THEN DI4 := 1; ELSE DI4 := 0; ENDIF;
%IF (DATA & 32) THEN DI5 := 1; ELSE DI5 := 0; ENDIF;
IF (DATA & 64) THEN DI6 := 1; ELSE DI6 := 0; ENDIF;
IF (DATA & 128) THEN DI7 := 1; ELSE DI7 := 0; ENDIF;
);
DATA[4] -> BYTE(IF (DATA & 1) THEN DI8 := 1; ELSE DI8 := 0; ENDIF;
IF (DATA & 2) THEN DI9 := 1; ELSE DI9 := 0; ENDIF;
IF (DATA & 4) THEN DI10:= 1; ELSE DI10:= 0; ENDIF;
IF (DATA & 8) THEN DI11:= 1; ELSE DI11:= 0; ENDIF;
IF (DATA & 16) THEN DI12:= 1; ELSE DI12:= 0; ENDIF;
IF (DATA & 32) THEN DI13:= 1; ELSE DI13:= 0; ENDIF;
IF (DATA & 64) THEN DI14:= 1; ELSE DI14:= 0; ENDIF;
IF (DATA & 128) THEN DI15:= 1; ELSE DI15:= 0; ENDIF;
);
DATA[5] -> BYTE(IF (DATA & 1) THEN DI16:= 1; ELSE DI16:= 0; ENDIF;
IF (DATA & 2) THEN DI17:= 1; ELSE DI17:= 0; ENDIF;
IF (DATA & 4) THEN DI18:= 1; ELSE DI18:= 0; ENDIF;
IF (DATA & 8) THEN DI19:= 1; ELSE DI19:= 0; ENDIF;
IF (DATA & 16) THEN DI20:= 1; ELSE DI20:= 0; ENDIF;
IF (DATA & 32) THEN DI21:= 1; ELSE DI21:= 0; ENDIF;
);
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ/WRITE Digital output
%
% 9 digitala utgångar kan ställas från devicet.
% Ta bort kommentartecken (%) för de utgångar som skall styras.
% Uppdatera telegrammen för Läs och Ställ med de valda utgångarna.
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005DOSET NAMED "IVTREGO StällDU" TYPEID 21341 IS
PARAMETER
Id :"Adress";
%DO1 : "Tidkanal A-Larm"; %00001 Tidkanal A-Larm
%DO2 : "Tidkanal B-Larm"; %00002 Tidkanal B-Larm
%DO3 : "Tidkanal Dagtid"; %00003 Tidkanal Dagtid
%DO4 : "SMS 0=Res 1=Ord"; %00004 SMSsend1: Reserv[0], Ordinarie[1]
%DO5 : "SMS Kvittering" ; %00005 SMSsend1, Kvittering
%DO6 : "SMS 0=Off, 1=On"; %00006 SMSsend1: Från[0], Till[1+]
%DO7 : "E21 Ext.start" ; %00007 E21, externstart
%DO8 : "T1 Ange gfel FL"; %00008 Ange, T1, givarfel (framledning)
%DO9 : "T3 Ange gfel ST"; %00009 Ange, T3, givarfel (slingtank)
%DO10 : "Sendbl. VP klar"; %00010 sendblock, värmepumpen klar (kommunikationshandboken)
%DO11 : "G1 Ange drift" ; %00011 Ange, G1, driftindikering
%DO12 : "E11 Ange drift" ; %00012 Ange, E11, driftindikering
%DO13 : "G3 Ext.start KB"; %00013 G3, externstart (köldbärare)
DO14 : "E21 block. VP" ; %00014 E21, blockering (värmepump)
%DO15 : "E11 Tillåt t.s."; %00015 E11, tillåt (tillskott)
%DO16 : "G5 Extern start"; %00016 G5, externstart (underkylare) (endast G-maskiner)
%DO17 : "B21 Lågt tryck" ; %00017 B21, lågt tryck (värme) (stoppar allt)
%DO18 : "G1 Ext.start FL"; %00018 G1, externstart (framledning)
%DO19 : "E21 Ange larm" ; %00019 Ange, E21, larm
%DO20 : "Tillåt On/Off" ; %00020 receiveblock, tillåt start/stopp (kommunikationshandboken)
PUBLIC
%rDO1 : "Tidkanal A-Larm";
%rDO2 : "Tidkanal B-Larm";
%rDO3 : "Tidkanal Dagtid";
%rDO4 : "SMS 0=Res 1=Ord";
%rDO5 : "SMS Kvittering" ;
%rDO6 : "SMS 0=Off, 1=On";
%rDO7 : "E21 Ext.start" ;
%rDO8 : "T1 Ange gfel FL";
%rDO9 : "T3 Ange gfel ST";
%rDO10 : "Sendbl. VP klar";
%rDO11 : "G1 Ange drift" ;
%rDO12 : "E11 Ange drift" ;
%rDO13 : "G3 Ext.start KB";
rDO14 : "E21 block. VP" ;
%rDO15 : "E11 Tillåt t.s.";
%rDO16 : "G5 Extern start";
%rDO17 : "B21 Lågt tryck" ;
%rDO18 : "G1 Ext.start FL";
%rDO19 : "E21 Ange larm" ;
%rDO20 : "Tillåt On/Off" ;
PRIVATE
Cnt;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadDISET1 NAMED "Läs DU1-20" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(01); % Modbus command "01h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(20); % Number of inputs
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(01);
DATA[2] = BYTE(3);
%DATA[3] -> BYTE(
% IF (DATA & 1) THEN rDO1 := 1; ELSE rDO1 := 0; ENDIF;
% IF (DATA & 2) THEN rDO2 := 1; ELSE rDO2 := 0; ENDIF;
% IF (DATA & 4) THEN rDO3 := 1; ELSE rDO3 := 0; ENDIF;
% IF (DATA & 8) THEN rDO4 := 1; ELSE rDO4 := 0; ENDIF;
% IF (DATA & 16) THEN rDO5 := 1; ELSE rDO5 := 0; ENDIF;
% IF (DATA & 32) THEN rDO6 := 1; ELSE rDO6 := 0; ENDIF;
% IF (DATA & 64) THEN rDO7 := 1; ELSE rDO7 := 0; ENDIF;
% IF (DATA & 128) THEN rDO8 := 1; ELSE rDO8 := 0; ENDIF;
%);
DATA[4] -> BYTE(
% IF (DATA & 1) THEN rDO9 := 1; ELSE rDO9 := 0; ENDIF;
% IF (DATA & 2) THEN rDO10:= 1; ELSE rDO10:= 0; ENDIF;
% IF (DATA & 4) THEN rDO11:= 1; ELSE rDO11:= 0; ENDIF;
% IF (DATA & 8) THEN rDO12:= 1; ELSE rDO12:= 0; ENDIF;
% IF (DATA & 16) THEN rDO13:= 1; ELSE rDO13:= 0; ENDIF;
IF (DATA & 32) THEN rDO14:= 1; ELSE rDO14:= 0; ENDIF;
% IF (DATA & 64) THEN rDO15:= 1; ELSE rDO15:= 0; ENDIF;
% IF (DATA & 128) THEN rDO16:= 1; ELSE rDO16:= 0; ENDIF;
);
%DATA[5] -> BYTE(
% IF (DATA & 1) THEN rDO17:= 1; ELSE rDO17:= 0; ENDIF;
% IF (DATA & 2) THEN rDO18:= 1; ELSE rDO18:= 0; ENDIF;
% IF (DATA & 4) THEN rDO19:= 1; ELSE rDO19:= 0; ENDIF;
% IF (DATA & 8) THEN rDO20:= 1; ELSE rDO20:= 0; ENDIF;
%);
TIMEOUT 1000
END;
TELEGRAM WriteDISET1 NAMED "Ställ DU1-20" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(05); % Modbus command "05h" Set coil status (bit)
DATA[2] <- RWORD( %
IF Cnt>8 THEN Cnt:=0; ENDIF;
IF Cnt=0 THEN DATA := 13; %00014 E21, blockering (värmepump)
ELSIF Cnt=1 THEN DATA := 13; % "
ELSIF Cnt=2 THEN DATA := 13; % "
ELSIF Cnt=3 THEN DATA := 13; % "
ELSIF Cnt=4 THEN DATA := 13; % "
ELSIF Cnt=5 THEN DATA := 13; % "
ELSIF Cnt=6 THEN DATA := 13; % "
ELSIF Cnt=7 THEN DATA := 13; % "
ELSIF Cnt=8 THEN DATA := 13; % "
ENDIF;
);
DATA[4] <- RWORD(
IF Cnt=0 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=1 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=2 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=3 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=4 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=5 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=6 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=7 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=8 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ENDIF;
Cnt := Cnt + 1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(05);
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 1-20 (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
%
DEVICETYPE IvtRego5005AI1 NAMED "IVTREGO AI1-20" TYPEID 21342 IS
PARAMETER
Id :"Adress";
PUBLIC
R01 : "Givarfel T1 FrL" ; %30001 Larm01, T1 framledning givarfel
R02 : "Givarfel T2 UTE" ; %30002 Larm02, T2 ute givarfel
R03 : "Larm T1Reg.avv." ; %30003 Larm03, T1 regleravvikelse
R04 : "Larm T3Låg SliT" ; %30004 Larm04, T3 slingtank låg temperatur
R05 : "Givarfel T9 Vin" ; %30005 Larm05, T9 värme in givarfel
R06 : "Givarf T10 KBin" ; %30006 Larm06, T10 köldbärare in givarfel
R07 : "Givarf T11 KBut" ; %30007 Larm07, T11 köldbärare ut givarfel
R08 : "Larm elfel KPR" ; %30008 Larm08, Kompressor elfel
R09 : "Larm G3Överhet." ; %30009 Larm09, G3 överhettad
R10 : "Givarfel T3 ST" ; %30010 Larm10, T3 slingtank givarfel
R11 : "Larm KPR överh." ; %30011 Larm11, Kompressor överhettad
R12 : "Givarfel T6 Het" ; %30012 Larm12, T6 hetgas givarfel
R13 : "Larm T6Hög HetG" ; %30013 Larm13, T6 hetgas hög temperatur
R14 : "Givarfel T8 Vut" ; %30014 Larm14, T8 värme ut givarfel
R15 : "Larm tryck Förå" ; %30015 Larm15, Förångare lågt tryck
R16 : "Larm tryck Kyla" ; %30016 Larm16, B31 lågt tryck kyla
R17 : "Larm sum E11 TS" ; %30017 Larm17, E11 tillskott summalarm
R18 : "Larm tryck Kond" ; %30018 Larm18, Kondensor högt tryck
R19 : "Larm fasfö. KPR" ; %30019 Larm19, Kompressor fasföljdfel
R20 : "Larm drift G1FL" ; %30020 Larm20, G1 framledning driftfel
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI1-20larm" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(0); % 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(R01:= DATA;); % Larm01 Larmstatus i REGO
DATA[5] -> RWORD(R02:= DATA;); % Larm02 1: Normal /Ej larm
DATA[7] -> RWORD(R03:= DATA;); % Larm03 2: Blockerad
DATA[9] -> RWORD(R04:= DATA;); % Larm04 3: Kvitterad
DATA[11] -> RWORD(R05:= DATA;); % Larm05 4: reserverad
DATA[13] -> RWORD(R06:= DATA;); % Larm06 5: Återgången
DATA[15] -> RWORD(R07:= DATA;); % Larm07 6: reserverad
DATA[17] -> RWORD(R08:= DATA;); % Larm08 7: Utlöst
DATA[19] -> RWORD(R09:= DATA;); % Larm09
DATA[21] -> RWORD(R10:= DATA;); % Larm10
DATA[23] -> RWORD(R11:= DATA;); % Larm11
DATA[25] -> RWORD(R12:= DATA;); % Larm12
DATA[27] -> RWORD(R13:= DATA;); % Larm13
DATA[29] -> RWORD(R14:= DATA;); % Larm14
DATA[31] -> RWORD(R15:= DATA;); % Larm15
DATA[33] -> RWORD(R16:= DATA;); % Larm16
DATA[35] -> RWORD(R17:= DATA;); % Larm17
DATA[37] -> RWORD(R18:= DATA;); % Larm18
DATA[39] -> RWORD(R19:= DATA;); % Larm19
DATA[41] -> RWORD(R20:= DATA;); % Larm20
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 21-40 (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
%
DEVICETYPE IvtRego5005AI2 NAMED "IVTREGO AI21-40" TYPEID 21343 IS
PARAMETER
Id :"Adress";
PUBLIC
R21 : "Larm Minnesbatt"; %30021 Larm21, Minnesbatteri dåligt
R22 : "Larm Systemlösn"; %30022 Larm22, Ogiltig systemlösning
R23 : "Larm Handl. Utg"; %30023 Larm23, Utgång i handläge
R24 : "Larm T8Hög Vut" ; %30024 Larm24, T8 värme ut hög temperatur
R25 : "Larm T3Hög ST" ; %30025 Larm25, T3 slingtank hög temperatur
R26 : "Larm Konden.sil"; %30026 Larm26, Kondensor igensatt sil
R27 : "Larm Kondensflö"; %30027 Larm27, Kondensflöde för stort
R28 : "Larm Förång.sil"; %30028 Larm28, Förångare igensatt sil
R29 : "Larm E21 Gå.Tid"; %30029 Larm29, E21 för kort gångtid
R30 : "Larm E11 Låg te"; %30030 Larm30, E11 tillskott låg temperatur
R31 : "Larm T9Hög Vin" ; %30031 Larm31, T9 värme in hög temperatur
R32 : "Larm T10LågKBin"; %30032 Larm32, T10 köldbärare in låg temperatur
R33 : "Larm T11LågKBut"; %30033 Larm33, T11 köldbärare ut låg temperatur
R34 : "Larm G2Överhet."; %30034 Larm34, G2 överhettad
R35 : "AI1-mode (0-4)" ; %30035 AI1: Används ej, T3 slingtank, T3 regulator, T18 regulator, T18 VPshunt
R36 : "Värmepumpstyp" ; %30036 Värmepumpstyp: 1F[0], 2F[1]
R37 : "Tillskottstyp" ; %30037 Tillskottstyp: Ingen[0], El[1], Olja[2], FJV[3]
R38 : "Eftervärme VV" ; %30038 Eftervärmning VV: Ingen[0], El[1], FJV[2]
R39 : "Värme VV steg2" ; %30039 Värmning VV steg2: Ingen[0], Hetgas[1]
R40 : "Värme VV steg1" ; %30040 Värmning VV steg1: Ingen[0], Värmepump[1]
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI21-40" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(20); % 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(R21:= DATA;); %Larm21 Larmstatus i REGO
DATA[5] -> RWORD(R22:= DATA;); %Larm22 1: Normal /Ej larm
DATA[7] -> RWORD(R23:= DATA;); %Larm23 2: Blockerad
DATA[9] -> RWORD(R24:= DATA;); %Larm24 3: Kvitterad
DATA[11] -> RWORD(R25:= DATA;); %Larm25 4: reserverad
DATA[13] -> RWORD(R26:= DATA;); %Larm26 5: Återgången
DATA[15] -> RWORD(R27:= DATA;); %Larm27 6: reserverad
DATA[17] -> RWORD(R28:= DATA;); %Larm28 7: Utlöst
DATA[19] -> RWORD(R29:= DATA;); %Larm29
DATA[21] -> RWORD(R30:= DATA;); %Larm30
DATA[23] -> RWORD(R31:= DATA;); %Larm31
DATA[25] -> RWORD(R32:= DATA;); %Larm32
DATA[27] -> RWORD(R33:= DATA;); %Larm33
DATA[29] -> RWORD(R34:= DATA;); %Larm34
DATA[31] -> RWORD(R35:= DATA;); %AI1
DATA[33] -> RWORD(R36:= DATA;); %Värmepumpstyp
DATA[35] -> RWORD(R37:= DATA;); %Tillskottstyp
DATA[37] -> RWORD(R38:= DATA;); %Eftervärmning VV
DATA[39] -> RWORD(R39:= DATA;); %Värmning VV steg2
DATA[41] -> RWORD(R40:= DATA;); %Värmning VV steg1
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;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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 81-100
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AI5 NAMED "IVTREGO AI-100" TYPEID 21346 IS
PARAMETER
Id :"Adress";
PUBLIC
R81 : "Starter G2 VBp"; %30081 Starter, G2 låg hastighet (värmebärarpump) 10* 5002, 5004
%R82 : ""; %30082
%R83 : ""; %30083
%R84 : ""; %30084
%R85 : ""; %30085
%R86 : ""; %30086
%R87 : ""; %30087
%R88 : ""; %30088
%R89 : ""; %30089
%R90 : ""; %30090
R91 : "Larm KPR strömb"; %30091 Larmstatus no.46, Kompressor strömbrytare 5004
%R92 : ""; %30092
%R93 : ""; %30093
%R94 : ""; %30094
%R95 : ""; %30095
%R96 : ""; %30096
%R97 : ""; %30097
%R98 : ""; %30098
%R99 : ""; %30099
R100: "Rego Version" ; %30100 Rego500X Versionsnummer (X = Värmepumpstyp)
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(80); % 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(R81 := DATA/10;); %10* 5004
%DATA[5] -> RWORD(R82 := DATA;);
%DATA[7] -> RWORD(R83 := DATA;);
%DATA[9] -> RWORD(R84 := DATA;);
%DATA[11] -> RWORD(R85 := DATA;);
%DATA[13] -> RWORD(R86 := DATA;);
%DATA[15] -> RWORD(R87 := DATA;);
%DATA[17] -> RWORD(R88 := DATA;);
%DATA[19] -> RWORD(R89 := DATA;);
%DATA[21] -> RWORD(R90 := DATA;);
DATA[23] -> RWORD(R91 := DATA;); %KPR strömbrytare 5004
%DATA[25] -> RWORD(R92 := DATA;);
%DATA[27] -> RWORD(R93 := DATA;);
%DATA[29] -> RWORD(R94 := DATA;);
%DATA[31] -> RWORD(R95 := DATA;);
%DATA[33] -> RWORD(R96 := DATA;);
%DATA[35] -> RWORD(R97 := DATA;);
%DATA[37] -> RWORD(R98 := DATA;);
%DATA[39] -> RWORD(R99 := DATA;);
DATA[41] -> RWORD(R100:= DATA;); %Rego500X Versionsnummer
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Telegram for setting Analog status
% Select registers for setting.
% Maximum 9 registers can be selected in a device.
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AO1 NAMED "IVTREGO StällAU" TYPEID 21347 IS
PARAMETER
Id : "Adress";
%S01 : "X1 Kurva FramL" ["°C"]; %40001 X1, framledningskurva (T1/T2)
%S02 : "X2 Kurva FramL" ["°C"]; %40002 X2, framledningskurva (T1/T2)
%S03 : "X3 Kurva FramL" ["°C"]; %40003 X3, framledningskurva (T1/T2)
%S04 : "X4 Kurva FramL" ["°C"]; %40004 X4, framledningskurva (T1/T2)
%S05 : "X5 Kurva FramL" ["°C"]; %40005 X5, framledningskurva (T1/T2)
%S06 : "X6 Kurva FramL" ["°C"]; %40006 X6, framledningskurva (T1/T2)
%S07 : "X7 Kurva FramL" ["°C"]; %40007 X7, framledningskurva (T1/T2)
%S08 : "Y1 Kurva FramL" ["°C"]; %40008 Y1, framledningskurva (T1/T2)
%S09 : "Y2 Kurva FramL" ["°C"]; %40009 Y2, framledningskurva (T1/T2)
%S10 : "Y3 Kurva FramL" ["°C"]; %40010 Y3, framledningskurva (T1/T2)
%S11 : "Y4 Kurva FramL" ["°C"]; %40011 Y4, framledningskurva (T1/T2)
%S12 : "Y5 Kurva FramL" ["°C"]; %40012 Y5, framledningskurva (T1/T2)
%S13 : "Y6 Kurva FramL" ["°C"]; %40013 Y6, framledningskurva (T1/T2)
%S14 : "Y7 Kurva FramL" ["°C"]; %40014 Y7, framledningskurva (T1/T2)
%S15 : "Min temp FramL" ["°C"]; %40015 Minbegränsning, framledningskurva (T1/T2)
%S16 : "Max temp FramL" ["°C"]; %40016 Maxbegränsning, framledningskurva (T1/T2)
%S17 : "BV-förskjFramL" ["°C"]; %40017 Parallelförskjutning, framledningskurva (T1/T2) 10*
%S18 : "RegFrL P-värde" [""]; %40018 Regulator P, framledning (T1) 10*
%S19 : "RegFrL I-värde" [""]; %40019 Regulator I, framledning (T1)
%S20 : "RegFrL D-värde" [""]; %40020 Regulator D, framledning (T1) 10*
%S21 : "RegFrL D-max" [""]; %40021 Regulator Dmax, framledning (T1)
%S22 : "RegFjV P-värde" [""]; %40022 Regulator P, fjärrvärme (T18) 10*
%S23 : "RegFjV I-värde" [""]; %40023 Regulator I, fjärrvärme (T18)
%S24 : "RegFjV D-värde" [""]; %40024 Regulator D, fjärrvärme (T18) 10*
%S25 : "RegFjV D-max" [""]; %40025 Regulator Dmax, fjärrvärme (T18)
%S26 : "Larmg.T3 hög" ["°C"]; %40026 Larmgräns, hög temperatur (T3)
%S27 : "Larmg.T3 låg" ["°C"]; %40027 Larmgräns, låg temperatur (T3)
%S28 : "Startg.T2" ["°C"]; %40028 Startgräns, G1 (T2) 10*
%S29 : "Startg.T2direk" ["°C"]; %40029 Direktstartsgräns, G1 (T2) 10*
%S30 : "Stoppg.T2" ["°C"]; %40030 Stoppgräns, G1 (T2) 10*
%S31 : "Startg.T1 hyst" ["°C"]; %40031 Starthysteres, tillskottsvärme (T1) 10*
%S32 : "Stoppg.T1 hyst" ["°C"]; %40032 Stopphysteres, varmvattenladdning (T1) 10*
%S33 : "Fördröj status" ["min"]; %40033 Fördröjning Statusförändring kompressor (minuter)
%S34 : "Motionskör G1" ["t"]; %40034 Motionskörning, G1 (kalendertimme)
%S35 : "Startg.T3 ladd" ["°C"]; %40035 Startgräns, slingtanksladdning (T3)
%S36 : "Stoppg.T3 ladd" ["°C"]; %40036 Stoppgräns, slingtanksladdning (T3)
%S37 : "Ming.T1 ladd" ["°C"]; %40037 Minbegränsning, T1 vid slingtanksladdning (grader under T1 börvärde)
%S38 : "Fråntid ladd" [""]; %40038 Tidskonstant, frånkoppling slingtanksladdning om under minbegränsning
%S39 : "Startt.A Vard" [""]; %40039 Tidkanal A-Larm Vardag Fr.o.m. Kl.
%S40 : "Stoppt.A Vard" [""]; %40040 Tidkanal A-Larm Vardag T.o.m. Kl.
%S41 : "Startt.A Lörd" [""]; %40041 Tidkanal A-Larm Lördag Fr.o.m. Kl.
%S42 : "Stoppt.A Lörd" [""]; %40042 Tidkanal A-Larm Lördag T.o.m. Kl.
%S43 : "Startt.A Sönd" [""]; %40043 Tidkanal A-Larm Söndag Fr.o.m. Kl.
%S44 : "Stoppt.A Sönd" [""]; %40044 Tidkanal A-Larm Söndag T.o.m. Kl.
%S45 : "Startt.B Vard" [""]; %40045 Tidkanal B-Larm Vardag Fr.o.m. Kl.
%S46 : "Stoppt.B Vard" [""]; %40046 Tidkanal B-Larm Vardag T.o.m. Kl.
%S47 : "Startt.B Lörd" [""]; %40047 Tidkanal B-Larm Lördag Fr.o.m. Kl.
%S48 : "Stoppt.B Lörd" [""]; %40048 Tidkanal B-Larm Lördag T.o.m. Kl.
%S49 : "Startt.B Sönd" [""]; %40049 Tidkanal B-Larm Söndag Fr.o.m. Kl.
%S50 : "Stoppt.B Sönd" [""]; %40050 Tidkanal B-Larm Söndag T.o.m. Kl.
%S51 : "Fördröj Res.A" [""]; %40051 Fördröjning Reserv A-Larm
%S52 : "Fördröj Res.B" [""]; %40052 Fördröjning Reserv B-Larm
%S53 : "Larmsänd (0-2)" [""]; %40053 Larmsändning: Från[0], Till[1], Auto[2]
%S54 : "Startt.Dag Var" [""]; %40054 Tidkanal Dagtid Vardag Fr.o.m. Kl.
%S55 : "Stoppt.Dag Var" [""]; %40055 Tidkanal Dagtid Vardag T.o.m. Kl.
%S56 : "Startt.Dag Lör" [""]; %40056 Tidkanal Dagtid Lördag Fr.o.m. Kl.
%S57 : "Stoppt.Dag Lör" [""]; %40057 Tidkanal Dagtid Lördag T.o.m. Kl.
%S58 : "Startt.Dag Sön" [""]; %40058 Tidkanal Dagtid Söndag Fr.o.m. Kl.
%S59 : "Stoppt.Dag Sön" [""]; %40059 Tidkanal Dagtid Söndag T.o.m. Kl.
%S60 : "Status Dag" [""]; %40060 Status, dagtidskanal (SMS)
%S61 : "Max koppl.diff" ["°C"]; %40061 Maximal kopplingsdifferens (T1)
%S62 : "Min koppl.diff" ["°C"]; %40062 Minimal kopplingsdifferens (T1)
%S63 : "Tid koppl.diff" [""]; %40063 Tidskonstant för kopplingsdifferens (T1)
%S64 : "Larm kvittering" [""]; %40064 Larmkvittering (ange no.xx, se larmstatus)
%S65 : "Larm blockering" [""]; %40065 Larmblockering (ange no.xx, se larmstatus)
%S66 : "Larm block. av" [""]; %40066 Larmavblockering (ange no.xx, se larmstatus)
%S67 : "Larmg.T1reg.avv" ["°C"]; %40067 Larmgräns, regleravvikelse framledning (T1)
%S68 : "Startfördr.G1FL" [""]; %40068 Startfördröjning, G1 (Framledning)
%S69 : "Stoppfördr.G1FL" [""]; %40069 Stoppfördröjning, G1 (Framledning)
%S70 : "Startfördr.E11T" [""]; %40070 Startfördröjning, E11 (Tillskott)
%S71 : "Stoppfördr.E11T" [""]; %40071 Stoppfördröjning, E11 (Tillskott)
%S72 : "Larmfördr.T3låg" [""]; %40072 Larmfördröjning, låg temperatur slingtank (T3)
%S73 : "Larmfördr.T3hög" [""]; %40073 Larmfördröjning, hög temperatur slingtank (T3)
%S74 : "BV-funk (0-1)" [""]; %40074 Börvärdesfunktion T1: Kurva[0], Fast[1]
%S75 : "T7-funk (0-2)" [""]; %40075 Funktion T7: Från[0], Ute(T2)[1], VV-ackumulator(T7)[2]
%S76 : "Status Rego5055" [""]; %40076 Status Rego5055 (används ej)
%S77 : "Stoppg.T3STladd" ["°C"]; %40077 Stoppgräns, slingtanksladdning (T3) 10*
%S78 : "Ärvärde T5 rum" ["°C"]; %40078 Ärvärde, T5 rumsgivare 10*
%S79 : "Börvärdesförskj" ["°C"]; %40079 Börvärdesförskjutning, T5 rumsgivare 10*
S80 : "Börvärde T1 FL" ["°C"]; %40080 Fast börvärde, T1 framledning 10*
%S81 : "Ärvärde T1 FL" ["°C"]; %40081 Ärvärde, T1 framledning 10*
%S82 : "Ärvärde T2 UTE" ["°C"]; %40082 Ärvärde, T2 ute 10*
%S83 : "Ärvärde T3 ST" ["°C"]; %40083 Ärvärde, T3 slingtank 10*
%S84 : "Klocka minuter" [""]; %40084 Klocka, minuter [0-59]
%S85 : "Klocka timmar" [""]; %40085 Klocka, timmar [0-23]
%S86 : "Klocka datum" [""]; %40086 Klocka, datum [1-31]
%S87 : "Klocka veckodag" [""]; %40087 Klocka, veckodag [1-7, 1=måndag]
%S88 : "Klocka vecka" [""]; %40088 Klocka, vecka [1-53]
%S89 : "Klocka år" [""]; %40089 Klocka, år [0-99]
%S90 : "Klocka månad" [""]; %40090 Klocka, månad [1-12]
%S91 : "Börv. E21/E22" ["°C"]; %40091 T3/T4 (E21), T18 (E22) – Börvärde
%S92 : "Startg.T3SLladd" ["°C"]; %40092 T3 Slingtanksladdning, starthysteres 10*
PUBLIC
PRIVATE
Cnt;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM WriteSet NAMED "Ställ register" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(06); % Modbus command "0x06" write singel register
DATA[2] <- RWORD( % Register address
IF Cnt>8 THEN Cnt:=0; ENDIF;
IF Cnt=0 THEN DATA:=79; %40080 Fast börvärde, T1 framledning 10*
ELSIF Cnt=1 THEN DATA:=79;
ELSIF Cnt=2 THEN DATA:=79;
ELSIF Cnt=3 THEN DATA:=79;
ELSIF Cnt=4 THEN DATA:=79;
ELSIF Cnt=5 THEN DATA:=79;
ELSIF Cnt=6 THEN DATA:=79;
ELSIF Cnt=7 THEN DATA:=79;
ELSIF Cnt=8 THEN DATA:=79;
ENDIF;
);
DATA[4] <- RWORD( % Register value
IF Cnt=0 THEN DATA:=(S80*10); %40080 Fast börvärde, T1 framledning 10*
ELSIF Cnt=1 THEN DATA:=(S80*10);
ELSIF Cnt=2 THEN DATA:=(S80*10);
ELSIF Cnt=3 THEN DATA:=(S80*10);
ELSIF Cnt=4 THEN DATA:=(S80*10);
ELSIF Cnt=5 THEN DATA:=(S80*10);
ELSIF Cnt=6 THEN DATA:=(S80*10);
ELSIF Cnt=7 THEN DATA:=(S80*10);
ELSIF Cnt=8 THEN DATA:=(S80*10);
ENDIF;
Cnt:=Cnt+1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(06);
TIMEOUT 1000
END;
END;
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
%
% READ Digital input
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
% 2011-01-25 Inläsning var förskjuten 1 bit DI0 saknades
%
DEVICETYPE IvtRego5005DI1 NAMED "IVTREGO Läs DI" TYPEID 21340 IS
PARAMETER
Id :"Adress";
PUBLIC
%GH
%DI0 :"Låg temp VVladd"; %10001 Låg temp i laddkrets VV End. 5003
%DI1 :"Låg tryck värme"; %10002 Lågt tryck värme (stoppar allt)
%DI2 :"Buffertank" ; %10003 Buffertank: Ja[1], Nej[0]
%DI3 :"Laddning tappv."; %10004 Tappvattenladdning: Ja[1], Nej[0]
%DI4 :"Låg tryck kyla" ; %10005 B31, lågt tryck kyla
%DI5 :"E11 larm tills."; %10006 E11, larmingång (tillskott)
DI6 :"E21 driftind." ; %10007 E21, driftindikering (värmepump)
DI7 :"G1 larm framl." ; %10008 G1, larmingång (framledning)
DI8 :"E11 driftind." ; %10009 E11, driftindikering (tillskott)
DI9 :"G1 drift framl."; %10010 G1, driftindikering (framledning)
DI10 :"G2 drift värmeb"; %10011 G2, driftindikering (värmebärare)
DI11 :"G3 drift köldb."; %10012 G3, driftindikering (köldbärare)
DI12 :"G5 drift h.gasp"; %10013 G5, driftindikering (hetgaspump)
DI13 :"G7 drift laddn."; %10014 G7, driftindikering (laddning)
DI14 :"Tillåt on/off" ; %10015 receiveblock, tillåt start/stopp (kommunikationshandboken)
DI15 :"E21 summalarm" ; %10016 E21, summalarm
DI16 :"Q21 status 1=VV"; %10017 Q21, status: VV[1], Värme[0]
DI17 :"Summalarm A" ; %10018 Summalarm, A-larm
DI18 :"Summalarm B" ; %10019 Summalarm, B-larm
DI19 :"Summalarm C" ; %10020 Summalarm, C-larm
DI20 :"Q41 VVC 1=Hetg."; %10021 Q41, val av VVC-flöde: Slingtank + Hetgas[0], Hetgas[1] End. 5004
DI21 :"G2 VBpump hög" ; %10022 G2, driftindikering hög hastighet (värmebärarpump) End. 5005
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadDI1 NAMED "Läs DI1-21" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(22); % Number of inputs
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(3);
DATA[3] -> BYTE(%IF (DATA & 1) THEN DI0 := 1; ELSE DI0 := 0; ENDIF;
%IF (DATA & 2) THEN DI1 := 1; ELSE DI1 := 0; ENDIF;
%IF (DATA & 4) THEN DI2 := 1; ELSE DI2 := 0; ENDIF;
%IF (DATA & 8) THEN DI3 := 1; ELSE DI3 := 0; ENDIF;
%IF (DATA & 16) THEN DI4 := 1; ELSE DI4 := 0; ENDIF;
%IF (DATA & 32) THEN DI5 := 1; ELSE DI5 := 0; ENDIF;
IF (DATA & 64) THEN DI6 := 1; ELSE DI6 := 0; ENDIF;
IF (DATA & 128) THEN DI7 := 1; ELSE DI7 := 0; ENDIF;
);
DATA[4] -> BYTE(IF (DATA & 1) THEN DI8 := 1; ELSE DI8 := 0; ENDIF;
IF (DATA & 2) THEN DI9 := 1; ELSE DI9 := 0; ENDIF;
IF (DATA & 4) THEN DI10:= 1; ELSE DI10:= 0; ENDIF;
IF (DATA & 8) THEN DI11:= 1; ELSE DI11:= 0; ENDIF;
IF (DATA & 16) THEN DI12:= 1; ELSE DI12:= 0; ENDIF;
IF (DATA & 32) THEN DI13:= 1; ELSE DI13:= 0; ENDIF;
IF (DATA & 64) THEN DI14:= 1; ELSE DI14:= 0; ENDIF;
IF (DATA & 128) THEN DI15:= 1; ELSE DI15:= 0; ENDIF;
);
DATA[5] -> BYTE(IF (DATA & 1) THEN DI16:= 1; ELSE DI16:= 0; ENDIF;
IF (DATA & 2) THEN DI17:= 1; ELSE DI17:= 0; ENDIF;
IF (DATA & 4) THEN DI18:= 1; ELSE DI18:= 0; ENDIF;
IF (DATA & 8) THEN DI19:= 1; ELSE DI19:= 0; ENDIF;
IF (DATA & 16) THEN DI20:= 1; ELSE DI20:= 0; ENDIF;
IF (DATA & 32) THEN DI21:= 1; ELSE DI21:= 0; ENDIF;
);
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ/WRITE Digital output
%
% 9 digitala utgångar kan ställas från devicet.
% Ta bort kommentartecken (%) för de utgångar som skall styras.
% Uppdatera telegrammen för Läs och Ställ med de valda utgångarna.
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005DOSET NAMED "IVTREGO StällDU" TYPEID 21341 IS
PARAMETER
Id :"Adress";
%DO1 : "Tidkanal A-Larm"; %00001 Tidkanal A-Larm
%DO2 : "Tidkanal B-Larm"; %00002 Tidkanal B-Larm
%DO3 : "Tidkanal Dagtid"; %00003 Tidkanal Dagtid
%DO4 : "SMS 0=Res 1=Ord"; %00004 SMSsend1: Reserv[0], Ordinarie[1]
%DO5 : "SMS Kvittering" ; %00005 SMSsend1, Kvittering
%DO6 : "SMS 0=Off, 1=On"; %00006 SMSsend1: Från[0], Till[1+]
%DO7 : "E21 Ext.start" ; %00007 E21, externstart
%DO8 : "T1 Ange gfel FL"; %00008 Ange, T1, givarfel (framledning)
%DO9 : "T3 Ange gfel ST"; %00009 Ange, T3, givarfel (slingtank)
%DO10 : "Sendbl. VP klar"; %00010 sendblock, värmepumpen klar (kommunikationshandboken)
%DO11 : "G1 Ange drift" ; %00011 Ange, G1, driftindikering
%DO12 : "E11 Ange drift" ; %00012 Ange, E11, driftindikering
%DO13 : "G3 Ext.start KB"; %00013 G3, externstart (köldbärare)
DO14 : "E21 block. VP" ; %00014 E21, blockering (värmepump)
%DO15 : "E11 Tillåt t.s."; %00015 E11, tillåt (tillskott)
%DO16 : "G5 Extern start"; %00016 G5, externstart (underkylare) (endast G-maskiner)
%DO17 : "B21 Lågt tryck" ; %00017 B21, lågt tryck (värme) (stoppar allt)
%DO18 : "G1 Ext.start FL"; %00018 G1, externstart (framledning)
%DO19 : "E21 Ange larm" ; %00019 Ange, E21, larm
%DO20 : "Tillåt On/Off" ; %00020 receiveblock, tillåt start/stopp (kommunikationshandboken)
PUBLIC
%rDO1 : "Tidkanal A-Larm";
%rDO2 : "Tidkanal B-Larm";
%rDO3 : "Tidkanal Dagtid";
%rDO4 : "SMS 0=Res 1=Ord";
%rDO5 : "SMS Kvittering" ;
%rDO6 : "SMS 0=Off, 1=On";
%rDO7 : "E21 Ext.start" ;
%rDO8 : "T1 Ange gfel FL";
%rDO9 : "T3 Ange gfel ST";
%rDO10 : "Sendbl. VP klar";
%rDO11 : "G1 Ange drift" ;
%rDO12 : "E11 Ange drift" ;
%rDO13 : "G3 Ext.start KB";
rDO14 : "E21 block. VP" ;
%rDO15 : "E11 Tillåt t.s.";
%rDO16 : "G5 Extern start";
%rDO17 : "B21 Lågt tryck" ;
%rDO18 : "G1 Ext.start FL";
%rDO19 : "E21 Ange larm" ;
%rDO20 : "Tillåt On/Off" ;
PRIVATE
Cnt;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadDISET1 NAMED "Läs DU1-20" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(01); % Modbus command "01h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(20); % Number of inputs
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(01);
DATA[2] = BYTE(3);
%DATA[3] -> BYTE(
% IF (DATA & 1) THEN rDO1 := 1; ELSE rDO1 := 0; ENDIF;
% IF (DATA & 2) THEN rDO2 := 1; ELSE rDO2 := 0; ENDIF;
% IF (DATA & 4) THEN rDO3 := 1; ELSE rDO3 := 0; ENDIF;
% IF (DATA & 8) THEN rDO4 := 1; ELSE rDO4 := 0; ENDIF;
% IF (DATA & 16) THEN rDO5 := 1; ELSE rDO5 := 0; ENDIF;
% IF (DATA & 32) THEN rDO6 := 1; ELSE rDO6 := 0; ENDIF;
% IF (DATA & 64) THEN rDO7 := 1; ELSE rDO7 := 0; ENDIF;
% IF (DATA & 128) THEN rDO8 := 1; ELSE rDO8 := 0; ENDIF;
%);
DATA[4] -> BYTE(
% IF (DATA & 1) THEN rDO9 := 1; ELSE rDO9 := 0; ENDIF;
% IF (DATA & 2) THEN rDO10:= 1; ELSE rDO10:= 0; ENDIF;
% IF (DATA & 4) THEN rDO11:= 1; ELSE rDO11:= 0; ENDIF;
% IF (DATA & 8) THEN rDO12:= 1; ELSE rDO12:= 0; ENDIF;
% IF (DATA & 16) THEN rDO13:= 1; ELSE rDO13:= 0; ENDIF;
IF (DATA & 32) THEN rDO14:= 1; ELSE rDO14:= 0; ENDIF;
% IF (DATA & 64) THEN rDO15:= 1; ELSE rDO15:= 0; ENDIF;
% IF (DATA & 128) THEN rDO16:= 1; ELSE rDO16:= 0; ENDIF;
);
%DATA[5] -> BYTE(
% IF (DATA & 1) THEN rDO17:= 1; ELSE rDO17:= 0; ENDIF;
% IF (DATA & 2) THEN rDO18:= 1; ELSE rDO18:= 0; ENDIF;
% IF (DATA & 4) THEN rDO19:= 1; ELSE rDO19:= 0; ENDIF;
% IF (DATA & 8) THEN rDO20:= 1; ELSE rDO20:= 0; ENDIF;
%);
TIMEOUT 1000
END;
TELEGRAM WriteDISET1 NAMED "Ställ DU1-20" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(05); % Modbus command "05h" Set coil status (bit)
DATA[2] <- RWORD( %
IF Cnt>8 THEN Cnt:=0; ENDIF;
IF Cnt=0 THEN DATA := 13; %00014 E21, blockering (värmepump)
ELSIF Cnt=1 THEN DATA := 13; % "
ELSIF Cnt=2 THEN DATA := 13; % "
ELSIF Cnt=3 THEN DATA := 13; % "
ELSIF Cnt=4 THEN DATA := 13; % "
ELSIF Cnt=5 THEN DATA := 13; % "
ELSIF Cnt=6 THEN DATA := 13; % "
ELSIF Cnt=7 THEN DATA := 13; % "
ELSIF Cnt=8 THEN DATA := 13; % "
ENDIF;
);
DATA[4] <- RWORD(
IF Cnt=0 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=1 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=2 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=3 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=4 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=5 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=6 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=7 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ELSIF Cnt=8 THEN IF DO14 THEN DATA:=65280; ELSE DATA:=0; ENDIF;
ENDIF;
Cnt := Cnt + 1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(05);
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 1-20 (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
%
DEVICETYPE IvtRego5005AI1 NAMED "IVTREGO AI1-20" TYPEID 21342 IS
PARAMETER
Id :"Adress";
PUBLIC
R01 : "Givarfel T1 FrL" ; %30001 Larm01, T1 framledning givarfel
R02 : "Givarfel T2 UTE" ; %30002 Larm02, T2 ute givarfel
R03 : "Larm T1Reg.avv." ; %30003 Larm03, T1 regleravvikelse
R04 : "Larm T3Låg SliT" ; %30004 Larm04, T3 slingtank låg temperatur
R05 : "Givarfel T9 Vin" ; %30005 Larm05, T9 värme in givarfel
R06 : "Givarf T10 KBin" ; %30006 Larm06, T10 köldbärare in givarfel
R07 : "Givarf T11 KBut" ; %30007 Larm07, T11 köldbärare ut givarfel
R08 : "Larm elfel KPR" ; %30008 Larm08, Kompressor elfel
R09 : "Larm G3Överhet." ; %30009 Larm09, G3 överhettad
R10 : "Givarfel T3 ST" ; %30010 Larm10, T3 slingtank givarfel
R11 : "Larm KPR överh." ; %30011 Larm11, Kompressor överhettad
R12 : "Givarfel T6 Het" ; %30012 Larm12, T6 hetgas givarfel
R13 : "Larm T6Hög HetG" ; %30013 Larm13, T6 hetgas hög temperatur
R14 : "Givarfel T8 Vut" ; %30014 Larm14, T8 värme ut givarfel
R15 : "Larm tryck Förå" ; %30015 Larm15, Förångare lågt tryck
R16 : "Larm tryck Kyla" ; %30016 Larm16, B31 lågt tryck kyla
R17 : "Larm sum E11 TS" ; %30017 Larm17, E11 tillskott summalarm
R18 : "Larm tryck Kond" ; %30018 Larm18, Kondensor högt tryck
R19 : "Larm fasfö. KPR" ; %30019 Larm19, Kompressor fasföljdfel
R20 : "Larm drift G1FL" ; %30020 Larm20, G1 framledning driftfel
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI1-20larm" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(0); % 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(R01:= DATA;); % Larm01 Larmstatus i REGO
DATA[5] -> RWORD(R02:= DATA;); % Larm02 1: Normal /Ej larm
DATA[7] -> RWORD(R03:= DATA;); % Larm03 2: Blockerad
DATA[9] -> RWORD(R04:= DATA;); % Larm04 3: Kvitterad
DATA[11] -> RWORD(R05:= DATA;); % Larm05 4: reserverad
DATA[13] -> RWORD(R06:= DATA;); % Larm06 5: Återgången
DATA[15] -> RWORD(R07:= DATA;); % Larm07 6: reserverad
DATA[17] -> RWORD(R08:= DATA;); % Larm08 7: Utlöst
DATA[19] -> RWORD(R09:= DATA;); % Larm09
DATA[21] -> RWORD(R10:= DATA;); % Larm10
DATA[23] -> RWORD(R11:= DATA;); % Larm11
DATA[25] -> RWORD(R12:= DATA;); % Larm12
DATA[27] -> RWORD(R13:= DATA;); % Larm13
DATA[29] -> RWORD(R14:= DATA;); % Larm14
DATA[31] -> RWORD(R15:= DATA;); % Larm15
DATA[33] -> RWORD(R16:= DATA;); % Larm16
DATA[35] -> RWORD(R17:= DATA;); % Larm17
DATA[37] -> RWORD(R18:= DATA;); % Larm18
DATA[39] -> RWORD(R19:= DATA;); % Larm19
DATA[41] -> RWORD(R20:= DATA;); % Larm20
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% READ Analog input 21-40 (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
%
DEVICETYPE IvtRego5005AI2 NAMED "IVTREGO AI21-40" TYPEID 21343 IS
PARAMETER
Id :"Adress";
PUBLIC
R21 : "Larm Minnesbatt"; %30021 Larm21, Minnesbatteri dåligt
R22 : "Larm Systemlösn"; %30022 Larm22, Ogiltig systemlösning
R23 : "Larm Handl. Utg"; %30023 Larm23, Utgång i handläge
R24 : "Larm T8Hög Vut" ; %30024 Larm24, T8 värme ut hög temperatur
R25 : "Larm T3Hög ST" ; %30025 Larm25, T3 slingtank hög temperatur
R26 : "Larm Konden.sil"; %30026 Larm26, Kondensor igensatt sil
R27 : "Larm Kondensflö"; %30027 Larm27, Kondensflöde för stort
R28 : "Larm Förång.sil"; %30028 Larm28, Förångare igensatt sil
R29 : "Larm E21 Gå.Tid"; %30029 Larm29, E21 för kort gångtid
R30 : "Larm E11 Låg te"; %30030 Larm30, E11 tillskott låg temperatur
R31 : "Larm T9Hög Vin" ; %30031 Larm31, T9 värme in hög temperatur
R32 : "Larm T10LågKBin"; %30032 Larm32, T10 köldbärare in låg temperatur
R33 : "Larm T11LågKBut"; %30033 Larm33, T11 köldbärare ut låg temperatur
R34 : "Larm G2Överhet."; %30034 Larm34, G2 överhettad
R35 : "AI1-mode (0-4)" ; %30035 AI1: Används ej, T3 slingtank, T3 regulator, T18 regulator, T18 VPshunt
R36 : "Värmepumpstyp" ; %30036 Värmepumpstyp: 1F[0], 2F[1]
R37 : "Tillskottstyp" ; %30037 Tillskottstyp: Ingen[0], El[1], Olja[2], FJV[3]
R38 : "Eftervärme VV" ; %30038 Eftervärmning VV: Ingen[0], El[1], FJV[2]
R39 : "Värme VV steg2" ; %30039 Värmning VV steg2: Ingen[0], Hetgas[1]
R40 : "Värme VV steg1" ; %30040 Värmning VV steg1: Ingen[0], Värmepump[1]
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM ReadAI1 NAMED "Läs AI21-40" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(20); % 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(R21:= DATA;); %Larm21 Larmstatus i REGO
DATA[5] -> RWORD(R22:= DATA;); %Larm22 1: Normal /Ej larm
DATA[7] -> RWORD(R23:= DATA;); %Larm23 2: Blockerad
DATA[9] -> RWORD(R24:= DATA;); %Larm24 3: Kvitterad
DATA[11] -> RWORD(R25:= DATA;); %Larm25 4: reserverad
DATA[13] -> RWORD(R26:= DATA;); %Larm26 5: Återgången
DATA[15] -> RWORD(R27:= DATA;); %Larm27 6: reserverad
DATA[17] -> RWORD(R28:= DATA;); %Larm28 7: Utlöst
DATA[19] -> RWORD(R29:= DATA;); %Larm29
DATA[21] -> RWORD(R30:= DATA;); %Larm30
DATA[23] -> RWORD(R31:= DATA;); %Larm31
DATA[25] -> RWORD(R32:= DATA;); %Larm32
DATA[27] -> RWORD(R33:= DATA;); %Larm33
DATA[29] -> RWORD(R34:= DATA;); %Larm34
DATA[31] -> RWORD(R35:= DATA;); %AI1
DATA[33] -> RWORD(R36:= DATA;); %Värmepumpstyp
DATA[35] -> RWORD(R37:= DATA;); %Tillskottstyp
DATA[37] -> RWORD(R38:= DATA;); %Eftervärmning VV
DATA[39] -> RWORD(R39:= DATA;); %Värmning VV steg2
DATA[41] -> RWORD(R40:= DATA;); %Värmning VV steg1
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;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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 81-100
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AI5 NAMED "IVTREGO AI-100" TYPEID 21346 IS
PARAMETER
Id :"Adress";
PUBLIC
R81 : "Starter G2 VBp"; %30081 Starter, G2 låg hastighet (värmebärarpump) 10* 5002, 5004
%R82 : ""; %30082
%R83 : ""; %30083
%R84 : ""; %30084
%R85 : ""; %30085
%R86 : ""; %30086
%R87 : ""; %30087
%R88 : ""; %30088
%R89 : ""; %30089
%R90 : ""; %30090
R91 : "Larm KPR strömb"; %30091 Larmstatus no.46, Kompressor strömbrytare 5004
%R92 : ""; %30092
%R93 : ""; %30093
%R94 : ""; %30094
%R95 : ""; %30095
%R96 : ""; %30096
%R97 : ""; %30097
%R98 : ""; %30098
%R99 : ""; %30099
R100: "Rego Version" ; %30100 Rego500X Versionsnummer (X = Värmepumpstyp)
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(80); % 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(R81 := DATA/10;); %10* 5004
%DATA[5] -> RWORD(R82 := DATA;);
%DATA[7] -> RWORD(R83 := DATA;);
%DATA[9] -> RWORD(R84 := DATA;);
%DATA[11] -> RWORD(R85 := DATA;);
%DATA[13] -> RWORD(R86 := DATA;);
%DATA[15] -> RWORD(R87 := DATA;);
%DATA[17] -> RWORD(R88 := DATA;);
%DATA[19] -> RWORD(R89 := DATA;);
%DATA[21] -> RWORD(R90 := DATA;);
DATA[23] -> RWORD(R91 := DATA;); %KPR strömbrytare 5004
%DATA[25] -> RWORD(R92 := DATA;);
%DATA[27] -> RWORD(R93 := DATA;);
%DATA[29] -> RWORD(R94 := DATA;);
%DATA[31] -> RWORD(R95 := DATA;);
%DATA[33] -> RWORD(R96 := DATA;);
%DATA[35] -> RWORD(R97 := DATA;);
%DATA[37] -> RWORD(R98 := DATA;);
%DATA[39] -> RWORD(R99 := DATA;);
DATA[41] -> RWORD(R100:= DATA;); %Rego500X Versionsnummer
TIMEOUT 1000
END;
END;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for IVT REGO 5002, 5003, 5004, 5005
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Telegram for setting Analog status
% Select registers for setting.
% Maximum 9 registers can be selected in a device.
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2010-02-12 inital version
%
DEVICETYPE IvtRego5005AO1 NAMED "IVTREGO StällAU" TYPEID 21347 IS
PARAMETER
Id : "Adress";
%S01 : "X1 Kurva FramL" ["°C"]; %40001 X1, framledningskurva (T1/T2)
%S02 : "X2 Kurva FramL" ["°C"]; %40002 X2, framledningskurva (T1/T2)
%S03 : "X3 Kurva FramL" ["°C"]; %40003 X3, framledningskurva (T1/T2)
%S04 : "X4 Kurva FramL" ["°C"]; %40004 X4, framledningskurva (T1/T2)
%S05 : "X5 Kurva FramL" ["°C"]; %40005 X5, framledningskurva (T1/T2)
%S06 : "X6 Kurva FramL" ["°C"]; %40006 X6, framledningskurva (T1/T2)
%S07 : "X7 Kurva FramL" ["°C"]; %40007 X7, framledningskurva (T1/T2)
%S08 : "Y1 Kurva FramL" ["°C"]; %40008 Y1, framledningskurva (T1/T2)
%S09 : "Y2 Kurva FramL" ["°C"]; %40009 Y2, framledningskurva (T1/T2)
%S10 : "Y3 Kurva FramL" ["°C"]; %40010 Y3, framledningskurva (T1/T2)
%S11 : "Y4 Kurva FramL" ["°C"]; %40011 Y4, framledningskurva (T1/T2)
%S12 : "Y5 Kurva FramL" ["°C"]; %40012 Y5, framledningskurva (T1/T2)
%S13 : "Y6 Kurva FramL" ["°C"]; %40013 Y6, framledningskurva (T1/T2)
%S14 : "Y7 Kurva FramL" ["°C"]; %40014 Y7, framledningskurva (T1/T2)
%S15 : "Min temp FramL" ["°C"]; %40015 Minbegränsning, framledningskurva (T1/T2)
%S16 : "Max temp FramL" ["°C"]; %40016 Maxbegränsning, framledningskurva (T1/T2)
%S17 : "BV-förskjFramL" ["°C"]; %40017 Parallelförskjutning, framledningskurva (T1/T2) 10*
%S18 : "RegFrL P-värde" [""]; %40018 Regulator P, framledning (T1) 10*
%S19 : "RegFrL I-värde" [""]; %40019 Regulator I, framledning (T1)
%S20 : "RegFrL D-värde" [""]; %40020 Regulator D, framledning (T1) 10*
%S21 : "RegFrL D-max" [""]; %40021 Regulator Dmax, framledning (T1)
%S22 : "RegFjV P-värde" [""]; %40022 Regulator P, fjärrvärme (T18) 10*
%S23 : "RegFjV I-värde" [""]; %40023 Regulator I, fjärrvärme (T18)
%S24 : "RegFjV D-värde" [""]; %40024 Regulator D, fjärrvärme (T18) 10*
%S25 : "RegFjV D-max" [""]; %40025 Regulator Dmax, fjärrvärme (T18)
%S26 : "Larmg.T3 hög" ["°C"]; %40026 Larmgräns, hög temperatur (T3)
%S27 : "Larmg.T3 låg" ["°C"]; %40027 Larmgräns, låg temperatur (T3)
%S28 : "Startg.T2" ["°C"]; %40028 Startgräns, G1 (T2) 10*
%S29 : "Startg.T2direk" ["°C"]; %40029 Direktstartsgräns, G1 (T2) 10*
%S30 : "Stoppg.T2" ["°C"]; %40030 Stoppgräns, G1 (T2) 10*
%S31 : "Startg.T1 hyst" ["°C"]; %40031 Starthysteres, tillskottsvärme (T1) 10*
%S32 : "Stoppg.T1 hyst" ["°C"]; %40032 Stopphysteres, varmvattenladdning (T1) 10*
%S33 : "Fördröj status" ["min"]; %40033 Fördröjning Statusförändring kompressor (minuter)
%S34 : "Motionskör G1" ["t"]; %40034 Motionskörning, G1 (kalendertimme)
%S35 : "Startg.T3 ladd" ["°C"]; %40035 Startgräns, slingtanksladdning (T3)
%S36 : "Stoppg.T3 ladd" ["°C"]; %40036 Stoppgräns, slingtanksladdning (T3)
%S37 : "Ming.T1 ladd" ["°C"]; %40037 Minbegränsning, T1 vid slingtanksladdning (grader under T1 börvärde)
%S38 : "Fråntid ladd" [""]; %40038 Tidskonstant, frånkoppling slingtanksladdning om under minbegränsning
%S39 : "Startt.A Vard" [""]; %40039 Tidkanal A-Larm Vardag Fr.o.m. Kl.
%S40 : "Stoppt.A Vard" [""]; %40040 Tidkanal A-Larm Vardag T.o.m. Kl.
%S41 : "Startt.A Lörd" [""]; %40041 Tidkanal A-Larm Lördag Fr.o.m. Kl.
%S42 : "Stoppt.A Lörd" [""]; %40042 Tidkanal A-Larm Lördag T.o.m. Kl.
%S43 : "Startt.A Sönd" [""]; %40043 Tidkanal A-Larm Söndag Fr.o.m. Kl.
%S44 : "Stoppt.A Sönd" [""]; %40044 Tidkanal A-Larm Söndag T.o.m. Kl.
%S45 : "Startt.B Vard" [""]; %40045 Tidkanal B-Larm Vardag Fr.o.m. Kl.
%S46 : "Stoppt.B Vard" [""]; %40046 Tidkanal B-Larm Vardag T.o.m. Kl.
%S47 : "Startt.B Lörd" [""]; %40047 Tidkanal B-Larm Lördag Fr.o.m. Kl.
%S48 : "Stoppt.B Lörd" [""]; %40048 Tidkanal B-Larm Lördag T.o.m. Kl.
%S49 : "Startt.B Sönd" [""]; %40049 Tidkanal B-Larm Söndag Fr.o.m. Kl.
%S50 : "Stoppt.B Sönd" [""]; %40050 Tidkanal B-Larm Söndag T.o.m. Kl.
%S51 : "Fördröj Res.A" [""]; %40051 Fördröjning Reserv A-Larm
%S52 : "Fördröj Res.B" [""]; %40052 Fördröjning Reserv B-Larm
%S53 : "Larmsänd (0-2)" [""]; %40053 Larmsändning: Från[0], Till[1], Auto[2]
%S54 : "Startt.Dag Var" [""]; %40054 Tidkanal Dagtid Vardag Fr.o.m. Kl.
%S55 : "Stoppt.Dag Var" [""]; %40055 Tidkanal Dagtid Vardag T.o.m. Kl.
%S56 : "Startt.Dag Lör" [""]; %40056 Tidkanal Dagtid Lördag Fr.o.m. Kl.
%S57 : "Stoppt.Dag Lör" [""]; %40057 Tidkanal Dagtid Lördag T.o.m. Kl.
%S58 : "Startt.Dag Sön" [""]; %40058 Tidkanal Dagtid Söndag Fr.o.m. Kl.
%S59 : "Stoppt.Dag Sön" [""]; %40059 Tidkanal Dagtid Söndag T.o.m. Kl.
%S60 : "Status Dag" [""]; %40060 Status, dagtidskanal (SMS)
%S61 : "Max koppl.diff" ["°C"]; %40061 Maximal kopplingsdifferens (T1)
%S62 : "Min koppl.diff" ["°C"]; %40062 Minimal kopplingsdifferens (T1)
%S63 : "Tid koppl.diff" [""]; %40063 Tidskonstant för kopplingsdifferens (T1)
%S64 : "Larm kvittering" [""]; %40064 Larmkvittering (ange no.xx, se larmstatus)
%S65 : "Larm blockering" [""]; %40065 Larmblockering (ange no.xx, se larmstatus)
%S66 : "Larm block. av" [""]; %40066 Larmavblockering (ange no.xx, se larmstatus)
%S67 : "Larmg.T1reg.avv" ["°C"]; %40067 Larmgräns, regleravvikelse framledning (T1)
%S68 : "Startfördr.G1FL" [""]; %40068 Startfördröjning, G1 (Framledning)
%S69 : "Stoppfördr.G1FL" [""]; %40069 Stoppfördröjning, G1 (Framledning)
%S70 : "Startfördr.E11T" [""]; %40070 Startfördröjning, E11 (Tillskott)
%S71 : "Stoppfördr.E11T" [""]; %40071 Stoppfördröjning, E11 (Tillskott)
%S72 : "Larmfördr.T3låg" [""]; %40072 Larmfördröjning, låg temperatur slingtank (T3)
%S73 : "Larmfördr.T3hög" [""]; %40073 Larmfördröjning, hög temperatur slingtank (T3)
%S74 : "BV-funk (0-1)" [""]; %40074 Börvärdesfunktion T1: Kurva[0], Fast[1]
%S75 : "T7-funk (0-2)" [""]; %40075 Funktion T7: Från[0], Ute(T2)[1], VV-ackumulator(T7)[2]
%S76 : "Status Rego5055" [""]; %40076 Status Rego5055 (används ej)
%S77 : "Stoppg.T3STladd" ["°C"]; %40077 Stoppgräns, slingtanksladdning (T3) 10*
%S78 : "Ärvärde T5 rum" ["°C"]; %40078 Ärvärde, T5 rumsgivare 10*
%S79 : "Börvärdesförskj" ["°C"]; %40079 Börvärdesförskjutning, T5 rumsgivare 10*
S80 : "Börvärde T1 FL" ["°C"]; %40080 Fast börvärde, T1 framledning 10*
%S81 : "Ärvärde T1 FL" ["°C"]; %40081 Ärvärde, T1 framledning 10*
%S82 : "Ärvärde T2 UTE" ["°C"]; %40082 Ärvärde, T2 ute 10*
%S83 : "Ärvärde T3 ST" ["°C"]; %40083 Ärvärde, T3 slingtank 10*
%S84 : "Klocka minuter" [""]; %40084 Klocka, minuter [0-59]
%S85 : "Klocka timmar" [""]; %40085 Klocka, timmar [0-23]
%S86 : "Klocka datum" [""]; %40086 Klocka, datum [1-31]
%S87 : "Klocka veckodag" [""]; %40087 Klocka, veckodag [1-7, 1=måndag]
%S88 : "Klocka vecka" [""]; %40088 Klocka, vecka [1-53]
%S89 : "Klocka år" [""]; %40089 Klocka, år [0-99]
%S90 : "Klocka månad" [""]; %40090 Klocka, månad [1-12]
%S91 : "Börv. E21/E22" ["°C"]; %40091 T3/T4 (E21), T18 (E22) – Börvärde
%S92 : "Startg.T3SLladd" ["°C"]; %40092 T3 Slingtanksladdning, starthysteres 10*
PUBLIC
PRIVATE
Cnt;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM WriteSet NAMED "Ställ register" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(06); % Modbus command "0x06" write singel register
DATA[2] <- RWORD( % Register address
IF Cnt>8 THEN Cnt:=0; ENDIF;
IF Cnt=0 THEN DATA:=79; %40080 Fast börvärde, T1 framledning 10*
ELSIF Cnt=1 THEN DATA:=79;
ELSIF Cnt=2 THEN DATA:=79;
ELSIF Cnt=3 THEN DATA:=79;
ELSIF Cnt=4 THEN DATA:=79;
ELSIF Cnt=5 THEN DATA:=79;
ELSIF Cnt=6 THEN DATA:=79;
ELSIF Cnt=7 THEN DATA:=79;
ELSIF Cnt=8 THEN DATA:=79;
ENDIF;
);
DATA[4] <- RWORD( % Register value
IF Cnt=0 THEN DATA:=(S80*10); %40080 Fast börvärde, T1 framledning 10*
ELSIF Cnt=1 THEN DATA:=(S80*10);
ELSIF Cnt=2 THEN DATA:=(S80*10);
ELSIF Cnt=3 THEN DATA:=(S80*10);
ELSIF Cnt=4 THEN DATA:=(S80*10);
ELSIF Cnt=5 THEN DATA:=(S80*10);
ELSIF Cnt=6 THEN DATA:=(S80*10);
ELSIF Cnt=7 THEN DATA:=(S80*10);
ELSIF Cnt=8 THEN DATA:=(S80*10);
ENDIF;
Cnt:=Cnt+1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = HEX(06);
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.