Thanks for the suggestion. Rather using Modsim, i used Simply Modbus which is much more detailed and has both client and slave modes.
I first tested my slave device from my PC, and checked the bytes coming from the PC to the slave and the response.
I then setup my PC in slave mode and checked the bytes coming from the RUT955 to the PC when requesting data. the PC received the data, sent a response and the RUT955 correctly received the response. this is great as it means that the RUT955 is definitely working in Modbus RS485 Master mode.
What's very interesting is that the request bytes sent from the RUT955 to the PC match the request bytes sent from the PC to the slave when i'm running successful tests. This means that for some reason my slave device is unable to send data back to the RUT955. I've tried with and without termination resistors on the slave and it doesn't seem to make a difference. I'm stumped.
From PC to slave: Request: [02 03 00 00 00 02 C4 38], Response [02 03 4B 69 C4 31 9D DF]
From RUT955 to slave: Request: [02 03 00 00 02 C4 38], Response = error from RUT955 [No Response from slave]. I wish the test mode would show the actual bytes sent and received so i could confirm if the slave was even trying to respond. All the baud, parity, stop bits, data bits are all the same in all of my tests. There is nothing i can see that would indicate that the slave would not respond to the RUT. This slave also works with other hardware based modbus data loggers, so it seems to be something internal to the RUT. I do not know if my PC USB-RS485 adapter has a built in termination resistor, but i assume that it does not.