Barix X8 8st digitala utgångar
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2013-12-03
- Skapad
- 2013-12-03
- Kategori
- IO enheter, Modbus
- Visningar
- 3290
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 skriva till enhetens 8 digitala utgå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
DEVICETYPE BARIXX8DO NAMED "Barix X8 DO" TYPEID 21460 IS
PARAMETER
Id : "Adress";
V1 : "DO1" [""];
V2 : "DO2" [""];
V3 : "DO3" [""];
V4 : "DO4" [""];
V5 : "DO5" [""];
V6 : "DO6" [""];
V7 : "DO7" [""];
V8 : "DO8" [""];
PUBLIC
PRIVATE
count5;
BAUDRATE 19200;
PARITY EVEN;
CHECKSUM MODBUS SWAPPED;
TELEGRAM WriteCoil NAMED "Write Coil" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(05); % Modbus kommando för att skriva en Coil
DATA[2] <- RWORD(
IF(count5>7) THEN count5 := 0; ENDIF;
IF (count5=0) THEN DATA := 0;
ELSIF (count5=1) THEN DATA := 1;
ELSIF (count5=2) THEN DATA := 2;
ELSIF (count5=3) THEN DATA := 3;
ELSIF (count5=4) THEN DATA := 4;
ELSIF (count5=5) THEN DATA := 5;
ELSIF (count5=6) THEN DATA := 6;
ELSIF (count5=7) THEN DATA := 7;
ENDIF;
); % Register adress
DATA[4] <- RWORD(
IF (count5=0) THEN IF (V1 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=1) THEN IF (V2 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=2) THEN IF (V3 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=3) THEN IF (V4 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=4) THEN IF (V5 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=5) THEN IF (V6 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=6) THEN IF (V7 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ELSIF (count5=7) THEN IF (V8 >0) THEN DATA := 65536; ELSE DATA := 0; ENDIF;
ENDIF;
count5 := count5+1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = BYTE(05);
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.