Communication between 2 ACS 500 dirves and PM554 via modbus RTU
I tried to read values from 2 VFD (ACS550) to PLC via Modbus RTU . I used two ACS_COM_MOD_RTU block to read value in drive. i am facing an error when i tired to read values in both drive at a time. (error number 16383 and 28685) in each ACS_COM_MOD_RTU block
Its working fine when i read a value from any one drive at a time.
My question is whether we can read only one drive values at a time without error or we can read value from multiple drives at a time without error in modbus rtu.
Voted best answer
Hi,
I am assuming that you have only briefly gone through the AB help file. The help file has adequately detailed explanation on how to establish communication with multiple drives.
Communication with up to 7 drives on a single serial line has been tested by ABB.
This error occurs when two instances of COM_MOD_MASTER blocks are trying to communicate with their respective slaves simultaneously. In AC500, COM_MOD_MAST blocks must be enabled sequentially one at a time to prevent simultaneous queries being sent to different slaves.
The ACS_COM_MOD_RTU FB has a dependency on the standard COM_MOD_MAST block.
This error could also be due to the above-mentioned point.
The above connection diagram describes what blocks are required to communicate with every ACS550 drive. The important concept used here is Token passing between Master blocks. The block which possesses the token has control over the serial line and hence can communicate with its slave. Once the required data has been exchanged, the token is then passed to the next master block.
For this case, declare a variable named Line_Token of type ACS_MOD_TOKEN_TYPE and connect to LINE_TOKEN input of all ACS_COM_MOD_RTU blocks.
To initiate sequential enabling of the COM_MOD blocks, connect the DONE output of the first COM_MOD block to the EN input of the next COM_MOD block.
The DONE output of the second COM_MOD block must then be looped back to the EN input of the first block via an OR gate.
The first input of the OR gate is connected to the output of an R_TRIG FB as shown below.
On a second thought, since token passing is used, you can also try to periodically enable and disable the Master FBs using individual BLINK blocks, instead of sequential enabling of FBs. A COM_MOD block is activated at every Positive Rise input at the EN input.
I have narrowed down the most probable cause for the communication issue in the above points. For further trouble shooting post implementation of above points, please go through the help file topic ‘
Add new comment