How fast device feature of BACRouter improves MSTP token pass rate?

The test criterion is: 115.2kbps, 80m cable. 1 router and 10 mstp master devices, max_master=127, no NPDU traffic on bus, define non used mac as fast device.

Router mac

Fast device timeout config

Other device’s mac

Token pass rate(round/min)

Percentage Base no fast

127

—-

117~126

2301

100%

127

0ms

117~126

4856

211%

127

1ms

117~126

4734

206%

127

2ms

117~126

4473

194%

116

0ms

117~126

4690

204%

116

1ms

117~126

4577

199%

116

2ms

117~126

4343

189%

58

—-

117~126

1777

100%

58

0ms

117~126

4563

257%

58

1ms

117~126

4405

248%

58

2ms

117~126

4071

229%

110

—-

0,11,22,33,44,55,66,77,88,99

1153

100%

110

0ms

0,11,22,33,44,55,66,77,88,99

4037

350%

110

1ms

0,11,22,33,44,55,66,77,88,99

3813

331%

110

2ms

0,11,22,33,44,55,66,77,88,99

3393

294%

Bandwidth of BACnet MSTP

A common problem of BACnet MSTP is low bandwidth utilization. Some researches disclose that more than 50% traffic on MSTP bus is token frame.

Unfortunately, many poor implement of MSTP make it worse. For example, in standard, the Tturnaroud is 40 bits, that is said, on 115200bps, node only need to wait 0.35 millisecond to send frame when it receive token. But in practice, there are a lot of devices wait at lease several milliseconds.

Our implement of MSTP try best to improve bandwidth. In previous laboratory test, we achieve 98.8% bandwidth utilization on our BACnet router. The test criterion is:

115200bps, 4 node with mac address from 0 to 3, max_master set to 3, no NPDU. in theory, the max token relay rate is 960 per seconds. we get 948 per second.

In another test, we send a read property request (23 bytes frame) each second, then get a Reply_Postponed frame, then a  read property response (29 bytes frame). we still get token relay rate of 943 per second.

Update Feb, 2017, We make a stress test for ReadProperty service on above configuration, set max_info_frames to 10 in all devices, 2 devices request, the other 2 devices reply. The result is 153~154 ReadProperty requests are served each second.

Update March,2017. Thank to our detailed runtime info, user could get token pass rate easily. 9 months after we release first firmware, We perform above test again, then get 956.6 per second, 99.6% bandwidth utilization.