Produal IML-m IP drivrutin
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 2
- Uppdaterad
- 2016-10-14
- Skapad
- 2016-10-14
- Kategori
- Modbus, Värme, Ventilation
- Visningar
- 1783
Beskrivning
Skript för att läsa mätvärden och sätta I & P värden till IML-M:
IML-M med Modbus, för mätning och styrning av luftmängder i luftbehandlingsaggregat. Transmittern innehåller förkonfigurerade karakteristiker för de mest förekommande fabrikaten av fläktar på marknaden och en allmän formel för flödes volymer. Displayen visar alternerande luftmängd och differenstryck eller önskad enhet kan låsas till visningen. Bra nogranhett av mätningen garanteras av den automatiska nollpunktskalibreringen. Lämpligt mätområde kan väljas vid drifttagningen i fyra olika områden.
Bruksanvisning
används tillsammans med Skript Produal IML-m
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
% - OBS! Användaren ansvarar själv för att samma TYPID inte används flera gånger i samma apparat.
% TYPID 10000-19999 är för användardefinierade enheter
DEVICETYPE IMLmPI NAMED "IMLmPI" TYPEID 18948 IS
PARAMETER
Id : "Adress" [""]INT;
V3 : "wProportional band (Xp)" ["%"]DEC1;
V4 : "wIntegral time" ["s"]INT;
PUBLIC
V1 : "Proportional band (Xp) " ["%"]DEC1;
V2 : "Integral time " ["s"]INT;
PRIVATE
count6;
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read3 NAMED "Read 3" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(03); % Modbus kommando för att läsa register kod 03
DATA[2] := RWORD(8); % Start address
DATA[4] := RWORD(2); % Antal register att läsa
ANSWER SIZE 9 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(03);
DATA[2] = BYTE(4); % Antal Bytes
DATA[3] -> RWORD(V1 := DATA/10;);
DATA[5] -> RWORD(V2 := DATA;);
TIMEOUT 300
END;
TELEGRAM WriteRegister NAMED "Write Register" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(06); % Modbus kommando för att skriva ett register
DATA[2] <- RWORD(
IF(count6>1) THEN count6 := 0; ENDIF;
IF (count6=0) THEN DATA := 8;
ELSIF (count6=1) THEN DATA := 9;
ENDIF;
); % Register adress
DATA[4] <- RWORD(
IF (count6=0) THEN DATA := V3*10;
ELSIF (count6=1) THEN DATA := V4;
ENDIF;
count6 := count6+1;
);
ANSWER SIZE 8
DATA[0] = BYTE(Id);
DATA[1] = BYTE(06);
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.