% Skapad med Modbus Creator % - 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 R221 NAMED "R221" TYPEID 15020 IS PARAMETER Id : "Adress" INT; PUBLIC V1 : "GT1" ["°C"]DEC1; % 0-319 -> 0-31,9 V2 : "SV2" ["%"]INT; % V3 : "ST1" ["%"]INT; % V4 : "SV3" ["%"]INT; % V5 : "RC DAG" ["°C"]DEC1; % 20-300 -> 2-30 V6 : "SV1" ["%"]INT; % 0-100% V7 : "HeatEffekt" ["%"]INT; % V8 : "CoolEffekt" ["%"]INT; % PRIVATE count3; tmp; BAUDRATE 9600; CHECKSUM MODBUS SWAPPED; TELEGRAM Read3 NAMED "Read 3" IS QUESTION DATA[0] := BYTE(Id); % Enhetens Modbus adress DATA[1] := HEX(04); % Modbus kommando för att läsa register DATA[2] <- RWORD( IF(count3>6) THEN count3 := 0; ENDIF; IF (count3=0) THEN tmp := 0; ELSIF (count3=1) THEN tmp := 6; ELSIF (count3=2) THEN tmp := 8; ELSIF (count3=3) THEN tmp := 9; ELSIF (count3=4) THEN tmp := 7; ELSIF (count3=5) THEN tmp := 4; ELSIF (count3=6) THEN tmp := 5; ENDIF; DATA:= tmp; ); DATA[4] := RWORD(01); ANSWER SIZE 7 DATA[0] = BYTE(Id); DATA[1] = BYTE(04); DATA[3] -> RWORD( IF (count3=0) THEN V1 := DATA/10; ELSIF (count3=1) THEN V2 := DATA; ELSIF (count3=2) THEN V3 := DATA; ELSIF (count3=3) THEN V4 := DATA; ELSIF (count3=4) THEN V6 := DATA; ELSIF (count3=5) THEN V7 := DATA; ELSIF (count3=6) THEN V8 := DATA; ENDIF; count3 := count3+1; ); TIMEOUT 300 END; TELEGRAM Read4 NAMED "Read 4" IS QUESTION DATA[0] := BYTE(Id); % Enhetens Modbus adress DATA[1] := HEX(03); % Modbus kommando för att läsa register DATA[2] := RWORD(06); DATA[4] := RWORD(01); ANSWER SIZE 7 DATA[0] = BYTE(Id); DATA[1] = BYTE(03); DATA[3] -> RWORD(V5 := DATA/10;); TIMEOUT 300 END; END;