How can I create a off delay?

darrentpi

Member
Join Date
Jul 2004
Posts
44
I have put this question out there before, but still having troubles. My PLC directsoft logic, does not support any tof delay timmers, is there a simple way I can create one with missalaneous instructions?
Help would be great
Thanks,
DM
 
Hi.
Maybe you would like to put a new rung with a TON timer and set to energize a memory output. Use the N.C contact of that memory output to your required instruction, so to simulate a TOF function.

Regards
Sherine T.
 
There is no OFF DELAY TIMER, you have to manipulate an ON Delay or TMR.
In the following pic when start is pushed timer will start and C0 will be latched ON. In next rung Y0 will be on until timer is DONE, when timer is done then C0 will unlatch and Y0 will go OFF.
dl405.jpg


C0 is needed because T0 -|/|- will always be on when timer is NOT DONE.
 
Last edited:
darrentpi,

The usual "On Delay" Timer (TON in RSLogix) starts timing when the rung goes from false to true. The "Off Delay" Timer is the opposite: it starts timing when the rung goes from true to false. The simplest way to simulate this is to use what you have, the TMR (On Delay) instruction, but use a STRN (Store Not)or ANDN (And Not)contact in front of it, so that when an input goes from on to off, the timer starts timing.

The next problem is that if your rung starts off to be false, then the timer will start right away, but you may not want it to start until your Input condition goes from true to false. The solution is to put an "inhibit" contact at the front of the timer rung (or on the next rung where you use the TMR bit), which does not go true until just before the timer is needed.

Of course this "inhibit" bit gets us right back where we started: You can get the same effect by simply using a bit which goes to True when your input condition goes from On to Off. Put this bit in front of a TMR timer, and you are done.
 
Last edited:
C0 is needed because T0 -|/|- will always be on when timer is NOT DONE.

What I do is use a Greater than contact for the current timer value instead of using another bit.i.e., TA0>1 works great as a latch with the done bit used to unlatch it.

Depending on which processor he is using, he could use the Positive Differential bit
Code:
      _
 -| _|  |-

to start the timer. This way the timer will not start if the input is true until is goes false and then true again.

Bob
 
Yeah Bob, thats more or less what I do depending but I was just offering an idea for him to elaborate upon. There are alot of ways to manipulate a timer and its accumulated value.
 
Wow, can we make this more complicated? Set, reset, differential contacts, comparisons?!?!... :sick:

No stages needed, Bob?... ;)

I prefer the simple off-delay timer Tom showed in THIS post... :nodi:

Works just like a TOF instruction... (y)

šŸ»

-Eric
 

Similar Topics

I'm looking to create some code in Beckhoff that I can save to a library and use in future projects. Is there a "How To" manual ot do this?
Replies
6
Views
6,430
Hello, I've been trying to learn this a while now and still have not found out how this works. I have an Omron CJ2M PLC and an ABB ACS 355 VFD...
Replies
1
Views
236
Hello, I have to deal with iFix again and am looking at the most efficient way to create alarms to display in iFix, i.e. not creating an...
Replies
0
Views
153
Good morning to all, I have the following issue, I installed everything of intouch including the patch, it is the 2023 version. The...
Replies
0
Views
328
So, I finally got versioin 27 installed on my Windows 10 VM. However, now I can't upload a project from my lab controller. I have the above error...
Replies
0
Views
1,127
Back
Top Bottom