If one slave becomes offline, the driver cycle will slow down, because the driver will spend more retries to read from slave. Your application will slow down only if you are using Synchronous Read/Write. Error popup can be done easily using events on driver, tag or using a cyclical timer that looks the properties LastAsyncReadStatus/LastASyncWriteStatus.
About Modbus TXT (do you mean Modbus ASCII?) isn't available to, but is easy to implement, using the RTU as example.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
im trying modbus serial slave unit, but i cant found the unit where do the sync job. ex wait 3.5 T of silent, nak response idle, etc in the modbus serial master
Last edit: diego bertotti 2018-05-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The packet encoding (for Modbus RTU or TCP) is in modbusserial and modbustcp, respectively. The cycle times are coded in modbusdriver.pas, in procedure TModBusDriver.DoScanRead. This procedure is called by another procedure called TProtocolDriver.SafeScanRead, that is passed as a pointer to a thread, called TScanThread, on ProtocolDriver.pas:795. This thread does the cycles times, considering the IO latency... The times to wait to receive a packet are handled by the communication port linked with your modbus driver. Because of this, you will not find these time on Modbus Implementation.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
Thanks for your response
Now i need to use modbus rtu over serial line and convert it from RS232 to RS485. Then i want to know if the serial port use some line to indicate the direction of flow (sending or receiving). This signal is needed to change the direction of the hardware transceiver (usually RTS signal)
Last edit: diego bertotti 2018-06-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi
i test rts signal using the mbrtuscanner example, and dont found any change. you know if rtu driver use any of serial port pins to change 485 direction?
thank you
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
Thanks for reply
I can see it, no change on any serial port pin (dtr rts ...)..well i must will done an automatic direccion change circuit.
Again, thank you very much.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi
how can i use pascalscada components to make a modbus rtu slave software?
This is not possible (yet). PascalSCADA don't have a driver to make your app act as an Modbus Slave.
But feel free to make a new driver.
maybe i'll try!!
Last edit: diego bertotti 2017-09-08
thanks for the reply.. and for your great job!!
what happens if one rtu slave, suddenly stops it responses (for example power off). ¿system slows down? ¿error pop up?
one more.... ¿modbus TXT?
Last edit: diego bertotti 2017-09-08
If one slave becomes offline, the driver cycle will slow down, because the driver will spend more retries to read from slave. Your application will slow down only if you are using Synchronous Read/Write. Error popup can be done easily using events on driver, tag or using a cyclical timer that looks the properties LastAsyncReadStatus/LastASyncWriteStatus.
About Modbus TXT (do you mean Modbus ASCII?) isn't available to, but is easy to implement, using the RTU as example.
hi
im trying modbus serial slave unit, but i cant found the unit where do the sync job. ex wait 3.5 T of silent, nak response idle, etc in the modbus serial master
Last edit: diego bertotti 2018-05-24
Hi Mr. Bertotti!
The packet encoding (for Modbus RTU or TCP) is in modbusserial and modbustcp, respectively. The cycle times are coded in modbusdriver.pas, in procedure TModBusDriver.DoScanRead. This procedure is called by another procedure called TProtocolDriver.SafeScanRead, that is passed as a pointer to a thread, called TScanThread, on ProtocolDriver.pas:795. This thread does the cycles times, considering the IO latency... The times to wait to receive a packet are handled by the communication port linked with your modbus driver. Because of this, you will not find these time on Modbus Implementation.
Hi
Thanks for your response
Now i need to use modbus rtu over serial line and convert it from RS232 to RS485. Then i want to know if the serial port use some line to indicate the direction of flow (sending or receiving). This signal is needed to change the direction of the hardware transceiver (usually RTS signal)
Last edit: diego bertotti 2018-06-09
hi
i test rts signal using the mbrtuscanner example, and dont found any change. you know if rtu driver use any of serial port pins to change 485 direction?
thank you
Hi Mr. Diego!
The flow is managed by the OS. The current implementation of SerialPort don't handle/rely on these signals.
Hi
Thanks for reply
I can see it, no change on any serial port pin (dtr rts ...)..well i must will done an automatic direccion change circuit.
Again, thank you very much.
Last edit: diego bertotti 2019-04-16