Nibe LOG.SET läsning (F1345)
Detaljer
Beskrivning
Drivrutin för att läsa en NibeF1345 som använder LOG.SET för att göra 20 värden snabbare att läsa.
Signalerna i LOG.SET filen måste ligga i den ordning de står i drivrutinen nedan.
Nibe har valt en något annorlunda funktion för att snabbt kunna läsa upp till 20 värden med modbus.
Man kan göra en LOG.SET fil och ladda upp den i modbusmodulen så att när man skickar ett telegram för att läsa det första värdet och ytterligare 19 register så får man värdena i man har konfigurerat via LOG.SET filen.
Observera att om man läser enstaka värden så får man registren som man adresserar. Det är bara när man läser 20 värden i följd med början med adressen för det första värdet i LOG.SET som man får funktionen ovan.
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
PARAMETER
Id : "Adress" INT;
PUBLIC
V1 : "BT1" ["°C"]DEC1;
V2 : "BT6" ["°C"]DEC1;
V3 : "BT25" ["°C"]DEC1;
V4 : "Gradmin" ["°C/min"]DEC1;
V5 : "BBV-BT1" ["°C"]DEC1;
V6 : "Status El-tillsats" [""]INT;
V7 : "GP10" ["off,on"]Enum;
V8 : "EB100-EP15-State" ["Stopped=20,Starting=40,Running=60,Stopping=100"]ENUM;
V9 : "EB100-EP14-State" ["Stopped=20,Starting=40,Running=60,Stopping=100"]ENUM;
V10 : "Qn10-VXV" ["Heating,Hot water"]ENUM;
V11 : "EB102-EP15-Hetgas" ["°C"]DEC1;
V12 : "EB102-EP15-State" [""]INT;
V13 : "EB102-EP15-Hetgas" ["°C"]DEC1;
V14 : "EB102-EP14-State" [""]INT;
V15 : "EB101-EP15-Hetgas" ["°C"]DEC1;
V16 : "EB101-EP15-State" [""]INT;
V17 : "EB101-EP14-Hetgas" ["°C"]DEC1;
V18 : "EB101-EP14-State" [""]INT;
V19 : "Alarm" [""]INT;
V20 : "Börvärdes förskj" ["°C"]DEC1;
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read4 NAMED "Read LOG.SET" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03);
DATA[2] := RWORD(3); % Start address
DATA[4] := RWORD(20); % Antal register att läsa
ANSWER SIZE 45 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = HEX(03);
DATA[2] = BYTE(40); % Antal Bytes
DATA[3] -> RINT(V1:=DATA/10;);
DATA[5] -> RINT(V2:=DATA/10;);
DATA[7] -> RINT(V3:=DATA/10;);
DATA[9] -> RINT(V4:=DATA/10;);
DATA[11] -> RINT(V5:=DATA/10;);
DATA[13] -> RINT(V6:=DATA;);
DATA[15] -> RINT(V7:=DATA;);
DATA[17] -> RINT(V8:=DATA;);
DATA[19] -> RINT(V9:=DATA;);
DATA[21] -> RINT(V10:=DATA;);
DATA[23] -> RINT(V11:=DATA/10;);
DATA[25] -> RINT(V12:=DATA;);
DATA[27] -> RINT(V13:=DATA/10;);
DATA[29] -> RINT(V14:=DATA;);
DATA[31] -> RINT(V15:=DATA/10;);
DATA[33] -> RINT(V16:=DATA;);
DATA[35] -> RINT(V17:=DATA/10;);
DATA[37] -> RINT(V18:=DATA;);
DATA[39] -> RINT(V19:=DATA;);
DATA[41] -> RINT(V20:=DATA;);
TIMEOUT 600
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.