Sign in to follow this  
Followers 0
Guest Chido

Help from those AB experts

8 posts in this topic

Hello everybody: I am new to this forum. I have been programming PLCs for a while now, but I have used Allen-Bradley only a few times. Altough I think it is a great PLC there are some thing that I don't like. These things are kind of anoying to me but maybe I dont know how to handle them. So, please Allen-Bradley experts, help me with these questions: 1) How do you force a B3:xx address? I don't want to toggle, I want to force it. 2) Is it possible to skip all those steps to edit on line? I dont want to go through accept, test and assembly all the times. 3) How do you prevent from repeating addresess on coils (OTE)? I don't want to repeat coils with the same address. 4) Why do you have assign an adress for one shots? I worked with a SLC 500. Thanks a lot.

Share this post


Link to post
Share on other sites
1) you cannot 2) no, you have to do all three dang steps 3) some software packages allow warnings for double coils, some do not like double colis at all, some do not generate proper crossreference... the best way to stay out of trouble is to do some planing first, be careful along the way and occasionally trace your steps. 4) because you have to. one day when me or you become RS managers, maybe things will be different. untill then...

Share this post


Link to post
Share on other sites
You can force Bits if they are "self holding". I do this for testing logic on elevator controls.

Share this post


Link to post
Share on other sites
This is not "forcing". You cannot force non-I/O addresses in AB PLCs.

Share this post


Link to post
Share on other sites
Thanks for your answer Panic Mode, I guess AB has a reason for those "incoveniences", but overall it is a great PLC.

Share this post


Link to post
Share on other sites
1) How do you force a B3:xx address? I don't want to toggle, I want to force it. Forcing as an idea ONLY applies to I/O addresses. What actually happens is that during the "housekeeping" part of the processor cycle, the I/O image tables (Files 0 and 1) are written to the actual physical I/O. The processor also has another copy of the I/O image tables called the Force table. All reads and writes to the I/O modules are passed thru the Force Table. If you think about there are three possible states for a Force flag: ON, OFF or Do Nothing. Much of the smoke and mirrors that make forcing work is hidden from the user...so much so that it is easy to forget what is actually happening. Once you think about this you will see that the idea of "forcing" other data tables, such as B3/xxx doesn't make sense. 2) Is it possible to skip all those steps to edit on line? I dont want to go through accept, test and assembly all the times. Yes everyone has from time to time wished this were so ..but... consider WHY AB has always done online editing this way. The steps involved are: Accept : Check the new rung for compiler errors Test : Substitute the new rung in the program for the old one. Assemble : Delete the old rung and commit to the new one. If you were allowed to do all this in one step, I guess most users would use this time saving option most of the time....except that every now and then, someone would edit in a new rung that caused damage or disaster, and have no quick way to back out. Who is liable then?? 3) How do you prevent from repeating addresess on coils (OTE)? I don't want to repeat coils with the same address. Good programming technique. The ability to use multiple OTE's on the same address is useful when you are using the "Zone Control" method of programming. What this meant is that you could have quite different pieces of logic controlling the same outputs...but only one segment (or zone) is scanned at the same time, so there is no conflict. Also the same idea is handy if you are calling output addresses from subroutines. All up it allows for more flexibility in the programming techniques available. If they didn't allow for it, then lots of programmers would bitterly moan about how they couldn't use multiple OTE's. 4) Why do you have assign an adress for one shots? For a One Shot to work it needs a history flag somewhere in the system. Either the operating system has to allocate it's own flag's hidden in some dedicated corner of processor memory (and thereby having some fixed limit)...or you allocate your own from the pool of explicit addresses in the user data tables, where you can see it and monitor them if perchance you want to. What I most ppl usually do is create a whole data table, eg B10:/xxx dedicated for One Shot History flags so as to help ensure they don't get mixed up with the other logic flags. Personally I never use One Shots. They are a poor form in my book and there is always a better way. Edited by PhilipW

Share this post


Link to post
Share on other sites
I can't cover it any better than PhilipW did, but here's a handy idea that addresses two of your concerns. If you want to "force" a B3 bit, add a temporary jumper branch in your logic around all of the conditions in the rung containing the B3 output you want to energize. Accept the rung, then you can use Test/Untest Edits to turn your "force" on and off as often as you please. When you are finished, just Cancel edits and your program returns to the way it was before with no harm done.

Share this post


Link to post
Share on other sites
Thanks PhilipW, but wow!!! do you work for Rockwell? I'll guess I learn those tactics and thanks for the tip steve708. Chido

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0