Modbus Write

This function block sends values to a Modbus server using a provided Modbus client. Use it to write coils or holding registers from your scenario graph.

πŸ“₯ Inputs

Enable This boolean input controls whether writing is performed. If not provided or False, the block will not attempt to write.

Modbus Client This input expects a client object produced by the Modbus Connect block. Provide a valid client to enable communication.

Data Generic data to write. Accepts a single value or a list (for writing multiple coils/registers).

πŸ“€ Outputs

This function block produces no outputs.

πŸ•ΉοΈ Controls

Address Enter the Modbus register/coils address to write to. Use integer values that match your device map.

Data Type Choose between Coil and Holding Register to select which Modbus resource type will be written.

🎯 Features

  • Supports writing single values or lists to multiple addresses when the device supports it.

  • Lets you choose the target resource type with a simple dropdown: Coil or Holding Register.

  • Respects the Enable input so writing can be controlled from logic or user inputs.

  • Reports errors to the log if writing fails so you can diagnose connection or configuration problems.

βš™οΈ Running mechanism

When the block runs:

  • If the Enable input is False or missing, no write is attempted.

  • If no client is provided at Modbus Client, the block will not perform any write.

  • When enabled with a valid client, the block sends the supplied Data to the address entered in Address using the selected Data Type.

  • Errors (connection problems, invalid address, unsupported data) are reported to the log so you can act accordingly.

πŸ“ Usage instructions

  • Add a Modbus Connect block and connect its Modbus Client output to this block's Modbus Client input.

  • Set Address to the register or coil address you want to write.

  • Select Data Type as Coil for boolean/coils or Holding Register for numeric registers.

  • Feed your data into the Data input (single value or list).

  • Use a Logic Input or other control to toggle Enable when you want the write to occur.

πŸ’‘ Tips and Tricks

  • Use Modbus Connect to produce a reliable client and confirm the connection with Modbus Read before trying to write.

  • Drive the Enable input from a Logic Input or a conditional block (for example Equals / Greater) so writes occur only under desired conditions.

  • Prepare write values using Number Input or by assembling data with blocks like String Merge or Data Write Global / Data Write Local when you need to stage values.

  • If you need to save or export values you write, combine this block with CSV Export or REST API - Post to keep external logs or send notifications.

πŸ› οΈ Troubleshooting

  • No write happening: check that the Enable input is True and that a valid Modbus Client is connected.

  • Invalid address errors: ensure Address is an integer within the device address map and matches the chosen Data Type.

  • Unexpected data format: for Coil use boolean or list of booleans; for Holding Register use numbers or a list of numbers.

  • Write failures: verify connectivity with Modbus Read and confirm the server accepts writes to the target address. Check log messages for details.

Last updated