String I/O Tags
Counted towards your tag license limit.
This is a legacy tag type. You are advised to use the I/O and Calculations Tag instead.
Use this legacy type only if you are certain that it contains unique features that are absolutely necessary to your work.
String I/O tags are used to read or write text values. They are designed to be simple to configure and straight-forward to use.
If you wish to use a String I/O tag for local storage of values, you must clear the I/O device field. Doing so will allow the String I/O tag to retain values without an attached driver.
Retained or Persisted values
Analog Control and Analog Output tags will both retain their last written value across application restarts. Use these tags when there is a need for a value to persist.
String I/O tags with output enabled, and with no driver ("No tag selected" rather than the default, "[*Driver] None found") will retain their last written value across application restarts.
The Digital Control and Digital Output tags do not have a similar feature, but an analog tag can be used in their place, writing a zero or a one. If the intent is to write a clear zero or one with an analog tag, both the scaled and unscaled range should be adjusted for a minimum value of zero and a maximum value of one, so that scaling does not adjust the values.
Reading Strings
If reading string data, note that not all PLCs will store characters in the same in order in registers. Further, registers may vary in size from one PLC type to another.
If the string read from your registers has characters that are not in the order you expected, use the BuffOrder() function in an expression to swap the order of the characters so that they do match what is expected. Do this by creating one I/O and Calculations tag to read the value, then create a second with an expression to read the value in the first and apply the BuffOrder function. The second I/O and Calculations tag will not count against your license because it does not use a read or write address.
Better practice is to program the PLC to send an integer code that can be mapped to a phrase in VTScada. The result can be used in a multilingual application and can reduce the amount of data transmitted.
Example: A BuffOrder call for a word-sized register with the character order swapped:
BuffOrder([<SourceTag>], 0, 1, 2, N)
...where the value N should be the half the length of the buffer.
The ID tab of every tag includes the same common elements: Name, Area, Description, and Help ID.
Name:
Uniquely identifies each tag in the application. If the tag is a child of another, the parent names will be displayed in a separate area before the name field.
You may right-click on the tag's name to add or remove a conditional start expression.
Area
The area field is used to group similar tags together. By defining an area, you make it possible to:
- Filter for particular tag groups when searching in the tag browser
- Link dial-out alarm rosters to Alarm tags having a particular area
- Limit the number of tags loaded upon startup.
- Filter the alarm display to show only certain areas.
- Filter tag selection by area when building reports
When working with Parent-Child tag structures, the area property of all child tags will automatically match the configured area of a parent. Naturally, you can change any tag's area as required. In the case of a child tag, the field background will turn yellow to indicate that you have applied an override. (Orange in the case of user-defined types. Refer to Configuration Field Colors)
To use the area field effectively, you might consider setting the same Area for each I/O driver and its related I/O tags to group all the tags representing the equipment processes installed at each I/O device. You might also consider naming the Area property for the physical location of the tag (i.e. a station or name of a landmark near the location of the I/O device). For serial port or Roster tags, you might configure the Area property according to the purpose of each tag, such as System or Communications.
You may define as many areas as you wish and you may leave the area blank for some tags (note that for Modem tags that are to be used with the Alarm Notification System, it is actually required that the area field be left blank).
To define a new area, type the name in the field. It will immediately be added. To use an existing area, use the drop-down list feature. Re-typing an existing area name is not recommended since a typo or misspelling will result in a second area being created.
There is no tool to remove an area name from VTScada since such a tool is unnecessary. An area definition will exist as long as any tag uses it and will stop existing when no tag uses it (following the next re-start).
Description
Tag names tend to be brief. The description field provides a way to give each tag a human-friendly note describing its purpose. While not mandatory, the description is highly recommended.
Tag descriptions are displayed in the tag browser, in the list of tags to be selected for a report and also on-screen when the operator holds the pointer over the tag’s widget. For installations that use the Alarm Notification System, the description will be spoken when identifying the tag that caused the alarm.
The description field will store up to 65,500 characters, but this will exceed the practical limits of what can be displayed on-screen.
This note is relevant only to those with a multilingual user interface:
When editing any textual parameter (description, area, engineering units...) always work in the phrase editor. Any changes made directly to the textual parameter will result in a new phrase being created rather than the existing phrase being changed.
In a unilingual application this makes no difference, but in a multilingual application it is regarded as poor practice.
Help Search Key
Used only by those who have created their own CHM-format context sensitive help files to accompany their application.
Use this tab to specify the device driver and the address where values are to be read or written.
If output strings are to have a minimum length, you can choose to add spaces, further specifying whether those spaces should be added at the beginning, the end, or equally to either side of the string.
I/O Device
Select the communication driver tag from which data will be read.
By default, the tag will look for a parent tag that is a device driver (*Driver). If none is found, the text "--Missing--" will be displayed. The tag button to the right of the field opens the tag browser, from which you can either select an existing communication driver tag or add a new one. The X button will clear the field. Right-clicking on a tag in the field will open a dialog with which you can add or remove a Snapshot Expression or open a selected driver's properties dialog.
Address
Provide the address within the I/O device to which this tag is to write data. This value must match the configuration of your PLC or RTU hardware. Refer to the Addressing topic for your particular device driver for guidance.
For some drivers (SNMP and the OPC Client) an address browser is provided to assist you.
Scan Interval
Provide the frequency, measured in seconds, at which the I/O device should be scanned for new data. Reduce system load by setting this as high as possible, as appropriate for the equipment being monitored. If the I/O Device is a Polling driver, which provides its own scan interval, then this field will not accept data.
Manual Data
Sets a constant value that will be used instead of live data. Use when testing a new tag if you need to check behavior when a value is outside the normal operating range. Tags that have manual data are marked by a flashing exclamation mark within any linked widgets. Logged values are marked with an exclamation. Always reset this to blank after testing.
Enable Output
If selected, this input tag may also be used to write data to the specified address of the communication driver. A Security Privilege may be set in the Quality tab to restrict access to this feature.
Values that are to be written may be padded with blank spaces to achieve a minimum length
Pad With Spaces
Enabled only when output is enabled. Selecting this box is the first step in specifying a minimum number of characters to be sent in each write operation.
Minimum Length
Enabled only when Pad With Spaces has been selected. Use this to specify the minimum number of characters to be sent in each write operation.
Justify
Enabled only when Pad With Spaces has been selected. Extra spaces, added to meet the minimum string length, may be added at the beginning of the string (Right Justify), at the end of the string (Left Justify) or equally at either end of the string (Center).
String I/O properties: Merit tab
Privilege
Select a custom security privilege
Questionable Data
Use the Questionable Data parameter to flag this tag’s data in the event that you suspect the values it is reporting might not be accurate, or when this tag has initially been created and you wish to ensure that its data is marked for extra monitoring.
String I/O properties: Display tab
Use this tab to set tag's position in the I/O lists of a Site Details page, relative to other String I/O tabs.
String I/O properties: Historian tab
Historian
If an Historian tag is selected, this tag's run-time values will be saved for use in reports and the Historical Data Viewer. Historian configuration and advanced logging options are described in the discussion of the Historian Tags.
If your goal is to disable logging, set the Enable parameter (below) to 0 rather than deleting the Historian parameter.
There are consequences if you change the selected Historian tag after you have begun collecting data. If you switch to a new Historian (perhaps for organizational or load sharing purposes), the data collected for this tag by the previous Historian will become inaccessible. Historian selection and configuration should be done during the project design stage.
Enable Logging
If values should be logged only while certain conditions are true, you can tie the Enable Logging option to any tag or expression that will change from zero (logging disabled) to non-zero (usually 1; logging enabled).
The following widgets are available to display information about, or allow data entry for, your application’s String I/O tags: