Variables Database
SV 9.0 ©Copyright 2009 - Reproduction prohibited
Variable database Overview
About the Variable Database
Before starting to build a variable database, it is necessary to understand what the database does and how it is
structured.
To the User, the variable database is seen as a number of variables. Physically, the database is a collection of data
structures, each one describing the behaviour of an individual variable together with its current real-time value
and status.
Variables may be one of four types.
l Bit for logical or two state data.
l Alarm.
l Register for analogue data.
l Text for ASCII or string data.
An alarm variable is a sub-type of bit variable and has the same properties.
The database is stored in a comma delimited ASCII file which may be found on the hard disk in the project's "C"
directory. The file is created and modified automatically as part of the process of creating and changing variables
using the database configuration tools. The database may also be imported and exported in a form suitable for
manipulation by a spreadsheet such as Excel. For speed of access, the database is loaded from disk into memory
at start-up.
The database may be thought of as the engine in your SCADA project. Without it there would be no live data to dis-
play in the mimics, record on disk or send to printers. The functionality it provides may be summarised as follows.
Receive and send raw data to and from other sources. A source may be an piece of equipment such as a PLC,
another SCADA station on a local area network, a DDE server, an OPC server or LonWorks.
l Maintain internally produced values.
l Convert raw data into meaningful values according to defined behaviour.
l Compare analogue values with alarm limits and generate alarms.
l Make discrepancy checks on digital values.
l Record the value of variables on magnetic media or printer.
How the Database is Structured
When each variable is created it is given a name and characteristics selected from a number of options which then
determine its behaviour. The variable's name is the identity by which it is known throughout the Supervisor and
externally to other software (when using OPC for example).
The database is designed so that variables may be grouped together as they would be in the outside world. For
example 3 Bit, 1 Alarm and 2 Register variables may be grouped together to represent a motor. How variables are
grouped is determined by the way in which they are named.
Variable names are structured and may contain up to 6 elements separated by full stops. Each name may be up to
40 characters long, with individual elements limited to 20 characters. How this is used to group variables together
is best illustrated by an example.
A tank has two stirrers each powered by an electric motor. A contactor operates each motor and has an input to
start and stop the motor, and feedback signals to indicate when the motor is running and how much current it is tak-
ing. There is a tachometer on the motor spindle to measure its speed. The tank is part of the effluent treatment
process in a factory. The 8 variables within the database are named as follows:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
The variables in the example above could also be represented in a (horizontal) tree format. When viewed like this
the grouping of variables together becomes more apparent. This display format is in fact the one used by the Super-
visor's database management tool known as the Variable Selector. In the example that follows the database has
been extended to have two tanks with a total of 16 variables.
Show picture
Taking the tree analogy further, all elements of a variables name, except the right most are known as its branch.
For example the branch of [Link] is Effluent.Tank1.StirMotor1.
The right most part of a variable name may be thought of as the leaves.
The way in which variables are grouped together, and how many elements are used in a variable's name is entirely
up to the Developer. Some variables, such as the system variables Date, Time and User, have only a single ele-
ment and as such have no branch.
Arranging variables in hierarchical groups means that development and maintenance of the database is much eas-
ier than a traditional "flat" database. This becomes increasingly important as the size of the project increases. This
is aided by the facilities provided in the database management tool known as the Variable Selector. The main ben-
efit however, is how the database is used in conjunction with graphical objects to speed the development of your
project.
Rules for Variable Naming
The following rules must be followed when creating variables.
l The maximum length of a variable name is 40 characters, including any full stops used to separate the ele-
ments.
l Each element is limited to 20 characters.
l Each variable name may have up to 6 elements.
l If you have syntax checking enabled the characters that may be used are limited to alpha-numeric plus the
underscore.
l With syntax checking disabled all printable characters may be used although this is not advised and may
result in limitations in the functionality of the Supervisor.
l Variable names must not start with a number if they are to be used in SCADA BASIC.
Using the Database with Graphic Symbols
A symbol is a collection of drawing elements and associated animations, that have been grouped together and
stored in a library. From the library, an symbol may be pasted into any mimic as many times as it is needed. An
symbol may represent anything from a simple close button for a mimic, to a very complex piece of equipment with
hundreds of animations. No special tools are needed to create Graphical symbols, they are created in the same
way as any other display element using the Window Editor.
When an symbol is created, any animations connecting attributes of the drawing elements to the value of database
variables, use an indirect reference to the variable names. That is they use only the "leaf" part of a variable name.
A branch is then supplied when the symbol is pasted into a mimic, and actual variable names are calculated at run
time, by concatenating the branch and "leaves".
Returning to the previous example, we could create an symbol representing a stirrer motor. The symbol will need
to indicate if the motor is running, its power consumption and the speed of its spindle. We also want to allow the
operator to turn the motor on and off.
When animating the symbol's drawing elements, indirect reference is made to the variable names. For example
Speed is used instead of [Link]. Subsequently, when the symbol is taken from the
library and pasted into a mimic a database branch is supplied. In this way the same symbol can be used over and
over again with different branches displaying different groups of variables from the database.
This technique has a number of benefits.
l Repetitious drawing is avoided considerably reducing development time.
l The Developer may create his own reusable symbol library specific to field in which he works.
l When an symbol is pasted into a mimic, it is done as a reference. If a modification is to be made to the oper-
ation of an symbol, the changes need only be made to the symbol in the library, all occurrences of it will be
automatically modified.
Domain and Nature
Each variable in the database may be assigned to a Domain and/or Nature. A Domain may be thought of as a geo-
graphical or physical area within the process being monitored, whereas a Nature may be thought of as an indi-
cation of the variable's primary source. In practice a Domain and Nature can be used to represent any logical
division.
The Domain and Nature properties of a variable may be used in a number of ways.
l To select which alarms are displayed in an Alarm Display.
l To filter data that is being recorded either on hard disk or sent to a printer.
l To select which data is displayed in a Log Display.
l To select which variables are displayed in the Select Variable dialog box.
The Domain and Nature configuration dialogs are displayed from the Variables sub-menu and are used to display,
delete, modify and create Domain’s and Nature’s.
Show picture
Each line in the display list contains the name of a Domain or Nature and an optional comment. A maximum of 512
Domains and 512 Natures may be configured.
How to Configure a Domain or Nature
The mechanism for configuring either a Domain or Nature is the same. For the purpose of this explanation a
Domain will be created.
1. Open the Domain Configuration dialog using the menu command [Link].
2. From the task list in the left pane select the Add a Domain task. The Domain Creation dialog is displayed.
Show picture
3. Enter the name of a new Domain and an optional description. Domain names may contain up to 12 alpha-
numeric characters
4. Register the new Domain by selecting the OK command button and then close the Domain Configuration
dialog.
Associated Labels
Text string pairs may be associated with each Bit Variable that are then substituted for the 1 and 0 states to pro-
vide more meaningful information to the User.
Each Associated Label comprises of three separate text pairs.
l The first pair (animation) is used by the Label on Bit animation to display the state of the Bit in a mimic.
Using the example below for a Bit in the 0 state the mimic would display: Stopped
l The second pair (log change) is used together with the Bit title when Bit changes of state are logged to disk
or printer. Using the example below for a change of the Bit to 0 the log would read: 20/09/95 [Link]
Effluent tank pump 1 has stopped
l The third pair (command) is displayed with the Bit title in the dialog box used to confirm the forcing of a Bit's
state by the User. Using the example below the dialog box would display: Effluent tank pump 1 Confirm Stop
Show picture
How to create an Associated Label
1. From the Variable sub-menu select the Associated Label option. The Associated Label dialog box will appear
from which a list of existing labels may be displayed..
2. From the Selection Label List Box *CREATION* and type in the name of the new Associated Label. Associated
Label names may be up to 12 characters.
3. Enter the strings for the 6 associated names. Each string may contain up to 24 alphanumeric characters.
These strings are bilingual.
4. Confirm the new Associated Label by selecting Validate.
Each Associated label may be used with any number of Bits. There is no limit to the number of Associated Labels
which may be created.
Using Associated Labels With Alarms
If you select the Alarm option the Associated labels may be used to replace the standard text strings normally dis-
played by alarms.
Show picture
Level Labels
Bilingual labels of up to 25 characters can be associated with each level of the following categories.
l Command level
l Browsing level
l Alarm acknowledge level
l Alarm masking level
l Alarm maintenance level
The labels are displayed wherever the level appears as a configurable property in a [Link] picture
Level labels are an aid to configuration only. They do not appear at run time.
How to configure a Level Label
1. From the Variable sub-menu select the Level Label option.
2. In the Level Label dialog, select one of the five level categories.
3. Click in the field representing a label and type in the label. If the project has the Bilingual option set an Ellip-
sis button will appear to the right of the field from where you can enter the label for both languages. The
labels are limited to 25 characters.
4. Repeat for each label that you want to configure.
5. Confirm the configuration using either the Apply or OK buttons.
Show picture
The Variable Selector
About the Variable Selector
The Variable Selector displays a list of all variables within the Supervisor's Variable Database and is the Devel-
oper's main tool to view, select, modify and delete database variables. The Variable Selector is opened using the
menu command [Link]. It can also be opened when selecting a variable for an animation.
Show Picture
The list of variable names is displayed in alphanumeric order in a horizontal tree format with one column for each
element in the variable name. Each column can display a maximum of 511 elements. The display may be filtered
by type - using the Bit, Alarm, Register and Text tick boxes - and by Domain and Nature.
The first column displays the first element of all variable names in the database passing the filter criteria. Any var-
iable names which have further elements are indicated by the symbol >> adjacent to the element. Subsequent col-
umns display only elements relevant to the selected branch. In the example above the second column only
displays variables having the first element BUILDING1. The third column only displays variables with first and sec-
ond elements BUILDING1.FLOOR2 and so on. The number of columns displayed dynamically changes depending on
the number of elements in the branch currently selected. The branch selected is changed by clicking with the
mouse in the relevant column.
With a large database it may be necessary to apply a filter to enable variables with names further down
the alphanumeric order to be displayed.
The branch currently selected is highlighted and if it is a complete variable name the following details are dis-
played.
Detail Example
1 The variable's title (Or name) [Link]
2 The current value and status 0.00 [02/05/08 [Link] [NS] WatchCount=1
3 The internal identification (ID) [290]
To display a variable's definition, the selected branch is double clicked or the Variable command button is selected.
If selecting a variable name for an animation, selecting OK inserts the variable name into the animation dialog
box.
Variable Validity
As well as having a real time value all variables have a status. This provides an indication of the validity of the var-
iable's value. When a variable is used in an animation, if it is invalid a special colour or a question mark will be dis-
played instead of its value. In the Variable Selector the following abbreviations are used to indicate the various
conditions which may cause a variable to be invalid.
Abbreviation Condition
NS Not Set (Invalid) - The variable may still have a value but it is no longer being updated.
NS DE Dependent - The variable is invalid because the variable from which it is derived is disabled.
NS EXP Expression - The variable is invalid because one or more variables in the expression form which it
is derived is invalid.
NS OP Operator - The variable has been masked by the operator. This will happen if an Alarm is disabled
in an Alarm Display.
NS M[n] Masked - The variable has been masked by a SCADA BASIC program. The level of the mask [1 to 4]
is also shown.
NS DIS Disabled - The variable has been disabled by using the inhibit tick box in its configuration.
NS COM Communication - The variable source is external, but unavailable (typically due to a communication
failure).
NS L< The value of the variable is less than its specified minimum.
NS L> The value of the variable is greater than its specified maximum.
NS FMT Foramt error. For example a floating point variable does not confirm to the IEEE format.
NS - WD In LNS you can define one of the variables on a node as a watchdog. If this variable cannot be read
all other variables on the node become NS-WD.
It is also possible to access a variable's status using the SCADA Basic instruction, VARIABLE.
Changing the Appearance of the Variable Selector
The appearance of the browser may be changed to suit your own requirements using Variable Selector option from
the PREFERENCES sub-menu.
Show picture
Tab Options and Command Buttons
l Preset number of columns - If selected the number of columns displayed is always the same will be equal to
the maximum number of elements used in the database variable names.
l Width between columns - A number specifying the width in pixels between each column.
l Additional width for dialog box - The Variable Selector is normally 640 pixels wide, that is the full width of a
VGA screen. If the graphic adapter on your PC is running at a higher resolution than this then the width of the
Variable Selector may be increased by entering a number in this field representing the additional width in pix-
els. The width of the columns in the Variable selector will automatically increase to fill the space available.
l Additional width for real time value display - A number specifying the width of an additional area on the right
hand side of Variable Selector in which the real time value of a number of variables may be displayed at the
same time. The width of the Variable Selector increases accordingly.
l Use ratio system for columns - If selected the widths of the columns are defined by the selected ratios. (Nor-
mally the columns are of equal width).
l Show column title - If selected a title block is displayed at the top of each column. The title for each column
may be entered in both the primary and alternative language.
The width of the Variable Selector in pixels = 640 plus the additional width for dialog box plus the addi-
tional width for real time value display.
Configuring variables
Configuring variables in general
How to Configure a Variable in General
Each variable within the database handles a single data point, for example the speed of a motor shaft or the date
for the next maintenance shutdown. The configuration of the variable defines where the data comes from and its
behaviour within the database. Whilst some attributes for the three types of variable (Bit, Register and Text) are
necessarily different, many are common to all variable types.
l How the variable fits in the database structure.
l The source of the variable's real-time value.
l The format of the real-time value for display purposes.
l If the value can be changed by a User.
l If the variable is to maintain its value whilst the Supervisor is shut down.
l If the value is to be broadcast to other SCADA stations on a Local Area Network.
How to Configure a Variable
1. From the Variable sub-menu select either Bit, Register or Text.
2. Enter the name for the variable.
3. Select the required options.
4. Select the Validate command button.
5. From the displayed dialog box choose either Save and the variable's configuration will be saved on disk, or
OK and the configuration will be saved in memory and may be saved on disk at a later time.
Saving a variable on disk will cause all variables to be saved which may take some time for a large data-
base. Saving a variable in memory is much quicker, but its configuration will be lost should the power be
switched off the PC before it is saved. All variables are saved automatically when the Supervisor is shut
down.
To create a new variable with a similar configuration to an existing one, display the configuration of the
existing variable, edit the name and select validate.
Options Common to all Variable types
The following properties are in the main variable configuration dialog.
l Name - The name by which the variable will be known. See the topic, Rules for variable naming, for an expla-
nation of the syntax.
l Title - A description for the variable up to 40 characters in length. A variable's title has a number of different
uses. This string is bilingual.
l It is displayed when the variable is selected in the Select Variable dialog box.
l It appears as a prompt in the dialog box seen by a User when changing a variable's value.
l It appears in the Alarm Display, and when an Alarm is printed.
l It appears in the Log Display, and when a log is printed.
l It may be displayed by certain animation types.
l Domain - The Domain to which the variable is allocated (optional).
l Nature - The Nature to which the variable is allocated (optional).
l Source - The source of the variable's value selected from the following.
l Equipment - The value of the variable is an external piece of equipment (PLC, RTU etc.) connected
using the communications manager (CIMWAY).
l Internal - The value of the variable is generated within the Supervisor.
l External - The source of the variable's value is another SCADA station.
l DDE - The source of the variable's value is a DDE server.
l OPC - The source of the variable's value is an OPC server.
l LonWorks - The source of the variable's value is an LCA Object Server.
l BACnet - The source of the variable's value is a BACnet device.
l Command - Enable the value of the variable to be set internally from either a command type animation, a
Recipe or a SCADA BASIC program.
l Command level - A level between 0 and 29 corresponding to the command levels in user rights. A User with-
out rights to this level will not be able to change the variable. Note that this is only available if the Command
option is enabled.
l Attributes - Display the attributes dialog box. See the section on Associated Attributes for further infor-
mation.
l Advanced - Display a secondary dialog box which contains some additional options which are less commonly
used. (See below)
l Search - Display the definition of the variable the name of which has been typed into the name text box.
l >> - Display the previous variable of the same type.
l << - Display the next variable of the same type.
l Broadcast - (Internal variables only) Broadcast the value of the variable on the local area network each time
it changes. This is used to keep internal variables in step when the Supervisor is used in redundant operation
using two or more Stations with identical projects running in parallel.
The following properties are in the advanced variable configuration dialog.
l Inhibited - Temporarily disable the variable and all functions associated with it. The variable remains in the
database but is not active.
l Simulated - Temporarily breaks the link between a variable's value and its data source. The value of the var-
iable may then be manually entered.
l Saved - Save the value of the variable so that it maintains its value whilst the Supervisor is shutdown. The
frequency at which the variable is saved is configured in the tuning dialog box displayed from the project
sub-menu. You cannot use the saved property on system variables created automatically by the Supervisor.
This property is only available on internal and alarm variables - see note below about saving the value of
alarm variables.
l VCR - Record the value of the variable for replay through a mimic using a special VCR project. See the topic
on the VCR Facility for further information.
l Permanent scan for mimics - See the topic Using the permanent scan for mimic option.
l Flag for remote access - The variable is flagged as being available for access by a third party software.
l No context windows - If selected the ability use a context window with the variable is disabled.
l Browsing level - The browsing level that the User Account, used by an OPC client when logging on to the
Supervisor's OPC server, must have in order to see the variable name in the OPC address space. See the
topic, Using the Authentication Option, in the Communications book for further information.
l Server station list – The name of a server station list. Used on multi-station applications to define on which
station the variable will be available. See the topic, Configuring and Managing the Database, in the Net-
working book for further information.
l Client station list – The name of a client station list. Used on multi-station applications to define on which sta-
tion the variable will be available. See the topic, Configuring and Managing the Database, in the Networking
book for further information.
Using the Saved option with alarm variables
In the case of an alarm variable which is not internal, only the acknowledgment, maintenance and masking status
are saved.
Using the Permanent Scan for Mimic Options
The Permanent scan for mimics options are found in a variable's Advanced Properties dialog. These properties
deserve special attention because of their considerable effect on the performance and behaviour of a project. The
following options are available.
l None - The variable's real time value is only updated when a mimic using it in an animation is open.
l Server station - The variable's real-time value is permanently updated on the station where it is produced.
On all other stations it behaves as None.
l All stations - The variable's real-time value is permanently updated on all stations. This is the default setting.
Configuring a variable so that its real-time value is only updated when a mimic is open has a number of effects
both positive and negative.
l The work load on the host PC is reduced when the mimic is not displayed. Although the amount of work
required to update one variable is very small, on a large system with thousands of variables the saving is sig-
nificant.
l The work load on whatever is providing the source of the value (for example communication with a PLC) is
reduced when the mimic is not displayed.
l When a mimic is displayed, depending on the source of the value, it may take a number of seconds before
the value is updated.
Before these properties are taken into account on individual variables the property, Permanent scan for all var-
iables, in the Variables section of the General Operation dialog. ([Link] operation) must be de-
selected.
If the variable has an equipment source, the communication frame will only stop being requested (and
hence the load on the communications reduced) if all variables linked to it are not on scan.
When not to de-select the Permanent scan for mimics property
l When a variable is being used in a SCADA BASIC program.
l Prior to version 8.20 only, when a bit variable is being recorded for use in the Log Display.
Configuring and Using Associated Attributes
Associated attributes give the Developer the opportunity to associate a number of fixed binary (flag) and text attrib-
utes with a variable. The binary attributes are entered as a binary pattern with up to 32 digits, for example
10101010. The text attributes are entered as strings in the fields Text 3 to Text 16. The first 2 text attributes are in
fact the variable’s Domain and Nature.
Associated attributes are available for all variable types and are configured using a secondary dialog box displayed
by selecting the Attributes command button in the main variable definition dialog box.
Show picture
Using Associated Attributes
Associated attributes may be used as follows.
l Displayed in an animation by appending the attribute reference to the variable name. See the topic
Animation Basics for further information.
l Changed using the SCADA Basic instruction, VARIABLE.
l Used in the Attributes Filter when recording Trend and Log data.
l Recorded in the Archive units when recording Trend and Log Data.
l Displayed in the Alarm Display.
l Displayed in the Log Display.
Attribute Behaviour
Using the Behaviour button you can select whether each attribute is Static, Dynamic or Distributed.
l Static - A static attribute can only have its value changed by a User with configuration rights using the var-
iable configuration dialog.
l Dynamic - A dynamic attribute can have its value changed at run-time using the SCADA Basic instruction VAR-
IABLE.
l Distributed - When used in a multi-station project, changes in the value of the attribute are propagated to all
interested stations.
Text Variables
A Text Variable is used to store an ASCII string. Text variables are used to display data that does not conform to
normal numeric formats, such as date and time, to provide messages to the User and to allow the User to enter tex-
tual information, such as the name of a process batch.
Show picture
Configuring Range and Display Formats
Text strings are normally displayed unformatted. However, in the special case of displaying the time you can
select the display format by specifying a format string.
l Maximum size - The maximum number of characters which may be held in the variable.
l Format - Format specification for the Text variables TIME and DATE. Two formats may be specified, one for
each of the two languages, separated by the pipe "|" character. The format string #D/#M/###Y|#M/#D/#Y
would display the 29th of September 1995 as 29/09/1995 for the first language and 09/29/95 for the alter-
native language.
Format characters which may be used for TIME
Character Meaning
#h Hours (00 to 23)
#m Minutes (00 to 59)
#s Seconds (00 to 59)
#kNNN Insert a special character represented by the ASCII code NNN
Format characters which may be used for DATE
Character Meaning
###Y Year as 4 characters (example 1995)
#Y Year as 2 characters (example 95)
#M Month (01 to 12)
#D Day (01 to 31)
#kNNN Insert a special character represented by the ASCII code NNN
Register variables
Configuring a Register Variable's Range and Display Format
Configuring the Range
The range in which the value of a variable may be set is determined by the Min and Max fields. These may be
entered as a normal number or in exponential format. The maximum range for a Register variable is -3.37E+38 to
+3.37E+38.
l Min and Max - The minimum and maximum value to which the variable may be set. For large numbers expo-
nential notation may be used, for example 1e10.
l Deadband - The value by which the source of the variable must change before the change is recognised by
the database.
l Type – The deadband type selected from the following.
l 0 – the deadband value is in engineering units. For example if the deadband was 10, the actual value of the
variable would have to change by 10 before the change was recognised.
l 1 – the deadband is a percentage of the range. For example if variable range was 0 to 4000 and the the dead-
band was 10, the actual value of the variable would have to change by 400 before the change was rec-
ognised.
l 2 – the deadband is a percentage of value. For example if the deadband was 10, the the current value of the
variable was 400, the value of the variable would have to change by 40 before the change was recognised.
Show picture
Configuring Display Formats
The format in which a variable is displayed is configured by a format string. The format string may be entered in
the variable definition or, when it is displayed in a mimic, the string of the animation’s support drawing element.
The form of the format string is ##.##, where the number of #'s specify the number of significant figures before
and after the decimal point. The displayed value is automatically rounded up or down as necessary. Other char-
acters may also be used in the format string to signify special options.
Character Meaning
#u Display the register's units text with the value.
#h Display the Register in the format [Link]. The value of the variable represents the
number of seconds.
#b Display a null field when the value of the Register is zero. This may be used in conjunction with
#u.
#d Display the Register in the format [Link]. The value of the variable rep-
resents the number of seconds.
#t Display the register in the format xxdxxhxxmxxsxxxms. The value of the register represents
the number of milliseconds.
#t1 Display the register in the format xxdxxhxxmxxs. The value of the register represents the
number of milliseconds. (The miiliseconds are not displayed.)
#t2 Display the register in the format xxdxxhxxm. The value of the register represents the number
of milliseconds. (The miiliseconds and seconds are not displayed.)
#t3 Display the register in the format xxdxxh. The value of the register represents the number of
milliseconds. (The miiliseconds, seconds and minutes are not displayed.)
#t4 Display the register in the format xxd. The value of the register represents the number of mil-
liseconds. (The miiliseconds, seconds, minutes and hours are not displayed.)
When the format string is to be provided by the animation’s support drawing element it must be preceded by the @
character. This will ensure that, in the case of the variable definition already containing a format string, the one in
the drawing element takes precedence.
If a format is not specified, then any display of the variable will attempt to show its exact value up to 100000000
after which the value will be displayed in exponential form.
If the value of a variable exceeds that supported by its display format, any display of the variable will be
replaced by a row of asterisks.
Configuring a Register Variable's Threshold System
A threshold is used to set a Bit Variable to 1 when the Register goes above or below a specified value. The Bit
which is set would most commonly be used as an alarm, but there are other uses such simple on-off control.
The threshold system is selected from one of the following combinations.
ppphigh / pphigh / hihi / high 4x above
ppHigh / hihi / high / low 3x above & 1 x below
hihi / high / low / lolo 2x above & 2 x below
high / low / lolo / pplow 1x above & 3 x below
low / lolo / pplow / ppplow 4x below
How to create a threshold
1. Create and validate the register. A Register must be validated before a threshold can be added.
2. Select the required threshold system.
3. Enable the required threshold(s) by selecting the corresponding tick box(es).
4. Enter a value for the threshold and the hysteresis (if required). Both values are in engineering units.
5. Select the edit button. (An edit button is always indicated by an ellipsis). A Bit definition dialog box will be dis-
played, defining the Bit to be attached to the threshold. The Bit name will based on the name of the Register
with an extension indicating the threshold type.
6. Select the required options for the Bit. At this point the name of the Bit may also be changed. Afterwards, it
may only be changed by deleting and re-creating the threshold. Validate the Bit definition.
7. Validate the Register definition.
To temporarily disable a threshold deselect the corresponding tick box. The threshold Bit will remain in the
database but will be inhibited until the threshold is re-selected.
Using a Register to Count Bit Changes
By selecting the Counter option a Register may be configured to count the number of times that a Bit changes. The
Register increments each time that a Bit changes to a selected state. A further Bit is used to reset the counter.
Show picture
Counter Tab Options
l Decremental or Incremental - Select the count to be positive or negative.
l Value - The increment. To be added (or subtracted) each time the Bit changes to the selected state.
l Associated Bit - The name of the Bit Variable to be counted. A transition to the selected state will cause the
counter to increment or decrement by the configured value.
l Initialising bit - The name of the Bit that resets the counter to zero. This may be configured on a transition to
zero or transition to one.
Using a Register to Measure Time (Chronometer)
By selecting the Chronometer option a Register may be configured to count time. The Register increments by 1 for
every period that a Bit is set. A further Bit is used to reset the time.
Show picture
Chronometer Tab Options
l Decremental or Incremental - The direction in which the chronometer runs.
l Period - The period in 10 millisecond multiples. A value of 100 means that the chronometer will count once a
second.
l Triggering bit - The name of the Bit Variable which will cause the chronometer to count. This may be con-
figured to be the zero or one state.
l Initialising bit - The name of the Bit that resets the chronometer count to zero. This may be configured on a
transition to zero or transition to one.
Bit variables
Configuring a Bit Variable's Display Format
Bit variables are used for all binary data. In addition, a special option causes a Bit to behave as an alarm.
Show picture
Configuring Display Formats (Associated Labels)
The way in which a Bit is displayed may be changed by associating it with a Label. A Label contains three text pairs,
which are substituted for the 1 and 0 states of a Bit to provide more meaningful information to the User. The text
pairs are used as follows:
l The first pair is used by the Label on Bit animation to display the state of the Bit in a mimic.
l The second pair is used together with the Bit title when Bit changes of state are logged to disk or printer.
l The third pair is displayed with the Bit title in the dialog box used to confirm the forcing of a Bit's state by the
User.
Labels are selected from a list which the Developer has previously configured. See the section on Associated
Labels earlier in this chapter.
Recording Bit Changes of State
Bit changes of state may be recorded using two separate mechanisms.
l For replay through a Trend Display or export to an external program. This topic is covered in the book
Recording Variables for Historic Trends & External Programs.
l For viewing in a mimic using a Log Display, or printing as a hard copy.
To record a Bit for the Log Display or printing, the Log option is selected. A Bit may be logged on either or both tran-
sitions. Selecting the Log option only enables a Bit to be logged, where and how it is logged is determined by the
Log Filters.
Discrepancy Checking on Bits
Discrepancy checking is available for Bits with the command option selected.
Discrepancy checking compares the state of a Bit against the state of another Bit. After a pre-defined period of
time a further Bit is set (normally configured as an Alarm) if the comparison fails. A check may be made on both
the 0 to 1 and the 1 to 0 transitions, against the same or different Bits.
Show picture
An example of using discrepancy checking
An on off valve has a control output to open it and a feedback signal to confirm that it is opened. The valve is moto-
rised and takes a known period to open. A discrepancy check can be made between the control output and the feed-
back signal and a fault condition generated if the valve does not operate within an allowed period of time.
Alarm variables
About Alarm Variables
An alarm variable is a special case of a bit variable. To configure a bit as an alarm you select the Alarm property in
the bit's configuration. Once configured as an alarm the behaviour of the bit is modified so that its real time value
has 5 possible states (instead of 3 for a Bit). Its state depends not only on the source of the variable, but also on
the action of a User.
State Cause
Off The alarm is off.
Off and not acknowledged The alarm is off, but it has been on and not acknowledged by a User.
On and not acknowledged The alarm is on and has not been acknowledged by a User.
On and acknowledged The alarm is on and has been acknowledged by a User.
Unavailable The alarm is masked by the condition of another Alarm or Bit, or inhibited by a
User.
Alarms variables may be:
l Displayed as a real time list in an Alarm Display.
l Displayed individually using certain animations, for example Colour on Alarm.
l Acknowledged, inhibited and set to maintenance by the User.
l Recorded in the archive files and played back through a Log Display.
l Printed in real time as they occur.
l Counted in special register variables according to the alarm state, alarm level, Domain and Nature.
l Used to generate an external sensory alert, such as a sound, to attract the User's attention.
Standard Alarm Options
l Alarm 0>1, 1>0 - Selects the transition of the alarm source that is to be used for Alarm to change to On and
Not Acknowledged.
l Level - The level of the Alarm in the range 0 to 29. An Alarm's level defines its colour and behaviour in the
Alarm Display.
l Temporisation - A period in seconds between the alarm source becoming active and the alarm changing state
to On and Not Acknowledged. Should the source become inactive again before the temporisation period is
over the alarm will not change state. A value of 0 disables temporisation.
l Mask - (optional) The name of a Bit or Alarm Variable to be used to inhibit alarming. The Alarm is inhibited if
the Bit is set.
l Associated action - Display the associated action dialog box. See below.
Associating an Action with an Alarm
Using the Associated Action dialog box it is possible to associate 2 actions with each alarm. An action may open a
window (mimic) or run a SCADA BASIC program. The actions are invoked by selecting the Alarm in the Alarm Dis-
play and opening the Alarm Handling dialog box. (For more details on how this is done see the explanation of how
the Alarm Display works in the Window Editor Manual). In the Alarm Handling dialog box are two buttons, one for
each of the actions, from where the action may be invoked.
Whilst the actions may be different for each alarm, the text which appears on the action buttons is the same for all
alarms.
Show picture
The Associated Action dialog box also allows a Bit to be specified that may be set or cleared when the Alarm is
acknowledged. This has a number of uses such as resetting an external audible alarm.
Tab Options for the Associated Action Dialog Box
l Title - A description of the action which will appear on the command button in the Alarm Handling dialog box.
l Program - The action is to run the specified program.
l Window - The action is to display the specified window (mimic).
l Name - The name of the program or mimic for the action. An optional branch may be specified.
l Branch - The database branch for the program or mimic.
l Function - The name of the function to run (for program option).
l Arguments - The value of any arguments to be passed to the specified function. These must be retrieved
using the GETARG instruction.
l Set Bit - The name of a Bit which will be set when the Alarm is acknowledged.
l To 0 - Set the Bit to false.
l To 1 - Set the Bit to true.
Masking an Alarm with an Expression
Sometimes it may be necessary to mask an alarm as the result of a calculation involving one or more variables. To
do this you can create an expression template and then select the template in the advanced options dialog of the
alarm variable. The alarm will be masked when the result of the expression is true. The same expression can be
used to mask one or several alarms and can be used with or without a branch as required.
Show picture
Using the Alarm of Message Type Property
This option can only be used on internal variables. If it is a multi-station application it can only be used where th
variable is produced (on the server).
The Alarm of Message Type property is found in an alarm variable's Advanced Options dialog. Show picture.
When the Alarm of message type property is ticked, the alarm's behaviour changes so that it no longer requires
acknowledgement. You can see the difference in behaviour compared to a standard alarm in the diagram below.
The alarm still appears in the Alarm and Log displays but now has only two possible states (plus the usual invalid
states).
l Alarm off
l Alarm on - Nack
Using Different Levels for Alarm Acknowledgement, Masking and Maintenance
Prior to version 9.0, alarm acknowledge level, masking level and maintenance level were linked to the alarm level.
Also, the ability set an alarm to maintenance was dependent on the User's alarm acknowledgement rights. That is,
if an alarm was configured as level seven, it required a User with level seven acknowledgement rights to acknowl-
edge or set it to maintenance, and a User with level seven masking rights to mask it.
Version 9 and later has the option for the alarm level, acknowledge level, masking level and maintenance level to
be independent. The options are all found in the variable's advanced [Link] picture
Version 9 also introduces a new Maintenance rights tab in the User profile so that maintenance and acknowledge
rights can be kept separate.
By default and for backwards compatibility, the acknowledge level is set to the alarm level [Priority] and the mask
and maintenance levels to the acknowledgement level. In this case if the alarm level is changed the other levels fol-
low automatically. Show picture
Recording the Real-time Value of Variables in the Archive Units
From version 8.10 onwards, all topics related to recording data are to be found in the Recording data book.
Linking a variable to its source
About Linking a Variable to its Source
The real-time value of a variable may come from one of four sources depending on its configuration.
l Equipment. The value of the variable comes from the Communication Manager, which in turn will have
retrieved the value from an external piece of equipment such as a PLC or I/O module using a traditional net-
work and protocol.
l DDE. The value of the variable comes from a separate DDE server program running independently of the
Supervisor. The server may be on the same computer or on one connected over a Local Area Network.
l External. The value of the variable comes from the database of a Supervisor on another PC connected using
a Local Area Network.
l Internal. The value of the variable is internally produced, from a Formula, a SCADA BASIC program, or a
Threshold or it is a special variable such as DATE which the Supervisor produces automatically.
l OPC. The value of the variable comes from a separate OPC server running independently of the Supervisor.
The server will be on the same PC as the Supervisor.
Linking a Variable to an Equipment Source
Variables configured with an equipment source get their real time value by linking them to a communication
frame. A communication frame contains one or more items of data from an external piece of equipment read using
one communication message. See the section on Configuring Communication for further information on how com-
munication frames are created.
A variable is linked to communication frame using a dialog box which is displayed either from the Link command
button in the variable definition dialog box or the Link with communication command button in the Select Variable
dialog box.
Additional Tab Options Common to Equipment Variables
l Link - Display the dialog box which enables the link to a communication frame to be established.
l Frame - Display details of the associated data frame.
How to link a variable to its source
1. Display the Link With Communication dialog box.
2. Select the communication frame to which the variable will be linked using the network, node and frame list
boxes. A list of addresses within the selected frame is displayed.
3. Select the address by clicking with the mouse.
4. Select the variable to be linked to the address by clicking on the variable name. The list of variable which are
displayed may be filtered by Domain, Nature and type using the dialog box displayed from the Select com-
mand button.
5. Make the link between the address and the variable by selecting the Insert command button.
6. If the link is successfully made the variable name will be shown next to the selected address.
Show picture
How to delete the link between a variable and its source
1. Display the Link with communication dialog box.
2. Select the communication frame to which the variable is linked from the list boxes. A list of addresses within
the selected frame is displayed.
3. Select the address by clicking with the mouse.
4. Select the Delete command button.
Scaling a Register Variable
With Register variables it is normal that the representation of the value in the equipment is not in engineering
units. For example, a temperature which ranges from 0 to 100 DegC might be represented by an integer value of
1000 to 12000.
By telling the database the minimum and maximum values of the variable in the equipment, and the corresponding
minimum and maximum they represent in engineering units, the database will automatically convert the value of
the variable to the correct range. The scaling may be enabled or disabled using the Scaling tick box.
Show picture
Register Overflow Processing
In the above example the normal range for the value in the equipment is 0 to 65535, which is scaled in the data-
base from 0 to 100 The device which measures the temperature may be capable of producing values outside of this
range, for example if the transducer becomes faulty or disconnected. Normally, within the database, if the value
goes outside of its range the variable is flagged as invalid and looses its value.
The Overflow Processing dialog box, available for Registers with an equipment source, allows the specification of
two Bit variables which together control how the variable behaves in an overflow condition.
Overflow Processing Tab Options
l Set bit - The name of a database Bit or Alarm to set in the event of an overflow.
l Bit to test - If specified, when the value of the register variable reaches the limit of its range, it will become
isolated from the communication frame, and its value will remain at the last valid value (the maximum or
minimum of its range). At this time the value of the "Bit to test" will be periodically tested. When it is found
to be equal to the selected value (either 0 or 1) the link to the communication frame is re-established. In
order to use this option a bit name must also be entered in the Set bit field.
Show picture
Linking a Variable to a DDE Source
When a variable is given a DDE source its value comes from a conversation with a DDE server. For more infor-
mation on how a DDE conversation is configured, see the chapter on Communication.
Show picture
Tab Options Specific to DDE Variables
l Conversation - The name of the DDE conversation to which the variable will be linked. Conversations are con-
figured from the DDE command on the COMMUNICATION sub-menu.
l Item - The specific item in the conversation to which the variable will be linked. The specification for the syn-
tax of the item will be found in the documentation of the DDE server that you are using. In the above exam-
ple, a conversation is being held with Excel and R1C2 refers to the cell referenced by row 1, column 2.
l Automatic - If ticked, the name of the variable is used as the item name. The Item field is unused.
l Format - The format in which the data comes from the DDE server. The following options are available.
Mnemonic Format Range
UBYTE Unsigned byte 0 to 256
BYTE Byte -128 to 128
UWORD Unsigned word 0 to 65536
WORD Word -32768 to 32768
ULONG Unsigned long 0 to 4294967296
LONG Long -2147483648 to 2147483648
FLOAT Float -3.37E38 to 3.37E38
DOUBLE Double -1.67D308 to 1.67D308
STRING0 Null terminated string
STRINGN \N (CRLF) terminated string
If you would like to try the example of using Excel as a DDE server, the cell format for the sheet must be
set up as R1C1.
Scaling a Register Variable
With Register variables it is possible that the representation of the value in the DDE server is not in engineering
units. For example, a temperature which ranges from 0 to 100 DegC might be represented by an integer value of
1000 to 12000.
By telling the database the minimum and maximum values of the variable in the server, and the corresponding
minimum and maximum they represent in engineering units, the database will automatically convert the value of
the variable to the correct range. The scaling may be enabled or disabled using the Scaling tick box.
Linking a Variable to an OPC Server
When a variable is given an OPC source its value comes from a connection with an OPC server. For more infor-
mation on how a OPC server is configured, see the chapter on Communication.
Show picture
l Tab Options Specific to OPC Variables
l Server - The name of the OPC server. See the section on communication for information on how to configure
an OPC server.
l Group - The name of a group within the OPC server. See the section on communication for information on
how to configure an OPC group.
l Item - The specific item to which the variable will be linked. The list of items is automatically supplied by the
OPC server and may be browsed using the list box.
l Access path - The Access Path has a relationship with the item name that is similar to using a branch with a
variable name. For example you could use [Link] as the access path and W32681 as the item
name, or have no access path and use [Link].W32681 as the item name.
Linking a Variable to an External Source
From version 6.05 onwards External variables are no longer used. This section is included for backwards
compatibility.
The value of a variable may be linked to the value of a variable with the same name in another Supervisor on a dif-
ferent computer. The computers are connected using a Local Area Network.
In one of the Supervisor’s, the variable is configured with an External data source. This station is known as the
client.
In the other Supervisor the variable is configured as normal with an Equipment, DDE or Internal data source. This
station is known as the server.
For more information on Client - Server architecture see the book on communications.
Tab Options Specific to External Variables
l Station number - The number of the station on which the source of the variable is to be found. How a sta-
tion’s number is configured may be found in the Communication’s chapter.
Linking a variable to a LonWorks node
How to Link a Variable to a Lonworks Node
When a variable is selected as having a LonWorks source its real-time value comes from a LonWorks node. For
information on how LonWorks nodes and networks are configured see the book on LonWorks Communication.
LonWorks variables are frequently (but not always) structured. That is the same variable can contain a number of
different fields. For example a variable of type SNVT_switch contains two fields, value and state.
Show picture
To link a variable to a LonWorks node use the following procedure.
1. Open the variable's configuration dialog.
2. Using the Variable Type drop down box select LonWorks. The lower part of the dialog will change to display
the options required to link a LonWorks variable.
3. Select the LonWorks network using the Network drop down list box.
4. Select the LonWorks node using the Node drop down list box. After you select the node there will be a brief
pause whilst the Supervisor interrogates the LonDB for a list of variables available for that node.
5. Select the Lonworks variable using the Variable drop down list box. The type of variable will be displayed in
the read only field, Type.
6. If you have selected a structured variable, use the Field drop down list box to select the field to which you
are linking. You can alternatively use an expression for the Field property. See the topic How to use an
expression with a structured LonWorks variable for details.
7. Click the Options button to display the Monitoring Options dialog and select the monitoring options. See the
topic How to use the LonWorks monitoring options for details.
8. Click the Validate button to confirm the configuration and the Close button to close the dialog.
How to Use the LonWorks Monitoring Options
The options for monitoring LonWorks variables are displayed in the Lonworks Parameters dialog which is opened
from the Option button of the variable configuration dialog. Show Picture Before changing the properties it is impor-
tant to understand the two options for monitoring a LonWorks variable.
l Bind this variable - Selecting this option means that each time the value of the variable changes in the Lon-
Works node it is automatically sent to the Supervisor. This option should be avoided if possible because of its
potential for loading the Lonworks network. Also, the binding takes place during the startup of the Supervisor
adding considerably to the time that it takes to start. As a guideline you should not exceed 100 variables that
have this option selected.
l Polled - The Supervisor polls the LonWorks node at a pre-defined interval for the value of the variable. It is
important that the polling rate reflects the speed at which the variable changes. For example, a room tem-
perature might be polled every five minutes. Good polling rate selection will help reduce the traffic on the
network and hence improve its performance.
Tab options in the Lonworks parameters dialog
l Use default parameters - The selection of Bind this variable property and the value of the Poll interval prop-
erty is taken from the default set in the Lonworks Network configuration dialog.
l Bind this variable - If selected the variable in the Supervisor is bound to the LonWorks node when the Super-
visor starts.
l Poll interval - The interval at which the LonWorks node is polled if the variable is not bound.
Using the Permanent scan for mimics property to reduce network traffic
In addition to regulating the network traffic using carefully selected poll intervals, you can also reduce network traf-
fic by de-selecting the property, Permanent scan for mimics, in the Advanced options of a variables configuration.
In general (but see table below), when this property is de-selected polling only takes place when a mimic is
opened that displays the value of the variable.
Variable type versus monitoring mode
Monitoring Permanent
Variable use mode scan for mim- Behaviour
ics
Mimic only Polled De-selected The variable is only monitored if a mimic displaying it is
open.
Trend Polled N/A When a variable has trend recording enabled the variable is
always scanned. The property, Permanent scan for mimics,
has no effect.
Log Polled or Bind Selected If polled then it is possible that some transitions will not be
logged.
Alarm Bind N/A Alarms must be bound if all transitions are to be detected.
The property, Permanent scan for mimics, has no effect.
Variable linked to N/A Selected The variable is read once when the Supervisor is started. To
node con- refresh the variable you must use the LNS instruction in
figuration prop- SCADA BASIC.
erty (SCPT or
UCPT)
How to Use an Expression with a Structured LonWorks Variable
As LonWorks variables sometimes have a complex structure the facility has been added to use an expression to
select the correct data to be linked to the Supervisor's variables. The expression is entered in the Field property of
the variable's configuration dialog. The following expressions may be used.
Expression Variable Result
BIT(x,y) Bit Extract the yth bit of the xth byte of the network variable.
UI1(x) Register Extract 1 byte from the xth byte of the network variable and treat as an unsigned
integer.
UI2(x) Register Extract 2 bytes from the xth byte of the network variable and treat as an unsigned
integer.
UI4(x) Register Extract 4 bytes from the xth byte of the network variable and treat as an unsigned
integer.
I1(x) Register Extract 1 byte from the xth byte of the network variable and treat as a signed
integer.
I2(x) Register Extract 2 byte from the xth byte of the network variable and treat as a signed
integer.
I4(x) Register Extract 4 bytes from the xth byte of the network variable and treat as a signed
integer.
R4(x) Register Extract 4 bytes from the xth byte of the network variable and treat as a IEEE real.
RAW() Text Display a network variable in raw format. In this case no formatting is applied.
#SWITCH_ Register Applies only to SNVT_switch network variables. The Supervisor variable represents
VALUE() the value field of the network variable. Writing this variable (value: i) also updates
the state field as follows:
l If i is greater than zero, the state field is sent to 1 and the value field to i.
l If i is less than or equal than zero, the state and value fields are written to 0.
#SWITCH_ Register Applies only to SNVT_switch network variables. The Supervisor variable is the state
STATE(x) field of the network variable. Writing this variable (value: i) also updates the value
field as follows:
l If i is equal to 1, the state field is written to 1 and the value field is written to
x.
l If i is equal to 0, the state and value field are written to 0.
Network variables or fields that are numeric can be displayed either as a string (by linking to a text data-
base variable) or as a number (by linking to a register database variable).
How to Scale a LonWorks Register Variable
With register variables it is possible that the representation of the value in the node is not in engineering units. For
example, a temperature with a range of -20 to 60 DegC might be represented by a integer value of 1000 to 12000.
Using the Min and Max properties in the LonWorks parameters dialog and the Min and Max in the register con-
figuration dialog you can automatically convert the value of the variable to the correct range.
Taking the example above you would enter -20 and 60 as the Min and Max properties in the register configuration
dialog, and 1000 and 12000 as the Min and Max in the Lonworks parameters dialog. Show picture
Linking a variable to a BACnet device
How to Link a Variable to a BACnet Device
When a variable is selected as having a BACnet source its real-time value comes from a BACnet device. For infor-
mation on how BACnet devices and networks are configured see the book on BACnet Communication.
Each BACnet device contains one or more objects. There can be several instances of a particular object type within
a device. Each object contains one or more properties. The BACnet standard specifies the object types and their
properties. The standard also specifies that each device must contain a Device object. A Supervisor's variable will
be linked to one of the properties. Show picture
To link a variable to a property of a BACnet device use the following procedure. Show picture
1. Open the variable's configuration dialog.
2. Using the Type drop down box select BACnet. The lower part of the dialog will change to display the options
required to link a to a BACnet device property.
3. Select the BACnet network using the Network drop down list box.
4. Select the BACnet device using the Device drop down list box.
5. Select the object type and instance using the Object type and Instance drop down list boxes respectively.
6. Select the property to which the variable value is to be linked using the Property drop down list box.
7. Click the Options button to display the Monitoring Options dialog and select the monitoring options. See the
topic How to use the BACnet options for details.
8. Click the Validate button to confirm the configuration and the Cancel button to close the dialog.
How to Use the BACnet Options
The BACnet Parameters dialog allows you to configure the way in which each BACnet property is acquired Show pic-
ture
l Monitor type - Select from either polling or reporting by event (change of value or confirmed change of
value).
l Poll interval - The rate at which the Supervisor polls the BACnet device for the value of the property.
l Write priority- The BACnet write priority.
l Fields - Not implemented in version 9.0.
Population Filters
About Population Filters
A Population is a filter which may be applied to the database of a station to control the distribution of variable
values. Database variables may be included in, or excluded from a Population using the following criteria.
l By Domain.
l By Nature.
l By the variable type, Bit, Alarm, Register or Text.
l By the source of the value, Internal, External, Equipment, DDE or Broadcast.
For example a Population could include all register variables with an equipment source with the Domain TANK1,
not having the Nature ELECTRICAL.
A Population may be used to control the distribution of variable values to and from the following mechanisms.
l To all Alarm Displays.
l To all Log Displays.
l To the Log printers.
l To the Archive Units (Log data only).
l Setting values by the User.
l Setting values from SCADA BASIC.
l Accepting alarms with SCADA BASIC.
A Population may be created using the Population option from the Variables sub-menu or using the SCADA BASIC
instruction POPULATION. The SCADA BASIC instruction is also used to apply a Population. In this way a it may be
dynamically applied depending on a wide range of criteria.
The maximum number of Populations that may be created is 512.
The Population Dialog Box
The Population dialog box is displayed from the Population option on the VARIABLES sub-menu, and is used to dis-
play, modify, delete and create Populations.
Show picture
The dialog box contains a list of configured populations and has command buttons to create, modify and delete
them.
The Population List
Existing Populations are displayed, one per line, in a scrollable list.
A Population may be selected by clicking on its entry in the list. A selected entry is indicated by the characters < >
appearing at opposite ends of the entry. Several Populations may be selected at the same time. Clicking on an
entry again will de-select it. Double clicking on a entry will display its configuration.
Tab Options and Command Buttons
l Temporary - Display all temporary (created by a SCADA BASIC program) Populations.
l All -Select all displayed Populations.
l None - Deselect all displayed Populations.
l Delete - Delete all selected Populations. A confirmation box limits the risk of accidental deletion.
l Refresh - Refresh the display showing the current status of the actions.
l Save - Save any changes to hard disk. The changes will be remembered when the software is restarted.
l OK - Cancel the dialog box without saving the changes on disk. The changes will be operable but will be lost
when the software is restarted.
l Create - Create a new Population. The Population Parameter dialog box is displayed.
Configuring a Population
A new Population is configured by selecting the Create command button in the Population dialog box. If an entry in
the Population list is selected the configuration dialog box which is then displayed will contain the configuration of
the selected Population enabling a new one to be created with similar characteristics.
Show picture
Each Population is identified by a 12 character name and has a number of attributes which define its effect on the
database.
A new Population is created by entering its name, an optional comment and then selecting the OK commend button.
Attributes may be added to or deleted from a Population at any time.
The Attributes List
Existing attributes for a Population are displayed, one per line, in a scrollable list.
An attribute may be selected by clicking on its entry in the list. A selected entry is indicated by the characters < >
appearing at opposite ends of the entry. Several attributes may be selected at the same time. Clicking on an entry
again will de-select it. Double clicking on a entry will display its configuration.
The display filter allows the User to filter which attributes of a Population are displayed in the attribute list. This is
useful when searching for a Population with a specific type of attribute, or where the Population has a more attrib-
utes than can be viewed at one time in the list.
Defining a Population Attribute
Each Population can have up to 512 attributes defining its behaviour. Each attribute defines one characteristic of
the variable. An attribute may be :
l A domain.
l A nature.
l A variable type, bit, alarm, register or text.
l A variable source, internal, external, equipment, DDE or broadcast.
Each attribute may be inclusive (In) or exclusive (Out).
Population Example
A Population is to include all register variables with an equipment source with the Domain TANK1 or TANK2, not
having the Nature ELECTRICAL. To achieve this configuration the Population would require 5 attributes as follows.
Attribute Mode Value
DOMAIN In Tank1
DOMAIN In Tank2
NATURE Out Electrical
TYPE In Register
FLAG In Equipment
Generating the Database Using Excel
The Supervisor is supplied with a pre-configured Excel workbooks ([Link] in English and VAREXP-
[Link] in French) that may be used to create database files. These workbooks are automatically copied onto
your hard disk when you install the Supervisor and may be found in the Supervisor's root in the Excel directory. To
create a database file you complete the appropriate fields and then use the Save AS option to save the sheet in the
format CSV (OS/2 or MS-DOS) (*.CSV).
If you are creating a large database it can be advantageous to split it up into several sheets and then use the Super-
visor's import facility (See the section on Import and Export for information on importing the database.) In this
case you must save the complete database in standard Excel format and then export each individual sheet as a sep-
arate CSV file.
Show picture
In an Excel sheet ensure that the display fields for numbers are big enough to display the entire number
otherwise when the sheet is saved the number may not be saved correctly.
Using the Database as an OPC Server
When it is installed, the Supervisor registers itself with the operating system as an OPC server. It makes available
to any OPC client, the real-time value, and certain other properties, of all variables in the database. The name of
the Supervisor's OPC server is [Link].
Supported Interfaces
The connection between an OPC server and client uses a number of different functions known as Interfaces. Some
are mandatory for all OPC servers whilst others are optional and are used to enhance the functionality. The Super-
visor supports the following Interfaces.
Server Interfaces Mandatory
IOPCServer Yes
IOPCBrowseServerAddressSpace No
IOPCItemProperties Yes
IOPCCommon Yes
IconnectionPointContainer Yes
IOPCShutdown No
Group Interfaces Mandatory
IOPCItemMgt Yes
IOPCGroupStateMgt Yes
IOPCSynchIO Yes
IOPCAsynchIO2 Yes
IconnectionPointContainer Yes
IOPCAsynchIO Yes
IDataObject Yes
IAdviseSynch No
IOPCDataCallback No
Referencing Variables
All variables in the Supervisor's database are available to a connected client. To access the real-time value of a
variable you reference it using the variable name in exactly the same way as in the Supervisor's database for
example [Link]. If you want to access one of the other properties of a variable, for
example its command level, you append the OPC property name to the variable name. For example if you wanted
to access the variable's command level you would use [Link].
The following properties are supported.
OPC property Database property Applicable to
CloseLabel Associated label Animation 1 string Bit
Description Title All
ForceOffLabel Associated label Command 0 string Bit
ForceOnLabel Associated label Command 1 string Bit
Format Format Register, Text
HiRange Equipment Max Register
HiValueLimit Max (Range) Register
LoRange Equipment Min Register
LoValueLImit Min (Range) Register
OpenLabel Associated label Animation 0 string Bit
SecurityLevel Command level All
Units Units text Register
System Variables
About System Variables
Variables with certain names have special use in that there value is generated by the Supervisor itself. Some of
these variable are generated automatically. Others must be manually created although once they are in the data-
base the Supervisor recognises them and takes the appropriate action.
Key
For each variable the following information is provided.
l Variable name - the name of the database variable. Where the name contains a field enclosed in triangular
brackets, for example <Network>, it means that this part of the variable name depends on the project con-
figuration.
l R/W - The value of the variable is read only (R), or read and write (R/W).
l Type - The type of variable, either Bit, Register, or Text.
l Automatic/manual - The variable is created automatically by the Supervisor (Automatic) or must be created
manually (Manual).
Example
Variable name R/W Type Automatic/manual
SYSTEM.<Network>.<Node> R Bit Automatic
Communication device status variable where <Node> is the name that has been given to a communication node
during configuration.
0 Healthy
1 Failure
System Information Variables
TIME R Text Automatic
The system time. Default format hh:mm:ss.
DATE R Text Automatic
The system date. Default format DD/MM/YY.
USER R Text Automatic
The name of the current User.
[Link] R Text Automatic
The comment text from the current SEND or LINK animation. The current animation is the one over which the win-
dow's pointer currently resides. The text in the comment field must be preceded by an @ for it to be recognised.
[Link] R/W Text Automatic
For use with Context windows. Displays the name of the context variable.
[Link] R/W Text Automatic
For use with Context windows. Displays the title of the context variable.
[Link] R/W Text Automatic
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
[Link].CMD_REPORT R/W Text Automatic
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
[Link].DATA_OUTPUT R/W Text Automatic
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
[Link].DATA_OUT- R/W Text Automatic
[Link]
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
[Link].DATA_OUT- R/W Text Automatic
[Link]
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
[Link] R Register Automatic
The current region number.
[Link] R Register Automatic
The number of available regions.
[Link] R/W Register Automatic
The selection mode as set by either a REGION("SETSELECTION", x) instruction in SCADA BASIC or the Set Region
Animation.
0 None
1 Permanent Selection
2 Temporary Selection
[Link] R/W Register Automatic
The region as selected by the REGION("SETSELECTION", x) instruction in SCADA BASIC or the Set Region
Animation.
[Link] R/W Text Automatic
For backwards compatibility of earlier versions of the Supervisor only. Not used in the current version.
SYSTEM.STATION_NUMBER R Register Automatic
The numeric ID (number) of the station on which the project is running.
[Link] R/W Bit Automatic
Setting to 1 forces a read of the protection key (dongle). Not used in versions of the Supervisor after 6.04j
because a Read Key button was added to the about dialog (F4 to open).
[Link] R Bit Automatic
Set to 1 if the Supervisor is started in VCR mode ([Link] -vcr).
Printer Status Variables
SYSTEM.<Printer>.<Standby Printer>.STATUS R Register Automatic
The status of a printer number <Printer>. The standby printer number field is for future use and is currently the
same as the printer number.
0 OK
100 Unknown printer configured
102 Unable to open printer driver
103 Unable to print to printer
[Link].<Printer>.ON R Bit Automatic
The status of the printer number <Printer>.
0 Printer is off
1 Printer on
Examples
[Link]
A register variable containing the status of printer 2.
[Link]
A bit variable that indicates if printer 1 is on or off.
Communication Status Variables
SYSTEM.<Network> R Bit Automatic
Communication network status variable where <Network> is the name that has been given to a communication
network during configuration.
0 Healthy
1 Failure
SYSTEM.<Network>.<Node> R Bit Automatic
Communication device status variable where <Node> is the name that has been given to a communication node
during configuration.
0 Healthy
1 Failure
SYSTEM.<Network>.<Node>.<Frame> R Bit Automatic
Communication frame status variable where <Frame> is the name that has been given to a communication node
during configuration.
0 Healthy
1 Failure
[Link].OK_NUMBER R Register Automatic
The number of equipment nodes with which the communication manager (CIMWAY) is successfully com-
municating.
Lonworks Status Variables
[Link] R Bit Automatic
LNS flow regulation status.
0 Flow regulation not activated.
1 Flow regulation activated. Loss of exchanges possible.
[Link] R Register Automatic
Counter for the number of lost LNS exchanges from the when flow regulation was last activated.
[Link].<Network>.ON R Bit Automatic
Lonworks network running/stopped indication where <Network> is the alias of the Lonworks network.
0 Stopped.
1 Running.
[Link].<Network>.<Node>.ON R Bit Automatic
Lonworks node running/stopped indication where <Network>.<Node> is the network and node alias.
0 Stopped.
1 Running.
[Link].<Network>.STATUS R Register Automatic
Lonworks network status where <Network> is the alias of the Lonworks network. See table below for possible
values.
[Link].<Network>.<Node>.STATUS R Register Automatic
Lonworks node status where <Network>.<Node> is the network and node alias. See table below for possible
values.
Code Network Node Description
0 X X No errors have been detected on this network or node.
1 X Unable to load the LCA Object Server. Check to see if the software is installed on the
computer.
2 X The configured network is unknown to the Lonworks database (LonDB).
3 X The configured system is unknown to the Lonworks database (LonDB).
4 X An error occurred whilst starting the network.
5 X The configured subsystem is unknown to the Lonworks database (LonDB).
6 X The configured node is unknown to the Lonworks database (LonDB).
7 X An error occurred whilst starting the node.
8 X Starting the node failed because the network is not started.
9 X The node is not authorised to start.
10 X The network is not authorised to start.
11 X Starting this network failed because the station is not a server for this network.
12 X The communication between the Supervisor and the node has failed.
13 X Starting this network failed because another network is already started. Only one net-
work can be started at a given time.
DDE Status Variables
[Link] R Bit Automatic
DDE flow regulation status.
0 Flow regulation not activated.
1 Flow regulation activated. Loss of exchanges possible.
[Link] R Bit Automatic
Counter for the number of lost DDE exchanges from the when flow regulation was last activated.
[Link].<Name>.ON R Register Automatic
DDE conversation running indication for the conversation <Name>.
1 Running
0 Stopped
[Link].<Name>.STATUS R Bit Automatic
DDE conversation status indication for the conversation "Name".
0 The conversation is healthy or stopped and unavailable.
300 Error when attempting to connect to the server.
500 Error when subscribing to DDE item.
600 Error when subscribing to DDE item.
700 Error when un-subscribing a DDE item.
800 Error when un-subscribing a DDE item.
900 Error when reading a DDE item.
1000 Error when reading a DDE item.
1100 Error when writing a DDE item.
1200 Error when writing a DDE item.
1300 Connection to DDE server lost.
1400 Error on DDE notification callback.
2300 Attempt to connect to the SV server (Looping not permitted).
2400 DDE conversation not produced by this station.
OPC Status Variables
[Link] R Bit Automatic
OPC flow regulation status.
0 Flow regulation not activated.
1 Flow regulation activated. Loss of exchanges possible.
[Link] R Register Automatic
Counter for the number of lost OPC exchanges from the when flow regulation was last activated.
[Link].<Server>.ON R Bit Automatic
OPC server activation indication where <Server> is the name of the OPC server alias.
1 The server is activated.
0 The server is not activated.
[Link].<Server>.STATUS R Register Automatic
OPC server status where <Server> is the name of the OPC server alias.
0 Healthy connection.
1 Connection to the server is disabled (trial period elapsed or the station doesn't produce this connection) .
2 Error when attempting to connect
3 The connection has been lost. The server shuts down.
4 The connection has been lost. A DCOM error has occured.
10 First frozen context time limit reached
11 Second frozen context time limit reached.
[Link].<Server>.<Group>.ON R Bit Automatic
OPC group activation indication where <Server> is the name of the OPC server alias and "<Group> is the name of
the OPC group.
1 The group is activated.
0 The group is not activated.
[Link]..<Server>.<Group>.STATUS R Register Automatic
OPC group status where <Server> is the name of the OPC server alias and <Group> is the name of the OPC
group.
0 Healthy connection.
1 Connection to the server is disabled (trial period elapsed or the station doesn't produce this connection) .
2 Error when attempting to connect
3 The connection has been lost. The server shuts down.
4 The connection has been lost. A DCOM error has occured.
10 First frozen context time limit reached
11 Second frozen context time limit reached.
101 Error when adding the group.
BACnet Status Variables
[Link] R Bit Automatic
BACnet flow regulation status.
0 Flow regulation not activated.
1 Flow regulation activated. Loss of exchanges possible.
[Link] R Register Automatic
Counter for the number of lost BACnet exchanges when flow regulation was last activated.
[Link].<Network>.ON R Bit Automatic
BACnet network activation indication where <Network> is the name of the BACnet network alias.
1 The network is activated.
0 The network is not activated.
[Link].<Network>.STATUS R Register Automatic
BACnet network status where <Network> is the name of the BACnet network alias.
0 Healthy connection
1 N-A
2 Disabled, BACnet Data Server service not installed.
3 BACnet Data Server can't start, check the BACnet Data Server service (Problem to start the BACnet Data Server.
The supervisor generates errors during the connection to the BACnet Data Server service and the current user has
not sufficient rights to know the status of service. The current user can’t start the BACnet Data Server service)
4 Disabled, BACnet Data Server service is not running, check the BACnet Data Server service
5 N-A
[Link].<Network>.<Device>.STATUS R Register Automatic
BACnet device status where <Network> is the name of the BACnet network alias and <Device> is the name of the
BACnet device.
0 Healthy connection.
1 Disconnected, the communication between the supervisor and the device is broken.
2 Disabled, BACnet Data Server service not installed. (Inherited from network status)
3 BACnet Data Server can't start, check the BACnet Data Server service (Problem to start the BACnet Data Server.
The supervisor generates errors during the connection to the BACnet Data Server service and the current user has
not sufficient rights to know the status of service. The current user can’t start the BACnet Data Server service)
(Inherited from network status)
4 Disabled, BACnet Data Server service is not running, check the BACnet Data Server service (Inherited from net-
work status)
5 Disabled, bad device address (the device address has not been scanned, the address is unknown by the BACnet
network of the supervisor).
Alarm Counter Variables
SYSTEM.<State>.<Level> R Register Manual
System alarm counters by alarm state and level. The <Level> is a number that determines the alarm level to be
counted. Alternatively ALL may be used to count alarms irrespective of level. The <State> is used to select the
alarm state that is to be counted. A number or an string may be used.
Alarm off 0 ACKOFF
Alarm on and not acknowledged. 1 NOACKON
Alarm off and not acknowledged. 2 NOACKOFF
Alarm on and acknowledged. 3 ACKON
Alarm invalid (Not Set). 4 NS
Alarms masked by the operator. 5 USERMASK
SYSTEM.<State>.<Level>.<Dom_ R Register Manual
Nat>
System alarm counters by alarm state, level and Domain and/or Nature. <Dom_Nat> is a string that selects the
Domain and Nature to be used. Note that this has the same restriction that is applied to any branch in the database
in that it is limited to 20 characters. The character used to separate the Domain and Nature is normally an under-
score but may be changed using the Project Tuning dialog box. The wild card character * used either before or
after the underscore may be used to signify all Domains or all Natures.
Examples
SYSTEM.3.8 Counts all alarms of level 8 that are on and acknowledged.
[Link].8
[Link].ZONE1_ELEC Counts alarms on and not acknowledged in Domain ZONE1 and
[Link].ZONE1_ELEC nature ELEC.
SYSTEM.3.15.*_CONTROL Counts all level 15 alarms with the CONTROL nature that are on and
[Link].15.*_CONTROL acknowledged.
Using alarm counter variables in Expressions or Programs
Variables using the * wild card character in the name to signify all Domains or Natures, will cause a syntax error if
used in expressions or programs. To overcome this problem you can use the dollar sign, $, as a wild card character
which is accepted by programs and expressions.
Network Status Variables
Variables that indicate the connection status between two stations
SYSTEM.<Station> R Bit Automatic
The status of the connection between the local station and the station <Station>. This variable is automatically
created on all stations.
0 The connection has failed.
1 The connection is OK.
NS The connection (station) does not exist.
SYSTEM.<Station>C<Card> R Bit Automatic
The status of the connection between the local server station and the client station <Station> using the network
card <Card>. On a station configured as a server one variable per configured client is automatically created.
These variables are only required when there is more than one network between stations.
0 The connection has failed.
1 The connection is OK.
NS The connection (station) does not exist.
SYSTEM.<Station>S<Card> R Bit Automatic
The status of the connection between the local client station and the server station <Station> using the network
card <Card>. On a station configured as a client one variable per configured server is automatically created.
These variables are only required when there is more than one network between stations.
0 The connection has failed.
1 The connection is OK.
NS The connection (station) does not exist.
On the station <Station>, these three variables are always set to one.
Example 1
POST2 and POST3 are the names of two stations that are both client and server. The stations are connected using
card 0. POST2 is a client of POST3 and vice versa. The values of the variables are as follows.
Variable name Value on POST2 and POST3
SYSTEM.POST2 1
SYSTEM.POST2C0 1
SYSTEM.POST3C0 1
SYSTEM.POST3 1
SYSTEM.POST2S0 1
SYSTEM.POST3C0 1
Example 2
POST2 and POST3 are the names of two server stations in the association ASOC10. POST4 is the name of a client
station connected to the association ASSOC10. The configuration uses dual connections. In station POST4, only the
first card (card 0) is working, the second card (card 1) is faulty. In stations POST2 and POST3 both cards are work-
ing. The values of the variables are as follows.
Variable name Value on Value on POST2 and
POST4 POST3
SYSTEM.POST2 1 1
SYSTEM.POST3 1 1
SYSTEM.POST4 1 1
SYSTEM.POST2C0 NS 1
SYSTEM.POST3C0 NS 1
SYSTEM.POST4C0 1 1
SYSTEM.POST2C1 NS 1
SYSTEM.POST3C1 NS 1
SYSTEM.POST4C1 1 0
SYSTEM.POST2S0 1 1
SYSTEM.POST3S0 1 1
SYSTEM.POST4S0 1 NS
SYSTEM.POST2S1 0 1
SYSTEM.POST3S1 0 1
SYSTEM.POST4S1 1 NS
Variables that count the number of connections on the local station
SYSTEM.CLIENT_CNT.OK_NUMBER R Register Automatic
The number of operational server connections on the local station.
SYSTEM.SERVER_CNT.OK_NUMBER R Register Automatic
The number of operational client connections on the local station.
Variables that indicate the status of a sever station within an association
SYSTEM.<AssocName>.<Station> R Bit Automatic
The status of a server station <Station> that is part of an association <AssocName>.
0 The station is passive.
1 The station is active.
NS The connection has failed or does not exist.
Example
POST2 and POST3 are the names of two server stations in the association ASSOC10. POST2 is active and POST3 is
passive. POST4 is the name of a client attached to the association. The values of the variables are as follows.
Variable name Value on POST2, POST3 and POST4
SYSTEM.ASSOC10.POST2 1
SYSTEM.ASSOC10.POST3 0
Variables that indicate the status of a local station that is a client of an association
SYSTEM.<AssocName>.USER_STA- R Text Automatic
TION
The name of the active station within the association <AssocName> to which the local station is connected.
SYSTEM.<AssocName>.USER_ R Register Automatic
BOARD
The number of the card being used to communicate between the local station and the active station of the asso-
ciation <AssocName> The value is generated on local station.
Example
POST2 and POST3 are the names of two server stations in the association ASSOC10. POST2 is active and POST3 is
passive. POST4 is the name of a client attached to the association. The values of the variables are as follows.
Variable name Value on POST4
SYSTEM.ASSOC10.USER_STATION POST2
SYSTEM.ASSOC10.USER_BOARD 0
Variables that indicate the status of the watchdog connections
SYSTEM.<StationName>.S.<Card>.[Link] R Register Automatic
On a client station counts the number of watchdog messages (modulus 1000) sent to the server <StationName>
using the card number <card>. On the server station <StationName> counts the total number of watchdog mes-
sages (modulus 1000) received all client stations using the card number <card>.
SYSTEM.<StationName>.C.<Card>.[Link] R Register Automatic
On a server station counts the number of watchdog messages (modulus 1000) received from the client <Sta-
tionName> using the card number <card>. On the client station <StationName> counts the total number of watch-
dog messages (modulus 1000) sent to all server stations using the card number <card>.
Other variables related to network status
SYSTEM.S_CONNECTION_ R Register Automatic
NUMBER.<StationNo>
The number of client connections to the server number <StationNo>. The value is generated on the station <Sta-
tionNo>.
SYSTEM.C_CONNECTION_ R Register Automatic
NUMBER.<StationNo>
The number of server connections to the client <StationNo>. The value is generated on the station <StationNo>.
SYSTEM.STATION_NAME R Text Automatic
The name of the local station.
SYSTEM.STATION_NUMBER R Register Automatic
The numeric ID (number) of the station on which the project is running.
SYSTEM.<StationName>.[Link] R Text Automatic
The library version for the local station <StationName> when using version administration on a multi-station
project. See also information on version administration.
SYSTEM.<StationName>.[Link] R Text Automatic
The project version for the local station <StationName> when using version administration on a multi-station
project. See also information on version administration.
SYSTEM.<StationName>.USER R Text Automatic
The name of the current user for the local station <StationName>.
SYSTEM.<StationName>.PROFILE R Text Automatic
The profile for the current user for the local station <StationName>.
SYSTEM.NODE_NUMBER R Register Manual
The node number of the station on which the project is running. Included for backwards compatibility as the same
information is now available in SYSTEM.STATION_NUMBER which is automatically created.
Email Status Variables
[Link].<ProfileName>.STATUS R Register Automatic
Status of the last email sent where <ProfileName> is the name of the profile used when sending the email.
0 Email send successful
1 Failure because of incorrect configuration. For example, SMTP server name, port number or authentication
required (but not used).
2 Failure because email was sent with restricted attachment.
4 Failure because attachments do not exist.
8 Failure because total size of attachments too big.
Vartreat - specialist variable treatment
What is Variable Treatment?
Variable treatment configures specialised behaviour for one or more database variables. In version 8.10, variable
treatment is only configurable by manually editing the variable's configuration file, [Link], with a text editor
or spreadsheet.
The following specialised behaviours can be configured.
l Equipment life indicator - one or more variables are periodically checked for a change in value. If the value
has not changed during the check period a bit variable is set and all variables associated with the equipment
(except the life indicator) are set to invalid.
l Supervisor life indicator - one or more variables are periodically changed so that a PLC or other equipment
can check if the Supervisor is running.
l Customizable alarm group counters - alarm group counters using a filter based on variable attributes.
l Group alarm acknowledgement using a bit variable - acknowledgment of one or more alarms with a bit var-
iable. The name of the acknowledgment bit is calculated using substitution of the alarm bit attributes.
Manually Editing [Link]
[Link] is the Supervisor's variable database definition file and is created and maintained during the normal
process creating and editing database variables. [Link] is a text file in comma separated variable format
and may be edited with a third party tool such as a text editor or spreadsheet as long as certain precautions are
taken.
l Do not edit [Link] manually unless you are 100% certain about the changes you intend to make.
l Do take a copy of [Link] before you edit it.
l Do not edit [Link] when the Supervisor is running.
l If you are using a spreadsheet such as Excel, make sure you save the file as CSV (comma separated var-
iable) format after the editing process. Do not save in the native spreadsheet format.
[Link] is found in the project's C folder.
Creating an Equipment Life Indicator
The Equipment Life Indicator allows you to configure an equipment variable that is periodically checked to see if its
value has changed. If the value has not changed since the previous check it is assumed the equipment is faulty and
all its associated variables (excluding the life indicator) are set to invalid, and a specified internal bit is set.
The entry in [Link] for an Equipment Life Indicator has the following structure.
N Description Type Size Value
1 Type of entry C 9 TREATMENT
2 Type of treatment C 13 WATCHDOGEQT
3 Reference name C 40
4 Origin N 0
5 Name of list of producers C 40
6 Reserved
7 Comment C 128
8 Reserved
9 Reserved
10 Reserved
11 Active N 0 or 1
12 Equipment life indicator variable C 40
13 Life indicator failure variable. C 40
14 Check period in seconds N 10 to 32000
15 Invalidate equipment variables N 0 or 1
Explanation of fields
l Reference name - A 40 character string that identifies the equipment life indicator. The name is used when
information about the operation of the equipment life indicator appears in the trace window.
l Name of list of producers - The name of the list of producers if used on a multi-station application.
l Comment - A free format comment of up to 128 characters.
l Active - The equipment life indicator is active if set to 1, else it is inactive.
l Equipment life indicator variable - The name of the equipment register that is periodically checked so see if
its value has changed.
l Life indicator failure variable - The name of a bit variable, with the command attribute set, that is set to 1 if
the life indicator fails.
l Check period in seconds - The period at which the equipment life indicator variable is checked for a change in
value.
l Invalidate equipment variables - If set to 1, when the equipment life indicator fails, all associated variables
(except the life indicator) are set to invalid. If set to 0 then there is no action.
Examples of the group life indicator
TREATMENT, WATCHDOGEQT, WD_PLC1, 0, , , PLC1 Watchdog, , , , 1, [Link], [Link], 10,
1
The variable [Link] is checked every 10 seconds for a change in value. It the value has not changed all
variables associated with PLC1 are set to invalid and the internal variable, [Link], is set to 1.
Creating a Supervisor Life Indicator
The Supervisor Life Indicator allows you to configure a variable, the value of which is periodically changed so that
a PLC or other equipment can check if the Supervisor is running.
The entry in [Link] for a Supervisor Life Indicator has the following structure.
N Description Type Size Value
1 Type of entry C 9 TREATMENT
2 Type of treatment C 11 WATCHDOGSV
3 Reference name C 40
4 Origin N 0
5 Name of list of producers C 40
6 Reserved
7 Comment C 128
8 Reserved
9 Reserved
10 Reserved
11 Active N 0 or 1
12 Name of the variable to change C 40
13 Type of change N 0, 1 or 2
14 Monitor period N 10 to 32000
Explanation of fields
l Reference name - A 40 character string that identifies the life indicator. The name is used when information
about the operation of the life indicator appears in the trace window.
l Name of list of producers - The name of the list of producers if used on a multi-station application.
l Comment - A free format comment of up to 128 characters.
l Active - Must be set to 1 for the life indicator to be active, else 0.
l Name of the variable to change - the name of the database variable whose value is periodically changed. The
variable can be either a bit or register and must have the control attribute set in its configuration.
l Type of change - how the variable value is changed at each interval.
l 0 - A bit variable is set to 0.
l 1 - A bit variable is set to 1.
l 2 - A but variable is toggled.
l If a register variable is used the value is incremented by 1 each time, and this field is not used.
l Monitor period - the period, in seconds, at which the variable is changed.
Example 1
Toggles the bit variable [Link] every 10 seconds.
TREATMENT,WATCHDOGSV,WD_EQT1,0,,,Supervisor watchdog,,,,1,[Link],2,10
Example 2
Increments the register variable [Link] every 60 seconds.
TREATMENT,WATCHDOGSV,WD_EQT1,0,,,Supervisor watchdog,,,,1,[Link],,60
Creating a Group Alarm Counter
The Group Alarm Counter allows you to configure highly flexible group alarm counters using a filter based on var-
iable attributes.
The entry in [Link] for a Group Alarm Counter has the following structure.
N Description Type Size Value
1 Type of entry C 9 TREATMENT
2 Type of treatment C 11 GROUPALARM
3 Reference name C 40
4 Origin N 0
5 Name of list of producers C 40
6 Reserved
7 Comment C 128
8 Flag to enable any filter created 0 - The filter is not taken into account.
with the SCADA Basic instruction 1 - The filter is taken into account.
Station_Filter.
9 Reserved
10 Reserved
11 Minimum priority N 0 to 29
12 Maximum priority N 0 to 29
13 Attributes filter C 256 The filter used to select the group of alarms.
14 The name of a register variable the C 40 0 to 29 if there is an alarm, else 31.
value of which will be set to the
priority of the highest alarm that is
on and acknowledged.
15 The name of a register variable the C 40 0 to 29 if there is an alarm, else 31.
value of which will be set to the
priority of the highest alarm that is
on and not acknowledged.
16 The name of a register variable the C 40
value of which will be set to the
priority of the highest alarm that is
on and acknowledged.
17 The name of a register variable, C 40
the value of which will be set to the
priority of the highest alarm that is
on and not acknowledged.
18 The name of a register variable the C 40
value of which will be set to the
priority of the highest alarm that is
on (either acknowledged or not).
19 Branch to be used with the var- C 20
iables named in fields 20 to 33.
20 Alarm on and not acknowledged C 40 The number of alarms.
21 Alarm on and acknowledged C 40 The number of alarms.
22 Alarm on (acknowledged or not) C 40 The number of alarms.
23 Alarm off and not acknowledged C 40 The number of alarms.
24 Alarm off C 40 The number of alarms.
25 Alarm invalid C 40 The number of alarms.
26 Alarm masked C 40 The number of alarms.
27 Alarm masked by the user C 40 The number of alarms.
28 Alarm masked by program C 40 The number of alarms.
29 Alarm masked by dependence on C 40 The number of alarms.
another variable
30 Alarm masked by an expression C 40 The number of alarms.
31 Alarm on and in maintenance mode C 40 The number of alarms.
32 Alarm off and in maintenance mode C 40 The number of alarms.
33 Alarm inhibited C 40 The number of alarms.
Explanation of fields
l Reference name - A 40 character string that identifies the group alarm counter. The name is used when infor-
mation about the operation of the group alarm counter appears in the trace window.
l Name of list of producers - The name of the list of producers if used on a multi-station application.
l Comment - A free format comment of up to 128 characters.
l Minimum and maximum priority - The minimum and maximum priority of alarms used in the group counter.
l Attributes filter - See explanation below.
l Branch and variable names - Field 19 is a database branch and is prefixed to fields 20 to 33 to provide the
names of the database registers used as the alarm counters. The total length of the variable name must not
exceed 40 characters.
Using the attributes filter field
The filter field is used to determine which alarms are counted in the group.
#F - Filter expression
#B - Variable branch
#An - A variables extended attributes where n is 1 to 16. #A1 and #A2 are a variables Domain and Nature respec-
tively.
The filter field may be left empty (null) in which case there is no filter and all alarms are counted.
Example of the attributes filter field
All alarm variables with the domain BAT1, the nature, ETAGE1, and extended attribute 3 equal to BUREAU1.
#F=((#A1==BAT1)&&(#A2==ETAGE1)&&(#A3 ==BUREAU1))
Example of a group alarm counter
The following group counter will provide information about alarms between levels 0 and 3 that match the example
filter criteria above. The alarm counter variables all start with the branch BAT1.ETAGE1.BUREAU1.
TREATMENT, GROUPALARM, Group BAT1.ETAGE1.BUREAU1, 0, Association, , Group bat1 etage1 bureau1,
0, , , 3, 0, #F=((#A1==Bat1)&&(#A2==ETAGE1)&&(#A3 ==BUREAU1)), [Link],
[Link], [Link], [Link]-
[Link], , Bat1.etage1.bureau1, OnNoAck, OnAck, On, OffNoAck, OffAck, Invalid,
Disable, DisableOp, DisablePrg, DisableDepVar, DisableExpr, OnMaintenance, OffMaintenance,
Inhibited
Creating Group Alarm Acknowledgement
The Group Alarm Acknowledgement allows you to configure groups of alarms that can be acknowledged by the
change in value of a bit variable, the name of which may be calculated using substitutions of the alarm bit attrib-
utes.
Group alarm acknowledgement operates in both directions.
l When the bit is set the group of alarms are acknowledged.
l When any of the alarms in the group is acknowledged by another means, the bit is set.
The entry in [Link] for a Group Alarm Acknowledgement has the following structure.
N Description Type Size Value
1 Type of entry C 9 TREATMENT
2 Type of treatment C 13 ACKALARMBYVAR
3 Reference name C 40
4 Origin N 0
5 Name of list of producers C 40
6 Reserved
7 Comment C 128
8 Reserved
9 Reserved
10 Reserved
11 Minimum priority N
12 Maximum priority N
13 Attributes filter C 256 The filter used to select the group of alarms.
14 Acknowledge variable format C 256
15 Acknowledgment state N 0 - Acknowledge the group of alarms when the acknowl-
edge bit is set to 0.
1 - Acknowledge the group of alarms when the acknowl-
edge bit is set to 1.
Explanation of fields
l Reference name - A 40 character string that identifies the group alarm acknowledge. The name is used when
information about the operation of the group alarm acknowledge appears in the trace window.
l Name of list of producers - The name of the list of producers if used on a multi-station application.
l Comment - A free format comment of up to 128 characters.
l Minimum and maximum priority - The minimum and maximum priority of alarms affected by the acknowl-
edge action.
l Attributes filter - See explanation below.
l Acknowledge variable format - see explanation below.
Using the attributes filter field
The filter field is used to determine which alarms are included in the group.
#F - Filter expression
#B - Variable branch
#An - A variables extended attributes where n is 1 to 16. #A1 and #A2 are a variables Domain and Nature respec-
tively.
The filter field may be left empty (null) in which case there is no filter and all alarms are acknowledged.
Using the acknowledge variable format field
The name of the bit variable used to acknowledge alarms in the alarm group is calculated using substitution strings
for the properties of the variables in the alarm group. The following substitutions are supprted.
#Bn - Elements of the alarm variable name where n is 1 to 6.
#L - The leaf (final element) of the alarm variable.
#An - The alarm variables extended attributes where n is 1 to 16. #A1 and #A2 are a variables Domain and Nature
respectively.
#t - The name of the variable
* - The branch of the alarm variable (the name less the last element)
Any string not proceeded by the # character is interpreted literally.
Examples of the group alarm acknowledge
TREATMENT, ACKALARMBYVAR, TANK N, 0, , , Tank level alarms according to tank, , , , 10, 1,
#F=(#A2==LEVEL), #B1.#[Link], 1
Alarm variables with a domain of LEVEL and a priority between 1 and 10 are affected.
[Link] will acknowledge AREA1.TANK1.LEVEL_HIGH, AREA1.TANK1.LEVEL_HIHI etc.
[Link] will acknowledge AREA1.TANK2.LEVEL_HIGH, AREA1.TANK2.LEVEL_HIHI etc.
Etc.
TREATMENT, ACKALARMBYVAR, TANK 1, 0, , , All tank level 1 alarms, , , , 1, 1, #F=(#A2==LEVEL),
#[Link], 1
Alarm variables with a domain of LEVEL and a priority of 1 are affected.
[Link] will acknowledge alarms starting with the branch AREA1.
[Link] will acknowledge any alarms starting with the branch AREA2.
Etc.