Bitpool Edge Modbus
A Node-RED node to communicate with Modbus equipment
Getting Started
This is a standard Node.js module developed specifically to function within the Node-RED ecosystem.
How to Use
Use the following procedure to install this module to your Node-RED instance, or download the pre-themed Bitpool-Edge Docker image that contains all our favourite nodes pre-installed.
Bitpool-Edge Install
- Log into your Bitpool-Edge instance and click the - Hamburgericon, in the top-right corner.
- Select - Manage Palettefrom the drop down menu then click the- Pallete->Installtabs to install.
- Using the search bar type - @bitpoolos/edge-modbusand install the module once displayed.
- Finally, use the left most navigation menu to scroll down to the heading - Bitpool Modbusto reveal available nodes.
Docker Install 🐳
This Modbus module and many other Bitpool developed nodes have been pre-installed for your convenience in a Bitpool themed Node-RED application.
Go here for how to install Bitpool-Edge.
Modbus Nodes
The Modbus library of nodes is broken down into 4x functional blocks.

- device- allows us to create a virtual map of a target Modbus device.
- reader- defines a communication pathway to a Modbus device(s).
- decoder- ensures that returned Modbus register data is correctly formatted.
- display- is an optional component to visualise data for a unique Modbus register.
Basic Workflow

The image above here is an example of linked Modbus nodes on a Flow tab. This is the basic flow of data.
- The ‘Trigger’ node injects a simple timestamp into the - devicenode 'ABB B23 B24'.
- The - devicenode contains a list of Modbus registers with associated information which is sent to the- readernode ‘Modbus Con’.
- The - readernode queues each Modbus register request and manages serial bus arbitration. Each response is then sent to the- decodernode ‘Decoder’.
- The - decodernode handles each request using information stored in the JSON object. This is converted to the correct format as a topic/value pair, then sent to the output.
- Finally, the - displaynode prints the payload to it status field for the user to see.
Basic Workflow Node Properties
- Trigger - this is a standard inject node and is used to initiate a Modbus read. - Payload - set as timestamp but can be any value. 
- Topic - not used. 
 
- Device - description of the target Modbus device. - Name - any meaningful description. 
- Modbus ID - the numeric value of the Modbus address. 
- Registers - Template - the drop-down allows the user to select a predefined templates of Modbus registers. This is a cloud service and is only available if the system has Internet access. An alternative solution is to manage templates via the upload/download templates buttons. 
- Load – the selected template will be loaded into the Modbus Map 
- Filters - By Name - filters user input matching the Name. 
- By Address - filters user input matching the Modbus address. 
 
- Register - Name (mandatory) – forms part of topic structure. 
- Address (mandatory) - address of the Modbus register. 
- Code (mandatory) - Modbus register type (Coil, Register) 
- Multiplier (mandatory) - normally set to 1 (applied to output of Decoder node). 
- Size (mandatory) - vendor specific setting of register data size (applied to output of Decoder node). 
- Format (mandatory) - vendor specific setting of register format (applied to output of Decoder node). 
- Unit Name (optional) - supplemental Unit of Measure field for Display node (e.g. 100Wh). 
- Unit Scale (optional) - supplemental scaling prefix for Display node for (e.g. 100kWh). 
 
- Buttons - Add - adds a register block to the Register Map. 
- Delete - deletes all register blocks from Register Map. 
- Upload - allows a user to upload a previously saved Register Map from the local file system. 
- Download - allows a user to download the current Register Map to the local file system. 
- View - opens browser tab to provide a view of the current Register Map, formatted as JSON. 
 
- Options - General - Group Reads - option to optimize the number of Modbus request being made. A single request can return multiple values if the registers are in a contiguous block. 
 
- Monitoring - Activity - option to show the node activity. 
- Warnings - option to output warnings to the debug tab. 
 
 
 
 
- Reader - defines the client-side connection to the Modbus network. - Name - any meaningful description of the reader node. 
- Connection - Name - any meaningful description of the new client. 
- Type - the connection type to either network socket or serial port. 
- Unit ID - allows multiple nodes to independently share the same Modbus network. 
- Timeout - number of milliseconds the node will wait before a timeout exception is raised. 
- Reconnect - number of milliseconds the node will wait after a timeout exception, before reattempting a connect. 
- Queue Delay - number of milliseconds the node will wait between sending Modbus register requests. 
- Activity - shows the status of the connection to the debug tab. 
 
 
- Decoder - converts packets received from Modbus network to those defined in the Device node (factoring, byte resizing and reordering) - Options - Monitoring - Activity - shows activity of the node. 
- Warnings - outputs any node warnings to the debug tab. 
 
- Converting - Power Factor - option to convert multi quadrant values (-2,-1,0,1, 2) to absolute (0-1). 
- Reals - fixes all decimal point values to 3 significant places. 
 
 
 
- Display - selected Modbus register values will be displayed. - Name - any meaningful description. 
- Register - text field to manually add the Modbus register, if known. 
- Auto-Fill Device - selection to automatically discover upstream Device node. 
- Auto-Fill Register - selection to automatically discover upstream Register name of the Device node. 
- Options - Warnings - option to output any node warnings to the debug tab. 
 
 
Further Information
Now that your Bitpool-Edge is up and running, we have included simple examples flows to demonstrate how to create a basic solution.
- Log into your Bitpool-Edge instance and click the - Hamburgericon, in the top-right corner.
- Select - Manage Palettefrom the drop down menu then click the- Import->Examplestabs to see this node.
- Navigate the ‘Examples flows’ tree and select - @bitpoolos/edge-modbusto reveal the preconfigured examples.
- Click the example you would like to test the click the - Importbutton.
- Place the example nodes on a flow and review the configuration of each node. You will need to make suitable changes for your system. 
- Finally, click the - Saveto test.
Additionally, there is basic helper documentation on each node. Just select a target node and click the
Helptab found at the top right corner of Bitpool-Edge.Hint - the icon looks like a book!
Last updated
Was this helpful?
