Hi Peter,
Thanks for the reply! In the end, we managed to get it working, but it's still reading out a receive timeout even though it's reading and writing data correctly.
I originally had three boards hooked together and they were all getting a receive timeout when I'd click to read register 103 (or 1040, so on). I was only reading one register. Then I unplugged the boards and switched in another board, trying to communicate with that. If I remember correctly it was getting the same receive timeout. Then I unhooked that board and reattached the original 3. These then read correctly! No receive timeout. I wrote to register 103 and it worked perfectly.
After that we hooked up 4 more boards together (so 7 boards daisy-chained). When I'd try to communicate with these new boards using Test Modbus I'd get a receive timeout again. But I just went ahead and inputted register 103 as "FF", opened the port, ignored the "receive timeout" message, clicked write, pushed the reset button on the board and then tried opening an output on the board. Every board was set correctly this way (no blinking)!
So things are working and we're happy! But it would still be nice to understand why I'm getting the receive timeout message. Quite likely a setting I've got wrong somewhere.
Thanks,
Sam