Hello everyone, I am in search of the most effective method for controlling three pumps in rotation. Despite my efforts to find solutions on various forums, I have not been successful in finding exactly what I need. To provide more clarity, I will provide detailed information. The two attached PDF files illustrate that the test "works" but does not increment as desired. I believe implementing some mathematical calculations could resolve this issue. However, I am seeking a more straightforward and efficient approach. The main issue at hand is controlling three pumps in a rotation sequence, specifically Lead, Lag, Lag2. The control tank dictates which pumps to activate based on preset level setpoints. Firstly, Lead is activated; if it cannot maintain the required level, Lag is then activated. If the level continues to drop, Lag2 is activated. Once the set level is reached, the pumps turn off and move to the next in rotation. Currently, I am using three counters to manage the rotation status of the pumps. My current code, although functional to some extent, requires manual intervention when a pump becomes unavailable. I am not satisfied with this method as it does not automatically adjust when the pump is back in service. My aim is to establish a seamless rotation where if a pump is temporarily removed, the system switches to a lead-lag operation until the pump is back online, at which point it seamlessly integrates back into the rotation sequence. In essence, I require the pumps to rotate in a lead-lag-lag2 sequence consistently. For instance, the rotation order would be Lead, Lag, Lag2, then rotate after Lead drops, Lag2, Lead, Lag, and so on. If Pump 1 is temporarily out of service, the rotation would switch between Pumps 2 and 3, but upon Pump 1's return, it would resume its position in the sequence. The counters used for rotation are as follows: - Pump 1 rotation counter: C5:3 - Pump 2 rotation counter: C5:4 - Pump 3 rotation counter: C5:4 I have relocated the counters' accumulation to N10:40, 41, and 42 respectively. If the explanation above is unclear, please let me know. I am open to any examples, resources, or guidance related to this issue. Thank you.
I failed to mention that I am utilizing RSLogix 500 with a Micrologix 1400 PLC.
Hello, I completed a similar project using a Micrologix - please refer to the attached document. My motor selection process was based on minimizing runtime, ultimately designating the motor with the lowest runtime as the lead motor. If a motor is unavailable, due to an alarm for example, it is not considered as the lead motor. Take a look at the attachment and share your thoughts with us.
It's important to bear in mind that equipment can fail, especially if the pumps are identical in make and have been used for the same amount of hours. The likelihood of these pumps failing around the same time is high, depending on their duty, process, and maintenance schedule. This is particularly crucial to consider when these pumps are part of a safety system.
Managing financial records is crucial for businesses. I switched the order to be Lg, Lg2, L instead of L, Lg, Lg2.
I appreciate the responses and will review them thoroughly.
It sounds like you're essentially trying to achieve an automatic, dynamic load balancing for your pumps where they can cycle in rotation but also be adaptable. I might propose implementing an algorithm based on the state pattern in your control system. This pattern allows an object (in this case the pumps) to change its behavior when its internal state changes. This way, each pump can have three states: "lead", "lag" and "lag2", and they would know when to transition to the next based on the result of your level check operations. If a pump does go offline, the algorithm could then exclude it until it's back online, and once it is, reintroduce it into the state cycle at the appropriate spot. A state machine implementation should give you significantly more flexibility and reliability around managing pumps state with less manual intervention. For coding this, I'd recommend exploring Python or C# as they offer good state pattern libraries and are generally effective for this type of control programming.
Your challenge seems to be related to the need for robust pump rotation management. My thought on this is to use some sort of programmable logic controller (PLC) paired with a state machine design. The state machine would inherently address the issue of varying system states, including a pump being offline and automatically adjusting the rotation order when it gets back online. This would not only ensure that your system is more resilient to pump availability, but it would also make the rotation process more efficient by eliminating the need for manual intervention. Is there a specific reason why you're using counters for pump management? Is there room in your project to incorporate a PLC/state machine system? If you need more in-depth guidance in setting up this kind of system, I'd be more than happy to help.
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: - The main issue is optimizing rotation control for three pumps in a sequence of Lead, Lag, and Lag2 based on preset level setpoints.
Answer: - The control tank dictates which pumps to activate based on preset level setpoints, starting with Lead. If Lead cannot maintain the required level, Lag is activated, and if the level continues to drop, Lag2 is activated.
Answer: - The current approach involves using three counters to manage the rotation status of the pumps, but it requires manual intervention when a pump becomes unavailable.
Answer: - The goal is to establish a seamless rotation where if a pump is temporarily removed, the system switches to a lead-lag operation until the pump is back online, seamlessly integrating it back into the rotation sequence.
Answer: - The counters used for rotation are: Pump 1 rotation counter at C5:3, Pump 2 rotation counter at C5:4, and Pump 3 rotation counter at C5:4, with their accumulation relocated to N10:40, 41, and 42 respectively.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.