RSLogix 500 24 hour cycle logic

Thank you guys for all your help. The last thing I am trying to add is the logic for timeouts.

The idea is when any of two pumps run, they should run only for 45 minutes and be off for another 15 minutes, next run 45 minutes and etc. Until next day, when pumps rotate and same 45/15 minutes will apply. In my code(attached) I have 10 seconds cycles for testing. The issue I experience is that when pumps cycle all three pumps come on for a second and I can not seem to avoid that.

The goal ultimately would be to allow a user to change delay and run times on HMI screen.
Could you point me where I am going wrong?

Thank you once again
 
Well you are getting there, Bearsgone.

1. You could simplify your program a whole lot by looking at the big picture. It appears that you need a periodic trigger that starts something happening every 24 hours. You have that by using Okie's counter method.

2. Next, you need to use the counter trigger to start some blowers running, with a RUN time and an OFF time, but only one of the 3 sets (Pumps 1,2, then 2,3, then 1, 3) will run at at any time, so you only really need one set of whatever you use (Timers) to create ONE ON time and ONE OFF time, not 3 as you have done. This will make it much easier to add to a HMI screen, as your operator will only need to change one set of times, not 3. This means that instead of using the 3 separate sets of timers to trigger your running blowers, use the original trigger that you already have set up, but add a contact from the same timers for all 3 sets of blowers.

3. Your ON cycle-OFF cycle timer logic can be simplified a lot. This is a common problem, and the RSLogix for it is well-known. There are many ways to do it, even using one timer, but I like using two timers - one ON time and one OFF time, something like the picture below.

Notice that there is one timer for ON time and another for OFF time, with the OFF timer triggering reset of ON time and starting a new cycle. Put your 3 trigger bits B3:4/8, B3:4/9, and B3:4/10 in parallel where the B100:14/6 bit is in attached Rung 062. Of course, adjust the Timer addresses, and change Rung 063 to be 3 rungs with outputs for your blowers, again with correct bit B3:4/8, B3:4/9, or B3:4/10 as a trigger in series with the ON timer bit (same ON timer TT bit for all 3 rungs of outputs).

ON-OFF cycle timers.jpg
 
Last edited:
Re:Lancie1

I have made changes per Lancie1 example. Timer seems to work correctly. I am still struggling with all 3 pumps coming ON for second when any of the 2 pumps rotate.

Please help
 
Re:Lancie1

I have made changes per Lancie1 example. Timer seems to work correctly. I am still struggling with all 3 pumps coming ON for second when any of the 2 pumps rotate.

Please help

Zip the .rss file and post it. I can run it on RSLogix 500 Emulate tomorrow morning at work and figure out what's going on.
 
Bearsgone,

It appears to me that your Output rungs 13, 14, and 15 are not correct. I do not see any reason to have all three "Time to Run" bits on the rung for each of the 3 ouptuts. The reason you created the "Time to Run" bits was to control 3 separate outputs, correct?

For example, rung 13 should look like this:

| B3:4/9 I:0/14 T11:0/TT O:0/2 |
|------| |---------|/|-----------| |----------( )---|
| A- Time to Run Aeration ON TIME A Blower |
| Blower |
| |

Delete the other branches, as you should not need them if everything is set up correctly. I don't understand the Aeration Blower Contactor ON bit. The way you have it now, your Blower Output O:0/2 can only run when the Aeration Blower is OFF. Is that what you intended?

Also, please label Timers T11:0 as "Blower ON Time", and T11:1 as "Blower OFF Time". You DO NOT need to use T11:1 in your output rungs, as you only want your output on during the ON time cycle.

As ususal, correct labeling of each device will help tremendously about preventing dumb errors in logic. As you put in each device, ask "WHAT DOES THIS DO"?, then label it as such.
 
Bearsgone,

What is going on with Rungs 6, 7, and 8? Do you realize that you cannot set an INPUT to ON or OFF the way you are trying to do in these 3 rungs? If you are trying to set bits when some sensor goes above 1000, then try using addresses other than Input addresses, such as any unused "B" bit addresses. These rung Input addresses with the OTEs will be overridden by the real input states.

I AssUMed that these are simply "dummy" rungs that you are going to replace with something else, but you probably know what AssUME makes out of U and Me.

Do you still really need Rungs 10, 11, and 12?
 
Last edited:
In addition to what Lancie said, your counter preset needs to be 3 and reset it right after the CTU instruction.

In this version, I blew away the stuff that didn't make sense to me, and changed a few other minor things.
 
Thank you OkiePC and Lancie1

To answer your questions:

The idea I have is to have three blowers. At any given time only two blowers are running. If (that is what I had on Rungs 13,14,15) say one of the blowers fails during its run time, the third blower should come on and stays on as long as failed blower not on. How do I know it is on? That is what Rungs 6,7,8 are suppose to accomplish. I get a contactor confirmation that the blower actually came online and is running.
Blowers would rotate every 24 hours. During those 24 hours, they would stay ON say for 45 minutes and be OFF for 15 minutes during those 24 hours. A user should be able to modify those timers for ON and OFF times from HMI.

OkiePC's code works great but does not have fail over part to it. I probably did not make my fail over logic clean, I am still learning, sorry about that. I will work on my code comments.

Thank you
 
If (that is what I had on Rungs 13,14,15) say one of the blowers fails during its run time, the third blower should come on and stays on as long as failed blower not on. How do I know it is on? That is what Rungs 6,7,8 are suppose to accomplish.
I do no think your goal was accomplished. Rungs 6, 7, and 8 would not have done what you stated above.
I get a contactor confirmation that the blower actually came online and is running.
Yes, but that just means your motor starter is on, at least it would have it your logic had been set up correctly. Your motor may not be turning (even with starter contactor energized), or if it is, the fan may not be moving, or if it is, it may not be pushing any air (damper could be closed). How reliable do you need to be for this?

Bearsgone,

I think trying to automate a "blower failure" function is difficult, and maybe dangerous. Dangerous because your program is going to try and start up another blower based on assumed failure of first motor. The first question is "How will you know how it failed: disconnected wire, tripped overload at the motor starter, trippped main breaker, failed motor, or running motor but broken shaft, or running fan but blocked damper?

Depending on the failure mode, your program may not be able to detect a failure, unless you have positive feedback from a pressure switch or air-movement switch, independent of the power & control circuits. Without that feedback, I recommend a manual operator intervation for a failed blower. I have seen programs that give the operator the option to manually remove (using switches on the operator graphic panel) any motor from the PLC program rotation sequence, so the the remaining motors are run for equal times, but the failed motor is not included in the rotation, until the operator again selects to add the repaired equipment back into the rotation sequence. I may have some examples of that manual intervetion method somewhere, if you are interested.
 
Last edited:
Re: Lancie1

I will be interested in seeing some examples of fail over. In my logic I get a contactor confirmation that the blower is actually running. If blower fails ( contactor shows OFF) third blower comes ON and stays ON as long as contactor for the failed blower is OFF. There is a panel with manual swiches. If blower does fail, I want to set dial out an alarm. When maintenance crew comes on site, they will turn a physical switch OFF for the blower that has failed. It will physically stay OFF until they replace it at which time they will turn physical switch back to ON. Contactor will come on, logic turns OFF the third blower. I do not want to allow maintenance crew to enable or disable blower on HMI due to the fact I can not create admin roles for the screen.

Thank you for your help
 
In my logic I get a contactor confirmation that the blower is actually running.
You will only get contactor confirmation if you use XIC and XIO INPUTS from contacts on the contactor in your PLC program logic. Programming I:0/13, I:0/14, and I:0/15 into Output Energize (OTE) instructions will NOT give you any contactor confirmation, but will create errors in the program.

Besides, contactor confirmation does not mean the blower is running, and even if it is running, it may not be doing anything.
 
Last edited:
Since there are only three pumps, and you always run two of them, it is pretty easy to figure out what to do when one of them fails...run the other two!

See attached file for a method of detecting failure, and forcing the others to run. I added inputs that would be wired to monitor the state of the contactors. I also added an input for a Fault Reset PB. When a contactor is turned on, the monitoring input should come on within two seconds, or a fault bit is set.

Now, in the real world, just because the contactor closes doesn't mean the pump is pumping. A flow switch is a better method, and can be used with the same alarm logic, just bump up the timer to allow for system lag...
 

Similar Topics

hi guys, i would like to put an running hour counter in the program of a ml1200 plc to be viewed on a hmi, but i am not to sure what instruction...
Replies
36
Views
18,626
Hi Everyone, I am not proficient in RSLogix 500 so I have a question regarding the evaluation of N7:0 data as an input. So as I understand in...
Replies
1
Views
104
I have a little bit of experience with Allen-Bradley. I have a Micrologix 1500 (RSLogix 500) and a PanelView Plus 7 (FactoryTalk View Studio ME)...
Replies
3
Views
198
buen dia. tengo una falla al pasar los tags de mi plc SLC 5 0/4 a mi panel me aparece un error Problem writing value " " to item <tag name>...
Replies
1
Views
97
Will someone please convert this logic to pdf?
Replies
2
Views
142
Back
Top Bottom