IV AHU skriv Börväden plus del 2

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
2
Uppdaterad
2018-11-21
Skapad
2015-04-22
Kategori
Modbus, Ventilation
Visningar
2064

Beskrivning

Observera att detta är för kommunikation med den enklare standardstyrningen på IV aggregaten. Du kan också beställa aggregat från IV för styrning direkt från IMSE WMPro eller IMSE Ultra.

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 AHUwSPplus2 NAMED "AHUwSPplus2" TYPEID 16466 IS

 PARAMETER
  Id       : "Adress";
  V1 : "NightCoolRoomHyst" ["°C"]DEC1;
  V2 : "NightCoolRoomSP" ["°C"]DEC1;
  V3 : "CoolDisOutsideTemp" ["°C"]DEC1;
  V4 : "HeatFrostSP" ["°C"]DEC1;
  V5 : "HeatStbySP" ["°C"]DEC1;
  V6 : "MqaxDevSupTemp" ["°C"]DEC1;
  V7 : "MaxDevSupFan" [""]; % %, Pa or l/s depending on configuration
  V8 : "MaxDevExhFan" [""];

 PUBLIC

 PRIVATE
  count6;

 BAUDRATE 9600;
 CHECKSUM MODBUS SWAPPED;

 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>7THEN count6 := 0ENDIF;
    IF (count6=0THEN DATA := 71;
    ELSIF (count6=1THEN DATA := 72;
    ELSIF (count6=2THEN DATA := 85;
    ELSIF (count6=3THEN DATA := 91;
    ELSIF (count6=4THEN DATA := 92;
    ELSIF (count6=5THEN DATA := 110;
    ELSIF (count6=6THEN DATA := 114;
    ELSIF (count6=7THEN DATA := 115;
    ENDIF;
   ); % Register adress
   DATA[4] <- RWORD(
    IF (count6=0THEN IF (V1<0THEN DATA := ROUND((V1*10)+65536); ELSE DATA := ROUND(V1*10); ENDIF;
    ELSIF (count6=1THEN IF (V2<0THEN DATA := ROUND((V2*10)+65536); ELSE DATA := ROUND(V2*10); ENDIF;
    ELSIF (count6=2THEN IF (V3<0THEN DATA := ROUND((V3*10)+65536); ELSE DATA := ROUND(V3*10); ENDIF;
    ELSIF (count6=3THEN IF (V4<0THEN DATA := ROUND((V4*10)+65536); ELSE DATA := ROUND(V4*10); ENDIF;
    ELSIF (count6=4THEN IF (V5<0THEN DATA := ROUND((V5*10)+65536); ELSE DATA := ROUND(V5*10); ENDIF;
    ELSIF (count6=5THEN DATA := V6*10;
    ELSIF (count6=6THEN DATA := V7;
    ELSIF (count6=7THEN DATA := V8;
    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.