Thanks guys for the quick responses.
LARE,
I just toggle that enable bit manually for now, but yes I will add rising edge detection for sure.
My intentions were to use that 3rd position on the manager rather than the card default values. Being 9600 baud, its pretty slow so I set to 100 (10seconds) - %MW102. See 485test2. Did I put in the wrong place? Its array 0..3
I think you nailed it with the bias resistor/cap. Will try this asap.
DRBITBOY
Yes, fixed this. Old school math, my bad!
3rd paremeter is right.
RS-ports have own processor, that is why there is own timeout value on card setting. It is called to hardware timeout (485Test1.jpg)
Hardwire timeout is now original query and 3*retries if no reply from slave.
This means that on communication error you should wait on PLC side at least 4s before sending new message.
(Communication processor sends 4 (original + 3 retries) messages if slave don't reply.)
(Your variable Manager[0].0 is activity bit now. It tells if querys is still active. Send new message only after this bit is goed to false.)
You should see that this activity bit is true for 4s as you don't get reply, after that time it goes to false.
If you adjust software timeout to less than hardware timeout, this leads to that management parameters activity bit is reseted, but communication processor is still waiting reply from slave.
If you now send new query to RS-port. New query is not sended at all or there is collisions on RS-side and you get communication errors.
If you adjust hardware retries to 0 you can send new modbus messages faster if there is multiple slave as timeouting one slave's message takes less time.
10s is more than ok now, even 5s would suit.
You can test reading whit only one address.
Then look PLC RS-port TX led and slave's rx led if there is any. Both should blink.
Afte you get succesful message for one variable change query lenght to 46.
Of course you have swapped allready A and B wires and have 120 ohm resistors on both sides if RS-wiring is long.
If both master and slave leds blink but you get error, change A and B wires. If still no reply and communication settings and slave address is right then it is probably biasing.
p.s TCP communication is allmost same. Only 0.0.0.1 address needs different addressing. If your slave have also TCP port you can test communication without XCA ISO.