MODBUS JAVA agent for data acquisition
-
I want to develop a JAVA code using MODBUS4J which should discover and read data from modbus controllers present in its network.
Is there a feature like autodiscovery in modbus like that of bacnet?
I have a doubt if my code should be a master or slave?
if master can a network have multiple masters? for network might have a plc or a master modbus controller.
if a slave can a slave communicate with a master to get all data?
-
These seem to be Modbus protocol-specific questions.
Modbus does not have an auto-discovery like BACnet. You can make your own by polling each slave and see if there is any response.
Modbus can only have one master on a network.
Slaves cannot initiate a message they can only respond to a master. -
Hi vijay, welcome to the forum!
if a slave can a slave communicate with a master to get all data?
As Craig said, the slave cannot initiate the communication. But, if the request is encoded in the registers (ProcessImage in Modbus4J speak), and the response is written back from the master, one could say the slave has some control of the communication at the application layer.
@craigweb said in MODBUS JAVA agent for data acquisition:
Modbus can only have one master on a network.
This only applies to serial communication lines. If it's Modbus IP there is no restriction and devices often support concurrent connections. Even on a serial line it is possible to have more than one device acting as a master, but there is no token passing like BACnet to avoid collisions on the wire, so generally there's only one device acting as a master on a serial line.
-
@phildunlap thanks a lot.