Eurotherm Regulator
Detaljer
Beskrivning
För 2000 seriens enheter.
Bruksanvisning
Förutsätter att regulatorn är konfigurerad för flyttal. Om den är inställd för heltal(integer) måste /100 tas bort nedan
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
% Förutsätter att regulatorn är konfigurerad för flyttal. Om den är inställd för heltal(integer) måste /100 tas bort nedan
DEVICETYPE Euroterm NAMED "Euroterm regulator" TYPEID 22110 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Aktuell temp" ["°C"]DEC2;
V2 : "Kylventil" ["%"]DEC2;
V3 : "Beräknat börvärde" ["°C"]DEC2;
PRIVATE
BAUDRATE 9600;
PARITY NONE;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read4 NAMED "Read 4" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(5); % Antal register att läsa
ANSWER SIZE 15 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(10); % Antal Bytes
DATA[3] -> RWORD(IF (DATA>=32768) THEN V1:=(DATA-65536)/100; ELSE V1:=DATA/100; ENDIF;);
DATA[7] -> RWORD(V2 := DATA/100;);
DATA[11] -> RWORD(IF (DATA>=32768) THEN V3:=(DATA-65536)/100; ELSE V3:=DATA/100; ENDIF;);
TIMEOUT 300
END;
END;
DEVICETYPE Euroterm NAMED "Euroterm regulator" TYPEID 22110 IS
PARAMETER
Id : "Adress";
PUBLIC
V1 : "Aktuell temp" ["°C"]DEC2;
V2 : "Kylventil" ["%"]DEC2;
V3 : "Beräknat börvärde" ["°C"]DEC2;
PRIVATE
BAUDRATE 9600;
PARITY NONE;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Read4 NAMED "Read 4" IS
QUESTION
DATA[0] := BYTE(Id); % Enhetens Modbus adress
DATA[1] := HEX(04); % Modbus kommando för att läsa register kod 04
DATA[2] := RWORD(1); % Start address
DATA[4] := RWORD(5); % Antal register att läsa
ANSWER SIZE 15 % (Antal register * 2) + 5
DATA[0] = BYTE(Id);
DATA[1] = BYTE(04);
DATA[2] = BYTE(10); % Antal Bytes
DATA[3] -> RWORD(IF (DATA>=32768) THEN V1:=(DATA-65536)/100; ELSE V1:=DATA/100; ENDIF;);
DATA[7] -> RWORD(V2 := DATA/100;);
DATA[11] -> RWORD(IF (DATA>=32768) THEN V3:=(DATA-65536)/100; ELSE V3:=DATA/100; 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.