Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

ModbusTCP/IP with multiple slave ID's - Preferred Approach?


  • Hello,

    When adding a ModbusIP data source that has multiple slave ID's associated with the single IP, is the preferred approach to have multiple devices and slave ID's under a single data source, or multiple data sources with the same IP each only having a single device/slave ID associated with it?

    Thank you.


  • If your device can support multiple tcp connections you could have more than one data source but generally it's probably better to use one data source. It depends a bit on your polling speed and if there is an advantage to using multiple data sources.


  • Thanks Joel.

    I have multiple slave ID's each a standalone device, but all of the same type. I was thinking about it with the following in mind-

    • The ability to create dynamic dashboards and the required folder structure in point hierarchy

    • The ability to create a device template for easy installation.

    • The ability to easily disable a device if it were offline.

    I am using a serial to Ethernet Modbus gateway which can support multiple connections. With this additional info what approach would you use?


    1. Dynamic Dashboards and required folder structure - You can still build whatever folder structure you like in either case, so you can still query for a group of points based on that. You can also use the device name to differentiate the points whether they're on one data source or many, so you can differentiate them in queries that way too.

    2. Templating - It is possible to create device templating in such a way that it adds to existing data source, but a simple process like... export data source, find replace slave id, modify xids (source and points, and points' dataSourceXid), import... is a very simple templating that you get by configuring the first one. That said, you can just modify the xids of the points and their slave IDs and you would still be able to import new device easily to an existing data source.

    3. Easily disable - To easily disable one slave, it is probably easier if they're their own data sources. That way you can just toggle the data source, rather than all the points (one could also have a script that disables or enables points by slave id, which would work in either condition). The ability to disable whole data source through the UI - and the ability to have a variety of polling rates - is the main advantage I see to multiple data sources.

    4. Multiple connections - I wouldn't expect it to make a big difference. It'll all queue up to get out the wire, so there shouldn't be a polling speed benefit. It could even poll worse if the gateway has some extra fairness policy to enforce.


  • Phil - Thank you for the detailed response. I think I will go the multiple data source route.