Seneca modul Z-4RTD2

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
2
Uppdaterad
2013-08-27
Skapad
2013-08-27
Kategori
IO enheter, Modbus
Visningar
3349

Beskrivning

Typdefinition för Seneca modul Z-4RTD2
Denna modul har 4 st temperaturingångar för PT100, PT500 och PT1000 givare

Bruksanvisning

Hur man installerar typdefinitionerna och driftsätter modulerna finns beskrivet i användarmanualen, kapitel 18.7. För inkopplingsanvisningar och liknande, se modulens manual. Den kan hämtas från Senecas hemsida: http://www.seneca.it/

Det finns ett skript för att konfigurera Seneca enheter

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

DEVICETYPE SenecaZ4RDT2 NAMED "Seneca Z-4RTD2" TYPEID 21018
IS 
%
% Typdefinition för Seneca modul Z-4RTD2
%
% Denna modul har 4 st temperaturingångar för PT100, PT500 och PT1000 givare
%
% Hur man installerar typdefinitionerna och driftsätter modulerna finns 
% beskrivet i användarmanualen, kapitel 18.7.
%
% OBS! I Z-Prog måste ingångarna sättas som N100 om man vill ha PT1000 givare.
%
  PARAMETER
    Id :"Address";
%    Type:"Type";          % givar typ 
  PUBLIC
    T_1 :"T1"  ["°C"];
    T_2 :"T2"  ["°C"];
    T_3 :"T3"  ["°C"];
    T_4 :"T4"  ["°C"];

  PRIVATE
    State;
  
  
  BAUDRATE 38400;
  CHECKSUM MODBUS SWAPPED;

  TELEGRAM ReadInputs NAMED "Read Inputs" IS
    QUESTION
      DATA[0] := BYTE(Id);  % modbus address
      DATA[1] := HEX(03);   % question
      DATA[2] := HEX(00);   % start register high
      DATA[3] := HEX(02);   % start register low
      DATA[4] := HEX(00);   % number of registers high
      DATA[5] := HEX(04);   % number of registers high
      
      
    ANSWER SIZE 13
      DATA[0] = BYTE(Id);
      DATA[1] = HEX(03);
      DATA[2] = HEX(8);     % number of register bytes

      DATA[3]  -> RWORD(IF (DATA>=32768) THEN  T_1:=(DATA-65536)/10; ELSE T_1 := DATA/10;ENDIF;);
      DATA[5]  -> RWORD(IF (DATA>=32768) THEN  T_2:=(DATA-65536)/10; ELSE T_2 := DATA/10;ENDIF;);
      DATA[7]  -> RWORD(IF (DATA>=32768) THEN  T_3:=(DATA-65536)/10; ELSE T_3 := DATA/10;ENDIF;);
      DATA[9]  -> RWORD(IF (DATA>=32768) THEN  T_4:=(DATA-65536)/10; ELSE T_4 := DATA/10;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.