# GUENTNER\_GMMNEXT

## `GUENTNER_GMMNEXT` (FB)

FUNCTION\_BLOCK GUENTNER\_GMMNEXT

InOut:

| Scope       | Name                | Type                                        | Initial                                                    | Comment                                                                                                                                               |
| ----------- | ------------------- | ------------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`               | `BOOL`                                      | TRUE                                                       | Enable / disable of communication ( TRUE = enabled )                                                                                                  |
| Input       | `byUnitId`          | `BYTE`                                      | 0                                                          | Address of the device                                                                                                                                 |
| Input       | `xUpdateActual`     | `BOOL`                                      | FALSE                                                      | <p>Update of actual values ( on each rising edge<br>)</p>                                                                                             |
| Input       | `xUpdateSetp`       | `BOOL`                                      | FALSE                                                      | <p>Update of setpoints ( on each rising edge<br>)</p>                                                                                                 |
| Input       | `xUpdateConfig`     | `BOOL`                                      | FALSE                                                      | <p>Update of configuration ( on each rising<br>edge ) ( read access )</p>                                                                             |
| Input       | `xUpdateInfo`       | `BOOL`                                      | FALSE                                                      | <p>Update of information ( on each rising<br>edge )</p>                                                                                               |
| Input       | `eOpControlMode`    | GUENTNER\_GMMNEXT\_OPERATION\_CONTROL\_MODE | GUENTNER\_GMMNEXT\_OPERATION\_CONTROL\_MODE.AUTO\_INTERNAL | <p>Operating mode of the control — setting ( Holding Register 305<br>)</p>                                                                            |
| Input       | `xManualMode_Man`   | `BOOL`                                      | FALSE                                                      | <p>Enable manual operation in manual mode ( TRUE =<br>manual operation is active ) ( Coil 265 )</p>                                                   |
| Input       | `xManualMode_Inv`   | `BOOL`                                      | FALSE                                                      | <p>Enable inverse operation in manual mode ( TRUE =<br>inverse operation is active ) ( Coil 266 )</p>                                                 |
| Input       | `xNightLimit`       | `BOOL`                                      | FALSE                                                      | <p>Enable night limitation via the internal timer<br>( TRUE = night limitation enabled ) ( Coil 268 )</p>                                             |
| Input       | `rManualModeSetp`   | `REAL`                                      | 0.0                                                        | <p>Control signal for the fans in manual mode ( 0.0 -<br>100.0 percent ) ( Holding Register 4099 )</p>                                                |
| Input       | `rNightLimitSetp`   | `REAL`                                      | 0.0                                                        | <p>Control signal for the fans in night mode ( 0.0 -<br>100.0 percent ) ( Holding Register 4100 )</p>                                                 |
| Input       | `rSlaveExtBusSetp`  | `REAL`                                      | 0.0                                                        | <p>Control signal for the fans in control mode<br>‘SLAVE\_EXTERNAL\_BUS’ ( 0.0 - 100.0 percent ) (<br>Holding Register 7762 )</p>                     |
| Input       | `xResError`         | `BOOL`                                      | FALSE                                                      | <p>Reinitialization of the outputs ‘eErrorCodeCom’ to the<br>error-free state ( on each rising edge )</p>                                             |
| Inout       | `ModbusClient`      | `ModbusClientBase`                          |                                                            | Client of the device                                                                                                                                  |
| Output      | `eOpControlModeFb`  | GUENTNER\_GMMNEXT\_OPERATION\_CONTROL\_MODE |                                                            | <p>Operating mode of the control — feedback ( Holding Register<br>305 )</p>                                                                           |
| Output      | `xManualMode_ManFb` | `BOOL`                                      | FALSE                                                      | <p>Status of enable manual operation in manual mode ( TRUE =<br>manual operation is active ) — feedback ( Coil 265 )</p>                              |
| Output      | `xManualMode_InvFb` | `BOOL`                                      | FALSE                                                      | <p>Status of enable inverse operation in manual mode ( TRUE<br>= inverse operation is active ) — feedback ( Coil 266 )</p>                            |
| Output      | `xNightLimitFb`     | `BOOL`                                      | FALSE                                                      | <p>Status of night limitation ( TRUE = night limitation is<br>active ) — feedback ( Discrete Input 267 )</p>                                          |
| Output      | `rExtHumidity`      | `REAL`                                      |                                                            | <p>Relative humidity in the outdoor area ( percent ) ( Input<br>Register 4096 )</p>                                                                   |
| Output      | `rExtTemp`          | `REAL`                                      |                                                            | <p>Temperature in the outdoor area ( in the selected unit ) (<br>Input Register 4097 )</p>                                                            |
| Output      | `rVolFlowFanPerc`   | `REAL`                                      |                                                            | <p>Volume flow of a fan ( percent ) ( Input Register<br>4098 )</p>                                                                                    |
| Output      | `rTotalPowerFans`   | `REAL`                                      |                                                            | <p>Current power consumption of all fans ( watt ) (<br>Input Register 4099 )</p>                                                                      |
| Output      | `rExtWetBulbTemp`   | `REAL`                                      |                                                            | <p>Wet-bulb temperature in the outdoor area ( in the selected<br>unit ) ( Input Register 4100 )</p>                                                   |
| Output      | `xConLoop1Fb`       | `BOOL`                                      | FALSE                                                      | <p>Status of enable of control loop 1 ( TRUE = control loop 1<br>is enabled ) — feedback ( Discrete Input 7171 )</p>                                  |
| Output      | `eConLoop1Medium`   | GUENTNER\_GMMNEXT\_CONTROL\_LOOP\_MEDIUM    |                                                            | Medium of control loop 1 ( Input Register 4001 )                                                                                                      |
| Output      | `rConLoop1Temp`     | `REAL`                                      |                                                            | <p>Actual value of the temperature of control loop 1 ( in the selected<br>unit ) ( = controlled variable ) ( Input Register 7488 )</p>                |
| Output      | `rConLoop1SetpTemp` | `REAL`                                      |                                                            | <p>Setpoint of the temperature of control loop 1 ( in the<br>selected unit ) ( = setpoint ) ( Input Register<br>7498 )</p>                            |
| Output      | `rConLoop1Signal`   | `REAL`                                      |                                                            | <p>Control value for the fans of control loop 1 ( percent<br>) ( = manipulated variable ) ( Input Register 7508 )</p>                                 |
| Output      | `rConLoop1ExitTemp` | `REAL`                                      |                                                            | <p>Actual value of the outlet temperature of control loop 1 ( in the<br>selected unit ) ( Input Register 8158 )</p>                                   |
| Output      | `xAlarmFans`        | `BOOL`                                      | FALSE                                                      | <p>Collective alarm of all fans ( TRUE = at least one<br>fan has a malfunction ) ( Discrete Input 257<br>)</p>                                        |
| Output      | `xAlarmSensors`     | `BOOL`                                      | FALSE                                                      | <p>Collective alarm of all sensors ( TRUE = at least one sensor<br>has a malfunction ) ( Discrete Input 259 )</p>                                     |
| Output      | `xAlarmControl`     | `BOOL`                                      | FALSE                                                      | <p>Collective alarm of the control - signal level - priority 1 ( TRUE<br>= at least one error of this category exists ) (<br>Discrete Input 260 )</p> |
| Output      | `xWarnControl`      | `BOOL`                                      | FALSE                                                      | <p>Collective alarm of the control - signal level - priority 2 ( TRUE<br>= at least one error of this category exists ) (<br>Discrete Input 262 )</p> |
| Output      | `wModbusVersion`    | `WORD`                                      |                                                            | <p>Version of the Modbus interface ( 0 - 65535 ) ( Input<br>Register 0 )</p>                                                                          |
| Output      | `eDeviceType`       | GUENTNER\_GMMNEXT\_DEVICE\_TYPE             |                                                            | Variant of the device ( Input Register 1 )                                                                                                            |
| Output      | `sSerialNum`        | `STRING`                                    |                                                            | Serial number of the device ( Input Register 256 - 271 )                                                                                              |
| Output      | `sSoftwareVer`      | `STRING`                                    |                                                            | Software version of the device ( Input Register 272 - 303 )                                                                                           |
| Output      | `xAlarm`            | `BOOL`                                      | FALSE                                                      | Collective fault ( TRUE = fault )                                                                                                                     |
| Output      | `xAlarmCom`         | `BOOL`                                      | FALSE                                                      | Collective fault - communication ( TRUE = fault )                                                                                                     |
| Output      | `eErrorCodeCom`     | ModbusErrorCode                             |                                                            | Error code - communication ( 0 = no error )                                                                                                           |
| Output      | `xBusy`             | `BOOL`                                      |                                                            | Communication indicator ( TRUE = communication )                                                                                                      |
| Input Const | `eUnitSystem`       | GUENTNER\_GMMNEXT\_UNIT\_SYSTEM             | GUENTNER\_GMMNEXT\_UNIT\_SYSTEM.SI\_DEGREE\_CELSIUS\_BAR   | Specification of the unit system ( Holding Register 1 )                                                                                               |
| Input Const | `diAdrOffset`       | `DINT`                                      | 0                                                          | <p>Offset for calculating Modbus addresses ( from the Modbus<br>registers ) ( Permissible range: -1, 0, +1 )</p>                                      |
| Input Const | `tTimeUpdateInfo`   | `TIME`                                      | TIME#0ms                                                   | <p>Update interval for the processes affected by the input<br>‘xUpdateInfo’</p>                                                                       |
| Input Const | `tTimeUpdateConfig` | `TIME`                                      | TIME#0ms                                                   | <p>Update interval for the processes affected by the input<br>‘xUpdateConfig’</p>                                                                     |
| Input Const | `tTimeUpdateSetp`   | `TIME`                                      | TIME#45s0ms                                                | <p>Update interval for the processes affected by the input<br>‘xUpdateSetp’</p>                                                                       |
| Input Const | `tTimeUpdateActual` | `TIME`                                      | TIME#3s0ms                                                 | <p>Update interval for the processes affected by the input<br>‘xUpdateActual’</p>                                                                     |
