Dantherm DANX 2/3 HP

Detaljer

Typ
Drivrutin
Upplaggd av
Ove Jansson, Abelko Innovation
Version
3
Uppdaterad
2017-09-20
Skapad
2016-11-23
Kategori
Modbus, Ventilation
Visningar
2986

Beskrivning

.

Bruksanvisning

BMS Set point Control” in MVC 80 Unit Configuration in ON or OFF?
If you just want to read points over Modbus in the BMS system leaf “BMS_SP_Control” on OFF!
This is also the case if you want to use the external stop function via the BMS system.

If you want to control the set points (wSETPOINTNAME)(Telegram WriteSP) over the BMS system, you have to set “BMS_SP_Control” to ON!
It is important, if you use the Modbus communication with set points, that ALL set points are set over the BMS system and not only some!
It is not possible to just read set points, in this case you have to set up the BMS system to read and write them!

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

% “BMS Set point Control” in MVC 80 Unit Configuration in ON or OFF?
% If you just want to read points over Modbus in the BMS system leaf “BMS_SP_Control” on OFF!
% This is also the case if you want to use the external stop function via the BMS system.
%
% If you want to control the set points (wSETPOINTNAME)(Telegram WriteSP) over the BMS system, you have to set “BMS_SP_Control” to ON!
% It is important, if you use the Modbus communication with set points, that ALL set points are set over the BMS system and not only some!
% It is not possible to just read set points, in this case you have to set up the BMS system to read and write them!
%
% 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 DANX_2_3_HP NAMED "DANX 2 3 HP" TYPEID 19314 IS

 PARAMETER
  Id       : "Adress" [""]INT;
  V34 : "wOpen_temp" [""]DEC1;
  V35 : "wClosed_Temp" [""]DEC1;
  V36 : "wOpen_Humidity" [""]INT;
  V37 : "wClosed_Humidity" [""]INT;
  V38 : "wMin_Fresh_Air" [""]INT;
  V39 : "wReturn_Fan_High" [""]INT;
  V40 : "wReturn_Fan_Low" [""]INT;
  V41 : "wSupply_Fan_High" [""]INT;
  V42 : "wSupply_Fan_Low" [""]INT;
  V43 : "wMax_Supply_Temp" [""]DEC1;
  V44 : "wMin_Supply_Temp" [""]DEC1;
  V45 : "wExternal_Stop" [""]INT;

 PUBLIC
  V1 : "Room_Temp" [""]DEC1;
  V2 : "Supply_Temp" [""]DEC1;
  V3 : "Outdoor_Temp" [""]DEC1;
  V4 : "Room_Humidity" [""]INT;
  V5 : "Return_Fan_Speed" [""]INT;
  V6 : "Supply_Fan_Speed" [""]INT;
  V7 : "Mixingbox_Damper" [""]INT;
  V8 : "ByPass_Damper" [""]INT;
  V9 : "Heating_Signal" [""]INT;
  V10 : "Unit_Status" [""]INT;
  V11 : "Program_Status" [""]INT;
  V12 : "Open_temp" [""]DEC1;
  V13 : "Closed_Temp" [""]INT;
  V14 : "Open_Humidity" [""]INT;
  V15 : "Closed_Humidity" [""]INT;
  V16 : "Min_Fresh_Air" [""]INT;
  V17 : "Return_Fan_High" [""]INT;
  V18 : "Return_Fan_Low" [""]INT;
  V19 : "Supply_Fan_High" [""]INT;
  V20 : "Supply_Fan_Low" [""]INT;
  V21 : "Max_Supply_Temp" [""]DEC1;
  V22 : "Min_Supply_Temp" [""]DEC1;
  V23 : "Common_Fault" [""]INT;
  V24 : "Fan_Alarm" [""]INT;
  V25 : "CheckFilters" [""]INT;
  V26 : "Fire_Alarm" [""]INT;
  V27 : "HeatingCoil_Alarm" [""]INT;
  V28 : "HeatingCoil_Pump" [""]INT;
  V29 : "DX_Cooling" [""]INT;
  V30 : "External_Stop" [""]INT;
  V31 : "CompressorStatus" [""]INT;
  V32 : "HP_LP_Alarm" [""]INT;
  V33 : "WCC_Pump" [""]INT;

 PRIVATE

 BAUDRATE 38400;
 CHECKSUM MODBUS SWAPPED;

 TELEGRAM Read31 NAMED "Read 31" 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(99); % Start address
   DATA[4] := RWORD(22); % Antal register att läsa
  ANSWER SIZE 49 % (Antal register * 2) + 5
   DATA[0] = BYTE(Id);
   DATA[1] = BYTE(03);
   DATA[2] = BYTE(44); % Antal Bytes
   DATA[3] -> RWORD(V1 := DATA/10;);
   DATA[5] -> RWORD(V2 := DATA/10;);
   DATA[7] -> RWORD(IF (DATA>=32768) THEN V3:=(DATA-65536)/10; ELSE V3:=DATA/10; ENDIF;);
   DATA[9] -> RWORD(V4 := DATA;);
   DATA[11] -> RWORD(V5 := DATA;);
   DATA[13] -> RWORD(V6 := DATA;);
   DATA[15] -> RWORD(V7 := DATA;);
   DATA[17] -> RWORD(V8 := DATA;);
   DATA[19] -> RWORD(V9 := DATA;);
   DATA[21] -> RWORD(V10 := DATA;);
   DATA[23] -> RWORD(V11 := DATA;);
   DATA[25] -> RWORD(V12 := DATA/10;);
   DATA[27] -> RWORD(V13 := DATA;);
   DATA[29] -> RWORD(V14 := DATA;);
   DATA[31] -> RWORD(V15 := DATA;);
   DATA[33] -> RWORD(V16 := DATA;);
   DATA[35] -> RWORD(V17 := DATA;);
   DATA[37] -> RWORD(V18 := DATA;);
   DATA[39] -> RWORD(V19 := DATA;);
   DATA[41] -> RWORD(V20 := DATA;);
   DATA[43] -> RWORD(V21 := DATA/10;);
   DATA[45] -> RWORD(V22 := DATA/10;);
  TIMEOUT 300
 END;
 TELEGRAM Read32 NAMED "Read 32" 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(149); % Start address
   DATA[4] := RWORD(11); % Antal register att läsa
  ANSWER SIZE 27 % (Antal register * 2) + 5
   DATA[0] = BYTE(Id);
   DATA[1] = BYTE(03);
   DATA[2] = BYTE(22); % Antal Bytes
   %DATA[103] -> RWORD(V23 := DATA;);
   %DATA[105] -> RWORD(V24 := DATA;);
   %DATA[107] -> RWORD(V25 := DATA;);
   %DATA[109] -> RWORD(V26 := DATA;);
   %DATA[111] -> RWORD(V27 := DATA;);
   %DATA[113] -> RWORD(V28 := DATA;);
   %DATA[115] -> RWORD(V29 := DATA;);
   %DATA[117] -> RWORD(V30 := DATA;);
   %DATA[119] -> RWORD(V31 := DATA;);
   %DATA[121] -> RWORD(V32 := DATA;);
   %DATA[123] -> RWORD(V33 := DATA;);
  TIMEOUT 300
 END;

 TELEGRAM WriteSP NAMED "WriteSP" IS
  QUESTION
   DATA[0] := BYTE(Id); % Enhetens Modbus adress
   DATA[1] :=  HEX(10); % Modbus kommando för att skriva flera register
   DATA[2] := RWORD(110); % Register adress
   DATA[4] := RWORD(11);
   DATA[6] := BYTE(22);
   DATA[7] := RWORD(V34*10);
   DATA[9] := RWORD(V35*10);
   DATA[11] := RWORD(V36);
   DATA[13] := RWORD(V37);
   DATA[15] := RWORD(V38);
   DATA[17] := RWORD(V39);
   DATA[19] := RWORD(V40);
   DATA[21] := RWORD(V41);
   DATA[23] := RWORD(V42);
   DATA[25] := RWORD(V43*10);
   DATA[27] := RWORD(V44*10);
  ANSWER SIZE 8
   DATA[0] = BYTE(Id);
   DATA[1] = HEX(10);
   DATA[2] = RWORD(111);
   DATA[4] = RWORD(11);   
  TIMEOUT 300
 END;
 
 TELEGRAM WriteStop NAMED "WriteStop" IS
  QUESTION
   DATA[0] := BYTE(Id); % Enhetens Modbus adress
   DATA[1] :=  HEX(6); % Modbus kommando för att skriva ett register
   DATA[2] := RWORD(156); % Register adress
   DATA[4] <- RWORD(DATA := V45;);
  ANSWER SIZE 8
   DATA[0] = BYTE(Id);
   DATA[1] = BYTE(06);
   DATA[2] = RWORD(156);
  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.