MbusSerialServerBaseenableRs485Mode Method |
Enables RS485 mode.
Namespace:
FieldTalk.Modbus.Slave
Assembly:
FieldTalk.Modbus.Slave (in FieldTalk.Modbus.Slave.dll) Version: 2.11.0-eval+eb1ecbe71c969eff5d7c05d58da16dade0474678
Syntaxpublic int enableRs485Mode(
int rtsDelay
)
Public Function enableRs485Mode (
rtsDelay As Integer
) As Integer
public:
int enableRs485Mode(
int rtsDelay
)
Parameters
- rtsDelay
- Type: SystemInt32
Delay time in ms (Range as 0 - 100000) which
applies after the transmit buffer is empty. 0 disables this mode.
Return Value
Type:
Int32 BusProtocolErrors.FTALK_SUCCESS on success or error code.
See
BusProtocolErrors for possible error codes.
Remarks
In RS485 mode the RTS signal can be used to enable and disable the
transmitter of a RS232/RS485 converter. The RTS signal is asserted
before sending data. It is cleared after the transmit buffer has been
emptied and in addition the specified delay time has elapsed. The delay
time is necessary because even the transmit buffer is already empty,
the UART's FIFO will still contain unsent characters.
The use of RTS controlled RS232/RS485 converters should be
avoided if possible. It is difficult to determine the exact
time when to switch off the transmitter with non real-time
operating systems like Windows and Linux. If it is switched
off to early characters might still sit in the FIFO or the
transmit register of the UART and these characters will be
lost. Hence the slave will not recognize the message. On the
other hand if it is switched off too late then the slave's
message is corrupted and the master will not recognize the
message.
Note |
|---|
| The delay value is indicative only and not guaranteed to be
maintained. How precise it is followed depends on the operating system
used, it's scheduling priority and it's system timer resolution. |
Note |
|---|
| This mode must be set before starting
the server in order to come into effect. |
See Also