wjgoodrich
New member
Hi all,
I have a system of 36 sensor assemblies that I'd like to quickly poll the state of several times per second. Each one of these assemblies includes a Teensy 3.1 board connected to an analog sensor and a half-duplex TI ISO3088 RS-485 chip. The entire system is connected by way of bus using CAT5e Ethernet cables between each assembly, and connected similarly to a Master board/assembly (essentially the same thing). I have no previous experience with the Modbus protocol, but had intended to implement with it. ...until I found that it's likely too slow.
The ISO3088 chips are theoretically able to communicate at 2.5 Mbps, and accordingly the hypothesis was that I would have some headroom to poll all 36 of the sensors (~2-byte payload each) several times per second with no problem, even accounting for start bits, checksums, and all that extra packet stuff.
It seems I'm able to do some pretty fast broadcasting to all the slaves, and even sequential addressing to each slave (~1.8 Mbps). BUT... the second I try to implement a sequential call and response system, I'm back down to 115200 max.
Am I in for a rude awakening, not knowing all the details of Modbus? It seems there is some significant delay in polling each slave, waiting for the response, and then polling the next slave. Is this to be expected? I read this delay could be up to the range of 100ms - 200ms.
Perhaps I can use RS485 without Modbus. Does anyone have experience developing their own simple protocol to poll a bunch of RS485 slaves?
Thanks in advance!
I have a system of 36 sensor assemblies that I'd like to quickly poll the state of several times per second. Each one of these assemblies includes a Teensy 3.1 board connected to an analog sensor and a half-duplex TI ISO3088 RS-485 chip. The entire system is connected by way of bus using CAT5e Ethernet cables between each assembly, and connected similarly to a Master board/assembly (essentially the same thing). I have no previous experience with the Modbus protocol, but had intended to implement with it. ...until I found that it's likely too slow.
The ISO3088 chips are theoretically able to communicate at 2.5 Mbps, and accordingly the hypothesis was that I would have some headroom to poll all 36 of the sensors (~2-byte payload each) several times per second with no problem, even accounting for start bits, checksums, and all that extra packet stuff.
It seems I'm able to do some pretty fast broadcasting to all the slaves, and even sequential addressing to each slave (~1.8 Mbps). BUT... the second I try to implement a sequential call and response system, I'm back down to 115200 max.
Am I in for a rude awakening, not knowing all the details of Modbus? It seems there is some significant delay in polling each slave, waiting for the response, and then polling the next slave. Is this to be expected? I read this delay could be up to the range of 100ms - 200ms.
Perhaps I can use RS485 without Modbus. Does anyone have experience developing their own simple protocol to poll a bunch of RS485 slaves?
Thanks in advance!