HVACModbus Library
Modbus function blocks RTU/TCP from various manufacturers
Placeholder: HVACModbus (Calling function blocks via **HVACModbus.**xyz)
License notice: This library requires the following licenses on the controller: - HVAC Building Automation Package SL from the CODESYS Store. For more information about licensing, please see here.
For the documentation of the HVACModbus library The library was created and tested in the specified CODESYS version. Therefore it is recommended to use this CODESYS version.
Current version
1.1.0.49 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 11.07.2025
Changes
FB 'BELIMO_P_22RTX_1U00X_2_FULL'
Operating mode - parameter 'eEcoBoostOnOffIconMode' = BELIMO_P_22RTX_1U00X_2_ICON_MODE.PRESENCE_BUTTON: The parameter 'xVisuPresence' is now declared as input 'xVisuPresence'. Each rising edge on the parameter 'xVisuPresence' generates a pulse with the time duration 'tTimeButtonPulse' at the output 'xButtonPresence'
Restrictions:
The external FB 'HVAC.Button1' must not be operated with the following parameter settings:
xEnClockButton = false
xEnToggle = false
The two parameters mentioned above must not be changed while online. Reason: The FB 'HVAC.Button1' does not detect parameter changes during online operation
An updated application representation 'BELIMO_P_22RTX_1U00X_2_FULL_ANWENDUNG' has been added.
Adjustment of the documentation
FB 'SPLUSS_RYMASKON_2XX_MOD_V2'
Bug fix in the area of offset determination:
rRoomTempOffset
rRelHumidityOffset
rExtTempOffset
FB 'SPLUSS_RYMASKON_2XX_MOD'
Bug fix in the area of offset determination:
rRoomTempOffset
rRelHumidityOffset
rExtTempOffset
Older versions
1.1.0.48 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 30.05.2025
Changes
FB 'SAMSUNG_INTESIS_IDU_FC04_RXXX0_RXX38'
Reduction from 3 communication operations to one communication operation (FC03: XXX0 - XX38) after testing on a real gateway
FB 'BELIMO_P_22RTX_1U00X_2_FULL'
Operating mode - parameter 'eEcoBoostOnOffIconMode' = BELIMO_P_22RTX_1U00X_2_ICON_MODE.PRESENCE_BUTTON: Each rising edge on the parameter 'xVisuPresence' generates a pulse with the time duration 'tTimeButtonPulse' at the output 'xButtonPresence'. Restrictions:
The external FB 'HVAC.Button1' must not be operated with the following parameter settings:
xEnClockButton = FALSE
xEnToggle = FALSE
The two parameters mentioned above must not be changed during online operation (Reason: The FB 'HVAC.Button1' does not detect parameter changes during online operation)
Adjustment of the documentation
1.1.0.47 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 05/06/2025
New features
FB 'SAMSUNG_INTESIS_IDU_FC04_RXXX0_RXX38'
Changes
Parameter changes of the function blocks of all devices with writable setpoints (initial value). This is intended to ensure that setpoints are transmitted reliably in a timely manner.
old: 'tTimeUpdateSetp' = T#0s
new: 'tTimeUpdateSetp' = T#45s
FB 'BELIMO_CQ24A_BAC_MOD'
Parameter 'eRelPosMode' added
BELIMO_CQ24A_BAC_MOD_RELPOS_MODE.RELATIVE_TO_RMAX: rRelPos: Calculated value relative to parameter 'rMax' in %. Example: rMax = 60.0 %, direct value from device = 50 %, rRelPos = 83.33 %
BELIMO_CQ24A_BAC_MOD_RELPOS_MODE.DEVICE_VALUE: rRelPos: Direct value from the device in %
FB 'ResolveAddressAsync'
new attribute 'hide' added
FB 'TwoPoint'
new attribute 'hide' added
All function blocks: The permissible range for Modbus device addresses is uniformly set to 1..255 (RTU and TCP).
FB 'BELIMO_P_22RTX_1U00X_2_FULL': Operating mode 'PRESENCE_BUTTON' - The parameter 'xEcoIconPresenceButtonMode' defines the function/display of the ECO icon on the RBG:
FALSE: no display / function present
TRUE: display and function present, the operating mode switches with each press of the ECO icon from 'ON_COMFORT' to 'ECO_MODE' and back.
FB 'ModbusClient_TCP': Behavior optimized in the error case 'Number of received user data <> Number of requested user data'.
FB 'ModbusClient_TCP_Fast': optimized in the error case 'Number of received user data <> Number of requested user data'.
1.1.0.46 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 28.11.2024
New features
FB 'FINDER_7M_24_8_230_0212'
FB 'SPLUSS_714X_MOD'
FB 'SPLUSS_724X_MOD'
FB 'SPLUSS_LCD_SHD_MODBUS_EASY'
FB 'BELIMO_EPXXXR2_BAC_FW_4_2_0_MOD'
Changes
FB 'LOYTEC_LSTAT_80X_GX_LX_MOD'
Error in detection of the product code fixed
FB 'ABB_B21_23_24'
Detection of device subversion added (Steel, Bronze, Silver)
Detection of device version added (B21, B23, B24)
Definition of maximum values to represent actually existing measured variables
Function: If an actual value of a measured variable exceeds its assigned maximum value, '0.0' is displayed at the measured variable's output
Adjustment of the Modbus telegrams (Unused registers must not be read)
FB 'OPPERMANN_P_MOD_W16'
FB 'OPPERMANN_HT_MOD_I_XXX'
FB 'OPPERMANN_PV_MOD_ADX'
FB 'OPPERMANN_T_MOD_I_XXX'
FB 'BELIMO_P_22RTX_1U00X_2_FULL'
Bug fix - output 'rOffset'
FB 'BELIMO_P_22RTX_1U00X_2_EASY'
FB removed without replacement
1.1.0.44 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 28.11.2024
New features
FB 'OPPERMANN_HT_MOD_I_XXX'
FB 'OPPERMANN_KRM_X_2_MOD'
FB 'OPPERMANN_MSX_MOD_I_80_XX_X_XXX'
FB 'OPPERMANN_PV_MOD_ADX'
FB 'OPPERMANN_P_MOD_W16'
FB 'OPPERMANN_T_MOD_I_XXX'
FB 'KAMSTRUP_MULTICAL_XX3_DEFAULT'
FB 'THERMOKON_WRF07_TEMP_HUMIDITY'
FB 'THERMOKON_WRF07_TEMP_HUM_AO2V_REV_A_H'
FB 'BELIMO_EPXXXX_FW_3_0_8_MOD
This function block is suitable for all 'EP' valves with firmware 3_0_8 (status 09/2024).
FB DAIKIN_EKMBDXB7V1_IDU_FC16_2000_2143
In this function block only the setpoints of indoor units 1-0 to 3-15 are updated.
Changes
FB 'OPPERMANN_KRM_2_DZ_MOD' and 'OPPERMANN_KRM_X_2_MOD':
Output 'xSmokeAlarm'
Function previously: active if output 'wSensor' ≥ 255
Function now: active if output 'eState' = 'DEVICE_FAULT' or 'DEVICE_ALARM' or 'DEVICE_FAULT_ALARM'
FB 'LOYTEC_LSTAT_80X_GX_LX_MOD'
Automatic detection of the product code added
CO2 sensor and presence detection added
Input 'xResToSetpTempBase' added (on each rising edge the setpoint temperature offset is set to 0.0)
All FBs: Function of the output 'xAlarmCom'
The output becomes active if, continuously for a centrally adjustable time period (global constant 'gc_Parameters.gc_tOnDelayxAlarmCom'), at least one of the following conditions is present:
The connection between the associated client (output 'xConnected' = false) and the connected server is interrupted.
A communication error is detected after the completion of each communication (request and response telegram).
The output becomes inactive if none of the conditions described above are present anymore.
All FBs: Function of the output 'eErrorCodeCom'
The output 'eErrorCodeCom' always holds the last active communication error. It can be reset by a rising edge at the input 'xResError'.
FB 'BELIMO_EVXXXF_FW_3XX_MOD'
Error at output 'eAO' fixed
Error at output 'st'ErrorCodeDev' fixed
FB 'SPLUSS_TM65_MOD_V2' moved to folder 'Reserve'.
FB 'SPLUSS_TM65_MOD_V3' moved to folder 'Reserve'.
1.1.0.39 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 16.09.2024
New features
FB 'DAIKIN_EKMBDXB7V1_IDU_FC04_1000_1191'. This allows part of the indoor unit configuration to be read.
FB 'BELIMO_EVXXX_RX_FW_4_2_0_MOD'
FB 'BELIMO_EVXXX_RX_FW_4_0_UND_4_1_MOD'
FB 'BELIMO_EVXXX_F_FW_3XX_MOD'
Changes
FB 'THERMOKON_WRF06':
Changes in the area of fan stage settings.
FB 'THIES_WSC11_MOD'
Output 'rYYYMMDD' changed from data type REAL to DWORD. Rounding errors during conversion are avoided.
FB 'ABB_B21_23_24'
Counter values were changed from data type REAL to ULINT. Rounding errors during conversion are avoided.
FB 'FINDER_7E_46_8_400_0212'
Counter values were changed from data type REAL to DWORD. Rounding errors during conversion are avoided.
FB 'GRUNDFOS_MAGNA_3_MONO'
Counter values were changed from data type WORD to DWORD. Reason: Avoidance of overflow errors.
The following outputs were added:
rDiffTemp
dwCoolEnergyTotal
dwCoolVolumeTotal
FB 'BELIMO_P_22RTX_1U00X_2_FULL'
Bug in calculation of the room setpoint temperature due to switching of operating modes fixed.
Operating mode: 'OPERATION_MODE': Bug in calculation of the room setpoint temperature when operated at the RBG fixed.
FB 'BELIMO_P_22RTX_1U00X_2_EASY'
Output 'eEcoBoostOnOffIconMode' added to display the current operating mode.
Bug in calculation of the room setpoint temperature due to switching of operating modes fixed.
Operating mode 'OPERATION_MODE: Bug in calculation of the room setpoint temperature when operated at the RBG fixed.
1.1.0.38 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 17.06.2024
New features
new FB 'DAIKIN_EKMBDXB'. Function block for the Modbus interface for up to 64 indoor units.
Changes
FB 'THERMOKON_WRF06':
Bug in the area of analog outputs AO01 and AO02 fixed
Bug in the area of fan stage settings fixed
FB 'SPLUSS_2328_MOD_LCD'
Error in the output of the pressure actual values corrected
1.1.0.37 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 16.05.2024
New features
new FB 'BELIMO_P_22RTX_1U00X_2_FULL'. This FB allows the complete configuration (addresses 110..149) of all parameters in the 'Service' area. Use of the 'Belimo Assistant' app is therefore optional.
new FB 'BELIMO_P_22RTX_1U00X_2_EASY'. This FB reads the complete configuration (addresses 110..149) of all parameters in the 'Service' area (once at startup, on each rising edge at input 'xUpdateConfig' or cyclically at interval 'tTimeUpdateConfig'). The parameters are set in the 'Belimo Assistant' app. The following parameters cannot be set in the app:
eTemperatureUnit (address 120)
eOffsetUnit (address 122)
eDsplIconsHeatCool (address 134)
eWarningIconFunct (address 135)
eWindowIconFunct (address 136)
Mode On/Off Button (address 141)
new FB 'GÜNTER_GMMNEXT'
new FB 'THERMOKON_WRF06'
Changes
FB 'DANFOSS_NOVOCON': outputs 'rAI1' and 'rAI2' added
all FBs with output 'xAlarmCom': The non-existing connection between Modbus-TCP client (FB 'ModbusClient_TCP' or 'ModbusClient_TCP_Fast', output 'xConnected') and Modbus-TCP server is only passed to the output 'xAlarmCom' after a time period of 'gc_tOnDelayxAlarmCom'. Previously the transfer occurred immediately.
FB 'EBM_SERIEN_84_112_150_200_V6_0' and 'EBM_SERIEN_84_112_150_200_V6_3':
Register D103: The default value was changed from 1 to 0
The instance 'Sollwerte_2' is transferred to the new instance 'Konfiguration_5' (because the register addresses are in the EEPROM area and must not be written cyclically)
FB 'EBM_SERIEN_84_112_150_200_V5_0'
The instance 'Sollwerte_1' is transferred to the new instance 'Konfiguration_2' (because the register addresses are in the EEPROM area and must not be written cyclically)
The instance 'Sollwerte_2' is transferred to the new instance 'Konfiguration_3' (because the register addresses are in the EEPROM area and must not be written cyclically)
The instance 'Sollwerte_3' is transferred to the new instance 'Konfiguration_4' (because the register addresses are in the EEPROM area and must not be written cyclically)
1.1.0.36 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 15.01.2024
New features
new FB 'THERMOKON_WRF07_CO2_VOC'
1.1.0.35 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 04.01.2024
New features
Introduction of parameters for measured value adjustment (=offset)
GRUNDFOS_MAGNA_3_MONO
IMI_TA_SLIDER_160
KAMPMANN_FAN_COIL
POWERIO_T1_R100
POWERIO_T1_R100_V2
POWERIO_T1_R300
POWERIO_T1_R310
PRIGNITZ_CIT2
ROSENBERG_FAN_EC_MOTOR
THERMOKON_NOVOS_TOUCH
THERMOKON_NOVOS_TOUCH_V2
THERMOKON_WRF07
THIES_WSC11_MOD
TROX_BM0
TROX_VRU_BUDN
TROX_XM0
AERASGARD SPLUSS_FSFTM_CO2_MOD
AERASGARD SPLUSS_FSFTM_CO2_POTI_MOD (new function block)
HYGRASGARD SPLUSS_FSFTM_MOD
HYGRASGARD SPLUSS_FSFTM_POTI_MOD (new function block)
AERASGARD SPLUSS_KFTM_LQ_CO2_MOD
AERASGARD SPLUSS_AFTM_LQ_CO2_MOD (new function block)
AERASGARD SPLUSS_RFTM_XXX_MOD (new function block)
AERASGARD SPLUSS_RFTM_CO2_POTI_MOD (new function block)
AERASGARD SPLUSS_RFTM_LQ_PS_CO2_WITHOUT_POT_REV2022_MOD
HYGRASGARD SPLUSS_AFTF_MOD
HYGRASGARD SPLUSS_KFTF_MOD
HYGRASGARD SPLUSS_RPFTF_MOD
HYGRASGARD SPLUSS_TW_MOD
HYGRASGARD SPLUSS_VFTF_MOD
PREMASGARD SPLUSS_2327_MOD_LCD
PREMASGARD SPLUSS_2328_MOD_LCD
PREMASGARD SPLUSS_8147_MOD_LCD
PREMASGARD SPLUSS_8148_MOD_LCD
THERMASGARD SPLUSS_ALTM1_MOD
THERMASGARD SPLUSS_ALTM2_MOD
THERMASGARD SPLUSS_ATM2_MOD
THERMASGARD SPLUSS_HFTM_MOD
THERMASGARD SPLUSS_MWTM_MOD
THERMASGARD SPLUSS_RPTM1_MOD
THERMASGARD SPLUSS_RPTM2_MOD
THERMASGARD SPLUSS_TM65_MOD
THERMASGARD SPLUSS_TM65_MOD_V2
THERMASGARD SPLUSS_TM65_MOD_V3
THERMASGARD SPLUSS_RTM1_MOD
SPLUSS_RYMASKON_2XX_MOD
SPLUSS_RYMASKON_2XX_MOD_V2
SPLUSS_RYMASKON_5XX_MOD
SPLUSS_RYMASKON_7XX_MOD
1.1.0.34 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 11.12.2023
New features
Introduction of parameters for measured value adjustment (=offset)
BD_SENSORS_DCT_531
BELIMO_GR24A_MOD_5
BELIMO_LM24A_MOD
BELIMO_LR24A_MOD
BELIMO_LR24A_MOD_V2
BELIMO_NM24A_MOD
BELIMO_NR24A_MOD
BELIMO_NV24A_MOD
BELIMO_PRCA_BAC_S2_T
BELIMO_SF24A_MOD
BELIMO_VRU_D3_BAC_FULL
BELIMO_VSR24A_LP1_MOD
ELSNER_P03_3_MODBUS_MIT_GPS
Changes
FB
1.1.0.32 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 30.11.2023
New features and changes
FB 'SimpleWriteCoil_FC05'. This FB allows writing 1 Coil (FC05)
FB 'SimpleWriteCoils_FC15'. This FB allows writing 2 to 64 Coils (FC15). With the FB 'SimpleWriteValueCoil', however, only 8, 16, 32 or 64 Coils can always be written simultaneously with FC15.
Changes
FB 'SPLUSS_RYMASKON_7XX_MOD': Elimination of errors related to capturing the current room setpoint temperature in the day operation of the RBG.
FB 'SPLUSS_RYMASKON_5XX_MOD': Elimination of errors related to capturing the current room setpoint temperature in the day operation of the RBG.
1.1.0.31 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 30.10.2023
Changes
FB 'DANFOSS_NOVOCON'
When writing the valve type (eValveType), some internal registers of the valve actuator are initialized. By changing the FB, all relevant configuration parameters and outputs are now retransmitted to the valve actuator when the valve type is changed.
1.1.0.30 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 26.09.2023
Fixing errors from version 1.1.0.29 related to the FB 'SimpleReadCoilInput'. Affected methods:
SendReadRequest
OnResponseComplete
1.1.0.29 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 21.09.2023
New features and changes
new FB 'BELIMO_C615QP_B_MOD'
FB 'SIEMENS_PAC_3200' adapted
new FB 'SimpleReadCoilInput'
This new function block allows reading 1 - 64 Coils or Inputs (FC01 / FC02)
With the FB 'SimpleReadValue', however, only 16, 32 or 64 Coils or Inputs can always be read simultaneously
1.1.0.28 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 24.08.2023
New features and changes
new FB 'ModbusClient_TCP_Fast'
This FB corresponds to the previous FB 'ModbusClient_TCP'. Two states of the state machine were removed to increase the transmission rate of Modbus telegrams in the client-server connection.
FB 'DANFOSS_NOVOCON' adapted
FB 'KAMPMANN_FAN_COIL' changed
Registers 198...201 must not be written in one telegram because register 200 is not defined.
Registers 210...215 must not be written in one telegram because registers 212..214 are not defined.
1.1.0.27 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 04.08.2023
New features and changes
new FB 'BELIMO_VSR24A_LP1_MOD'
1.1.0.26 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 17.07.2023
New features
new FB 'SimpleWriteArrayOfWord'
new FB 'SimpleWriteArrayOfInt'
1.1.0.25 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 07.07.2023
New features and changes
new FB 'SimpleReadArray'
FB 'KAMPMANN_FAN_COIL'
Bug in transmission of the virtual room temperature (register 75) fixed
All FBs: Check of pointers for validity
1.1.0.24 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 28.06.2023
New features and changes
FB 'HELIOS_KWL_MODBUS_GATEWAY'
Renaming:
'rSetpFanStage' setpoint fan stage
'rSetpFanStage_Fb' active fan stage
Extension:
'rSetpTemp' setpoint comfort temperature
'rSetpTemp_Fb' feedback setpoint comfort temperature
'xUpdateSetp' update of setpoints
'tTimeUpdateSetp' update interval
'rSetpFanStageMin' active minimum fan stage
new FB 'BELIMO_VRU_D3_BAC_EASY'
new FB 'BELIMO_VRU_D3_BAC_FULL'
All FBs in folder 'Manufacturer Modbus Devices'
The output 'xAlarmCom' becomes active (=TRUE) without time delay if the output 'xConnected' of the corresponding FB 'ModbusClient_TCP' becomes inactive (=FALSE)
Update of the library 'SysSocket' to 3.5.18.40
Update of the library 'SysSocket2' to 3.5.18.40
1.1.0.23 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 16.06.2023
Complete overhaul, bug fixes, functional improvements and migration of the TCP library to the SysSocket2 library.
New features and changes
FB 'ModbusClient_TCP'
The state machine now has more states than before (advantages for troubleshooting, disadvantageous with large task cycle times)
The method 'ReadyForReceive' reliably and quickly detects a broken client-server connection
Input 'xEn' added
Output 'xReady' added
Changes to the parameters 'sHostAddress' or 'wPort' are detected and cause the teardown of the previous and the establishment of the new connection
Number of timeout parameters reduced to 4
Known deficiency: In the 'Ready' state a broken client-server connection is still not detected!
1.1.0.22 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 18.04.2023
New features and changes
FB 'ModbusClient_TCP'
Parameter 'xCheckServer': Initial value = TRUE (cyclic checking of the client-server connection is active)
Parameter 'tTimeCheckServer': Initial value = 60s (cyclic check of the client-server connection every 60s, if xCheckServer = TRUE).
Parameter 'tTimeoutServerConnect' renamed to 'tTimeoutServerConnectMin'
Parameter 'tTimeoutServerConnectMax' (initial value = 24h) added.
After each timeout in the 'CONNECT' state the duration of the next timeout is doubled (maximum value: tTimeoutServerConnectMax)
Changes to the input 'sHostAddress' are detected and cause the reestablishment of the connection.
Changes to the input 'wPort' are detected and cause the reestablishment of the connection.
FB 'SIEMENS_PAC_3200'
Output 'rOperatingHours' (operating hours) added.
1.1.0.21 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 18.04.2023
New features and changes
FB 'ModbusClient_TCP'
Parameter 'xCheckServer': Initial value = TRUE (cyclic checking of the client-server connection is active)
Parameter 'tTimeCheckServer': Initial value = 60s (cyclic check of the client-server connection every 60s, if xCheckServer = TRUE).
Parameter 'tTimeoutServerConnect' renamed to 'tTimeoutServerConnectMin'
Parameter 'tTimeoutServerConnectMax' (initial value = 24h) added.
After each timeout in the 'CONNECT' state the duration of the next timeout is doubled (maximum value: tTimeoutServerConnectMax)
Changes to the input 'sHostAddress' are detected and cause the reestablishment of the connection.
Changes to the input 'wPort' are detected and cause the reestablishment of the connection.
FB 'SIEMENS_PAC_3200'
Output 'rOperatingHours' (operating hours) added.
1.1.0.20 - HVACModbus CODESYS 3.5.17.2 - Download
Release Date 12.08.2022
New features and changes
n.a.
1.0.0.3 - HVACModbus CODESYS 3.5.14.0 - Download
Release Date 12.08.2020
New features and changes
n.a.
Last updated

