Produal IML-m IP drivrutin

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
2
Uppdaterad
2016-10-14
Skapad
2016-10-14
Kategori
Modbus, Värme, Ventilation
Visningar
1783

Beskrivning

Skript för att läsa mätvärden och sätta I & P värden till IML-M:
IML-M med Modbus, för mätning och styrning av luftmängder i luftbehandlingsaggregat. Transmittern innehåller förkonfigurerade karakteristiker för de mest förekommande fabrikaten av fläktar på marknaden och en allmän formel för flödes volymer. Displayen visar alternerande luftmängd och differenstryck eller önskad enhet kan låsas till visningen. Bra nogranhett av mätningen garanteras av den automatiska nollpunktskalibreringen. Lämpligt mätområde kan väljas vid drifttagningen i fyra olika områden.

Bruksanvisning

används tillsammans med Skript Produal IML-m

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 IMLmPI NAMED "IMLmPI" TYPEID 18948 IS

 PARAMETER
  Id : "Adress" [""]INT;
  V3 : "wProportional band (Xp)" ["%"]DEC1;
  V4 : "wIntegral time" ["s"]INT;

 PUBLIC
  V1 : "Proportional band (Xp) " ["%"]DEC1;
  V2 : "Integral time " ["s"]INT;

 PRIVATE
  count6;

 BAUDRATE 9600;
 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(8); % Start address
   DATA[4] := RWORD(2); % Antal register att läsa
  ANSWER SIZE 9 % (Antal register * 2) + 5
   DATA[0] = BYTE(Id);
   DATA[1] = BYTE(03);
   DATA[2] = BYTE(4); % Antal Bytes
   DATA[3] -> RWORD(V1 := DATA/10;);
   DATA[5] -> RWORD(V2 := DATA;);
  TIMEOUT 300
 END;

 TELEGRAM WriteRegister NAMED "Write Register" IS
  QUESTION
   DATA[0] := BYTE(Id); % Enhetens Modbus adress
   DATA[1] :=  HEX(06); % Modbus kommando för att skriva ett register
   DATA[2] <- RWORD(
    IF(count6>1) THEN count6 := 0; ENDIF;
    IF (count6=0) THEN DATA := 8;
    ELSIF (count6=1) THEN DATA := 9;
    ENDIF;
   ); % Register adress
   DATA[4] <- RWORD(
    IF (count6=0) THEN DATA := V3*10;
    ELSIF (count6=1) THEN DATA := V4;
    ENDIF;
    count6 := count6+1;
   );
  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.