Sign in to follow this  
Followers 0
immunoman

Controller Scoped vs. Program Scoped

3 posts in this topic

What's the difference between a controller scoped and program scoped tag in RS Logix 5000?

Share this post


Link to post
Share on other sites
Controller scope tags can be address in all programs. Program scope tags can only be address in the specific program that they are created in. If you are only running one program then I would create all tags at the controller scope.

Share this post


Link to post
Share on other sites
everything from my distinguished colleague TWControls is absolutely correct ... but for some people new to RSLogix5000, his answer might still lead to a misinterpretation ... basic idea: the word “program” can be troublesome until you get used to it ... in RSLogix5 and RSLogix500 the word “program” is usually taken to mean “the whole thing” lock-stock-and-barrel that gets downloaded into the processor ... that would include any ladder logic files, data files, etc. but – things are different in RSLogix5000 ... in RSLogix5000 the word “program” gets demoted ... instead the word which is usually taken to mean “the whole thing” lock-stock-and-barrel that gets downloaded into the processor is now the “project” or the “application” ... going further, within that one “project/application” you might have MORE THAN ONE “program” ... so ... in RSLogix5000 a tag which has been scoped at the “controller level” can be used anywhere within the entire “project/application” ... (well, generally it can – but see * exception below) on the other hand ... a tag which has been scoped at a “program level” can only be used within that one “program” ... common source of confusion: some people new to RSLogix5000 take the word “program” to mean the same thing that it means in RSLogix5 or in RSLogix500 ... if taken THAT way, then a “program scoped” tag could be used ANYWHERE within the “whole thing” ... that is INCORRECT – but many people misinterpret what they hear ... * exception to the “rule” given above ... now suppose that you have a “controller scoped” tag named “MOTOR” ... and that you ALSO have a “program scoped” tag named “MOTOR” ... (yes, that’s entirely possible) ... and suppose that you decide to control a tag named “MOTOR” someplace within that “scoped” program ... question: which “MOTOR” do you suppose will be controlled? ... answer: the PROGRAM-SCOPED “MOTOR” will be controlled ... so ... this example represents an exception to the “controller-scoped-can-be-used-anywhere” rule ... specifically in THIS type of case, the “controller scoped” tag can NOT be controlled “anywhere/everywhere” ... (note: unless you set up an alias for it, etc.) ... finishing up ... here’s one common “gotcha” that frequently perplexes a beginner along these lines ... suppose that Technician Tom needs to find all of the “pumps” within his entire project/application ... a very common misconception is to search at the “CONTROLLER LEVEL” ... the idea is that by conducting the search that way, the technician is guaranteed to find “ALL OCCURRENCES WITHIN THE CONTROLLER” ... oops! ... it doesn’t work that way ... specifically, if there happen to be “pump” tags which are scoped at any PROGRAM levels, then searching at the CONTROLLER level will not find those tags ... again, there is NOTHING wrong with what TW posted, but I’ve seen many people misinterpret the types of facts in that answer ... I hope this helps rather than confuses ... Edited by Ron Beaufort

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