PDA

View Full Version : Slc Logic Help


The Plc Kid
June 12th, 2009, 06:32 PM
Guys

I am modifying a program and I have run into a snag. I am working with a slc 5/04 processor and I programmed the attached logic. The problem I am having is that when one of the high level switches is active/on and it triggers my high level alarm active bit B3:0/6 and we wish to silence the alarm it does not seem to work.

When I press the I:4/7 silence Pb then the alarm ack coil B3:5/15 should have power flow and should seal itself in if my thinking is right. So when I release the silence Pb B3:5/15 should stay sealed in correct?

If it should then that is not happening. When I release the silence Pb B3:5/15 coil goes off. Is this right? Do I just not correctly understand how a seal in works? Or could it be something with the processor?

I have cross referenced B3:5/15 and it is only used in this one ladder and as an xic and an ote one of each so nothing else is changing its state.

Help please. I am really confused.

bernie_carlton
June 12th, 2009, 07:09 PM
Is it possible that your trigger input is cycling on/off very rapidly. Turning off would release the alarm ack. But if it's cycling fast enough you may not notice the alarm bit momentarily being off.

The Plc Kid
June 12th, 2009, 07:19 PM
Bernie

I thought about that and i forced the high level switch on to trigger the circuit.Then i forced on the alarm ack pb and it still will not stay sealed in.

By forcing through this i eliminated fast cycling of the high level switch.

I am almost thinking firmware or something but everything else is running well.

I am a very new programmer so i thought i was just making a rookie mistake.

Mickey
June 12th, 2009, 07:29 PM
Post the .rss file. The real one. Zip it first.

The Plc Kid
June 12th, 2009, 07:37 PM
Mickey

The company will not let me post the file.

I can give any info from it.

My boss uses this site sometimes and i don't want to get in trouble.

The Plc Kid
June 12th, 2009, 07:38 PM
Did i set this up correctly? Should it work?

Mickey
June 12th, 2009, 07:40 PM
Did i set this up correctly? Should it work?


It should work.
HMI writing to it? ( B3:5/15)

Mickey
June 12th, 2009, 07:47 PM
Is the code above in a subroutine that's not being called all the time?

The Plc Kid
June 12th, 2009, 07:52 PM
Nope i check the tag Db in the easytouch panel that it is connected to. No tags with that address used or unused.

The address is not used anywhere else in the plc program.

As long is i hold the silence/ack pb or force it on the circuit works correctly and silences the horn. but it will not seal itself in.

Maybe i can get the boss to let me post the .rss with no comments. Would that help? I just don't know what else to check.

my boss seems to thing i set it up wrong.He thinks just because i am 18 that i can't know what i am doing.I am glad to hear that it is not a rookie mistake. I have been second guessing myself all day.

Thanks

The Plc Kid
June 12th, 2009, 07:53 PM
"checked"

My typing is bad tonight.

bernie_carlton
June 12th, 2009, 07:53 PM
Look for any indirects:

B3:5/[xxx]
B3:[xxx]/15
B3:[xxx]/[yyy]

The search won't pick up any effect of these.

Also any whole word access:

B3:5

Your 'working while held' implies that the bit is somehow being turned off prior to that point in the program.

Mickey
June 12th, 2009, 07:59 PM
my boss seems to thing i set it up wrong.He thinks just because i am 18 that i can't know what i am doing.I am glad to hear that it is not a rookie mistake. I have been second guessing myself all day.

Well he may have a point there. Although I was pretty smart when I was 18. I was even smarter at 16, just ask my dad.

The Plc Kid
June 12th, 2009, 08:10 PM
We are using a lot of indirect addressing in this program.

Why will search not pickup indirects?

What about the usage screen. will it show indirects as used?

I typically let logix auto assign the next unused bit so in doing this is it possible for logix to assign a bit that is used as an indirect?

If it has no way to find indirects how would it know not to auto assign a particular bit?

I am trying to understand the inner workings of logix so i do not get bitten like this.

The Plc Kid
June 12th, 2009, 08:13 PM
Is it possible it could be a firmware issue?

How can i tell what firmware i have on the processor from logix?

gmferg
June 12th, 2009, 09:34 PM
We are using a lot of indirect addressing in this program.

Bernie is on the right track.
Indirects will not show in search and will not show in usage and will not prevent conflict when allowing RS500 to choose next unused address. They will show in cross-reference but, that is not very useful. See image below.

Not likely firmware issue.

10688

bernie_carlton
June 12th, 2009, 10:13 PM
Gmferg is correct (patting each other's back). The search has no idea what the value of the indirect will be at runtime. It could be anything within the range of the data table. Should it show all possible bits as used?

Check every use of indirects which reference the B3 data table. Start with anything starting with B3:5 for indirect bits. Then B3 with indirect words. You may find something. It may be a long exercise in nothing. Or it may be a lesson in blindly taking the next available suggestion from RSLogix.

Lancie1
June 12th, 2009, 10:21 PM
Kid,

Bernie's solution is the most probable. Somewhere in your program, there probably is an insruction that is writing a value to B3:5 (16-bit word), which will include your bit, and resets it to 0.

Your bit could be over-written by many different instructions that use Indirect-addressing, or even by such program instructions as COP (Copy File) which can copy values into a large series of memory words, or FLL (File Fill) which will copy a value into many 16-bit words.

None of these will necessarily show up in a search, or as a "used address".

An easy fix is to use a different bit for your seal-in!
Why will search not pickup indirects?This PLC is not yet "smart" enough. Maybe someday...
What about the usage screen? Will it show indirects as used?Unfortunately, it will not. I have learned this over and over, the hard way!
I typically let logix auto assign the next unused bit so in doing this is it possible for logix to assign a bit that is used as an indirect?Yes! Yes!
If it has no way to find indirects, how would it know not to auto assign a particular bit? It doesn't!

PS: You did "verify" the rung after you did your editing, didn't you?

leitmotif
June 12th, 2009, 11:40 PM
Nope i check the tag Db in the easytouch panel that it is connected to. No tags with that address used or unused.

The address is not used anywhere else in the plc program.

As long is i hold the silence/ack pb or force it on the circuit works correctly and silences the horn. but it will not seal itself in.

Maybe i can get the boss to let me post the .rss with no comments. Would that help? I just don't know what else to check.

my boss seems to thing i set it up wrong.He thinks just because i am 18 that i can't know what i am doing.I am glad to hear that it is not a rookie mistake. I have been second guessing myself all day. Thanks

Schematic as shown looks good to me the alarm silence portion i believe is correct. What I wonder is - is the float switch resetting too quick?

I agree with Bernie. Most of my problems like this were caused either by typos or assigning the same bit value to two different actions. Pullled a few hairs finding my own dumb mistakes. Hard copy your logic and go thru with red pen for every b 3 5 15 to make sure no duplicates by error.

Dan Bentler