ACS550 and PM9C connection via Modbus RTU problem
We have a project and we should read some parameters from ACS550 drive and Schneider PM9C powermeter.
We can read data separately. I mean that we run the engine first, controlled remotely, read data and then we stopped. After that we gave positive pulse to enable input of powermeter modbus block in every 5 seconds, it worked correctly. We read what we wanted.
Then we started the engine again, while it was working we started to read data from powermeter but after a few seconds suddenly drive became offline and came right back. But ofcourse motor did not start again until we started again.
I want to ask why? What should we do? It looks like a modbus problem but what?
I solved my problem and I want to share. The solution is shown on picture.
Inside "drive1" function block, there is ACS_COM_MOD_RTU for reading data, and ACS_DRIVES_CTRL_STANDARD for start/stop. Inside "powermeter1" function block, there is COM_MOD_MAST block for reading data from schneider powermeter.
When ACS_COM_MOD_RTU finish to read data, "DONE"(DONEACCESS) output become true. I used that information and then I did that, when "DONE" become true, COM_MOD_MAST can start to read data. In this way, I prevented them to read at the same time and now everything is normal. They are not trying to read data at the same time anymore.
Note: Some inputs like enable inputs, are unnecessary. They are for testing easily. When program is done, we wont't use them.