Klimatbyrån Flödesmätdon, spjäll/ BASiQ
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 1
- Uppdaterad
- 2016-08-24
- Skapad
- 2016-08-24
- Kategori
- Modbus, Ventilation
- Visningar
- 1842
Beskrivning
.
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
% 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 VAVBASiQ NAMED "VAVBASiQ" TYPEID 14768 IS
PARAMETER
Id : "Adress";
%V10 : "skriv enhetsalternativ" ["l/s alt m3/h"]; % 0=l/s,1=m3/h
PUBLIC
V1 : "Börvärde" ["%"]DEC2;
V2 : "Tvångsstyrning" [""]; % 1=öppen, 2=stängd, 3=min, 4=max
V3 : "Kommando" [""]; % 1=ändlägesadaption, 4=återställning av regulator
V4 : "Relativ spjällvinkel" ["%"]DEC2;
V5 : "Absolut spjällvinkel" ["° alt mm"]DEC2; % 655.35=denna funktion stöds inte
V6 : "Relativt flöde" ["%"]DEC2;
V7 : "Absolut flöde" ["l/s alt m3/h"];
V8 : "Analog utgång" ["V"]DEC3;
V9 : "Enhetsalternativ" ["l/s alt m3/h"]; % 0=l/s,1=m3/h
PRIVATE
BAUDRATE 19200;
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(0); % Start address
DATA[4] := RWORD(11); % Antal register att läsa
ANSWER SIZE 27 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(22); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA/100;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[11] -> RWORD(V4 := DATA/100;);
DATA[13] -> RWORD(V5 := DATA/100;);
DATA[15] -> RWORD(V6 := DATA/100;);
DATA[17] -> RWORD(V7 := DATA;);
DATA[23] -> RWORD(V8 := DATA/1000;);
TIMEOUT 300
END;
TELEGRAM LasEnhet NAMED "Läs enhetsalternativ" 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(201); % Start address
DATA[4] := RWORD(1); % Antal register att läsa
ANSWER SIZE 7 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(2); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
TIMEOUT 300
END;
% ta bort kommentaren (% tecknet framför varje rad) nedan och framför V10 för att skriva enhetsalternativ
%TELEGRAM SkrivEnhet NAMED "Skriv enhetsalternativ" IS
%QUESTION
%DATA[0] := BYTE(Id); % Enhetens Modbus adress
%DATA[1] := HEX(06); % Modbus kommando för att skriva ett register
%DATA[2] <- RWORD(DATA := 201;); % Register adress
%DATA[4] <- RWORD(DATA := V2;);
%ANSWER SIZE 8
%DATA[0] = BYTE(Id);
%DATA[1] = BYTE(06);
%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 VAVBASiQ NAMED "VAVBASiQ" TYPEID 14768 IS
PARAMETER
Id : "Adress";
%V10 : "skriv enhetsalternativ" ["l/s alt m3/h"]; % 0=l/s,1=m3/h
PUBLIC
V1 : "Börvärde" ["%"]DEC2;
V2 : "Tvångsstyrning" [""]; % 1=öppen, 2=stängd, 3=min, 4=max
V3 : "Kommando" [""]; % 1=ändlägesadaption, 4=återställning av regulator
V4 : "Relativ spjällvinkel" ["%"]DEC2;
V5 : "Absolut spjällvinkel" ["° alt mm"]DEC2; % 655.35=denna funktion stöds inte
V6 : "Relativt flöde" ["%"]DEC2;
V7 : "Absolut flöde" ["l/s alt m3/h"];
V8 : "Analog utgång" ["V"]DEC3;
V9 : "Enhetsalternativ" ["l/s alt m3/h"]; % 0=l/s,1=m3/h
PRIVATE
BAUDRATE 19200;
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(0); % Start address
DATA[4] := RWORD(11); % Antal register att läsa
ANSWER SIZE 27 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(22); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA/100;);
DATA[5] -> RWORD(V2 := DATA;);
DATA[7] -> RWORD(V3 := DATA;);
DATA[11] -> RWORD(V4 := DATA/100;);
DATA[13] -> RWORD(V5 := DATA/100;);
DATA[15] -> RWORD(V6 := DATA/100;);
DATA[17] -> RWORD(V7 := DATA;);
DATA[23] -> RWORD(V8 := DATA/1000;);
TIMEOUT 300
END;
TELEGRAM LasEnhet NAMED "Läs enhetsalternativ" 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(201); % Start address
DATA[4] := RWORD(1); % Antal register att läsa
ANSWER SIZE 7 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(2); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA;);
TIMEOUT 300
END;
% ta bort kommentaren (% tecknet framför varje rad) nedan och framför V10 för att skriva enhetsalternativ
%TELEGRAM SkrivEnhet NAMED "Skriv enhetsalternativ" IS
%QUESTION
%DATA[0] := BYTE(Id); % Enhetens Modbus adress
%DATA[1] := HEX(06); % Modbus kommando för att skriva ett register
%DATA[2] <- RWORD(DATA := 201;); % Register adress
%DATA[4] <- RWORD(DATA := V2;);
%ANSWER SIZE 8
%DATA[0] = BYTE(Id);
%DATA[1] = BYTE(06);
%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.