Timer on delay in rung

rscott9399

Member
Join Date
Aug 2017
Location
in space
Posts
114
Hey guys

So this is one of those things that siemens really does better then AB.

Im trying to find a work around for it.

I want to use a simple timer in a rung. But i want to actually place the timer in the rung it blocks.

NOT put the timer in some other rung and use a contact tied to its done bit.

In siemens land this is very normal. A block in siemens with several outputs can have the outputs physically tied to the rung.

AB will not allow this.


How can i get around this or make an AOI that does.

For example, in AB the only thing on a TON instruction that can be tied to the rung is the enable. What im trying to do is get the DN tied to the rung instead

Any ideas????
 
Is there a reason why the tried and true method isn't acceptable for your case? One of the typical sources of frustration for a person trying to learn a new platform comes when they try to make the new platform behave like the one they're already familiar with.
 
Is there a reason why the tried and true method isn't acceptable for your case? One of the typical sources of frustration for a person trying to learn a new platform comes when they try to make the new platform behave like the one they're already familiar with.


I understand your point.

However, i wouldn't say im learning AB. I know both

I am just sick and tired of having timers all over the place with contacts also all over the place instead of having one nice neat block that allows the rung to go hot when it completes without having to have a timer somewhere else also.
Its messy and hard to follow.
 
In my opinion yes,

Opinions are like *******s... everyone's got one, but sometimes you shouldn't flash it around in public.

I simply branch around the timer which being an "output" type instruction sits on the far right of the rung, with the .DN bit in an XIC, followed by the coil which this rung of timer related logic is turning on.

Keeps it all together and it looks tidy, in my opinion (whoops, there's that dirty word again!).
 
Maybe I'm misunderstanding, but since RSLogix 5000 came out in the late 90s you can have mutiple outputs in series on the same rung. So you can have a TON instruction followed by a .TT or .DN bit in the same rung.

TON My_Timer XIC My_Timer.DN OTE My_Output

Or are you using some AB software designed in the 80s?
 
Last edited:
Maybe I'm misunderstanding, but since RSLogix 5000 came out in the late 90s you can have mutiple outputs in series on the same rung. So you can have a TON instruction followed by a .TT or .DN bit in the same rung.

TON My_Timer XIC My_Timer.DN OTE My_Output

Or are you using some AB software designed in the 80s?

Was going to say this as well. In some of our alarming logic we have TONs with their .DN bit in sequence right after the timer. The timer will start when the permissives to the left of the timer are all true, but everything beyond (to the right) of the timer will remain false until the timer completes and the DN bit turns on.
 
In AB Ladder, the only thing that gets tied to the output of a block is a hidden "EnableOut". Since in a TON instruction, this is logically equivalent to the EnableIn, which is the same as the .EN element, they display the instruction as if it were connected to a -(EN) coil.

For other blocks -- MOV, ADD, etc., there is no logical equivalent, so the "output" of the block is nothing.

Now, if you want to be able have branches start INSIDE the block (i.e., a branch off the EN, another off TT, and another off DN), then you need to use the TONR and do function block programming, not ladder.

Alternatively, you could create an AOI with a single line of ladder:
XIC EnableIn TON Timer XIC Timer.DN OTE EnableOut
and add a "PRE" input parameter that is aliased to Timer.PRE and has the VIS box checked. Same with an "ACC" output parameter to Timer.ACC

Since you are now driving the EnableOut bit based on the .DN, you'll get what you're looking for.
 
In AB Ladder, the only thing that gets tied to the output of a block is a hidden "EnableOut". Since in a TON instruction, this is logically equivalent to the EnableIn, which is the same as the .EN element, they display the instruction as if it were connected to a -(EN) coil.

For other blocks -- MOV, ADD, etc., there is no logical equivalent, so the "output" of the block is nothing.

Now, if you want to be able have branches start INSIDE the block (i.e., a branch off the EN, another off TT, and another off DN), then you need to use the TONR and do function block programming, not ladder.

Alternatively, you could create an AOI with a single line of ladder:
XIC EnableIn TON Timer XIC Timer.DN OTE EnableOut
and add a "PRE" input parameter that is aliased to Timer.PRE and has the VIS box checked. Same with an "ACC" output parameter to Timer.ACC

Since you are now driving the EnableOut bit based on the .DN, you'll get what you're looking for.

Is there any meaningful benefit to do it this way vs just having the .DN bit in series after the timer? Or is it just a useful way to do more complicated actions as well?
 
Is there any meaningful benefit to do it this way vs just having the .DN bit in series after the timer? Or is it just a useful way to do more complicated actions as well?

Essentially, it's useless. The OP was insisting that AB work like he's used to with Siemens, where he could drop a timer block on a rung and have the output of the block not be "hot" until the timer is done.

Putting the DN contact after a TON on the same rung does the same thing, and is clearer as to what is going on. Conditionally driving the EnableOut bit is just weird.
 
Essentially, it's useless. The OP was insisting that AB work like he's used to with Siemens, where he could drop a timer block on a rung and have the output of the block not be "hot" until the timer is done.

Putting the DN contact after a TON on the same rung does the same thing, and is clearer as to what is going on. Conditionally driving the EnableOut bit is just weird.

Gotcha, thanks!đź“š
 

Similar Topics

Build error occurs with TON ladder logic command. Time Input expected on block. Using Integer Tag under Control Local, and then hard number 19...
Replies
2
Views
733
Hi there, Quick question, I think I am thinking about this too much. I want to activate a timer for lets say 10 minutes when a contact produces...
Replies
22
Views
4,007
Hello guys, I am currently looking through some examples of how timers work, but this ladder logic diagram gets me really confused. Once I:1/0 is...
Replies
2
Views
1,819
any hint how i can make a pext or pulse timer using on delay timer in ladder logic. on delay timer is said to be a universal timer, all other...
Replies
4
Views
2,327
Hi! I was wondering when input 2 detects I thought it should straight away unlatch . And with the latch timer, it still does it without delaying...
Replies
2
Views
2,125
Back
Top Bottom