Barix X8 8st digital input
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 3
- Uppdaterad
- 2013-12-03
- Skapad
- 2013-12-03
- Kategori
- IO enheter, Modbus
- Visningar
- 3375
Beskrivning
Barix X8 är en trevlig liten enhet som kan fungera som
- 8st digital input
- 8st digital output
- 0-5V analog input
- Lokal temperatur 8st Barix TS digitala sensorer (OneWire)
- WIEGAND läsare 2 inputs + 6 med standard io funktioner)
Det här är en drivrutin för att läsa enhetens 8 digitala ingångar.
Bruksanvisning
Använd först konfigureringsskriptet för att ställa in din enhet
Bruksanvisning på Engelska barixx8_manual_V200.pdf (1,9MB).
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
DEVICETYPE BARIXX8DI NAMED "Barix X8 DI" TYPEID 21459 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "DI1" [""];
V2 : "DI2" [""];
V3 : "DI3" [""];
V4 : "DI4" [""];
V5 : "DI5" [""];
V6 : "DI6" [""];
V7 : "DI7" [""];
V8 : "DI8" [""];
PRIVATE
BAUDRATE 19200;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read1 NAMED "Read 1" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(01); % Modbus kommando för att läsa register kod 01
DATA[2] := RWORD(0); % Start address
DATA[4] := RWORD(8); % Antal register att läsa
ANSWER SIZE 6 % (Antal register / 8) avrundat uppåt + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(01);
DATA[2] = BYTE(1); % 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 & 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;
);
TIMEOUT 300
END;
END;
DEVICETYPE BARIXX8DI NAMED "Barix X8 DI" TYPEID 21459 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "DI1" [""];
V2 : "DI2" [""];
V3 : "DI3" [""];
V4 : "DI4" [""];
V5 : "DI5" [""];
V6 : "DI6" [""];
V7 : "DI7" [""];
V8 : "DI8" [""];
PRIVATE
BAUDRATE 19200;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read1 NAMED "Read 1" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(01); % Modbus kommando för att läsa register kod 01
DATA[2] := RWORD(0); % Start address
DATA[4] := RWORD(8); % Antal register att läsa
ANSWER SIZE 6 % (Antal register / 8) avrundat uppåt + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(01);
DATA[2] = BYTE(1); % 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 & 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;
);
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.