REGIN EXO Compact Alarm

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
1
Uppdaterad
2013-04-18
Skapad
2013-04-18
Kategori
Modbus, Ventilation
Visningar
1937

Beskrivning

Skript för att hämta larm från ventilationsaggregat med regin styr

Bruksanvisning

Parity: None
Baud: 9600

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for REGIN EXO Compact Alarm
%
% Settings module:
%       Parity: None
%       Baud:   9600
%       Mode:   RTU

% Author:  Ove Jansson, ABELKO AB Luleå 
% History: 2011-05-16 initial version
%          2012-05-24 updated for kurortsparken
%
DEVICETYPE ReginAlarm NAMED "ReginAlarm" TYPEID 21423 IS 

  PARAMETER
  Id : "Adress";
  
  PUBLIC
    V1 :"LA1_TF1_Larm_Ind"  ; % 0
    V2 :"LA1_FF1_ind"   ; % 1
    V3 :"LA1_P1_ind"  ; % 2
    V4 :"ST2_4_Öppen"  ; % 3
    V5 :"ST2_4_Stängd"  ; % 4
    V6 :"TestOmk_OK1_Ind"  ; % 5
    V7 :"LA1_S01_Service"  ; % 6
    V8 :"LA1_RD1_Röklarm"  ; % 7
    V9 :"BGF1_Man"  ; % 8
    V10 :"LA1_P1_Man"  ; % 9
    V11 :"LA1_ST1_Man"          ; % 10
    V12 :"LA1_ST2_4_Man"        ; % 11
    V13 :"LA1SA_LarmAMan"  ; % 12
    V14 :"LA1SA_LarmBMan"  ; % 13
    V15 :"LA1SA_LarmCMan"  ; % 14
 
  
  PRIVATE
Updated;


  BAUDRATE 9600;

  CHECKSUM MODBUS SWAPPED;

  TELEGRAM ReadAlarm NAMED "ReadAlarmStatus" IS
    QUESTION
      DATA[0]  := BYTE(Id);      % Modbus unit address
      DATA[1]  := HEX(02);       % Modbus command "02h" read discrete input (bit)
      DATA[2]  := RWORD(0);      % Start adress
      DATA[4]  := RWORD(15);     % Number of inputs
      
    ANSWER SIZE 7
      DATA[0]   = BYTE(Id);
      DATA[1]   = HEX(02); 
      DATA[2]   = BYTE(2);
      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 & 8)   THEN V4 := 1; ELSE V4 := 0; ENDIF;
        IF (DATA & 16)  THEN V5 := 1; ELSE V5 := 0; ENDIF;
        IF (DATA & 32)  THEN V6 := 1; ELSE V6 := 0; ENDIF;
        IF (DATA & 64)  THEN V7 := 1; ELSE V7 := 0; ENDIF;
        IF (DATA & 128) THEN V8 := 1; ELSE V8 := 0; ENDIF;
       ); 
     DATA[4]  -> BYTE(IF (DATA & 1)  THEN V9 := 1; ELSE V9 := 0; ENDIF;
       IF (DATA & 2)   THEN V10 := 1; ELSE V10 := 0; ENDIF;
       IF (DATA & 4)   THEN V11 := 1; ELSE V11 := 0; ENDIF;
       IF (DATA & 8)   THEN V12 := 1; ELSE V12 := 0; ENDIF;
       IF (DATA & 16)  THEN V13 := 1; ELSE V13 := 0; ENDIF; 
       IF (DATA & 32)  THEN V14 := 1; ELSE V14 := 0; ENDIF; 
       IF (DATA & 64)  THEN V15 := 1; ELSE V15 := 0; ENDIF; 
     Updated:=1;  );  

    TIMEOUT 2000

  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.