Seneca Z-D-OUT

Detaljer

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

Beskrivning

Seneca Z-D-OUT

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 SenecaZDIN NAMED "Seneca Z-D-OUT" TYPEID 21002
IS
  PARAMETER
    Id :"Address";
    DO_1 :"wDO1";
    DO_2 :"wDO2";
    DO_3 :"wDO3";
    DO_4 :"wDO4";
    DO_5 :"wDO5";
    TimeOut:"TimeOut" ["s"];
    Safety:"FailSafe";
  PUBLIC
    pDO_1 :"DO1";
    pDO_2 :"DO2";
    pDO_3 :"DO3";
    pDO_4 :"DO4";
    pDO_5 :"DO5";
  PRIVATE
    Tmp;
  BAUDRATE 38400;
  CHECKSUM MODBUS SWAPPED;
  
  TELEGRAM WriteDOut NAMED "Write Output" IS
    QUESTION
      DATA[0] := BYTE(Id);
      DATA[1] := HEX(06);
      DATA[2] := RWORD(1);
      DATA[4] <- RWORD(
        IF DO_1 THEN Tmp := 1; ELSE Tmp := 0; ENDIF;
        IF DO_2 THEN Tmp := Tmp + 2; ENDIF;
        IF DO_3 THEN Tmp := Tmp + 4; ENDIF;
        IF DO_4 THEN Tmp := Tmp + 8; ENDIF;
        IF DO_5 THEN Tmp := Tmp + 16; ENDIF;
        DATA := Tmp;
        pDO_1 := DO_1;
        pDO_2 := DO_2;
        pDO_3 := DO_3;
        pDO_4 := DO_4;
        pDO_5 := DO_5;
      );
    ANSWER SIZE 8
      DATA[0] = BYTE(Id);
      DATA[1] = HEX(06);
    TIMEOUT 300
  END;

  TELEGRAM WriteSettings NAMED "Write Settings" IS
    QUESTION
      DATA[0] := BYTE(Id);
      DATA[1] := HEX(10);
      DATA[2] := HEX(00);
      DATA[3] := HEX(02);
      DATA[4] := HEX(00);
      DATA[5] := HEX(03);
      DATA[6] := HEX(06);
      DATA[7] := RWORD(0);
      DATA[9] <- RWORD(
        IF TimeOut < 0.5 THEN DATA := 5; 
        ELSIF TimeOut > 25 THEN DATA := 250;
        ELSE DATA := TimeOut * 10;
        ENDIF;
      );
      DATA[11] <- RWORD(
        IF Safety THEN DATA := 192; 
        ELSE DATA := 64; ENDIF;
      );
    ANSWER SIZE 8
      DATA[0] = BYTE(Id);
      DATA[1] = HEX(10);
    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.