Actually the network is radio, but it basically functions as if it were RS-485. Collisions are managed via a timer. The radio modem can hold off transmission if the channel is busy but we usually don't use this feature because interference can prevent a transmission that should occur. We seem to get better performance by letting collisions occur and just using the timed retry. An unsuccessful MRX or MWX starts a timer, when the timer is done a retry occurs. Sort of a crude version of the collision avoidance with Ethernet. Each PLC just listens on it com port, if a Modbus message is received with the proper address the PLC responds, otherwise it ignores the message. If the PLC needs to send an update it just sends the Modbus message and the appropriate listener responds. We can actually mix protocols using this method. There is at one protocol we use that is similar to Modbus but handles more datatypes and has provisions for routing messages. I'm working on doing this with the Do-more. I've gotten as far as having the Do-more receive the packets, next I've got to assemble the packets for transmission.
Are there any plans for high level add on modules supporting additional programming languages?