--- alias: user-guide-automation-task-core-equipmentconfig tags: - automation tasks description: "This documentation outlines configuring driver connections to equipment through a defined task and its associated parameters" --- # Equipment Configuration :iot-equipment-configuration-lg:{style="font-size: 100px"} The **Equipment Configuration** task defines the configuration parameters for the driver before establishing a connection with the equipment. It replaces the configuration-related functionality that previously existed in the **On Equipment Setup** and **Equipment Setup Result** tasks. ![Screenshot showing a configuration interface for equipment, with fields labeled "path", "citer", and others.](../images/equipment_config.png) !!! note This task results from a split of the Equipment Setup and Equipment Setup Result tasks. It should be used along with: [[user-guide-automation-task-core-driver-event]] and [[user-guide-automation-task-core-driver-command]]. ## Workflows | Data Flow | Control Flow | | :--------: | :---------: | | :material-check:{ style="color: #4DB6AC" } | :material-check:{ style="color: #4DB6AC" } | ## Inputs | Name | Data Type | Description | | -------- | --------- | ------------------ | | Activate | `any` | Activates the task. Typically used to start the driver configuration process. | | `` | As declared by the protocol | One input for each communication parameter of the protocol of the driver, named after the parameter, for example `address` or `path`. A linked value replaces the value of the parameter on the **Communication Parameters** tab. | | ConnectingTimeout, SetupTimeout, ReconnectInterval, HeartbeatInterval | `Integer` | The settings of the same name. A linked value replaces the setting. | ## Outputs | Name | Data Type | Description | | ------- | --------- | ------------------------------------------------------ | | Success | `Boolean` | Returns `true` if the configuration completes successfully. | | Error | `Error` | Provides details if an error occurs during task execution. | ## Settings ![Equipment Configuration Task Settings Wizard](../images/execute_equipment_config_command_settings.png) | Name | Data Type | Default | Description | | ---- | --------- | ------- | ----------- | | Connecting Timeout |`Integer` | 30000 | Time (ms) to wait while establishing a connection. | | Setup Timeout |`Integer` | 10000 | Time (ms) allowed for setup phase to finish. | | Reconnect Interval |`Integer` | 5000 | Time (ms) between connection retries. | | Heartbeat Interval |`Integer` | 60000 | Interval (ms) between `onHeartbeat` triggers. Used to validate connection integrity. Some protocols may not detect connection drops in realtime. | Each protocol driver defines its own communication parameters, displayed in the **Communication Parameters** tab as a list. These values are sent to the driver unless a link overrides them. In `Data Flow`, a value from the tab is sent as text. In `Control Flow`, it is converted to the data type of the parameter, and an empty value is not sent. ## Behavior The **Equipment Configuration** task runs before establishing communication between the driver and the equipment. It defines the connection and setup parameters that the driver will use when communication begins. In a typical workflow, the configuration sequence includes the following steps: 1. Use the **Driver Event OnInitialize** task to handle driver-related initialization events, such as `OnInitialize` or `AutoSetup`. 2. Trigger the **Equipment Configuration** task to set up connection and protocol parameters. 3. Use the **Driver Command** task to issue the `Connect` command to the driver, starting communication with the equipment. This sequence ensures that all required parameters are properly configured before the driver attempts to connect. When the driver is already `Communicating`, the task does not send the parameters to the driver and still emits `Success`, so the driver keeps the parameters it received before. To run one controller on several machines, link the values of each machine from MES into the parameter inputs. See [[tutorials-howto-configureeachmachinefrommes]] and [[operation-guide-connect-iot-runbook#instances-and-names]].