RSLogix5000 Tag property - Constant

RonJohn

Lifetime Supporting Member
Join Date
Jul 2013
Location
NE Ohio
Posts
535
Happy Friday. I'm going to be spending a lot of time in the future with my new gig converting PLC 5 & SLC programs to RSLogix/Studio 5000 based units. I've seen the "constant" tag property show up in the more recent versions of Logix5000 software but haven't used it yet.

In the past, we'd simply write a value into an N register or hard code it in the logic. If I'm going to make a change, I'd prefer to standardize. For those of you who've tried this new property, I'd appreciate knowing the pros/cons of using it, along with your recommendation. Thanks in advance.
 
A quick quote from the help file:

"You can designate tags as constant values to protect them from being changed programmatically. This prevents critical data from being modified by unauthorized users via: the controller programming application and the logic in the controller."

I have a few machines in my plant that employ this tag type, but I also have 20x more SLC's that are set up like you describe. I can't speak to the utility of this property, but that is my understanding of what it is.

Bill
 
The "constant" property is an additional layer of security, allowing you, the programmer, to lock out any changes to the tag from user code, or external machines.

I would use it for tags containing constant values like pi, or e, or avagadro's constant, or anything else that really shouldn't, or needn't, be changed, ever...
 
A quick quote from the help file:

"You can designate tags as constant values to protect them from being changed programmatically. This prevents critical data from being modified by unauthorized users via: the controller programming application and the logic in the controller."

I have a few machines in my plant that employ this tag type, but I also have 20x more SLC's that are set up like you describe. I can't speak to the utility of this property, but that is my understanding of what it is.

Bill
true but this tags can be set externally VIA CIP class 3 or any other back-plane
so if you want a real protection you change them to constant and read only
 
This post comes up high in google search, so I'll add a few comments:


Making a tag constant only does the following:
-Logic attempts to write the tag throw a compile error
-When the tag value is shown in the logic view, attempting to change the value by manual entry doesn't work (ie if it's a parameter to a MUL instructon, if you click the value and type a new one it does nothing)
-Constant tags can be monitored for value change using the controller's change detection feature. You can react but not fix a changed value.


You can still change the value using external mechanisms, but setting the tag to read only blocks this.



No matter what you do, someone can go into the tag browser/editor and type in a new value. There is no way to block this except for source protecting the entire controller. At least the value box has a blue square that indicates that it's a constant. But it's not really fool proof.



So the you're left with one of the three options:
-use controller level source protection, but you'll have to give programmers/maintenance access anyways and they're the only people who could cause this kind of issue, so not really viable

-write the values frequently on a non-constant tag. But the value can be changes easily, even if the change is short lived.

-use constant tags with change detection and react by latching an alarm and doing a controlled down. Require someone to go into the PLC to unlatch. Hope the constant change doesn't cause a controller fault in the process that might damage equipment.

-use constant tags without change detection and assume some level of competence from your programming/maintenance team


No perfect solution here. I tend to like the philosophy of using constants with change detection to latch an alarm. It takes a somewhat intentional action to change the value.
 

Similar Topics

I am having a problem understanding how to assign tags for a simple stop - start push buttons. The Logix 5000 routine to stop and start the pump...
Replies
17
Views
4,933
Hello, I am tasked to update a CompactLogix PLC program on a live system. The updates I need to make involve changing a user-defined data...
Replies
9
Views
2,096
I have two separate programs open in two instances of RSLogix5000. Each program has a user defined tag that is a large array of a user defined...
Replies
7
Views
9,315
Is there any way to export live tag values to excel using rslinx classic lite?
Replies
3
Views
3,640
If I have a tag that is updated from one of several different tags, and each of those several different tags are, in turn, reliant on other tags...
Replies
1
Views
1,483
Back
Top Bottom