Sign in to follow this  
Followers 0
bearsgone

Switch between pumps Rslogix 500 ML1400

8 posts in this topic

Hello I have two pumps that should run 12 hours each every day. Which ever pump's turn to run, it will only happen if level sensor in a tank is high (ex.8000). Additionally I have 6 fields that should be used one at a time. Ex. if field one was used last time, use field 2, once we get to field 6, reset all fields to not used and start with field one. The only exception would be if tank is overflowing and both pumps come on (above 12000), but zone rule should still apply. If level reaches 3000 stop all pumps.I have Micrologix 1400 with DI and DO exp cards. I am sure the way I am going about this is not the most efficient. Any suggestion is welcome Thank you in advance UNTITLED.RSS

Share this post


Link to post
Share on other sites
I can't get on RS500 right now, but I can explain what I did. You're doing a lead/lag routine. Some use latching, I used a counter. Use your levels to activate lead and lag pumps through latching bits, then unlatch at the level you want your pumps to turn off at. So if level GRT 8000, latch lead. Level GRT 12000 turn on lag latch. Level LES 12000 or whatever, unlatch lag, level LES 3000 unlatch lead. Use the counter to determine which pump is lead and which is lag. Use a ONS to count up every time the lead pump turns off, and reset your counter when the ACC value = 2 (0=P1 lead, 1=P2 lead). You'll have your pump start rungs which should be pretty simple with two pumps. A few things that would help (again I can't see your program). Are you using VFD's? If so, describe your speed control, ie, speed setpoints at certain levels. The field thing will be separate from which pump is running, so don't try to relate the two by which pump is running should determine which field. You can use a counter for this also, same way as for lead/lag. Throw some logic in so that if P1 is lead, and lead is called for, but P1 is off/not in auto/out of service etc, MOV a 1 into the lead lag counter so P2 will be lead, then vice versa. The way to keep it simple is to view the lead/lag separate from the pump control logic, separate from the field logic, then combine them. Putting them in different files will help you organize this. Don't forget your JSR's to scan all your subroutines (files). Edited by IamJon

Share this post


Link to post
Share on other sites
I am unable to open your project. What version of RSLogix500 do you have and what level is it? Example: version 7.20 and RSLogix500 Starter edition. ~Jeff

Share this post


Link to post
Share on other sites
Hello I am using 8.2 CPR 9 RSLogix 500 Thank you

Share this post


Link to post
Share on other sites
In the first rung the output will only be true for one minute. Is that what you want? The second rung is using 24 as an hour, there is no hour 24. Even if that is changed to a valid hour it also will only be true for one minute. You have some rungs addressing the same output address. this is called a double coil, the last rung will win. Not good practice. You are using input addresses for some "OTE" instruction, this is also bad practice. If the input address is used by an actual input the scan will override the rung with the address at each scan. Even if the input does not exist its still bad practice. Use internal bits for this ( binary e.g B3:0/0)

Share this post


Link to post
Share on other sites
Thank you for your feedback I am new to programming PLC. I was trying to get away with using LIMs but it seems that only one LIM can be right. Not sure how to have separate LIMs. Thank you

Share this post


Link to post
Share on other sites
In addition to the othern feedback already given you have multiple occurrnces of OTE O;6/0 . This creates a last guy wins every time scenario. IT is a best practice to only have one OTE for each real world i/o point.

Share this post


Link to post
Share on other sites
I have timers working correctly, as a test they are set to 5 sec. I am not sure why I can not set up different levels. Say: LIM Rung6: set alarm bit, force both pumps on LIM Rung7: turn only one pump on (depending on which turn it is) Which ever LIM is last, wins. Can not have both limits work together. Additionally, I want to have a third LIM condition when both pumps forced off no matter what state they are in. Per earlier suggestion to use counters with latch and unlatch. Not sure how to set up L/U based on level. Should I be using LIM for that? Thank you for your help

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0