Hey David,
Looking at your code, the first thing that I notice is that you are only setting about half of your errors. I would first recommend setting up your code so that the error clusters are connected on every vi. Your current code setup would allow for your write VI to execute and then possibly then your event structure followed by the read. Actually these could happen in any order, because your write is not dependant of any of the information coming out of the event structure.
All you need to do is wire the error cluster out of the VIs in the event structure into the input of the write VISA.
However, this just makes for a better application and I am not sure that it would actually fix your pro
blem, but it is worth a try.
The main problem that I see is that you mentioned "The RS485 port is configured in 2-wire tx rdy mode." However, no were in your application are you setting the wire mode. This assumption means that the end user has to make these settings in MAX or the Windows Device Manager. You should add a property node after each VISA Configure Serial Port to set the wire mode. Again make sure you connect the error clusters. It should return an error if you are trying to use a standard RS232 port. If you are using any kind of handshaking, make sure you set it as well.
Hopefully, this will fix your problem.
JoshuaP
National Instruments