Modbus RS-485 RTU communication Delay
Hello,
I am working on ABB CPU PM583-Eth having COM1 port for modbus communication, I'm trying to communicate third party device through RS485 and also used terminating resistors of 120ohms. while writing data on third party device from HMI it takes too much time to update. the distance between PLC and device is near about 2 meter.
I am using COM_MOD_MAST block having FCT-16, NB-5
for all this process set baud rate as 9600 bits/s
Please find attachment snapshot of program and baud rate details.


I am working on ABB CPU PM583-Eth having COM1 port for modbus communication, I'm trying to communicate third party device through RS485 and also used terminating resistors of 120ohms. while writing data on third party device from HMI it takes too much time to update. the distance between PLC and device is near about 2 meter.
I am using COM_MOD_MAST block having FCT-16, NB-5
for all this process set baud rate as 9600 bits/s
Please find attachment snapshot of program and baud rate details.


Answers
Hi,
I can recommend using of the following connection for EN input of COM_MOD_MAST block:

In your logic the total time (period) for BLINK block is 4s and adding the time for completion of COM_MOD_MAST block, may be it will result in minimum 8s for the next execution. COM_MOD_MAST needs a positive front of EN input, in order to execute the request and then some time until you get DONE.
Also check the task time for the POU's when your logic is executed. Normally I use the 100ms cyclic task time (fixed, not free wheeling) for the POU, when COM_MOD_MAST is placed.
Terminating resistors are not wrong, but for so short distances usually I'm not using them.
I can recommend using of the following connection for EN input of COM_MOD_MAST block:
In your logic the total time (period) for BLINK block is 4s and adding the time for completion of COM_MOD_MAST block, may be it will result in minimum 8s for the next execution. COM_MOD_MAST needs a positive front of EN input, in order to execute the request and then some time until you get DONE.
Also check the task time for the POU's when your logic is executed. Normally I use the 100ms cyclic task time (fixed, not free wheeling) for the POU, when COM_MOD_MAST is placed.
Terminating resistors are not wrong, but for so short distances usually I'm not using them.
Add new comment