Modbus RTU communication Error
Hi,
I tried to communicate 6 ABB vfd drive (ACS560) to PM554-TP-ETH via modbus RTU. When all the drives are in idle condition the communication is good . for the application to read 3 values from each drives. when any one of vfd is in running condition i got error in each 6 block (ACS_COM_MOD_RTU) .
then i tried to communicated each drives individually the same issues exists.
Error Numbers are :
1. 8216 (check sum error).
2.28685(Function Block Read_Parameters has been executed with error).
I don't why those error come only in running condition not in idle condition.
kindly guide me to solve this issue.
I tried to communicate 6 ABB vfd drive (ACS560) to PM554-TP-ETH via modbus RTU. When all the drives are in idle condition the communication is good . for the application to read 3 values from each drives. when any one of vfd is in running condition i got error in each 6 block (ACS_COM_MOD_RTU) .
then i tried to communicated each drives individually the same issues exists.
Error Numbers are :
1. 8216 (check sum error).
2.28685(Function Block Read_Parameters has been executed with error).
I don't why those error come only in running condition not in idle condition.
kindly guide me to solve this issue.
Voted best answer
I think likely there is electromagnetic disturbance sourcing from power cables to motor. Check whether shielding of your Modbus bus is connected to the ground at one side only. Bus cable shall have only two ends hence no Star connection is allowed. If your bus shielding is grounded at drive and also at PLC panel then current flows through shielding induced by power cables EM that disturbs communication.
Answers
Hi,
As pointed out by Mr Kamil,the most probable reason is EMI.
In addition to serial cable grounding,it is critical that only standard twisted pair cable (shielded) is used for communication. Grounding the shield eliminates EMI due to capacitive coupling,where as twisted pair arrangement eliminates EMI effects due to inductive coupling.
The twisted pair cable ensures the voltage induced in both D+ and D- wires are equal. This allows the Modbus driver to identify common mode noise signal in the serial line and thereby filter it while decoding the serial data stream/applying checksum calculation to the received data bytes in the modbus RTU message frame.
As a trouble shooting step,instead of PLC as a master,use Modscan32 and usb to rs485 serial converter to verify the received hexadecimal data ,while the drive(s) is running.
As per my experience,either few bytes will go missing or their values may change in the modbus message received by the master due to EMI messing with the signal levels. Hence the checksum error.
Regards
Rahil
As pointed out by Mr Kamil,the most probable reason is EMI.
In addition to serial cable grounding,it is critical that only standard twisted pair cable (shielded) is used for communication. Grounding the shield eliminates EMI due to capacitive coupling,where as twisted pair arrangement eliminates EMI effects due to inductive coupling.
The twisted pair cable ensures the voltage induced in both D+ and D- wires are equal. This allows the Modbus driver to identify common mode noise signal in the serial line and thereby filter it while decoding the serial data stream/applying checksum calculation to the received data bytes in the modbus RTU message frame.
As a trouble shooting step,instead of PLC as a master,use Modscan32 and usb to rs485 serial converter to verify the received hexadecimal data ,while the drive(s) is running.
As per my experience,either few bytes will go missing or their values may change in the modbus message received by the master due to EMI messing with the signal levels. Hence the checksum error.
Regards
Rahil
Add new comment