Regin Corrigo E selected inputs
Detaljer
- Typ
- Drivrutin
- Upplaggd av
- Ove Jansson, Abelko Innovation
- Version
- 1
- Uppdaterad
- 2013-08-28
- Skapad
- 2013-08-28
- Kategori
- Kyla, Modbus, Värme, Ventilation
- Visningar
- 3012
Beskrivning
Drivrutin
Bruksanvisning
Hur man installerar typdefinitionerna och driftsätter modulerna finns beskrivet i användarmanualen, kapitel 18.7.
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
% History: 2010-02-19 Timeout ändrad till 2 sekunder NÖDVÄNDIGT !!!
% Neds adjustements to work properly
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for CORRIGO E Selected inputs
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Note! Telegram for reading Selected inputs
%
% FIXA NEGATIV HANTERING TEMPERATURER
%
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2008-10-14 inital version
%
DEVICETYPE CorrigoSelectI NAMED "CorrigoE Input" TYPEID 21280 IS
PARAMETER
Id : "Adress";
PUBLIC
% Holding registers (function 3)
HR1 : "Börv. Tilluft" ["°C"] ; %R,3 1 18°C Setpoint supply air
%HR2 : "Curve1_X1" ["°C"] ; %R,3 2 -20°C Outdoortemp 1 first curvepoint
%HR3 : "Curve1_X2" ["°C"] ; %R,3 3 -15°C Outdoortemp 2
%HR4 : "Curve1_X3" ["°C"] ; %R,3 4 -10°C Outdoortemp 3
%HR5 : "Curve1_X4" ["°C"] ; %R,3 5 -5°C Outdoortemp 4
%HR6 : "Curve1_X5" ["°C"] ; %R,3 6 0°C Outdoortemp 5
%HR7 : "Curve1_X6" ["°C"] ; %R,3 7 5°C Outdoortemp 6
%HR8 : "Curve1_X7" ["°C"] ; %R,3 8 10°C Outdoortemp 7
%HR9 : "Curve1_X8" ["°C"] ; %R,3 9 15°C Outdoortemp 8
%HR10 : "Curve1_Y1" ["°C"] ; %R,3 10 25°C Setpoint 1 first curvepoint
%HR11 : "Curve1_Y2" ["°C"] ; %R,3 11 24°C Setpoint 2
%HR12 : "Curve1_Y3" ["°C"] ; %R,3 12 23°C Setpoint 3
%HR13 : "Curve1_Y4" ["°C"] ; %R,3 13 23°C Setpoint 4
%HR14 : "Curve1_Y5" ["°C"] ; %R,3 14 22°C Setpoint 5
%HR15 : "Curve1_Y6" ["°C"] ; %R,3 15 20°C Setpoint 6
%HR16 : "Curve1_Y7" ["°C"] ; %R,3 16 18°C Setpoint 7
%HR17 : "Curve1_Y8" ["°C"] ; %R,3 17 18°C Setpoint 8
HR18 : "Börv. Frånluft" ["°C"] ; %R,3 18 21°C Setpoint exhaust air
%HR19 : "RoomSetPoint" ["°C"] ; %R,3 19 21°C Room setpoint
%HR20 : "NeedHeatStart" ["°C"] ; %R,3 20 15°C Room temp start intermittent heating
%HR21 : "NeedHeatStop" ["°C"] ; %R,3 21 21°C Room temp stop intermittent heating
%HR22 : "NeedCoolStart" ["°C"] ; %R,3 22 30°C Room temp start intermittent cooling
%HR23 : "NeedCoolStop" ["°C"] ; %R,3 23 28°C Room temp stop intermittent cooling
%HR24 : "SAFullPress.SP" ["Pa"] ; %R,3 24 500Pa Setpoint full speed supply air
%HR25 : "SAHalfPress.SP" ["Pa"] ; %R,3 25 250Pa Setpoint reduced speed supply air
%HR26 : "EAFullPress.SP" ["Pa"] ; %R,3 26 500Pa Setpoint full speed exhaust air
%HR27 : "EAHalfPress.SP" ["Pa"] ; %R,3 27 250Pa Setpoint reduced speed exhaust air
%HR28 : "SAFullAirFlowSP"["m3/h"] ; %R,3 28 2000 m3/h Setpoint full speed supply air. Scale = 1
%HR29 : "SAHalfAirFlowSP"["m3/h"] ; %R,3 29 1000 m3/h Setpoint reduced speed supply air. Scale = 1
%HR30 : "EAFullAirFlowSP"["m3/h"] ; %R,3 30 2000 m3/h Setpoint full speed exhaust air. Scale = 1
%HR31 : "EAHalfAirFlowSP"["m3/h"] ; %R,3 31 1000 m3/h Setpoint reduced speed exhaust air. Scale = 1
%HR32 : "CO2Setpoint" ["ppm"] ; %R,3 32 1000ppm Setpoint CO2
%HR33 : "FrostProtSPStop"["°C"] ; %R,3 33 25°C Setpoint frost protection, Stop
%HR34 : "FrostProtPGain" ["°C"] ; %R,3 34 5° P-Gain frost protection when running (alarm limit+PGain)
%HR35 : "DeIcingSP" ["°C"] ; %R,3 35 -3° Setpoint de-icing temp
%HR36 : "DeIcingHyst" ["°C"] ; %R,3 36 1°C Hysteresis for stop of de-icing
%HR37 : "HumiditySP2 ["%RH"] ; %R,3 37 50%RH Setpoint humidity room
%HR38 : "HumidityMaxDuct"["%RH"] ; %R,3 38 80%RH Max limit humidity duct
%HR39 : "HumidityHyst" ["%RH"] ; %R,3 39 20%RH Hysteresis to start humidity control after stop max limitation
% ; %
%HR40 : "TimeDp0T1" ["HH.MM"]; %R,3 40 Start time 1 Monday (HH.MM) 2 decimaler
%HR41 : "TimeDp0T2" ["HH.MM"]; %R,3 41 Stop time 1 Monday
%HR42 : "TimeDp0T3" ["HH.MM"]; %R,3 42 Start time 2 Monday
%HR43 : "TimeDp0T4" ["HH.MM"]; %R,3 43 Stop time 2 Monday
%HR44 : "TimeDp1T1" ["HH.MM"]; %R,3 44 Start time 1 Tuesday
%HR45 : "TimeDp1T2" ["HH.MM"]; %R,3 45 Stop time 1 Tuesday
%HR46 : "TimeDp1T3" ["HH.MM"]; %R,3 46 Start time 2 Tuesday
%HR47 : "TimeDp1T4" ["HH.MM"]; %R,3 47 Stop time 2 Tuesday
%HR48 : "TimeDp2T1" ["HH.MM"]; %R,3 48 Start time 1 Wedn.
%HR49 : "TimeDp2T2" ["HH.MM"]; %R,3 49 Stop time 1 Wedn.
%HR50 : "TimeDp2T3" ["HH.MM"]; %R,3 50 Start time 2 Wedn.
%HR51 : "TimeDp2T4" ["HH.MM"]; %R,3 51 Stop time 2 Wedn.
%HR52 : "TimeDp3T1" ["HH.MM"]; %R,3 52 Start time 1 Thursday
%HR53 : "TimeDp3T2" ["HH.MM"]; %R,3 53 Stop time 1 Thursday
%HR54 : "TimeDp3T3" ["HH.MM"]; %R,3 54 Start time 2 Thursday
%HR55 : "TimeDp3T4" ["HH.MM"]; %R,3 55 Stop time 2 Thursday
%HR56 : "TimeDp4T1" ["HH.MM"]; %R,3 56 Start time 1 Friday
%HR57 : "TimeDp4T2" ["HH.MM"]; %R,3 57 Stop time 1 Friday
%HR58 : "TimeDp4T3" ["HH.MM"]; %R,3 58 Start time 2 Friday
%HR59 : "TimeDp4T4" ["HH.MM"]; %R,3 59 Stop time 2 Friday
%HR60 : "TimeDp5T1" ["HH.MM"]; %R,3 60 Start time 1 Saturday
%HR61 : "TimeDp5T2" ["HH.MM"]; %R,3 61 Stop time 1 Saturday
%HR62 : "TimeDp5T3" ["HH.MM"]; %R,3 62 Start time 2 Saturday
%HR63 : "TimeDp5T4" ["HH.MM"]; %R,3 63 Stop time 2 Saturday
%HR64 : "TimeDp6T1" ["HH.MM"]; %R,3 64 Start time 1 Sunday
%HR65 : "TimeDp6T2" ["HH.MM"]; %R,3 65 Stop time 1 Sunday
%HR66 : "TimeDp6T3" ["HH.MM"]; %R,3 66 Start time 2 Sunday
%HR67 : "TimeDp6T4" ["HH.MM"]; %R,3 67 Stop time 2 Sunday
%HR68 : "TimeDp7T1" ["HH.MM"]; %R,3 68 Start time 1 Holiday
%HR69 : "TimeDp7T2" ["HH.MM"]; %R,3 69 Stop time 1 Holiday
%HR70 : "TimeDp7T3" ["HH.MM"]; %R,3 70 Start time 2 Holiday
%HR71 : "TimeDp7T4" ["HH.MM"]; %R,3 71 Stop time 2 Holiday Start/stop 72-263
% ; %
%HR264 : "DateHp0From" ["HH.MM"]; %R,3 264 Start date holiday 1 (MM.DD) 2 decimaler
%HR265 : "DateHp0To" ["HH.MM"]; %R,3 265 End date holiday 1 holiday 2-23
%HR310 : "DateHp23From" ["HH.MM"]; %R,3 310 Start date holiday 24
%HR311 : "DateHp23To" ["HH.MM"]; %R,3 311 End date holiday 24
% ; %
%HR312 : "SAPID_P" ["°C"] ; %R,3 312 33 °C P supply air control
%HR313 : "SAPID_I" ["sec"] ; %R,3 313 100 sec I
%HR314 : "EAPID_P" ["°C"] ; %R,3 314 100 °C P exhaust air control
%HR315 : "EAPID_I" ["sec"] ; %R,3 315 300 sec I
%HR316 : "RoomPID_P" ["°C"] ; %R,3 316 100 °C P room air control
%HR317 : "RoomPID_I" ["sec"] ; %R,3 317 300 sec I
%HR318 : "FrostPID_P" ["°C"] ; %R,3 318 100 °C P switchdown mode
%HR319 : "FrostPID_I" ["sec"] ; %R,3 319 100 sec I
%HR320 : "DeIcePID_P" ["°C"] ; %R,3 320 100 °C P de-icing
%HR321 : "DeIcePID_I" ["sec"] ; %R,3 321 100 sec I
%HR322 : "SAPID_P" ["Pa"] ; %R,3 322 500 Pa P pressure control SAF
%HR323 : "SAPID_I" ["sec"] ; %R,3 323 60 sec I
%HR324 : "EAPID_P" ["Pa"] ; %R,3 324 500 Pa P pressure control EAF
%HR325 : "EAPID_I" ["sec"] ; %R,3 325 60 sec I
%HR326 : "SAAirFlowPID_P" ["m3/h"] ; %R,3 326 1000m3/h P flow control SAF
%HR327 : "SAAirFlowPID_I" ["sec"] ; %R,3 327 60 sec I
%HR328 : "EAAirFlowPID_P" ["m3/h"] ; %R,3 328 1000m3/h P flow control EAF
%HR329 : "EAAirFlowPID_I" ["sec"] ; %R,3 329 60 sec I
%HR330 : "HumidityPID_P" ["%RH"] ; %R,3 330 100 %RH P humidity control
%HR331 : "HumidityPID_I" ["sec"] ; %R,3 331 300 sec I
% ; %
%HR332 : "SAMaxDiff" ["°C"] ; %R,3 332 10 °C Max control deviation supply air temp
%HR333 : "SAHiAlarmLimit" ["°C"] ; %R,3 333 30 °C High alarm limit supply air temp
%HR334 : "SALoAlarmLimit" ["°C"] ; %R,3 334 10 °C Low alarm limit supply air temp
%HR335 : "EATempHigh" ["°C"] ; %R,3 335 30 °C High alarm limit exhaust air temp
%HR336 : "EATempLow" ["°C"] ; %R,3 336 10 °C Low alarm limit exhaust air temp
%HR337 : "RoomHighLimit" ["°C"] ; %R,3 337 30 °C High alarm limit room air temp
%HR338 : "RoomLowLimit" ["°C"] ; %R,3 338 10 °C Low alarm limit room air temp
%HR339 : "FrostLimit" ["°C"] ; %R,3 339 7 °C Alarm limit frost protection
%HR340 : "SAMaxDiffPress" ["Pa"] ; %R,3 340 50 Pa Max control deviation pressure SAF
%HR341 : "EAMaxDiffPress" ["Pa"] ; %R,3 341 50 Pa Max control deviation pressure EAF
%HR342 : "Effic.LowLimit" ["%"] ; %R,3 342 50 % Low efficiency
% ; %
%% Alarm delay ; %
%HR343 : "Alarm13Delay" ["min"] ; %I,3 343 30 min control deviation supply air temp
%HR344 : "Alarm15Delay" ["sec"] ; %I,3 344 5 sec high supply air temp
%HR345 : "Alarm16Delay" ["sec"] ; %I,3 345 5 sec low supply air temp
%HR346 : "Alarm21Delay" ["min"] ; %I,3 346 30 min high exhaust air temp
%HR347 : "Alarm22Delay" ["min"] ; %I,3 347 30 min low exhaust air temp
%HR348 : "Alarm19Delay" ["min"] ; %I,3 348 30 min high room air temp
%HR349 : "Alarm20Delay" ["min"] ; %I,3 349 30 min low alarm room air temp
%HR350 : "Alarm25Delay" ["sec"] ; %I,3 350 0 sec frost protection
%HR351 : "Alarm31Delay" ["min"] ; %I,3 351 30 min max control deviation pressure SAF
%HR352 : "Alarm32Delay" ["min"] ; %I,3 352 30 min max control deviation pressure EAF
%HR353 : "Alarm26Delay" ["min"] ; %I,3 353 30 min low efficiency
%HR354 : "Alarm1Delay" ["sec"] ; %I,3 354 120sec malfunction SAF
%HR355 : "Alarm2Delay" ["sec"] ; %I,3 355 120sec malfunction EAF
%HR356 : "Alarm3Delay" ["sec"] ; %I,3 356 5 sec malfunction P1-Heating
%HR357 : "Alarm4Delay" ["sec"] ; %I,3 357 5 sec malfunction P1-Cooling
%HR358 : "Alarm5Delay" ["sec"] ; %I,3 358 20 sec malfunction P1-Exchanger
%HR359 : "Alarm6Delay" ["sec"] ; %I,3 359 180sec filter monitoring
%HR360 : "Alarm7Delay" ["sec"] ; %I,3 360 5 sec flow switch
%HR361 : "Alarm8Delay" ["sec"] ; %I,3 361 0 sec frost protection
%HR362 : "Alarm9Delay" ["sec"] ; %I,3 362 0 sec frost protection digital input
%HR363 : "Alarm10Delay" ["sec"] ; %I,3 363 0 sec fire alarm
%HR364 : "Alarm12Delay" ["sec"] ; %I,3 364 0 sec external alarm
%HR365 : "Alarm23Delay" ["sec"] ; %I,3 365 0 sec electric heater
%HR366 : "Alarm27Delay" ["sec"] ; %I,3 366 5 sec sensor error
%HR367 : "Alarm29Delay" ["sec"] ; %I,3 367 20 sec rotation guard exchanger
% ; %
HR368 : "Driftläge" [""] ; %X,3 368 2 Mode air unit: 0=Man.off 1=Man.on 2=Auto
%HR369 : "SAPIDSelect" [""] ; %X,3 369 2 Supply temp ctrl mode
%HR370 : "SAPIDManSet" ["%"] ; %R,3 370 0% Supply temp ctrl output if manual on mode
%HR371 : "SAAutoMode" [""] ; %X,3 371 3 Mode SAF: 0=Man.off 1=Man.half 2=Man.full 3=Auto
%HR372 : "EAAutoMode" [""] ; %X,3 372 3 Mode EAF
%HR373 : "SAFrequenceMode"[""] ; %X,3 373 3 Mode SAF frequence 0=Man.off 1=Man.half 2=Man.Full 3=Auto
%HR374 : "SAManual" ["%"] ; %R,3 374 0% SAFreguencer ctrl output if manual mode
%HR375 : "EAFrequenceMode"[""] ; %X,3 375 3 Mode EAF frequence 0=Man.off 1=Man.half 2=Man.Full 3=Auto
%HR376 : "EAManual" ["%"] ; %R,3 376 0% EAFreguencer ctrl output if manual mode
%HR377 : "HeatCoilMode" [""] ; %X,3 377 2 Mode Heating: 0=Off 1=Manual 2=Auto
%HR378 : "HeatCoilManual" [""] ; %R,3 378 0 Heating ctrl output if manual mode
%HR379 : "ExchCoilMode" [""] ; %X,3 379 2 Mode Exchanger: 0=Off 1=Manual 2=Auto
%HR380 : "ExchCoilManual" [""] ; %R,3 380 0 Exchanger ctrl output if manual mode
%HR381 : "CoolCoilMode" [""] ; %X,3 381 2 Mode Cooling: 0=Off 1=Manual 2=Auto
%HR382 : "CoolCoilManual" [""] ; %R,3 382 0 Cooling controller output if manual mode
%HR383 : "HumidityPIDMode"[""] ; %X,3 383 2 Mode Humidification: 0=Off 1=Manual 2=Auto
%HR384 : "HumidityPIDMout"[""] ; %R,3 384 0 Humidification ctrl output if manual mode
%HR385 : "HeatPumpMode" [""] ; %X,3 385 2 Mode P1-Heating: 0=Manual off 1=Manual on 2=Auto
%HR386 : "ExchPumpMode" [""] ; %X,3 386 2 Mode P1-Exchanger
%HR387 : "CoolPumpMode" [""] ; %X,3 387 2 Mode P1-Cooling
%HR388 : "FireDamperMode" [""] ; %X,3 388 2 Mode fire damper: 0=Close 1=Open 2=Auto
%HR389 : "Fre.AirDampMode"[""] ; %X,3 389 2 Mode fresh air damper
%HR390 : "Rec.AirDampMode"[""] ; %X,3 390 2 Mode recirculation damper
%HR391 : "Ext.AirDampMode"[""] ; %X,3 391 2 Mode extract air damper
%HR392 : "OutDoorTemp" [""] ; %R,3 392 Outdoor temperature
% ; %
%HR393 : "FanFullSpeed" [""] ; %X,3 393 4 Manual/Auto Full Speed time channel 0=Man.Off 1=Man.On 2=Forc.Off 3=Forc.On 4=Auto
%HR394 : "FanHalfSpeed" [""] ; %X,3 394 4 Manual/Auto Half Speed time channel
%HR395 : "ExtraTimeGroup1"[""] ; %X,3 395 4 Manual/Auto Timer 1
%HR396 : "ExtraTimeGroup2"[""] ; %X,3 396 4 Manual/Auto Timer 2
%HR397 : "ExtraTimeGroup3"[""] ; %X,3 397 4 Manual/Auto Timer 3
%HR398 : "ExtraTimeGroup4"[""] ; %X,3 398 4 Manual/Auto Timer 4
%HR399 : "ExtraTimeGroup5"[""] ; %X,3 399 4 Manual/Auto Timer 5
% ; %
%HR400 : "AlarmAcknowl." [""] ; %X,3 400 255 External alarm acknowledge
%HR401 : "AlarmBlock" [""] ; %X,3 401 255 External alarm blocking
%HR402 : "AlarmUnBlock" [""] ; %X,3 402 255 External alarm unblocking
% ; %
HR403 : "Gräns V-pump PÅ"["°C"] ; %R,3 403 10°C If lower outdoortemp the heating pump is not stoped
%HR404 : "SASetpointMax" ["°C"] ; %R,3 404 Max limit of supply setpoint when cascade control
%HR405 : "SASetpointMin" ["°C"] ; %R,3 405 Min limit of supply setpoint when cascade control
% ; %
%HR406 : "Sekund" ; %X,3 406 Second 0-59
%HR407 : "Minut" ; %X,3 407 Minute 0-59
%HR408 : "Timme" ; %X,3 408 Hour 0-23
%HR409 : "Veckodag" ; %X,3 409 Day of Week 1-7, 1=Monday
%HR410 : "Vecka" ; %X,3 410 Week number 1-53
%HR411 : "Datum" ; %X,3 411 Day of month 1-31
%HR412 : "Månad" ; %X,3 412 Month 1-12
%HR413 : "År" ; %X,3 413 Year 0-99
% Input registers (function 4)
IR1 : "Utetemperatur" ["°C"]; %1 Outdoor temperature
%IR2 : "VVX effekt" ["%"]; %2 Exch. Efficiency (%)
IR3 : "Driftläge" [""]; %3 (I) Run mode, 0=Stopped,
% % 1=Starting up,
% % 2=Starting reduced speed,
% % 3=Starting full speed,
% % 4=Starting normal run,
% % 5=Normal run,
% % 6=Support control heating,
% % 7=Support control cooling,
% % 8=CO2 run,
% % 9=Night cooling,
% % 10=Full speed stop,
% % 11=Stopping fan
%IR4 : "Drifttid TF" ["h"]; %4 Running time (h) supply air fan
%IR5 : "Drifttid FF" ["h"]; %5 Running time (h) exhaust air fan
%IR6 : "Förlängd drift" ["min"]; %6 (I) Number of minutes extended operation
IR7 : "Temp tilluft" ["°C"]; %7 Supply air temperature
%IR8 : "BV tilluft" ["°C"]; %8 Calculated setpoint supply air
IR9 : "Temp frånluft" ["°C"]; %9 Exhaust air temp
%IR10 : "Temp 1 rum" ["°C"]; %10 Room temperature 1
%IR11 : "Temp 2 rum" ["°C"]; %11 Room temperature 2
%IR12 : "Drifttid Vä/Ky" ["min"]; %12 (I) Number of minutes in ongoing support heating/cooling
%IR13 : "Tryck tilluft" ["Pa"]; %13 Supply air fan pressure (Pa)
%IR14 : "Tryck frånluft" ["Pa"]; %14 Exhaust air fan pressure (Pa)
%IR15 : "Flöde tilluft" ["m3/h"]; %15 Supply air fan flow (m3/h) Scale factor = 1
%IR16 : "Flöde frånluft" ["m3/h"]; %16 Exhaust air fan flow (m3/h) Scale factor = 1
%IR17 : "CO2-halt" ["ppm"]; %17 CO2 (ppm)
%IR18 : "Drifttid CO2" ["min"]; %18 (I) Number of minutes support run time CO2
IR19 : "Temp frysskydd" ["°C"]; %19 Frost protection temp
%IR20 : "Temp frånluft" ["°C"]; %20 Extract air temp
%IR21 : "Temp avfrost." ["°C"]; %21 De-icing temp exchanger
%IR22 : "Drifttid Avis." ["min"]; %22 (I) Number of minutes for ongoing de-icing
%IR23 : "Fuktighet rum" ["%RH"]; %23 Humidity room
%IR24 : "Fuktighet TF" ["%RH"]; %24 Humidity duct
%IR25 : "Temp extra" ["°C"]; %25 Additional sensor / External setpoint
IR119 : "Styrsig VÄRME" ["%"]; %119 Control signal heating Y1 (0-10 V)
IR120 : "Styrsig VVX" ["%"]; %120 Control signal exchanger Y2 (0-10 V)
IR121 : "Styrsig KYLA" ["%"]; %121 Control signal cooler Y3 (0-10 V)
%IR122 : "Styrsig T.FLÄKT" ["%"]; %122 Control signal supply air fan (0-10 V)
%IR123 : "Styrsig F.FLÄKT" ["%"]; %123 Control signal exhaust air fan (0-10 V)
%IR124 : "Styrsig FUKT" ["%"]; %124 Control signal humidity (0-10 V)
%IR125 : "Styrsig SPLIT" ["%"]; %125 Control signal split (0-10 V)
%IR126 : "Reg.sig T.LUFT" ["%"]; %126 Supply controller output (0-100 %)
%IR127 : "Reg.sig F.LUFT" ["%"]; %127 Exhaust controller output (0-100 %)
%IR128 : "Reg.sig T.FLÄKT" ["%"]; %128 SAF controller output (0-100 %)
%IR129 : "Reg.sig F.FLÄKT" ["%"]; %129 EAF controller output (0-100 %)
%IR130 : "Reg.sig FROST" ["%"]; %130 Frost protection controller, stoped (0-100 %)
%IR131 : "Reg.sig CO2" ["%"]; %131 CO2 controller output (0-100 %)
%IR132 : "Reg.sig RUM" ["%"]; %132 Room controller output (0-100 %)
%IR133 : "Reg.sig AVIS" ["%"]; %133 De-icing controller output (0-100 %)
%IR134 : "Reg.sig FUKT" ["%"]; %134 Humidity controller output (0-100 %)
%IR135 : "Rumstemperatur" ["°C"]; %135 Room temperature 1 and 2
% Discrete input function 2 (status)
DI1 : "Helfart aktiv"; %Is set if timechannel full speed is active
DI2 : "Halvfart aktiv"; %Is set if timechannel reduced speed is active
%DI3 : "Timer 1 aktiv"; %Is set if timer output 1 is active
%DI4 : "Timer 1 aktiv"; %Is set if timer output 2 is active
%DI5 : "Timer 1 aktiv"; %Is set if timer output 3 is active
%DI6 : "Timer 1 aktiv"; %Is set if timer output 4 is active
%DI7 : "Timer 1 aktiv"; %Is set if timer output 5 is active
%DI8 : "Helfart extra"; %Is set if extended operation full speed
%DI9 : "Halvfart extra"; %Is set if extended operation half speed
%DI10 : "VärmeReglering"; %Is set if ongoing support heating
%DI11 : "KylaReglering"; %Is set if ongoing support cooling
%DI12 : "CO2-reglering"; %Is set if ongoing support CO2
%DI13 : "AV-Isning"; %Is set if ongoing de-icing
DI14 : "DI1 status"; %Value of DI1
%DI15 : "DI2 status"; %Value of DI2
%DI16 : "DI3 status"; %Value of DI3
%DI17 : "DI4 status"; %Value of DI4
%DI18 : "DI5 status"; %Value of DI5
%DI19 : "DI6 status"; %Value of DI6
%DI20 : "DI7 status"; %Value of DI7
%DI21 : "DI8 status"; %Value of DI8
%DI22 : "UDI1 status"; %Value of UDI1
%DI23 : "UDI2 status"; %Value of UDI2
%DI24 : "UDI3 status"; %Value of UDI3
%DI25 : "UDI4 status"; %Value of UDI4
%DI26 : "DO1 status"; %Value of DO1
%DI27 : "DO2 status"; %Value of DO2
%DI28 : "DO3 status"; %Value of DO3
DI29 : "DO4 status"; %Value of DO4
%DI30 : "DO5 status"; %Value of DO5
%DI31 : "DO6 status"; %Value of DO6
%DI32 : "DO7 status"; %Value of DO7
% Discrete input function 2 (alarms)
AL1 : "Fel TF Fläkt" ; %33 Run Error Supply Air Fan
%AL2 : "Fel TF Fläkt" ; %34 Run Error Exhaust Air Fan
%AL3 : "Fel TF Fläkt" ; %35 Run Error P1-Heater
%AL4 : "Fel TF Fläkt" ; %36 Run Error P1-Cooler
%AL5 : "Fel TF Fläkt" ; %37 Run Error P1-Exchanger
%AL6 : "Larm Filtervakt" ; %38 Filter guard
%AL7 : "Larm Flödesvakt" ; %39 Flow guard
%AL8 : "Larm Frysskydd" ; %40 External frost guard
%AL9 : "Larm Avfrost." ; %41 Deicing pressure guard
%AL10 : "Larm BRAND" ; %42 Fire alarm
%AL11 : "Larm Ext. relä" ; %43 External switch
%AL12 : "Larm Externt" ; %44 External alarm
%AL13 : "Larm TF reg." ; %45 Supply Air control error
%AL14 : "Larm Avv. fukt" ; %46 Deviation Humidity control
%AL15 : "Larm TF HögT." ; %47 High supply air temp
%AL16 : "Larm TF LågT." ; %48 Low supply air temp
%AL17 : "Larm TF Max" ; %49 Supply Air Fan max limit
%AL18 : "Larm TF Min" ; %50 Supply Air Fan min limit
%AL19 : "Larm Rum HögT." ; %51 High room temp
%AL20 : "Larm Rum LågT." ; %52 Low room temp
% Discrete input function 2 (alarms)
%DI81 : "T.FLÄKT helfart" ; %81 Start full speed supply air fan
%DI82 : "F.FLÄKT helfart" ; %82 Start full speed exhaust air fan
%DI83 : "T.FLÄKT halvfart" ; %83 Start half speed supply air fan
%DI84 : "F.FLÄKT halvfart" ; %84 Start half speed exhaust air fan
DI85 : "VÄRME Pumpstart" ; %85 Start Heat Pump
%DI86 : "VVX Start" ; %86 Start Exchanger
%DI87 : "KYLA Pumpstart" ; %87 Start Cool Pump
%DI88 : "T.FLÄKT Frekv." ; %88 Start frequencer supply air fan
%DI89 : "F.FLÄKT Frekv." ; %89 Start frequencer exhaust air fan
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Holdreg1 NAMED "Hold r.1-39" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(03); % Modbus command "03h" Read registers
DATA[2] := RWORD(0); % Start address register
DATA[4] := RWORD(39); % Number of registers
ANSWER SIZE 83
DATA[0] = BYTE(Id); % ID
%DATA[1] = HEX(03); % Modbus command "03h" Read holding registers
%DATA[2] = BYTE(78); % Byte count
DATA[3] -> RWORD(HR1 := DATA / 10;);
%DATA[5] -> RWORD(HR2 := DATA / 10;);
%DATA[7] -> RWORD(HR3 := DATA / 10;);
%DATA[9] -> RWORD(HR4 := DATA / 10;);
%DATA[11] -> RWORD(HR5 := DATA / 10;);
DATA[3] -> RWORD(IF (DATA>=32768) THEN HR1 :=(DATA-65536)/10; ELSE HR1 :=DATA/10; ENDIF;);
%DATA[5] -> RWORD(IF (DATA>=32768) THEN HR2 :=(DATA-65536)/10; ELSE HR2 :=DATA/10; ENDIF;);
%DATA[7] -> RWORD(IF (DATA>=32768) THEN HR3 :=(DATA-65536)/10; ELSE HR3 :=DATA/10; ENDIF;);
%DATA[9] -> RWORD(IF (DATA>=32768) THEN HR4 :=(DATA-65536)/10; ELSE HR4 :=DATA/10; ENDIF;);
%DATA[11] -> RWORD(IF (DATA>=32768) THEN HR5 :=(DATA-65536)/10; ELSE HR5 :=DATA/10; ENDIF;);
%DATA[13] -> RWORD(IF (DATA>=32768) THEN HR6 :=(DATA-65536)/10; ELSE HR6 :=DATA/10; ENDIF;);
%DATA[15] -> RWORD(IF (DATA>=32768) THEN HR7 :=(DATA-65536)/10; ELSE HR7 :=DATA/10; ENDIF;);
%DATA[17] -> RWORD(IF (DATA>=32768) THEN HR8 :=(DATA-65536)/10; ELSE HR8 :=DATA/10; ENDIF;);
%DATA[19] -> RWORD(IF (DATA>=32768) THEN HR9 :=(DATA-65536)/10; ELSE HR9 :=DATA/10; ENDIF;);
%DATA[21] -> RWORD(IF (DATA>=32768) THEN HR10:=(DATA-65536)/10; ELSE HR10:=DATA/10; ENDIF;);
%DATA[23] -> RWORD(IF (DATA>=32768) THEN HR11:=(DATA-65536)/10; ELSE HR11:=DATA/10; ENDIF;);
%DATA[25] -> RWORD(V12:= DATA;);
%DATA[27] -> RWORD(V13:= DATA / 10;);
%DATA[29] -> RWORD(V14:= DATA / 10;);
%DATA[31] -> RWORD(V15:= DATA;);
%DATA[33] -> RWORD(V16:= DATA;);
%DATA[35] -> RWORD(V17:= DATA / 10;);
%DATA[37] -> RWORD(V19:= DATA;);
%DATA[39] -> RWORD(IF (DATA>=32768) THEN V19:=(DATA-65536)/10; ELSE V19:=DATA/10; ENDIF;);
%DATA[41] -> RWORD(IF (DATA>=32768) THEN V20:=(DATA-65536)/10; ELSE V20:=DATA/10; ENDIF;);
%DATA[43] -> RWORD(IF (DATA>=32768) THEN V21:=(DATA-65536)/10; ELSE V21:=DATA/10; ENDIF;);
%DATA[45] -> RWORD(V23:= DATA;);
%DATA[47] -> RWORD(V23:= DATA / 10;);
%DATA[49] -> RWORD(V24:= DATA / 10;);
%DATA[51] -> RWORD(IF (DATA>=32768) THEN V25:=(DATA-65536)/10; ELSE V25:=DATA/10; ENDIF;);
%DATA[53] -> RWORD(HR27:= DATA / 10;);
%DATA[55] -> RWORD(HR28:= DATA;);
%DATA[57] -> RWORD(HR29:= DATA;);
%DATA[59] -> RWORD(HR30:= DATA;);
%DATA[61] -> RWORD(HR31:= DATA;);
%DATA[63] -> RWORD(HR32:= DATA / 10;);
%DATA[65] -> RWORD(IF (DATA>=32768) THEN HR33 :=(DATA-65536)/10; ELSE HR33 :=DATA/10; ENDIF;);
%DATA[67] -> RWORD(HR34:= DATA / 10;);
%DATA[69] -> RWORD(HR35:= DATA / 10;);
%DATA[51] -> RWORD(HR36:= DATA / 10;);
%DATA[53] -> RWORD(HR37:= DATA / 10;);
%DATA[55] -> RWORD(HR38:= DATA / 10;);
%DATA[55] -> RWORD(HR39:= DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM Holdreg2 NAMED "Hold r.368-413" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(03); % Modbus command "03h" Read registers
DATA[2] := RWORD(367); % Start address register
DATA[4] := RWORD(47); % Number of registers
ANSWER SIZE 99
DATA[0] = BYTE(Id); % ID
%DATA[1] = HEX(03); % Modbus command "03h" Read holding registers
%DATA[2] = BYTE(78); % Byte count
DATA[3] -> RWORD(HR368:= DATA;);
%DATA[5] -> RWORD(HR369:= DATA;);
%DATA[7] -> RWORD(HR370:= DATA / 10;);
%DATA[9] -> RWORD(HR371:= DATA;);
%DATA[11] -> RWORD(HR372:= DATA;);
%DATA[13] -> RWORD(HR373:= DATA;);
%DATA[15] -> RWORD(HR374:= DATA / 10;);
%DATA[17] -> RWORD(HR375:= DATA;);
%DATA[19] -> RWORD(HR376:= DATA / 10;);
%DATA[21] -> RWORD(HR377:= DATA;);
%DATA[23] -> RWORD(HR378:= DATA / 10;);
%DATA[25] -> RWORD(HR379:= DATA;);
%DATA[27] -> RWORD(HR380:= DATA / 10;);
%DATA[29] -> RWORD(HR381:= DATA;);
%DATA[31] -> RWORD(HR382:= DATA / 10;);
%DATA[33] -> RWORD(HR383:= DATA;);
%DATA[35] -> RWORD(HR384:= DATA / 10;);
%DATA[37] -> RWORD(HR385:= DATA;);
%DATA[39] -> RWORD(HR386:= DATA;);
%DATA[41] -> RWORD(HR387:= DATA;);
%DATA[43] -> RWORD(HR388:= DATA;);
%DATA[45] -> RWORD(HR389:= DATA;);
%DATA[47] -> RWORD(HR390:= DATA;);
%DATA[49] -> RWORD(HR391:= DATA;);
%DATA[51] -> RWORD(HR392:= DATA / 10;);
%DATA[53] -> RWORD(HR393:= DATA;);
%DATA[55] -> RWORD(HR394:= DATA;);
%DATA[57] -> RWORD(HR395:= DATA;);
%DATA[59] -> RWORD(HR396:= DATA;);
%DATA[61] -> RWORD(HR397:= DATA;);
%DATA[63] -> RWORD(HR398:= DATA;);
%DATA[65] -> RWORD(HR399:= DATA;);
%DATA[67] -> RWORD(HR400:= DATA;);
%DATA[69] -> RWORD(HR401:= DATA;);
%DATA[71] -> RWORD(HR402:= DATA;);
DATA[73] -> RWORD(HR403:= DATA / 10;);
%DATA[75] -> RWORD(HR404:= DATA / 10;);
%DATA[77] -> RWORD(HR405:= DATA / 10;);
%DATA[79] -> RWORD(HR406:= DATA;);
%DATA[81] -> RWORD(HR407:= DATA;);
%DATA[83] -> RWORD(HR408:= DATA;);
%DATA[85] -> RWORD(HR409:= DATA;);
%DATA[87] -> RWORD(HR410:= DATA;);
%DATA[89] -> RWORD(HR411:= DATA;);
%DATA[91] -> RWORD(HR412:= DATA;);
%DATA[93] -> RWORD(HR413:= DATA;);
TIMEOUT 2000
END;
TELEGRAM AnalogSelect1 NAMED "Input r.1-25" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(0); % Start address register
DATA[4] := RWORD(20); % Number of registers
ANSWER SIZE 45
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(40); % Byte count
DATA[3] -> RWORD(IR1 := DATA / 10;);
%DATA[5] -> RWORD(IR2 := DATA / 10;);
DATA[7] -> RWORD(IR3 := DATA;);
%DATA[9] -> RWORD(IR4 := DATA / 10;);
%DATA[11] -> RWORD(IR5 := DATA / 10;);
%DATA[13] -> RWORD(IR6 := DATA;);
DATA[15] -> RWORD(IR7 := DATA / 10;);
%DATA[17] -> RWORD(IR8 := DATA / 10;);
DATA[19] -> RWORD(IR9 := DATA / 10;);
%DATA[21] -> RWORD(IR10:= DATA / 10;);
%DATA[23] -> RWORD(IR11:= DATA / 10;);
%DATA[25] -> RWORD(IR13:= DATA;);
%DATA[27] -> RWORD(IR13:= DATA / 10;);
%DATA[29] -> RWORD(IR14:= DATA / 10;);
%DATA[31] -> RWORD(IR15:= DATA;);
%DATA[33] -> RWORD(IR16:= DATA;);
%DATA[35] -> RWORD(IR17:= DATA / 10;);
%DATA[37] -> RWORD(IR18:= DATA;);
DATA[39] -> RWORD(IR19:= DATA / 10;);
%DATA[41] -> RWORD(IR20:= DATA / 10;);
%DATA[43] -> RWORD(IR21:= DATA / 10;);
%DATA[45] -> RWORD(IR23:= DATA;);
%DATA[47] -> RWORD(IR23:= DATA / 10;);
%DATA[49] -> RWORD(IR24:= DATA / 10;);
%DATA[51] -> RWORD(IR25:= DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM AnalogSelect2 NAMED "Input r.119-135" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(118); % Start address register
DATA[4] := RWORD(17); % Number of registers
ANSWER SIZE 11
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(34); % Byte count
DATA[3] -> RWORD(IR119 := DATA;);
DATA[5] -> RWORD(IR120 := DATA;);
DATA[7] -> RWORD(IR121 := DATA;);
%DATA[9] -> RWORD(IR122 := DATA;);
%DATA[11] -> RWORD(IR123 := DATA;);
%DATA[13] -> RWORD(IR124 := DATA;);
%DATA[15] -> RWORD(IR125 := DATA;);
%DATA[17] -> RWORD(IR126 := DATA / 10;);
%DATA[19] -> RWORD(IR127 := DATA / 10;);
%DATA[21] -> RWORD(IR128 := DATA / 10;);
%DATA[23] -> RWORD(IR129 := DATA / 10;);
%DATA[25] -> RWORD(IR130 := DATA / 10;);
%DATA[27] -> RWORD(IR131 := DATA / 10;);
%DATA[29] -> RWORD(IR132 := DATA / 10;);
%DATA[31] -> RWORD(IR133 := DATA / 10;);
%DATA[33] -> RWORD(IR134 := DATA / 10;);
%DATA[35] -> RWORD(IR135 := DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM DigitalSelect1 NAMED "Digital 1-32" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(32); % Number of inputs
ANSWER SIZE 9
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(3);
DATA[3] -> BYTE(
IF (DATA & 1) THEN DI1 := 1; ELSE DI1 := 0; ENDIF;
IF (DATA & 2) THEN DI2 := 1; ELSE DI2 := 0; ENDIF;
% IF (DATA & 4) THEN DI3 := 1; ELSE DI3 := 0; ENDIF;
% IF (DATA & 8) THEN DI4 := 1; ELSE DI4 := 0; ENDIF;
% IF (DATA & 16) THEN DI5 := 1; ELSE DI5 := 0; ENDIF;
% IF (DATA & 32) THEN DI6 := 1; ELSE DI6 := 0; ENDIF;
% IF (DATA & 64) THEN DI7 := 1; ELSE DI7 := 0; ENDIF;
% IF (DATA & 128) THEN DI8 := 1; ELSE DI8 := 0; ENDIF;
);
DATA[4] -> BYTE(
% IF (DATA & 1) THEN DI9 := 1; ELSE DI9 := 0; ENDIF;
% IF (DATA & 2) THEN DI10:= 1; ELSE DI10:= 0; ENDIF;
% IF (DATA & 4) THEN DI11:= 1; ELSE DI11:= 0; ENDIF;
% IF (DATA & 8) THEN DI12:= 1; ELSE DI12:= 0; ENDIF;
% IF (DATA & 16) THEN DI13:= 1; ELSE DI13:= 0; ENDIF;
IF (DATA & 32) THEN DI14:= 1; ELSE DI14:= 0; ENDIF;
% IF (DATA & 64) THEN DI15:= 1; ELSE DI15:= 0; ENDIF;
% IF (DATA & 128) THEN DI16:= 1; ELSE DI16:= 0; ENDIF;
);
% DATA[5] -> BYTE(
% IF (DATA & 1) THEN DI17:= 1; ELSE DI17:= 0; ENDIF;
% IF (DATA & 2) THEN DI18:= 1; ELSE DI18:= 0; ENDIF;
% IF (DATA & 4) THEN DI19:= 1; ELSE DI19:= 0; ENDIF;
% IF (DATA & 8) THEN DI20:= 1; ELSE DI20:= 0; ENDIF;
% IF (DATA & 16) THEN DI21:= 1; ELSE DI21:= 0; ENDIF;
% IF (DATA & 32) THEN DI22:= 1; ELSE DI22:= 0; ENDIF;
% IF (DATA & 64) THEN DI23:= 1; ELSE DI23:= 0; ENDIF;
% IF (DATA & 128) THEN DI24:= 1; ELSE DI24:= 0; ENDIF;
% );
DATA[6] -> BYTE(
% IF (DATA & 1) THEN DI25:= 1; ELSE DI25:= 0; ENDIF;
% IF (DATA & 2) THEN DI26:= 1; ELSE DI26:= 0; ENDIF;
% IF (DATA & 4) THEN DI27:= 1; ELSE DI27:= 0; ENDIF;
% IF (DATA & 8) THEN DI28:= 1; ELSE DI28:= 0; ENDIF;
IF (DATA & 16) THEN DI29:= 1; ELSE DI29:= 0; ENDIF;
% IF (DATA & 32) THEN DI30:= 1; ELSE DI30:= 0; ENDIF;
% IF (DATA & 64) THEN DI31:= 1; ELSE DI31:= 0; ENDIF;
% IF (DATA & 128) THEN DI32:= 1; ELSE DI32:= 0; ENDIF;
);
TIMEOUT 2000
END;
TELEGRAM DigitalSelect2 NAMED "Digital 81-89" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(80); % Start adress
DATA[4] := RWORD(9); % Number of inputs
ANSWER SIZE 7
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(2);
DATA[3] -> BYTE(
% IF (DATA & 1) THEN DI81 := 1; ELSE DI81 := 0; ENDIF;
% IF (DATA & 2) THEN DI82 := 1; ELSE DI82 := 0; ENDIF;
% IF (DATA & 4) THEN DI83 := 1; ELSE DI83 := 0; ENDIF;
% IF (DATA & 8) THEN DI84 := 1; ELSE DI84 := 0; ENDIF;
IF (DATA & 16) THEN DI85 := 1; ELSE DI85 := 0; ENDIF;
% IF (DATA & 32) THEN DI86 := 1; ELSE DI86 := 0; ENDIF;
% IF (DATA & 64) THEN DI87 := 1; ELSE DI87 := 0; ENDIF;
% IF (DATA & 128) THEN DI88 := 1; ELSE DI88 := 0; ENDIF;
);
% DATA[4] -> BYTE(
% IF (DATA & 1) THEN DI89 := 1; ELSE DI89 := 0; ENDIF;
% );
TIMEOUT 2000
END;
END;
% Neds adjustements to work properly
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Device definition for CORRIGO E Selected inputs
%
% Settings module:
% Parity: None
% Baud: 9600
% Mode: RTU
%
% Note! Telegram for reading Selected inputs
%
% FIXA NEGATIV HANTERING TEMPERATURER
%
%
% Author: Peter Widetun, ABELKO AB Luleå
% History: 2008-10-14 inital version
%
DEVICETYPE CorrigoSelectI NAMED "CorrigoE Input" TYPEID 21280 IS
PARAMETER
Id : "Adress";
PUBLIC
% Holding registers (function 3)
HR1 : "Börv. Tilluft" ["°C"] ; %R,3 1 18°C Setpoint supply air
%HR2 : "Curve1_X1" ["°C"] ; %R,3 2 -20°C Outdoortemp 1 first curvepoint
%HR3 : "Curve1_X2" ["°C"] ; %R,3 3 -15°C Outdoortemp 2
%HR4 : "Curve1_X3" ["°C"] ; %R,3 4 -10°C Outdoortemp 3
%HR5 : "Curve1_X4" ["°C"] ; %R,3 5 -5°C Outdoortemp 4
%HR6 : "Curve1_X5" ["°C"] ; %R,3 6 0°C Outdoortemp 5
%HR7 : "Curve1_X6" ["°C"] ; %R,3 7 5°C Outdoortemp 6
%HR8 : "Curve1_X7" ["°C"] ; %R,3 8 10°C Outdoortemp 7
%HR9 : "Curve1_X8" ["°C"] ; %R,3 9 15°C Outdoortemp 8
%HR10 : "Curve1_Y1" ["°C"] ; %R,3 10 25°C Setpoint 1 first curvepoint
%HR11 : "Curve1_Y2" ["°C"] ; %R,3 11 24°C Setpoint 2
%HR12 : "Curve1_Y3" ["°C"] ; %R,3 12 23°C Setpoint 3
%HR13 : "Curve1_Y4" ["°C"] ; %R,3 13 23°C Setpoint 4
%HR14 : "Curve1_Y5" ["°C"] ; %R,3 14 22°C Setpoint 5
%HR15 : "Curve1_Y6" ["°C"] ; %R,3 15 20°C Setpoint 6
%HR16 : "Curve1_Y7" ["°C"] ; %R,3 16 18°C Setpoint 7
%HR17 : "Curve1_Y8" ["°C"] ; %R,3 17 18°C Setpoint 8
HR18 : "Börv. Frånluft" ["°C"] ; %R,3 18 21°C Setpoint exhaust air
%HR19 : "RoomSetPoint" ["°C"] ; %R,3 19 21°C Room setpoint
%HR20 : "NeedHeatStart" ["°C"] ; %R,3 20 15°C Room temp start intermittent heating
%HR21 : "NeedHeatStop" ["°C"] ; %R,3 21 21°C Room temp stop intermittent heating
%HR22 : "NeedCoolStart" ["°C"] ; %R,3 22 30°C Room temp start intermittent cooling
%HR23 : "NeedCoolStop" ["°C"] ; %R,3 23 28°C Room temp stop intermittent cooling
%HR24 : "SAFullPress.SP" ["Pa"] ; %R,3 24 500Pa Setpoint full speed supply air
%HR25 : "SAHalfPress.SP" ["Pa"] ; %R,3 25 250Pa Setpoint reduced speed supply air
%HR26 : "EAFullPress.SP" ["Pa"] ; %R,3 26 500Pa Setpoint full speed exhaust air
%HR27 : "EAHalfPress.SP" ["Pa"] ; %R,3 27 250Pa Setpoint reduced speed exhaust air
%HR28 : "SAFullAirFlowSP"["m3/h"] ; %R,3 28 2000 m3/h Setpoint full speed supply air. Scale = 1
%HR29 : "SAHalfAirFlowSP"["m3/h"] ; %R,3 29 1000 m3/h Setpoint reduced speed supply air. Scale = 1
%HR30 : "EAFullAirFlowSP"["m3/h"] ; %R,3 30 2000 m3/h Setpoint full speed exhaust air. Scale = 1
%HR31 : "EAHalfAirFlowSP"["m3/h"] ; %R,3 31 1000 m3/h Setpoint reduced speed exhaust air. Scale = 1
%HR32 : "CO2Setpoint" ["ppm"] ; %R,3 32 1000ppm Setpoint CO2
%HR33 : "FrostProtSPStop"["°C"] ; %R,3 33 25°C Setpoint frost protection, Stop
%HR34 : "FrostProtPGain" ["°C"] ; %R,3 34 5° P-Gain frost protection when running (alarm limit+PGain)
%HR35 : "DeIcingSP" ["°C"] ; %R,3 35 -3° Setpoint de-icing temp
%HR36 : "DeIcingHyst" ["°C"] ; %R,3 36 1°C Hysteresis for stop of de-icing
%HR37 : "HumiditySP2 ["%RH"] ; %R,3 37 50%RH Setpoint humidity room
%HR38 : "HumidityMaxDuct"["%RH"] ; %R,3 38 80%RH Max limit humidity duct
%HR39 : "HumidityHyst" ["%RH"] ; %R,3 39 20%RH Hysteresis to start humidity control after stop max limitation
% ; %
%HR40 : "TimeDp0T1" ["HH.MM"]; %R,3 40 Start time 1 Monday (HH.MM) 2 decimaler
%HR41 : "TimeDp0T2" ["HH.MM"]; %R,3 41 Stop time 1 Monday
%HR42 : "TimeDp0T3" ["HH.MM"]; %R,3 42 Start time 2 Monday
%HR43 : "TimeDp0T4" ["HH.MM"]; %R,3 43 Stop time 2 Monday
%HR44 : "TimeDp1T1" ["HH.MM"]; %R,3 44 Start time 1 Tuesday
%HR45 : "TimeDp1T2" ["HH.MM"]; %R,3 45 Stop time 1 Tuesday
%HR46 : "TimeDp1T3" ["HH.MM"]; %R,3 46 Start time 2 Tuesday
%HR47 : "TimeDp1T4" ["HH.MM"]; %R,3 47 Stop time 2 Tuesday
%HR48 : "TimeDp2T1" ["HH.MM"]; %R,3 48 Start time 1 Wedn.
%HR49 : "TimeDp2T2" ["HH.MM"]; %R,3 49 Stop time 1 Wedn.
%HR50 : "TimeDp2T3" ["HH.MM"]; %R,3 50 Start time 2 Wedn.
%HR51 : "TimeDp2T4" ["HH.MM"]; %R,3 51 Stop time 2 Wedn.
%HR52 : "TimeDp3T1" ["HH.MM"]; %R,3 52 Start time 1 Thursday
%HR53 : "TimeDp3T2" ["HH.MM"]; %R,3 53 Stop time 1 Thursday
%HR54 : "TimeDp3T3" ["HH.MM"]; %R,3 54 Start time 2 Thursday
%HR55 : "TimeDp3T4" ["HH.MM"]; %R,3 55 Stop time 2 Thursday
%HR56 : "TimeDp4T1" ["HH.MM"]; %R,3 56 Start time 1 Friday
%HR57 : "TimeDp4T2" ["HH.MM"]; %R,3 57 Stop time 1 Friday
%HR58 : "TimeDp4T3" ["HH.MM"]; %R,3 58 Start time 2 Friday
%HR59 : "TimeDp4T4" ["HH.MM"]; %R,3 59 Stop time 2 Friday
%HR60 : "TimeDp5T1" ["HH.MM"]; %R,3 60 Start time 1 Saturday
%HR61 : "TimeDp5T2" ["HH.MM"]; %R,3 61 Stop time 1 Saturday
%HR62 : "TimeDp5T3" ["HH.MM"]; %R,3 62 Start time 2 Saturday
%HR63 : "TimeDp5T4" ["HH.MM"]; %R,3 63 Stop time 2 Saturday
%HR64 : "TimeDp6T1" ["HH.MM"]; %R,3 64 Start time 1 Sunday
%HR65 : "TimeDp6T2" ["HH.MM"]; %R,3 65 Stop time 1 Sunday
%HR66 : "TimeDp6T3" ["HH.MM"]; %R,3 66 Start time 2 Sunday
%HR67 : "TimeDp6T4" ["HH.MM"]; %R,3 67 Stop time 2 Sunday
%HR68 : "TimeDp7T1" ["HH.MM"]; %R,3 68 Start time 1 Holiday
%HR69 : "TimeDp7T2" ["HH.MM"]; %R,3 69 Stop time 1 Holiday
%HR70 : "TimeDp7T3" ["HH.MM"]; %R,3 70 Start time 2 Holiday
%HR71 : "TimeDp7T4" ["HH.MM"]; %R,3 71 Stop time 2 Holiday Start/stop 72-263
% ; %
%HR264 : "DateHp0From" ["HH.MM"]; %R,3 264 Start date holiday 1 (MM.DD) 2 decimaler
%HR265 : "DateHp0To" ["HH.MM"]; %R,3 265 End date holiday 1 holiday 2-23
%HR310 : "DateHp23From" ["HH.MM"]; %R,3 310 Start date holiday 24
%HR311 : "DateHp23To" ["HH.MM"]; %R,3 311 End date holiday 24
% ; %
%HR312 : "SAPID_P" ["°C"] ; %R,3 312 33 °C P supply air control
%HR313 : "SAPID_I" ["sec"] ; %R,3 313 100 sec I
%HR314 : "EAPID_P" ["°C"] ; %R,3 314 100 °C P exhaust air control
%HR315 : "EAPID_I" ["sec"] ; %R,3 315 300 sec I
%HR316 : "RoomPID_P" ["°C"] ; %R,3 316 100 °C P room air control
%HR317 : "RoomPID_I" ["sec"] ; %R,3 317 300 sec I
%HR318 : "FrostPID_P" ["°C"] ; %R,3 318 100 °C P switchdown mode
%HR319 : "FrostPID_I" ["sec"] ; %R,3 319 100 sec I
%HR320 : "DeIcePID_P" ["°C"] ; %R,3 320 100 °C P de-icing
%HR321 : "DeIcePID_I" ["sec"] ; %R,3 321 100 sec I
%HR322 : "SAPID_P" ["Pa"] ; %R,3 322 500 Pa P pressure control SAF
%HR323 : "SAPID_I" ["sec"] ; %R,3 323 60 sec I
%HR324 : "EAPID_P" ["Pa"] ; %R,3 324 500 Pa P pressure control EAF
%HR325 : "EAPID_I" ["sec"] ; %R,3 325 60 sec I
%HR326 : "SAAirFlowPID_P" ["m3/h"] ; %R,3 326 1000m3/h P flow control SAF
%HR327 : "SAAirFlowPID_I" ["sec"] ; %R,3 327 60 sec I
%HR328 : "EAAirFlowPID_P" ["m3/h"] ; %R,3 328 1000m3/h P flow control EAF
%HR329 : "EAAirFlowPID_I" ["sec"] ; %R,3 329 60 sec I
%HR330 : "HumidityPID_P" ["%RH"] ; %R,3 330 100 %RH P humidity control
%HR331 : "HumidityPID_I" ["sec"] ; %R,3 331 300 sec I
% ; %
%HR332 : "SAMaxDiff" ["°C"] ; %R,3 332 10 °C Max control deviation supply air temp
%HR333 : "SAHiAlarmLimit" ["°C"] ; %R,3 333 30 °C High alarm limit supply air temp
%HR334 : "SALoAlarmLimit" ["°C"] ; %R,3 334 10 °C Low alarm limit supply air temp
%HR335 : "EATempHigh" ["°C"] ; %R,3 335 30 °C High alarm limit exhaust air temp
%HR336 : "EATempLow" ["°C"] ; %R,3 336 10 °C Low alarm limit exhaust air temp
%HR337 : "RoomHighLimit" ["°C"] ; %R,3 337 30 °C High alarm limit room air temp
%HR338 : "RoomLowLimit" ["°C"] ; %R,3 338 10 °C Low alarm limit room air temp
%HR339 : "FrostLimit" ["°C"] ; %R,3 339 7 °C Alarm limit frost protection
%HR340 : "SAMaxDiffPress" ["Pa"] ; %R,3 340 50 Pa Max control deviation pressure SAF
%HR341 : "EAMaxDiffPress" ["Pa"] ; %R,3 341 50 Pa Max control deviation pressure EAF
%HR342 : "Effic.LowLimit" ["%"] ; %R,3 342 50 % Low efficiency
% ; %
%% Alarm delay ; %
%HR343 : "Alarm13Delay" ["min"] ; %I,3 343 30 min control deviation supply air temp
%HR344 : "Alarm15Delay" ["sec"] ; %I,3 344 5 sec high supply air temp
%HR345 : "Alarm16Delay" ["sec"] ; %I,3 345 5 sec low supply air temp
%HR346 : "Alarm21Delay" ["min"] ; %I,3 346 30 min high exhaust air temp
%HR347 : "Alarm22Delay" ["min"] ; %I,3 347 30 min low exhaust air temp
%HR348 : "Alarm19Delay" ["min"] ; %I,3 348 30 min high room air temp
%HR349 : "Alarm20Delay" ["min"] ; %I,3 349 30 min low alarm room air temp
%HR350 : "Alarm25Delay" ["sec"] ; %I,3 350 0 sec frost protection
%HR351 : "Alarm31Delay" ["min"] ; %I,3 351 30 min max control deviation pressure SAF
%HR352 : "Alarm32Delay" ["min"] ; %I,3 352 30 min max control deviation pressure EAF
%HR353 : "Alarm26Delay" ["min"] ; %I,3 353 30 min low efficiency
%HR354 : "Alarm1Delay" ["sec"] ; %I,3 354 120sec malfunction SAF
%HR355 : "Alarm2Delay" ["sec"] ; %I,3 355 120sec malfunction EAF
%HR356 : "Alarm3Delay" ["sec"] ; %I,3 356 5 sec malfunction P1-Heating
%HR357 : "Alarm4Delay" ["sec"] ; %I,3 357 5 sec malfunction P1-Cooling
%HR358 : "Alarm5Delay" ["sec"] ; %I,3 358 20 sec malfunction P1-Exchanger
%HR359 : "Alarm6Delay" ["sec"] ; %I,3 359 180sec filter monitoring
%HR360 : "Alarm7Delay" ["sec"] ; %I,3 360 5 sec flow switch
%HR361 : "Alarm8Delay" ["sec"] ; %I,3 361 0 sec frost protection
%HR362 : "Alarm9Delay" ["sec"] ; %I,3 362 0 sec frost protection digital input
%HR363 : "Alarm10Delay" ["sec"] ; %I,3 363 0 sec fire alarm
%HR364 : "Alarm12Delay" ["sec"] ; %I,3 364 0 sec external alarm
%HR365 : "Alarm23Delay" ["sec"] ; %I,3 365 0 sec electric heater
%HR366 : "Alarm27Delay" ["sec"] ; %I,3 366 5 sec sensor error
%HR367 : "Alarm29Delay" ["sec"] ; %I,3 367 20 sec rotation guard exchanger
% ; %
HR368 : "Driftläge" [""] ; %X,3 368 2 Mode air unit: 0=Man.off 1=Man.on 2=Auto
%HR369 : "SAPIDSelect" [""] ; %X,3 369 2 Supply temp ctrl mode
%HR370 : "SAPIDManSet" ["%"] ; %R,3 370 0% Supply temp ctrl output if manual on mode
%HR371 : "SAAutoMode" [""] ; %X,3 371 3 Mode SAF: 0=Man.off 1=Man.half 2=Man.full 3=Auto
%HR372 : "EAAutoMode" [""] ; %X,3 372 3 Mode EAF
%HR373 : "SAFrequenceMode"[""] ; %X,3 373 3 Mode SAF frequence 0=Man.off 1=Man.half 2=Man.Full 3=Auto
%HR374 : "SAManual" ["%"] ; %R,3 374 0% SAFreguencer ctrl output if manual mode
%HR375 : "EAFrequenceMode"[""] ; %X,3 375 3 Mode EAF frequence 0=Man.off 1=Man.half 2=Man.Full 3=Auto
%HR376 : "EAManual" ["%"] ; %R,3 376 0% EAFreguencer ctrl output if manual mode
%HR377 : "HeatCoilMode" [""] ; %X,3 377 2 Mode Heating: 0=Off 1=Manual 2=Auto
%HR378 : "HeatCoilManual" [""] ; %R,3 378 0 Heating ctrl output if manual mode
%HR379 : "ExchCoilMode" [""] ; %X,3 379 2 Mode Exchanger: 0=Off 1=Manual 2=Auto
%HR380 : "ExchCoilManual" [""] ; %R,3 380 0 Exchanger ctrl output if manual mode
%HR381 : "CoolCoilMode" [""] ; %X,3 381 2 Mode Cooling: 0=Off 1=Manual 2=Auto
%HR382 : "CoolCoilManual" [""] ; %R,3 382 0 Cooling controller output if manual mode
%HR383 : "HumidityPIDMode"[""] ; %X,3 383 2 Mode Humidification: 0=Off 1=Manual 2=Auto
%HR384 : "HumidityPIDMout"[""] ; %R,3 384 0 Humidification ctrl output if manual mode
%HR385 : "HeatPumpMode" [""] ; %X,3 385 2 Mode P1-Heating: 0=Manual off 1=Manual on 2=Auto
%HR386 : "ExchPumpMode" [""] ; %X,3 386 2 Mode P1-Exchanger
%HR387 : "CoolPumpMode" [""] ; %X,3 387 2 Mode P1-Cooling
%HR388 : "FireDamperMode" [""] ; %X,3 388 2 Mode fire damper: 0=Close 1=Open 2=Auto
%HR389 : "Fre.AirDampMode"[""] ; %X,3 389 2 Mode fresh air damper
%HR390 : "Rec.AirDampMode"[""] ; %X,3 390 2 Mode recirculation damper
%HR391 : "Ext.AirDampMode"[""] ; %X,3 391 2 Mode extract air damper
%HR392 : "OutDoorTemp" [""] ; %R,3 392 Outdoor temperature
% ; %
%HR393 : "FanFullSpeed" [""] ; %X,3 393 4 Manual/Auto Full Speed time channel 0=Man.Off 1=Man.On 2=Forc.Off 3=Forc.On 4=Auto
%HR394 : "FanHalfSpeed" [""] ; %X,3 394 4 Manual/Auto Half Speed time channel
%HR395 : "ExtraTimeGroup1"[""] ; %X,3 395 4 Manual/Auto Timer 1
%HR396 : "ExtraTimeGroup2"[""] ; %X,3 396 4 Manual/Auto Timer 2
%HR397 : "ExtraTimeGroup3"[""] ; %X,3 397 4 Manual/Auto Timer 3
%HR398 : "ExtraTimeGroup4"[""] ; %X,3 398 4 Manual/Auto Timer 4
%HR399 : "ExtraTimeGroup5"[""] ; %X,3 399 4 Manual/Auto Timer 5
% ; %
%HR400 : "AlarmAcknowl." [""] ; %X,3 400 255 External alarm acknowledge
%HR401 : "AlarmBlock" [""] ; %X,3 401 255 External alarm blocking
%HR402 : "AlarmUnBlock" [""] ; %X,3 402 255 External alarm unblocking
% ; %
HR403 : "Gräns V-pump PÅ"["°C"] ; %R,3 403 10°C If lower outdoortemp the heating pump is not stoped
%HR404 : "SASetpointMax" ["°C"] ; %R,3 404 Max limit of supply setpoint when cascade control
%HR405 : "SASetpointMin" ["°C"] ; %R,3 405 Min limit of supply setpoint when cascade control
% ; %
%HR406 : "Sekund" ; %X,3 406 Second 0-59
%HR407 : "Minut" ; %X,3 407 Minute 0-59
%HR408 : "Timme" ; %X,3 408 Hour 0-23
%HR409 : "Veckodag" ; %X,3 409 Day of Week 1-7, 1=Monday
%HR410 : "Vecka" ; %X,3 410 Week number 1-53
%HR411 : "Datum" ; %X,3 411 Day of month 1-31
%HR412 : "Månad" ; %X,3 412 Month 1-12
%HR413 : "År" ; %X,3 413 Year 0-99
% Input registers (function 4)
IR1 : "Utetemperatur" ["°C"]; %1 Outdoor temperature
%IR2 : "VVX effekt" ["%"]; %2 Exch. Efficiency (%)
IR3 : "Driftläge" [""]; %3 (I) Run mode, 0=Stopped,
% % 1=Starting up,
% % 2=Starting reduced speed,
% % 3=Starting full speed,
% % 4=Starting normal run,
% % 5=Normal run,
% % 6=Support control heating,
% % 7=Support control cooling,
% % 8=CO2 run,
% % 9=Night cooling,
% % 10=Full speed stop,
% % 11=Stopping fan
%IR4 : "Drifttid TF" ["h"]; %4 Running time (h) supply air fan
%IR5 : "Drifttid FF" ["h"]; %5 Running time (h) exhaust air fan
%IR6 : "Förlängd drift" ["min"]; %6 (I) Number of minutes extended operation
IR7 : "Temp tilluft" ["°C"]; %7 Supply air temperature
%IR8 : "BV tilluft" ["°C"]; %8 Calculated setpoint supply air
IR9 : "Temp frånluft" ["°C"]; %9 Exhaust air temp
%IR10 : "Temp 1 rum" ["°C"]; %10 Room temperature 1
%IR11 : "Temp 2 rum" ["°C"]; %11 Room temperature 2
%IR12 : "Drifttid Vä/Ky" ["min"]; %12 (I) Number of minutes in ongoing support heating/cooling
%IR13 : "Tryck tilluft" ["Pa"]; %13 Supply air fan pressure (Pa)
%IR14 : "Tryck frånluft" ["Pa"]; %14 Exhaust air fan pressure (Pa)
%IR15 : "Flöde tilluft" ["m3/h"]; %15 Supply air fan flow (m3/h) Scale factor = 1
%IR16 : "Flöde frånluft" ["m3/h"]; %16 Exhaust air fan flow (m3/h) Scale factor = 1
%IR17 : "CO2-halt" ["ppm"]; %17 CO2 (ppm)
%IR18 : "Drifttid CO2" ["min"]; %18 (I) Number of minutes support run time CO2
IR19 : "Temp frysskydd" ["°C"]; %19 Frost protection temp
%IR20 : "Temp frånluft" ["°C"]; %20 Extract air temp
%IR21 : "Temp avfrost." ["°C"]; %21 De-icing temp exchanger
%IR22 : "Drifttid Avis." ["min"]; %22 (I) Number of minutes for ongoing de-icing
%IR23 : "Fuktighet rum" ["%RH"]; %23 Humidity room
%IR24 : "Fuktighet TF" ["%RH"]; %24 Humidity duct
%IR25 : "Temp extra" ["°C"]; %25 Additional sensor / External setpoint
IR119 : "Styrsig VÄRME" ["%"]; %119 Control signal heating Y1 (0-10 V)
IR120 : "Styrsig VVX" ["%"]; %120 Control signal exchanger Y2 (0-10 V)
IR121 : "Styrsig KYLA" ["%"]; %121 Control signal cooler Y3 (0-10 V)
%IR122 : "Styrsig T.FLÄKT" ["%"]; %122 Control signal supply air fan (0-10 V)
%IR123 : "Styrsig F.FLÄKT" ["%"]; %123 Control signal exhaust air fan (0-10 V)
%IR124 : "Styrsig FUKT" ["%"]; %124 Control signal humidity (0-10 V)
%IR125 : "Styrsig SPLIT" ["%"]; %125 Control signal split (0-10 V)
%IR126 : "Reg.sig T.LUFT" ["%"]; %126 Supply controller output (0-100 %)
%IR127 : "Reg.sig F.LUFT" ["%"]; %127 Exhaust controller output (0-100 %)
%IR128 : "Reg.sig T.FLÄKT" ["%"]; %128 SAF controller output (0-100 %)
%IR129 : "Reg.sig F.FLÄKT" ["%"]; %129 EAF controller output (0-100 %)
%IR130 : "Reg.sig FROST" ["%"]; %130 Frost protection controller, stoped (0-100 %)
%IR131 : "Reg.sig CO2" ["%"]; %131 CO2 controller output (0-100 %)
%IR132 : "Reg.sig RUM" ["%"]; %132 Room controller output (0-100 %)
%IR133 : "Reg.sig AVIS" ["%"]; %133 De-icing controller output (0-100 %)
%IR134 : "Reg.sig FUKT" ["%"]; %134 Humidity controller output (0-100 %)
%IR135 : "Rumstemperatur" ["°C"]; %135 Room temperature 1 and 2
% Discrete input function 2 (status)
DI1 : "Helfart aktiv"; %Is set if timechannel full speed is active
DI2 : "Halvfart aktiv"; %Is set if timechannel reduced speed is active
%DI3 : "Timer 1 aktiv"; %Is set if timer output 1 is active
%DI4 : "Timer 1 aktiv"; %Is set if timer output 2 is active
%DI5 : "Timer 1 aktiv"; %Is set if timer output 3 is active
%DI6 : "Timer 1 aktiv"; %Is set if timer output 4 is active
%DI7 : "Timer 1 aktiv"; %Is set if timer output 5 is active
%DI8 : "Helfart extra"; %Is set if extended operation full speed
%DI9 : "Halvfart extra"; %Is set if extended operation half speed
%DI10 : "VärmeReglering"; %Is set if ongoing support heating
%DI11 : "KylaReglering"; %Is set if ongoing support cooling
%DI12 : "CO2-reglering"; %Is set if ongoing support CO2
%DI13 : "AV-Isning"; %Is set if ongoing de-icing
DI14 : "DI1 status"; %Value of DI1
%DI15 : "DI2 status"; %Value of DI2
%DI16 : "DI3 status"; %Value of DI3
%DI17 : "DI4 status"; %Value of DI4
%DI18 : "DI5 status"; %Value of DI5
%DI19 : "DI6 status"; %Value of DI6
%DI20 : "DI7 status"; %Value of DI7
%DI21 : "DI8 status"; %Value of DI8
%DI22 : "UDI1 status"; %Value of UDI1
%DI23 : "UDI2 status"; %Value of UDI2
%DI24 : "UDI3 status"; %Value of UDI3
%DI25 : "UDI4 status"; %Value of UDI4
%DI26 : "DO1 status"; %Value of DO1
%DI27 : "DO2 status"; %Value of DO2
%DI28 : "DO3 status"; %Value of DO3
DI29 : "DO4 status"; %Value of DO4
%DI30 : "DO5 status"; %Value of DO5
%DI31 : "DO6 status"; %Value of DO6
%DI32 : "DO7 status"; %Value of DO7
% Discrete input function 2 (alarms)
AL1 : "Fel TF Fläkt" ; %33 Run Error Supply Air Fan
%AL2 : "Fel TF Fläkt" ; %34 Run Error Exhaust Air Fan
%AL3 : "Fel TF Fläkt" ; %35 Run Error P1-Heater
%AL4 : "Fel TF Fläkt" ; %36 Run Error P1-Cooler
%AL5 : "Fel TF Fläkt" ; %37 Run Error P1-Exchanger
%AL6 : "Larm Filtervakt" ; %38 Filter guard
%AL7 : "Larm Flödesvakt" ; %39 Flow guard
%AL8 : "Larm Frysskydd" ; %40 External frost guard
%AL9 : "Larm Avfrost." ; %41 Deicing pressure guard
%AL10 : "Larm BRAND" ; %42 Fire alarm
%AL11 : "Larm Ext. relä" ; %43 External switch
%AL12 : "Larm Externt" ; %44 External alarm
%AL13 : "Larm TF reg." ; %45 Supply Air control error
%AL14 : "Larm Avv. fukt" ; %46 Deviation Humidity control
%AL15 : "Larm TF HögT." ; %47 High supply air temp
%AL16 : "Larm TF LågT." ; %48 Low supply air temp
%AL17 : "Larm TF Max" ; %49 Supply Air Fan max limit
%AL18 : "Larm TF Min" ; %50 Supply Air Fan min limit
%AL19 : "Larm Rum HögT." ; %51 High room temp
%AL20 : "Larm Rum LågT." ; %52 Low room temp
% Discrete input function 2 (alarms)
%DI81 : "T.FLÄKT helfart" ; %81 Start full speed supply air fan
%DI82 : "F.FLÄKT helfart" ; %82 Start full speed exhaust air fan
%DI83 : "T.FLÄKT halvfart" ; %83 Start half speed supply air fan
%DI84 : "F.FLÄKT halvfart" ; %84 Start half speed exhaust air fan
DI85 : "VÄRME Pumpstart" ; %85 Start Heat Pump
%DI86 : "VVX Start" ; %86 Start Exchanger
%DI87 : "KYLA Pumpstart" ; %87 Start Cool Pump
%DI88 : "T.FLÄKT Frekv." ; %88 Start frequencer supply air fan
%DI89 : "F.FLÄKT Frekv." ; %89 Start frequencer exhaust air fan
PRIVATE
BAUDRATE 9600;
CHECKSUM MODBUS SWAPPED;
TELEGRAM Holdreg1 NAMED "Hold r.1-39" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(03); % Modbus command "03h" Read registers
DATA[2] := RWORD(0); % Start address register
DATA[4] := RWORD(39); % Number of registers
ANSWER SIZE 83
DATA[0] = BYTE(Id); % ID
%DATA[1] = HEX(03); % Modbus command "03h" Read holding registers
%DATA[2] = BYTE(78); % Byte count
DATA[3] -> RWORD(HR1 := DATA / 10;);
%DATA[5] -> RWORD(HR2 := DATA / 10;);
%DATA[7] -> RWORD(HR3 := DATA / 10;);
%DATA[9] -> RWORD(HR4 := DATA / 10;);
%DATA[11] -> RWORD(HR5 := DATA / 10;);
DATA[3] -> RWORD(IF (DATA>=32768) THEN HR1 :=(DATA-65536)/10; ELSE HR1 :=DATA/10; ENDIF;);
%DATA[5] -> RWORD(IF (DATA>=32768) THEN HR2 :=(DATA-65536)/10; ELSE HR2 :=DATA/10; ENDIF;);
%DATA[7] -> RWORD(IF (DATA>=32768) THEN HR3 :=(DATA-65536)/10; ELSE HR3 :=DATA/10; ENDIF;);
%DATA[9] -> RWORD(IF (DATA>=32768) THEN HR4 :=(DATA-65536)/10; ELSE HR4 :=DATA/10; ENDIF;);
%DATA[11] -> RWORD(IF (DATA>=32768) THEN HR5 :=(DATA-65536)/10; ELSE HR5 :=DATA/10; ENDIF;);
%DATA[13] -> RWORD(IF (DATA>=32768) THEN HR6 :=(DATA-65536)/10; ELSE HR6 :=DATA/10; ENDIF;);
%DATA[15] -> RWORD(IF (DATA>=32768) THEN HR7 :=(DATA-65536)/10; ELSE HR7 :=DATA/10; ENDIF;);
%DATA[17] -> RWORD(IF (DATA>=32768) THEN HR8 :=(DATA-65536)/10; ELSE HR8 :=DATA/10; ENDIF;);
%DATA[19] -> RWORD(IF (DATA>=32768) THEN HR9 :=(DATA-65536)/10; ELSE HR9 :=DATA/10; ENDIF;);
%DATA[21] -> RWORD(IF (DATA>=32768) THEN HR10:=(DATA-65536)/10; ELSE HR10:=DATA/10; ENDIF;);
%DATA[23] -> RWORD(IF (DATA>=32768) THEN HR11:=(DATA-65536)/10; ELSE HR11:=DATA/10; ENDIF;);
%DATA[25] -> RWORD(V12:= DATA;);
%DATA[27] -> RWORD(V13:= DATA / 10;);
%DATA[29] -> RWORD(V14:= DATA / 10;);
%DATA[31] -> RWORD(V15:= DATA;);
%DATA[33] -> RWORD(V16:= DATA;);
%DATA[35] -> RWORD(V17:= DATA / 10;);
%DATA[37] -> RWORD(V19:= DATA;);
%DATA[39] -> RWORD(IF (DATA>=32768) THEN V19:=(DATA-65536)/10; ELSE V19:=DATA/10; ENDIF;);
%DATA[41] -> RWORD(IF (DATA>=32768) THEN V20:=(DATA-65536)/10; ELSE V20:=DATA/10; ENDIF;);
%DATA[43] -> RWORD(IF (DATA>=32768) THEN V21:=(DATA-65536)/10; ELSE V21:=DATA/10; ENDIF;);
%DATA[45] -> RWORD(V23:= DATA;);
%DATA[47] -> RWORD(V23:= DATA / 10;);
%DATA[49] -> RWORD(V24:= DATA / 10;);
%DATA[51] -> RWORD(IF (DATA>=32768) THEN V25:=(DATA-65536)/10; ELSE V25:=DATA/10; ENDIF;);
%DATA[53] -> RWORD(HR27:= DATA / 10;);
%DATA[55] -> RWORD(HR28:= DATA;);
%DATA[57] -> RWORD(HR29:= DATA;);
%DATA[59] -> RWORD(HR30:= DATA;);
%DATA[61] -> RWORD(HR31:= DATA;);
%DATA[63] -> RWORD(HR32:= DATA / 10;);
%DATA[65] -> RWORD(IF (DATA>=32768) THEN HR33 :=(DATA-65536)/10; ELSE HR33 :=DATA/10; ENDIF;);
%DATA[67] -> RWORD(HR34:= DATA / 10;);
%DATA[69] -> RWORD(HR35:= DATA / 10;);
%DATA[51] -> RWORD(HR36:= DATA / 10;);
%DATA[53] -> RWORD(HR37:= DATA / 10;);
%DATA[55] -> RWORD(HR38:= DATA / 10;);
%DATA[55] -> RWORD(HR39:= DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM Holdreg2 NAMED "Hold r.368-413" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(03); % Modbus command "03h" Read registers
DATA[2] := RWORD(367); % Start address register
DATA[4] := RWORD(47); % Number of registers
ANSWER SIZE 99
DATA[0] = BYTE(Id); % ID
%DATA[1] = HEX(03); % Modbus command "03h" Read holding registers
%DATA[2] = BYTE(78); % Byte count
DATA[3] -> RWORD(HR368:= DATA;);
%DATA[5] -> RWORD(HR369:= DATA;);
%DATA[7] -> RWORD(HR370:= DATA / 10;);
%DATA[9] -> RWORD(HR371:= DATA;);
%DATA[11] -> RWORD(HR372:= DATA;);
%DATA[13] -> RWORD(HR373:= DATA;);
%DATA[15] -> RWORD(HR374:= DATA / 10;);
%DATA[17] -> RWORD(HR375:= DATA;);
%DATA[19] -> RWORD(HR376:= DATA / 10;);
%DATA[21] -> RWORD(HR377:= DATA;);
%DATA[23] -> RWORD(HR378:= DATA / 10;);
%DATA[25] -> RWORD(HR379:= DATA;);
%DATA[27] -> RWORD(HR380:= DATA / 10;);
%DATA[29] -> RWORD(HR381:= DATA;);
%DATA[31] -> RWORD(HR382:= DATA / 10;);
%DATA[33] -> RWORD(HR383:= DATA;);
%DATA[35] -> RWORD(HR384:= DATA / 10;);
%DATA[37] -> RWORD(HR385:= DATA;);
%DATA[39] -> RWORD(HR386:= DATA;);
%DATA[41] -> RWORD(HR387:= DATA;);
%DATA[43] -> RWORD(HR388:= DATA;);
%DATA[45] -> RWORD(HR389:= DATA;);
%DATA[47] -> RWORD(HR390:= DATA;);
%DATA[49] -> RWORD(HR391:= DATA;);
%DATA[51] -> RWORD(HR392:= DATA / 10;);
%DATA[53] -> RWORD(HR393:= DATA;);
%DATA[55] -> RWORD(HR394:= DATA;);
%DATA[57] -> RWORD(HR395:= DATA;);
%DATA[59] -> RWORD(HR396:= DATA;);
%DATA[61] -> RWORD(HR397:= DATA;);
%DATA[63] -> RWORD(HR398:= DATA;);
%DATA[65] -> RWORD(HR399:= DATA;);
%DATA[67] -> RWORD(HR400:= DATA;);
%DATA[69] -> RWORD(HR401:= DATA;);
%DATA[71] -> RWORD(HR402:= DATA;);
DATA[73] -> RWORD(HR403:= DATA / 10;);
%DATA[75] -> RWORD(HR404:= DATA / 10;);
%DATA[77] -> RWORD(HR405:= DATA / 10;);
%DATA[79] -> RWORD(HR406:= DATA;);
%DATA[81] -> RWORD(HR407:= DATA;);
%DATA[83] -> RWORD(HR408:= DATA;);
%DATA[85] -> RWORD(HR409:= DATA;);
%DATA[87] -> RWORD(HR410:= DATA;);
%DATA[89] -> RWORD(HR411:= DATA;);
%DATA[91] -> RWORD(HR412:= DATA;);
%DATA[93] -> RWORD(HR413:= DATA;);
TIMEOUT 2000
END;
TELEGRAM AnalogSelect1 NAMED "Input r.1-25" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(0); % Start address register
DATA[4] := RWORD(20); % Number of registers
ANSWER SIZE 45
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(40); % Byte count
DATA[3] -> RWORD(IR1 := DATA / 10;);
%DATA[5] -> RWORD(IR2 := DATA / 10;);
DATA[7] -> RWORD(IR3 := DATA;);
%DATA[9] -> RWORD(IR4 := DATA / 10;);
%DATA[11] -> RWORD(IR5 := DATA / 10;);
%DATA[13] -> RWORD(IR6 := DATA;);
DATA[15] -> RWORD(IR7 := DATA / 10;);
%DATA[17] -> RWORD(IR8 := DATA / 10;);
DATA[19] -> RWORD(IR9 := DATA / 10;);
%DATA[21] -> RWORD(IR10:= DATA / 10;);
%DATA[23] -> RWORD(IR11:= DATA / 10;);
%DATA[25] -> RWORD(IR13:= DATA;);
%DATA[27] -> RWORD(IR13:= DATA / 10;);
%DATA[29] -> RWORD(IR14:= DATA / 10;);
%DATA[31] -> RWORD(IR15:= DATA;);
%DATA[33] -> RWORD(IR16:= DATA;);
%DATA[35] -> RWORD(IR17:= DATA / 10;);
%DATA[37] -> RWORD(IR18:= DATA;);
DATA[39] -> RWORD(IR19:= DATA / 10;);
%DATA[41] -> RWORD(IR20:= DATA / 10;);
%DATA[43] -> RWORD(IR21:= DATA / 10;);
%DATA[45] -> RWORD(IR23:= DATA;);
%DATA[47] -> RWORD(IR23:= DATA / 10;);
%DATA[49] -> RWORD(IR24:= DATA / 10;);
%DATA[51] -> RWORD(IR25:= DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM AnalogSelect2 NAMED "Input r.119-135" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(04); % Modbus command "04h" Read registers
DATA[2] := RWORD(118); % Start address register
DATA[4] := RWORD(17); % Number of registers
ANSWER SIZE 11
DATA[0] = BYTE(Id); % ID
DATA[1] = HEX(04); % Modbus command "04h" Read registers
DATA[2] = BYTE(34); % Byte count
DATA[3] -> RWORD(IR119 := DATA;);
DATA[5] -> RWORD(IR120 := DATA;);
DATA[7] -> RWORD(IR121 := DATA;);
%DATA[9] -> RWORD(IR122 := DATA;);
%DATA[11] -> RWORD(IR123 := DATA;);
%DATA[13] -> RWORD(IR124 := DATA;);
%DATA[15] -> RWORD(IR125 := DATA;);
%DATA[17] -> RWORD(IR126 := DATA / 10;);
%DATA[19] -> RWORD(IR127 := DATA / 10;);
%DATA[21] -> RWORD(IR128 := DATA / 10;);
%DATA[23] -> RWORD(IR129 := DATA / 10;);
%DATA[25] -> RWORD(IR130 := DATA / 10;);
%DATA[27] -> RWORD(IR131 := DATA / 10;);
%DATA[29] -> RWORD(IR132 := DATA / 10;);
%DATA[31] -> RWORD(IR133 := DATA / 10;);
%DATA[33] -> RWORD(IR134 := DATA / 10;);
%DATA[35] -> RWORD(IR135 := DATA / 10;);
TIMEOUT 2000
END;
TELEGRAM DigitalSelect1 NAMED "Digital 1-32" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(0); % Start adress
DATA[4] := RWORD(32); % Number of inputs
ANSWER SIZE 9
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(3);
DATA[3] -> BYTE(
IF (DATA & 1) THEN DI1 := 1; ELSE DI1 := 0; ENDIF;
IF (DATA & 2) THEN DI2 := 1; ELSE DI2 := 0; ENDIF;
% IF (DATA & 4) THEN DI3 := 1; ELSE DI3 := 0; ENDIF;
% IF (DATA & 8) THEN DI4 := 1; ELSE DI4 := 0; ENDIF;
% IF (DATA & 16) THEN DI5 := 1; ELSE DI5 := 0; ENDIF;
% IF (DATA & 32) THEN DI6 := 1; ELSE DI6 := 0; ENDIF;
% IF (DATA & 64) THEN DI7 := 1; ELSE DI7 := 0; ENDIF;
% IF (DATA & 128) THEN DI8 := 1; ELSE DI8 := 0; ENDIF;
);
DATA[4] -> BYTE(
% IF (DATA & 1) THEN DI9 := 1; ELSE DI9 := 0; ENDIF;
% IF (DATA & 2) THEN DI10:= 1; ELSE DI10:= 0; ENDIF;
% IF (DATA & 4) THEN DI11:= 1; ELSE DI11:= 0; ENDIF;
% IF (DATA & 8) THEN DI12:= 1; ELSE DI12:= 0; ENDIF;
% IF (DATA & 16) THEN DI13:= 1; ELSE DI13:= 0; ENDIF;
IF (DATA & 32) THEN DI14:= 1; ELSE DI14:= 0; ENDIF;
% IF (DATA & 64) THEN DI15:= 1; ELSE DI15:= 0; ENDIF;
% IF (DATA & 128) THEN DI16:= 1; ELSE DI16:= 0; ENDIF;
);
% DATA[5] -> BYTE(
% IF (DATA & 1) THEN DI17:= 1; ELSE DI17:= 0; ENDIF;
% IF (DATA & 2) THEN DI18:= 1; ELSE DI18:= 0; ENDIF;
% IF (DATA & 4) THEN DI19:= 1; ELSE DI19:= 0; ENDIF;
% IF (DATA & 8) THEN DI20:= 1; ELSE DI20:= 0; ENDIF;
% IF (DATA & 16) THEN DI21:= 1; ELSE DI21:= 0; ENDIF;
% IF (DATA & 32) THEN DI22:= 1; ELSE DI22:= 0; ENDIF;
% IF (DATA & 64) THEN DI23:= 1; ELSE DI23:= 0; ENDIF;
% IF (DATA & 128) THEN DI24:= 1; ELSE DI24:= 0; ENDIF;
% );
DATA[6] -> BYTE(
% IF (DATA & 1) THEN DI25:= 1; ELSE DI25:= 0; ENDIF;
% IF (DATA & 2) THEN DI26:= 1; ELSE DI26:= 0; ENDIF;
% IF (DATA & 4) THEN DI27:= 1; ELSE DI27:= 0; ENDIF;
% IF (DATA & 8) THEN DI28:= 1; ELSE DI28:= 0; ENDIF;
IF (DATA & 16) THEN DI29:= 1; ELSE DI29:= 0; ENDIF;
% IF (DATA & 32) THEN DI30:= 1; ELSE DI30:= 0; ENDIF;
% IF (DATA & 64) THEN DI31:= 1; ELSE DI31:= 0; ENDIF;
% IF (DATA & 128) THEN DI32:= 1; ELSE DI32:= 0; ENDIF;
);
TIMEOUT 2000
END;
TELEGRAM DigitalSelect2 NAMED "Digital 81-89" IS
QUESTION
DATA[0] := BYTE(Id); % Modbus unit address
DATA[1] := HEX(02); % Modbus command "02h" read discrete input (bit)
DATA[2] := RWORD(80); % Start adress
DATA[4] := RWORD(9); % Number of inputs
ANSWER SIZE 7
DATA[0] = BYTE(Id);
DATA[1] = HEX(02);
DATA[2] = BYTE(2);
DATA[3] -> BYTE(
% IF (DATA & 1) THEN DI81 := 1; ELSE DI81 := 0; ENDIF;
% IF (DATA & 2) THEN DI82 := 1; ELSE DI82 := 0; ENDIF;
% IF (DATA & 4) THEN DI83 := 1; ELSE DI83 := 0; ENDIF;
% IF (DATA & 8) THEN DI84 := 1; ELSE DI84 := 0; ENDIF;
IF (DATA & 16) THEN DI85 := 1; ELSE DI85 := 0; ENDIF;
% IF (DATA & 32) THEN DI86 := 1; ELSE DI86 := 0; ENDIF;
% IF (DATA & 64) THEN DI87 := 1; ELSE DI87 := 0; ENDIF;
% IF (DATA & 128) THEN DI88 := 1; ELSE DI88 := 0; ENDIF;
);
% DATA[4] -> BYTE(
% IF (DATA & 1) THEN DI89 := 1; ELSE DI89 := 0; ENDIF;
% );
TIMEOUT 2000
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.