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
1845

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;

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.