% 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 Exhausto NAMED "Exhausto" TYPEID 18441 IS PARAMETER Id : "Adress"; V12 : "Skriv Börvärde luftflöde" ["%"]DEC1; % Börvärde luftflöde I detta register ställer man in börvärdet för luftflödet. Värdet används bara om register 0015 = 0. V13 : "Skriv Börvärde temp" ["°C"]DEC1; % Börvärde för temperaturen I detta register ställer man in börvärdet för tilluftstemperatur eller rumstemperatur, beroende på konfigurering. V14 : "Skriv Börvärde konstant luftflöde" ["l/s"]; % Börvärde konstant luftflöde I detta register ställer man in börvärdet för luftflödet från frånlufts- eller tilluftsfläkt, när luftflödesregleringsmetod 3 eller 4 används V15 : "Skriv Styrläge" ["l/s"]; % Detta register innehåller värdet för enhetens styrläge. Värde: 0 = Manuellt Värde: 1 = Veckoplan PUBLIC V1 : "Börvärde luftflöde" ["%"]DEC1; % I detta register ställer man in börvärdet för luftflödet. Värdet används bara om register 0015 = 0. V2 : "Börvärde temp" ["°C"]DEC1; % I detta register ställer man in börvärdet för tilluftstemperatur eller rumstemperatur, beroende på konfigurering. V3 : "Börvärde konstant luftflöde" ["l/s"]; % I detta register ställer man in börvärdet för luftflödet från frånlufts- eller tilluftsfläkt, när luftflödesregleringsmetod 3 eller 4 används V4 : "Styrläge" [""]; % Detta register innehåller värdet för enhetens styrläge. Värde: 0 = Manuellt Värde: 1 = Veckoplan V5 : "Driftindikering" [""]; % 0=av 1=på V6 : "FC1 status" [""]; % 0=offline 1=online V7 : "FC1 driftindikering" [""]; % 0=kör ej 1=kör V8 : "FC1 frekvens" ["Hz"]DEC2; V9 : "F2 status" [""]; V10 : "FC2 driftindikering" [""]; V11 : "FC2 frekvens" ["Hz"]DEC2; 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(7); % Start address DATA[4] := RWORD(9); % Antal register att läsa ANSWER SIZE 23 % (Antal register * 2) + 5 DATA[0] = BYTE(Id); DATA[1] = BYTE(03); DATA[2] = BYTE(18); % Antal Bytes DATA[3] -> RWORD(V1 := DATA/10;); DATA[5] -> RWORD(V2 := DATA/10;); DATA[7] -> RWORD(V3 := DATA;); DATA[19] -> RWORD(V4 := DATA;); TIMEOUT 300 END; 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(50); % Start address DATA[4] := RWORD(21); % Antal register att läsa ANSWER SIZE 47 % (Antal register * 2) + 5 DATA[0] = BYTE(Id); DATA[1] = BYTE(04); DATA[2] = BYTE(42); % Antal Bytes DATA[3] -> RWORD(V5 := DATA;); DATA[31] -> RWORD(V6 := DATA;); DATA[33] -> RWORD(V7 := DATA;); DATA[35] -> RWORD(V8 := DATA/100;); DATA[39] -> RWORD(V9 := DATA;); DATA[41] -> RWORD(V10 := DATA;); DATA[43] -> RWORD(V11 := DATA/100;); 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>3) THEN count6 := 0; ENDIF; IF (count6=0) THEN DATA := 7; ELSIF (count6=1) THEN DATA := 8; ELSIF (count6=2) THEN DATA := 9; ELSIF (count6=3) THEN DATA := 15; ENDIF; ); % Register adress DATA[4] <- RWORD( IF (count6=0) THEN DATA := V12*10; ELSIF (count6=1) THEN DATA := V13*10; ELSIF (count6=2) THEN DATA := V14; ELSIF (count6=3) THEN DATA := V15; ENDIF; count6 := count6+1; ); ANSWER SIZE 8 DATA[0] = BYTE(Id); DATA[1] = BYTE(06); TIMEOUT 300 END; END;