Timing Issue (Productivity Suite)

FischerPLC

Member
Join Date
Jul 2016
Location
Cincinnati
Posts
4
i have an instance where a limit switch activates a solenoid. My issue is that my on timer only works so long as the limit switch is held down, or the bit is active. If the limit switch is released it activates instantly. The limit switch is pressed for about a tenth of a second. I'm thinking this is a software issue.

my attached image is the closest I've came. originally it was a debounce coil set to turn off after 8 seconds (i don't know why he used debounce).

also I'm guessing that in order to help me you'll need to know the software (Productivity Suite).

issue.jpg
 
You would probably have to program another line with the limit switch input energizing a self holding on bit, that gets shut off by your timer being done, and either add a branch around your present limit switch check and check that bit, or just change the limit switch input on your timer line to check the held bit.

Also, on the bit hold line, add checks for MCR, E-Stop, fault(s), etc to turn the bit off for any anomaly.
 
FischerPLC isnt a brand name or anything. just my username.

We are using Automation Direct's Productivity 2000 series PLC with the Productivity Suite software
 
I've never had any problems with the debounce coil or the simple timers in the PSuite, although I have never used the Off delay.

I am certain that using a real world output in both places is causing your problem as FluxCap pointed out.

You should use different tag addresses for each timer and them combine the results of those tags to drive the real world output.

Your first paragraph describes what the On Delay is supposed to do. If you don't hold the limit switch input in the true state for the duration of the timer, it will be reset before the Done Bit gets turned on. If you want to detect every little momentary blip of the limit switch input, then you don't want an on delay (set the preset to zero or debounce on time to zero).

The purpose of the on delay in your application with a debounce coil would be to ignore momentary blips of the input that last less that 0.75 seconds, but once true, the output would stay on for a minimum of 8 seconds.

The way you have rewritten it..well...it can't work because the off delay timer is the last rung writing to the output bit and it will "win" control of that address no matter what is happen in the preceding branch trying to control the same address.

Describe what you want to happen with a little better clarity and we can help you build the logic to get it done.
 
Last edited:
Alright, this is a screw machine making fittings. the limit switch is pressed when the machine is out of stock material using a cam. however when the break activates the tooling heads are still inside the stock bars, sometimes breaking the tooling. they are wanting me to delay when the break activates to when it is in transition between tools. this is approximately .75 seconds after it would press the limit switch.

so i need to delay when it turns on by .75 seconds

it needs to stay on for 8 seconds to insure the machine comes to a complete stop before releasing the break/clutch. this is also to prevent broken tools (this circuit also shuts off the motor, --DO-0.2.2-| |---------|RST DO-0.2.1|--)
 
Okay, so if the limit switch is on for a duration shorter than 0.75 seconds, you still want to activate the brake starting 0.75 after the PLC first detects the limit switch and then keep the brake on for 8 seconds.

Here is one way to do it. I used memory tags in place of your I/O and did not do anything to drive my CycleReset tag...but the structure of the timing logic should work for you.

There is no "Timer Enabled" bit with simple timers so I made my own with a parallel output.

SimpleTimers.png
 
Okay, so if the limit switch is on for a duration shorter than 0.75 seconds, you still want to activate the brake starting 0.75 after the PLC first detects the limit switch and then keep the brake on for 8 seconds.

Here is one way to do it. I used memory tags in place of your I/O and did not do anything to drive my CycleReset tag...but the structure of the timing logic should work for you.

There is no "Timer Enabled" bit with simple timers so I made my own with a parallel output.
It worked, Thank you. I'm sorry for being confusing, I'm self taught. the whole concept of creating my own bits or memory tags actually solves a lot of my questions.

You would probably have to program another line with the limit switch input energizing a self holding on bit, that gets shut off by your timer being done, and either add a branch around your present limit switch check and check that bit, or just change the limit switch input on your timer line to check the held bit.

Also, on the bit hold line, add checks for MCR, E-Stop, fault(s), etc to turn the bit off for any anomaly.

You were on point Aabeck i was just confused about a self holding on bit for reset. OkiePC's example explained it for you. so thank you as well.
 
Last edited:
Thanks for the feedback. You weren't confusing, but there was a possibility I misunderstood you. I reworded your problem to hopefully clarify what I thought was the intent.
 

Similar Topics

All Using a MicroLogix 1400. Not a huge program doing an auto stop function based on a calculated roll diameter Using encoder feedback for...
Replies
12
Views
3,249
Wonderware Intouch, Kepware timing issue with "simultaneous" writing of many tags I have an Intouch application coupled with Kepware that is...
Replies
17
Views
7,248
Hello, I am struggling to figure out some logic. I have an analog pressure sensor coming into the PLC and would like to have multiple timing...
Replies
4
Views
156
the plant I am supporting uses a siemens graph function to do some of the step procedures. in several steps it waits for the step to execute for...
Replies
1
Views
773
Hi all, I'm trying to fully understand the different effects of the Loop Update Time parameter within the Logix PID instruction. I was always...
Replies
18
Views
4,610
Back
Top Bottom