Tag properties (also known as "tag fields") are metadata attached to each tag in the database. Most of these properties can be set using the Tag Properties dialog, which you can open by clicking the Tag Properties button on the Tag Properties toolbar.
tag_name->property_name
Tag Property | Description | R or R/W | Data Type | Available on Data Type… | Retain | |||
---|---|---|---|---|---|---|---|---|
Bool | Int | Real | Str | |||||
Name | The name of the tag, as configured in the Project Tags database. | R | String, up to 32 chars | Y | Y | Y | Y | n/a |
MemberName | The name of the class member, in a properly
configured Class. NOTE: The syntax must
be:
Class.Member->MemberName Example: Tank.Lvl->MemberName = Lvl |
R | String, up to 32 chars | Y | Y | Y | Y | n/a |
Size | Array Size. If the tag is not an array tag, it returns the value 0 | R | Integer | Y | Y | Y | Y | n/a |
Index | The index number of an element in an
Array. (An Array is
any Tag of size greater than 0.) NOTE: The syntax must be:
Tag[Index]->Index Example: Tag[1]->Index = 1 |
R | Integer | Y | Y | Y | Y | n/a |
Description | The description of the tag, configured in the Tags datasheet. | R | String | Y | Y | Y | Y | Y |
Quality | Tag quality (192=GOOD; 0=BAD). The project
updates this field every time the tag receives the result of an
expression or a value from a communication task (such as driver or
OPC).
If the expression is invalid (such as, division by zero) or if there is a reading communication error associated with the tag, then the project sets the quality to BAD. |
R | Integer | Y | Y | Y | Y | N |
TimeStamp | Time and date when the value of the tag last changed. | R | String | Y | Y | Y | Y | N |
Blocked | This property can have two values:
This is useful when you want to dynamically disable all actions associated with a specific tag. Even when a tag is blocked, however, it still counts towards the total number of tags used for licensing purposes. |
R/W | Boolean | Y | Y | Y | Y | N |
Unit | A brief description (up to 9 characters) of the Engineering Unit (i.e., the unit of measurement) for the Tag value. For example, Kg, BTU, psi. | R/W | String, up to 9 chars | Y | Y | Y | Y | Y |
Max | The maximum value that can be written to the tag during runtime. | R/W | Real | N | Y | Y | N | Y |
Min | The minimum value that can be written to the tag during runtime | R/W | Real | N | Y | Y | N | Y |
B0 … B31 | Value (0 or 1) of any of the 32 bits (b0, b1, b2, … b31) of an Integer tag. (B0: LSB B31: MSB) | R/W | Boolean | N | Y | N | N | N |
DisplayValue | A converted Tag value that is only
displayed on-screen:
DisplayValue = (Value / UnitDiv) + UnitAdd This is used when the actual Tag values have one Engineering Unit (see Unit above) but need to be displayed on-screen in another Engineering Unit (see DisplayUnit below). For example, Celsius degrees and Farenheit degrees. If user input changes DisplayValue during runtime, then the conversion is reversed before the change is actually written to the Tag: Value = (DisplayValue − UnitAdd) * UnitDiv |
R/W | Real | N | Y | Y | N | n/a |
DisplayUnit | A brief description (up to 9 characters) of
the Engineering Unit for DisplayValue.
NOTE: This property can only be set by using the SetDisplayUnit and SetTagDisplayUnit functions. |
R | String, up to 9 chars | N | Y | Y | N | N |
UnitDiv | Number by which the Tag value is divided to
get DisplayValue. To perform no
division, UnitDiv should be 1.
NOTE: This property can only be set by using the SetDisplayUnit and SetTagDisplayUnit functions. |
R | Real | N | Y | Y | N | N |
UnitAdd | Number added to the Tag value to get
DisplayValue. To perform no addition,
UnitAdd should be 0.
NOTE: This property can only be set by using the SetDisplayUnit and SetTagDisplayUnit functions. |
R | Real | N | Y | Y | N | N |
DisplayMax | The maximum value that can be input to
DisplayValue during runtime:
DisplayMax = (Max / UnitDiv) + UnitAdd If DisplayMax is changed during runtime, then Max is also changed as follows: Max = (DisplayMax − UnitAdd) * UnitDiv |
R/W | Real | N | Y | Y | N | N |
DisplayMin | The minimum value that can be input to
DisplayValue during runtime:
DisplayMin = (Min / UnitDiv) + UnitAdd If DisplayMin is changed during runtime, then Min is also changed as follows: Min = (DisplayMin − UnitAdd) * UnitDiv |
R/W | Real | N | Y | Y | N | N |
HiHiLimit | Limit value for the HiHi alarm. | R/W | Real | N | Y | Y | N | Y |
HiLimit | Limit value for the Hi alarm. | R/W | Real | N | Y | Y | N | Y |
LoLimit | Limit value for the Lo alarm. | R/W | Real | N | Y | Y | N | Y |
LoLoLimit | Limit value for the LoLo alarm. | R/W | Real | N | Y | Y | N | Y |
RateLimit | Limit value for the Rate alarm. | R/W | Real | N | Y | Y | N | Y |
DevSetpoint | Setpoint value for Deviation alarms. | R/W | Real | N | Y | Y | N | n/a |
DevPLimit | Limit value for the Deviation+ alarm. | R/W | Real | N | Y | Y | N | Y |
DevMLimit | Limit value for the Deviation- alarm. | R/W | Real | N | Y | Y | N | Y |
HiHi | If 0, the HiHi alarm is not active. If 1, the HiHi alarm is active. | R | Boolean | Y | Y | Y | N | n/a |
Hi | If 0, the Hi alarm is not active. If 1, the Hi alarm is active. | R | Boolean | Y | Y | Y | N | n/a |
Lo | If 0, the Lo alarm is not active. If 1, the Lo alarm is active. | R | Boolean | Y | Y | Y | N | n/a |
LoLo | If 0, the LoLo alarm is not active. If 1, the LoLo alarm is active. | R | Boolean | Y | Y | Y | N | n/a |
Rate | If 0, the Rate alarm is not active. If 1, the Rate alarm is active. | R | Boolean | Y | Y | Y | N | n/a |
DevP | If 0, the Deviation+ alarm is not active. If 1, the DevP alarm is active. | R | Boolean | N | Y | Y | N | n/a |
DevM | If 0, the Deviation- alarm is not active. If 1, the DevM alarm is active. | R | Boolean | N | Y | Y | N | n/a |
AlrStatus | Integer value with the status of the
current active alarms associated to the tag. Each bit of this
integer value indicates a specific status:
Examples: If Tag‑>AlrStatus returns the value 2, it means that "Hi" alarm is active. If it returns the value 3, it means that the "HiHi" and the "Hi" alarm are active simultaneously. If this property returns the value 0, it means that there are no active alarms associated to this tag. For Boolean tags, only the values 1 (bit 1), 4 (bit 2) or 16 (bit 4) can be returned. |
R | Integer | Y | Y | Y | N | N |
Ack | This property can have two values:
This works as a global acknowledge for the tag and goes to 0 only when all alarms for the tag have been acknowledged. |
R | Boolean | Y | Y | Y | N | N |
UnAck | This property can have two values:
If you manually set this value to 1, then the active alarms (if any) are acknowledged. The value of this property is always the opposite of the Ack property. |
R/W | Boolean | Y | Y | Y | N | N |
AlrAckValue | Text associated with the Acknowledged state
of a Boolean tag. This text is displayed in the Value column of an
Alarm/Event Control.
You can also edit this text in the Tag Properties dialog (Alarms – Bool Type). |
R/W | String, up to 32 chars | Y | N | N | N | Y |
AlrOffValue | Text associated with the Normalized state
of a Boolean tag. This text is displayed in the Value column of an
Alarm/Event Control.
You can also edit this text in the Tag Properties dialog (Alarms – Bool Type). |
R/W | String, up to 32 chars | Y | N | N | N | Y |
AlrOnValue | Text associated with the Active state of a
Boolean tag. This text is displayed in the Value column of an
Alarm/Event Control.
You can also edit this text in the Tag Properties dialog (Alarms – Bool Type). |
R/W | String, up to 32 chars | Y | N | N | N | Y |
AlrDisable | This property can have two values:
|
R/W | Boolean | Y | Y | Y | N | N |