Problem with BMS (Modbus RTU)
I'm in the need for some help, if there's someone who can help it will be greatly appreciated.
I've set up a network as follows, used 1 DGBox and to it connected 2 lines (each aprox 300 m) composed by 61 Modbus RTU controllers from REGIN (http://www.regincontrols.com/en-GB/article/regio-midi---pre-programmed-room-control/rc-c3/1579/10097/10699/#breadcrumbs); 32 connected to one USB on the Box and 29 to the other USB port (using for each line a RS485-USB converter, also from REGIN; this controllers are used to control only the return air temperature on 61 AHU and fancoils, by opening and closing two and three way valves (on/off spring return).
When the Data Source is enabled, and only one controller is enabled, communication is fantastic, it runs like a charm, if another controller is enabled also runs perfectly, problem starts when more controllers are enabled, communication starts to fail and controllers do not respond to master requests.
Data Source Configuration is as follows,
Bit Rate, 9600
Flow control in, none
Flow control out, none
Data bits, 8
Stop bits, 1
Timeout, 3000 ms
I have only 8 points on each controller, for a total of 488 points, that are being polled at a 10 seconds frequency.
Is this normal? Is Modbus this unstable? I really don't know what is going on.
I don't know how to post images here, so if anyone is willing to help I can send images of the configuration of the data sources, devices, points, etc.
Any needed information please just ask, as it is my first BMS there is a chance that I'm failing to do something that needs to be done.
Thanks to all of you guys.
Try setting concurrency to "transport".
Will try right now!
After 5 hs of test it is still running perfectly.
If is not too much to ask can you please explain why this change has affected so dramatically the behaviour of the network?
Thank you very much Matthew.
Concurrency refers to message concurrency in the network. Set to "slave", messages can be sent out to multiple slaves at once, i.e. before replies are received. Obviously this will not work over RS-485, and frankly the implementation of concurrency was always a bit dodgy.
Understood, thanks really for the help, I was defeated and this solved the problem.