IVT REGO 5002, 5003, 5004, 5005 ärvärden + info

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
2
Uppdaterad
2018-05-21
Skapad
2015-10-01
Kategori
Modbus, Värme
Visningar
2003

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;

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.