Using CitectSCADA > Tagging Process Variables > Configuring Variable Tags > Variable Tag Properties

Variable Tag Properties

You can use this dialog for Configuring Variable Tags. Variable tags have the following properties:

Variable Tag Name

You can use any name for a tag (79 characters) provided it follows the Tag name syntax and isn't the same as the name of a Cicode function within the project or any included projects (see Defining Variable Tag Names for a list of restrictions on naming). If you have many tags, use a naming convention (see Using structured tag names). This makes it easier to find and debug your tags.When the tag name is referenced on a graphics page, Cicode, etc., it can be used with or without a specific tag element or item.

If you are using distributed servers, the name needs to be unique to the cluster (for example, you cannot have the same variable tag name in more than one cluster).

Cluster Name

The name of the cluster to which the tag applies (16 characters). Select a cluster name from the list of available clusters as defined under Cluster Definitions.

Data Type

The type of I/O Device variable (16 characters). I/O Devices support several data types that are used to exchange data with CitectSCADA. Because of the lack of an industry standard, most I/O Device manufacturers use individual naming conventions for their I/O Device variables. However, every variable corresponds to one of the Tag data types.

Note: If you do not specify a range for your tag, then an out of range alert message will be generated if you write a value which is outside the range of the type.

You need to specify the correct data type that corresponds to the data type of the I/O Device variable you are configuring. Each data type has a unique address format. You need to use this format when you are specifying the address of the variable (as the Address property).

You will want to verify that you only use data types that are valid for your I/O Device. If you do not specify a data type, the variable will be treated as 16-bit integer.

CitectSCADA supports concatenation of I/O Device registers. For example, you can define a real data type (in CitectSCADA) as two contiguous int data types (in the I/O Device). CitectSCADA reads across the boundary of the two ints and returns a real.

If you use concatenation of registers, the address of the variables needs to be on odd boundaries or even boundaries. You cannot mix address boundaries. For example, V1, V3, V5 are valid addresses.

Be careful when using this feature: the I/O Device needs to maintain the integrity of the second register. (If the I/O Device writes to the second int, the value of the real could be corrupted.) The structure of some I/O Devices might not support this feature, and might therefore behave unpredictably.


Do not mix the use of odd and even variable addresses as boundaries when you are concatenating registers.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

String variables

While numeric variables are more common, some I/O Devices also support ASCII strings. You can use strings to store text data (for example, from a bar code reader).

All strings needs to be NULL-terminated in the I/O Device. CitectSCADA uses the NULL character to check for the end of a string, and if no NULL character is present, CitectSCADA reads (and displays) any extra characters in memory, after the end of the string.

When you are using a disk I/O Device, you can also specify a string data type for storage of recipes, or for operator display information.

Not every I/O Device supports strings. However, if your I/O Device does support integer data types, CitectSCADA can use these integer registers to store ASCII strings in your I/O Device. CitectSCADA strings can only be stored in contiguous blocks (consecutive registers), and are stored as an array.

Note: Non printable characters within string tag values will be substituted with spaces e.g. string [ 0x01, 0x41, 0x10, 0x42 ] will appear as " A B", so cache loading continues to operate.

To display the data types for an I/O Device, double-click the I/O Devices book from the Help, select your I/O Device from the list, and then select the Data Types topic.

I/O Device Name

The name of the I/O Device where the variable is stored (31 characters). If using I/O Device redundancy, you need to specify the primary I/O Device name here, not the standby.


The register address in the I/O Device where the variable is stored (254 characters). The format and prefix of an address will depend on the protocol configured for the I/O Device, which can be determined by checking the Protocol field on the I/O Devices form in Project Editor.

Raw Zero Scale / Raw Full Scale

The unscaled (raw) values (of the variable) that represent the zero point and full scale point for the data (11 characters). The raw values are the values that CitectSCADA reads from the I/O Device.

Eng Zero Scale / Eng Full Scale

The scaled values that CitectSCADA calculates from the raw values (11 characters). The Raw Zero Scale is scaled to the Eng Zero Scale and the Raw Full Scale is scaled to the Eng Full Scale. These properties are represented in engineering units and are used as the upper and lower limits of trends and bar graphs.

Most I/O Devices return an integer to indicate the value of an analog input. To return a usable value, the I/O Device converts an input signal (usually 4-20 mA) to a raw scale variable, usually (but not always) in the range 6400 to 32000.

To present this variable as a meaningful value, you can specify a scaling calculation. CitectSCADA then scales every value accordingly, as in the following diagram.

The scaled value of the variable (engineering value), not its raw value, is used throughout the system.

The scaling properties are optional. If you do not specify scaling, Eng Zero Scale defaults to Raw Zero Scale, and Eng Full Scale defaults to Raw Full Scale; that is, no scaling occurs.

A value that is below the specified Raw Zero Scale or above the specified Raw Full Scale causes an "Out of Range" alert message in your runtime system.

Eng Units

(8 characters.) The engineering units that the value represents (for example %, deg, mm/sec, etc.). This property is optional. If you do not specify engineering units, no engineering units are used.


(11 characters). The display format of the value (of the variable) when it is displayed on a graphics page, written to a file, or passed to a function (that expects a string). This property is optional. If you do not specify a format, the format defaults to ####.##.


(11 characters). A deadband allows the value of a variable tag to fluctuate within a defined threshold without updates being sent through the system. This may be useful if a tag produces many small, insignificant value changes. The threshold is represented as a percentage of the tag's engineering range. The default value is 0 (zero), which captures every value change.

For example, if a variable tag has an engineering range of zero to 10000, a deadband of 1 would mean a change in value would have to be greater than 100 (or 1 percent of the range) to be recognized. If the current value was 5600, the tag in the PLC would have to change to a value greater than 5700 or less than 5500 before an update would be sent through the system.


Any useful comment (48 characters).


The Linked field in the status line of the Variable Tags form reads either Yes or No and indicates whether or not the variable tag is linked to an external data source. When you program an I/O Device using software other than CitectSCADA, an external data source is used to store tag data. Linked variable tags are updated whenever external tag data changes, meaning you do not need to enter the information again in CitectSCADA.