Netavent NVAV Rumsregulator
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2013-08-28
- Skapad
- 2013-08-28
- Kategori
- Kyla, Modbus, Värme, Ventilation
- Visningar
- 2812
Beskrivning
Drivrutin för att läsa input och holding register
Bruksanvisning
Hur man installerar typdefinitionerna och driftsätter modulerna finns beskrivet i användarmanualen, kapitel 18.7.
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
% Skapad med Modbus Creator
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
DEVICETYPE Netavent NAMED "NVAV_Input" TYPEID 10952 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Press" ["Pa"]; % Kanal/Lokal tryck
V2 : "Set" ["Pa"]; % Börvärde regulator
V3 : "Master Out" ["V"]DEC2; % Master spjäll ut
V4 : "Master Press" ["Pa"]; % Mätfläns Master
V5 : "Slave Out" ["V"]DEC2; % Slav spjäll ut
V6 : "Slave Press" ["Pa"]; % Mätfläns Slav
V7 : "Ext Set" ["%"]; % Extern börvärde
V8 : "Min Set" ["Pa"]; % Min börvärde trimmer
V9 : "Max Set" ["Pa"]; % Max börvärde trimmer
V10 : "Pct Out" ["%"]; % % förskjutning Master/slav ut
V11 : "Min Out" ["V"]DEC2; % Min spänning till master
V12 : "Reg status" [""]; % Regulator status
V13 : "Pct Freeze" ["%"]; % Aktuell Master/slav förskjutning
V14 : "Vol master" [""]; % Avläsning av m3/lt
V15 : "Vol slave" [""]; % Avläsning av m3/Lt
PRIVATE
BAUDRATE 9600;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read4 NAMED "Read 4" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(15); % Antal register att läsa
ANSWER SIZE 35 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(30); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA/100;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA/100;);
DATA[13] -> RWORD(V6 := DATA;);
DATA[15] -> RWORD(V7 := DATA;);
DATA[17] -> RWORD(V8 := DATA;);
DATA[19] -> RWORD(V9 := DATA;);
DATA[21] -> RWORD(V10 := DATA;);
DATA[23] -> RWORD(V11 := DATA/100;);
DATA[25] -> RWORD(V12 := DATA;);
DATA[27] -> RWORD(V13 := DATA;);
DATA[29] -> RWORD(V14 := DATA;);
DATA[31] -> RWORD(V15 := DATA;);
TIMEOUT 300
END;
END;
% Skapad med Modbus Creator
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
DEVICETYPE Netavent NAMED "NVAV_Holding" TYPEID 10953 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Reg Set" [""]; % Regulator opsaetning
V2 : "CtsExtSet" ["%"]; % Externt börvärde
V3 : "CtsMinSet" ["Pa"]; % Min börvärde från cts
V4 : "CtsMaxSet" ["Pa"]; % Max börvärde från cts
V5 : "CtsPctOut" ["%"]; % % förskjutning från cts
V6 : "CtsMinOut" ["V"]DEC2; % Min spänning till slav
V7 : "MasterMode" [""]; % Master ut val
V8 : "CtsMasterOut" ["V"]DEC2; % Master ut från CTS
V9 : "SlaveMode" [""]; % Slav ut val
V10 : "CtsSlaveOut" ["V"]DEC2; % Slav ut från CTS
V11 : "MasterPressSel" ["Pa"]; % Master tryck val
V12 : "SlavePressSel" ["Pa"]; % Slav tryck val
V13 : "KvalMaster" [""]DEC1; % K - värde master
V14 : "KvalSlave" [""]DEC1; % K - värde slav
V15 : "dVolM3h" ["m3/h"]; % Delta-Volym m3/h
V16 : "dVolLs" ["l/s"]; % Delta-Volym l/s
PRIVATE
BAUDRATE 9600;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read3 NAMED "Read 3" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03); % Modbus kommando för att läsa register kod 03
DATA[2] := RWORD(4096); % Start address
DATA[4] := RWORD(16); % Antal register att läsa
ANSWER SIZE 37 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(32); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA;);
DATA[13] -> RWORD(V6 := DATA/100;);
DATA[15] -> RWORD(V7 := DATA;);
DATA[17] -> RWORD(V8 := DATA/100;);
DATA[19] -> RWORD(V9 := DATA;);
DATA[21] -> RWORD(V10 := DATA/100;);
DATA[23] -> RWORD(V11 := DATA;);
DATA[25] -> RWORD(V12 := DATA;);
DATA[27] -> RWORD(V13 := DATA/10;);
DATA[29] -> RWORD(V14 := DATA/10;);
DATA[31] -> RWORD(V15 := DATA;);
DATA[33] -> RWORD(V16 := DATA;);
TIMEOUT 300
END;
END;
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
DEVICETYPE Netavent NAMED "NVAV_Input" TYPEID 10952 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Press" ["Pa"]; % Kanal/Lokal tryck
V2 : "Set" ["Pa"]; % Börvärde regulator
V3 : "Master Out" ["V"]DEC2; % Master spjäll ut
V4 : "Master Press" ["Pa"]; % Mätfläns Master
V5 : "Slave Out" ["V"]DEC2; % Slav spjäll ut
V6 : "Slave Press" ["Pa"]; % Mätfläns Slav
V7 : "Ext Set" ["%"]; % Extern börvärde
V8 : "Min Set" ["Pa"]; % Min börvärde trimmer
V9 : "Max Set" ["Pa"]; % Max börvärde trimmer
V10 : "Pct Out" ["%"]; % % förskjutning Master/slav ut
V11 : "Min Out" ["V"]DEC2; % Min spänning till master
V12 : "Reg status" [""]; % Regulator status
V13 : "Pct Freeze" ["%"]; % Aktuell Master/slav förskjutning
V14 : "Vol master" [""]; % Avläsning av m3/lt
V15 : "Vol slave" [""]; % Avläsning av m3/Lt
PRIVATE
BAUDRATE 9600;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read4 NAMED "Read 4" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(15); % Antal register att läsa
ANSWER SIZE 35 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(30); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA/100;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA/100;);
DATA[13] -> RWORD(V6 := DATA;);
DATA[15] -> RWORD(V7 := DATA;);
DATA[17] -> RWORD(V8 := DATA;);
DATA[19] -> RWORD(V9 := DATA;);
DATA[21] -> RWORD(V10 := DATA;);
DATA[23] -> RWORD(V11 := DATA/100;);
DATA[25] -> RWORD(V12 := DATA;);
DATA[27] -> RWORD(V13 := DATA;);
DATA[29] -> RWORD(V14 := DATA;);
DATA[31] -> RWORD(V15 := DATA;);
TIMEOUT 300
END;
END;
% Skapad med Modbus Creator
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
DEVICETYPE Netavent NAMED "NVAV_Holding" TYPEID 10953 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Reg Set" [""]; % Regulator opsaetning
V2 : "CtsExtSet" ["%"]; % Externt börvärde
V3 : "CtsMinSet" ["Pa"]; % Min börvärde från cts
V4 : "CtsMaxSet" ["Pa"]; % Max börvärde från cts
V5 : "CtsPctOut" ["%"]; % % förskjutning från cts
V6 : "CtsMinOut" ["V"]DEC2; % Min spänning till slav
V7 : "MasterMode" [""]; % Master ut val
V8 : "CtsMasterOut" ["V"]DEC2; % Master ut från CTS
V9 : "SlaveMode" [""]; % Slav ut val
V10 : "CtsSlaveOut" ["V"]DEC2; % Slav ut från CTS
V11 : "MasterPressSel" ["Pa"]; % Master tryck val
V12 : "SlavePressSel" ["Pa"]; % Slav tryck val
V13 : "KvalMaster" [""]DEC1; % K - värde master
V14 : "KvalSlave" [""]DEC1; % K - värde slav
V15 : "dVolM3h" ["m3/h"]; % Delta-Volym m3/h
V16 : "dVolLs" ["l/s"]; % Delta-Volym l/s
PRIVATE
BAUDRATE 9600;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read3 NAMED "Read 3" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03); % Modbus kommando för att läsa register kod 03
DATA[2] := RWORD(4096); % Start address
DATA[4] := RWORD(16); % Antal register att läsa
ANSWER SIZE 37 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(32); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[9] -> RWORD(V4 := DATA;);
DATA[11] -> RWORD(V5 := DATA;);
DATA[13] -> RWORD(V6 := DATA/100;);
DATA[15] -> RWORD(V7 := DATA;);
DATA[17] -> RWORD(V8 := DATA/100;);
DATA[19] -> RWORD(V9 := DATA;);
DATA[21] -> RWORD(V10 := DATA/100;);
DATA[23] -> RWORD(V11 := DATA;);
DATA[25] -> RWORD(V12 := DATA;);
DATA[27] -> RWORD(V13 := DATA/10;);
DATA[29] -> RWORD(V14 := DATA/10;);
DATA[31] -> RWORD(V15 := DATA;);
DATA[33] -> RWORD(V16 := DATA;);
TIMEOUT 300
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.