This looks pretty standard for a Power and Free system. I see two drives, - one for the fast chain and one for the production rate chain. I've designed and programmed several of these systems and have learned a few things. As far as overall design, make sure that the loaded carriers surge (difference in number of carriers from a full system to an empty system) matches the surge on the unloaded side. The stops in the system should be controled by creating zones just after them. Open the stop when the zone is empty and close the stop when it is not. Avoid using counters to do this. I would only use a counter if the zone was too big for one carrier to traverse within the alloted cycle time. For carrier detection, use limit switches with an anti-backup feature. Also, try and use two limit switches to set up a zone when you can. Have the PLC set a latch on the first limit and unlatch on the second. This will prevent double trips. Are you doing all the hardwiring design and prgramming?