# H1\_8DO

## `H1_8DO` (FB)

FUNCTION\_BLOCK H1\_8DO EXTENDS SlaveModuleDipSwitchOverwrite IMPLEMENTS ISlaveModule

InOut:

| Scope       | Name                           | Type             | Initial             | Comment                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Inherited from                                                                      |
| ----------- | ------------------------------ | ---------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Input       | `itfModbusConnector`           | IModbusConnector |                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | BaseSlave                                                                           |
| Output      | `xInitRunning`                 | `BOOL`           |                     | <p><code>xInitRunning</code> is <code>TRUE</code>, while the initialization<br>is performed on the first start.</p>                                                                                                                                                                                                                                                                                                                                                                          | BaseSlave                                                                           |
| Output      | `xInitFinished`                | `BOOL`           |                     | <p><code>xInitFinished</code> is <code>TRUE</code>, as soon as on the first start<br>all parameters have been sent to the module.</p>                                                                                                                                                                                                                                                                                                                                                        | BaseSlave                                                                           |
| Output      | `xAlarmCom`                    | `BOOL`           |                     | <p><code>xAlarmCom</code> is <code>TRUE</code>, when there is a<br>communication error.</p>                                                                                                                                                                                                                                                                                                                                                                                                  | BaseSlave                                                                           |
| Output      | `xBusy`                        | `BOOL`           |                     | <p><code>xBusy</code> is <code>TRUE</code>, when a Modbus request is being<br>executed.</p>                                                                                                                                                                                                                                                                                                                                                                                                  | BaseSlave                                                                           |
| Output      | `usiConfiguredSlaveID`         | `USINT`          |                     | Shows the currently set slave ID                                                                                                                                                                                                                                                                                                                                                                                                                                                             | BaseSlave                                                                           |
| Output      | `eError`                       | ERROR            |                     | No error = `ERROR.No_Error`                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | BaseSlave                                                                           |
| Output      | `stDebugOutput`                | DebugOutput      |                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | BaseSlave                                                                           |
| Input       | `xEnable`                      | `BOOL`           | TRUE                | <p>Disables the module and resets all outputs to the<br>default initialization value</p>                                                                                                                                                                                                                                                                                                                                                                                                     | BaseSlaveModule                                                                     |
| Input       | `xReinitModule`                | `BOOL`           |                     | <p>Reinitializes the module and sends all parameters to the<br>module</p>                                                                                                                                                                                                                                                                                                                                                                                                                    | BaseSlaveModule                                                                     |
| Input       | `xResetModule`                 | `BOOL`           |                     | <p>Resets the module, clears the EEPROM memory, performs<br>a lamp test and restarts the module (Warning:<br>Afterwards autobauding is re-enabled)</p>                                                                                                                                                                                                                                                                                                                                       | BaseSlaveModule                                                                     |
| Output      | `wFirmware`                    | `WORD`           |                     | Shows the current firmware of the module                                                                                                                                                                                                                                                                                                                                                                                                                                                     | BaseSlaveModule                                                                     |
| Output      | `xAuto`                        | `BOOL`           |                     | <p><code>FALSE</code> = At least one input and/or one output are<br>in state <code>eManBin <> eManBin.Auto</code>. <code>TRUE</code> = All<br>inputs and outputs have the state eManBin =<br>eManBin.Auto (Note: If overriding by dip<br>switch (hardware) is disabled and the output is in<br>state <code>eManBin <> eManBin.Auto</code>, xAuto remains<br><br><code>TRUE</code>. Evaluation is performed per output.)</p>                                                                  | BaseSlaveModule                                                                     |
| Output      | `xAutoSoftware`                | `BOOL`           |                     | <p><code>FALSE</code> = At least one input and/or output are<br>by parameter (software) in state <code>eManBin <>\<br/>eManBin.Auto</code>. <code>TRUE</code> = All inputs and outputs are<br>by parameter (software) in state <code>eManBin =\<br/>eManBin.Auto</code>.</p>                                                                                                                                                                                                                 | SlaveModuleSoftOverwrite                                                            |
| Output      | `xAutoHardware`                | `BOOL`           |                     | <p><code>FALSE</code> = At least one input and/or output are<br>by dip switch (hardware) in state <code>eManBin <>\<br/>eManBin.Auto</code>. <code>TRUE</code> = All inputs and outputs are<br>by dip switch (hardware) in state <code>eManBin =\<br/>eManBin.Auto</code>. (Note: If overriding by dip<br>switch (hardware) is disabled and the output is in<br>state <code>eManBin <> eManBin.Auto</code>, xAuto remains<br><br><code>TRUE</code>. Evaluation is performed per output.)</p> | SlaveModuleDipSwitchOverwrite                                                       |
| Input       | `xDO1`                         | `BOOL`           |                     | Digital output DO1                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO2`                         | `BOOL`           |                     | Digital output DO2                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO3`                         | `BOOL`           |                     | Digital output DO3                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO4`                         | `BOOL`           |                     | Digital output DO4                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO5`                         | `BOOL`           |                     | Digital output DO5                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO6`                         | `BOOL`           |                     | Digital output DO6                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO7`                         | `BOOL`           |                     | Digital output DO7                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Input       | `xDO8`                         | `BOOL`           |                     | Digital output DO8                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                     |
| Output      | `xDO1_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO2_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO3_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO4_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO5_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO6_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO7_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `xDO8_Fb`                      | `BOOL`           |                     | <p>Feedback of digital output DO1. Takes into account the<br>evaluation of the manual override. Actual value - LED<br>Active = <code>TRUE</code>, LED Inactive = <code>FALSE</code> (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                          |                                                                                     |
| Output      | `eAOO1`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO2`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO3`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO4`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO5`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO6`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO7`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Output      | `eAOO8`                        | eManBin          |                     | <p>Manual - switch position (A)uto (O)ff (O)n (Query is performed<br>at the interval of the specified time of <code>tReadFeedback</code>)</p>                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Input Const | `eDO8_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO8_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO8_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO7_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO7_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO7_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO6_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO6_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO6_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO5_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO5_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO5_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO4_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO4_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO4_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO3_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO3_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO3_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO2_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO2_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO2_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `eDO1_ManBin`                  | eManBin          | eManBin.Auto        | Manual override of the digital output                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                     |
| Input Const | `eDO1_SafeState`               | DOSafeStateMode  | DOSafeStateMode.OFF | State of the output in case of bus failure                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                     |
| Input Const | `xDO1_DeactivateDipSwitch`     | `BOOL`           | FALSE               | <p><code>TRUE</code> = Hardware manual override of the dip switch<br>deactivated</p>                                                                                                                                                                                                                                                                                                                                                                                                         | <p><code>FALSE</code> = Hardware manual override of the dip<br>switch activated</p> |
| Input Const | `xUseSafeStateValueBeforeInit` | `BOOL`           | TRUE                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                     |
| Input Const | `tReadFeedback`                | `TIME`           | TIME#5s0ms          | Polling time for feedback of digital outputs and manual override. (Note: The polling time must not be greater than the time of `tBusTimeout` .)                                                                                                                                                                                                                                                                                                                                              |                                                                                     |
| Input Const | `tSendDelayAfterInit`          | `TIME`           | TIME#0ms            | Delay for sending the outputs                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                     |
| Input Const | `tBusTimeout`                  | `TIME`           | TIME#20s0ms         | `T#0s` = No bus timeout = No SafeState mode                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                                     |
| Input Const | `usiSlaveID`                   | `USINT`          | 10                  | The slave address for the module                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                     |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/en/hvac-modbusio2-lib/funktionsbausteine/h1_8do.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
