Example and practices in using Program Scope Tags


In your RSLogix/Studio 5000 course you have mentioned about controller and program scope tags but you did not really provide an example that will show what is the best application and practices in using the program tags. In Siemens platform there is really a differentiation and the right way to use a local and global data. I would greatly appreciate your reply.


Hi Onell,

From what I’ve seen in the field, there’s no “best practice” for this on the Allen Bradley side. I personally believe that it is a missed opportunity.

The way I structure my programs is as follows:

  1. Any tag that will only be used within a program should be defined at the program scope.
  2. Any tag that has to be used across programs should be defined at the PLC level.
  3. If an initially program scoped tag needs to be read by the PLC (ex: using it for data in another program) you should create a PLC scoped tag that is set by the program scoped one and can only be read (not modified) by another program.

To be completely transparent, this comes down to programmer and facility preference. I’ve seen plants in which all tags with PLC scoped and some that had tags all over. I think that as long as you define a structure upfront and follow it, you’ll be ahead most other programmers in how you approach and troubleshoot / maintain these programs.


Thank you so much for your reply.