Seneca Config

Detaljer

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

Beskrivning

En speciell typdefinition kallad SenecaCfg för att ställa om adressen i modulerna.

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/

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 CfgSeneca NAMED "CfgSeneca" TYPEID 21000
IS
  PARAMETER
    Id :"NewAddress"; 
  PUBLIC
    MType :"Type";
    Ver :"Version";
  PRIVATE
    CfgRegister;
    CfgData;
  BAUDRATE 9600;
  CHECKSUM MODBUS SWAPPED;

  TELEGRAM ReadInputs NAMED "ReadType" IS
    QUESTION
      DATA[0] := BYTE(1);
      DATA[1] := HEX(03);
      DATA[2] := HEX(00);
      DATA[3] := HEX(00);
      DATA[4] := HEX(00);
      DATA[5] := HEX(01);
    ANSWER SIZE 7
      DATA[0] = BYTE(1);
      DATA[1] = HEX(03);
      DATA[2] = HEX(02);
      DATA[3] -> RWORD(Ver := DATA MOD 256; MType := FLOOR(DATA / 256););
    TIMEOUT 300
  END;

  TELEGRAM WriteCfg NAMED "WriteCfg" IS
    QUESTION
      DATA[0] := BYTE(1);
      DATA[1] := HEX(06);
      DATA[2] <- RWORD(
        IF MType = 1 THEN CfgRegister := 73;    %Z-D-IN 21001
        ELSIF MType = 2 THEN CfgRegister := 69; %Z-D-OUT 21002
        ELSIF MType = 3 THEN CfgRegister := 72; %Z-DAQ Unsupported 
        ELSIF MType = 6 THEN CfgRegister := 65; %Z-4TC 21006
        ELSIF MType = 7 THEN CfgRegister := 65; %Z-4AI 21007
        ELSIF MType = 15 THEN CfgRegister := 65;%Z-3AO 21015
        ELSE CfgRegister := 0;
        ENDIF;
        DATA := CfgRegister;
      );
      DATA[4] <- RWORD(CfgData := 768 + Id;
                       DATA := CfgData;);
    ANSWER SIZE 8
      DATA[0] = BYTE(1);
      DATA[1] = HEX(06);
      DATA[2] = RWORD(CfgRegister);
      DATA[4] = RWORD(CfgData);
    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.