Reset Timer Dilemma

dskplc

Member
Join Date
Aug 2013
Location
New Zealand
Posts
119
Hello,

I need to put a timer reset in my RSLogix 500 program but cannot keep the Timer 1 done bit on when needed plus I cannot grasp output destructive bits as you will see in my attached program. I appreciate any advice!

Here is what I wrote the project from.
A customer has requested the following for a plant:

1. Operator switches the plant to run using a two position switch (Run/stop) on the
panel.
2. If the water level is within limits and the outside tank level is NOT high, the Inlet Water Solenoid Valve and the pump turns on. (The flow switch and temperature probe inputs
to the controller is to be ignored for a time period using a time delay timer (T1))
3. When T1 is done the flow switch and temperature probe should run and system will continue running.

Interlocks
1. If the water level or the outside tank level is activated, the system should stop and the inside light should flash.
2. If the temperature set point drops, The Inlet Water Solenoid Valve should stop but at the same time the pump should keep on running. The temperature probe will activate a timer and when this time is reached, the inlet valve should open
again.
3. A counter should count the number of times the temp probe has triggered. And after 5 triggers the temp fault light should come on and the system stops. The inside light flashes.
4. If the dissolver overflow switch activates, then the Inlet Water Solenoid Valve should close and
the pump keeps running. A timer should be activated. When the time is done the Inlet Water Solenoid Valve should open again.
5. If the Pump flow switch activates, the controller should shut the pump off and activate a timer. After the timer is done, start the pump again.
6. Every time if the flow switch, dissolver overflow or temp probe activates, the initial
timer T1 should be reset.

Possible I/O
Inputs
1. Run/Stop
2. Dissolver overflow
3. Inlet flow switch
4. Pump flow switch
5. Outside tank high level
6. Low Temp
Outputs
1. Dissolver overflow light indicator
2. Low Temperature indicator light
3. Water level – empty indicator light
5. Inlet water Solenoid valve
6. Flashing indicator light inside
7. Pump

Thank you for advice since I am still a new PLC programmer.
 
From what I understand, you need the timer 1 done bit to activate something, but when the timer is reset, the activated item need to stay activated. Correct? If so, let the timer done bit latch a coil which will activate the item. You can then reset the timer, the latched coil will stay latched until you reset it with an unlatch instruction.
 
Thank you for advice since I am still a new PLC programmer.
I truly believe that you are new! I started trying to correct your program and make comments, but after a few rungs I see that almost all of your logic has flaws.

1. You used a lot of outputs that are not in your list of "Possible I/0". Normally if a "customer" tells you he has certain Inputs and Outputs available, it means that is all you have to work with, unless he lists some spares.

2. You should not waste an Output for both Start and Stop for devices. Normally you should only use only 1 output for each device, with Output "ON" state turning the device ON, and OFF state turning it OFF.

More later....
 
...cannot keep the Timer 1 done bit on when needed plus I cannot grasp output destructive bits.

(1) Leave the timers enabled or ON until no longer needed. That will keep the Timer DN bit ON also. (2) You do not need "output destructive bits". Remember you are dealing with binary devices - either ON (1) or OFF (0). When you want an output to go OFF, simply quit "enabling" the output. See the attached PDF for some hints on how to do the 6 interlocks. There are many ways to write a program, and this in only 1. See if you think it is correct.
 
Hello,
Thank you very much for your corrections. I didn't want destructive output bits but I could not see any other way to do this since when I ran the program using RS500 Emulate the pump run output bits were twitching (if that is the right term to use) which I heard is not good. Unfortunately my work does not demand much programming so I don't gain experience that I would like to get and I haven't found very many programming manuals on the internet. Thanks again!
 
...when I ran the program using RS500 Emulate the pump run output bits were twitching (if that is the right term to use) which I heard is not good.
Looking at your version of the program, 3 of your timers are set for 100 x 0.001 seconds (1/10 of a second) and the 4th timer is set for only 10 x 0.001 seconds (1/100 of a second). All these time settings will definitely cause a whole lot of twitching going on!!

Try using 1-second time bases in all these timers, and set the Preset values to 2, 3, 4, or 5 seconds (just so the delays are long enough that you can see them in your RSEmulate program). After some operating experience, you can figure out exactly how much time you need from each timer.
 
Last edited:
After trying the program in the LogixPro Simulator software, you might want to change these 2 items:
Rung 3: Remove B3:0/0 RUN/STOP SWITCH
Rung 8: Change S:4/6 to S:4/8 to get a longer flash cycle.

Everything else appears to work okay.
 
B3:0/0 Problem

Hello Lancie1, for some reason I cannot get B3:0/0 SystemRun to come on in Rung 0 which affects the rest of the program. What am I missing? Best regards.
 
1. Did you use a Run/Stop Selector Switch for Input I:0/1, and did you turn that switch from Stop to Run?

2. DId you use a XIO instruction for O:0/3 Water Level Empty Indicator Light?

3. Did you use a XIO instruction for I:0/5 Outside Tank High Water Level Switch?

4. Did you use a XIO instruction for C5:0/DN Temp Probe Counter C0?

5. Did you use a XIO instruction for T4:1/DN Timer T1?

6. Did you download your program to your (simulated) PLC, and then switch from Program to Run mode?

When you can answer "Yes" to all 6 questions above, then your System Run Relay B3:0/0 should be ON.

Urea Fertilizer Rung 0- Dskplc.jpg
 
Last edited:
Still trying

Hello Lancie1,

I am still trying to figure what I am doing wrong to make this program not work like I want it. Please see attached screen shot of the first few rungs. I am using RSLinx, RSLogix 500 Emulate along with RSLogix 500 Micro and when I run the program in emulate it doesn't want to cooperate. The outputs and timers don't come on. Thanks for any help. Best regards.

WATERRL5K.jpg
 
The output in rung 002 IS on so it would seem that your program is functioning, and you have the JSR in place for that Ladder.
As far as the other outputs and the timer that can be seen in the screen shot you provide, The logic in those rungs are not all true so the outputs and the timer will not activate (become true) until all instructions in the rung preceding it are true.

BCS
 
Only being able to see what is in your screen shot, it looks like:
You need H2O in your tank so the O:0/3 instruction will become true compleating the logic on rung 000 which will make output B3:0/0 True.

At that point Rung 1 will also compleate and O:0/5 will become true.

Thing is if O:0/5 Inlet Water Solenoid Valve is what you are using to fill your tank then you have a Mexican Stand Off going on with your logic.

The Inlet Water Solenoid Valve will not become true and begin filling the tank until the System Run Output is true and System Run Output will not be true until the Inlet Water Solenoid Valve activates to start filling your tank.

That is what I see from this picture.

BCS
 
I might be off base with what you are trying to accomplish and dont have time read this entire thread at the moment.

But if you extend a branch that will divert logic around B3:0/0 on rung 001 and insert a O:0/3 as an XIO on this branch extention then your logic will start to function.

That way when your H20 Level is Empty it will allow your Inlet Water Solenoid to open and begin filling the tank.


Disclaimer: I dont know the full extent to what you are trying to do with this program at this point and cant see your entire program, so if you try what I am saying just be sure that this is what you want the program to do.


Good Luck
BCS
 
Last edited:
...when I run the program in emulate it doesn't want to cooperate. The outputs and timers don't come on.
As I told you back in Post #7, remove the XIC B3:0/0 from Rung 3:
After trying the program in the LogixPro Simulator software, you might want to change these 2 items:
Rung 3: Remove B3:0/0 RUN/STOP SWITCH
Rung 8: Change S:4/6 to S:4/8 to get a longer flash cycle.

Other than that, to make the program work, the only other thing you must do is carefully operate the simulated inputs at the correct times. For example, on Rung 1, T4:1/DN gives you only 4 seconds to close the Inlet Flow Switch, or the System Run relay will go off. So to make this program run, you must simulate the field conditions by manually operating the inputs at the correct times. It is not the type of automatic operation where you turn on the RUN switch and forget about it, unless you have the real sensors hooked up to the program.

Attached is the working LogixPro version of your exact program, and I have tested it and it does work exactly as planned. I checked the first part of your program against my program, and it is the same except for the B3:0/0 bit on Rung 3. (I did have to offset the addresses so that it will run in LogixPro, but that should not prevent your program from running).
 
Last edited:
Here are the steps to run the Urea Simulation program:

1. Load the program into the PLC, and switch the PLC to RUN mode.

2. Close your Input I:0/7 Water Low Level Switch (on Rung 2) to indicate that the Water Level is NOT EMPTY.

3. Close (turn on) I:1/3 temporarily to reset Timer T4:1, then turn it off again. (Probably need to add a reset button for Timer T4:1).

4. Turn on the system by closing the I:0/1 Run/Stop Switch. On Rung 1, the Inlet Water Solenoid Valve will close, and Pump 1 will start.

5. Within 4 seconds, close I:0/3 Inlet Flow Switch to indicate that now there is flow. The required Interlock 5 on Rung 8 will be activated, and Pump1 will stop after 3 seconds as set by Timer T4:4 on Rung 8. Leave I:0/3 closed for remaining tests.

6. Test the remaining interlock logic. Leave I:0/3 closed. Close the I:0/2 Dissolver Overflow Switch. Observe that the O:0/5 Inlet Water Solenoid goes off for 5 seconds, then comes back on as specified. The Pump keeps running. Turn I:0/2 off.

7. Close I:0/5 Outside Tank High Water Level. Output O:0/6 will flash. Turn I:0/5 back off.

8. Close I:0/6 Low Temp switch. Observe that the O:0/5 Inlet Water Solenoid goes off for 3 seconds, then comes back on as specified. Operate I:0/6 4 more times, and observe that Counter C5:0 counts to 5, then B3:0/0 System Run goes OFF, and O:0/6 Flashing Light flashes until the Run/Stop switch is turned to Stop.
 
Last edited:

Similar Topics

Hi there I'm guessing this is a straightforward one but after much experimenting I've been unable to find an answer. The software is TIA V16...
Replies
5
Views
2,250
Processor: 1769-L30ER; Logix 5000: v32.02 I have an AOI that's been used in previous applications without issue, and have added a TON...
Replies
6
Views
2,658
Hello Folks, I am new to Direct Soft, but a customer has a program that need me to edit. It is a DL06. We have a TMR function (T4) that we want...
Replies
24
Views
5,470
I would like to use a numeric entry from a C-more HMI to change the preset in a timer in Do-More. How might I go about that? Thanks
Replies
1
Views
1,251
Hello everyone‚ Fairly new to PLC prog I seek your advise concerning what is said in my thread title; I program using workbench components; I...
Replies
1
Views
1,228
Back
Top Bottom