is it possible to make more than one request using Modbus RTU during a PLC cycle?
Is it possible to make more than one request during a cycle? my idea is that the CI853 cycles are faster and handles the requests and returns the result correctly to the process control system blocks.
Maybe someone knows how the data transfer is processed internally.
Without knowing how the internal data transfer is processing by CI853, I think if you have connection to a multiple slaves, you can make requests to all of them at once, in one cycle.
Your picture represents the correct way of requests, in case you have more than one MBRead/MBWrite block to the SAME slave.
Even in such a case, sometimes I initiate the independent request to each block to the same slave in this way:
I don't know if that improve the speed of transfer but it is working fine for me. Theoretically it could happen the execution of the requests to some of the blocks (to the same slave) to be delayed due to that, but always will be executed.
- Each PLC can only respond to **ONE** request at a time.
- Yes, you can queue multiple messages in the same scan but its a *bad idea*. If you queue up too many messages you will overload the link, stuff will go missing, you'll get timeouts etc etc. Don't do it. Especially if you have multiple PLC's on the same port. You can really break things doing this if a remote PLC fails.
- You should wait for a response before you can make the next request- This is what the "Ndr" and "Done" Data Ready terminals are used for on the MB_Read and MB_Write blocks
- You can run the AC800M task *MUCH* faster - say 100ms scan rate. - As long as you have connected the "Ndr" and "Done" terminals correctly to the next read or write command.
- As you reduce the scan interval of the AC800M task you will eventually hit the maximum transmission rate which is determined by the response time of the remote PLC.