IV AHU Larm

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
1
Uppdaterad
2015-04-22
Skapad
2015-04-22
Kategori
Modbus, Ventilation
Visningar
2042

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 AHUAlarm NAMED "AHUAlarm" TYPEID 16462 IS

 PARAMETER
  Id       : "Adress";

 PUBLIC
  V1 : "FireDampClosed" [""]; % 0=Ok, 1=Alarm
  V2 : "FireDampOpen" [""];
  V3 : "FireDampNoMove" [""];
  V4 : "SupplyFan" [""];
  V5 : "CoolingDX" [""];
  V6 : "HeatRecovery" [""];
  V7 : "HeatPump" [""];
  V8 : "HeatFrost" [""];
  V9 : "SupTempDeviation" [""];
  V10 : "RoomTempDeviation" [""];
  V11 : "SupFilter" [""];
  V12 : "ExhaustFilter" [""];
  V13 : "FireAlarm" [""];
  V14 : "SupTempFire" [""];
  V15 : "ExhTempFire" [""];

 PRIVATE

 BAUDRATE 9600;
 CHECKSUM MODBUS SWAPPED;

 TELEGRAM Read2 NAMED "Read 2" IS
  QUESTION
   DATA[0] := BYTE(Id); % Enhetens Modbus adress
   DATA[1] :=  HEX(02); % Modbus kommando för att läsa register kod 02
   DATA[2] := RWORD(21); % Start address
   DATA[4] := RWORD(54); % Antal register att läsa
  ANSWER SIZE 12 % (Antal register / 8) avrundat uppåt + 5
   DATA[0] = BYTE(Id);
   DATA[1] = BYTE(02);
   DATA[2] = BYTE(7); % Antal Bytes
   DATA[3] -> BYTE(
    IF (DATA & 1) THEN V1 := 1; ELSE V1 := 0; ENDIF;
    IF (DATA & 2) THEN V2 := 1; ELSE V2 := 0; ENDIF;
    IF (DATA & 4) THEN V3 := 1; ELSE V3 := 0; ENDIF;
    IF (DATA & 32) THEN V4 := 1; ELSE V4 := 0; ENDIF;
   );
   DATA[4] -> BYTE(
    IF (DATA & 1) THEN V5 := 1; ELSE V5 := 0; ENDIF;
   );
   DATA[5] -> BYTE(
    IF (DATA & 4) THEN V6 := 1; ELSE V6 := 0; ENDIF;
    IF (DATA & 128) THEN V7 := 1; ELSE V7 := 0; ENDIF;
   );
   DATA[6] -> BYTE(
    IF (DATA & 2) THEN V8 := 1; ELSE V8 := 0; ENDIF;
   );
   DATA[7] -> BYTE(
    IF (DATA & 8) THEN V9 := 1; ELSE V9 := 0; ENDIF;
    IF (DATA & 16) THEN V10 := 1; ELSE V10 := 0; ENDIF;
   );
   DATA[9] -> BYTE(
    IF (DATA & 2) THEN V11 := 1; ELSE V11 := 0; ENDIF;
    IF (DATA & 4) THEN V12 := 1; ELSE V12 := 0; ENDIF;
    IF (DATA & 8) THEN V13 := 1; ELSE V13 := 0; ENDIF;
    IF (DATA & 16) THEN V14 := 1; ELSE V14 := 0; ENDIF;
    IF (DATA & 32) THEN V15 := 1; ELSE V15 := 0; ENDIF;
   );
  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.