Professional Documents
Culture Documents
-1-
ISaGRAF 426
LNS 436
LNS Import variables dialog 439
OPC 445
Saia-Burgess 457
Schneider Unity 467
Siemens SIMATIC Step 7 478
Selecting the Step 7 data blocks 480
Configuring the communication 484
Configuring the variables 487
WAGO CoDeSys 494
WAGO DALI 505
What is generated? 513
Yokogawa Stardom 528
Importing variables 533
Importing the HMI 541
Managing previous imports 551
Programming languages 555
VBA 558
Using MS VBA 564
The VBA development environment 566
Developing VBA programs 568
Coding events dynamically using the Dim WithEvents statement 571
Developing code for use in symbols 572
Using variables in a program 577
Web and mobile client applications 585
TouchVue 588
Using TouchVue 592
WebVue 609
Configuring a project for WebVue 611
Using WebVue 632
WebScheduler 637
WebScheduler configuration 642
WebScheduler runtime 648
Using the Schedule Control 658
Web Services Toolkit 676
Extras and Add-ons 681
The VCR Facility 682
Configuring a VCR archive unit 685
Configuring the playback project 691
21CFR Part 11 698
Interpreting 21CFR Part 11 requirements in the Supervisor 700
Providing an audit trail 706
Ethernet/IP add-on 712
SNMP Agent add-on 720
KNX data acquisition driver add-on 726
Dynamic Busbar Coloring 733
Main concepts 735
The configuration tool 748
OPC UA Gateway 758
Troubleshooting 769
Log files 770
Third party products 777
-2-
About this help
-3-
About This Help
This help is for version 12.0 of the Supervisor.
l A bulleted list is used for a list of items that has no particular order, and for lists of tab options.
1. A numbered list is used for a list that has a particular order, such as how to do something.
Text in a mono-spaced font and with a background color is used for
file fragments and data lists.
Show picture indicates a place where you can click to display a picture about the topic.
An essential note.
A warning.
-4-
About Searching for Help
There is more to a Help system than meets the eye. Many users of software systems know how to use a
Help system in a basic manner via the Contents, Index and Search tabs, yet are unable to locate the inform-
ation they need even when it is present in the Help.
This book gives an overview of the powerful search tools you can use for finding the information you require
in Microsoft-style Help systems. Show picture
-5-
Basic Search Features
The search string can use letters and numbers. The letters are not case-sensitive. Punctuation marks are
ignored except when within quotations (however you cannot search for quotation marks).
Using the drop down arrow adjacent to the search field, you can re-run or adapt previous searches.
-6-
-7-
Advanced Search Techniques
Using logical search expressions
The logical operators AND, OR, NOT and NEAR enable you to define your search precisely by relating several
search terms. You can type them directly or insert them using the right arrow button adjacent to the search
field.
Logical search expressions are evaluated left to right unless they contain parentheses (see below). The fol-
lowing table shows how you can use each of these operators.
To search for Example Topics containing
Both terms in the same alarm AND #t Both words 'alarm' and '#t'.
topic
Either term in a topic alarm OR #t The word 'alarm' or the word '#t' or both.
The first term without the alarm NOT #t The word 'alarm' but not the word '#t'.
second term
Both terms in the same alarm NEAR #t The word 'alarm' and the word '#t' within 8 words of each
topic, close together other.
If no operator is specified, AND is implied. For example, the query 'alarm display window' is equivalent to
'alarm AND display AND window'.
l The expressions in parentheses are evaluated before the rest of the query.
l The query is then evaluated from left to right.
l You cannot nest expressions more than five levels deep, e.g. '(level_1...(level_2...(level_3...(level_
4...(level_5...))))).
As you add levels and logical operators, a query quickly become unmanageable. It is simpler to
employ the option to search previous results, as described in Basic search features.
Example Operators Topics containing
alarm AND ((display OR win-'AND', 'OR', The word 'alarm' along with the words 'display' and 'select'
dow) NEAR select) 'NEAR', '(...)' close together; or 'alarm' along with 'window' and 'select'
close together.
alarm NOT display OR win- 'NOT', 'OR'; left- The word 'alarm' without the word 'display'; or the word 'win-
dow to-right rule dow'.
alarm NOT (display OR win- 'NOT', 'OR', '(...)' The word 'alarm' without either of the words 'display' or 'win-
dow) dow'.
-8-
Installation
-9-
Operating System and PC Requirements
Operating Systems
Only operating systems from the Microsoft® families of Windows 7, Windows 8.1, Windows 10, Windows
Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 and Windows
Server 2019 are supported.
We recommend you to use Windows Client versions for operator stations and Windows Server versions for
server stations.
Supported and operational:
l Windows Workstation
l Windows 7 with SP1 - Professional, Enterprise and Ultimate editions
l Windows 8.1 - Professional and Enterprise editions
l Windows 10 version 1607 or later - Professional and Enterprise editions
l Windows Server
l Windows Server 2008 R2 with SP1 - Web, Standard, Enterprise and Datacenter editions
l Windows Server 2012 - Foundation, Essentials, Standard and Datacenter editions
l Windows Server 2012 R2 - Foundation, Essentials, Standard and Datacenter editions
l Windows Server 2016 - Foundation, Essentials, Standard and Datacenter editions
l Windows Server 2019 - Foundation, Essentials, Standard and Datacenter editions
All operational versions of Windows Server shall be installed with the ‘Desktop Experience’ option.
l Windows 10 IoT Enterprise LTSB 2016 or later, Windows Server IoT 2019, Windows Server for Embed-
ded Systems and all other embedded systems
l Any operating systems hosted in a system virtual machine such as Microsoft® Hyper-V and VMWare®
virtualization products
NOT supported:
l All other versions of Windows 7, Windows 8.1 and Windows 10 - In particular Windows 10 version
1507 (RTM) and 1511 (Nov 2015 update) are not supported
l Windows 8
l Windows RT
l Windows 10 IoT Core, Windows Embedded Compact 7 and 2013
l Windows Server installation in Nano Server or Server Core mode
For all operational versions of Windows 7, Windows 8.1, Windows 10 and Windows Server 2008,
only the x64 processor architecture is supported.
For all platforms, we recommend that you apply any critical updates available from the Windows
Update website. Installation of the latest Windows Service Pack may be required on some operating
systems.
For any other Microsoft operating system, please contact your Technical Support.
- 10 -
l Mobile web browsers:
l Google Chrome™ for Android™ 46 and later
l Apple Safari® for iOS™ 10 and later
l Android WebView™ 5 and later
Depending on your project requirements and their specific constraints, any of the following editions can be
used for each of the above: Express, Workgroup, Web, Standard, Business Intelligence, Enterprise or Data-
center.
Starting with Microsoft® SQL Server 2014, SQL Server does not support Windows Vista.
SQL Server administration requires Microsoft SQL Server Management Studio – For more inform-
ation and download, refer to https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-man-
agement-studio-ssms
l Processor - x64-compatible AMD or Intel CPU (or equivalent) - 1.4 GHz dual core minimum.
l System Memory* - 4 GB of RAM.
l Available hard disk space - At least 10 GB.
l Graphics - 1024×768 display for Windows Server platforms. In addition for Windows Client platforms,
support for DirectX 9 graphics device with WDDM driver.
l Network Interface Card - At least 1.
l Drive - A DVD drive, as appropriate, is required for installation from disc. An available USB port is
required for the hardware protection dongle.
*If you are using SQL Server, additional memory may be required. See the following topic in the main
online help for more information: Microsoft SQL Server related considerations.
*If you are using RDS (Remote Desktop Services) or IIS (web server), please contact your Technical Sup-
port for advice about memory requirements.
The above figures represent the minimum requirements. For advice on specific applications, please contact
your Technical Support.
For information about the Microsoft® Windows user privileges required to install and run the Supervisor,
see the following topic in the main online help: Operating system related considerations.
- 11 -
Operating System Related Considerations
This topic is to alert you to, and to describe, the steps you need to take to successfully install, deploy and
run the Supervisor with regards to the operating system platform and its security features. The steps are
not specific to the Supervisor, however you are liable to encounter them as you install, deploy and run the
software on a target computer.
The Windows user account that runs the Supervisor must have the Modify Permission for the installation
folders.
There may be differences in default permissions depending on the operating systems, in particular desktop
OS vs server OS. It also and mainly depends on the target partition and folder (system partition vs other par-
titions).
In most cases, permissions need to be changed because the installation was run by an administrator user
account and the software will be run afterward with standard user accounts.
For this reason, it is strongly recommended to create a dedicated User Group for all Windows user accounts
that are due to run the software. This allows for setting permissions on the installation folders once, and
ease user account changes. In addition, it securely isolates who can affect the Supervisor's files.
A tool is provided with the Supervisor that can be used to view the permissions of the current User
on selected folders. The tool is named ViewEffectivePermissions.exe and is found in the Supervisor's
BIN folder.
- 12 -
Running the Supervisor
During start-up, the Supervisor checks that permissions and security features are set correctly for the most
common uses.
For security reasons, it is strongly recommended to apply the least privilege principle by not running
the Supervisor with Windows administrator privileges.
If you have several versions of the Supervisor on the same computer, you must register the components
every time when switching from one version to another version, using the Component Registration tool. See
below for more information.
The Supervisor's start-up will be aborted if one of the following element is not set accordingly: Permissions,
DEP exception, missing or incorrectly registered components.
- 13 -
Microsoft SQL Server Related Considerations
Microsoft's SQL Server and SSMS (SQL Server Management Studio) are required if you will be using the His-
torical Data Server (HDS) for either event logging and / or trend recording. See the topic Operating System
and PC Requirements for a list of supported SQL Server versions.
The use of the HDS is not mandatory. You can alternatively use the other types of archive units sup-
ported by the Supervisor for event logging and trend recording.
Installation recommendations
The installation process may vary depending on the exact version you are installing and the operating sys-
tem. The following is a recommendation for a typical installation of the Express edition.
1. Start the installation by running the installable executable. It will be named something like
SQLEXPRWT_x64_ENU.exe. The SQL Server Installation Center dialog is displayed. First run the Sys-
tem Configuration Checker to make sure the PC is ready to install SQL Server Express Edition.
2. A setup support check will run. If there is any error or warning, then that must be investigated and cor-
rected. When all rules in the System Configuration Check have passed, the dialog closes auto-
matically.
3. Click on Options at the SQL Server Installation Center. Confirm or select the architecture to install and
then click on Installation.
4. Select New SQL Server stand-alone installation or add features to an existing installation.
5. The SQL Server Setup will now appear starting at the License Terms. Read, and if you agree with them
tick the box I accept the license terms and click Next to continue.
6. If you have an Internet connection, the setup will then check for any product updates. Depending on
your IT strategy, you can choose to accept them or not.
7. Click Install to install the Setup Support Files.
8. In the Feature Selection dialog, select Database Engine Services and Management Tools - Complete
then click Next. Note the list of prerequisites displayed in the right pane.
9. In the Instance Configuration dialog, select a named instance for your installation. You can either spe-
cify a unique name or use the default instance. Click Next.
10. In the Server Configuration dialog, change the SQL Server Browser's Startup Type to Automatic and
then click Next.
11. In the Database Engine Configuration page, you can either use the default of Windows Authentication
Mode only or select Mixed Mode (SQL Server authentication and Windows authentication).
l Windows Authentication - Allows the user to connect to the database server without having to
enter a password. The Windows credentials (username and password) in use at connection time
are used. If this option is selected, SQL authentication is disabled. In the case of connecting to a
database through a network, the user must be known (i.e. have a domain) on both computers.
This method is recommended when the SQL Server is on the same PC as the Supervisor and you
are not using replication. (The replication process will not work in Windows Authentication
mode.)
l SQL Authentication - The user will have to enter a login and a password at connection time. If
this option is selected, the Windows Authentication remains active and you can still connect in
- 14 -
this way. If the SQL Server is not on the same PC as the Supervisor or you are using replication,
it is recommended that you use SQL Authentication. If you are using SQL Authentication, you
must select the option button Mixed Mode then enter and confirm the SQL Server system admin-
istrator (SA) password. Any blank or weak password will be rejected.
Before you can continue, you must also specify the groups that are to have unrestricted access to SQL
Server. Click Add... and select the group(s). We recommend that you at least add Administrators and
the current user. (Use Add Current User.) When you have finished, click Next. The installation then
starts.
12. You can monitor the setup's progress in the Installation Progress dialog. When the installation is fin-
ished, click Next.
13. Close the SQL Server Configuration Manager.
- 15 -
Before Starting the Installation
Before you begin
Never run two installation processes at the same time on a PC (whatever item of software you are
installing). In particular:
l Do not run the Supervisor's installation while Windows updates are being installed.
l Never launch or accept a Windows update installation while the Supervisor installation is running.
Before any installation, removal or maintenance operation on the Supervisor, you should back up
any project and library that you wish to retain. More generally, you should take backups regularly.
See the Deployment book for more information about how to backup and restore your projects and
libraries
If you are using any of the Supervisor's web based feature, that is WebVue, TouchVue, the WebScheduler or
the Web Services Toolkit, you need to install the following items:
l Web deployment tools, on the computer that will take the role of the web server.
l Supervisor station with the web back end role.
See Role of the Web Server and Web Back End and Web Deployment Console Overview for more inform-
ation.
The installation process depends on what is already on the PC and on the software you are going to install.
l Full DVD - Either as a DVD, or as a download, containing the full set of installation modules
including help in all languages and all add-ons and tools.
l Standard package - Containing the most commonly used modules. Can be used for a fresh
installation.
l Cumulative patches - Smaller packages designed to update an existing installation. Cannot be
used for a fresh installation.
1. Check that enough disk space and memory are available on the target PC (as specified in System
Requirements).
2. Ensure no other installation or automatic update is running.
3. Check that the system and software meet the requirements.
4. Insert the Supervisor's media into the DVD drive. If you have Auto Run enabled, the set-up program
will start automatically, otherwise you can start the installation manually by locating and running
Setup.exe from the root of the DVD.
5. Follow the instructions on the screen as described in the topics after this.
Throughout the installation process, always restart the PC when requested to do so.
- 16 -
The Installation Menus
The Supervisor's installation process includes the following menus.
l License Utility* - Install the standalone License utility package that can be used independently of the
Supervisor.
l Sentinel Driver* - Install the hardware protection key drivers.
l Back - Return to the previous menu.
l Exit - Quit the installation process.
l Web back end - The components required to run the Supervisor's web clients and / or apps.
l Libraries - The Supervisor's pre-configured graphic libraries.
l Quick Start project - A pre-configured project that can be used as a base to start your project.
l Demonstration project - A project that demonstrates the Supervisor's main features.
l Extra documentation - Supplementary documentation.
l Development Toolkits - The Supervisor's SDKs and their associated documentation, including the fol-
lowing toolkits: XML Generic Import, the SV Manager SDK, the CimWay driver SDK and the Web Ser-
vices Toolkit.
l Start the installation - Start the Supervisor's installation process.
l Back - Return to the previous menu.
Some of these components are a chargeable option. They can still be installed but, unless they are
enabled by the appropriate license, they will not run or they will run in demonstration mode with lim-
ited functionality.
- 17 -
Installing the Supervisor
Prerequisites installation
The prerequisites are components supplied by other software vendors that must be installed before the
Supervisor, or the Web Deployment Tools, can be installed and operate correctly. The necessary pre-
requisites are bundled in with the Supervisor and no additional licenses are required.
When either the Supervisor's installation, or Web Deployment tools installation is started, it first checks for
the existence of the prerequisites.
As of version 12, the prerequisites are installed as two bundles.
l Common prerequisites - Supporting components that are required for prerequisites to be installed
properly.
l Core prerequisites - The actual Supervisor's prerequisite.
1. Select the installation language - Select the language in which the installation takes place. See the
important note below- About the installation language. Show picture
2. Welcome to the InstallShield Wizard - This is the first step of the installation proper. Click Next to con-
tinue. Show picture
3. License agreement - Before you can continue with the installation you should read the License Agree-
ment and select I accept... or I do not accept... as appropriate. Click Next to continue only if you
accept the agreement. Show picture
4. Products and Projects Folders - Suggests a destination folder for the Supervisor's executable software
and for the projects and libraries.
To install the software elsewhere, use the Change button to select another path; likewise for the
- 18 -
projects and libraries. Show picture
5. Setup Type - Select the setup type from the following options. Show picture
l Typical/Preselected - Installs the most common options for the software, taking into account the
selection made in the Features Selection Menu. For example, if you selected Web back end, the
additional components required for the Web back end role as well as the components required
for the basic Supervisor installation, will be selected for installation.
l Complete - Installs all of the features.
l Custom - Allows you to select exactly which components you want to install. The default selec-
tion is the same as for Typical/Preselected. Recommended for advanced users. Show picture
6. Ready to Install the Program - Asks whether you wish to complete the installation or to review or
change the options you selected. Up until this step you have only configured the installation process -
nothing has been installed or registered. Click Install to proceed with the installation, Back to return to
the options or Cancel to abandon the installation process. Show picture
- 19 -
7. Installing status: A series of time-bars indicates progress with installing each component, then a dia-
log confirms that the installation is complete. Click on Finish.
l The Supervisor's startup language (that is, the language for any text displayed before the project is
loaded).
l The first project language.
l The first display language.
The second project and second display language defaults to English. Once the Supervisor is running, you can
change the language settings as part of the project configuration.
Prerequisites appear as 2 bundles, and the components they include, can be seen in Programs and Features
in the Windows Control Panel. Show picture
- 20 -
Installing the Web Deployment Tools
The Supervisor's web deployment tools are required on the computer that has the role of web server.
Depending on the chosen architecture, this can be on the same or different PC to the Supervisor itself. The
main component of the web deployment tools is the Web Deployment Console.
When either the Supervisor's installation, or Web Deployment tools installation is started, it first checks for
the existence of the prerequisites. See the topic Installing the Supervisor.
A wizard guides you through the installation process, prompting for information where necessary. At each
step, after configuring any options click the OK or Next button to proceed. Clicking the Cancel button at any
time will abort the installation.
1. Select the installation language - Select the language in which the installation takes place. Show pic-
ture
2. Welcome to the InstallShield Wizard - This is the first step of the installation proper. Click Next to con-
tinue. Show picture
3. License agreement - Before you can continue with the installation you should read the License Agree-
ment and select I accept... or I do not accept... as appropriate. Click Next to continue only if you
accept the agreement. Show picture
4. Destination Folder - Suggests a destination folder for the installation. To install the software else-
where, use the Change button to select another path. Show picture
- 21 -
5. Ready to Install the Program - Click Install to proceed with the installation. Show picture
6. Installing status: A series of time-bars indicates progress with installing each component, then a dia-
log confirms that the installation is complete. Click on Finish.
The screen below shows the installed components in Windows 10. Show picture
- 22 -
Maintaining the Supervisor or the web deployment tools
Maintenance is the name given to the process of uninstalling, modifying, or repairing the software pro-
grams.
Essential notes to read before maintaining the Supervisor or the Web Deployment Tools
l Removing the Supervisor or Web Deployment Tools does not remove the prerequisites. See below
Maintenance of the prerequisite's installation for more information.
l Maintaining the Supervisor does not affect any projects that have been configured. However, as a pre-
caution, you should always backup any projects you have configured, and want to keep, before using
maintenance.
l Our policy of continuous improvement means that the shared libraries supplied with the Supervisor
are regularly updated. There may even be minor changes between different updates of the same ver-
sion of the Supervisor. The process that uninstalls the Supervisor will remove the shared libraries and
any library file or folder created by the installation, even if it has changed. If your project uses the
shared libraries it is essential that you make a backup before the uninstall process even if you are rein-
stalling another copy of the same version of the Supervisor
l Using Install the Supervisor or Install the Web Deployment Tools from the Primary Installation Menu
of the original installation media.
l Using the Modify or Repair modes available via the Windows Control Panel's Add/Remove program
tool (or the Apps & features settings).
After a Welcome dialog, the Program Maintenance dialog is displayed. Show picture
- 23 -
ture
Maintenance of any of the prerequisites is started by selecting it in Programs and Features list and then click-
ing Uninstall, Change or Repair as appropriate.
Uninstalling prerequisites
Uninstalling the prerequisites is only necessary if you wish to fully uninstall software components that were
installed as part of the Supervisor's installation. Uninstalling any of the prerequisites, whilst keeping the
Supervisor installed, will prevent it from running properly.
Uninstall the Common prerequisites and the Core prerequisites bundles does not uninstall the individual com-
ponents. However, you can completely uninstall the prerequisites by uninstalling the bundles as well as the
individual components. Uninstalling an individual component may fail if it is used by other software, or the
other software may fail to operate.
Changing prerequisites
You must not change any of the bundles or individual components.
Repairing prerequisites
You can repair a bundle or an individual component. If you repair a bundle, any missing components will be
installed and any already installed components will be repaired.
- 24 -
The Hardware Protection Key Driver
The Supervisor software is protected against unauthorized use by using a hardware device known as a
dongle or hardware protection key. Each new license of the Supervisor's software is delivered with the
appropriate Sentinel key. Two types of hardware protection key are available and drivers for both are
installed.
l Parallel port.
l USB port.
1. From the Supervisor's Installation menu, select the Add-ons, Drivers and Tools menu and then select
Sentinel Driver. When the wizard for the Sentinel System Driver appears, select Next.
2. If a previous version of the Sentinel System Driver is already installed, a dialog will ask whether you
want to upgrade it. Click on Next.
3. A Welcome dialog appears. Click on Next.
4. The License Agreement dialog appears. Read the license agreement, select the option 'I accept...' to
continue only if you accept the agreement, then click on Next.
5. The Setup Type dialog is displayed. Select Complete then click on Next.
6. The Ready to Install dialog is displayed. Select Install to run the installation process.
7. An Installing dialog shows a progress time-bar. When it shows the message InstallShield Wizard Com-
pleted, click on the Finish button.
- 25 -
1. Locate the self-extracting executable, SentinelAdvancedMedic.exe, on the Supervisor's distribution
media in the Add-ons and Tools folder, and run it. The diagnostic tool is installed and a shortcut,
Sentinel Advanced Medic, created on the desktop.
2. Start the tool using the desktop shortcut. Show picture
3. Select Troubleshoot to run the basic checks on the local system or Network Test to run checks over a
network. Each time a check fails the process halts and a message is displayed in the Hint box. You
must click Acknowledge to continue.
4. When the checks are complete click Done to close the diagnostic tool.
- 26 -
License and Associated Features
This topic briefly describes the correspondence between license protection and application features as doc-
umented in this online Help.
The content below is given for information purposes only and is subject to change without notice.
Some modes, types and options, solely or combined, may only be available under specific conditions
and in geographical areas.
Modes of operation
There are three modes of operation:
Mode Features
Run time Designed for use in production. This allows an unlimited runtime usage, but with no con-
figuration capability.
Development Designed for stations used for project development and maintenance on a one-off basis.
Development mode is limited to four hours run time after which features are restricted.
Complete Designed for stations with mixed usage, production and maintenance. This brings together
Development and Runtime functioning without any limitation other than those brought about
through the installation and the other license options.
- 27 -
key. The license is stored in a hardware protection key that is available on the
network. This type of license is used for client stations running in a Windows
Remote Desktop architecture.
Web Server Designed for the role of server for Web clients. (WebVue, TouchVue as well
as the Web Services Toolkit).
Engineering Station Designed for development and maintenance stations off from production. It
includes all main features, in particular data acquisition, alarms, historical
data, user interface and inter-node messaging. Runtime usage is limited to 4
hours.
l Inter-station messaging
l Communication channels for data acquisition including Modbus, S7, OPC-DA Client, OPC XML-DA Cli-
ent, SNMP Manager, BACnet, LonWorks, KNX, IEC 104 Client, IEC 61850 Client, DNP3 Client ...
l Number of simultaneous WebVue clients
l Number of simultaneous Web Services Toolkit clients
l Number of simultaneous TouchVue clients
l Database Manager and Replication
l Data Export
l SNMP Agent, OPC-DA Server, IEC 104 Server
l Dynamic Busbar Coloring
l Map Control
l ...
- 28 -
Running the Supervisor in trial mode
When you start the Supervisor, if it does not detect a hardware protection key it gives you the option of start-
ing it in Demonstration mode. Demonstration mode is similar in capability to an HMI station including all
data acquisition channels limited by time (trial mode).
It runs as a license of type complete with all features available but with the following restrictions:
l The maximum number of variables that can be mapped to a data acquisition channel is limited to 25.
l No inter-station messaging.
l Data acquisition runs for 1 hour in any one session
l Only two WebVue clients can be connected.
- 29 -
Deployment
- 30 -
Deployment Overview
This book explains the options for deploying the Supervisor.
Deployment is the process of allocating roles to workstations and servers, setting-up a web server and cli-
ent applications (web or desktop apps) to fulfill the system requirements in a given physical network archi-
tecture.
For the purpose of this topic, we will consider that the Supervisor has the following main functions.
l Data acquisition - The collection of real-time data, representing real-world or calculated values, using
a communication protocol such as Modbus, OPC...
l Historical data recording - The recording of real-time data so that it can be accessed at a later time by
either the Supervisor itself or a third party application.
l Alarms - Alarm generation and management.
l HMI - Human Machine Interface. The graphical interface that is the presentation layer and enables
operators to interact with the monitored system.
l Inter-station networking. The mechanism by which the Supervisor distributes real-time and historical
data between stations in networked architectures.
l Web server. Comprising components used to interface the Supervisor's core architecture with web
and mobile clients.
l Interface to 3rd party systems - Such as CMMS, GIS, ERP, MES...
Functions and roles allocation cannot be achieved independently from the licenses. For more information
about licensing, see the book about Licensing in the Installation section.
Architectures
The typical architectures are as follows:
Roles
The architectures above require allocation of the following roles:
- 31 -
l Data acquisition
l Communication with field devices,
l Real time data and alarm production,
l Serves real time data and alarms to other stations.
l Historical data
l Consume real time data and alarms produced by other stations,
l Handles data storage, the recording and replay of historical data,
l Manages connections to RDBMS,
l Serves historical data to other stations.
l Web back end
l Act as a gateway to provide data to the web server.
l Web server
l Runs Microsoft Internet Information Server,
l Hosts the Supervisor's web services required to serve the web & mobile applications,
l Consume real time data, alarms and historical data provided by the web back end station,
l Serves Web clients including WebVue clients, TouchVue clients, the WebScheduler and the Web
Services Toolkit clients.
l Gateway
l For the secure transfer of data between 2 networks
l Consume real time data, alarms and historical data produced by other stations on one network,
l Serves real time data, alarms and historical data to stations on another network.
l HMI
l Display mimics, graphics, alarm viewer, log viewer, trend viewer... to the user.
Depending on the combination of roles, the Supervisor's stations are better deployed on a desktop
operating system or a server operating system.
See the table below for more information.
Or
l As a Windows Service if an
HMI is not required
l Under a server OS
Data acquisition server l Data Acquisition l As a Windows Service
l Under a server OS
Client station
- 32 -
l HMI l As a Desktop Application
l Under a desktop OS
l Or with a server OS hosting
Remote Desktop Services com-
bined with lightweight ter-
minals used as operator
workstations
Historical data server
l Historical data l As a Windows Service
l Under a server OS
Web server
l Web server l Requires Microsoft IIS
l Under a server OS
Web clients
l Remote monitoring and l Using a Web browser or a
control over the Internet Mobile App
or Intranet. l On a desktop PC or a mobile
l WebVue clients and device
TouchVue clients.
Engineering station
l Depending on the archi- l As a Desktop Application
tecture and project l Under a desktop OS
design, an engineering sta-
tion can have very dif-
ferent roles, ranging from
those of a data acquisition
server (for testing com-
munication with field
devices), to archive
server or just an HMI
workstation (to design
mimics).
l Project development and
maintenance.
l Project and libraries ver-
sion management.
l Interoperability with
third-party generation
tools.
- 33 -
Architecture examples
- 34 -
Standalone, Client-Server and Redundant Architecture Examples
This topic describes some of the most common architectures. Architectures based on a web server and web
clients are described in the topic Web Based Architecture Examples.
There are many variations to fit system requirements in term of:
l Number of users
l Type and number of operator stations (HMI)
l Availability
l Flexibility
l Scalability
l Resilience
l Maintenance and application life cycle management
Standalone station
Show picture
Standalone stations are usually operator panels, it is the simplest architecture with all functions and roles
integrated into a single station.
Multi-station
Show picture
The simplest client/server architecture, to be employed as soon as more than one user seat is required.
A usual variation is to separate Data Acquisition and Historical Data production on 2 different servers, or to
have clients produce historical data locally.
- 35 -
Show picture
This architecture, from a Supervisor's networking point of view is the same as the previous one except that
as a way to rationalize the deployment of client station, RDS and lightweight terminals are used.
High availability
Show picture
When a higher availability and resilience are required, this architecture, more distributed, brings redund-
ancy and roles separation.
It is similar to the multi-station architecture but with data acquisition server and historical data server sep-
aration and redundancy.
A usual variation is to also include a Web Server and Web clients, thus combining permanent operator's
seats and one-off user connections.
Mutualized server
- 36 -
Show picture
Three level
Show picture
- 37 -
Such a gateway can be deployed in a DMZ, and if necessary gateways can be redundant.
To make the maintenance and the deployment of a project easier and faster, central project management
can be used. Different versions of a project are centralized in a shared directory on the network. Usually a
dedicated engineering station is used to host the central project versions directory and to make the change
for a project. Any station can load and run automatically a version of a project from the central project dir-
ectory.
- 38 -
Web Based Architecture Examples
All in one
In this scenario the Supervisor's web back end station and the Supervisor's web server components are hos-
ted and run on the same computer. Show picture
Intended for simple deployment scenarios with the web and / or mobile client systems on the same network
as the Supervisor's web back end station. Typically used when the network is private and fully isolated from
outside access.
Should not be used when the network is open to incoming requests from outside networks or open for unpro-
tected access from unknown devices. In particular, do not use this deployment strategy when access from
web and mobile client on the Internet is required and there is no further means of network security (such as
VPN-tunneling for instance) available.
This architecture is recommended whenever the web and/or mobile clients are outside of the industrial auto-
mation network. This architecture provides maximum deployment security, in line with IT network
- 39 -
segregation practices, ensuring no un-controlled direct incoming connection from outside networks to the
inner industrial automation network.
This architecture should be used whenever possible.
Simplified NAT
This scenario has a single private LAN where the Web server, Web back end and, data acquisition server
reside. Internet access is used to server a few remote web clients. The Web & Mobile clients are distributed
across both sides of a NAT boundary provided by a set-top-box supplied and operated by the ISP.
This architecture is often the only option when a simple access from Internet is required with an ISP set-top
box. Because you do not operate the ISP-owned device, you should have limited trust in it, and add your
own network security appliance between the set-top-box and the web server. This appliance will act as a
router/firewall and VPN server, and will the de-facto be the boundary of the network you control.
Although it is technically feasible to deploy this architecture as is, it is not recommended without further
security measures.
l Use of a VPN and client address locking, in which case the architecture is logically equal to that
described as All-In-One.
l Using the network perimeter’s dedicated DMZ port for establishing a dedicated network segment, in
which case the architecture is a simplified version of Network Isolation and DMZ.
It is also recommended to separate the Web back end and the Web Server as described in Network Isolation
and DMZ.
Show picture
- 40 -
Starting the Supervisor for the First Time
After installation, the Supervisor is started by clicking on its icon in the Start Menu. The first thing that
appears is the loading window (the Event Viewer) that displays status and error messages while the various
software managers are being loaded. Show picture
Once the Supervisor is running, the Event Viewer is hidden by the main window. It can be moved in front of
the main window at any time (providing the Event Viewer is not minimized) using function key F7.
The first time you run the Supervisor, the Event Viewer opens in English. This start-up default language can
be changed by modifying the Languages settings.
Modes
If you try to start the software without a hardware protection key, a dialog will ask you to insert one. Show
picture
1. Select the menu Configure.Project.Select Project to open the Select Project dialog.
2. Either select an existing project from the list, or type in a new project name and select OK. Show pic-
ture
- 41 -
3. Before a new project is created, you are asked to confirm the action. Select OK.
The complete path for the project must not exceed 255 characters.
If you select a project created with an earlier version of the Supervisor a warning dialog is displayed
indicating that once the project has been run with the current version it will no longer be compatible
with the earlier version.
If you select a project created with an earlier version of the Supervisor, which uses an HDS data-
base, you may have to migrate the database prior to starting the project. See the document
HDS Database Migration.pdf in the documentation addenda.
- 42 -
Summary of the Supervisor's Tools
Several tools are installed as part of the Supervisor's installation. Some of the tools require the Supervisor
to be running whereas others are standalone. All can be accessed from the Tools folder in the Supervisors
Program Group.
The following list contains a brief description of the tools available at the time of writing and where to find
help about them.
The use of these tools requires Administrator privileges except the View Effective Permission utility,
designed to be run with under the identity for which you need to test permissions.
- 43 -
the Supervisor. It enables users to monitor the Supervisor's
activity and identify normal and erroneous operation.
This tool can be used with or without the Supervisor running.
Other tools
Tool Help book or topic Description
Database Import Separate help book A tool used to import data in mass to HDS databases.
This tool can be used with or without the Supervisor running.
Database Manager Built-in help A tool used to view SQL Server database and table. It allows
the configuration of the HDS replication.
This tool can be used with or without the Supervisor running.
- 44 -
Deploying server applications
- 45 -
Running the Supervisor as a Windows service
- 46 -
Running the Supervisor as a Windows Service Overview
This book and topics assumes that the reader has some familiarity with running a Windows applic-
ation as a service. Suggested reading for those readers who want to refresh their knowledge is the
document Services in Windows published by Microsoft. At the time of writing this was available
using the following URL:
http://www.microsoft.com/whdc/system/sysinternals/windows-services.mspx.
Typical roles of the Supervisor that may benefit from running as a Windows Service
Supervisor roles that may benefit from running as a Windows Service are those that require independence
from user sessions during normal operations.
l Data acquisition
l Historical data production
l Web server
l Gateway server
- 47 -
What you need to know when running the Supervisor as a Windows service
If you run the Supervisor as a Windows service, the following element are not available or cannot be used:
l There is no user interface. Therefore you need at least one other Supervisor station configured as a cli-
ent, or WebVue, to display mimics.
l No user interface means that the Event Viewer normally displayed using F7 is not available. Instead,
you need to monitor events from the logging and tracing sub-system, including the trace files. The Log
Monitor can be started from a shortcut in the Supervisor's program group in the Start menu.
l Only one instance of the Supervisor process can be executed at a time. You cannot start another
instance of the Supervisor if one is already running on the same computer.
l You cannot use:
l DDE communication (client or server)
l Graphical printing
l Anything that requires User interaction
l VBA - Scripts can be run but must be started by some method that does not require user
interaction, and they should not require any user interaction to go to completion. As an
example, any instructions that have an HMI (MsgBox for example) must not be used.
l SCADA Basic - Programs can be run but must be started by some method that does not
require user interaction. Any instructions related to the HMI or requiring user interaction
(Window for example) must not be used.
l External DLL called from VBA or SCADA Basic if they require user interaction.
l SV Manager extensions if they require user interaction.
l You cannot access resources using mapped drive letters. Instead, you must use the Universal Naming
Convention name. For example “\\MyServer\MyFolder”.
l You cannot start the Supervisor in a Remote Desktop Session. If your deployment includes usage of
RDS, the Supervisor must be configured for running as a desktop application on the computer that is
the RDS server. See Deploying the Supervisor on a RDS host for more information.
In particular, you are required to carefully monitor logging and tracing events related to the license
handling. By default, the Supervisor will start in Trial mode if it cannot access its license at startup,
and it will shut down automatically after the grace period it loses access to its license while running.
- 48 -
Running the Supervisor as a Windows Service - Default Configuration and Oper-
ation
Running the Supervisor's Component Registration Utility resets all settings associated with running
the Supervisor as a service to the default, except those of the SV Core Management Console General
Properties tab.
The Supervisor's installation by default installs the components and generates the configuration required to
run the Supervisor as a service. The main components are:
l SV Core Daemon - The service that manages the Supervisor, and the HDS, when running as a service.
l SV Core Session Host - The service that manages the Supervisor when used in a Remote Desktop Ses-
sion.
l SV Core Management Console - A desktop application that collects together, in one easy to use dialog,
all the configuration elements required to run the Supervisor as a service.
The Overview tab collects together the main configuration settings in a read only format and provides tools
to start and stop the service manually. Most of the settings do not need to be changed for default operation
of the Supervisor as a service. The settings are grouped as follows.
- 49 -
l Processes - Information about the Supervisor's running processes. The Session Id is 0 when running
as a service and non-zero when running as a desktop application. Show picture
The SV Core Management Console also provides convenient access to several related Windows con-
figuration tools.
The SV Core Management Console must not be used to change the run mode whilst the Supervisor is
running.
- 50 -
SV Core Management Console advanced use
General Properties tab
Show picture
l Startup arguments - Startup arguments for the Supervisor's core program Sv32.exe. The syntax is
described in the Command Line Options topic. Only arguments that do not require input by the user
can be used.
l Upon process exit - Behavior if the Sv32.exe process terminates intentionally or unexpectedly.
l Disabled (no report) - Process monitoring is disabled, and no reporting is performed.
l Report the termination - The failure will be noted in the Windows Event Log and also visible in
the Log Monitor.
l Stop the service - The SV Core Daemon service will terminate gracefully. This is the default
option.
l Terminate the service (hard exit) - The SV Core Daemon service will hard exit. This allows con-
trol to be handed back to the Service Control Manager and for a restart to be performed by it in
preference (See the Recovery tab of the Service Control Manager).
l Maximum shutdown delay - The period that the SV Core Daemon waits while the Sv32.exe and
HDS.exe processes attempt to shutdown gracefully. If the processes are still running after this period
the SV Core Daemon will force their shutdown.
- 51 -
Used to select the account which is used to run the Supervisor's SV Core Daemon service and the DCOM
application - Defaults to Local Service.
Used to configure the startup of the Supervisor's SV Core Daemon and to select any dependent services.
The startup type can be selected from:
l Automatic - The service starts automatically during the startup of the operating system.
l Automatic (delayed startup) - The Service Control Manager starts services that are configured for
delayed automatic start after all of the automatic-start services have finished starting. On some older
computers, it may get necessary to delay the loading of a specific Windows service for the computer
to boot properly. At other times, you may want to be sure that a particular Service has started, and is
available for troubleshooting purposes, before the other Service is started. This is where the Auto-
matic (delayed start) option can help.
l Manual - The service must be started manually.
l Disabled - The service is disabled (cannot be started). Can be used to reduce the risk of malicious use
if the Supervisor is installed but not in use.
A dependent service is one that must already be running before the Supervisor's SV Core Daemon can start.
For example, if you were using the HDS with SQL Server, the SQL Server service should be added to the list.
The installed services are displayed in a drop down list box from where they can be selected and added to
the list.
- 52 -
Show picture
l Size of the desktop heap - Change the size of the desktop heap. Increasing this value can be useful if
the Supervisor is running as a service and has the web back end role, in order to server more WebVue
clients. It should only be increased with great care as a too high value can put the computer in a no-
boot situation.
l Maximum number of user objects - Change the maximum number of user objects.
l Maximum number of GDI objects - Change the maximum number of GDI objects.
Do not change these settings unless you fully understand the impact on the operating system. If in
doubt, contact your system administrator or your support authority.
The SV Core Management Console must not be used to change the run mode whilst the Supervisor is
running.
- 53 -
Choosing a service account
- 54 -
Options for selecting the Service Account
A service account is a Windows user identity that is associated with a Windows service executable for the
purpose of providing a security context for that service.
Windows 7 and Windows Server 2008 R2 have two new types of service accounts called managed service
accounts (MSA) and virtual accounts. Managed service accounts and virtual accounts are designed to
provide crucial applications such as SQL Server with the isolation of their own accounts. These types of ser-
vice accounts are also a way to ease the administrative burden in managing service account passwords. The
downside about these types of service accounts is that because they are still so new, their use is not sup-
ported universally, especially by applications based on DCOM technology such as the Supervisor.
Managed service accounts and virtual accounts are not supported by the Supervisor (Sv32.exe) run-
ning as a service. Because of this, we will not include the use of managed service accounts and vir-
tual accounts in this book.
The SV DbConnect, another service introduced in version 12 to handle the SQL connections, can be
used with the virtual account NT SERVICE\svDbConnect.
When considering which account to use for a service there are two main choices.
When choosing a Service Account to run the Supervisor (or any other service) the main criteria is to use an
account with the least possible privileges. This is to ensure that the service is run as securely as possible.
According to Microsoft, Windows administrators should choose service accounts based upon the following
hierarchy. This hierarchy is ordered from least privilege to greatest privilege:
Options 5 and 6 represent “worst-case scenarios” in which a given service or application simply will not run
with a service account containing lesser privilege and permissions. Option 4, based on the Local System
account, cannot be used to run the Supervisor. For these reasons, only options 1 to 3 should be considered.
It is always preferable from a security perspective to run as your own service account that has precisely the
permissions you need to do what a service does and nothing else. However, the cost of this approach is set-
ting up your service account, and managing the password. It is a balancing act that each application needs
to manage.
- 55 -
If the Supervisor must interact with network services, access domain resources such as file shares or if it
uses linked server connections to other computers running SQL Server for example, you might use a min-
imally-privileged domain account. Many server-to-server activities can be performed only with a domain
user account. This account should be pre-created by domain administration in your environment.
See About using a built-in Service Account and About using a User Account as a Service Account for more
information related to selecting the Service Account for running the Supervisor as a Windows Service.
- 56 -
About using a built-in Service Account
The following table summarizes the major aspects of the built-in operating system identities that are used
as default service accounts in Windows.
Account Name Actual name of the account Visibility Default Privilege Level
Local Service NT AUTHORITY\LOCAL SERVICE Local and Net- Low (as authenticated user)
work (network
access uses
anonymous cre-
dentials)
Network Service NT AUTHORITY\NETWORK SERVICE Network (uses Low (as authenticated user)
computer
account cre-
dentials)
Local System NT AUTHORITY\SYSTEM Local and Net- High
work (network
access uses com-
puter account cre-
dentials)
Some additional facts should be pointed out concerning the account identities.
You do not have to manage their passwords - Because these built-in identities are created by Win-
dows itself, the operating system manages their account passwords. In this respect these accounts function
like managed service accounts and virtual accounts.
The Local System account is very highly privileged - The Local System identity is granted system
privileges that make this account in many ways more powerful than the built-in Administrator account.
Although Local System was designed for access on a local computer only, this account can be associated
with services that move across your network. In this case, the credential that is presented to remote pro-
cesses is <DomainName>\<ComputerName>$.
Be wary of Local Service and Network Service account group membership - Again, the “Local” and
“Network” parts of these account names inform us that the Local Service and Network Service accounts are
targeted at local and network use, respectively.
However, you should always keep in mind that the Local Service account runs locally as a member of the
computer’s Local Users group (Domain Users on domain controllers) and runs remotely as an anonymous
connection.
By contrast, the Network Service account runs locally as a member of the localUsers or Domain Users
groups, and runs remotely as a member of the Authenticated Users group. In addition, Network Service
inherits any permissions that have been granted to the source computer account in Active Directory.
The fact that Local Service runs remotely as an anonymous connection means that any attempt to
use Windows hosted network resources will probably fail. However, it does not mean a TCP/IP con-
nection to a PLC would fail, as it does not normally require a Windows authentication.
In order to apply the principle of minimal privilege, the Local Service account is used in the Supervisor's
default configuration.
- 57 -
About using a User Account as a Service Account
You can sidestep some of the complexities of running services with the built-in service accounts by instead
using a local or domain user account. An important point to keep in mind is that Windows automatically
grants additional privileges (most notable the Log on as a Service and Log on as a Batch job privileges) to
user accounts that you associate with services. Show picture
In addition, the SV Core Management Console grants two additional privileges to the user account asso-
ciated with the SV Core Daemon service and the DCOM application.
l Log on as a service - This security setting allows a security principal to log on as a service. Any ser-
vice that runs under a separate user account must be assigned this right. Show picture
- 58 -
l Log on as a batch job - Any DCOM application that runs under a specific user account must be assigned
this right. Show picture
For this reason, it is imperative that you never use a service account for interactive logon. In other words, a
human being should never log on to a system by using a service account identity.
- 59 -
Creating a Specific Service Account to Run the Supervisor
A service account is a Windows account used to start a Windows Service as in when the Supervisor is run-
ning as a service. See the topic Options for selection the Service Account for background information.
The basic security rule is always execute a Windows Service with the least possible level of user
rights.
- 60 -
l Interactive Users or Users Groups that are able to start the Supervisors executables such as AiEx-
plorer.exe or SmartGenerator*.exe etc. Adding the Authenticated Users group is a simple way to per-
mit any user logged on this station.
l Service accounts used to run the Supervisor as a service (LOCAL SERVICE, NETWORK SERVICE or SV_
SERVICE for example).
After a new users group has been created or modified it is often necessary to restart Windows to
have the changes taken into account.
DCOM settings
The Supervisor uses DCOM to communicate between the main SV32 program and its components such as
the Application Explorer. DCOM is also used if the Supervisor's configuration includes an OPC server, even if
it is on the same computer. The Supervisor's installation creates a DCOM entry called SV_SERVICES that is
used to provide default security permissions for the Supervisor's executables. However, if you run the
Supervisor using a specific user account the DCOM configuration must be changed to reflect this.
Windows DCOM configuration can be accessed from the Windows Control Panel or directly from the SV Core
Management Console (Tools.Component Services). Using the Security tab you must set the Launch and Activ-
ation Permissions and Access Permissions to Customize, add the user or user group (SV_USERS for
example), and edit the permissions as follows. Show pictures
- 61 -
Remote Launch, Remote Activation and Remote Access permissions may also be required if the
Supervisor is to be used as an OPC Server from a remote OPC client.
- 62 -
How to run Services More Securely
The path to success in service security includes understanding the nature of the services available in the net-
worked environment and establishing procedures to protect the use of them. This topic provides some core
principles that you should follow when you plan to run services securely.
l Using domain user accounts consistently makes it easier to manage multi-tier application infra-
structures.
l By using domain user accounts as service account logons, you can more granularly audit access loc-
ally and across your network.
l Domain user accounts can be more definitively targeted with Group Policy.
Regarding Group Policy, you might want to ensure that your domain service accounts are denied the Log on
Locally user right at the very least. This measure will prevent a malicious user from succeeding in an inter-
active logon attempt by using a breached service account.
- 63 -
Thus, a key point of security is to keep a careful eye on where and how we are assigning access permissions
to these two special groups.
You can control which accounts have which system privilege by using Local Security Policy that can be
accessed from the Windows Control Panel or directly from the SV Core Management Console using Tools.
Local Security Policy. The relevant Local Security Policy path is Security Settings\Local Policies\User Rights
Assignment. Show picture
System privileges are also called user rights. Either way, both refer to system-wide abilities such as
logging on as a service, logging on locally, changing the system time, and so forth.
- 64 -
Roles of the web server and web back end
- 65 -
Role of the Web Server and Web Back End
Role of the web server
The web server hosts the Supervisor's web apps and web services, and is based on Microsoft's Internet
Information Services. The web server can be on the same, or a different, computer to the web back end sta-
tion.
The web server role is mandatory if your application uses any of the following components.
l WebVue
l TouchVue
l The WebScheduler
l Web Services Toolkit clients - Including 3rd party tools and Add-ons based on the Web Services
Toolkit
The Supervisor's Web Deployment Console (WDC), the tool designed for the Supervisor's web server deploy-
ment, must be installed on the web server computer.
l WebVue
l TouchVue
l The WebScheduler
l Web Services Toolkit clients - Including 3rd party tools and Add-ons based on the Web Services
Toolkit
The Supervisor must be installed on the computer that is the web back end, and the application must include
the back end configuration. The web back end may, or may not, be on the same computer as the web
server.
In the previous versions of the Supervisor, the web back end was known as the Web Services Toolkit Server
or the Property Server.
- 66 -
All-in-one Deployment
See the topic Web based architecture examples for a schematic.
Requirements
Benefits
1. Only a single computer is necessary to host both the Supervisor's web back end station and the web
server.
2. The computer only requires a single network interface card.
3. Works out of the box when using the IP address of the web server computer to connect web and
mobile clients.
l A DNS is not required for name resolution on Windows platforms. The web server computer may
be addressed by its hostname from any Windows-based web clients.
l Can work with a Windows desktop operating system such as Windows 10 on the web server com-
puter if serving a limited number of users, although a server operating system is still recom-
mended.
l When using non-Windows client devices, Android, iOS, Linux etc, the presence of a DNS server
is necessary for name resolution. This can be achieved by using a Windows Server operating sys-
tem for the web back end station and the activation of the DNS server role.
4. While this cannot be recommended in production, usage of a self-signed certificate works out-of-box,
with the need to add a security exception on the client's web browser or to enable the option Ignore
Certificate Errors on mobile applications. If there is an Active Directory server accessible from the net-
work, a domain certificate can be issued from the Active Directory server and trusted by all the clients
of the domain (by domain policy or via a corporate MDM system).
Limitations
1. Expect limitations when hosting the web server on a Windows desktop operating system. In particular,
the maximum number of client connections that IIS can handle is limited.
2. Microsoft® Edge does not allow storing cookies if the hostname is not a FQDN. This causes troubles
with web components. It can be overcome by setting the web site binding to:
https://<hostname>.local
3. Limited performance may be experienced, particularly during WebVue client loading, when using
untrusted certificates because, in such circumstances, files are not cached by web browsers, and
therefore re-downloaded at each connection.
Firewall settings
The following table describes the allowances required for this architecture to be operational. It is recom-
mended that all other non-essential network traffic be denied. The port numbers listed here correspond to
the default settings. It must be verified that these ports are not in use by 3rd party applications.
Web Server
Name HTTPS
Type INBOUND
- 67 -
Source IP ANY
Source Port ANY
Destination IP Web Server IP address
Destination Port Port 443
Protocol TCP
Communication between the web back end and the web server can use the local loopback and requires no
further configuration. However, it is advisable to check that the following ports are not open to incoming con-
nections from other IP addresses.
l TCP 8090
l TCP 8091
1. Hostnames
l Can be used if a means is available for name resolution.
l NetBIOS will work if available and supported by web clients (Windows only, not a solution for
TouchVue on mobile operating systems such as Android and iOS).
l DNS is not essential but is highly recommended.
2. IP address
l For TouchVue. Works when addressing the web server computer by its IP address as for
TouchVue authorization no redirection between the authorization server and the app is required.
l For non-Windows WebVue web clients. Works when addressing the server by its IP address,
given that the redirection between the authorization server and the WebVue app is also con-
figured to be based on IP addresses.
l For WebVue web clients on mixed platforms i.e. Windows plus at least one other type of oper-
ating system. Use the WDC to create two different web sites on the web server, one with a bind-
ing for access by hostname and one with a binding for access by IP address.
- 68 -
Network Isolation and DMZ
See the topic Web based architecture examples for a schematic.
Requirements
1. The level of network and IT expertise required to deploy this architecture is intermediate to high.
2. A suitable network infrastructure planning and set-up to segregate the private network from the lesser
protected network. This includes a router and at least one firewall. Both common DMZ architectures,
single firewall setup and dual firewall setup, can be used.
3. Support of the end user’s IT department is likely to be required, to properly set up network segreg-
ation and name resolution. This includes the proper configuration of:
l DNS server
l Active Directory
l Routing
l NAT or Port Forwarding if necessary
4. In order to validate the identity of the web server computer on the lesser trusted network and to pre-
vent Man-in-the-middle attacks, usage of a fully trusted certificate is essential. This certificate can be
issued:
l By the IT department with their office network Active Directory server.
l By the IT department with a public CA, if accessed from external Web/Mobile Clients (Internet
access).
5. A DNS server is required on the lesser trusted network
6. A Windows Server operating system on the web server computer, and ideally also on the web back
end station
7. The web back end station must be accessible from the web server computer at least by its IP address.
Access via hostname is also possible, given that a mean of name resolution is present from within the
DMZ:
l A dedicated entry in the hosts file of the web server computer.
l A DNS server within the industrial automation network that is accessible from the DMZ. If not
already available, the activation of the DNS-Server role on the Windows Server operating sys-
tem of the web back end station can be a solution.
Allowing access from a computer within a DMZ into the private network can contradicts security
policies. For technical reasons however, TCP port 8090 (configurable) needs to be opened in that dir-
ection.
Benefits
1. This architecture allows for convenient access from less trusted networks, typically the Internet or
Intranet, by exposing the web and mobile services and applications of the Web Server under a Fully
Qualified Domain Name.
2. It allows maximum control over network traffic, in line with IT network segregation practices, making
sure that there are no un-controlled direct incoming connection requests from outside networks into
the industrial network.
Limitations
1. Connecting web / mobile clients also from within the Industrial Automation network to the web server
machine requires further configuration and routing and is outside of the scope of this chapter.
2. WINS cannot be used for name resolution as it cannot be used across a router.
- 69 -
This architecture can be deployed by using either of the WDC setup wizards. However, the default settings of
the Quick Setup wizard will not be suitable in all situations. The WDC must be installed on the Web Server
computer.
Firewall Settings
The following tables describe the allowances required for this architecture to be operational. It is recom-
mended that all other non-essential network traffic be denied. The port numbers listed here correspond to
the default settings. It must be verified that these ports are not in use by 3rd party applications.
- 70 -
Destination IP Web Server IP address
Destination Port 8091
Protocol TCP
Rules for Firewall #1 and Firewall #2 can be on the same device if a single firewall DMZ setup is
used.
- 71 -
Simplified NAT Deployment
See the topic Web based architecture examples for a schematic.
Requirements
1. The level of network and IT expertise required to deploy this architecture is low to intermediate.
2. It is assumed that the connection between the private network and the Internet is with a typical ISP-
provided set-top-box.
3. Network Address Translation (NAT), or Port Forwarding, configured on the network boundary.
4. To validate the identity of the Web Server computer on the lesser trusted network and to prevent Man-
in-the-Middle attacks, usage of a fully trusted certificate is necessary.
l This certificate can be issued by the IT department via a public CA. Necessary if the Web Server
is accessed by external Web and Mobile clients (typical access from the Internet by client
devices / computers not in a trusted relationship with the corporate network infrastructure).
5. The web server computer must be accessible by the Web and Mobile clients from both network seg-
ments.
l This can be achieved if the web server is well known on both network segments under the same
FQDN.
l If this is not the case the possibility for the Web and Mobile clients to directly connect to the web
server computer by using its FQDN without the Https requests having to leave the private net-
work is better. Usage of NAT Loopback / Hairpinning is suggested in this case.
l If none of these options is possible, it is recommended to create two different sites via the WDC,
which both connect to the same web back end station.
Benefits
1. This architecture allows for convenient access for Web and Mobile clients located on the industrial net-
work and on the internet.
2. This architecture is a first step in a migration process of legacy WebVue systems offering remote web
access.
Limitations
This deployment scenario offers limited network security if a specific device is not added to control the net-
work perimeter:
l You are relying on a set-top-box owned by an ISP to control the network perimeter and remote con-
nection.
l Consequently, a computer that is part of the Industrial Control System should be considered directly
exposed to the Internet.
Firewall settings
The following table describes the allowances required for this architecture to be operational. It is recom-
mended that all other non-essential network traffic be denied. The port numbers listed here correspond to
the default settings. It must be verified that these ports are not in use by 3rd party applications.
Firewall
Name HTTPS
- 72 -
Type N/A
Source IP ANY
Source Port ANY
Router WAN or DynDNS IP
Destination IP
address
Destination Port 443
Protocol TCP
Communication between the web back end and the web server can use the local loopback and requires no
further configuration. However, it is advisable to check that the following ports are not open to incoming con-
nections from other IP addresses:
l TCP 8090
l TCP 8091
- 73 -
Using the Web Deployment Console
- 74 -
Web Deployment Console Overview
This help is for the Web Deployment Console (WDC). The WDC performs the following functions:
l Check that the Windows IIS Web Server is installed and that all the options required for the correct
operation of the Supervisor's web and mobile apps are selected. If required IIS modules are missing,
they can be installed automatically.
l Configure the IIS server for use by the Supervisor and its web and mobile apps.
l Configure and deploy the Supervisor's web services and web apps.
l Provide diagnostic tools to aid in fault finding of the web server and the Supervisor's web and mobile
apps.
In this version of the WDC, the following of the Supervisor’s apps are supported:
The WDC is intended for use by both expert and non-expert users.
l In the Quick setup mode, default configuration settings are used and a wizard is used to assist in the
configuration. This mode is recommended for the non-expert, typically on development and test serv-
ers off from production. See the topic How to Configure the Back End and Web Server.
l In the Custom setup mode, all settings are exposed to allow the user to change them. This mode is
recommended for the expert and fine-tuning. See the book Using the Custom Setup Wizard.
When installing the Web Deployment Console, a series of so-called Web Deployment Packages are
copied and stored on the web server (in addition to the WDC executable files). These packages, one
per web service and web application, contain the files that will be used when deploying a web site on
your web server.
Useful links
l Deployment overview
l Web architectures
l Role of the back end and web server
General terms
- 75 -
l Microsoft IIS - Internet Information Services. An extensible web server provided by Microsoft, used
by the Supervisor to provide access to web services and applications.
l Application pool - Application pools are used to separate sets of IIS worker processes that share the
same configuration and application boundaries. The application pool for the supervisor is named SV
Application Pool.
l HTTPS - Secure Hyper Text Transfer Protocol.
l OAuth - Open Authorization, an open standard for authorization delegation.
l SSL - Secure Socket Layer
l TLS - Transport Layer Security
l Site - Contain the web services and applications.
l Mobile app - TouchVue is a mobile app. Also known as an app.
l CA - Certification Authority. An entity that issues digital certificates.
l DNS - Domain Name System. A hierarchical decentralized naming system for computers, services, or
other resources connected to the Internet or a private network.
l FQDN - Fully qualified domain name. A domain name that specifies its exact location in the tree hier-
archy of the Domain Name System (DNS). It specifies all domain levels, including at least a second-
level domain and a top-level domain.
l DMZ - A DMZ or demilitarized zone (sometimes referred to as a perimeter network) is a physical or
logical network that contains and exposes an organization's external-facing services to an untrusted
network, usually a larger network such as the Internet. The purpose of a DMZ is to add an additional
layer of security to an organization's local area network (LAN).
l WINS - Windows Internet Name Service. Microsoft's implementation of NetBIOS Name Service
(NBNS), a name server and service for NetBIOS computer names.
l VPN - Virtual Private Network. A VPN extends a private network across a public network, and enables
users to send and receive data across shared or public networks as if their computing devices were dir-
ectly connected to the private network.
l Web back end - A Supervisor station within the industrial network, which provides the Web Server
with information.
l Web server - A computer, running the IIS web server, which hosts the Supervisor's web services and
apps.
l Web Deployment Console - Software tool installed on the Web Server machine, which allows the user
to install, configure and manage the deployment of the Supervisor's web services and apps.
l Web and Mobile clients - WebVue is a web client in a web browser, TouchVue is a mobile client (native
mobile app) installed on a smart device.
- 76 -
Guided Tour of the WDC
Overview
The following screen shots show the WDC after it has been first installed and there is no configuration. Show
pictures
A. Tool bar - Quick access to some useful configuration and monitoring tools.
B. Web servers - Click to display the Web servers view.
C. Back ends - Click to display the Back ends view.
D. Click to Deploy a new server.
E. Click to Create a new back end endpoint.
A. The configured back end. The information displayed includes the back end’s alias and the name of the
computer on which it resides. The following tools are provided.
l Edit - Edit the configuration of the back end.
l Remove - Remove the back end and its entire configuration.
- 77 -
ever be one web server displayed. Show picture
A. The configured web server. The information displayed include the server’s alias, the name of the com-
puter on which it resides and an icon indicating its status. The following tools are provided.
l New site - Start the wizard to deploy a new instance of a Supervisor's site and the cor-
responding roles - WebVue, TouchVue etc.
l Edit - Edit the configuration of the web server.
l Diagnostics - Run the diagnostics and display the results in the Diagnostics pane.
B. Authorization tools. The tools in this group are to configure and manage authorized clients.
l New client - Create an authorization for a new 3rd party application. See the New client topic.
l Clients - Display the authorized clients. A list of the clients appears in the right pane from where
their configuration can be accessed. See the Clients topic.
l Tokens - Display the authorization tokens that are currently active. See the Tokens topic.
l Grants - Display the authorized grants that are currently active. See the Grants topic.
C. Registry service.
l Configure - Configure the registry service. See the Registry service configuration topic.
D. Deployed site(s). The tools in this group are to configure and manage a particular site. In this
example, it has the alias SV Website. The following tools are provided. Further information can be
found in the Custom setup book.
l Bindings - Manage the HTTPS bindings. See the Quick Setup wizard topic.
l Certificates - Manage the certificate used by the site. See the Certificates.
l Roles and services - Manage the site's roles and services that are deployed. See the topic Roles
and services.
l Back ends - Manage the back end used by the site. See the Custom setup topic.
l Logging - Manage the logging and trace level in use. See the Logging topic.
l Data protection - Manage the data protection used by the site. See the Data protection topic.
l Service Configuration - Manage the services exposed by the site. See the Services Configuration
topic.
l Summary - Display a configuration summary of the deployed site.
- 78 -
How to the Install IIS Web Server and Select the Required Features
When you start the WDC, it first attempts to detect the presence of IIS on the local computer. If the WDC
fails to find it, a button is displayed which can be used to install IIS and select the features needed for IIS to
function as a web server for the Supervisor. IIS must be present before the WDC will allow you to set up the
web server.Show picture
Once IIS has been setup, the WDC will display the buttons to setup a new server or import the configuration
from a file.
- 79 -
What is, and Why do I Need, a Certificate?
What is a certificate?
A certificate is a small data file that digitally binds a cryptographic key to an organization’s details. Using a
certificate allows a person, computer or organization to exchange information securely over the Internet
using a public key infrastructure (PKI). A certificate can also be referred to as a digital certificate or a public
key certificate.
A certificate provides identifying information, is forgery resistant and can be verified because it was issued
by a trusted party. The certificate contains the name of the certificate holder, a serial number, expiry dates,
a copy of the certificate holder's public key (used for encrypting messages and digital signatures) and the
digital signature of the certificate-issuing authority (CA) so that a recipient can verify that the certificate is
real. To provide evidence that a certificate is genuine and valid, it is digitally signed using a root certificate
belonging to a trusted party. Operating systems and browsers maintain lists of trusted CA root certificates
so they can easily verify certificates that the CA's have issued and signed. When PKI is deployed internally,
certificates are signed by the department operating the internal PKI (usually the IT department).
l Self-signed certificate - A self-signed certificate is one that has been signed by the same entity whose
identity it certifies. As a self-signed certificate is not issued by an official Certification Authority (CA)
or trusted internal party, it is not secure and, must not be used a web server deployed in production. A
self-signed certificate also has the disadvantage that it will not be recognized by web browsers and an
exception will have to be created in the web browser's configuration. However, a self-signed cer-
tificate can be useful at the development and testing stages.
l Certificate from a Certification Authority (CA) - A certificate requested from, and issued by, a Cer-
tification Authority. Anyone with system administrator rights can request a certificate using the IIS
web server and it is a process generally managed by a company's IT department. Certificate author-
ities can be private (internal) or commercial ventures in which case the certificate is chargeable.
l Certificate from Let's Encrypt - A free, automated, and open Certification Authority (CA), provided by
the Internet Security Research Group (ISRG).
l Anyone who owns a domain name can use Let’s Encrypt to obtain a trusted certificate at zero
cost.
l Software running on a web server can communicate with Let’s Encrypt to obtain a certificate,
configure it for use, and automatically renew it. (Let's Encrypt certificates are only valid for
three months).
- 80 -
Web Server maintenance with the WDC
The Web Deployment Console is helpful for the initial set up of the Web Server, but it is also designed to be
used at later stages.
This topic addresses how the WDC can help you after the initial set-up.
Using the WDC to backup and restore the web server configuration
The settings you select when using the WDC are persisted in a configuration file named WebDeploy-
mentConfiguration.xml and stored in the Etc folder. This file is not removed when updating or uninstalling
the WDC.
Because keeping a backup copy of this file is important, the WDC offers an export feature that will allow you
to save it to another location for later use. In addition to the WDC configuration file, this feature also exports
all useful data and configuration files of web services and web applications as they are used by the elements
deployed at the time of export (mainly web.config files).
You can reuse the WDC configuration file to restore your web server and web sites settings at a later stage,
either on the same web server or on another one. If restoring on another server, you will want to change the
web server host information prior to deploying.
Using the WDC to update the web services and web applications
Because the WDC installation media includes the Deployment Packages for every web services and web
applications the WDC is able to deploy, updating the WDC on a regular basis is important to get updated
Deployment Packages that includes potential bug fixes, security hot fixes and evolutions.
Once an updated version of the WDC is installed on the web server, updating the deployed web services and
web applications is achieved by opening the burger menu of the web site, and clicking Re-deploy.
If the WDC detects an issue or that at least one Deployment Package is more recent than the date of
last deployment, then a warning sign is displayed on the affected web site toolbar to invite you to
run diagnostics or re-deploy the web site to update it.
- 81 -
Getting started - The quick setup
- 82 -
How to Configure the Back End and Web Server
Configuring the Back End and the Web Server must be completed before deploying any sites and apps. The
current version of the WDC can only configure a web server on the local computer.
1. Open the WDC and select Back ends. Select Create new back end endpoint. The back end configuration
view opens.Show picture
2. Enter the Alias for the back end. This is the name by which it will be known.
3. Select the network identity of the Host using the drop down list box. You can choose from Localhost,
127.0.0.1, the computer's hostname or IP address. In Windows, the hostname is normally the same
as the computer name.
4. Check that SV back end is enabled and confirm the port settings. The port setting must match those
configured on the Back end item in the Supervisor's project. The default setting is 8090.
5. Click Save to confirm the configuration.
1. Open the WDC and select Web Servers. Select Deploy a new server. The Web Server configuration
view opens. Show picture
2. Enter the server alias. By default, the alias is the same as the hostname.
3. Click next to save the configuration and deploy the server. You are then given the option to deploy a
website. If you choose yes, the site deployment wizard opens. See the topic Using the Quick Setup wiz-
ard for site deployment using default settings, or the Custom Setup book for custom deployment. If
you choose no, the view closes and the new web server configuration is displayed in the WDC.
- 83 -
Using the Quick Setup Wizard
The Quick Setup wizard takes you through the steps to deploy a site, web services and web apps using
mainly default settings. The Quick Setup Wizard can be used if all services must be deployed on the same
web server. Show picture
The Quick Setup wizard guides you through the following steps.
1. Name - The name by which the site is known. The name appears in the Sites node of the IIS con-
figuration. The default is SV Website. Show picture
2. Bindings - The binding specifies the domain and port by which a web client or app can connect to the
web server. You can either use the default of the hostname, or the IP address. If you choose host-
name, the network must include a mechanism by which the hostname can be resolved, that is its IP
address found. Windows hosted clients can use the integrated Windows Internet Name Service
(WINS). For other hosts, Android for example, a DNS server must be available. For example, if you
enter <MyHostName> as the hostname, web clients will be able to connect to the WebVue on this web
server using the Url https://<MyHostName>/WebClient. Show picture
3. Certificate - Choose a certificate for the site using the Certificate drop down list box. You must have a
certificate in order to use HTTPS. You can either select an existing certificate or create a new one
using the + button. There are a number of certificate types that can be used. The type that is accept-
able will depend on the user's IT policy. See the book What is, and Why do I Need, a Certificate?.
- 84 -
Show picture
4. Back ends - Select the back end, which defines the connection between the IIS web server and the
Supervisor. Show picture
5. Roles - Select the role(s) that the site is to support. Show picture
6. Summary - The final step in which the configuration to be deployed can be reviewed. Clicking Deploy
completes the wizard and deploys the site. Show picture
- 85 -
7. When deployment has finished the wizard can be closed. The WDC will now show the newly created
site. Show picture
Clicking the Service configuration item of your site opens a panel with the list of deployed web services and
apps. Icons are available to launch directly the desired web application with your web browser.
- 86 -
Configuration of a remote web back end
One of the common requirements, often for security purposes, is to have the Web Server on a different com-
puter and sub-net to that of the Supervisor. This sub-net is often referred to as a DMZ (demilitarized zone)
and its purpose is to segregate the organization's private Industrial network from the office network or the
Internet. To accomplish this you install the WDC on the computer that is to be the web server and use the
WDC to configure the back end so that it points to the computer on which the Supervisor due to play the role
of Web back end resides.
See the topic How to Configure the Back End and Web Server for general information on configuring a back
end.
If you intend to deploy WebVue, please note that a TCP port must be open so that the Supervisor's
web back end can connect back to the web server for notifying data changes. This callback port is
the next available port, so if you have configured port 8090 as the outgoing port (for the connection
web server to web back end), then the port for the connection web back end to web server is likely
to be 8091.
If this second port is not open, users will be able to log in, put the loading of the first mimic will fail.
- 87 -
Custom setup
- 88 -
Using the Custom Setup Wizard
The Custom Setup wizard has additional steps to the Quick Setup wizard and takes you through all of the
steps to deploy sites and / or apps.Show picture
1. Name - The name by which the site is known. See the Using the Quick Setup Wizard for an explan-
ation.
2. Bindings - The bindings specify the domain and port by which a web client or app can connect to the
web server. See the Using the Quick Setup Wizard for an explanation.
3. Certificate - Choose a certificate for the site using the Certificate drop down list box. See the Cer-
tificates View for an explanation.
4. Back ends - Select the back end, which defines the connection between the IIS web server and the
Supervisor. See the Using the Quick Setup Wizard for an explanation.
5. Roles - Select the role(s) that the site is to support. The custom setup includes additional roles. See
the topic Roles view.
6. Services - The services that are deployed depend on the role(s) that have been selected and can be
customized. See the topic Services view.
7. Registry service - Configure the registry service. The registry service determines which web servers
provide which services. See the topic Registry Service view.
8. Data protection - Specifies the methods by which data is encrypted and validated. See the topic Data
Protection View.
9. Logging - Management of the range of information that is sent to the Log Monitor. See the topic Log-
ging View.
10. Summary - The final step in which the configuration to be deployed can be reviewed. Clicking Deploy
completes the wizard and deploys the site.
- 89 -
Roles View
The Roles View is displayed by both the Quick Setup and Custom Setup wizards and can also be opened by
clicking the Roles and Services button in a site's tile. The choice of role(s) also determines which services
are provided. Show picture
Roles settings
- 90 -
Services View
The Services View is displayed by the Custom Setup wizard and can also be opened by clicking the Roles and
Services button in a site's tile. The services that are deployed depend on the role(s) that have been selec-
ted. If you are using multi-server architecture, it is possible to distribute the services across several web
servers for the purpose of load balancing. See the topic Registry Service view. The following screen shot
shows the services required for WebVue. Show picture
- 91 -
Registry Service View
The Registry Service view is displayed by the Custom Setup wizard and can also be opened by clicking the
Configure button in the Registry Service group in the main dialog of the WDC. The registry service determ-
ines which web server provides which services. By default, the services are all provided by the local server.
Show picture
- 92 -
Logging View
The Logging View is displayed by the Custom Setup wizard and can also be opened by clicking the Logging
button in the tile of a site. The Logging view is used to manage the range of information that is sent to the
Log Monitor. The logging applies to all services. Show picture
The log range can be set from, and to, the following levels.
- 93 -
Data Protection View
The Data Protection View is displayed by the Custom Setup wizard and can also be opened by clicking the
Data Protection button on a site's tile. It is used to configure the methods by which data is encrypted and val-
idated. Show picture
Settings
l Validation method - Selection of the method used to validate data. The default is SHA1.
l Validation key - The key for the validation method. For security purposes a new key is generated each
time this view is opened - the actual key in use is never displayed. The new key can be manually
edited if required.
l Decryption method - Selection of the method used to decrypt (and encrypt) data. The default is AES.
l Decryption key - The key for the decryption method. For security purposes a new key is generated
each time this view is opened - the actual key in use is not displayed. The new key can be manually
edited if required.
l - Generate new decryption and validation keys.
- 94 -
Service Configuration View
The Services Configuration View is opened by clicking the Services Configuration button on a site's tile. It is
used to manage settings for each of the site's services. A list of the services is displayed in a slide out pane.
Show picture
To view the setting for a particular service click on its name. Many of the setting are read only as they are
generated automatically by the WDC and depend on the settings of other items. These are displayed in the
Information tile. Those settings that can be changed are displayed in the Settings tile. The following screen-
shot of the settings for the GraphicalData service. Show picture
l ConnectionTimeout - The amount of time to leave the web socket connection open and waiting for a
response before closing it and opening a new connection. Defaults to110 sec.
l DisconnectTimeout - The amount of time to wait after a web socket connection is lost before raising
the Disconnected event. Defaults to 30 sec.
l KeepAliveInterval - The interval in seconds at which the Supervisor is pinged by the Graph-
icalDataSession to keep the session alive. Minimum value is 5, maximum 60, Default 25.
l WebSocketsoutBufferSize - Each time something changes in a mimic a message is sent from the
GraphicalDataService to the client. This setting defines how many of these messages are buffered in
case that there are more updates in a mimic than the client can handle. If the connection is slow, it
- 95 -
can help to increase the value of this setting, but it will also increase the memory consumption. The
minimum value is 32, maximum is 65535. The default will be 32.
l WebSocketsHubEnableDetailedErrorMessages - If it is set to true there are more detailed error mes-
sages in the client side logs, which can help to identify communication issues. The default is false.
Only change if requested to do so by your support authority.
l PropertyServerCallbackPort - The TCP port used by the Web back end to call the web server back to
notify about data changes. This port must be open (incoming) on the web server computer (default
8091).
l AccessTokenExpirationTimeSpan - The access token is a short-term token used when accessing the
services. The default is 20 minutes.
l RefreshTokenExpirationTimeSpan - The refresh token is a long-term token used when renewing the
expired access token. Range 0 to 2147483647 minutes. The default is 10080 minutes.
l IgnoreCertificateErrors - Ignore the errors generated if a certificate is not trusted. Set to true at the
time of deployment if the chosen certificate is not fully trusted, otherwise False.
- 96 -
Using certificates
- 97 -
Certificates View
The Certificates View is displayed by both the Quick Setup and Custom Setup wizards and can also be
opened by clicking the Certificates button on a site's tile. The view displays the selected site's certificate and
some basic information about it. The (+) command opens the New certificate view from where a new cer-
tificate can be generated or requested. Show picture
The WDC manages certificates stored in the LocalMachine certificate store of the Windows operating
system. If you use the WDC in conjunction with other certificate handling tools, make sure the cer-
tificates are available in this system store. If they are in another store, they will not appear in the
list of available certificates within the WDC.
See the following topics for information about how to generate and manage the supported certificate types.
Self-signed certificates
Request and import certificates
- 98 -
Self-signed Certificates
A self-signed certificate is one that has been signed by the same entity whose identity it certifies. As a self-
signed certificate is not issued by a recognized Certification Authority (CA) and therefore shall not be con-
sidered secure nor be used on an application in production. A self-signed certificate also has the dis-
advantage that it will not be recognized by most web browsers and a security exception will have to be
created in the web browser's configuration. However, a self-signed certificate can be useful at the devel-
opment and testing stages if you do not have access to a Certification Authority.
Most web browsers do not cache the contents of web sites that use a self-signed certificate. This can
result in reduced performance.
1. Click the plus symbol (+) - the New certificate view opens. Show picture
- 99 -
2. Select self-signed. You are prompted to enter the hostname to which the certificate applies. The local
hostname is pre-configured by default. Show picture
3. Click save to continue. The certificate is created and you are returned to the deploy site wizard.
- 100 -
Request and Import a Certificate
Obtaining a proper certificate from a recognized Certification Authority (CA) for usage in production is a 3-
step process:
l Step 1 - Request a certificate, also known as generating a CSR or Certificate Signing Request,
l Step 2 - Send the CSR to the Certificate Authority,
l Step 3 - Import the certificate issued by the Certificate Authority into the web server.
The WDC is equipped to generate a CSR and help you in imported a certificate into the web server.
While the practical details vary, the 3 steps are similar for all Certificate Authorities, whether it is a
public trusted third party or an internal CA within your organization.
Certificate handling can be tricky, and mishandling in such a process can lead to security and com-
pliance issues. If you are not used to it, and do not have the authority to do so, it is a must to seek
assistance from the IT department of the organization where the web server is to be deployed.
Certificates are not valid forever. Depending on their type and issuer, they may be valid for a few
days (typically 30 days for a free test certificate), up to 2 or 3 years.
It is recommended to monitor the validity of certificates and plan renewal a few weeks in advance,
as the process can take time.
Prerequisite #2 - The domain name that will be associated to the web server and its certificate has to be
used when defining the binding of the web site. Other than that, if for example you bind the web site on the
IP address or any other name, web browsers will not recognize the certificate as valid, because the domain
name on the certificate will not match the domain name you use to reach the web server.
You can create a Certificate Signing Request with the WDC, using the Certificate view of the deploy site wiz-
ard. Show picture
- 101 -
1. Click the plus symbol (+) - the New certificate view opens. Show picture
2. Select create request. You are prompted with the Create request form and will have to enter the fol-
lowing information: Show picture
a. Common name - Enter the domain name that was allocated for the web server, for example,
lab.example.com
b. Organization - Enter the name of your organization, and owner of the domain
c. Organizational unit - Usually optional
d. City
e. State
f. Country
- 102 -
1. You are prompted to enter a password of your choice. Show picture
This password is the secret that will be required for all subsequent operations with the certificate,
including its import. You should choose a proper, secure, unique password, and store it in a safe place.
Please note that CA require a certain strength for the password, and will not deliver the certificate if
this criteria is not met. One of the strength criteria is the length (10 characters minimum is usual).
2. Upon clicking save, you will be prompted to select a directory where to save the files resulting from
the request: request.csr and requestKey.pkey.
l The .pkey file contains your private key, derived from your password. It must be stored in a
safe place and not be disclosed.
l The .csr file will be transmitted to the CA.
- 103 -
1. Click the plus symbol (+) - the New certificate view opens. Show picture
2. Select import a certificate. You are prompted to select the certificate file supplied by the Certificate
Authority. The WDC supports the following file formats for the import: PKCS#12 and PFX.
And then click open.
3. You are prompted to enter the password associated to the certificate.
4. Upon clicking save, the WDC imports the certificate, and you can select it in the list of available cer-
tificates of the web server.
5. Finalize the deployment of the web site.
- 104 -
Authorization
- 105 -
New Client View
In this context, the term Client designate a web application that is to be a client of the Authorization
server, i.e. using the authorization infrastructure to be granted access to a given web service in the
name of the user.
All web & mobile applications delivered with the Supervisor are automatically registered, you do not
need to add them manually.
The New client view is used to register a new (custom) client application that is to be managed by the WDC.
This action is important so that this new client can integrate itself in and take advantage of the Authorization
server infrastructure. Show picture
l Name - The name of the client app. In the case of the Supervisor, the Name is the same as the ID.
l Client active - Can be set to Off for a client that is not currently in use but you do not want to delete.
The default is Active. If Off, the Client application will be refused any request for delegation of an
authorization.
l Client ID - The ID received after registering a client app with the OAuth server. The ID is considered
be public information. In the case of the Supervisor, the product name, WebVue, TouchVue... is used
as the ID.
l Client Secret - The Secret received after registering a client app with the OAuth server. The client
secret must be kept confidential.
l Client public - Specifies if the client app is confidential or public.
l Custom refresh token lifetime - The lifetime in minutes of the long-term token used when renewing
the expired access token. Range 0 to 2147483647 minutes. The default is 10080 min.
l Allowed origin - the domain origin from which clients are allowed to make requests. A list of domains,
separated by commas, can be used. The default of * means any domain origin is allowed.
l Redirect URL - The service will only redirect users to the registered URL, which helps prevent some
cyber-attacks. Any HTTP redirect URLs must be protected with TLS security, so the service will only
redirect to URLs beginning with HTTPS. This prevents tokens from being intercepted during the author-
ization process. Native apps can register a redirect URL with a custom URL scheme for the application,
which may look like demoapp://redirect.
l Save - Save the settings and close the view.
l Cancel - Close the view without saving the settings.
- 106 -
Clients View
View the clients that are registered with the OAuth service. Selecting Clients opens a pane from where a list
of the registered clients are displayed .Show picture
To view the settings for a particular client click on its name. The following screen-shot is for the WebVue cli-
ent. Show picture
- 107 -
Tokens View
Manage the tokens, issued by the OAuth service, and used by web & mobile applications to handle user ses-
sions. Show picture
l Token list - Valid tokens are displayed in a list including the following information
l USERNAME - For WebVue, TouchVue and the WebScheduler, the name of the user that started
the session that first generated the token.
l CLIENTID - The identity of the Web or Mobile application for which the token was generated. For
example, WebVue.
l EXPIRES - The token expiry time. If using the default settings this is seven days (10080
minutes) after the time it was issued.
l ISSUED - The time at which the token was issued.
l Details - Details of the selected token.
l Revoke - Click to revoke the selected token. The session for which the token was issued is imme-
diately disconnected without notice. If a user was actively using the web or mobile application, he/she
will have to log in again.
- 108 -
Grants View
Manage the grants, given by a user to a web or mobile client application, to access a web service in his/her
name. Show picture
l Grants list - The valid grants are displayed in a list including the following information
l USER - For WebVue, TouchVue and the WebScheduler, the name of the user that started the ses-
sion that accepted the grant.
l CLIENT - The identity of the Web or Mobile application to which the grant was given. For
example, WebVue.
l SCOPE - The web service to which the grant authorize access in the name of the user.
l ISSUED - The time at which the grant was given. There is no expiry time as grants have an
unlimited lifetime.
l Details - Details of the selected grant.
l Revoke - Click to revoke the selected grant. If a grant is revoked, the next time the user uses the web
or mobile application, he/she will be asked to grant again access to the web service in his/her name.
- 109 -
How to use the WDC's Diagnostics
The diagnostics are ran, and the results displayed in the Diagnostics pane. They are available at 2 levels, the
Web Server and for each deployed Web Site. Whilst the diagnostics are not exhaustive they are a useful aid
when fault finding.
l All required Microsoft IIS modules are installed and properly configured,
l The Application Pool is properly configured,
l The authentication server is properly installed and configured.
Any discovered missing features are listed. You can correct the situation by clicking the Gear icon adjacent
to the IIS Settings entry and selecting Repair.Show picture
The diagnostics check that the web site is deployed in accordance with the way it is configured. In particular,
the following items are checked:
- 110 -
l Bindings: At least one binding exists, with an existing certificate associated to it...,
l Certificates: Check that the certificate does not expire within 7 days,
l Binaries: Check that no newer version of the deployed services and applications is available,
l Roles and services,
l Back end endpoint configuration,
l Logging,
l Data protection,
l Services configuration.
Any discovered missing or incorrect item is listed. In general, you can correct the issues by re-deploying the
web site.
Additional features
When the diagnostics pane is open, you can re-run the verification by clicking Run Diagnostics.
The diagnostics pane allow you to export the diagnostics results to a text file or to the clipboard.
- 111 -
Role of the Gateway Server
Using the Supervisor as a gateway server brings a higher level of isolation between trusted and un-trusted
networks. All connections and messages between the Supervisor's stations in the un-trusted zone and those
in the trusted zone go through this single access point (can be redundant if necessary), making it easier to fil-
ter, control and monitor the traffic.
Such a gateway can be used in several architectures where there is the need for network segregation based
on a DMZ.
l As a gateway node in client/server systems. It can serve data to clients in the un-trusted zone (such
as Remote Desktop clients).
l As a data concentrator node in distributed systems. It can serve data to upper level central servers in
a separate zone (multiple geographically dispersed systems and one central system).
l As the Web Server for WebVue, TouchVue or the Web Services Toolkit. The Supervisor's web cap-
abilities are used to serve remote clients.
In computer security, a DMZ (De-Militarized Zone) is a physical or logical sub-network that contains
and exposes an organization's external-facing services to a larger and un-trusted network such as
the Internet or a Corporate network.
Summary of benefits
- 112 -
Deploying desktop applications
- 113 -
Overview of deploying as a Desktop application
There are 2 options for installation and deployment of the operator workstations running the Supervisor in
order to access the runtime HMI:
In both cases, the Supervisor will be running as a Desktop Application (in an interactive user session).
Suggested operating system: One of the supported Windows workstation OS, or one of the supported
Windows Server OS if deployment includes a Remote Desktop Server.
- 114 -
Licensing the Supervisor Using a Network Dongle
The network dongle (protection key) was originally conceived for multi-station systems where the project
requirements meant all the license information had to be located in one dongle. The network dongle is phys-
ically the same as a normal dongle but contains more than one license. Each additional license is held in one
of two slots along with other licenses of the same configuration.
The network dongle is plugged into a PC running an instance of the Supervisor known as the dongle owner.
This Supervisor is responsible for distributing the licenses to other copies of the Supervisor as they start,
and therefore must be started first.
When starting another instance of the Supervisor - either on another PC, a virtual machine, or in a Remote
Desktop Session - the Supervisor is instructed by a command line, or configuration option, to load its license
from the network dongle. The license is acquired each time the Supervisor is started.
You can see properties representing the dongle number, the number of allowed tags, its type etc.
In a network dongle, two additional sets of properties appear. If you were able to view its properties, it
might look something like this.
The BASE contains the license and properties for the Supervisor running on the PC to which the dongle is
physically connected. SLOT1 and SLOT2 contain licenses that may be accessed over a network.
SLOT1 and SLOT2 contain not only license properties but also the number of licenses. In the picture above
the dongle has the capability to run 7 instances of the Supervisor.
A network dongle has only one number property and one version property hence all instances of the
Supervisor that are licensed from the dongle will appear to have the same dongle number and must
be the same version.
Using a network dongle when running the Supervisor on RD Session Host server
When running the Supervisor on a RD Session Host server it is likely that there will be several instances of
the Supervisor running concurrently on the same server. In such an architecture, a network dongle con-
taining multiple licenses must be used.
The network dongle will be located on another PC running another installation of the Supervisor, configured
as a license owner, connected to the RD Session Host server via a local area network.
The Supervisor periodically checks for the presence of a license. If the Supervisor distributing the
license is shutdown, after a period of time the other instances of the Supervisor will be unable to
find their license and will also shutdown.
- 115 -
Deploying the Supervisor on a RDS host
- 116 -
Overview of Deploying the Supervisor Using a RD Session Host
From Windows Server 2008 R2 onwards, Microsoft renamed many of the terms associated with the
long established Terminal Server. In particular, Windows Terminal Server has become Windows
Remote Desktop Session Host. This help frequently uses RD Session Host as a shortened form of this
term.
What is a Remote Desktop Session Host server (RD Session Host server)
Traditional PC operating systems such as Windows 7 are essentially single user. Each PC has a single mon-
itor, keyboard and mouse from which one user at a time interacts with the PC and any running applications.
Windows Server, when configured with Remote Desktop Services, allows several users to concurrently use
the resources of a single server and to execute applications installed on the server. A user interacts with
applications using a thin terminal connected to the server using a network. The process of a user connected
to Windows Server in this manner is called a Remote Desktop Session and uses a standard known as the
Remote Desktop Protocol (RDP). Thin terminals supporting RDP come in a variety of forms the most com-
mon of which is now a program running on another computer. Under Windows 7 for example, an RDP client
is available from the Start menu (Start.Programs.Accessories.Remote Desktop Connection).
In addition to running sessions using a remote desktop, Windows Server also runs a session using the local
monitor, keyboard and mouse. This is referred to as the local session (or sometimes as a console session or
interactive session).
Running the Supervisor on Windows Server configured with Remote Desktop Services
When running the Supervisor on a RD Session Host server, an instance of the Supervisor can be run from
each Remote Desktop Session and/or from the local session. Only a single copy of the Supervisor is
installed, but a license is required for each instance of the Supervisor that is running.
The deployment of the Supervisor on a Remote Desktop Server will be as a Desktop Application (as
opposed to a Windows Service), so that Remote Desktop sessions can run it interactively. If
deployed as a Windows Service, users in Remote Desktop Sessions will not be able to interact with
the Supervisor.
l When an instance of the Supervisor runs from a local session it behaves in much the same way as it
would on a traditional operating system, such as Windows 7, and obtains its license from the dongle
plugged into the local PC.
l When an instance of the Supervisor runs in a Remote Desktop Session it cannot obtain its license dir-
ectly from the dongle, instead it must acquire it via another instance of the Supervisor that has been
configured for that purpose. The Supervisor supplying the license is the license owner and the Super-
visor acquiring the license is the license renter.
A typical example of networking architecture can consist in a Supervisor instance running in the local ses-
sion configured as a data acquisition server, and instances running in Remote Desktop Sessions configured
as data clients. It is likely that the instance running in the local session is also configured as the license
owner.
Another example of networking architecture is that the data acquisition server runs on a standalone PC to
which the dongle is connected. In such a case, the Remote Desktop Session Host server would only host
data clients instances.
- 117 -
Why Use Central Project Management When Deploying the Supervisor Using a
RDS Host?
The following text explains why the use of Central Project Management is essential when deploying the
Supervisor on a RDS Host and using the recommended option Use a different working folder for all Remote
Desktop Sessions in the station configuration.
l The -r command line switch causes the Reference versions (REF) of the project and libraries to be
automatically loaded.
l The -x and -d command line switches cause a dialog to be displayed at startup from where you can
select the version before starting.
In either case the project folder specific to the station, the common library, and the shared libraries are
automatically updated with the selected version of the project before the Supervisor starts.
Conclusion
Without using Central Project Management:
Using Central Version Management should be considered essential to avoid errors managing
the project in this environment.
- 118 -
The Startup Process When Running the Supervisor in an RD Session Host Session
The following flow chart describes the Supervisor's startup process when running in a RD Session Host ses-
sion.
- 119 -
Changes to the Management of Trace Files When Running the Supervisor in a RD
Session Host Session
On a single user installation of the Supervisor, the trace files that are a record of what appears in the trace
window (F7), are found under the Supervisor's root folder in 'bin\LogFiles' files.
When running a networked application on a RD Session Host server, the behavior is modified. The trace files
for instances of the Supervisor running in RD Session Host session are found in a sub-folder of 'bin\<Lo-
gFiles\WTS\<station_name>', where the sub-folder name is that of the station name (from the Supervisor's
network configuration) of the instance that created them.
- 120 -
Configuring the Supervisor to run in a RDS SessionHost session
- 121 -
RD Session Host Session Related Properties in Station Configuration
The following properties in the station configuration that are specific to using the Supervisor in a Windows
RD Session Host session.Show picture
l Run only in Remote Desktop session - If ticked then the Supervisor will only run this station in a
Remote Desktop Session. When starting, if the Supervisor identifies it is not in a Remote Desktop Ses-
sion and that this option is selected, it will display an error message and exit.
l Use the same working folder for all Remote Desktop sessions - The same working (project) folder is
used for all Remote Desktop sessions. This is the same behavior as with versions prior to 10.0 SP1.
l Use a different working folder for each Remote Desktop session - A different working folder is used
for each Remote Desktop session. See the topic Project path when using a RD Session Host for more
information.
These modifications were introduced to resolve issues related to sharing the same project between
several instances of the Supervisor. The use of Use a different working folder for each Remote
Desktop Session is highly recommended for all new projects.
We recommend using the networking wizard to configure your RDS architecture. For more inform-
ation, see the section Communication.Networked applications.Using the Network Wizard to configure
the network architecture.With remote desktop session host server in the Application Explorer book.
- 122 -
Settings Related to Running the Supervisor in a RD Session Host Session
These settings are found in the Servers Settings dialog. Show picture
l Check NTFS folders permissions for the Supervisor's folder, the project folder using -b and the project
versions central folder - Check the folder permissions on startup of the Supervisor. If the folders do
not have the correct permissions, a message is displayed and the startup aborted.
l Windows Remote Desktop session starting timeout (sec) - This property is the delay that is applied to
starting the Supervisor in a Windows Terminal Session when, at startup, another session is found to
be starting up. A pop-up message informs the user of the time remaining. If the property Use a dif-
ferent working folder for each remote desktop session has been selected the timeout is not used.
- 123 -
Configuring User Permissions for the Supervisor's FoldersWhen Running on an
RD Session Host Session
To use the Supervisor in a RD Session Host session you must configure the correct Windows user per-
missions (Full control) for the folders of the Supervisors project.
The affected folders are as follows.
l The root folder of BIN, ETC, USR and LIB. That is the topmost folder of the <SupervisorPath>.
l The topmost folder of the <ProjectPath> if the -b<ProjectPath> command line switch is used.
l The Central Versions folder if Central Project Management is being used.
You can change the permissions for individual users but the recommended method of doing this is to con-
figure permissions for the user group Remote Desktop Users that includes all Remote Desktop users.
When you change the user permissions of a folder, the permissions of all sub-ordinate folders are
also changed.
1. Using Windows Explorer, locate the Supervisor's folder. Right-click on it and select Properties. The
Properties dialog is displayed. Select the Sharing tab. Show picture
2. Click the Share button to open the File Sharing dialog. Enter the name Remote Desktop Users and click
the Add button. The name appears in the list of names. Show picture
3. Change the permissions to Read/Write and then click Share. Assuming the process is successful the
dialog will close and will be replaced by a dialog displaying the message Your folder is shared.
Click the Done button to close it.
4. Select the Advanced Sharing button in the Properties dialog and, in the Advanced Sharing dialog,
check that the Share this folder property is ticked. Close the Advanced Sharing dialog.
5. Select the Security tab of the Properties dialog. Check that the entry for Remote Desktop Users has
Full control allowed. Show picture
- 124 -
6. Click Close to confirm the configuration.
7. Repeat the steps for all folders that require the permissions changing.
You can find more information about configuring the Remote Desktop Users Group on the Microsoft
website using the following URL: http://technet.microsoft.com/en-us/library/cc743161.aspx.
- 125 -
Using the Supervisor's RD Session Host Service
Starting with version 11.2, the former SV Terminal Server service application named svTS.exe is no
longer used. The services it provided are now implemented by the SV Core Session Host service,
which is installed and deployed as part of the Supervisor installation and deployment tools. See
Default configuration and operation for more information.
You must start the service SV Core Session Host to run the Supervisor when used in a Remote
Desktop Session.
- 126 -
Changing the Supervisor's Command Line When Running in a Remote Desktop
Session
The Supervisor's command line must be changed to run it in a remote desktop session.
It is recommended that you do not use the Supervisor in development mode when running in a
remote desktop session.
l ProjectName The name of the project with which the Supervisor will start.
l ClientStationListName The name of a client station list (from Application Explorer-
.Communication.Networking.Stations.Lists). The station number for the instance of the Supervisor is
selected automatically. The station number in the file INI.DAT is ignored.
-WTS <ProjectName>,<StationName>
l ProjectName The name of the project with which the Supervisor will start.
l StationName The name of a specific station (from Application Explorer-
.Communication.Networking.Stations). The station number for the instance of the Supervisor is the
one defined in the configuration. The station number in the file INI.DAT is ignored.
If ProjectName or ClientStationListName contain spaces they must be placed within quotation marks
"".
- 127 -
Project related issues when deploying the Supervisor on a RDS Host
- 128 -
Project Path When Using a RD Session Host Server
If the property Use a different working folder for each Remote Desktop session has been selected in a sta-
tion's configuration then a different working folder is used for each station name. By working folder, we
mean both the project folder and the library folder.
If the property Use same working folder for all Remote Desktop sessions is chosen, the project and
libraries on the host PC are shared by each supervisor running in a Remote Desktop session of the
PC.
Reminder about the project path for applications not running in a RD Session Host session
The project path, which for the sake of this explanation we will call <HostProjectPath> is either <Super-
visorPath>\USR or, if the -b<ProjectPath> command line switch is used, <ProjectPath>\USR.
Project path, local library folders, and the custom project library folder
The project path that we will call <SessionFullProjectPath> is calculated as follows.
<HostProjectPath>\WTS\<ProjectName>_<StationName>
The local library comprising of the folders, B, P, S, W and WT, is located under the <SessionProjectPath>.
The custom project library folder, LIB, is also located under the <SessionFullProjectPath>.
l The path for the project, local library folders and custom project library folder is:
C:\SV\USR\WTS\AP_WTSClient1
l The path for the common library folders and custom common library folder is:
C:\SV\WTS_LIBS\AP_WTSClient1
l The path for the project, local library folders and custom project library folder is:
D:\SV\Projects\10.0SP1 \USR\WTS\AP_WTSClient1
l The path for the common library folders and custom common library folder is:
D:\SV\Projects\10.0SP1\WTS_LIBS\AP_ WTSClient1
l The path for the project, local library folders and custom project library folder is:
D:\SV\Projects\10.0SP1 \USR\WTS\AP_WTSClient1
l The path for the common library folders and custom common library folder is:
D:\SV\Projects\10.0SP1\WTS_LIBS\AP_ WTSClient1
- 129 -
If the version in the libraries folder is not the reference version, or the folder is empty, then the reference
version of the libraries is copied from the central location.
If the name of the station has changed, a new project and new libraries are created with a new path. The old
project and libraries are not deleted.
If the station is deleted the project and libraries are not deleted.
- 130 -
Managing Persistent Variables When Running the Supervisor in a RD Session
Host Session
Internal variables are configured as persistent using the Saved property in the variable's properties dialog.
If the variables configured as such are not assigned to a Server Station list (No producer list), the value is
saved when a project is stopped and restored on re-start. The values are saved in the following files.
The files are normally located in the project's PER folder although, for backwards compatibility, this can be
changed to the C folder by un-ticking the property Write the persistent files in the Per directory in the pro-
ject's compatibility settings.
Behavior when running in a Remote Desktop session and using the Use the same working
folder for all Remote Desktop sessions property
The location of the files is modified and depends on the behavior properties in the Variables Settings dialog.
Show picture
l Local association - The saved variables files are found in the folder:
<ProjectPath>\USR\<ProjectName>\PER\WTS\<StationName>
l User context - The saved variables files are found in the folder:
<ProjectPath>\USR\<ProjectName>\PER\WTS\<UserName>
Behavior when running in a Remote Desktop session and using the Use a different working
folder for each Remote Desktop sessions property
l Local association - The saved variables files are found in the folder:
<ProjectPath>\USR\WTS\<ProjectName>_<StationName>\PER
l User context - The saved variables files are found in the folder:
<ProjectPath>\USR\<ProjectName>\PER\WTS\<UserName>
This folder is not suffixed or prefixed by <StationName> because the value of these variables is
dependent on the user name rather than the station name. A user is only allowed to log on at one sta-
tion at any one time on the same project.
- 131 -
Optimizing the Project Size
To help keep the project size to a minimum you can configure the number of backup copies kept of the pro-
ject configuration files. (Project configuration files are those in the C folder. Backup copies are kept in the
CTEMP folder.)
By default, the number of backup copies is nine and is configured in the Miscellaneous section of the Project
Settings dialog. However, you can configure this per station using the Configuration backup files property in
the advanced tab of the Station dialog. Show picture
l Default means that the setting from the Project Settings dialog is used.
l 0 to 9 specifies the number of backup copies for a particular station.
- 132 -
Known limitations when running the Supervisor in a RDS Session Host session
- 133 -
Printing When Running the Supervisor in a RD Session Host Session
There are two main mechanisms for printing within the Supervisor.
l Graphical. You can print the contents of a window or the entire screen on the Windows' default printer.
This mechanism is used when producing screen dumps from SCADA Basic, using the built-in program
Hardcopy, when printing a report and when printing from the Print command on the file menu.
l Text only. You can print information in text format on any printer configured in the operating system,
either locally or over a network. This mechanism is used when printing events through the Log Filters,
Alarm and Log Viewers and when using the SCADA Basic instruction LPRINT.
Graphic printing
The mechanisms for graphical printing on the Supervisor that print to the Window's default printer operate
normally. Output appears on the printer configured as the default for the RD Session Host session.
Report printing does not work, as it does not use the default printer.
Text only
The mechanisms for text printing only works if the printer configuration within the Supervisor is set to print
to a file. Show picture.
In this case, for each event that is eligible for printing, there will be one line in the file for each Supervisor
session running the same project.
- 134 -
Issues Related to Sharing the Same Project
If you use the recommended method of configuring the Supervisor's stations (Use a different work-
ing folder for each Remote Desktop session) then many of the following points are not applicable.
If you are running more than one instance of the Supervisor on the same PC, sharing the same project, you
must take into account the following limitations caused by the possibility of more than one process trying to
access project files at the same time.
Development mode
It is recommended that you do not allow the Supervisor to be operated in development mode when running
in a Remote Desktop session. The best way to prevent this is ensure that the license used by the Supervisor,
when run from a Remote Desktop session, is run-time only.
Archive Units
In general, it is not recommended that instances of the Supervisor running in a Remote Desktop session
archive data directly because you could have several sessions running contiguously each trying to access
the same archive files. Instead, it is recommended that you use Client-Server archiving where any Super-
visor running from a Remote Desktop session behaves as an archive client and the Supervisor running from
the local session behaves as the archive server.
l To save a separate value for each of the variables on each station, enable the option Vari-
ables.Internal variables.Behavior.Usr context in Application Explorer.Variables.
- 135 -
Deploying web and mobile client applications
- 136 -
Deploying the WebVue Client
The WebVue app is distributed and deployed on the web server side with the Web Deployment Console.
It runs in a web browser and does not require any installation or deployment step on the web client side.
See the WebVue overview topic for an overview of WebVue.
See the Using WebVue book for information on starting, logging in to and logging out of WebVue.
See the What is, and Why do I Need, a Certificate? book for information on certificate management.
When the web server is updated and re-deployed, it is of prime importance to make sure WebVue
users empty the cache of their web browser. This ensure that they are using up-to-date resources
and javascript modules.
- 137 -
Deploying the TouchVue App
The TouchVue app must be downloaded and installed manually on the mobile device. The following is one of
the ways in which it can be done.
For this to be possible, the web server must have been deployed with at least the TouchVue role.
1. Change the Android security settings of the mobile device to allow installation of apps from an
unknown source.
a. Open the Settings app.
b. Select the category PERSONAL.Security.
c. Tick the option DEVICE ADMINISTRATION.Allow installation of apps from unknown sources.
d. Close the Settings app.
2. Download the TouchVue application.
a. Open a web browser and enter the URL of your web server:
http://<MyWebServer>/mobileapps
b. The TouchVue download screen opens. Touch Install. A Starting Download message will confirm
that the download is running.
c. After a few seconds, a download notification will appear in the Notification Area.
d. Close the web browser.
3. Install the TouchVue app.
a. Drag the Notification Area so that it becomes full screen. If the download was successful there
will be a new notification entry indicating that download is complete.
b. Start the installation.
c. A screen will appear summarizing what permissions the TouchVue app requires on the Android
device. Touch Install to continue with the installation. The TouchVue installation will start.
d. If the installation is successful, the screen will display the message App Installed. Touch Done to
close the screen or Open to start the TouchVue app.
After installing TouchVue, you may want to turn off the option to allow installation of apps from an
unknown source.
If you are familiar with Android, you may want to use another method to install the TouchVue app. The app,
com.arcinfo.maintenance.apk, can be found in the Web Deployment Console root folder in the sub folder
\Bin\WebDeploymentPackages.
- 138 -
Project and library overview
- 139 -
What is a Project?
A project (or application as it is sometimes known) is the configuration that is required to customize the
operation of the Supervisor for a particular use. A typical project will include mimics, variables, com-
munications, data recording, user configuration and programs.
You can create a new project or select an existing one using a dialog displayed by the Select Project com-
mand on the Configure.Project sub-menu. Show picture
- 140 -
The use of the main folders is as follows. Note that some of the folders are for internal use and are therefore
not mentioned here.
Folder Usage
3D Three-dimensional mimics (if used).
B Images that appear in the local library.
C Main configuration files.
C1 Configuration files to be imported.
CTEMP Temporary copies of the configuration files (C plus C1) used while a project is
loading.
DataExports Default output folder for Data Export.
DataExportTemplates Default template folder for Data Export
HDS Historical Data Server files.
Lib Local libraries root folder. See the topic What is a library?.
P SCADA BASIC program files.
PER The files used for storage of persistent data, in particular the value of saved
variables, extended attributes and alarms.
R Recipe definition files.
S Symbols that appear in the local library.
SCR VBA files.
Templates Templates and parameters.
TH Archive unit files containing historic data.
TP Default location of any files used by SCADA BASIC.
W Window (mimic) definition files.
WEB WebVue resource files and image cache.
WT Window template files.
Project names
The following limitations apply to project names.
- 141 -
l The length, including the path, is limited to 200 characters.
l Project names cannot
l Contain any of the following characters /\?:*"<>¦
l Contain any control or wildcard characters
l Contain leading or trailing spaces
l Be '.' or '..'
l Be reserved system names such as 'AUX', 'PRN', 'NUL', 'COM1' ETC.
- 142 -
The Project Configuration Files
Much of the information entered by the application designer using the configuration tools is saved in either
comma-separated ASCII files or XML structured files. This has two benefits:
l The files can be easily examined off-line with a text or XML editor as appropriate.
l It is very easy to copy files to another project.
The ASCII files, which are all stored in the project’s C directory, are as follows:
File Use
ACTION.DAT Configuration of associated actions.
COMM.DAT Configuration of the communication networks, nodes and frames.
CRON.DAT Configuration of any Scheduler actions.
CYCLIC.DAT Configuration of any cyclic actions.
DB.DAT
DRAWDEFAULT.DAT Default properties for when a drawing element is drawn.
EVENT.DAT Configuration of any event driven actions.
EXPRM.DAT Expression models.
EXPRV.DAT Variable expressions.
FORMULA.DAT Configuration of any formulas used.
GPCONF.DAT
HDSCONF.DAT Historical Data Server configuration file.
HDSTREND.DAT Historical Data Server trends configuration file.
HISTO.DAT Configuration of the archive files, log filters and reports plus a list of all the vari-
ables that are recorded.
IMPORTREFERENCES.DAT Information about files imported by the Smart generator.
KEY.DAT The configuration of any keyboard actions.
LPRINTER.DAT Printer configuration.
MRUFILES.DAT List of the most recently used mimics.
OPTIONS.DAT Various configuration options.
PALCOL.DAT Color palette configuration file.
PARAM.DAT Project start-up configuration, preferences, user names etc.
PARAMWS.DAT Graphic workspace settings.
PREFCOL.DAT Color preferences.
POPU.DAT Population configuration.
RECIPE.DAT A list of recipes. The recipes are saved separately in the R folder.
SCRIPT.DAT
STATION.DAT Network configuration.
TSPREFS.DAT
UIVCONF.DAT
USER.DAT User names, passwords and rights configuration file. Depending on what option
has been selected, this file may be encrypted.
VARCONF.DAT Variable properties configuration file.
VAREXP.DAT Database configuration in extended file format
VARTREAT.DAT Special variable treatment configuration file.
The XML files, which are all stored in the project’s C directory, are as follows:
File Use
MAILCONFIG.XML Configuration for the Supervisor's e-mail sending capability.
SCHEDULER.XML Configuration for the HDS task scheduler.
- 143 -
What is a Library?
A library is the name given to the collection of folders in which the Supervisor keeps the files that define its
mimics, mimic templates, symbols, images and SCADA Basic programs. Whenever you open a mimic, paste
a symbol, load a program etc. you can select the library where it is located.
There are two distinct library types, differentiated by their location within the Supervisor's folder structure.
l Local libraries - Located in the folders specific to a particular project and only available to that project.
l Shared libraries - Located in the project's root folder (that is the root folder of all projects) and avail-
able to all projects.
By default, there is a single local library for each project identified by the name LOCAL. This library cannot
be deleted. When you are developing the HMI, if you do not change the library selection, everything is saved
in this library. The library is located in the project root folder and it is composed of the following folders.
Folder Contents
3D 3D mimics
B Images
P SCADA Basic programs
S Symbols
SCR VBA scripts
Templates Application Architect templates and parameters
W Windows (Mimics)
WT Window templates (Mimic templates)
- 144 -
Additional local libraries, created using the Application Explorer as part of the project configuration, are loc-
ated under the LIB folder that is located under the project root folder. There is one folder for each library
that is created. Each folder contains the same eight sub-folders as described in the table above.
The name by which a library is identified is not necessarily the same as its folder name.
There is always at least one shared library for a project identified by the name COMMON. This library cannot
be deleted. It is composed of the following folders.
Folder Contents
BMP Images.
PRG SCADA Basic programs
SCR VBA scripts
SYM Symbols
WIN Windows (Mimics)
WTP Window templates (Mimic templates)
Additional shared libraries, created as part of the project configuration, are located under the LIB folder that
is located under the Supervisor's root folder. There will be one folder for each library that is created. Each
folder contains the same eight sub-folders as described in the first table above.
If you chose the Typical setup when installing the Supervisor, several other pre-defined libraries are
installed with names such as shared_ARROWS, shared_MOTORS etc. These libraries are also located under
the LIB folder that is located under the Supervisor's root folder.
The name by which a library is identified is not necessarily the same as its folder name.
If you use the shared libraries in your project, and you copy the project to another location, make
sure that you also copy the shared libraries you have used.
- 145 -
Changing the location of the shared library folders
The -b command line option changes the location of the shared library folders and the projects root folder.
See the topic Software installation.The Supervisor.Command line options.
Note the difference between the project root folder and projects root folder.
l The project root folder is a folder, with the same name as the project, located under the projects root
folder USR.
l The projects root folder is, by default, is located under the Supervisor's root folder.
See the Libraries topics in the Application Explorer help book for further information.
- 146 -
Compatibility of Projects and Libraries with Other Versions of the Supervisor
This topic contains information about certain well-known limitations or precautions to be taken, with respect
to the project and libraries, when upgrading from one version of the Supervisor to another.
The on-line technical resources contains further information about migration strategies and best prac-
tices.
Backward compatibility
Backward compatibility, that is running a project with a more recent version of the Supervisor than with
which it was created, is fully supported unless otherwise stated.
In those rare cases that new functionality changes a specific feature so that it is not backward compatible,
wherever possible a compatibility setting is added to enable the previous behavior.
If you start a project and libraries configured with an earlier version of the Supervisor, a dialog is displayed
warning that once the project and libraries have been started with the current version they may no longer be
compatible with any earlier version.
It is the responsibility of the User to make sure regular backups of the project and libraries are
made. In particular, a backup should be made of the project and libraries before unin-
stalling, or starting an upgrade, of the Supervisor. See the topic Backing up and restoring pro-
jects and libraries
Forward compatibility
Forward compatibility, that is running a project with an older version of the Supervisor than that with which
it was created, or last used, is not supported and any attempt to do so is entirely at the User's own risk.
Specific issues with previous versions of the same generation of the Supervisor (6, 7, 8, 9 and
10)
1. Enhancement to the operation of the HDS means that the table structures used in version 9.0 and
earlier are not compatible with those in later versions. For information on how recorded data can be
migrated, see the topic Migration from 9.0 to 10.0 in the Archives book.
2. The shared libraries, supplied on the Supervisor's distribution media, are subject to continuous
improvement. In particular, a brand new set of libraries is supplied since version 11. Users with pro-
jects using the shared libraries must make sure that they take the necessary backup steps before
starting the upgrade process. If backups are available, the libraries can be simply re-introduced, once
the upgrade has taken place, using the procedure explained in the topic Backing up and restoring pro-
jects and libraries.
Specific issues with projects created with the previous (16-bit Windows 3.1) generation of the
supervisor (Versions 2, 3 and 4)
Projects created with the 16-bit version of the Supervisor are generally compatible. However, some of the
earlier releases of the 32-bit version have minor limitations in functionality. Also some of the protocols avail-
able in the 16-bit version have not been implemented due to lack of support from the manufacturers. If in
doubt, please contact technical support.
Once you have run an application with the 32-bit version it will not be compatible with the 16-bit ver-
sion.
1. Open the Application Explorer and select the topmost (Project) folder.
2. Select the Settings task. The Main Settings dialog opens. The compatibly settings are found in a folder
of the same name.
- 147 -
Backing up and Restoring Projects and Libraries
This topic is not a complete guide to backup and restore best practices. It includes the minimum precautions
you should take, as a User, to avoid losing any components necessary to run your project.
Having a backup process in place, and making sure that the backups are complete and useable to
restore your application, is an essential part of development.
Backing up
The contents that a backup of the Supervisor's application must contain as a minimum is:
In addition, your application may require third-party applications, tooling and files specific to your system
set-up that are not described hereafter.
The use of Central Project Management can help you manage the backup of your projects. See the
book Using Central Project Management.
See also the important note about libraries in the topic Uninstalling The Software in the Installation
book.
The project root is normally the same as that of the Supervisor although it can be changed using the -b com-
mand line switch. If in doubt, check the properties of shortcut that you use to start the Supervisor.
l To backup a project use a compression tool to save the project contents as a single file.
If the project contains any additional local libraries these are included in the project folder structure.
- 148 -
How to backup shared libraries
Shared libraries are contained in the folder LIB located in the ROOT folder.
l To backup a shared library use a compression tool to save the library and its contents as a single file.
How to use both the shared libraries supplied with the current version of the Supervisor and
libraries from a backup
- 149 -
Using a Template Project
A template project is a Supervisor project that is configured in the normal way but then copied to the tem-
plate folder. When the Supervisor starts, it looks for the template folder. If it finds it, the contents of the
template folder is copied to the running project's folder. ONLY FOLDERS AND FILES THAT DO NOT
ALREADY EXIST ARE COPIED. In that way, the contents of the template project is only used when a new
(empty) project is created, or when one of the files in the running project, that has an equivalent file in the
template project, is deleted.
To update the Supervisor's project after modifying any of the files in the TPL folder, you must stop
the Supervisor, delete the equivalent files in the project and restart the Supervisor.
You can put the project template in any other storage location that is accessible to the Supervisor, but then
you must configure its path as described below.
Parameters must be added in a section starting with the heading [Template Project]. It can contain either or
both of the following options.
Option Meaning
Disabled To disable the functionality (value 1) or to enable it (value 0, the default).
Dir To specify the folder of the Template Project. By default, it is:
% ProjectsDir%\TPL.
The path parameters designate folders as follows.
- 150 -
Using Central Project Management
- 151 -
Overview of Central Project Management
Central Project Management provides the capability of centrally managing project and library versions.
Using Central Project Management you can:
You can manage any number of projects in the same central project folder. However, on a particular station,
you only see versions of the project that is currently loaded in the Supervisor on that station.
The original and main use of Central Project Management is for centralized project management of a
networked, multi-station project but it may also be used for a single-station project or a project with
multiple, stand-alone stations.
When using Central Project Management it is essential to make sure that the time is synchronized on
all the stations involved.
Libraries
The facilities provided by Central Project Management can also be used with the Supervisor's common and
custom libraries.
- 152 -
Creating and managing project versions
- 153 -
The Central Project Management Dialog
The Central Project Management dialog is displayed from the menu command Configure.Project.Versions.
When you select this for the first time, a dialog is displayed stating that the central project store has not
been set up. Click on OK to open the Central Project Management dialog.
Using the Central Project Management dialog, you can:
1. Select the General parameters icon in the in the left pane of the Central Project Management dialog.
2. Tick Enable central project management.
3. Enter the name of the folder in the Central versions folder field. You can either type in the name dir-
ectly or select it from a standard Windows browser dialog opened from the ellipsis button beside the
field. The folder path is limited to 80 characters.Show picture
4. To obtain access to a location that is networked but not currently available, click on the Map Network
Drive... button to open the Windows Map Network Drive dialog.
The folder can be located anywhere that all of the stations can access. As a considerable amount of file copy-
ing takes place when using Central Project Management, it is best to choose a location that has a fast access
speed.
Selecting which project folders and files are included when saving a version of the project
1. Select the icon Project.Included folders and files in the left-hand pane.
2. Tick and un-tick the project folders and files in the right-hand pane as required. To display the items
that a folder contains, click on the '+' control to the left of the folder name (NOT on the tick box next
to it). Show picture
- 154 -
Unless you have special requirements and are familiar with the project folder structure, it is recom-
mended that the default selection be used. If you have made changes but wish to restore the default
settings, select the Default button to do so.
To select which library folders are included, follow the same procedure selecting the Librar-
ies.Included folders icon.
When you have made changes and you select a different category (General Parameters, Project or Librar-
ies), a dialog asks you to validate those changes. Select OK to do so.
- 155 -
Other settings in the Central Project Management dialog
l Enable updating of a version in OPE or REF status - Allow central project versions with OPE or REF
status to be updated. Normally only versions with DEV status can be updated.
l Always displayed on top - The dialog is always displayed on top of the Supervisor's workspace when it
is open.
- 156 -
How to Create a Project Version
The action of creating a new version copies the local project to the central project folder under a selected
version number. The new version is given the DEV (development) status and the local project version num-
ber is updated to reflect the version you have created.
1. Open the Central Project Management dialog and click on the Project section in the left pane. The right
pane changes to show details of the local project and of any versions of projects that are stored cent-
rally. Show picture
2. Select the button Create a New Version. The Create New Version dialog opens from where you can
choose a new major version number or use the existing one. The minor version number is generated
automatically as the next in the sequence and cannot be changed.
3. Click OK to start the copying process. The new version is created in the central project folder by copy-
ing the selected files from the local project. A dialog displays a time-bar of that progress.
For information on which of the project's folders and files are copied, and how to select them, see the topic
The Central Project Management dialog.
Project version information is saved in the file INFOS.DAT found in the project root. This file only
exists for projects using Central Project Management, and appears in both the local project and ver-
sions in the central project store.
- 157 -
How to Update or Delete a Central Project Version
Updating copies (saves) the local project to the central project folder under an existing version number.
Enabling updates
By default, you can only update a version that has Development (DEV) status. However, you can remove
that restriction as follows.
l In the Central Project Management dialog's General Parameters pane, check the option Enable to
update a version in OPE or REF.
Applying updates
1. Open the Central Project Management dialog and select Project in the left-hand pane.
2. In the right pane, select the version that you want to update.
3. Select the Update a Version button. A dialog asks whether you want to apply a full or partial update to
the version. Show picture
4. If you select the option Partial Update Since, click on the drop-down arrow in its box to display a cal-
endar.
5. In the calendar, select the earliest date and time for project contents to be copied.
6. The selected local files are then copied to the central project folder. Select OK to close each dialog.
When you select a column in the Central Project Management dialog, the arrowhead above it
arranges the whole list in ascending or descending alphabetic order of that column. Show picture
Deleting a version
1. Open the Central Project Management dialog and select Project in the left-hand pane.
2. In the right pane, select the version that you want to delete.
3. Select the Delete button. A dialog asks whether you want to delete it; select Yes.
4. Select OK to close each dialog.
- 158 -
How to Change the Status of a Project Version
The status of a version determines how it is treated by Central Project Management. By default, you can
select the status from the following options.
Status Meaning Instances Actions
DEV Development Any number. Load, update, delete.
REF Reference Only one for a project. Load only.*
OPE Operational Any number. Load only.*
*unless you enable updating (see How to Update a Central Project Version, section Enabling Updates).
If you apply the Reference option when a Reference version already exists, the previous version's
status is changed to Operational.
You cannot change straight from Development to Reference. You must first change the status to
Operational and then you can change it to Development.
- 159 -
Creating and Managing Library Versions
In addition to its use with projects, Central Project Management can also be used to create and manage ver-
sions of the common and custom libraries. The common and custom libraries are those that may be
accessed by all projects and are located in the project root folder.
The project root folder is the same as the Supervisor's root folder unless an alternative has been spe-
cified using the -b switch in the Supervisor's command line.
To use the Central Project Management dialog with the libraries, select the Libraries icon in the left pane.
The behavior is similar as when managing project versions. Show picture
Selecting which library folders are included when saving a version of the libraries
- 160 -
How to select and load a version at start-up
- 161 -
How to Select a Project Version at Start-up
To select a particular version of a project at start-up you add a property (known as a switch) to the com-
mand line that starts the Supervisor. For example:
[InstallDir]\bin\sv32.exe -d
The Supervisor's software installation directory is, by default, at the root of the system partition,
usually C:\.
What happens when a version is copied from the central project store to the local folders
1. The folders of the selected project are copied to local temporary storage.
2. If that worked, the required folders are copied to the local station's project storage, overwriting the
previous one if any.
3. If the copying did not work, a network error message is displayed.
4. The required folders of the selected version are then copied to the local station.
If either of these steps fails, for instance, if the file system is damaged or the central store's hard disk is
full:
If the error message is ignored the Supervisor starts up on a version of the project other than the
one intended.
- 162 -
Using the -r or -r_delta Command Line Switch
The -r or -r_delta command line switches start the Supervisor with the Reference version (REF) of the pro-
ject and/or libraries. No version selector dialogs are displayed before the Supervisor starts. On startup, the
Supervisor checks the local project's version number and creation time against that of the reference project
in the central versions folder. The following actions are then taken
For details of how copying takes place and of what happens in case of failure, see the topic How to Select a
Project Version at Start-up.
How does the Supervisor decide if the local and reference versions are different?
Different means when the version information in the local INFOS.DAT is different to that of the reference
project in the central versions store.
INFOS.DAT is only updated when using the Central Project Management dialog to create a new ver-
sion or update an existing version. It is not updated in any other circumstance. Modifying the local
project without then using the Central Project Management dialog does not update INFOS.DAT.
- 163 -
Using the -x Command Line Switch
Use of the -x command line switch causes two version selectors to open in succession before start-up of the
Supervisor, for choosing a central project and a set of libraries. These dialogs display information about the
version currently loaded in the local project folder plus a list of the Operational (OPE) and Reference (REF)
versions available.
If there are no Reference or Operational versions in the central project store, the dialogs are not displayed
and the Supervisor starts with the existing local version.
1. The Project Version Selector dialog opens first. You can check the local project version details in the
upper pane. Show picture
2. Select a central version from the list and click the Download button. The version is copied to the local
project folder. Show picture
3. Click on Next to copy libraries or on Start to skip that step and start the Supervisor immediately.
1. The Libraries Version Selector dialog opens next. You can check the local version of the libraries in the
upper pane. Show picture
2. Select the required version from the list and click the Download button. The version is copied to the
Supervisor's root folder. A time-bar shows the progress of copying the files.
3. Click the Startup button. The Supervisor continues the startup process with whichever versions of the
project and/or libraries are now loaded.
For details of how the copying takes place and what happens in case of failure, see the topic How to Select a
Project Version at Start-up.
- 164 -
Using the -d Command Line Switch
The -d command line switch has the same effects as the -x switch except that Development versions of the
project and libraries can be selected as well as the Reference and Operational ones. Show picture
See the topic Using the -x Command Line Switch for details of how to select the central project and library
versions.
- 165 -
Central Project Management System Variables
The following system variables provide information about the version numbers of the project and libraries
that are loaded on the local station.
On networked stations
In each example below, StationName is the name of the station (from the network configuration).
For a project:
SYSTEM.StationName.VERSION.PROJECT
with variable type - TEXT: the version of the project that is currently loaded and running.
Example:
SYSTEM.SERVER_A.VERSION.PROJECT
For libraries:
SYSTEM.StationName.VERSION.LIBRARY
with variable type - TEXT: the version of the library that is currently loaded and running.
Example:
SYSTEM.SERVER_A.VERSION.LIBRARY
On a stand-alone station
In each example below, LocalHost is the name of the stand-alone station.
For a project:
SYSTEM.LocalHost.VERSION.PROJECT
with variable type - TEXT: the version of the project that is currently loaded and running.
For libraries:
SYSTEM.LocalHost.VERSION.LIBRARY
with variable type - TEXT: the version of the library that is currently loaded and running.
- 166 -
An Example of Central Project Management
The stations
An application has been live for some time but evolving requirements mean that its functions occasionally
have to be upgraded. The station architecture is as follows.
l 2 server stations, Station 10 and Station 11, are in an association (for hot standby), Association 20.
l 3 client stations are connected to the association.
l 1 file server (MYSERVER) holds the central project store.
The versions
The versions to be controlled are at various stages of the development cycle.
Version Description Status
1.7 The final version of the previous release, archived for troubleshooting pur- OPE
poses.
2.1 The version currently in use on Stations 1 to 3, but due for replacement REF
shortly.
2.2 Newly tested and designated as operational. OPE
3.0 Under development. DEV
All of the versions are stored in the central project store on the file server. Show picture
1. Development and testing occurs on Station 11. As the development PC, it can download any of the ver-
sions for comparison and troubleshooting as required.
2. When operational testing on a version is completed, it progresses to status OPE. Version 2.2 is cur-
rently in that state.
3. The operational stations (Stations 1 to 3) are configured with the -r switch to load the REF version
when they are restarted. Version 2.1 currently has that status so it is loaded automatically on start-up
of each station.
4. When the changeover to version 2.2 takes place, it is given REF status. Version 2.1 reverts to the OPE
status and remains available for regression.
5. When each operational station (Station 1 to Station 3) is next restarted, Central Project Management
automatically downloads version 2.2 onto it.
6. If there is a need to fall back temporarily, the administrator re-assigns the status of REF to version
2.1 then restarts the stations so as to load version 2.1 again. (This assumes that versions 2.1. and 2.2
are interchangeable technically and to serve the users' basic needs.)
7. In this example, the libraries remain unchanged in support of versions 2.1 and 2.2 of the project. Ver-
sion 1.7 is stored for technical reference only.
The result
- 167 -
After the changeover to version 2.2, the project versions are as follows.
Version Description Status
1.7 The final version of the previous release, archived for troubleshooting pur- OPE
poses.
2.1 The previous version available for fallback. OPE
2.2 The version currently in use on Stations 1 to 3. REF
3.0 Under development. DEV
- 168 -
Command Line Arguments
You can select various arguments that affect the Supervisor's operation by modifying the command line
from which the Supervisor is started. For example, to specify an alternative location for the Supervisor's
projects the command line might be:
"C:\<SV target folder>\BIN\SV32.EXE" -b "C:\My Project Root"
To access the command line (also known as the Target) right-click on the Supervisor's program icon and
select Properties. If necessary command line options can be combined. For example, the following would
cause the Select Project dialog to be displayed and also change the project root.
"C:\<SV target folder>\BIN\SV32.EXE" -s -b "C:\My Project Root"
If parameters within the command line contain spaces, they must be enclosed in quotation marks.
- 169 -
-r Start the reference version of the pro-See also: Using Central Pro-
ject. ject Management.
-r_delta Start the reference version of the pro-Only those files that have
ject. changed are copied from the
reference project.
See also: Using Central Pro-
ject Management.
-d Display the Version Selector dialog See also: Using Central Pro-
when the Supervisor starts. Here the ject Management.
Version Selector displays devel-
opment, operational and reference
versions.
-x Display the Version Selector dialog See also: Using Central Pro-
when the Supervisor starts. Here the ject Management.
Version Selector displays operational
and reference versions only.
-vcr Starts the Supervisor in VCR play- See also: The VCR facility.
back mode.
-i Opens the variable import dialog at
start-up.
-vcrrecordall Forces all variables to be recorded in See also: The VCR facility.
the VCR archive unit.
- 170 -
The configuration environments
- 171 -
The HMI
- 172 -
The Workspace
The Workspace is the name given to the area that the Supervisor occupies on the screen of your PC. The
workspace contains all the tools necessary to develop Supervisor applications and is the container for the
windows that form the User Interface at runtime. Within the workspace, you will find the following features:
Show picture
Toolbars
The toolbars give you quick access to the most commonly used tools for window development and run-time
operation. As with the menu bar, the toolbars may be floating or docked. You can select which toolbars are
open from a pop-up menu displayed by right-clicking anywhere on the menu bar. A tick indicates that a tool-
bar is open.
Scroll Bars
The scroll bars are used to pan around a mimic window when it is larger than the Workspace.
Status Line
The status bar is located at the bottom of the workspace, above any toolbars you may have docked there. It
provides information on the current state of the workspace including the current cursor position and zoom
level of the active window.
- 173 -
The workspace appearance and behavior is changed using the Display.Workspace Properties command. The
following properties may be changed.
- 174 -
Changing the Workspace Properties
The Workspace properties are changed from a dialog displayed by right clicking anywhere in the Workspace
(not on a mimic or toolbar) and, from the pop-up menu, selecting the Workspace Properties command.
Show picture
l Minimize - The minimize tool is displayed on the Workspace title bar. If you click the minimize button
the Workspace is hidden. To restore the Workspace you must click its icon on the Windows' taskbar.
l Maximize - If the Workspace does not occupy the entire screen the maximize button is displayed.
Clicking the maximize button changes the Workspace so that it occupies the entire screen. If the Work-
space occupies the entire screen, the restore button is displayed. Clicking the restore button returns
the Workspace to the size and position it had before the maximize button was used.
l Close - The close tool is displayed on the Workspace title bar. If you click the close tool, the HMI will
shut down (if the User's profile has exit rights).
l Move - The Workspace can be moved within the screen by clicking and dragging the title bar.
l Size - The Workspace can be sized by clicking and dragging its borders.
l Automatic scrollbars - If a mimic larger than the Workspace is displayed, scrollbars will be auto-
matically displayed on the Workspace borders.
The Small title option is designed to use the workspace as a floating application and is not recom-
mended if you intend to use the Supervisor in a full-screen setup at runtime.
A side effect of choosing a small title bar is that the Workspace no longer appears in the Windows'
task list. Therefore, you cannot use Alt+Tab keys to switch between the Workspace and other applic-
ations that are running. In addition, the title bar is shorter (with an impact on full screen mimic
size), the application icon is not displayed and such a tool window does not have a system menu.
However, you can display the system menu by right clicking the title bar or by typing Alt+Space.
- 175 -
If you enable the Customize (Title) option in the Workspace Properties dialog, you can enter your own text
to be displayed in the title bar. As well as fixed text, you may also use the following substitution characters
to display certain information about the system.
Substitution characters Information to display
#h The current hour as two digits.
#m The current minute as two digits.
#s The current second as two digits.
#D The current date as two digits.
#M The current month as two digits.
#Y The current year as two digits.
###Y The current year as four digits.
#PRJ The name of the project.
- 176 -
Keyboard Keys Specific to the Supervisor
Several of the keyboard keys have standard actions within the Supervisor. In addition, some of the key-
board keys can be programmed to have other actions. See the Function Keys book in the Application
Explorer help.
Key Standard action
Ctrl+D Switch selected mimic to Design mode.
Ctrl+G Open the Smart Generator.
Ctrl+R Switch the selected mimic to Run mode.
Ctrl+T Open the Application Architect.
F1 Online help
F2 Logon / logoff dialog
F3 User account management dialog
F4 About dialog
F6 Display menu
F7 Display (bring to front) Event Viewer
F8 Hide menu
F9 Display Program Management dialog
F10 Shut down the Supervisor
F11 Display the data Export dialog
F12 Display the VCR dialog
PgDn Next window
PgUp Previous window
Right arrow Next control zone
Down arrow Next control zone
Left arrow Previous control zone
Up arrow Previous control zone
Home First control zone
End Last control zone
- 177 -
IntelliMouse Support
The Supervisor has built in support for the Microsoft IntelliMouse. In addition to the normal two buttons, the
IntelliMouse has a centrally mounted wheel that can be used to zoom, scroll and pan around the Super-
visor's Workspace and windows.
Mimic and workspace scroll - Default vertical: Wheel, Default horizontal: Shift + wheel
Scrolls the mimic within its window. (Only operational if the mimic is larger than the container window.)
Then, when the mimic is at its limits, scrolls the workspace within its window. (Only operational if the work-
space is larger than the container window and scrollbars are enabled).
- 178 -
Using the Workspace Regions
The Workspace can be divided into up to four equally spaced horizontal or vertical regions. When opening a
window you can then specify the region in which it is opened. Regions are most commonly used when run-
ning the Supervisor on a PC that has multiple screens when you would create as many regions as you have
screens. A window can then be opened on a specific screen.
The number of regions is selected using the Regions tab of the Workspace properties dialog. Show picture
1. Right click anywhere in the Workspace and select Workspace Properties from the pop-up menu. The
Workspace Properties dialog is displayed.
2. Select the Regions tab.
3. Using the Region System drop down list box select the number of regions.
4. Using the Orientation drop down list box select the region arrangement as either vertical or horizontal.
5. Select the Startup Region by clicking on the corresponding icon. The startup region is the default
region in which a window is opened if no region has been specified.
l Screen resolution - Determines the size and location of the regions according to the resolution of the
entire Windows' desktop.
l Workspace resolution - Determines the size and location of the regions according to the resolution of
the Supervisor's workspace.
- 179 -
The Application Explorer
- 180 -
What is the Application Explorer?
The Application Explorer is a Windows Explorer style configuration tool that replaces the configure 'one item
at a time' tools available from the configuration menu. The Application Explorer is opened from the menu
using the command Configure.Application Explorer. Show picture
If you click on the Supervisor's HMI workspace while the Application Explorer is open, the Applic-
ation Explorer is sent to the background and remains open. You can bring the Application Explorer to
the foreground using the same commands that are used to open it.
The following configuration items are available from the Application Explorer.
l General
l Domains
l Natures
l Labels
l Line printers
l File references
l Data connections
l Communication
l Data acquisition
l OPC
l Equipment
l IEC 60870-5-104
l DNP3
l IEC 61850
l LonWorks
l BACnet
l DDE
l SNMP
l Networking
l Stations
l Lists
l Associations
l Servers
l Web & Mobile back ends
l OPC server
l Mobile server
l IEC 60870-5-104
l Variables
l Variable tree
l Populations
- 181 -
l Expressions
l Alarm synthesis
l Archives
l Archive units
l Databases
l Trend groups
l Actions
l Messages
l Events
l Cyclics
l Function keys
l User accounts
l Users
l Profiles
l Data analysis
l Data exports
l Libraries
l Local libraries
l Shared libraries
The help for those configuration items not available from the Application Explorer is included in the
Application Explorer help book in order that the help follows a logical order.
- 182 -
The Application Explorer Workspace
The Application Explorer consists of the following major components. Show picture
l File.Save - Force a save of all the configuration elements that have been changed.
l File.Exit - Close the Application Explorer.
l View.Toolbars.Tasks - Toggle display of the main task pane.
l Windows.New window - Open a new (additional) configuration window.
l Windows.Tile horizontal - Arrange the configuration windows so they are displayed one above each
other.
l Windows.Tile vertical - Arrange the configuration windows so that they are displayed side by side.
l Windows.Cascade - Arrange the configuration windows in a cascade pattern.
l Windows.Close window - Close the active configuration window.
l Help - Display the Supervisors help.
- 183 -
The configuration tree displays all of the Supervisors configuration items, available to the Application
Explore, in a tree display with each major configuration area represented by a folder. Selecting a folder dis-
plays configuration items subordinate to it in the contents pane.
l On a folder in the configuration tree - Displays tasks relevant to that folder as also displayed in the
task pane.
l On any white space in the contents pane - Displays a list from where the details that are displayed in
the contents pane can be selected.
l On any item in the contents pane - Displays tasks relevant to that item as also displayed in the task
pane.
- 184 -
Using Cut, Copy and Paste in the Application Explorer
The cut, copy and paste tasks can be used on many of the configuration objects in the Application Explorer
and can be a major aid to speed up the development of your application. The cut, copy and paste tasks are
particularly useful when configuring the Variables Tree as you can use them on entire branches including
variables and their behaviors.
The cut and copy tasks are context sensitive. They only appear in the task pane when the configuration
object selected in the contents pane supports them. Show picture
The paste task is also context sensitive. It only appears when a folder relevant to the cut or copied object is
selected in the configuration tree. For example if you copy a branch from the variables tree, the paste
branch task will only appear when Variables Tree folder, or one of its subordinate branch folders, is selec-
ted. Show picture
Cut, copy and paste cannot be used on all Application Explorer configuration objects. See the topic
Application Explorer objects supporting cut, copy and paste for a list of the main objects that are sup-
ported.
For information about the operation of cut, copy and paste for specific configuration objects, see the
help topics for those objects.
- 185 -
When a configuration object supports cut, copy and paste, the usual Windows keyboard shortcuts Ctrl+X,
Ctrl+C and Ctrl+V can also be used. The Cut, Copy and Paste commands also appear in the right click (con-
text menu) of supported objects.
Where an object has sub-ordinate objects these will be included in the paste. For example, if you copy an
OPC Server with two OPC Groups, when you paste to create a new OPC Server, it also will contain two OPC
Groups.
Where an object has the name of other objects as part of its configuration it may be necessary to make
manual changes to the new object after the paste process. For example, with a register that has four depend-
ent threshold variables, you will have to manually change the name of the threshold variables after the
paste. This is explained in the help topics for the objects concerned.
l Copy makes a copy of the selected configuration object. It can be pasted any number of times.
l Cut makes a copy of the selected configuration object. It can only be pasted once. After the paste, the
configuration object that was cut is deleted.
- 186 -
Application Explorer Configuration Objects That Support Cut, Copy and Paste
The following is a list of configuration objects and their support for cut, copy and paste. Limitations or restric-
tions connected to cut, copy and paste of particular objects can be found in the help topics for those objects.
Data acquisition Support
OPC Yes
Equipment No
IEC 60870-5-104 Yes
DNP3 Yes
IEC 61850 Yes
LonWorks Yes
BACnet Yes - Some limitations
DDE Yes
Networking Support
Stations No
Lists No
Associations No
Variables Support
Variables tree Yes - Some limitations
Domain Yes
Nature Yes
Expressions Yes - Some limitations
Alarm synthesis Yes
Archives Support
Archive units Yes*
Databases Yes
Trend groups Yes
* Not the VCR unit as only one is allowed per project.
Actions Support
Messages Yes
Events Yes - Some limitations
Cyclics No
- 187 -
The Smart Generator
- 188 -
What is a Smart Generator?
A Smart Generator is a software tool for generating the Supervisor's project configuration by importing it
from files created by third party software such as PLC programming packages or generic XML files. It works
by communicating directly with the Supervisor's Configuration Explorer to generate the configuration. Show
picture
The importing of files from third party software is managed by a Smart Generator, one for each of the sup-
ported import types. This version has the following Smart Generators.
l Azbil Harmonas
l BACnet
l Bechkoff TwinCat
l CAD: import of data objects in the formats used by AutoDesk's AutoCAD software.
l FL: the HMI and SCADA software suite.
l Generic XML: from a file formatted in XML (Extensible Markup Language).
l ISaGRAF: a control software environment that enables you to create local or distributed control sys-
tems.
l LNS: the network management software for Echelon's LonWorks-based networks.
l Saia-Burgess
l Schneider Unity
l Siemens SIMATIC Step7.
l WAGO CoDeSys: the programing tool for the WAGO programmable coupler.
l WAGO DALI: used for control of lighting systems in buildings and infrastructures.
l Yokagowa: Stardom.
l OPC Server
l MOXA ioLogik
l Siemens TIA Portal
About the Smart Generators that import configuration data from third party packages
In general, these Smart Generators are limited to generating variables and communication links. However,
the Smart Generators are not just simple conversion tools. They allow you to filter, convert and modify the
structure of the data so that it is applicable to the Supervisor. Using the Smart Generators, you can:
l Synchronize the Supervisor's database with the third party project file
l Update variables changed since the previous import
l Add or remove variables in the Supervisor's database that have been added or removed in the
third party project file since the previous import.
- 189 -
About the generic XML Smart Generator
The Smart Generator that imports information from an XML file is a straight conversion tool, converting the
data in the XML file into configuration for the Supervisor's project. There is no capability to filter or modify
the data in any way. The generic XML Smart Generator is designed so that it can import any aspect of the
Supervisors configuration although in this version you are limited to the following.
- 190 -
The Smart Generator Workspace
The Smart Generator workspace is started from the Supervisor's menu using the command Configure.Smart
Generator. The Smart Generator workspace contains a menu, a task list and a pane displaying a list of
imports. Show picture
Menu
The menu bar contains two entries.
- 191 -
The Application Architect
- 192 -
What is the Application Architect
The Application Architect is a tool to generate the Supervisor's application (project) by instantiating tem-
plates (also known as models) representing real world objects from the process to be supervised. A tem-
plate can represent anything from a simple on-off switch to a complete process plant.
The Application Architect is a tool to structure part or all of an application (project) by designing and instan-
tiating templates. A template is a representation of a real world object in terms of the Supervisor's con-
figuration elements.
Templates and instances can include:
l Configuration elements
l Variables
l Bit
l Register
l Text
l Variable behaviors
l Trends
l HDS
l Proprietary
l ODBC
l Free
l Event
l Program
l E-mail
l Expression
l Alarm synthesis
l Threshold
l Chronometer
l Counter
l Discrepancy
l Alarm behavior
l Acknowledgement transmission
l Program action
l Window action
l Masking by variable
l Masking by expression template
l IEC 104 outstation datapoint
l HMI Variables
l Cyclic actions
l File objects
l File
l File item
l Attribute
l Associated labels
l Archive units
l Database
l Proprietary
l ODBC
l Free
l Vcr
l Log list
l Database
l Proprietary
l ODBC
l Free
- 193 -
l Communication
l SNMP
l Network
l Unmanaged device
l SNMP device
l Polling group
l BACnet
l Device
l Log
l Notification Class
l Calendar
l Schedule
l OPC
l OPC server
l OPC group
l XML-DA OPC server
l XML-DA OPC group
l IEC 60870-5-104
l Network
l Device
l Sector
l IEC 61850
l Device
l Monitoring object
l Dataset
l Data report
l Data group
l DNP3
l Network
l Device
l Graphic elements
l Mimics
l Graphic symbols
- 194 -
The Application Architect Workspace
The Application Architect Workspace consists of the following major components. Show picture
l Left pane and toolbar - Displays the available templates or parameters. Although this area has the
appearance of a configuration tree, it is a toolbar. Double clicking on an object (either a template or
parameter) will insert an instance of it under the object selected in primary configuration tree dis-
played in the right pane.
l Right Pane - Contains three tabs - Instances, Templates and Parameters.
l Instances - See the topic The Instances Tab.
l Templates - See the topic The Templates Tab.
l Parameters - See the topic The Parameters Tab.
l Pop-up menu - A context sensitive right click pop-up menu is available from the configuration trees.
The commands on the pop-up menu are repeated on the tool bar.
l Main toolbar - The tools that are available reflect the configuration object that is selected in the con-
figuration tree. Toolbar commands are repeated on the right click pop-up menu.
l Menu - Non-context sensitive commands - see list below.
You can resize any of the Application Architect's panes by positioning the cursor over the border and clicking
and dragging. Changes that you make to the Application Architect's look and feel are persistent - that is they
are remembered even after the Supervisor has been shut down and restarted.
When you first open the Application Architect's workspace, all configuration trees are collapsed. All
branches will have a + sign against them indicating that there are further branches - even there are
none. This is because the Application Architect only loads the configuration of a branch when you
attempt to expand it. If the Application Architect loaded the configuration of all branches when it was
opened, it could take a considerable time and add an unacceptable delay.
Menu commands
- 195 -
A reminder about libraries
l The contents of the Local Library is only available to the current project.
l The contents of the Common Library is available to all projects.
l You can create custom libraries that are either only available to the project or are available to all pro-
jects.
For more information on libraries, see the book on Developing the HMI.
- 196 -
The Templates Tab
The Templates tab is used to display, create, edit and organize templates. Show picture.
In common with the Instances and Parameters tab, it is divided into two panes. The left pane contains the
main navigation tree from where templates can be selected, added and organized. The right pane contains a
secondary navigation tree (representing the template selected in the left pane) and a properties grid from
where the properties of the selected configuration object can be viewed and edited.
For all commands that add an object, there is a corresponding remove command. Removing an object will
also remove all of its instantiations.
l Unselect - Flag the current selection so that it is not taken into account when the application is gen-
erated. The configuration remains in the tree.
l Select - Turn off the Unselect flag (see above).
l Copy - Copy the current selection.
l Paste - Paste a previously cut or copied item thereby creating either a new category or template.
l Add a variable - Add a variable to a template.
l Add a trend - Add trending (historical data recording) to the selected variable.
l Add an event - Add an event (which triggers a program) to the selected variable.
l Add alarm synthesis -
l Add an embedded template - Add an embedded template to the selected template.
l Add mimic - Add a mimic to template.
l Add symbol - Add a graphical symbol to the template (instantiated in the mimic).
For all commands that add an object, there is a corresponding remove command. Removing an object will
also remove all of its instantiations.
What is a category?
A category is just a convenient way of organizing templates. Creating a category does not create a physical
sub-folder within the projects library structure.
- 197 -
The Parameters Tab
The Parameters tab is used to display, create, edit and organize parameters. Show picture.
In common with the Instances and Templates tab, it is divided into two panes. The left pane contains a nav-
igation tree from where parameters can be selected, added and organized. The right pane contains a single
properties grid from where the properties of the selected parameter can be viewed and edited.
What is a category?
A category is just a convenient way of organizing parameters. Creating a category does not create a phys-
ical sub-folder within the projects library structure.
- 198 -
The Instances Tab
The Instances tab is used to display, create, edit and organize instantiations of the templates. Show picture.
In common with the Templates and Parameters tab, it is divided into two panes. The left pane contains the
main navigation tree from where the instantiation of templates is managed. The right pane contains a prop-
erties grid for the selected instantiation, a secondary navigation tree (representing the template of the selec-
ted instantiation) and a second properties grid from where the evaluated and/or named properties of the
selected configuration object can be viewed and edited.
For all commands that add an object, there is a corresponding remove command.
l Unselect - Flag the current selection so that it is not taken into account when the application is gen-
erated. The configuration remains in the tree.
l Select - Turn off the Unselect flag (see above).
l Add a variable - Add a variable to a template instance.
l Add a trend - Add trending (historical data recording) to the selected variable instance.
l Add an event - Add an event (which triggers a program) to the selected variable instance.
l Add mimic - Add a mimic to a template instance.
l Add symbol - Add a graphical symbol to a template instance.
For all commands that add an object, there is a corresponding remove command.
- 199 -
The Properties Grid
The properties of all the Application Architect's configuration objects (templates, parameters etc.) are dis-
played in a tabular format known as the Property Grid. Properties are grouped together according to their
use. Show picture
Main features
l To expand/collapse the display of a group of properties click the +/- sign adjacent to its name.
l To change the value of a property click in the right column. Most values can either be entered directly
by typing in a new value, or selected from a list displayed by clicking the down arrow button on the
right side of the field.
l Properties that are read only are displayed in a dimmed typeface.
l Properties that have been manually edited are displayed in a bold typeface.
Properties are displayed in alphabetical order rather than in any logical order.
l Description - Toggles the display of additional information about the selected property in an area
below the Properties List.
l Advanced - Toggles the Properties List advanced mode. Depending on which configuration object is
selected, advanced mode may display additional properties for the object.
l Reset - Resets the property value to its default.
l Substitute - Allows the value of a property to be substituted with either an expression or parameter.
Substitute is not available for all properties.
- 200 -
The Application Architect
- 201 -
Application Architect Overview
The Application Architect is a tool to structure part or all of an application (project) by designing and instan-
tiating templates. A template is a representation of a real world object in terms of the Supervisor's con-
figuration elements. Templates (and instances thereof) can include:
l Configuration elements
l Variables
l Bit
l Register
l Text
l Variable behaviors
l Trends
l HDS
l Proprietary
l ODBC
l Free
l Event
l Program
l E-mail
l Expression
l Alarm synthesis
l Threshold
l Chronometer
l Counter
l Discrepancy
l Alarm behavior
l Acknowledgement transmission
l Program action
l Window action
l Masking by variable
l Masking by expression template
l IEC 104 outstation datapoint
l HMI Variables
l Cyclic actions
l File objects
l File
l File item
l Attribute
l Associated labels
l Archive units
l Database
l Proprietary
l ODBC
l Free
l Vcr
l Log list
l Database
l Proprietary
l ODBC
l Free
l Communication
l SNMP
l Network
l Unmanaged device
l SNMP device
l Polling group
- 202 -
l BACnet
l Device
l Log
l Notification Class
l Calendar
l Schedule
l OPC
l OPC server
l OPC group
l XML-DA OPC server
l XML-DA OPC group
l IEC 60870-5-104
l Network
l Device
l Sector
l IEC 61850
l Device
l Monitoring object
l Dataset
l Data report
l Data group
l DNP3
l Network
l Device
l Graphic elements
l Mimics
l Graphic symbols
A template can represent anything from a simple on-off switch to a complete process plant.
The object-oriented approach of templates encourages and helps the developer to structure applications in a
way that makes modification and maintenance much easier and quicker. Templates can be stored in a lib-
rary so they can be reused in many applications thereby significantly reducing configuration time.
An application can be designed using a mix of configuration elements created by the Application Architect,
the Application Explorer and Smart Generators. Configuration elements can even be created via the Applic-
ation Architect and modified using the Application Explorer.
Access to the Application Architect is affected by a user's rights. See the book on User Accounts for
further information.
- 203 -
Application Architect Terminology
Template
A template is a representation of a real world object (for example a pump or a HVAC unit) made up of the
Supervisor's configuration elements.
Inherited template
An inherited template is a template that has another template as its parent. The same parent template can
have any number of inherited templates. That is, there is a one to many relationship between parent and
inherited templates.
Included template
An included template is an instance of a template that is embedded in another template. You can have one
or more templates embedded in the same template. That is, there is a one to many relationship between the
container template and its included templates.
Parameter
A parameter is a container for a value that can be used instead of a fixed value in any object property. For
example, you could create a parameter called pMaximum to be used for a register variable's Maximum prop-
erty. There are two types of parameter, Input and Expression.
l Input parameters contain a value. A default value can be entered for the parameter, or the value
entered (input) when it is associated to a template. The same parameter can have different values
each time it is used.
l Expression parameters contain an expression. The expression is evaluated when a template in which
the parameter has been associated to is instantiated.
Global parameter
A global parameter is a container for a value that is used instead of a fixed value for a specific property
type. There is a one to one relationship between each global parameter and a specific property type. For
example, you could create a global parameter called gServerList that is used whenever an object containing
the property Server Station List is instantiated. There are two types of global parameter, Input and Expres-
sion.
Topology element
A topology element is used to create additional structure (and hence variable branches) when instantiating
templates. It could be considered as the instantiation of a template that is empty (has no configuration ele-
ments of its own).
At any time, a topology element can be transformed into an instance of a template.
Category
A category is just a convenient way to organize templates and parameters. (Similar to using a folder to
organize documents.) For example, you could create a category called Lighting. Categories do not have any
impact on the structure of the application.
Instance
An instance is an occurrence, some sort of a named "copy" of a template. When the Supervisor's con-
figuration is generated, each instance will result in the production of one or more configuration elements
(variables, symbols, mimics etc.). A template and its instances do have the same configuration elements
attached to them, but potentially with different property values (see Differentiation).
Differentiation
Differentiation is the art of identifying and defining the properties whose values will differ from an instance
to another instance of the same template. It is the name given to the process of using a parameter or an
input, instead of a fixed value, for a property.
- 204 -
Application Architect Methodology
There are two generally accepted approaches to modeling known as top-down and bottom-up.
l Top-down - In a top-down approach an overview of the system is produced, defining first-level sub-
systems but not detailing base elements. Each subsystem is then refined in yet greater detail, usually
by a breakdown in many additional subsystem levels, until the base elements of the entire system can
be defined.
l Bottom-up - In a bottom-up approach, the individual base elements of the system are first specified in
great detail. These elements are then linked together to form larger subsystems, which then in turn
are linked, sometimes in many levels, until a complete top-level system is formed.
Whichever approach you choose, the general procedure within the Application Architect will follow these
steps:
l Identify templates.
l High-level templates first corresponding to sub-systems if using a top-down approach.
l Base elements first if using a bottom-up approach.
l Identify parameters.
l Identify dependencies (instantiation rules, what is child of what).
l Define templates.
l Define global parameters. That is those that affect a big percentage of a particular property type. (Typ-
ically Station Lists, Network Name, Domain, Nature...).
l Associate global parameters with those templates for which they affect all instances.
l Define parameters. That is those that affect a smaller percentage of one or more properties. (For
example, the range (Max & Min) for all registers representing a temperature.) Associate parameters
with templates.
l Differentiate properties by defining them by a global parameter, parameter, an expression or an input
l Create any topology elements. In particular, in a bottom-up approach, higher level subsystems that
are not yet be identified / defined as templates.
l Instantiate templates.
l Associate global parameters with the elements of the topology to which they are relevant (tree, topo-
logy element, template instance included templates).
l Define parameters' and inputs' values.
l Generate.
l Refine by iteration.
- 205 -
Application Architect Settings
The Application Architect's settings can be displayed either from the project settings in the Application
Explorer or from Tasks.Settings in the Application Architect menu. Show picture
l Show generation option box - Show the Options dialog when generating the configuration elements.
l Consistency checking
l Allow blank branch - Allows an empty (blank) branch at instantiation.*
l Allow duplicate branch - Allows the use of duplicate branches within the same tree.*
l Allow recursive property - Allows one property to be used in the expression of another para-
meter. See below. Must also be enabled if a parameter or expression is used in the Description
property of any of the elements.
l Type of synchronization
l Full synchronization - Uses full synchronization when generating the application. See the topic
on Generation for details.
l Fast synchronization - Uses fast synchronization when generating the application. See the topic
on Generation for details.
l Time optimization - Options to improve the responsiveness of the Application Architect's HMI.
l Skip reference calculations in the Application Architect's HMI - This setting affects the templates
tab. Selecting it means that the calculation of properties requiring access to an Excel function
(by parameter, expression, combination of two etc.) are not made. The properties are displayed
as empty.
l Skip reference calculations for generation - This setting affects the generation of properties
requiring access to an Excel function. The properties are not generated in the output from the
Application Architect. The affected properties do not exist - they are not just empty. This is to
ensure the correct synch when de-selecting the option.**
l Expand template composition one level only - This setting affects the templates tab. When dis-
playing the composition of a template, if this setting is selected, the tree view is only expand to
one level. So, for example, you will see variables but not the trends associated with the vari-
ables. This is used to improve the display of the Application Architect's HMI when the template
contains many elements for which and the user does not need to see the entire expanded tree.
l Do not display detail of included templates for instances - This setting affects the instances tab.
If not selected when you click on a template instance, the inputs, input parameters and expres-
sions appear in the lower part of the screen for both the selected instance and any child objects
particularly those from included templates. If set, inputs, inputs parameters and expressions for
the included templates are not displayed. This is used to improve the display of the Application
Architect's HMI, particularly for templates including other templates that have many para-
meters to evaluate.
* If you enable these settings it may result in the generation of duplicate variables.
** If you select, and then at a later time, de-select the Skip reference calculations for generation
and then do a synchronization, it can be equivalent to a full synchronization if there are many prop-
erties affected.
- 206 -
Example 2 - The following would cause an infinite loop if Allow recursive property is enabled.
Parameter01: "= Params ["Parameter02"] + 4 "
Parameter02: "= Params ["Parameter01"] + 7 "
l Instances tree
l Tree root
l Instances
l Topological elements
l Global parameters
l Templates
l Categories
l Templates (simple, inherited and included)
l Parameters
l Categories
l Parameters
If bilingual is used the Description must be entered text, it cannot be defined by an expression or
parameter.
By doing so, you will be able to graphically preview any mimic or symbol.
- 207 -
l In the Documentation sub-tab, all graphics elements are always displayed except for mimics
that are only displayed as a thumbnail if they use a mimic template. Show picture
- 208 -
mimic template.
- 209 -
Working with templates
- 210 -
Templates Overview
Templates are the building blocks of the Application Architect. The mechanism of identifying the necessary
templates for an application is known as modeling. Templates can be saved in the Supervisor's libraries so
that they can be re-used in further applications.
What is a template?
A template is a model of a real world object (for example a pump or a HVAC unit) made up of the Super-
visor's configuration elements.
A template can contain the following configuration elements:
Template configuration includes a Documentation tab from where the developer can add a textual
explanation of its intended use, and where its dependencies are displayed.
Inherited template
An inherited template is one that has another template as its parent. The same parent template can have
any number of inherited templates. That is, there is a one to many relationship between parent and inher-
ited templates. When the inherited template is instantiated, the instance will contain both its elements, and
those of the parent template (if the parent template is instantiated it contains only its own elements).
Example - The LIGHT template has one variable called STATUS. The DIMMER LIGHT template has one vari-
able called LUX and is inherited from the LIGHT template. When the DIMMER LIGHT template is instantiated,
the instance will have both the STATUS and LUX variables.
The concept of inheritance allows the definition of one or more specialized templates sharing a com-
mon base.
Included template
An included template is an instance of a template that is embedded in another template. You can have one
or more templates embedded in the same template. That is, there is a many to one relationship between the
included and container templates. When the container template is instantiated, it has both its own elements
plus those of its embedded templates (if the embedded template is instantiated it contains only its own ele-
ments).
The concept of inclusion can produce complex templates by aggregating much simpler ones (like
building bricks).
Example - The OFFICE template has one variable called TEMPERATURE. The LIGHT template has one vari-
able called STATUS. The OFFICE template includes four (embedded) instantiations of the LIGHT template
(LIGHT_1, LIGHT_2 etc.). When the OFFICE template is instantiated, it will contain one TEMPERATURE vari-
able plus four instances of the STATUS variable (LIGHT_1.STATUS, LIGHT_2.STATUS etc.).
- 211 -
Configuring templates
- 212 -
How to Define a Template
1. In the right-hand pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the library and/or category in which the template will be
saved. (A category is always subordinate to one of the libraries.)
3. Select Add a template. A new template with a default name is created.
4. Edit the name to one appropriate to your application. You can either edit the name directly by clicking
on it in the configuration trees or edit it in the Name field in the properties grid. The name of a tem-
plate must be unique within a library (even if it is in a separate category).Show picture
5. Add a description using the Description field in the properties grid. The description is optional.
6. Configure the other properties (see below).
The name of the template is for reference only and does not affect the structure of the generated
application.
l The template cannot be directly instantiated although it can still be included in another template,
which can be instantiated or derived by inheritance.
l It does not appear in the menu or toolbars when adding an instance.
l Where the template has been configured with inherited templates, it does appear in the menus and
toolbars but is dimmed and cannot be selected. Show picture
- 213 -
The first instance created would be named LUMINAIRE100, the second LUMINAIRE105, the third
LUMINAIRE110 etc. If the name already exists the Application Explorer automatically selects the next avail-
able in the series.
Adding a category
Categories are a convenient way to organize your templates. For example, you could create a category
called BMS in which you placed all templates relating to building management systems. Categories do not
have any impact on the structure of the application that will be generated, nor do they appear in an applic-
ation's folder structure in the Windows file explorer (unlike a library).
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the library and/or category under which the new cat-
egory will be saved.
3. Select Add a category. A new category with a default name is created.
4. Edit the name to one appropriate to you application. You can either edit the name directly by clicking
on it in the configuration trees or edit it in the Name field in the properties grid.
5. Add a description using the Description field in the properties grid. The description is optional.
- 214 -
Adding configuration elements to a template
- 215 -
Adding variables to a template
- 216 -
How to Add Variables to a Template
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the variable will be added.
3. Using the secondary navigation tree select the Configuration elements folder.
4. Select Add a variable followed by the type of variable to create. You can add a (I/O or internal) vari-
able or an HMI variable. Show picture A new variable with a default name is created.
5. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree. Show picture
The name of the variable appears in the generated application as part of the generated variable's
name.
l If the name does not include a branch separator (full stop) then it becomes the final element
(leaf) of the variable's name.
l If the name includes one or more branch separators then it becomes the final branches and
- 217 -
leaf of the variable's name.
To display a variable's extended attributes set the Use extended attributes property to Yes.
Some properties are context sensitive. For example, the alarm level that only appears if a bit has
been configured as an alarm.
- 218 -
How to Add Associated Behavior to a Variable
This topic explains, in general terms, how to add associated behavior to a variable using the Application
Architect. For detailed information about associated behavior, see the variables help in the Application
Explorer book. Using the Application Architect, you can add the following behaviors.
Icon Behavior Reg Text Bit Alarm Description
Threshold Yes Set up to four bits when the value rises
above or falls below specified values.
Chrono Yes Measure the period for which a bit has
been set.
Counter Yes Count how many times a bit has been
set.
Alarm - Acknowledge Yes Send an acknowledgement trans-
mission.
Alarm - Program Yes Add a program action.
Alarm - Window Yes Add a window action.
Alarm - Masking by var Yes Mask an alarm with a bit.
Alarm - Masking by exp Yes Mask an alarm with an expression.
Event - Program Yes Yes Yes Yes Run a program on change of value.
Event - Email Yes Yes Yes Yes Send a message (Email or SMS) on
change of value.
Trend Yes Yes Yes Record the variable in an archive unit
for future replay through a Trend
Viewer.
Discrepancy Yes Configure discrepancy behavior com-
paring the value of the bit with another.
Only available if the Command property
is set to Yes.
IEC 104 outstation datapoint Yes Yes Yes Yes Define the variable instances as
exposed by an IEC 104 outstation.
Configured behaviors are shown in the secondary navigation tree subordinate to the variable with which
they are associated.
The behaviors are context sensitive. For example Alarm - masking is only available if a bit has been
configured as an alarm.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template and then, using the secondary navigation
tree, select the variable.
3. Using the task bar select the behavior to be added. A new behavior with a default name is created.
4. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree.
5. Select the behavior and configure its properties using the properties grid. The properties that are avail-
able are the same as those available if you were configuring the behavior using the Application
- 219 -
Explorer. Show picture
Any variables referenced in the properties of behaviors must be defined elsewhere (for example the
EnableVarName in the above screenshot). They are not created as a result of appearing in the beha-
vior's configuration. (Except for thresholds - see below)
Before you add trending behavior, you must first configure the archive unit in which the recording
will take place.
Adding a threshold
Adding a threshold behavior requires a special mention as, unlike the other behaviors, it creates a number
of bit variables, one for each threshold. The process to add a threshold is similar to adding any other beha-
vior. However, once it is created the appearance in the Application Architect is different as the bit variables
set by the thresholds are displayed subordinate to the Thresholds behavior. The bit variables are created
with default names with the same format as if they were created using the Application Explorer.Show pic-
- 220 -
ture
To edit the properties of the threshold select it in the secondary navigation tree. The threshold properties
appear in the properties grid.
To edit the properties of any of the bits that form the threshold, select it in the secondary navigation tree
and its properties appear in the properties grid.
- 221 -
How to Add an Expression to a Variable
This topic explains how to add an expression to a variable using the Application Architect.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template and then, using the secondary navigation
tree, select the variable. This variable will contain the result of the expression.
3. Using the tool bar or context menu select the Expression task. An expression with a default name is
created.
4. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree.
5. Select the expression and configure its properties using the properties grid. The properties that are
available are the same as those available if you were configuring an expression using the Application
Explorer. The expression itself can be entered using a standard Expression dialog opened by clicking
the ellipsis button adjacent to the Expression property.Show picture
Any variables referenced in the expression must be defined elsewhere. They are not created as a res-
ult of appearing in the expression's configuration.
- 222 -
How to Add an Event to a Variable
This topic explains how to add an event to a variable using the Application Architect.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template and then, using the secondary navigation
tree, select the variable. This variable triggers the event.
3. From the tool bar or context menu select the Add event task followed by Program or E-mail as appro-
priate. An event of the selected type and with a default name is created. Show picture
4. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree.
5. Configure the event's properties (see below).
- 223 -
for information.
- 224 -
How to Add Alarm Synthesis to a Variable
This topic explains how to add alarm synthesis to a variable using the Application Architect.
To add alarm synthesis to a register variable it must have the Command property set to Yes.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template and then, using the secondary navigation
tree, select a register variable. This variable will contain the result of the alarm synthesis.
3. Select the Alarm Synthesis task. A drop down list with the various alarm synthesis types is displayed.
Select the one appropriate to your requirements. A new alarm synthesis with a default name is cre-
ated. Show picture
4. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree.
5. Select the alarm synthesis and configure its properties using the properties grid. The properties are
the same as those available if you were configuring an alarm synthesis using the Application Explorer.
- 225 -
Show picture
- 226 -
How to Add Cyclic Actions to a Template
This topic explains how to add a cyclic action to a template using the Application Architect.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the cyclic action will be added.
3. Using the secondary navigation tree select the Configuration elements folder.
4. Select Add a cyclic. A new cyclic with a default name is created.
5. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree. Show picture
- 227 -
Actions for information.
- 228 -
Adding Communication to a Template
The following communication elements can be configured in a template. They match the corresponding data
acquisition driver’s configuration items.
l SNMP Manager
l Network
l Unmanaged device
l SNMP device
l Polling group
l OPC Client
l OPC server
l OPC group
l XMLDA OPC server
l XMLDA OPC group
l IEC 60870-5-104 Client
l Network
l Device
l Sector
l DNP3 Client
l Network
l Device
l IEC 61850 Client
l Device
l Monitoring object
l BACnet Client
l Device
l Log object
l Notification class
l Calendar
l Schedule
1. Navigate to the supporting template and select the Communication Elements folder.
a. In the right pane of the Application Architect, select the Templates tab.
b. Using the templates configuration tree select the template to which the communication is to be
added.
c. Using the secondary navigation tree select the Configuration elements folder.
- 229 -
2. Create a new SNMP Network. Show picture
a. Select Add communication > SNMP > Add a network. A new SNMP Network with a default name
is created.
b. Edit the name to one appropriate to your application. You can only edit the name directly by
clicking on it in the configuration tree.
c. Configure the SNMP Network properties. Select the network in the secondary navigation tree
and its properties appear in the properties grid. The properties that are available are the same
as those if you were configuring the network using the traditional configuration tools.
- 230 -
3. Add an SNMP device to the template. Show picture
a. Using the secondary navigation tree select an existing SNMP Network within the
Configuration elements folder.
b. Select Add an SNMP device. A new SNMP Device with a default name is created.
c. Edit the name to one appropriate to your application. You can only edit the name directly by
clicking on it in the configuration tree.
d. Configure the SNMP Device properties. Select the device in the secondary navigation tree and
its properties appear in the properties grid. The properties that are available are the same as
those if you were configuring the device using the traditional configuration tools.
- 231 -
4. Create a new SNMP Polling Group. Show picture
a. Select Add communication > SNMP > Add a polling group. A new Polling Group with a default
name is created.
b. Edit the name to one appropriate to your application. You can only edit the name directly by
clicking on it in the configuration tree.
c. Configure the Polling Group. Select the network in the secondary navigation tree and its prop-
erties appear in the properties grid. The properties that are available are the same as those if
you were configuring the network using the traditional configuration tools.
An SNMP Device is always sub-ordinate to an SNMP Network. However, to allow for the possibility
where an SNMP Network has been configured outside of the Application Architect (using the Applic-
ation Explorer), an SNMP Device can be positioned so that it is not sub-ordinate to an SNMP Network
and instead the name of the previously configured SNMP Network is entered in its Network Name
property. (The Network Name property is not displayed if a device is positioned sub-ordinate to a
network.)
Polling Groups are independent of, and not sub-ordinate to, an SNMP Network.
- 232 -
Adding Associated Labels to a Template
This topic explains how to add associated labels to a template using the Application Architect. There are
three types of associated label
For an explanation of their use, see the help for the Application Explorer and HMI.
- 233 -
How to add an enumerated associated label to a template
After they have been created, the order in which the labels are listed can be changed by right clicking and
selecting Up or Down from the context menu.
- 234 -
Adding an Archive Unit to a Template
This topic explains how to add an archive unit to a template using the Application Architect. There are five
types of archive unit.
l Database (HDS)
l Proprietary
l ODBC
l Free
l VCR
For an explanation of their use, see the help for the Application Explorer.
- 235 -
c. Configure the archive unit's properties. The properties that are available will depend on the type
of archive unit. Show picture
- 236 -
Adding a Log List to a Template
This topic explains how to add a Log List element to a template using the Application Architect.
A Log List element can either be added sub-ordinate to an Archive Unit element or as an independent ele-
ment. The type of Log List element must match the type of archive unit with which it will be used.
For an explanation of the use of Log Lists, see the help for the Application Explorer.
- 237 -
Adding files to a template
- 238 -
Using Files With Templates
Application developers often define and use files for specific purposes within the application. Typical
examples include SCADA Basic and the population of form controls. The purpose of this feature is to allow
the generation of such files from the Application Architect.
Files can be generated in one of three formats.
l Pre-defined - Text files with a format specifically for the form controls.
l XML - Text files with an XML compliant structure.
l Text - Text files with free format.
To configure and generate the files two configuration elements are used.
l File - Describing the file properties (name, format etc.) and an optional header and footer.
l File item - Describing data to include in the file and its format.
All file, and file item, configuration properties support, wherever possible, the use of expressions and para-
meters. Several properties of both the file and file item are specific to the chosen file format, others are
common. See the topics:
File and File Item common properties
File and File item properties specific to the pre-defined format
File and File item properties specific to the XML format
File and File item properties specific to the text format
To determine if a file item should be included in a file (or not) a tagging system is employed. See the topic
Controlling instantiation using tagging.
Changes to the Application Architect to assist with the support of file generation
The following changes were made, from version 12 of the Supervisor, to support file generation.
l Items are sorted alphabetically before generation. This has the effect of presenting generated ele-
ments in the same order as the display.
l The root of the application is now a topological element. It can be transformed into a template and
therefore contain any configuration element including files and file items.
- 239 -
File and File Item Common Properties
The following properties are common to all File and File Item objects independent of the file format in use.
File
Property Description Default value or example
Name The name of the element. File01, File02 etc.
Description The description of the element.
Format The type and format of the output file. Either Default: Predefined
Text, XML or Predefined.
Folder The location for the generated file. The loc- Default: The project's TP folder
ation can be an absolute or relative folder,
or one of the Supervisor's project folders.
File name The output file name without the extension.
Extension The output file extension. Default: TXT, XML or Nothing (dependent on
file format)
Tags to include Tags to control instantiation of file items.
File item
Property Description Default value or example
Name The name of the element. FileItem01, FileItem02 etc.
Description The description of the element.
Format The type and format of the output file. Either Default: Predefined if file item is not sub-
Text, XML or Predefined. ordinate to a file element, otherwise the
same as the format of the file element.
Tags to include Tags to control instantiation.
- 240 -
File and File Item Properties Specific to the Predefined Format
The following properties are for File and File Item objects when using the predefined format. This format is
to support the Supervisor's form controls: combo box, list box, tree view...
The tree-view is the most complex because it can manage the tree structure with hierarchy and behaves in a
similar manner to the XML format.
XML is a hierarchical format but it should not be confused with the hierarchy of the AA. While in the
AA there is a direct hierarchical link between parent and child (for example Building and Floor), this
does not imply a direct hierarchical link between an XML element positioned on Building and an XML
element positioned on Floor.
File
There are no file properties specific to the predefined format.
File item
Property Description Default value or example
UserData Example: =Me.Name
Text lang 1 Example: =Me.DescriptionLang0
Text lang 2 Example: =Me.DescriptionLang1
Default selection Default: 0
(0 or 1)
Child of The name of the parent element. If empty, it See note
will be the last hierarchically.
l Link open
l Send program
l Send bit
l Send register
l Send text
l Send macro
l Recipe
The animation is created as child of a file item object. If multiple animations are added to the same object,
they are processed in alphabetical order. Any animations added manually using the Supervisor's mimic
editor will be lost at the next generation.
- 241 -
File and File Item Properties Specifc to the XML Format
The following properties are for File and File Item objects when using the XML format.
XML is a hierarchical format but it should not be confused with the hierarchy of the AA. While in the
AA there is a direct hierarchical link between parent and child (for example Building and Floor), this
does not imply a direct hierarchical link between an XML element positioned on Building and an XML
element positioned on Floor.
File
Property Description Default value or example
Encoding Character encoding. Default: UTF8
UTF8, UTF16 BE, UTF16 LE
Specific instruc- Text multiline. Used to specify XML Schema,
tion line DTD, XSL… This property will be saved as a
metadata and will be written as is (without
any checking) after the header.
Root element Name of the root element. Default: <root>
File item
Property Description Default value or example
Element name Name of the XML element Example: Building
Element value Value of the XML element Example: =Me.Description
Child of The name of the parent element. If empty, it See notes.
will be the last hierarchically.
Attribute
Property Description Default value or example
Attribute name Name of the attribute Example: Id
Attribute value Value of the attribute Example: =TemplateInstance.Name
Attribute of The name of the parent element. If empty, it See notes.
will be the last hierarchically.
When using the ChildOf property, the Parent element must have a unique name within the file.
- 242 -
File and File Item Properties Specific to the Text Format
The following properties are for File and File Item objects when using the text format.
File
Property Description Default value or example
Encoding Character encoding. Default: ANSI
ANSI, UTF8 without BOM, UTF8, UTF16 BE,
UTF16 LE
Header Text for the beginning of the file before any Example: “= Title : Building list of Area ” +
items. Can be fixed or contain expressions me.Description
and / or parameters.
Footer Text for the end of the file after any items. Example: “This is the end of the file”
Can be fixed or contain expressions and / or
parameters.
Separator Field separator. Default: semicolon
None, semicolon, comma, tab, space.
File item
Property Description Default value or example
Text String to store in the file. can contain mul- Example: Me.Name + « , » + Me.description
tiple data (name + description for example)
Line position Position of the line with the file.
Intermediate, start lie, end line.
- 243 -
Adding graphics to a template
- 244 -
Using Graphics with Templates
Graphic elements can be added to a template so that when the application is generated instantiations of a
template produce not only the variables tree, but also the corresponding graphic elements.
You can add both mimics and symbols to a template. For example, a template representing a light may
require a symbol representing the light. However, a template representing an entire office, at the next level
up in the configuration tree, may require just a mimic representing the office, which would then be pop-
ulated with instantiations of the light symbol.
When you add a mimic to a template, one mimic is generated for each instantiation of the template. The
mimics are created using default settings although you can optionally select a mimic template and some
other properties such as the mimic title.
When you add a symbol to a template, the symbol must already exist in the Supervisor's libraries. The vari-
ables used in the symbol should match those of the template. Each instantiation of a template containing a
symbol will generate an instance of the symbol in one more mimic generated from a template higher up or
equal in the instances tree. As you may not want a symbol to appear in all mimics, a simple filter system
can be used to control symbol instantiation. See the topic Controlling Symbol Instantiation Using Tagging.
When using mimics and symbols in the Application Architect the mimic and symbol file formats, in
the HMI Options dialog, must be set to Ascii format.
- 245 -
How to add a Mimic to a Template
When you add a mimic to a template, one mimic is generated for each instantiation of the template. The
mimics are created using default settings unless you select a mimic template.
1. In the right-hand pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the mimic will be added.
3. Using the secondary navigation tree select the Graphic Objects folder.
4. Select Add mimic. A new mimic with a default name is created.
5. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree. Show picture
Mimics generated by the Application Architect use the ASCII file format. If they are manually edited,
they must be saved in the same format or there will be errors the next time the Application Architect
is run.
Mimic properties
To configure a mimic's properties select the mimic in the secondary navigation tree and its properties
appear in the properties grid. Show picture
l Description - A description of the mimic. Only used within the Application Architect and has no effect
on the application itself. Optional
- 246 -
l Location - The library in which the mimic is to be saved selected from Local (Default), Common
(Default), Shared Libraries or Local Libraries. If Shared Libraries or Local Libraries is selected an addi-
tional property, Library, is displayed from where you can select the library name.
l Mimic title - The title that is to appear in the mimic title bar. Optional
l File extension - An optional file extension to be used when creating the mimic file from the mimic
name.
l Tags to include - See the topic Controlling Symbol Instantiation Using Tagging.
l Mimic template - The name of a mimic template which will be attached to all instantiations of the
mimic and hence define its look and feel. Optional.
l Use context branch - If set to Yes the context branch will be set to the branch of the template that con-
tains the mimic and the local branch will be set to the property of the symbol. No specific con-
catenation is done. Show picture If set to No generates the symbol without a context branch and the
local branch is set to that configured in the symbol. Show picture
- 247 -
How to add a Symbol to a Template
When you add a symbol to a template, the symbol must already exist in the Supervisor's libraries. The vari-
ables used in the symbol should match those of the template. Each instantiation of a template containing a
symbol will generate an instance of the symbol in one or more mimics generated from an instance higher up
or equal in the instances tree. As you may not want a symbol to appear in all mimics, a simple filter system
can be used to control symbol instantiation. See the topics Controlling instantiation using tagging and Con-
trolling symbol instantiation using manual deselection.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the mimic will be added.
3. Using the secondary navigation tree select the Graphic Objects folder.
4. Select Add symbol. A new symbol with a default name is created.
5. Edit the name to one appropriate to your application. You can only edit the name directly by clicking
on it in the configuration tree. Note that this name is only used internally by the Application Architect.
Show picture
- 248 -
l Description - A description of the symbol. Only used within the Application Architect and has no effect
on the application itself. Optional
l Local branch - Local branch for the symbol. Used in conjunction with the mimic property Use context
branch to set the Local and Context branches in the symbol instantiation. See explanation in the topic
How to add a Mimic to a Template.
l Tag - See the topic Controlling Symbol Instantiation Using Tagging or Selection/De-selection.
l Layers - The drawing layers in which the symbol will be visible. By default, it will be visible in all lay-
ers.
l Symbol - The name of a symbol from the Supervisor's libraries. The ellipsis button adjacent to the
field displays the library browser from where the symbol can be selected.
l Visibility - The zoom range in which the symbol will be visible. By default, it will be visible for all zoom
ranges.
l Position X and Position Y - The symbols location within the mimic. If specified with overwrite the pos-
ition defined in the symbol.
Substitutions
The Substitutions dialog (opened from the ellipsis button adjacent to the Substitutions property) allows you
to substitute the variables defined in the symbol with others - typically those that will be generated by the
template. Show picture
If the symbol is modified and any of the substituted variables are removed, these will appear in a separate
list - Nonexistent variables - in the Substitutions dialog.
- 249 -
Adding Parameters to a Template
See the topic Defining a property by a parameter.
- 250 -
Using the Naming Rule Property
To ensure uniqueness of the names of generated elements, by default, the name includes branch segments
from all levels of the instantiation tree.
However, for some elements, this is not essential or desirable and the naming rule is relaxed allowing the
possibility to define shorter names, or even names generated using an expression. The way in which the
naming is implemented is defined by the Naming Rule property, which has the following options. Show pic-
ture
l Full branch - Generate the full name including all branch segments. This is the default.
l Short branch - Generate the name using the primary instance. That is the branch segment of the
instance containing the element that will be generated.
l Leaf only - Generate the name using only the name of the element as defined in the template.
Alternatively, you can enter an expression in the naming rule that will be used to generate the name.
If using a naming rule other than Full Branch is used, it is the user that must ensure the uniqueness
of the generated name.
The Naming Rule property is available for the following configuration elements.
l Cyclic
l Expressions
l Alarm synthesis
l Associated labels
l All communication objects
l Mimics
- 251 -
Template Documentation
The Templates' Documentation tab provides the opportunity for the developer to include information explain-
ing each template's design and intended use. It also provides a tree display of a template's dependencies
and thumbnails of any graphic elements it references. Show picture
You can add independent documentation items to each of the following elements of a template's con-
figuration.
l Template node
l Parameters node
l On each parameter
l Included templates node
l On each included template
l Configuration elements node
l Graphic elements node
Documenting a template is an essential part of its configuration to make it maintainable in the long
run and easily reusable. This is particularly true in collaborative environments when different people
from different teams will have to be able to share and understand how and why templates are
designed.
Documentation pane
The Documentation pane includes a RTF (Rich Text Format) editor to enter and format the text. The text will
typically contain what the template was designed for, its basic functionality and its dependencies on other
configuration elements. Text is saved in the template's configuration file along with the other template prop-
erties. Show picture
The Save to documentation button saves your modifications in memory. Documentation is only
saved to disk when you use the File.Save command.
Dependencies tree
- 252 -
The dependencies tree displays where the template is used, both where it has been included in other tem-
plates and its instances. Show picture
- 253 -
Included Templates
An included template is an instance of one template that has been included in another. One or several
instances of a template may be included. For example, the template SMALLOFFICE includes two instances of
the template LUM and once instance of the template AC. When the application is generated, any instantiation
of SMALLOFFICE will generate not only its own configuration objects but also two instantiations of objects
from template LUM and one instantiation of objects from template AC.
Included templates are not so useful if the application has an irregular structure. For example a building
with four different offices - they have different numbers of lights and one does not have an air conditioning
unit. In this case, you could not use multiple instantiations of a template that included the lights and air con-
ditioning unit. Instead, it would be necessary to create a template (OTHEROFFICE) with no embedded tem-
plates. Then the correct number of lights and air conditioning units would have to be added to each instance
of OTHEROFFICE during the instantiation process. Show picture
- 254 -
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the embedded template will be
added.
3. Using the secondary navigation tree select the Included templates folder.
4. Select Add an included template
5. Double click the template to be included. A new instance will appear in the Included Templates folder.
6. Select the newly added template. Its properties will appear in the properties grid. Show picture
7. Edit the Name of the new instance to one appropriate to the application.
8. Edit the Branch of the new instance to one appropriate to the application.
- 255 -
Inherited Templates
An inherited template is one that has another template as its parent. When the application is generated, an
instantiation of the inherited template will generate not only its configuration elements, but also those of its
parent from which it is derived.
Adding an inherited template does not affect the parent template in any way. When the application is
generated, any instantiation of the parent template will only generate any configuration elements
that it contains.
If the parent template includes symbols, an instance of the inherited template will include those as
well as any of its own. This can be avoided by using tagging to control the symbol instantiation.
1. In the right pane of the Application Architect, select the Templates tab.
2. Using the templates configuration tree select the template to which the included template will be
added.
3. Select Add an inherited template. A new template with a default name is created.
4. Select the new template and use the properties grid to change the Name to one appropriate to your
application. You can also add an optional Description.
5. Configure the template in the same way as any other adding variables, parameters etc.
- 256 -
Differentiation (Defining properties)
- 257 -
Differentiation Overview
By default the value for each property of an element is defined at the template level and is fixed - all
instances will have the same value for that property. In practice, some properties will require a different
value on a per-instance basis - a variable's Description for example.
Differentiation is a general name given to the various mechanisms by which the value of a property can be
different for each instantiation of a template.
There are several ways in which properties can be differentiated.
l Input - The property is defined as an Input and no value is given at the template level. The value must
be entered each time the template is instantiated. A typical use of an input parameter is for the range
(Min and Max) of a register variable. A property defined in this manner is marked with a small red
icon .
l Expression - The property value is defined by an expression that is evaluated each time the template
is instantiated. An expression can include fixed values and context sensitive operands such as Tem-
plate.Name. A typical use is to calculate a variable's Description property. A property defined in this
manner is marked with a small green icon .
l Parameter - The property value is defined by the value of a parameter. The same parameter can be
used any number of times in one or more templates. A property defined in this manner is marked with
a small blue icon . A named parameter can be one of two types.
l Input - The parameter behaves as a container for a value. It can have different values for each
instance of the template to which the parameter is attached.
l Evaluated - The parameter contains an expression that is evaluated for each instance of the tem-
plate to which the parameter is attached.
l Global parameter - Similar to a parameter except that a global parameter has a one to one link with a
specific type of property. For example, you could create a global parameter called gServerList that is
used, as a default, to generate the value whenever an object containing the property Server Station
List is instantiated. As with parameters, a global parameter can be of Input or Evaluated type.
The value of an input parameter that is associated with a template is to be entered for each instance
of this template and propagated to any sub-ordinate instances. It can however be overwritten at any
level by declaring it again and entering a different value.
The value of an Expression parameter is re-evaluated for each property in which it is used.
- 258 -
Defining a Property by an Input
When a property value is defined by an input no value, is entered. Instead, the value must be entered for
each instance of the template.
- 259 -
Defining a Property by an Expression
When a property is defined by an expression, the property value is replaced by an expression that is eval-
uated for each instance of the template. An expression can include fixed values and context sensitive oper-
ands such as the instance name or its description.
4. Click the down arrow button adjacent to the value field and enter the expression. See the topic How to
enter an expression.
When the template is instantiated, the value that is produced by the expression is specific to the prop-
erty for which it has been used and is not propagated anywhere else.
- 260 -
Defining a Property by a Parameter
A parameter is a container for a value that can be used instead of a fixed value in any object property. For
example, you could create a parameter called pMaximum to be used for a register variable's Maximum prop-
erty. There are two types of parameter, Input and Expression.
l Input - An input parameter allows setting a value at a certain level of the instantiation tree. The level
at which the value has to be set is defined by the template to which the input parameter is attached.
The value for an input parameter declared in the Parameters folder of a template is propagated to all
subordinate templates. For example, if a parameter is associated to the Building template, the value
will have to be entered for each Building instance, but will be propagated to subordinate floors and
offices of building instances. See the topic How the value of an input parameter is resolved.
l Expression - An expression parameter is a container for an expression. The expression is of the same
form that can be entered directly in a property. If you use a parameter to contain an expression, you
can re-use the same expression many times without having to re-enter it each time (you just enter
the name of the parameter instead). Unlike Input parameters, the value that is produced by the
expression is not propagated anywhere else, but is re-evaluated for each property where it is used.
1. Select the Parameters tab and navigate the parameters configuration tree to select the folder under
which the parameter is to be created.
2. Select Add a parameter followed by clicking the Enter key on the keyboard. A new parameter is cre-
ated with default properties.
3. Enter a name for the parameter. You can edit either the name in the parameters configuration tree or
the Name property in the properties grid. Show picture
- 261 -
l If Parameter01 were typecast as a string, the result would be 53. (The + operator is treated as con-
catenation.)
l If Parameter01 were typecast as an integer, the result would be 8. (The + operator is treated as addi-
tion.)
l Once - The expression is calculated at the level in the topology at which it is assigned and the value is
propagated to all child elements. For example, the global parameter called gDomain, linked to the
Domain property and with the expression "Dom_ " + " Me.name", is assigned to an instance of the
Building template. The expression produces the value Dom_Building01 that is then used as the value
for the Domain of all variable instantiations sub-ordinate to the Building instance.
l On each instance - The parameter's expression is evaluated for each property where it is used. For
example, for the variable Bit01 the expression produces Dom_Bit01 that will be used as the Domain.
(The variable Register01 would have a Domain of Dom_Register01.)
l Element type - Selects the configuration element type, for example Variable.
l Property - Selects a property within the selected element, for example Alarm Priority.
When you enter a value for the parameter (NOT the Default value), you are presented with the same value
entry dialog that you would see if you were entering the value directly into the original property. For
example if the parameter was used for Alarm Level, when instantiating the user can only enter a value in
the range 0 to 29.
This only works when the property where the parameter is independent - that is its range of values
does not depend on the value of another property.
l An example of a property that is not independent is the list of tables in a database, which is
dependent on the database.
l An example of a property that is independent is Domain, which will always have the same list
of values no matter what the context.
1. Select the Templates tab, navigate the templates configuration tree and select the template.
2. Select the Parameters folder.
3. Select Add a parameter. The menu will expand to display the available parameters. Select the para-
meter that is to be added.
For more information see the topic How the value of an input parameter is resolved.
1. Select the Templates tab and navigate the templates configuration tree to open the properties grid
that contains the property to be substituted.
- 262 -
2. Right click on the property name (left column) and, from the pop-up menu, select Define by and then
Parameter and follow the menu levels to select the name of the parameter. The value of the property
will change to the name of the parameter.
The previous three properties that you selected are always repeated (in blue) at the top of the list
and can be used as shortcuts so that you do not have to drill down through the list every time.
- 263 -
Defining a property by a global parameter
- 264 -
How to Create a Global Parameter
A global parameter is a container for a value that is used instead of a fixed value for a specific property
type. There is a one to one relationship between each global parameter and a property type. For example,
you could create a global parameter called gDomain that is used whenever an object containing the property
Domain is instantiated. There are two types of global parameter, Input and Expression.
l Input - An input global parameter allows the setting of a value at a certain level of the instantiation
tree. The level at which the value is set is defined by the instantiation level to which the input para-
meter is attached. The value is propagated to all subordinate levels (subject to the scope). For
example, if a global parameter is associated with an instance of a building, the value will be propag-
ated to subordinate floors of the building and subordinate offices of the floors. See the topic How the
value of an input parameter is resolved.
l Expression - An expression global parameter is a container for an expression. The expression is of the
same form that can be entered directly in a property. When using a global parameter to contain an
expression there are two possible scenarios for calculating the value.
l The value is calculated only once at the instance on which the global setting has been asso-
ciated. This value is propagated to all sub-instances.
l The value is calculated for each instance of the property type with which it has been linked.
1. Select the Parameters tab and navigate the parameters configuration tree to select the folder under
which the parameter is to be created.
2. Select Add a global parameter followed by clicking the Enter key on the keyboard. A new global para-
meter is created with default properties.
3. Enter a name for the parameter. You can either edit the name in the parameters configuration tree or
edit the Name property in the properties grid. Show picture
- 265 -
Expression =Params("Parameter01")+3. Parameter01 is given a value of 5.
l If Parameter01 were typecast as a string, the result would be 53. (The + operator is treated as con-
catenation.)
l If Parameter01 were typecast as an integer, the result would be 8. (The + operator is treated as addi-
tion.)
l Once - The expression is calculated at the level in the topology at which it is assigned and the value is
distributed to all child elements. For example, the global parameter called gDomain, linked to the
Domain property and with the expression "Dom_ " + " Me.name", is assigned to an instance of the
Building template. The expression produces the value Dom_Building01 that is then used as the value
for the Domain of all variable instantiations sub-ordinate to the Building instance.
l On each instance - The expression is evaluated at every instantiation. For example, for the variable
Bit01 the expression produces Dom_Bit01 that will be used as the Domain. (The variable Register01
would have a Domain of Dom_Register01.)
l Overwrite mode - Selects the conditions under which the parameter is used as the property value.
l Only if nothing is defined - The value generated by the global parameter is only used if the
impacted property is not already defined. This is the default mode.
l Force - The value generated by the global parameter is always used.
l Element type - The configured element in which the property, that is to be defined by the global para-
meter, is used. For example Variable. A few properties (currently just Server Station List and Client
Station List) appear in more than one configuration element in which case you can select Any.
l Property - The property type to be defined by the global parameter.
l Selected elements - A filter, using the type and source of a variable, to select which of the elements
will be affected by the global parameter. Show picture
Only available for elements related to some aspect of variable configuration and therefore not the fol-
lowing:
l Cyclic
l Graphic elements (Mimics and symbols)
l SNMP (Network, Device and Polling Group)
Where a filter is for a child of a variable element (for example, a trend, an event, a threshold ...), the filter
is applied according to the properties of the parent variable. For example, a global parameter is created for
a property of a Trend. If the Selected elements filter is configured to select only alarms, then only the
Trends of alarm variables will take into account the global parameter.
- 266 -
Positioning a Global Parameter
The position of a global parameter determines where its value is used and, for an expression type, when it is
calculated. See the topic How to create a global parameter for further information. Global parameters can
be positioned on a particular template, or at any level in the instances tree.
1. Select the Templates tab, navigate the templates configuration tree and select the template.
2. Select the Parameters folder.
3. Select Add a parameter. The menu will expand to display the available parameters. Select the global
parameter that is to be added.
4. Configure the properties of the added global parameter. Show picture
a. Enter a Description. By default, the Description of the global parameter is used but this can be
changed if required.
b. Enter the Value if it is an input type parameter. The value entered here is a default and can be
overwritten at each instantiation if necessary.
c. Select the Scope. A parameter with a Template scope is only active within the instances of the
template (and instances of included templates) but not for child instances (For example, active
for the Building but not for the Floors.). A parameter with a Topology scope is active within both
instances of the template and child instances. The scope type cannot be overwritten when instan-
tiating.
l At the tree itself. Any global parameter here will apply to the entire application subject to its Selected
Element filter.
l At a topology element.
l At a template instance.
l At an included template.
1. Select the Instances tab and navigate to the node at which the global parameter is to be added.
2. Select the Parameters folder.
3. Select Add a global parameter. The menu will expand to display the available parameters. Select the
global parameter that is to be added.
- 267 -
4. Configure the properties of the added global parameter. Show picture
For all elements other than included templates, you can add a global parameter directly to the
instances tree. For an included template, you can only add a global parameter by selecting the
Global Parameters folder in the center right (Composition) pane.
The Impacted Elements group of properties are read only and inherited from the global parameter's
configuration
The icons used in the Instances Tree are modified when a global parameter is added.
When a global parameter is added to a template instance a plus sign is displayed, adjacent to the
global parameter icon, to indicate that it is independent of the template. If, at a later time, the same
global parameter is added to the template the independent parameter of the instance is auto-
matically linked to that of the template and the plus sign is removed.
- 268 -
Removing a Global Parameter
This topic applies to removing a global parameter itself, or removing an instance of a global para-
meter that has been added to a template or the instances tree.
When you remove a global parameter you are given the choice of resetting, or not, the values of the
impacted properties. The choice is made from a dialog that is displayed during the removal process. Show
picture
l Remove parameter immediately - The parameter is removed immediately. Properties that have been
affected by the parameter are not reset.
l Remove parameter after generation - The parameter is marked for removal. Properties that have
been affected by the parameter are reset to their default value at the next generation after which the
parameter is removed. Parameters that are marked for removal are marked with a modified icon.
Example
A global parameter, gDomain, affects the Domain property of all variables. The parameter is positioned on
the instances of the Office template giving variable's domain properties values such as OFFICE01, OFFICE02
etc.
l If you remove the property using Remove parameter immediately, the variable's keep the domain val-
ues OFFICE01, OFFICE02 etc. even if they are re-generated.
l If you remove the property using Remove parameter after generation the variable's domain values
are reset at the next generation followed by the removal of the parameter.
- 269 -
Using the Do not overwrite default value Option
The Application Architect treats a property using its default value as undefined. Therefore if you create a
Global Parameter for a property, even if you select the overwrite mode as Only if value is undefined, if the
property is left set to its default value it will be overwritten by the global parameter.
To overcome this, in situations where you want some uses of a property to remain at the default value you
can use the option Do not overwrite default value available from the context menu displayed when right
clicking a property. Show picture
A good example of this is where you want to keep the Domain property empty on some variables while you
have created and applied a global parameter that affects Domain. An empty value, being the default for
Domain, will be overwritten by the global parameter. To keep it empty, you can explicitly configure that you
do not want to overwrite this default value on a per variable basis.
A property with the Do not overwrite default value option is indicated by a pen icon adjacent to the prop-
erty name.
To reset Do not overwrite default value on a property use the Reset command from the context menu.
If the Do not overwrite default value icon appears adjacent to a property for which it has not been
explicitly requested it is because the property has been restored to its default value by typing it in
rather than using the Reset command. To avoid this always use the Reset command to reset a prop-
erty to its default.
- 270 -
How to enter an expression
- 271 -
How to Enter an Expression
When entering an expression in a parameter, or directly in a property, you can either type in the expression
directly or use the Expression Editor dialog. The Expression Editor dialog is displayed by clicking the down
arrow button adjacent to the right of the field. Use of the Expression Editor dialog is recommended as it
includes keyword auto-completion that helps to prevent errors.
Expression syntax
An expression always starts with the equality operator (=) and will contain one or more of the following ele-
ments.
l String value - A string delimited by quotation marks. For example, "Tank level".
l Numeric value - For example 100.
l Operators - See the topic Function and Operator Reference.
l Functions - See the topic Function and Operator Reference.
l Excel reference - See the topic Referencing an Excel file in an expression.
l The value of another parameter - The syntax is Params("ParamName"). For example Params("pDo-
main").
l A property of a configuration element - The syntax is Navigation.Property. For example Tem-
plateInstance.Name. See below for the possible values of Navigation and Property.
Navigation is used to navigate through the template hierarchy to select the element that is to be ref-
erenced.
Property selects the required property of that element.
In expressions, some special characters needs to be prefixed by the backslash ("\") escape char-
acter so that they are interpreted correctly:
On typing a full stop, the editor checks the preceding text. If the text is identified as a navigation keyword,
the Property pop-up opens displaying a list of properties for that keyword. The required property is selected
- 272 -
using either the Enter or Tab keys or by clicking with the mouse. Show picture
The small tool in the toolbar can be used to select and enter the value of other parameters. Show picture
Navigation keywords
The navigation keywords are used to navigate within the instances or modeling tree to the element from
which you want to retrieve the property. Navigation keywords can be linked using the full stop character.
Keyword Description
Current item. This keyword is optional and if no positioning keyword is specified, this
Me
corresponds to the use of "Me".
Parent This keyword is used to go to an upper level in the hierarchy of items.
TemplateInstance OR This keyword will allow us to go back up to the root of a template instance, but never
Inst leave it, the template is included or not.
This keyword is a shortcut to be positioned directly on the root template, in modeling
Template OR Tpl
mode, but never leave it, the template is included or not.
This keyword is used to position on the highest root template, it means by going over
TopTemplateInstance
the included template. The highest root template is the template instantiated by the
OR TopInst
user.
TopTemplate OR This keyword is used to position on the highest root template, in modeling mode, it
TopTpl means by going over the included template.
Origin This keyword is used to position on the item used to instantiate the current item
Property keywords
Keyword Description
Name The name of the element.
ShortName The name of the element up to and including the primary template.
Fullname The name of the element up to and including the root of the tree.
Branch The branch of the element.
ShortBranch The branch of the element up to and including the primary template.
FullBranch The branch of the element up to and including the root of the tree.
Description The description of the element.
NamingRule The Naming Rule of the element
For more information on the keywords and examples of their use see the book Keyword examples.
- 273 -
Application Architect Expression Function and Operator Reference
Numeric functions
Syntax Return
Abs(num1) Absolute value of num1.
Atan(num1) Angle whose cosine is num1.
Asin(num1) Angle whose sine is num1.
Atan(num1) Angle whose tangent is num1.
Ceiling(num1) Smallest integer greater than or equal to num1
ChildCount( eCountType[, str1, See explanation below.
num1])
Cos(num1) Cosine of num1.
Exp(num1) E raised to power of num1.
Floor(num1) Largest integer less than or equal to num1.
IEEERemainder(num1, num2) Remainder resulting from the division of num1 by num2
Log(num1) Natural logarithm num1.
Log10(num1) Base 10 logarithm of num1.
NumIndex(str1[, bool1]) Returns an integer representing the right or left digits of the string
depending on the value of bool1. By default bool1 is false and the func-
tion returns the right index.
Max(num1, num2) Larger of two num1 and num2.
Min(num1, num2) Smaller of num1 and num2.
Pow(num1, num2) Num1 raised to the power of num2.
Round(num1, num2) Rounds num1 to the nearest integer or, if given) num2 decimal places.
Example: Round(3.222, 2) = 3.22
Sign(num1) Value indicating the sign num1. -1 if it is negative +1 if it is positive.
Sin(num1) Sine of the angle num1.
Sqrt(num1) Square root num1.
Tan(num1) Tangent of the angle num1
Truncate(num1) Integer part of num1
ChildCount parameters
eCountType
_ctInst All child instances -> filter is on the name
_ctInst_ByType All child instances -> filter is on the model type
All child embedded instances -> filter is on the
_ctEmbedded
name
All embedded instances -> filter is on the model
_ctEmbedded_ByType
type
All child embedded and instances -> filter is on
_ctInstAndEmbedded
the name
All child embedded and instances -> filter is on
_ctInstAndEmbedded_ByType
the model type
_ctVar All var
_ctVarBit All var type bit
_ctVarReg All var type register
_ctVarText All var type text
_ctMimic All mimics
_ctSymbol All symbols
- 274 -
# Matches any number
[abc] Matches one character among {a; b; c}
[!abc] Matches one character other than {a; b; c}
[a-z] Matches one character between a and z
[!a-z] Matches a character not between a and z
String functions
For all functions, position 0 corresponds to the first character of the string.
Syntax Return
BranchSegment(num1[, bool1]) Same as NameSegment except that it works on the FullBranch string.
See below.
NameSegment(num1[, bool1]) Returns a string that contains the substring of the current FullName at
the given zero based position (num1) in string parameter that is delim-
ited by “.”. By default bool1 is false and the zero based position is left.
If bool1 is true the zero based position is right.
StrIndex(str1[, bool1]) Returns a string representing the right or left digits of the string
depending on the value of bool1. By default, bool1 is false and the
function returns the right index.
StrIndexOf(str1, str2) The index of the first occurrence of the string str2 in the str2.
Returns -1 if str2 is not found.
StrLastIndexOf(str1, str2) The index of the last occurrence of the string str2 in the str1.
Returns -1 if str2 is not found.
StrSubstring(str1, num1) Sub-string from the str1. The sub-string starts at the index position
provided by num1.
StrSubstring(str1, num1, num2) Sub-string from the str1. The sub-string starts at the index position
provided by num1 and has a length of num2.
StrRemove(str1, num1) Str1 minus the characters from the start position num1 to the end of
the string.
StrRemove(st1, num1, num2) Str1 minus the characters from the start position num1 to the end pos-
ition num2.
Example: StrRemove("abcdefgh", 3, 2) = "abcfgh"
StrLeft(str1, num1) The leftmost num1 characters of the string str1.
StrRight(str1, num1) The rightmost num1 characters of the string str1.
StrTrim(str1) Str1 with all leading and trailing white space removed.
StrTrim(str1, str2) Str1 with all leading and trailing occurrences of a set of characters spe-
cified in str2 removed.
Example: StrTrim(" *abcdefgh* ", " *a") = "bcdefgh"
StrTrimEnd(str1, str2) Str1 with all trailing occurrences of a set of characters specified in
str2 removed. For example, if str1 "123abc456xyz789" and str2 is
“123456789”, the TrimEnd function returns "123abc456xyz"
StrTrimStart(str1, str2) Str1 with all leading occurrences of a set of characters specified in
str2 removed
StrPadLeft(str1, num1, chr1) Left aligns the characters of str1, padding on the left with the char-
acter chr1 to the specified total length num1.
- 275 -
Example: StrPadLeft("abcdef" , 10 ,'x') = xxxxabcdef
StrPadRight(str1, num1, chr1) Right aligns the characters of str1, padding on the right with the char-
acter chr1 to the specified total length num1.
Example: StrPadRight("abcdef" , 10 ,'x') = abcdefxxxx
StrToUpper (str1) All characters of str1 as upper case.
StrToLower (str1) All characters of str1 as lower case.
StrReplace(str1, str2, str3) Str1 with all occurrences of str2 replaced by str3.
StrExtract(str1, chr1, num1) String that contains a substring of str1 from the position num1 delim-
ited by the characters chr1.
Example: StrExtract("My.name.is.John", ".",1) = “name”
Example: StrExtract("My.name.is.John", ".",2) = “is”
StrReverseExtract(str1, chr1, num1) String that contains a substring of str1 from the reverse position num1
delimited by the characters chr1.
Example: StrExtract("My.name.is.John", ".",1) = “is”
Example: StrExtract("My.name.is.John", ".",2) = “name”
StrCompare(str1, str2) Compares Str1 and Str2 and returns an integer that indicates their
relationship to one another in the sort order.
Example: StrCompare("str1", "str2") =-1
Example: StrCompare("str1", "STR1") =-1
Example: StrCompare("str1", "str1") =0
StrCompareNoCase(str1, str2) Compares Str1 and Str2, ignoring their case, and returns an integer
that indicates their relationship to one another in the sort order.
Example: StrCompareNoCase("str1", "STR1") =0
Example: StrCompareNoCase("str1", "str1") =0
StrEqual(Str1, Str2) Compares STR1 and Str2 and returns a boolean depending on their
equivalence.
Example: StrCompare("str1", "str2") =False
Example: StrCompare("str1", "STR1") =False
Example: StrCompare("str1", "str1") =True
StrEqualNoCase(Str1, Str2 Compares STR1 and Str2, ignoring their case, and returns a boolean
depending on their equivalence.
Example: StrEqualNoCase("str1", "str2") =False
Example: StrEqualNoCase("str1", "STR1") =true
Example: StrEqualNoCase("str1", "str1") =True
Operators
Expressions can be combined using operators. Where several operators are present, they are executed in a
strict precedence.
Precedence Syntax Operation
1 () Parenthesis
2 ! or NOT Logical NOT
2 ~ Bitwise NOT
3 & Bitwise AND
3 | Bitwise OR
3 ^ Bitwise XOR
3 << Left shift
3 >> Right shift
4 * Multiplication
4 / Division
4 % Modulus
5 + Addition (Or concatenation when used with strings)
5 - Subtraction
6 == Equality
6 = Equality
- 276 -
7 != Inequality
7 < Less than
7 <= Less than or equal
7 > Greater than
7 >= Greater than or equal
7 || or OR Logical OR
7 && or AND Logical AND
- 277 -
Referencing an Excel File in an Expression
The expression engine is able to access the cells of an Excel spreadsheet using the following syntax’s. To
use a spreadsheet in this manner a File Reference must be configured in the Application Explorer. The File
Reference configures how the file is managed and specifies the alias Name, which is used to reference the
spreadsheet in an expression.
General information
The supported Excel file formats are XLS, XLSX, XLSM. Cells are accessed using their numerical address.
Addresses such as “A1” and “A1:E5” are not supported. The cell index is 1 based.
Expressions
See section below for a detailed explanation of the parameters.
If the optional parameters oNullData, szSeparator or svHSeparator are not specified the defaults
from the File Reference are used.
- 278 -
set to 0 or not specified, there is no optimization. If iOptimise is set to 1 then row optimization is used (the
row retains the same value). If iOptimise is set to 2 then column optimization is used (the coloumn retains
the same value).
Parameters
bVertical Area scan type.
0 or not specified = horizontal scan
1 = vertical scan
iCol Index of column to retrieve.
iFirstCol Index of the first column to retrieve.
iFirstRow Index of the first row to retrieve.
iHLookupIndex Index of the row to search.
iHValueIndex Index of the row for which the corresponding value is to be returned.
iLastCol Index of the last column to retrieve.
iLastRow Index of the last row to retrieve.
iOptimise Search optimization.
0 or not specified = no optimization
1 = column optimization (the col retains the same value)
iOptimise Search optimization. 0 or not specified = no optimization
iRow Index of the line to retrieve.
iVLookupIndex Index of the row / column to search.
iVValueIndex Index of the column for which the value is to be returned.
oNullData Optional parameter containing the value to return if a cell is empty. If not specified,
and a cell is empty, the characters from the Default substitution characters property
in the File Reference are used.
szEnclosureChar The character used to enclose cells’ values in the return string
szHLookupValue The value to search for.
svHSeparator Intercell separator. If not specified the character from Default row separator prop-
erty in the File Reference is used.
szReference Identifier (name) of the file
szSeparator Intercell separator. If not specified the character from Default column separator prop-
erty in the File Reference is used.
szSheetName The sheet name
szVLookupValue The value to search for
szVSeparator 0, “NULL”, “\””
Examples
See the topic Excel file Referencing Examples.
- 279 -
How the Value of an Input Parameter is Resolved
The manner in which Global Input Parameters and Input Parameters are resolved is different.
The same parameter can be assigned to several templates on one or more levels. A different input
value can be entered for each use.
- 280 -
In practice, the easiest way to explain and understand how a global parameter is resolved is by example.
Consider the following representation of an instance tree.
l INSTANCES ROOT.
Global parameter gParam positioned on INSTANCES ROOT with value of RootValue.
l BUILDING1 - An instance of the template BUILDING.
l FLOOR1 - An instance of the template FLOOR and subordinate to BUILDING1.
Global parameter gParam positioned on FLOOR1 with value of no input value.
l LIGHT1 - An instance of the template LIGHT and subordinate to FLOOR1.
l CMD - A variable of the template LIGHT.
- 281 -
Instantiation
- 282 -
About Instantiation
Instantiation is the process of defining the instances tree from which your application will be generated. Dur-
ing the instantiation process, you will do some or all of the following.
l Description - A description of the root of the instances tree. Only used within the Application Architect
and has no effect on the application itself. Optional
l Branch - If configured, the Branch is added as a branch to the root of all configuration elements.
Unless you have a specific requirement (such as merging two or more applications), this should be left
at the default which is an empty string.
If the root node has a non-empty branch, it creates an explicit branch in the variables tree. If a
Description is entered, it is used as the branch description.
- 283 -
Instantiating Templates
The tree structure developed during template instantiation defines the final structure of the application, in
particular the variables tree. Much of the time spent using the Application Architect will be instantiating tem-
plates and managing the template instances and so it is worth understanding in detail the mechanisms
involved.
There are two methods to instantiate templates.
- 284 -
6. Click the Instantiate button to start instantiation.
This method permits inserting quickly a large amount of instances as soon as the default name fits.
You can also instantiate a template from the templates toolbar using drag and drop.
l Description - A description of the instance. Only used within the Application Architect and has no effect
on the application itself. Optional
l Name - The name of the instance. Only used within the Application Architect and has no effect on the
application itself.
l Branch - The branch that will be used during application generation for all configuration elements that
the instance contains.
The Branch property creates an explicit branch in the variables tree. If a Description is entered, it is
used as the branch description.
Managing instances
The following tasks are available to help you manage instances.
l You can move an instance and all elements subordinate to it using drag and drop.
l You can copy and paste an instance and all elements subordinate to it using the standard keyboard
shortcuts (Ctrl + C and Ctrl + V) or using Copy and Paste. Be careful when pasting that you first select
the element under which it is to be pasted.
l You can delete an instance and all elements subordinate to it using the Delete key or Remove. A con-
firmation dialog is always displayed when deleting.
- 285 -
Adding Topology Elements
A topology element can be considered similar to the instance of a template that has no configuration ele-
ments. Its purpose is to add structure to the Instances tree and, as a result, a branch to the variables tree.
1. In the right pane of the Application Architect, select the Instances tab.
2. Using the instances tree, select the node at which the topology element library will be added.
3. Select Add topology element. A new topology element with a default name is created.
4. Edit the name to one appropriate to your application. You can either edit the name directly by clicking
on it in the configuration trees or edit it in the Name field in the properties grid. Show picture
5. Add a description using the Description field in the properties grid. The description is optional.
6. Add a branch using the Branch field in the properties grid. The Branch is used for any variables when
generating any configuration elements from instances below the topology element.
Once you have added a topology element you can add instances and create topology elements sub-ordinate
to it in the same way that you would for an instance of a template.
The Branch property creates an explicit branch in the variables tree. If a Description is entered, it is
used as the branch description.
The name of the topology element is for reference only and does not affect the structure of the
application.
- 286 -
Managing Properties Defined by an Input, Expression or Parameter
The properties grid in the lower right pane of the Instances tab displays information about the properties of
an instance that are defined by an input, expression or parameter. Show picture
Only properties of elements of the selected instance (including any included templates) are listed. To
see parameters for any sub-ordinate instance you must select it from the configuration tree.
The information is listed according to how the property value and parameter were defined.
Expressions
Displays properties where an expression has been used. This includes properties where an expression has
been entered directly, or where the property value has been defined by a parameter or global parameter
containing an expression. The property is identified using the following syntax.
<Included template>.<Element name>.<Property name> - The reference to the included template only
appears if the object is in an included template. The values are read only.
For a global parameter, what is displayed depends on the setting of the Evaluation Mode property.
Expressions are only displayed if advanced display mode has been enabled.
Inputs
Displays properties that have been defined as an input. The property is identified using the following syntax.
<Included template>.<Element name>.<Property name> - The reference to the included template only
appears if the object is in an included template.
To enter or change a value use the value field adjacent to the property name.
Input parameters
Displays parameters and global parameters, configured as input type, that have been added to the Para-
meters folder of the template and/or any included templates, and elements where a property has been
defined by an input parameter. The following syntax is used.
<Parameter name> - Where the parameter or global parameter has been added to the Parameters folder of
the template.
<Element name>.<Parameter name> - Where the parameter is used to define a property of the element.
<Included template>.<Parameter name> - Where the parameter has been added to the Parameters folder
of the included template.
<Included template>.<Element name>.<Parameter name> - Where the parameter is used to define a prop-
erty of the element of the included template.
- 287 -
To enter a value for an input parameter enter it in the value field adjacent to the parameter name. For fur-
ther information see the topic How the value of an Input Parameter is resolved.
In normal display mode, only parameters that have been added to the Parameters folder of a tem-
plate (or included template) are displayed.
In advanced display mode, parameters defining a specific property are also displayed.
Changing a value
You can change the value of an Input Parameter or Input by clicking in the value field and entering a new
value. If you change the value of a parameter associated at the template level it will be propagated to every-
where the parameter is used in that instance of the template. Values that have been changed are displayed
in a bold typeface. Values coming from the propagation of an input value at a higher level are displayed in a
regular typeface.
Expression to be checked
Displays a list of properties based on expressions whose evaluation triggered an error or require the user's
attention.
- 288 -
Creating Exceptions
When you are modeling your application, unless you are very fortunate, you will find some equipment that
does not conform to the rules.
For example, you have a building with four offices. You would like to represent all the offices with the same
template that has four lights, an air conditioner and a fire detector. But one office has a different air con-
ditioner with an extra variable, and another does not have an air conditioner at all. You can either create
three different templates or use one template, creating exceptions when it is instantiated.
There are a number of exceptions that you can create for an instance.
l Add an element. You can add a variable, mimic or symbol directly to an instance. You can add beha-
viors to a variable (trend, event, alarm synthesis etc.).
l Deselect an element. A deselected element is not generated. You can deselect a topology element, a
template instance, or any of the following elements of a template instance.
l Variable
l Variable behavior (trend, event, alarm synthesis etc.)
l Mimic
l Symbol
l Included template
If you deselect a topology element or template instance all subordinate elements are also deselected.
l You can change the value of a property defined by an input or input parameter.
By combining exceptions you can, for example, replace one element with another, or remove a complete
sub-assembly of a physical component by deselecting the corresponding included template.
Show picture
- 289 -
6. Configure the element using the properties list. Show picture
As well as deselecting an instance’s element, you can also deselect an instance as a whole. This can
be useful when designing and tuning your templates.
You can also Deselect in the template tab to deselect an element from a template, deselecting the
element from all instances when the application is generated.
- 290 -
Controlling Instantiation Using Tagging
Tagging can be used with the following configuration elements.
The requirement is that the symbol representing the lights (generated by LUM) is only displayed in the
mimic generated by OFFICE and not in the mimic generated by FLOOR. Without filtering, there will be two
instances of the light symbol in each of the OFFICE mimics and all six in the FLOOR mimic.
Multiple tag strings can be defined by separating them with a semi-colon. For example, fOf-
fice;fStairwell;fEntrance;fMaintenance.
It allows generating multiple mimics with different symbols for different purpose.
For example, one may need to have a monitoring and control mimic for each floor, including sym-
bols designed for this purpose, and a maintenance mimic for each building, with another dedicated
graphic representation (another symbol), but for the exact same lighting devices (and therefore
defined in the same template).
- 291 -
Controlling Symbol Instantiation Using Manual Deselection
When you need several possible graphical representations of an object, you can include several symbols in
the corresponding template. The symbol that is generated is determined by de-selecting those that are not
required, either in the template itself or during instantiation. Commands to do this are available from the
right click context menu. Show picture
- 292 -
Transforming Objects in the Instances Tree
How to transform a topology element into an instance of a template
A topology element can be replaced by an instance of a template. The main properties (Description, Name
and Branch) of the topology element are retained.
1. In the right pane of the Application Architect, select the Instances tab.
2. Select a topology element and select Transform into a template instance.
3. Expand the menu of available templates and select the template to replace the topology element.
1. In the right pane of the Application Architect, select the Instances tab.
2. Select a topology element and select Transform into a template instance.
3. Expand the menu and select the New template... command. The Templates Selector dialog is dis-
played
4. Select the parent for the new template.
5. Enter the template name and confirm with the OK command.
A topology element will need to be converted to an instance of a template if the application changes
so that configuration elements, graphics or parameters are required at that level.
1. In the right pane of the Application Architect, select the Instances tab.
2. Select a template instance and select Transform into a topology level.
The entire contents of the template instance will be lost (objects, parameters, etc.).
- 293 -
Locating the Original Template or Parameter
The Locate Original task enables you to quickly navigate to the original of a template or parameter instance.
The task is available from the context menu displayed under the following conditions.
l From the Instances tab by right clicking on any of the following items in the secondary configuration
tree.
l Template instance. Show picture
l Included template.
l Global parameter positioned at the top of the tree, on a topology element or template instance.
l From the Templates tab by right clicking on any of the following items in the composition tree (right
pane).
l Parameter or global parameter. Show picture
l Included template.
- 294 -
Making Multiple Copies of a Configuration Object Using Copy and Paste
Depending on the object that has been copied, it is possible to paste multiple copies using the Multiple Paste
command. The Multiple paste command is available from the context menu only when a supported object
has been copied.
1. Copy the object in the normal manner using Ctrl+C or the Copy command.
2. Right click the location in the configuration tree where the object is to be pasted and, from the context
menu, select Multiple paste. The Multiple Copy dialog opens. Show picture
3. Configure the multiple copies. The following rules are used if the name of the object to be copied ends
in a number.
l The number is removed to generate the Name prefix.
l The number plus one is used as the Start value.
l The number of numeric characters digits is used as the number of Fixed digits (else set to two).
4. Click Paste to generate the objects.
l Template instance
l Topology element
l All configuration objects
l Mimic
l Symbol
l Embedded template
l All configuration sub objects except those that can only be configured once.
l Expression
l Chronometer
l Counter
l Alarm masking
l Discrepancy check
l Alarm acknowledge trace
l Alarm program associated action
l Alarm window associated action
l Alarm synthesis
l Threshold
- 295 -
Generation
Generation is the process of producing the Supervisor's configuration elements from the Application Archi-
tect. Generation can be started from the menu using the Task.Generate command, or by using the keystroke
F7.
The Application Architect generates the configuration in the Supervisor by using the Smart Generator Gen-
eric Import (although the Smart Generator itself is not visible during the process). First, an XML file is pro-
duced based on the information that has been entered, then the Application Architect starts the
synchronization phase of the Generic Import. During this phase, the Generic Import compares the XML file
with the previous version and, depending on the differences, creates, modifies or deletes elements of the
Supervisor's configuration.
l Check consistency before generation - Execute the consistency checks before generation as con-
figured in the Application Architect Settings dialog. If the consistency checks fail, generation is aban-
doned.
l Generate graphical elements - Generate any graphical elements defined in the Application Architect.
l Fast synchronization - see below.
l Full synchronization - see below.
Full synchronization
The XML import file created by the Application Architect is compared with the previous file that was impor-
ted and all new elements are created and those that no longer exist are deleted.
All properties that have been given a value in the Application Architect are generated in the Supervisor's
application. Any of these properties that have been manually changed in the Supervisor since the previous
generation process will be overwritten. Properties that do not have a value or that do not exist in the Applic-
ation Architect are not affected.
Full synchronization can take several minutes as, even if you have only changed a single element, all ele-
ments are regenerated.
Fast synchronization
Fast synchronization is similar to full synchronization except that ONLY properties that have been changed
are updated. This is the normal mode that should be used for generation, as it is much quicker than full syn-
chronization.
The first time that you run generation, as there is no previous file to compare, all elements and prop-
erties are generated.
Properties left undefined in the Application Architect (e.g. left at their default value), are never
affected by the generation process whatever their type. It is so possible to define certain properties
via the Application Explorer or Smart Generators without having the Application Architect over-
writing them.
Generation results
- 296 -
The generation results can be displayed by clicking the >> button in the generation dialog. Results can be
sorted by clicking on the appropriate column header. Show picture
- 297 -
Examples
- 298 -
Keywords in an expression
- 299 -
Keywords Examples
The keywords used when referring to elements and properties of the Application Architect's structure in an
expression can be difficult to understand when first used. The following example illustrates their use.
Modeling
A template named VALVE (Description: Regulating valve) including the following elements. Show picture
Type Properties Sub elements
Variable Name:CMD
Variable Name: POSITION Behavior: TREND
Description: Valve Position
Instantiation
A topology element named AREA_WEST (branch AREA_W) with a single instantiation of PUMP named PUMP_
A (Branch: PA, Description: Pump A). Show picture
- 300 -
- 301 -
Example of the use of Navigation Keywords
The following example refers to the structure illustrated in the topic Keyword examples.
Me
Me is the current item. If no keyword is specified then it defaults to Me.
Parent
Points to one level up in the hierarchy.
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION Parent PUMP_A.INLETVALVE
Parent.Parent PUMP_A
Parent.Parent.Parent AREA_WEST
PUMP_A.INLETVALVE.POSITION.TREND Parent INLETVALVE.POSITION
PUMP_A.FLOW Parent PUMP_A
The Parent keyword can be used to navigate in both the instance and modeling trees. In the mod-
eling tree, the template is the highest level. In the instance tree, when used in a template, this
keyword can navigate back to the instance of the template that contains it.
TemplateInstance
Points to the root of the template instance, but never above it.
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION TemplateInstance PUMP_A.INLETVALVE
TemplateInstance.Parent PUMP_A
PUMP_A.INLETVALVE.POSITION.TREND TemplateInstance PUMP_A.INLETVALVE
PUMP_A.INLETVALVE TemplateInstance PUMP_A.INLETVALVE
PUMP_A TemplateInstance PUMP_A
PUMP_A.FLOW.TREND TemplateInstance PUMP_A
Template
Points directly to the root of the template, but never above it.
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION Template VALVE
PUMP_A.OUTLETVALVE.POSITION Template VALVE
TopTemplateInstance
Points to the highest root template instance above any included template.
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION TopTemplateInstance PUMP_A
TopTemplateInstance.Parent AREA_WEST
PUMP_A.INLETVALVE.POSITION.TREND TopTemplateInstance PUMP_A
PUMP_A.INLETVALVE TopTemplateInstance PUMP_A
PUMP_A TopTemplateInstance PUMP_A
PUMP_A.FLOW.TREND TopTemplateInstance PUMP_A
TopTemplate
Points to the highest root template above any included template.
- 302 -
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION TopTemplate PUMP
TopTemplate.Parent ERROR - Unable to resolve
PUMP_A.INLETVALVE.POSITION.TREND TopTemplate PUMP
PUMP_A.INLETVALVE TopTemplate PUMP
PUMP_A TopTemplate PUMP
PUMP_A.FLOW.TREND TopTemplate PUMP
Origin
Points to the element from which it is instantiated.
Origin Keyword Refers to
PUMP_A.INLETVALVE.POSITION Origin POSITION (Variable)
Origin.Parent VALVE
Parent.Origin INLETVALVE (Included template)
PUMP_A.INLETVALVE.POSITION.TREND Origin TREND
PUMP_A.INLETVALVE Origin VALVE
PUMP_A Origin PUMP
- 303 -
Example of the use of Property Keywords
The following example uses the template structure illustrated in the topic Keyword examples.
Name
Return the last part of the element name.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION Name POSITION
Parent.Name INLETVLALVE
TemplateInstance.Name INLETVALVE
TopTemplateInstance.Name PUMP_A
Origin.Name POSITION
Template.Name VALVE
ShortName
Return the name of the element starting at the root template. That is, the template that has been instan-
tiated.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION ShortName PUMP_A.INLETVALVE.POSITION
Parent.ShortName PUMP_A.INLETVLALVE
TemplateInstance.ShortName PUMP_A.INLETVALVE
TopTemplateInstance.ShortName PUMP_A
ERROR: Unable to resolve
Origin.ShortName
ShortName.
ERROR: Unable to resolve
Template.ShortName
ShortName.
FullName
Return the name of the element starting at the root.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION FullName FACTORY.AREA_WEST.PUMP_A.
INLETVALVE.POSITION
Parent.FullName FACTORY.AREA_WEST.PUMP_
A.INLETVALVE
TemplateInstance.FullName FACTORY.AREA_WEST.PUMP_
A.INLETVALVE
TopTemplateInstance.FullName FACTORY.AREA_WEST.PUMP_A
Origin.FullName ERROR: Unable to resolve
FullName.
Template.FullName ERROR: Unable to resolve
FullName.
Branch
Return the last branch of the element. (Or the leaf as it is sometimes known.)
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION Branch POSITION
Parent.Branch INLETVALVE
TemplateInstance.Branch INLETVALVE
TopTemplateInstance.Branch PA
Origin.Branch ERROR: Unable to resolve
- 304 -
Branch.
Template.Branch ERROR: Unable to resolve
Branch.
ShortBranch
Return the branch of the element starting at the root template. That is, the template that has been instan-
tiated.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION Branch PA.INLETVALVE.POSITION
Parent.Branch PA.INLETVALVE
TemplateInstance.Branch PA.INLETVALVE
TopTemplateInstance.Branch PA
Origin.Branch ERROR: Unable to resolve
ShortBranch.
Template.Branch ERROR: Unable to resolve
ShortBranch.
FullBranch
Return the branch of the element starting at the root.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION Branch AREA_
WEST.PA.INLETVALVE.POSITION
Parent.Branch AREA_WEST.PA.INLETVALVE
TemplateInstance.Branch AREA_WEST.PA.INLETVALVE
TopTemplateInstance.Branch AREA_WEST.PA
Origin.Branch ERROR: Unable to resolve
FullBranch.
Template.Branch ERROR: Unable to resolve
FullBranch.
Description
Return the description of the element. Except for instantiation of a template, all descriptions are configured
during modeling and so for simplicity it is the description of the element in modeling that is returned.
Origin Expression Returns
PUMP_A.INLETVALVE.POSITION Description Valve Position
Parent.Description Inlet Valve
TemplateInstance.Description Inlet Valve
TopTemplateInstance.Description Pump A
Origin.Description Valve Position
Template.Description Regulating Valve
- 305 -
Parameters
- 306 -
Parameter Examples
Example 1
The requirement is to configure the maximum temperature setting for all heating and ventilation units
(HVAC) in a number of buildings. The temperature setting must be the same for all HVAC units in a par-
ticular building, but it must be possible for it to be different for each building.
The solution is to create a parameter, pMaxCmd, to define the Command.Maximum property of a register
variable. We do not want to affect the Command.Maximum of all register variables, only those representing
the Temperature of an HVAC unit. The parameter can have a default value but it should be capable of having
a different value for each building if necessary.
2. Define the Command.Maximum property of the register variables representing the HVAC temperature
using the parameter pMaxCmd. Show picture
- 307 -
3. Define where the parameter value will be set. In this case, it is at the Building template. Show picture
4. Enter the actual value for each building during the instantiation process. The value is propagated to
each sub-ordinate use of the parameter (the Command.Maximum property of the Temperature
register variable). Show picture
Example 2
The requirement is to use two standard display formats, long or short, for register variables in a project.
The choice is to be specific to each variable and does not depend on the variable structure or the topology.
The actual format for each of the two standards must be easily changed and propagated throughout the pro-
ject. Instead of entering the display format directly in each register's Format property, it will be defined by
two parameters pShortFormat and pLongFormat. The appropriate parameter is then used to define the
Format for each register. Changing the long or short format across the entire project can then be done by
changing the respective parameter and regenerating.
- 308 -
1. Create the parameters pShortFormat and pLongFormat. Show picture
2. Define the Format property of the register variables using the appropriate parameter. Show picture
- 309 -
Global Parameter Examples
Example 1
The requirement is to set the Domain property of all variables to a value based on their location within the
top-level branch of the topology. Show picture
The most efficient way to do this is to create a global parameter that is linked to the Domain property. By
positioning the global parameter at the building level in the topology, we can also take advantage of using
an expression to automatically calculate the Domain property using the name of the instance.
2. Position the global parameter gDomain assigning it to the Building template. The value, which is the
result of the expression Me.Name, automatically takes the Name property of the Building template.
By configuring the assignation of the parameter to have a Topology scope, it applies not only to the
variables of the Building template but also to the variables of all sub-ordinate templates. Thus, all vari-
ables sub-ordinate to Building01 will have the Domain Building01, all variables sub-ordinate to Build-
- 310 -
ing02 will have the Domain Building02, etc. Show picture
3. When the Building template is instantiated, the resulting values of the gDomain parameter can be
seen. As its value is the result of an expression, it cannot be manually entered. Had the global para-
meter been an input type, the user could have entered a value (or overwritten it if it had a default
value).Show picture
Note that the icon representing the Building nodes has changed to indicate the use of a global para-
meter at this level.
Example 2
The requirement is to assign the same server list to all element instances. This can be simply achieved by
positioning, at the top level of the instantiation tree, a global parameter gServerList impacting the property
Server station list of all elements.
1. Create the global parameter gServerList. As the parameter is to affect all elements that have the
Server station list property, the Element type is set to Any. Show picture
- 311 -
2. The global parameter gServerList is added directly to the Instances Tree at the top level and using
Topology scope. All elements having the ServerList property take the value entered for the parameter
at the top level. Note the plus sign adjacent to the global parameter icon, which indicates the para-
meter has been added at the instances level, not at the temple level. Show picture
- 312 -
File and File Item
- 313 -
File Example (text format)
Example of text file generation using the Application Architect using the File and File Item configuration ele-
ments.
Desired output
My Header
Buiding01;Floor01;Floor02;Floor03
Buiding02;Floor01
Buiding03;Floor01;Floor02
My Footer
Topology
- 314 -
File Example (XML format)
Example of XML file generation using the Application Architect using the File and File Item configuration ele-
ments.
Desired output
<?xml version="1.0" encoding="UTF-8"?>
-<Root>
-<BUILDING Id="Building01">
<FLOOR>FloorIncluded1</FLOOR>
<FLOOR>FloorIncluded2</FLOOR>
<FLOOR>Floor01</FLOOR>
<FLOOR>Floor02</FLOOR>
<FLOOR>Floor03</FLOOR>
</BUILDING>
-<BUILDING Id="Building02">
<FLOOR>FloorIncluded1</FLOOR>
<FLOOR>FloorIncluded2</FLOOR>
<FLOOR>Floor01</FLOOR>
<FLOOR>Floor02</FLOOR>
</BUILDING>
</Root>
Topology
Building template
Floor template
- 315 -
File Item configuration element on Floor template
- 316 -
File Example (predefined format)
Example of predefined file generation using the Application Architect using the File and File Item con-
figuration elements. The result, in a tree view control, is as follows.
Desired output
ASCII32,05,08,2016,11:48,27
FONTS,BEGIN
FONTS,END
COLORS,BEGIN
COLORS,END
CI,BEGIN,0,"UData_Building01","Building01","Building01",0
CI,BEGIN,0,"UData_Floor01","Floor01","Floor01",0
CI,END
CI,BEGIN,0,"UData_Floor02","Floor02","Floor02",0
CI,END
CI,END
CI,BEGIN,0,"UData_Building02","Building02","Building02",0
CI,BEGIN,0,"UData_Floor01","Floor01","Floor01",0
CI,END
CI,BEGIN,0,"UData_Floor02","Floor02","Floor02",0
CI,END
CI,BEGIN,0,"UData_Floor03","Floor03","Floor03",0
CI,END
CI,END
CI,BEGIN,0,"UData_Building03","Building03","Building03",0
CI,BEGIN,0,"UData_Floor01","Floor01","Floor01",0
CI,END
CI,END
Topology
- 317 -
- 318 -
Excel File Referencing Examples
Excel sheet used for the examples
1 2 3 4 5 6 7 8 9
1
2
3 Property01 Property02 Property03 Property04 Property05 Property06
4 Var01 V01-P01 V01-P02 V01-P03 V01-P04 V01-P05 V01-P06
5 Var02 V02-P01 V02-P02 V02-P03 V02-P04 V02-P05 V02-P06
6 Var03 V03-P01 V03-P02 V03-P03 V03-P04 V03-P05 V03-P06
7 Var04 V04-P01 V04-P02 V04-P03 V04-P04 V04-P05 V04-P06
8 Var05 V05-P01 V05-P02 V05-P03 V05-P04 V05-P05 V05-P06
9 Var06 V06-P01 V06-P02 V06-P03 V06-P04 V06-P05 V06-P06
10 Var07 V07-P01 V07-P02 V07-P03 V07-P04 V07-P05 V07-P06
11 Var08 V08-P01 V08-P02 V08-P03 V08-P04 V08-P05 V08-P06
12 Var09 V09-P01 V09-P02 V09-P03 V09-P04 V09-P05 V09-P06
13 Var10 V10-P01 V10-P02 V10-P03 V10-P04 V10-P05 V10-P06
14
15
Examples
Expression Result
=ExcelGetCell("FileRef01", "Sheet1", 7,
V04-P01
3)
=ExcelHTextJoin("FileRef01", "Sheet1", NULL:Var01:V01-P01:V01-P02:V01-P03:V01-P04:V01-P05:V01-
4) P06
=ExcelVTextJoin("FileRef01", "Sheet1",
Var01:Var02:Var03:Var04:Var05:Var06:Var07:Var08:Var09:Var10
2, 4)
=ExcelTextJoin("FileRef01", "Sheet1", 4, "V01-P01":"V01-P02":"V01-P03"\"V02-P01":"V02-P02":"V02-
3, 6, 5, ":", "\\", 0, "NULL", "\") P03"\"V03-P01":"V03-P02":"V03-P03"
=ExcelHLookup("FileRef01", "Sheet1",
V05-P02
"Property02", 8)
=ExcelVLookup("FileRef01", "Sheet1",
V03-P02
"Var03", 4)
=ExcelLookup("FileRef01", "Sheet1", 3,
V04-P02
"Property02", 2, "Var04", 1)
=ExcelHMatch("FileRef01", "Sheet1", 3,
4
"Property02")
=ExcelVmatch("FileRef01", "Sheet1", 2,
6
"Var03")
- 319 -
The Smart Generators
- 320 -
Azbil Harmonas
- 321 -
Overview of the Harmonas Smart Generator
The Smart Generator for Harmonas generates the Supervisor's project configuration by importing files from
the Azbil Harmonas RTC Editor tool. Some or all of the following configuration items are generated.
l The Harmonas project - The files exported from the Azbil Harmonas RTC Editor tool, in IEC 61131-3
(ASCII) format.
l The Supervisor's global library (HAS) for Harmonas.
l The Supervisor's project template folder (TPL) for Harmonas.
l If a multi-station project is being generated, the network configuration including the station lists must
be manually configured before the Smart Generator is used.
1. Copy the Harmonas Library folder (HAS) to the Supervisor's Global Library folder (LIB) found in the
Supervisor's root folder.
2. Open the LIBRARY.DAT file in the LIB folder with a text editor and check that there is an entry for the
HAS library and that it is not commented out. It should read:
LIBRARY,HAS,"HAS","HAS",1,0,0,0,1,1
You can manually enter it if is not there.
3. Copy the project template folder (TPL) to the Supervisor's root folder.
The template project is a sub-set of folders and files from an actual project. If, when creating a new project,
the Supervisor finds a template project it will copy the contents into the new project replacing the default
configuration.
- 322 -
The mimics that are generated are WebVue compliant, moveable (except for the menus), sizeable (except
for the Toolbox and menus) and have the property Scale mimic to fit window set.
Once you have selected the Harmonas project from which the import is to take its input, the Smart Gen-
erator guides you through the steps to configure the import. For details see the remaining topics in this
book.
- 323 -
The Harmonas HMI Library
The Smart Generator uses one of the Supervisor's global libraries, specially created for Harmonas, to
provide the components for the HMI.
The folder in which the Harmonas library (HAS) is stored, is in the Supervisors global library folder LIB.
The Harmonas Library only become available after you apply the procedure described in the topic
Overview of the Harmonas Smart Generator.
The Supervisor's applications are bilingual - that is text strings can be configured with two altern-
ative texts representing two languages. You can dynamically switch between the languages at run
time. The text elements used in the Harmonas graphics and symbols use Japanese as the first lan-
guage and English as the second language.
Process mimics
Each process mimic is generated using a mimic template from the Harmonas library. You can generate mim-
ics of the following types:
l Trend mimics.
l Control Group mimics (populated using the Data Point symbols.
l Graphics mimics (free mimics).
Two mimic templates are available for each mimic type to support either the Full HD and XSGA screen res-
olutions. The Harmonas import will use one or the other according to the screen resolution selected in the
HMI Options.
Each mimic generated is also based on a mimic model from the Harmonas library.
Graphic symbols
Here are graphic symbols for each of the Harmonas data point types. They are automatically instantiated in
the Control Group Mimics as part of the Smart Generator's configuration process.
If you manually create any mimics and want to display a Data Point you should use the corresponding sym-
bol instantiated using the correct branch from the variables tree.
- 324 -
The Select Harmonas Project Dialog
The Select Harmonas Project dialog selects the folders from which the configuration is to be imported. Show
picture
1. Import name - Enter a reference name for the import. This will appear in the list of imports when the
Smart Generator is next opened.
2. Select or enter the name of the IT folder. The ellipsis button adjacent to the files opens a browser dia-
log.
3. Select or enter the name of the EB folder. The ellipsis button adjacent to the files opens a browser dia-
log.
4. Click Next to continue the import process.
The IT and EB folders are stored together and the default name of the EB folder is automatically
filled in when you complete the IT folder box.
l Select the Options button to open the Options dialog. Show picture
l In the Export files encoding section, select the encoding of the input files. By default it matches the
encoding of the Supervisor's presentation language.
l In the Archive units format section, select Proprietary or SQL Server storage format for the des-
tination. The default setting is Proprietary.
- 325 -
The Harmonas Select Points Dialog
The Select Points dialog lets you select the Data Points that are to be imported. Show picture
The Data Points are displayed in the dialog in a tree structure as follows.
o Device (Controller)
o Point type
o Point instance
The Harmonas Units are not shown in the structure. Each imported Data Point will generate several vari-
ables in the Supervisor's project.
1. Select the items that are to be imported. To select all items in a device or point type, tick its box.
2. Right-click on a device node to open a pop-up menu to select the IP address of the device. This is man-
datory and used by the Supervisor's OPC configuration.
3. Using the same pop-up menu select the Server List and Client List. These are only required for multi-
station applications. Show picture
- 326 -
The Harmonas Import Type Dialog
The Harmonas Import Type dialog enables you to select whether the data points and/or HMI elements are to
be imported. Show picture
l Import data - Import only the configuration necessary to generate the Supervisor's variables tree.
l Import HMI- Import only the configuration necessary to generate and structure the Supervisor's mim-
ics (HMI).
l Full import - Import the configuration and generate both the variables tree and mimics (HMI).
The following dialog, Harmonas HMI Configuration, does not have a Back button and so you must be
sure that the configuration is correct before you click the Next button.
- 327 -
Import the HMI configuration
- 328 -
Harmonas HMI Configuration Dialog
The Harmonas HMI Configuration dialog allows you to configure the structure, and some of the contents, of
the mimics that form the HMI. The dialog contains three main areas.Show picture
The Toolbar
Reading from left to right the tools are:
Expand all - to expand all nodes in the Categories tree.
Collapse all - to collapse all nodes in the Categories tree.
Add - to add a category.
Create categories from Harmonas units - to create one category for each Unit in the Harmonas con-
figuration.
Apply - to save the configuration.
Delete - to remove a category.
HMI options - see below.
The same tasks are also available from the menu bar.
After making any changes to the properties of an item in the categories tree, you must use Apply
before selecting another item or selecting Finish. Failure to do so will result in the loss of any
changes you have made.
If you change from FullHD to SXGA then the configuration of all Control Group mimics is reset. A con-
firmation dialog is displayed to allow you to cancel the action.
- 329 -
Harmonas HMI - Category Configuration
Use the Apply tool after you make changes to each category or they will be lost.
The mimics generated by the Harmonas Smart Generator are arranged in groups called Categories. Cat-
egories are displayed and selected at run-time using the Toolbox mimic. One Category is automatically gen-
erated for each Harmonas Unit. By default, each Category contains one Control Group (mimic), one Trend
(mimic), and one Graphic (process mimic).
The Category configuration is displayed in the right pane whenever a category is selected in the categories
tree. Show picture
Adding a category
To add a category, click in the category tree and then click the Add tool or the Add categories command on
the menu. A new category, with default properties, is added to the end of the category tree. A maximum of
1000 categories can be created. Category ID's are assigned automatically and cannot be edited.
Deleting a category
To delete a category, select it by clicking on it and then using the Delete tool or the Remove category com-
mand on the menu. The category and all its mimics are deleted.
The order in which categories appear in the menu mimics at run-time is the same as configured in
the categories tree. Be careful when adding or deleting categories as there are no specific tools to
re-order them.
Category properties
To change the properties of a category, select it in the category tree.
l Name - Language 1 - The identity of the category, if language 1 is selected, that will appear in the
menu mimics at run-time. Up to 20 characters or ideograms.
l Name - Language 2 - The identity of the category, if language 2 is selected, that will appear in the
menu mimics at run-time. Up to 20 characters or ideograms.
l Number of control groups - The number of control group mimics in the selected category. Range 1 to
1000.
l Number of graphics - The number of process mimics in the selected category. Range 1 to 1000
l Number of trends - The number of trend mimics in the selected category. Range 1 to 1000
If you reduce the number of nodes below that previously configured a dialog warns you that related
mimics will be deleted. Deleted mimics are moved to the project's sub folder \W\BAK.
- 330 -
Harmonas HMI - Control Group Configuration
Use the Apply tool after you make changes to each Control Group or they will be lost.
A control group (mimic) can contain up to 8 faceplates (in XSGA) or 16 faceplates (in Full HD) according to
the resolution you select. Each faceplate is represented by a particular symbol from the HAS library accord-
ing to the point type, and is instantiated in the mimic with an appropriate branch.
The Control Group configuration is displayed in the right pane whenever a control group is selected in the cat-
egories tree. The pane is subdivided into a representation of the mimic with positions for the faceplates, and
the points tree. The display of the points can be filtered according to point type using the Filter drop down
list box.Show picture
Or
Whichever method is chosen the symbol corresponding to the point type is automatically selected although
this can only be seen after the mimic has been generated.
l Name - Language 1 - The name of the control group. The name appears in the menu mimics at run-
time when language 1 is selected. Up to 20 characters or ideograms.
l Name - Language 2 - The name of the control group. The name appears in the menu mimics at run-
time when language 1 is selected. Up to 20 characters or ideograms.
1. In the Categories tree in the left pane, select the node representing the category to which the control
group is to be added.
- 331 -
2. From the menu use the command Control groups.Add control group. A new control group with default
properties will be created.
- 332 -
Harmonas HMI - Graphics Configuration
Use the Apply tool after you make changes to each Graphic or they will be lost.
The Smart Generator creates the graphic mimics but they are empty with the exception of a number of nav-
igation buttons (mimic links). The application developer must manually configure the graphics, after the
Smart Generator has completed, using the Supervisors standard drawing elements, animations and sym-
bols.
The Graphic configuration is displayed in the right pane whenever a graphic is selected in the categories
tree. Show picture
By default the two links for graphics are populated with the previous and next mimic in the category.
l Name Language 1 - The name of the graphic. The name appears in the menu mimics at run-time when
language 1 is selected. Up to 20 characters or ideograms.
l Name Language 2 - The name of the graphic. The name appears in the menu mimics at run-time when
language 1 is selected. Up to 20 characters or ideograms.
1. In the Categories tree in the left pane, select the node representing the category to which the graphic
is to be added.
2. From the menu use the command Graphics.Add graphics. A new graphic with default properties will be
created.
- 333 -
Harmonas HMI - Trend Configuration
Use the Apply tool after you make changes to each Trend or they will be lost.
The Smart Generator creates the trend mimics. Each mimic contains a single un-configured Trend Viewer.
The application developer must manually configure the Trend Viewer, after the Smart Generator has com-
pleted.
The Trend configuration is displayed in the right pane whenever a graphic is selected in the categories tree
Show picture
l Name Language 1 - The name of the trend. The name appears in the menu mimics at run-time when
language 1 is selected. Up to 20 characters or ideograms.
l Name Language 2 - The name of the trend. The name appears in the menu mimics at run-time when
language 1 is selected. Up to 20 characters or ideograms.
1. In the Categories tree in the left pane, select the node representing the category to which the trend is
to be added.
2. From the menu use the command Trends.Add trends. A new trend with default properties will be cre-
ated.
- 334 -
Harmonas HMI at Run Time
Shortcuts
The following shortcut keys are available at run time.
l The Right Arrow key opens the next mimic in the current category.
l The Left Arrow key opens the previous mimic within the current category.
l The Ctrl+Space key combination closes all mimics except the Toolbox.
l The Space key opens Variables Selector.
The Toolbox
The controls are as follows.
Tool Description
1. Alarms counters All: All alarms
PRC: All Process alarms
SYS: all System alarms
2. Graphic, Trend, C Group Display the menu for selection of a Graphic, Trend or Control Group mimic
respectively.
3. Alarm Display the main alarm mimic.
4. System Display the System overview mimic.
5. User1, User2 Spare buttons for configuration by the developer.
6. PrevWindow Open the previous window (mimic).
7. ClrWindow Close all mimics except the Toolbar.
8. Event Viewer Open the Supervisor's Event Viewer.
9. Search tools l Combo: Select the Category to search
l Text field: Type the object to search.
l Button: Start search
Syntax:
obj:<ObjectID>Search any object matching that e.g. CGR_0001
cgr:<Control Group viewer name> e.g. MyControlGroup
gra:<Graphic viewer name>e.g. MyGraphic
trd:<Trend viewer name>e.g. MyTrend
pnt:<Point instance name> e.g. PDIC100_I
For all types of search, the action is to open the corresponding mimic.
10. Logon Button to logon and the name of the current User.
11. No Station number.
12. Alarm Ack Acknowledge the displayed alarm.
13. No beep Mute audible alarm.
14. Alarm viewer showing the most recent alarm only.
- 335 -
- 336 -
BACnet
- 337 -
Overview of the BACnet Smart Generator
The BACnet Smart Generator imports a BACnet configuration file from which it generates the following con-
figuration objects for the Supervisor.
l Variable definitions.
l BACnet communication network and devices.
l Mapping of variables to the properties of the BACnet device objects.
For a comprehensive list of configuration objects that can be generated see the topic BACnet Generated Con-
figuration Elements.
The following file types are supported.
l EDE (Engineering Data Exchange) - A file format promoted by the BIG-EU organization. (BACnet
Interest Group - Europe). The Smart Generator supports EDE version 2.2.
l IEIEJ - a file format specified by the Institute of Electrical Installation Engineers of Japan.
- 338 -
The Smart Generator guides you through the following steps. Show picture
1. Selecting the BACnet project type (EDE or IEIEJ). Select Project Type dialog
2. Selecting the project file from which the variables are to be imported. Select Project dialog
3. Variable branch management. Branch Management dialog
4. Selecting the devices and notification classes to be imported. Select Devices and Notification Classes
dialog
5. Selecting the import type from either Full or Custom. Select Import Type dialog
6. Selecting the variables to import if you selected Custom Import in the previous step. Select Variables
dialog
7. Generating the variables. Generate Variables dialog
8. Renaming any variables with invalid names. Rename Variables dialog
9. End
- 339 -
BACnet Select Project Type Dialog
The Select BACnet Project Type dialog is the first step of the Smart Generator BACnet wizard. It is used to
select the type of BACnet project file from which the variables are to be imported. You can select either an
EDE or IEIEJ (Institute of Electrical Engineers of Japan) formats. Show picture
- 340 -
BACnet Select Project Dialog
The Select BACnet Project dialog is the second step of the Smart Generator BACnet wizard. It is opened
from the Next button in the Select Project Type dialog. It is used to select the BACnet project file from which
the variables are imported and the configuration of the communication objects generated. Show picture
1. Enter the full path and name of the file in the File name field. The ellipsis button adjacent to field
opens a standard File Select dialog.
2. To import a Units Definition File select the Include unit definition file property and enter the name of
the file. See below
3. Click the Advanced button if you need to change any of the advanced properties. See the Advanced
Options topic.
4. Click Next to proceed to the next step Branch Management dialog.
- 341 -
BACnet Advanced Options Dialog
The Advanced Options dialog is opened from the Advanced button in the Select Project dialog of the BACnet
Smart Generator. Show picture
Click OK to confirm any changes the options and return to the Select Project dialog.
Networking list
The networking lists are used to control the behavior of the Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the Smart Generator as follows.
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
Options tab
The Options tab allows you to view and change the equipment properties and enable the use of custom attrib-
utes. Show picture
l Network name - The name given to the BACnet network created in the Supervisor.
l CSV delimiter - The character used to delimit fields in the imported files. The default is the character
specified as list separator in your system’s Region and Language settings.
l CSV encoding - The character encoding used in the imported files. Clicking in the field displays a drop
down list box from where the selection is made. The default is the encoding for your system’s current
ANSI code page.
l Default write priority - The BACnet default write priority. The default is 16.
- 342 -
BACnet Branch Management Dialog
The Branches Management dialog is the third step of the Smart Generator BACnet wizard. It is opened from
the Next button in the Select Project dialog. It is used to modify variable names imported from the selected
file so that they conform to the Supervisor's hierarchical naming scheme.Show picture
1. To prefix all variable names with a branch or branches enter it into the Global branch field.
2. To structure variable names by inserting a branch separator after any number use Use numeric char-
acters as branch separator.
3. To structure variable names by replacing a particular character or character sequence with the branch
separator use Use character sequence as branch separator and enter the Sequence.
4. Click Next to proceed to the next step Devices and Notification Classes dialog.
A branch separator is not added when there is a numeric character at the end of the name.
A branch separator is not added when the character sequence is at the end of the name.
- 343 -
BACnet Devices and Notification Classes Dialog
The Devices and Notification Classes dialog is the fourth step of the Smart Generator BACnet wizard. It is
opened from the Next button in the Branches Management dialog. It is used to select those devices and noti-
fication classes that are to be imported. Show picture
The Replace button can be used to open a search and replace dialog which can be used to change the names
of the devices or notification classes.
Click Next to proceed to the next step Import Type dialog.
- 344 -
BACnet Import Type Dialog
The Import Variables dialog is the fifth step of the Smart Generator BACnet wizard. It is opened from the
Next button in the Devices and Notification Classes dialog. It is used to select either a Full Import or Custom
Import. At this stage of the wizard the import file has been read and the number of variables are displayed
in the dialog. Show picture
l To import all variables select Full Import and click the Next to proceed to the next step Generate Vari-
ables dialog.
l To view the available variables and select those to import select Custom Import and click Next to pro-
ceed to the next step Select Variables dialog.
- 345 -
BACnet Select Variables Dialog
The Select Variables dialog is the sixth step of the Smart Generator BACnet wizard. It is opened from the
Next button in the Import Variables dialog. It is used to display and select those variables from the symbol
file that are to be imported.Show picture
l Using the Bit, Register and Text tick boxes to select the type of variable (as it will be converted to in
the Supervisor).
l Using the name filter. Wildcards * (matches any string) and ? (matches a single character) are sup-
ported. For example:
l 'Pump1' would only match a variable called 'Pump1'.
l 'Pump?' would match 'Pump1' or 'Pump2' etc. but not 'Pump10'.
l 'Pump*' would match 'Pump1', 'Pump2' and 'Pump10' but also 'Pumpkin'.
- 346 -
BACnet Generate Variables Dialog
The Generate Variables dialog is the final step of the Smart Generator BACnet wizard. It is opened from the
Next button in the Select Variables dialog. It is used to review and edit the names of the variables before
they are generated. Show picture
How to select and change the name of some or all variables, or all invalid variables
l Click the Rename Invalid button to open the Rename Variable dialog with a list of all variables with
invalid names.
l Click the Rename Selected button to open the Rename Variable dialog with a list of selected variables.
- 347 -
BACnet Rename Variables Dialog
The Rename Variables dialog is opened from the Import Variables dialog or Select Variables dialog and is
used to rename variables before generation. Show picture
The left hand column contains the full name of each variable. The other columns show the name of the vari-
able separated into branches. The final column on the right hand side displays the number of characters in
the name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing. In
either case you will return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+ click to select several individual variables. Ctrl+a selects all of the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+ click to select several individual variables. Ctrl+a selects all of the variables.
2. Select two or more branches that are to be merged by clicking on the column header. You can only
merge consecutive branches.
3. Click the Merge button to delete the branches from the variable name.
- 348 -
3. Enter the strings to search and replace.
4. Click OK to perform the search. Only text in the selected variables and branches is modified.
- 349 -
BACnet Generated Configuration Elements
The Supervisor's configuration elements are generated from the BACnet configuration elements as follows.
BACnet network
Configuration element and/or property in the
From input file From user input
Supervisor
Network name BACnet network
Server list Network Servers list
- 350 -
18 Averaging
19 Multistate value
23 Accumulator
24 Pulse converter
* Notification class is treated in a special manner. See the help for the Supervisor's BACnet driver.
An EDE import references the Keynames in the EDE file instead of directly mapping the address on
the device. The EDE files are copied into the TP project folder.
- 351 -
Beckhoff TwinCAT
- 352 -
Overview of the TwinCAT Smart Generator
The Beckoff TwinCAT Smart Generator imports a TwinCAT project file, *.tpy, from which it generates the fol-
lowing configuration objects for the Supervisor.
l Variable definitions.
l Communication network (Ethernet TwinCAT), node and frames.
l TwinCAT Variable Definition files. As the addressing in TwinCAT frames is alias (name) based, and
those in the Supervisor are address based, an additional file is generated for each frame which
provides a link between the Twincat alias and the Supervisor's address.
l Links between the variables and the communication frames.
Custom attributes
The TwinCAT Smart generator allows the definition of custom attributes for data point symbols in the *.tpy
file. The information is stored in the comment field of the TwinCAT symbol which is used for passing meta
data from TwinCAT to 3rd party systems. See the topic TwinCAT Custom Attributes.
- 353 -
The TwinCAT Smart Generator is started from the New TwinCAT import task in the Smart Generators Man-
agement dialog. Show picture
The Smart Generator guides you through the following steps. Show picture
1. Selecting the TwinCAT project file from which the variables are to be imported. Select Project dialog
2. Variable branch management. Branch Management dialog
3. Selecting the import type from either Full or Custom. Select Import Type dialog
4. Selecting the variables to import if you selected Custom Import in the previous step. Select Variables
dialog
5. Generating the variables. Generate Variables dialog
6. Renaming any variables with invalid names. Rename Variables dialog
7. End
- 354 -
TwinCAT Select Project Dialog
The Select TwinCAT Project dialog is the first step of the Smart Generator TwinCAT wizard. It is used to
select the TwinCAT project file from which the variables are imported and the configuration of the com-
munication objects generated. Show picture
1. Enter the full path and name of the *.tpy file in the File name field. The ellipsis button adjacent to field
opens a standard File Select dialog.
2. Enter an Alias for the equipment. This is the name by which the equipment will be known in the Super-
visor.
3. Click the Advanced button if you need to change any of the advanced properties. See the Advanced
Options topic.
4. Click Next to proceed to the next step Branch Management dialog.
- 355 -
TwinCAT Advanced Options Dialog
The Advanced Options dialog is opened from the Advanced button in the Select Project dialog of the TwinCat
Smart Generator. Show picture
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
Networking list
The networking lists are used to control the behavior of the Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the Smart Generator as follows.
Options tab
The Options tab allows you to view and change the equipment properties and enable the use of custom attrib-
utes. Show picture
l Equipment
l AMS Net ID - The AMS Net ID as imported from the TwinCAT Symbol file. Edit to change the
value generated in the Supervisor.
l Port - The port number as imported from the TwinCAT Symbol file. Edit to change the value gen-
erated in the Supervisor.
l Input file
l Use custom attributes - Enable the use of custom attributes. See the topic TwinCAT custom
attributes.
If Use Custom Attributes is set any symbol in the imported file, that does not have the keyword SV_
Import set to True, will not be imported.
- 356 -
TwinCAT Branch Management Dialog
The Branches Management dialog is the second step of the Smart Generator TwinCAT wizard. It is opened
from the Next button in the Select Project dialog. It is used to modify variable names imported from the
symbol file so that they conform to the Supervisor's hierarchical naming scheme.Show picture
How to modify the variable names imported from the symbol file
1. To prefix all variable names with a branch or branches enter it into the Global branch field.
2. To structure variable names by inserting a branch separator after any number use Use numeric char-
acters as branch separator.
3. To structure variable names by replacing a particular character or character sequence with the branch
separator use Use character sequence as branch separator and enter the Sequence.
4. Click Next to proceed to the next step Import Variables dialog.
A branch separator is not added when there is a numeric character at the end of the name.
A branch separator is not added when the character sequence is at the end of the name.
- 357 -
TwinCAT Import Type Dialog
The Import Variables dialog is the third step of the Smart Generator TwinCAT wizard. It is opened from the
Next button in the Branch Management dialog. It is used to select either a Full Import or Custom Import. At
this stage of the wizard the symbols file has been read and the number of variables are displayed in the dia-
log. Show picture
l To import all variables select Full Import and click the Next to proceed to the next step Generate Vari-
ables dialog.
l To view the available variables and select those to import select Custom Import and click Next to pro-
ceed to the next step Select Variables dialog.
- 358 -
TwinCAT Select Variables Dialog
The Select Variables dialog is the fourth step of the Smart Generator TwinCAT wizard. It is opened from the
Next button in the Import Variables dialog. It is used to display and select those variables from the symbol
file that are to be imported.Show picture
l Using the Bit, Register and Text tick boxes to select the type of variable (as it will be converted to in
the Supervisor).
l Using the name filter. Wildcards * (matches any string) and ? (matches a single character) are sup-
ported. For example:
l 'Pump1' would only match a variable called 'Pump1'.
l 'Pump?' would match 'Pump1' or 'Pump2' etc. but not 'Pump10'.
l 'Pump*' would match 'Pump1', 'Pump2' and 'Pump10' but also 'Pumpkin'.
- 359 -
TwinCAT Generate Variables Dialog
The Generate Variables dialog is the final step of the Smart Generator TwinCAT wizard. It is opened from
the Next button in the Select Variables dialog. It is used to review and edit the names of the variables before
they are generated. Show picture
How to select and change the name of some or all variables, or all invalid variables
l Click the Rename Invalid button to open the Rename Variable dialog with a list of all variables with
invalid names.
l Click the Rename Selected button to open the Rename Variable dialog with a list of selected variables.
- 360 -
TwinCAT Rename Variables Dialog
The Rename Variables dialog is opened from the Import Variables dialog or Select Variables dialog and is
used to rename variables before generation. Show picture
The left hand column contains the full name of each variable. The other columns show the name of the vari-
able separated into branches. The final column on the right hand side displays the number of characters in
the name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing. In
either case you will return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+ click to select several individual variables. Ctrl+a selects all of the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+ click to select several individual variables. Ctrl+a selects all of the variables.
2. Select two or more branches that are to be merged by clicking on the column header. You can only
merge consecutive branches.
3. Click the Merge button to delete the branches from the variable name.
- 361 -
3. Enter the strings to search and replace.
4. Click OK to perform the search. Only text in the selected variables and branches is modified.
- 362 -
TwinCAT Variable Types
TwinCAT variables are converted to Supervisor variables as follows.
Complex types
l Supported
l STRUCT
l ARRAY (single dimension)
l Not supported
l LINT
l ULINT
l ARRAY (multi dimension)
- 363 -
TwinCAT Custom Attributes
The TwinCAT Smart generator allows the definition of custom attributes for each data point symbol in the
*.tpy file. The information is stored in the comment field of the TwinCAT symbol which is used for passing
meta information from TwinCAT to 3rd party systems.
The syntax of the custom attributes consists of a set of key/value pairs in typical TwinCAT format. The syn-
tax has been selected so as not to interfere with other items that use the comment field.
The following keywords are supported.
Name Values Types Description
SV_Import true | false Standard and complex Indicates if it is to be used in the
import. If the property Use cus-
tom attributes is set the fol-
lowing logic is used to include or
exclude symbols. If used on a
complex type all included vari-
ables are affected.
- 364 -
String values are not required to be enclosed in quotes.
- 365 -
CAD
- 366 -
Overview of the CAD Smart Generator
The CAD Smart Generator imports information from two of the most commonly available CAD file formats.
l DWG, AutoCAD’s efficient native format for storing 2D and 3D design data and metadata in binary
files.
l DXF (Drawing eXchange Format), defined by AutoDesk Inc. for transferring CAD files between sys-
tems with different native formats, via ASCII encoded files.
AutoCAD versions are supported as follows: 12, 13, 14, 2000, 2004, 2007. 2010 and 2011.
Some of the more recent object types are not documented, or only partially documented, for the
DXF format.
The Smart Generator for CAD can be used under 64 bit (x64) operating systems.
The Smart Generator converts the contents of the CAD file into an image (WMF, JPG, BMP or PNG) and cre-
ates a mimic in which the image is displayed. This mimic is known as the primary mimic. Additional mimics
(and corresponding images) can be created from the same CAD file showing different views, zoom levels,
layers etc. These mimics are known as sub-mimics. Each time that you create a sub-mimic, a corresponding
link-open animation is automatically generated in the primary mimic. Show picture
- 367 -
has a name and a value that may symbol.
apply across all of its all blocks of a
particular type or to a single block.
X-Ref A reference to another CAD file. The X-Ref CAD files are used to provide additional detail
for the main CAD drawing. For example the main CAD
file might show a building's structure whilst one or more
X-refs might provide detail on services, lighting etc. X-
refs can be filtered and selectively included in the gen-
erated image.
l Start the Smart Generator from the New CAD Import command on the Task Toolbar. Show picture
l Opening the CAD drawing file and creating the primary mimic.
l Creating sub-mimics.
l Adjusting the resulting image in various ways (colors, crop, zoom, rotate etc.).
l Substituting CAD blocks and block attributes with the Supervisor's symbols.
l Selecting output options.
l Generating the mimics.
You must start a new CAD import for each CAD drawing that you want to import.
- 368 -
Opening a CAD Drawing File and Creating the Primary Mimic
The CAD Import dialog is displayed via the New CAD Import command from the left pane of the Smart Gen-
erator workspace. In it you can select the CAD file to import and you can configure the size and location of
the image that will be stored within the primary mimic.Show picture
1. Enter the path of the CAD file. The ellipsis button '...' opens a Windows file selector dialog for doing
so.
2. Enter the size (shown in the picture, to the right and below the drawing) and position (of the top left
corner) of the image. The mimic will be sized to fit the image if you are not using a mimic template.
3. If your project uses mimic templates, use the field Default mimic template to enter the template
name. The ellipsis button opens a browser dialog that displays a list of templates that are available.
4. Click the OK button. The CAD Smart Generator opens and the primary mimic is created.
- 369 -
The CAD Smart Generator Menus and Toolbar
After you open a CAD drawing file, the main CAD import dialog is displayed. Show picture
The dialog is complex and contains many controls to manipulate the contents of the CAD file before it is
imported into the Supervisor as a mimic. It is important to understand these controls before completing an
import.
l The top part lists the mimics that will be generated in the Supervisor from the CAD file. In the
example there are two mimics, LaDefense - the primary mimic, and LaDefense2 - a sub-mimic in
which the image of the CAD file has been zoomed and cropped.
l The lower part displays the properties of the mimic that is currently selected. Some of the properties
can be changed directly from here, for example, the layers that are displayed.
l The top part displays a list of blocks that have been imported. In the example there are two, R and
Regulator.
l The lower part displays the properties of the block that is selected. Some of the properties can be
changed directly from here, for example, the symbol that is to be substituted for the block.
The toolbar
The toolbar tools are used to create and manipulate additional mimics (sub-mimics) based on the CAD file.
Some of the tools are not displayed as standard and must be first enabled using commands from the Con-
figuration.View menu.
- 370 -
Tool Use
Create new mimic Create a new sub-mimic.
Save the configuration (zoom, crop and rotation) of the CAD file within the selected
Save mimic
sub-mimic.
Restore the original view of the CAD file within the selected mimic. Resets any
Restore settings
zoom, crop or rotation operations.
Symbol preview Display a preview of the symbols.
Save all mimics Save the configuration of the CAD file within all mimics.
Crop mode Changes the crop mode.
The menu
l File
Save
l
Quit
l
l Global filters - Display and apply filters to the Xrefs, layers and blocks of all sub-mimics. For
details, see the topic Selecting the colors, layers and blocks.
l View - Change the options available from the toolbar. For details, see the topic Zooming, crop-
ping and rotating the drawing. Show picture
Options - General options related to mimic generation. For details see the topic Mimic Gen-
l
- 371 -
The CAD Smart Generator Mimic Generation Options Dialog
You can open the Options dialog from the CAD Smart Generator's main menu Configure.Options. Show pic-
ture
l Graphical settings
l Global rotation angle - To set the angle of rotation of all graphics, in degrees.
l Display texts - Tick to display the texts in the graphics, or un-tick to hide them.
l Generated mimics
l Format of image output - Select the format to be used for all background images.
l File extension of mimic output - To put a suffix on all mimics' names, enter it here.
l Use mimic name as mimic title - Set the mimic title to its file name.
l Generate mimic links - Tick to generate the mimics' links, or un-tick to omit them.
l Display mimic name in tooltip - Tick to provide tooltips to display the mimics' names, or
un-tick to omit them.
l Symbol position reference - Select where the reference of each of the Supervisor's symbols is
to be positioned. Either at the center or at the anchor of each block.
- 372 -
Creating Sub-Mimics
In addition to the primary mimic you can create one or more sub-mimics from the CAD drawing. The image
of the CAD drawing in the sub-mimics can be zoomed, cropped and rotated. (The image in the primary
mimic is always created at 100% and cannot be rotated.) Each time you create a sub-mimic, a Link-Open
animation is automatically created in the corresponding area of the primary mimic. Show picture
To create a sub-mimic:
1. Click and drag the cursor to select the required part of the main drawing.
2. Click the Create new mimic tool on the toolbar. You will be prompted to enter the name of the mimic
and the size and location of the image. Show picture
- 373 -
CAD Configuring the image generated from the CAD file
- 374 -
Zooming, Cropping and Rotating the CAD Drawing
You can pan, zoom, crop and rotate the view of the CAD drawing. This is useful when you want the gen-
erated mimic to only include part of the original CAD drawing.
Although you can zoom, crop and rotate the CAD drawing in the Smart Generator's display of the
primary mimic, this is only for convenience of viewing. It is not taken into account when the mimic
is generated. For information on creating other mimics from the same CAD drawing see the topic
Creating sub-mimics.
Panning
To pan the CAD drawing (change its center relative to the center of the mimic), click and hold the right
mouse button and drag. When the mouse button is released the view of the drawing will move following the
cursor movement.
Zooming
You can zoom the CAD drawing using these methods.
l Using the scroll wheel on your mouse. Rotating the wheel forward increases the zoom level, back-
wards decreases it.
l By entering the zoom level in the CAD zoom field of the toolbar.
Cropping
You can crop the CAD drawing as follows.
1. Click and hold the left mouse button and drag the cursor. A dashed rectangle appears indicating the
crop area.
2. When the mouse button is released the view of the CAD drawing will zoom and pan to display only the
area contained within the rectangle.
Rotating
To rotate the CAD drawing, enter the new rotation angle in the Rotation angle field of the toolbar.
You can also click on the center button of the mouse, which may also be its center wheel:
l To rotate the image clockwise, click the center button and move the mouse to the right.
l To rotate the image counter clockwise, click the center button and move the mouse to the left.
l Click again to leave the rotation mode.
- 375 -
Selecting the Colors, Layers and Blocks
The colors, the displayed layers and the displayed blocks of a CAD drawing can all be changed before an
image is generated. These properties are identified and can be modified from the Image section in the left-
hand pane of the CAD Smart Generator's configurator dialog. Show picture
1. In the left pane click on the property Image.Drawing color. An ellipsis button '...' will appear on right
side of the row. Click the ellipsis button and the Supervisor's color palette opens.
2. Select the new color for the layers. The color is applied to all the layers when the color palette is
closed.
To restore the original colors follow the same procedure selecting the transparent color.
1. In the left pane click on the property Image.Background color. An ellipsis button will appear on right
side of the row. Click the ellipsis button and the Supervisor's color palette opens.
2. Select a new color or the transparent option for the background. The color is applied to the back-
ground when the color palette is closed.
1. In the left-hand pane, click on the property Image.Layers. An ellipsis button will appear on right-hand
side of the row. Click the ellipsis button '...'to open the Smart Generator's Layer Filter dialog. Show
picture
- 376 -
2. Tick or untick the layers as required. The affected layers are displayed or hidden immediately.
3. Click OK to close the dialog.
1. In the left-hand pane, click on the property Image.Blocks. An ellipsis button will appear on right side
of the row. Click the ellipsis button '...' to open the Smart Generator's Blocks Filter dialog. Show pic-
ture
2. Tick or untick the blocks as required. The affected blocks are displayed or hidden immediately
3. Close the dialog.
- 377 -
Configuring the Image Size and Location
By default the image that is generated from the CAD drawing is sized so that it fills the entire mimic. Any
space not occupied by the CAD drawing is filled with the background color. This is not always convenient if
you want to add other drawing elements in the mimic once it has been generated.
You can change the size and location of the image from the Mimic section in the left-hand pane of the CAD
Smart Generator. Show picture
To change the size or location click into the relevant field, for example Height, and type in the new value.
After you modify the image size the CAD drawing is automatically scaled to fit - you may then need to manu-
ally change this to suit your requirements.
You cannot change the image size or location of the image in the primary mimic. For information on
creating other mimics from the same CAD drawing see the topic Creating sub-mimics.
- 378 -
CAD Substituting blocks with the Supervisor's symbols
- 379 -
Substituting CAD Blocks with the Supervisor's Symbols
You can substitute the blocks in a CAD drawing with a symbol from the Supervisor. When the mimics are gen-
erated, each block reference is replaced by an instance of the symbol and an optional branch. The symbol is
overlaid on the image at the position of the original block reference.
Example
This CAD drawing contains several instances of a block called LB representing a lighting ballast. In the fol-
lowing picture the block appears as a white rectangle with vertical lines. Show picture
The Supervisor is to read the status of each ballast from the lighting control PLC. A symbol, including vari-
ables to display the status, is used to represent each of the ballasts in the Supervisor's mimics. Using the
CAD Smart Generator, the CAD block LB is replaced by the symbol LB1. Each instance (block reference) of
the block is replaced with an instance of the symbol and a variable branch so that it references the correct
variables in the Supervisor's variables tree.
1. Right-click in the top right-hand pane of the CAD Smart Generator and select Import CAD Blocks from
the pop-up menu. A dialog opens displaying the list of blocks available in the drawing. Show picture
2. Un-tick those blocks that are not to be substituted by one of the Supervisor's symbols. You can un-tick
all the blocks by right-clicking and selecting Unselect all from the pop-up menu.
3. Click OK to close the dialog and confirm selection of the blocks. A list of the selected blocks is now dis-
played in the top right pane.
4. Select one of the blocks listed there. The lower right-hand pane displays the selected block's prop-
erties. Show picture
- 380 -
5. Select the property Default symbol association.Symbol name. An ellipsis button '...' appears to the
right of the property. Click it to open a dialog displaying a list of the Supervisor's symbols. Select the
symbol that is to replace the block and click OK.
6. To change the mimic layers in which the symbol will be visible use the property Default symbol asso-
ciation.Layers. By default a symbol will be visible in all layers.
7. To change the visibility bound (the mimic zoom level at which the symbol is visible) use the property
Default symbol association.Visibility bound. By default a symbol is visible throughout the Supervisor's
zoom range.
8. To add a variable branch that will be used with all instances of the symbol use the property Symbol
instantiation.Branch. The branch is entered as an expression. See the topic Block symbol branch
expression. The expression is set to BlockReferenceName() by default.
9. Repeat steps 4 to 9 for the remainder of the blocks in the top right pane.
1. Select one of the blocks in the top right pane. The lower right pane displays the block's properties.
2. Select the property Imported CAD blocks.References. An ellipsis button '...' appears to the right of the
property.
3. Click that button to open the References Editor dialog. The left-hand pane contains a list of the block
references and the right-hand pane contains the properties of the selected block reference. Show pic-
ture
4. Un-tick those block references that are not to be substituted by one of the Supervisor's symbols. You
can un-tick all the blocks by right clicking and selecting Unselect all from the pop-up menu.
5. In the left-hand pane, select each of the ticked block references in turn. In the right-hand pane con-
figure the variables tree branch to be used with the instance of the symbol for that reference. The
branch is constructed by concatenating the Inherited branch (from the block properties - see above)
with the Branch property. The Branch is entered as an expression. See the topic Block symbol branch
expression..
6. Repeat steps 1 to 5 for the remainder of the blocks in the top right-hand pane.
7. Click the OK button to close the References Editor dialog.
- 381 -
When you select a reference in the References Editor, a white rectangle appears around the corresponding
block on the map. Conversely when you click on a block's position on the map, its reference is highlighted in
the Reference Editor's list. Show picture
- 382 -
CAD Block Symbol Branch Expression
When a symbol is instantiated its branch is concatenated from two properties.
l The Symbol instantiation.Branch property entered in the properties grid where a symbol is substituted
for a block. Show picture
l The Symbol instantiation.Branch property entered in the properties grid for each instantiation of a
symbol. Show picture
In the properties grid for each instantiation of a symbol, the first Symbol instantiation.Branch property is
shown as the Inherited branch.
In both cases the branch is entered as an expression which can contain the following elements.
The expression is entered using the Symbol Branch Editor dialog which is opened from the Ellipsis button
adjacent to the branch field. Show picture
l Fixed strings are typed directly into the dialog. They must be enclosed in quotation marks.
l Variable branches can be typed in directly or selected from a dialog opened using the tool.
- 383 -
l Block attributes can be selected from a dialog opened using the tool. Show picture
l Functions can be typed in or selected from a context menu that is displayed using the key combination
Ctrl+Space. Show picture
For a complete list of functions see the topic Application Architect.Differentiation.How to enter an
expression.Function and Operator reference.
- 384 -
Generating the Mimics
Generating the mimics is the final step of the CAD drawing import process. For each mimic a corresponding
image is generated. The following options affect the generated output. To configure them, you open a dialog
via the Configuration.Options command in the CAD Smart Generator.
1. In the main menu of the CAD Smart Generator menu, click on Generate.Generate Mimics.
2. If you have not saved your recent changes you are prompted to do so after which the Select targets to
generate dialog is displayed. Show picture
3. Un-tick any mimics that are not to be generated. For convenience, you can choose Unselect All or
Select All using a right click. Click on OK to start the generation. A progress dialog is displayed.
4. When the generation is complete, the Close button becomes active. Click on it to return to the CAD
Smart Generator.
- 385 -
FL
- 386 -
Overview of the FL Smart Generator
The FL Smart Generator imports a FL project from which it generates the following configuration objects for
the Supervisor.
l Variable definitions (including array variables, alarms, historical, OPC and Modbus configuration).
l OPC configuration elements (OPC servers and OPC groups).
l Links between variables and OPC configuration elements.*
l Math and logic procedures.**
l Mimics and mimic templates.
l Local library (symbols and images).
l Shared libraries (symbols and images). Imported as the Supervisor's global libraries.
* Only if you intend to use the FL OPC server with the Supervisor.
** Copy only - no automatic conversion.
l Install the Supervisor via a Custom installation in which you select this module.
- 387 -
An entry for the Smart Generator for FL is then added to the Smart Generators menu.
l In the FL Client Builder, select the menu Display/Library Converter then follow its process.
l Start the Smart Generator from the New FL Import command on the Task Toolbar. Show picture
l Selecting the FL project folder from which the variables are to be imported.
l Selecting a full or custom import.
l Selecting the variables to be imported if you have chosen custom import.
l Optionally renaming the variables and managing the branches.
l Generating the variables.
l Importing graphical items from the Client Builder project.
By default the FL data structure for variables is transferred to the Supervisor's variables tree. Tools
for managing branches are available via the Rename Variables step.
For ECS elements you must first convert the graphics to Client Builder using ECSCONVERT, a tool in
the FL package.
- 388 -
The FL Select Application Dialog
The Select Application dialog enables you to select the FL application folder from which the variables are to
be imported. Show picture
1. In the Application/Path box, enter or select the path to the FL application folder.
2. In Branch Separator, enter the character used by FL that will be converted to the Supervisor's branch
separator of '.'. The default for FL is underscore '_'.
3. In the Variables section, use the drop-down box to select how the variables will be imported into the
Supervisor. They can be imported as Internal or OPC variables.
4. If you have selected the variables as OPC type you can choose to use FL as the OPC server by ticking
the option Use FL as an OPC Server. See below for more information.
5. Configure any options. See the topic FL Import Options for more information.
6. Click Next to display the Import Variables dialog.
- 389 -
FL Import variable options
- 390 -
The FL Import Variables Options Dialog
The Options dialog is opened from the Options button in the Select Application dialog.
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
l Tags
l Import "SHARED" tags only - Shared tags are those FL tags that share a common value on a
multi-station application.
l Import "USER" tags only. User tags are those that do not share a common value on a multi-sta-
tion application
l Import both "SHARED" and "USER" tags. This is the default setting.
l Domains
l Generate USER and SHARED domains - Create the USER and SHARED domains and add the rel-
evant domain to each of the imported variables.
l Arrays - See the topic Importing array variables.
l Alarms - See the topic Importing alarms.
l Historical - See the topic Importing historical configuration.
l OPC configuration - See the book Importing OPC configuration.
l Modbus configuration - See the topic Importing Modbus configuration.
l Math and logic - See the topic Importing math and logic procedures.
l Reports configuration - See the topic Importing reports configuration.
l Variables
l Initialize bit tags to 0 - Sets the option in the Supervisor to initialize internal bit variables to a
value of 0.
l Import default values - Sets the option to save variables so that their value is maintained
through a shutdown and restart. Creates the corresponding persistence file.
l Generate cross reference file - Causes the Smart Generator to create a CSV formatted file con-
taining, for each of the tags, the original FL tag name and the name of the corresponding vari-
able in the Supervisor. Not used by the application but a useful reference for debugging after the
import.
The options and resulting actions are described in the subsequent topics.
When you have configured the options, select the Next button to open the Array Format dialog.
- 391 -
Importing FL Array Variables
FL allows the use of single and multi-dimensional array variables in its projects. As array variables are not
supported by the Supervisor, when an array variable is imported the array index is converted to a variable
branch. For example a single dimensioned array in FL called PUMP_STATUS might be converted to the vari-
ables PUMP.STATUS.0, PUMP.STATUS.1 etc. in the Supervisor.
The way in which the array index is converted to the branch is controlled by the following properties in the
Arrays section of the Import Options dialog.
l Array formats
l Standard arrayname.[dimension 1]...[dimension n]
- for example in the Supervisor PUMP.STATUS.1
l Reversed [dimension 1]...[dimension n].arrayname
- for example in the Supervisor 1. PUMP.STATUS
l Import multi-dimensional arrays - Allow the import of arrays with more than 1 dimension. The max-
imum theoretical number of dimensions is 5 (the Supervisor's variables can have a maximum of 6 ele-
ments).
l Add a leaf variable for a standard format array - Adds a specified leaf (final element) to the generated
variable name, for example PUMP.STATUS.1.VAL. This is useful when you want to use the array vari-
ables in a symbol. The leaf is referenced within the symbol and the remainder of the variable name
used as the branch when the symbol is instantiated.
- 392 -
Importing FL Alarms
You can import FL alarms that are generated from either digital or analog tags.
l If the FL tag is digital then a bit variable with the Alarm property set will be generated.
l If the FL tag is analog then the alarms can be imported as either an expression attached to a bit vari-
able, or as a register with the threshold system enabled. How analog alarms are imported depend on
the options selected when importing and the actual alarm conditions configured in FL.
Exactly how alarms are imported is best illustrated by an example. Consider the following Alarm Definition
Information dialog from a particular FL configuration.
It will also store the following information in the extended attributes of the generated variable.Show picture
- 393 -
l Import alarm status.
l Import alarm mask.
l Import analog alarms as
l Expressions only - Create an expression and bit for each alarm condition.
l Thresholds only - Create a register variable with thresholds for each alarm condition.
l Expressions or thresholds according to the alarm condition - Create an expression and bit, or
register with thresholds as applicable to the alarm condition.
Smart Generator generates a proprietary archive unit MYDPLOG and the corresponding trend objects. Show
picture
Smart Generator generates a proprietary archive unit named MYTREND and the corresponding trend
objects. Show picture
- 394 -
Importing OPC configuration
Importing a FL OPC Configuration
You can import FL configuration elements for OPC communication, irrespective of the types of variables to
be generated (OPC or internal).
l OPC client.
l OPC ODX.
Example
Here is an OPC client configuration to consider. The OPC Servers and Groups are as follows. Show picture
The FL tag OPCTAGS_VAR1 is mapped onto the OPC server OPCDAServer.ModbusExplorer.1 (localhost). The
OPC Item ID is Device1.Default.01 and the OPC Group is GROPC1 (update rate = 100 ms).
From these configuration elements, the Smart Generator will generate the following.
l An OPC Group GROPC1 with update rate of 100 ms. Show picture
- 395 -
l An OPC Variable tag OPCTAGS.VAR1. Show picture
Example
Here is a configuration with three OPC server aliases: DIDI_IN, DIDI_OUT and FS. Show picture
The FS alias represents a local ModbusExplorer OPC Server. An OPC group, GR1, has been configured.
Attached to group GR1 are two FL tags mapped on the same OPC item ID. Show picture
- 396 -
l Three OPC servers and their associated OPC groups. Show picture
- 397 -
Importing FL Math and Logic Procedures
FL IML (Interpreted Math & Logic) procedures are similar to the Supervisor's own SCADA Basic programs.
Many Math and Logic procedures can be converted to SCADA Basic via a manual process. To assist with this,
any Math and Logic procedures found by the Smart Generator are processed as follows.
l Shared procedures are copied to the Math and Logic (SHARED) sub-folder of the projects P folder.
l User procedures are copied to the Math and Logic (USER) sub-folder of the projects P folder.
l The files (FLPROCS.DAT for SHARED and FLPROCU.DAT for USER) are generated. These contain one
line for each procedure containing the tag, procedure name and (optional) comment.
Code format
Each procedure is formatted as a skeleton SCADA Basic program with a copied body as follows.
Triggers
Each IML trigger tag is imported as an Event or Cyclic action, depending on the nature of the trigger tag. For
details of their effects in the Supervisor, see the sub-books for Cyclic and Event actions in the main Help's
book on Cyclic, Event and Scheduler Actions.
Example
The Smart Generator might create a SCADA BASIC program TempProg containing the corresponding IML pro-
cedure in comments as follows. Show code
sub TempProg()
' proc TempProg
' begin
' if Temp_Value > Temp_SetPoint then
' Temp_Value = Temp_Value - 1
' endif
'
' if Temp_Value < Temp_SetPoint then
' Temp_Value = Temp_Value + 1
' endif
' end
end sub
end sub
The Smart Generator creates new files listing the procedures (FLPROCS.DAT for SHARED and FLPROCU.DAT
for USER) then creates the corresponding program files.
Here is an example of PROCS.DAT contents (tag; procedure; description). Show code
IM_Lotstart[1];IM_Lotstart1;IM Lotstart procedure
IM_Lotend[1];IM_Lotend1;IM Lotend procedure
IM_Lotend_Rpt_Comp[1];IM_Lotend_Reset1;IM Reset Lotend
MM_Lotstart[1];MM_Lotstart1;MM Lotstart procedure
- 398 -
MM_Lotend[1];MM_Lotend1;MM Lotend procedure
MM_Lotend_Rpt_Comp[1];MM_Lotend_Reset1;MM Reset Lotend
TM_Lotstart[1];TM_Lotstart1;TM Lotstart procedure
TM_Lotend[1];TM_Lotend1;TM Lotend procedure
TM_Lotend_Rpt_Comp[1];TM_Lotend_Reset1;TM Reset Lotend
After the import, the procedure files (.PRG) are listed along with the FLPROCS.DAT file in the sub-folders of
the P folder as follows. Show picture
- 399 -
Importing FL Reports Configuration
You can import report templates from the FL project.
l This generates a file containing the list of aliases and the corresponding variables in the Supervisor.
l A VBA module enables you to generate the report.
- 400 -
The FL Array Format Dialog
The Smart Generator extracts then lists the arrays configured in the FL project. Show picture
l You can choose to import, for each array, the import format for the Supervisor (with index before or
after the array name) according to the Client Builder's configuration.
l You can also un-tick arrays to exclude them from the import list.
- 401 -
The FL Import Variables Dialog
The Import Variables dialog displays the number of variables available and allows you to select a full or cus-
tom import. Show picture
l If you select a full import, all variables will be available for import. Click the Next button to display
the Generate Variables dialog.
l If you select a custom import the Next button displays the Select Variables dialog from where you can
filter and select the variables to be imported.
- 402 -
The FL Select Variables Dialog
Using the Select Variable dialog you can apply a filter to the list of available variables. Show picture
To bypass the filtering, click on the Apply button without changing the default settings.
To filter the variables, use the filter boxes to select them in the following ways.
Variables that pass the filter criteria appear in the Available Items list.
l To select the variables for import, select their names and click the -> button to copy them to the Selec-
ted Variables list.
When the variables required for import are all listed in the right-hand pane, click the Next button to con-
tinue.
The Supervisor does not support all characters for variable naming. For details see the topic Rules
for Variable Naming in the Variable book of the Help.
- 403 -
The FL Generate Variables Dialog
The Generate Variables dialog is the final dialog before the variables are imported. In it, you can review and
edit the names of the variables to be generated.
To avoid conflicts, if there is a FL tag named TIME, USER or DATE, Smart Generator will auto-
matically rename the variable concerned to FLTIME, FLUSER or FLDATE.
You should only re-name variables at this stage if the current name is not compliant with the Super-
visor.
l If any FL tag names are not compliant with the Supervisor, a warning message offers you the choice
of either renaming them or excluding them from the import.
l You can also click the button Rename Invalids to open the Rename Variables dialog. See the topic The
FL Rename Variables dialog.
- 404 -
1. You can double-click on a row to display the Variable Property dialog for the variable. Show pictures
2. Once the variables have their final names, click on Finish to generate the variables in the Supervisor's
variables tree.
3. A time-bar will display the progress in doing so. When you have finished reviewing the variable
names, either click the Finish button to complete the Smart Generator and import the variables
without importing any mimics or symbols from the Client Builder elements, or click Next to continue
to the Import Graphics dialog.
Any variables in the Smart Generator that already exist in the Supervisor are discarded. The cor-
responding variables in the Supervisor are not overwritten or updated in any way.
Any variables shown in red when the Finish button is clicked will not be imported.
- 405 -
The FL Rename Variables Dialog
The Rename Variables dialog is opened from the Generate Variables dialog and provides a tabular display of
all variables that have passed the filter criteria. Show picture
The left column contains the full name of each variable. The other columns show the name of the variable
separated into branches plus the particular name (Name column). The final column on the right hand side
(Length) displays the number of characters in the full name.
Any variables that appear in red have a name that is invalid for use in the Supervisor and must be modified
before they can be imported.
As described below, using the Rename Variables dialog you can:
The buttons to do so become available when you select a variable or variables in the list.
When you have finished editing the variable names, click OK to confirm (or Cancel to cancel the editing) and
return to the Generate Variables dialog.
1. Select a variable or variables in the list then click on the Rename button to open a dialog.
2. Enter a character string (not starting with '.') in the Suffix box and click on OK.
The character '.' and the suffix string are appended to the name of each selected variable. That has the
effect of turning the original variable name into a branch name.
1. Select one or more variables in the left column. You can use Shift + Click to select a group of adjacent
variables or Ctrl + click to select individual variables. Ctrl + a selects all the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the selected branch(es) from the variable name.
- 406 -
3. Enter the strings to search and replace.
4. Click OK to perform the search.
The search can match the Find what string with any part of a variable or branch name.
l You can also leave the Replace with box blank so as to omit part of the naming structure.
Only text strings in the names of the selected variables and branches are modified.
- 407 -
FL Importing graphics
- 408 -
The FL Import Graphics Dialog
The Import Graphics dialog configures the import of graphical objects from FL's Client Builder folder. Show
picture
The Smart generator can only import mimics and symbols that have been saved in ASCII format.
You can convert mimics and symbols to ASCII format in bulk using Client Builder's Library Converter
(menu Display\Library converter).
Using the Import Graphics dialog you configure the import of:
l The mimics, symbols and images contained within a Client Builder project. The files are processed and
copied to the Supervisor's project.
l The mimics, symbols and images contained within the Client Builder shared libraries. The files are pro-
cessed and copied to the Supervisor's global library folder. New library folders, corresponding to
those in Client Builder, are created as required.
l The mimics, symbols and images contained within the Client Builder template project. The files are
processed and copied to the project template folder in the Supervisor's root.
1. Enter a path to a Client Builder's project file (.FVP). You can type in the path directly or select it using
a Windows Explorer dialog opened from the ellipsis button. This path is mandatory.
2. Enter a path to the Client Builder's shared libraries. This path is optional and if it is empty the libraries
will not be imported.
3. Enter a path to the Client Builder's template project. This path is optional and if it is empty the tem-
plate project will not be imported.
4. Select the import options using the Options button. See the topic Graphics options - Options tab.
5. If importing from a multi-lingual project select the language and role options. See the topic Graphics
options - Languages tab.
6. If you want to import the graphic elements only (not the variables) tick the option Generate only
graphics.
7. Click the Finish button to proceed with the import.
The Smart Generator is able to convert both primary and secondary variables. For example, for a Send
Register animation there is one primary variable and up to six secondary (optional) variables.
If you choose not to import animation-related variables from FL, you must ensure that there are
variables in the Supervisor with branch structure and names corresponding to those required in the
animations in the graphic elements derived from FL.
- 409 -
Image, video, audio etc. media files are copied to the destination folder corresponding to the FL
source folder. You must ensure that their formats are compatible with the Supervisor.
- 410 -
The FL Graphics Options - Options Tab
The Options dialog is opened from the Options button in the Import Graphics dialog. Show picture
l General
l Import mimics - Tick to enable import of mimics from the Mimic Files folder.
l Import symbols - Tick to enable import of the symbols from the Symbol Files folder.
l Import images, AVI etc. - Tick to enable import of all images from the Image Files folder.*
l Import options - Tick to import FL configuration options.
l VBA scripts
l Do not import VBA scripts - VBA scripts are not imported.
l Import VBA scripts - VBA scripts are imported.
l Import and comment VBA scripts - VBA scripts are imported but each line is commented out so
that the scripts can be systematically reviewed before they are enabled.
l Advanced
l Copy Config Files content to C folder - Copies the contents of the Client Builder Config Files
folder to the Supervisor's C folder.**
l Rework files during import - Rework files during the import process by renaming variables etc.
* Note that some images may be licensed only for use with FL and therefore should not be used with the
Supervisor. Please check before you enable this option.
** Although this option copies files such as the color palette, some files will be overwritten when the Super-
visor shuts down. See the topic FL import FAQ for more information. Client Builder files for which there is no
equivalent in the Supervisor are not copied (For example SERVERS.DAT and SECURITY.DAT.)
- 411 -
Graphics Options - Languages Tab
FL's Client Builder supports multiple languages and roles. By default it is configured to support three lan-
guages, English, French and German, and four roles, Administrator, Supervisor, Operator and Other.
Wherever you can enter text in Client Builder you can enter a string for each of the roles for each of the lan-
guages making a potential for up to 12 strings for each text.
The Supervisor supports texts for two languages and does not support roles so when importing the mimics
from Client Builder you need to specify which Language/Role combinations you want. Language and Role are
selected from the Options dialog that is opened from the Options button on the Import Graphics dialog. Show
picture
If you do not select a language or role the default setting will import the English/Administrator strings for
both of the Supervisor's languages.
If you want to import strings for two languages you must enable the Supervisor's bilingual option
(Configure.Application Explorer.Settings.Languages) and restart the Supervisor before starting the
import.
You should ensure that Client Builder text has been filled in for the languages chosen. If not, the
imported text will be empty in the Supervisor.
- 412 -
FL Importing Shared Libraries
You must export any VBA User Forms from Client Builder then import them manually into the Super-
visor.
If the shared libraries are imported, the file LIBRARY.DAT is updated.
If an entry is already present in the LIBRARY.DAT file, a similar entry is not appended to it, for example:
LIBRARY, Arrows,"My Arrows","My Arrows",1,0,0,0,1,1)
The resulting shared libraries might appear as follows.
If a symbol is contained in a mimic, this process is transparent. For instance a symbol from the folder
Shared Libraries\MySpecialLib will be copied to the folder Lib\MySpecialLib then processed.
- 413 -
FL Importing the Template Project
The template project elements are imported in the same way as the other elements of the project but the
destination folder is TPL rather than USR\[Project Name].
- 414 -
FL Client Builder Differences
There are several differences between Client Builder and the Supervisor in regard to the animation engine.
Bit animations
In a Client Builder bit animation (such as Color on Bit), you can configure a register variable instead of a bit
variable. That is not possible in the Supervisor, so it creates an expression instead. If any register variables
are found they are replaced with the expression
=<var name> != 0
for example =TANK1.LEVEL != 0.
Here is an example. In Client Builder, RTMCMD is a register. Show picture
- 415 -
After generation, in the Supervisor: Show picture
The Client Builder can import array variables using two different syntaxes.
For example TASKSTART_S[10] and TASKSTART_[10]_S refer the same OPC array item (TASKSTART_S).
The Smart Generator is able to handle the two syntaxes so as to import an animation for example as fol-
lows.
In Client Builder: Show picture
The Client Builder animation eSignature does not exist in the Supervisor.
The Supervisor displays a warning when opening a mimic containing this animation and removes it from the
mimic. Show picture
- 416 -
Importing Windows metafile (.WMF) graphic files
Client Builder and the Supervisor do not handle the metafile format in the same way. However the Smart
Generator processes any imported metafile file so that it has same appearance in the Supervisor as in Client
Builder.
- 417 -
FL Import Report
A report file named IMPORTREPORT.TXT is generated in project folder C. The following is an extract of such
a report.
Importing project "C:\Program Files\FL\Applications\Examples App\CBPROJ"
Importing mimics...
-------------------
Warning: file D:\100\USR\T4\W\s1 is not ASCII format
Number of mimics processed : 10
Importing mimic templates...
----------------------------
Number of mimic templates processed : 1
Importing symbols...
---------------------
Warning: file D:\811\USR\T4\S\tp1 is not ASCII format
Warning: file D:\811\USR\T4\S\ tp2 is not ASCII format
Warning: file D:\811\USR\T4\S\ tp3 is not ASCII format
Warning: file D:\811\USR\T4\S\ tp4 is not ASCII format
Warning: file D:\811\USR\T4\S\ tp5 is not ASCII format
Number of symbols processed : 29
Importing images...
-------------------
Number of images processed : 40
- 418 -
FL Variable Properties
Many configuration elements are generated during the import process. This topic describes the properties
from configuration of OPC and variables.
OPC configuration
The server properties are configured as follows.
Property Setting
Alias Default value: SERVER.
Network Node Default value: empty (local machine).
Server PROGID FL.OPCServer.1 or FL.DevOPCServer.1 if FL is used as an OPC Server, else unused.
Active at launch TRUE
The group properties are configured as follows.
Property Setting
Alias Default value: GRP1.
Scan Rate Default value: 1 second.
Active at launch TRUE
Variables in general
The variable properties are configured as follows.
Property Setting
Name The default value is the FL tag name but you can modify that name during import.
Branch According to the branch separator.
Domain Optional, depending of the FL domain or alarm group.
Description This can be optionally derived from the FL tag description or from the alarm message.
Source OPC or Internal (import option).
Equipment when importing Modbus TCP configuration.
Alarm Depending on FL tag.
Alarm Level Depending on FL alarm Priority.
Alarm Mask Depending on FL alarm Hide tag.
Alarm Ack bit Depending on FL alarm Status tag.
Command True.
CommandLevel 0.
Variable type
FL Supervisor
DIGITAL BIT.
ANALOG REGISTER.
LONG ANALOG
FLOAT
MESSAGE TEXT.
Min / Max
FL Byte Min Max
DIGITAL 0 1
ANALOG 2 -32768 32767
LONG ANALOG 4 -2147483648 2147483647
FLOAT 8 +/-10(-308) +/-10(308)
- 419 -
Max According to the FL tag default value tagname.RAWMAX.
Scale Min According to the FL tag default value tagname.EUMIN.
Scale Max According to the FL tag default value tagname.EUMAX.
Domain Optional (SHARED, USER or NONE).
In the case of an OPC import where the server is FL, the Smart Generator computes the OPC properties of
the Supervisor variables.
Property Setting
OPC Server OPC server configured alias (default: FLOPCSRV).
OPC Group OPC group configured alias (default: G1S).
OPC Item ID FL tag name.
If the option Import FL OPC configuration is set to On, the following properties as also set:
Property Setting
OPC Server OPC server configured alias.
OPC Group OPC group configured alias.
OPC Item ID OPC Item.
Generated variables have their Command property set to True to facilitate testing.
- 420 -
FL Import Frequently Asked Questions
This topic answers some of the most usual queries about the FL Import.
l Copy PALCOL.DAT from the Config Files folder of the Client Builder project to the C folder of the Super-
visor's project.
The Supervisor must not be running when you copy the file, since it would overwrite the file when it
is next shut down.
If you intend to copy the color palette file from ClientBuilder it should be done before you change or
use any of the default colors in the Supervisor's palette.
Why do I get an error message about the mimic template when I open a converted mimic?
The mimic, the mimic template or one of the embedded symbols is in binary format. You must convert all
the graphical elements to ASCII in Client Builder before importing to the new Supervisor, as described in the
topic The FL Import Graphics Dialog.
- 421 -
Generic XML
- 422 -
Overview of the Generic XML Import Facility
The XML import provides a vendor-independent means of supplying configuration data to the Supervisor.
l Select the option New import to open the Generic XML Import dialog. Show picture
This import method uses a file formatted according to the XML 1.0 mark-up standard (Extensible Markup Lan-
guage). The file represents a structure of configuration objects and their descriptions, plus values for their
properties where appropriate.
l Not all properties of a configuration object have to be given values in the XML file. Any properties
without values will be set to a default value by the Supervisor.
l Once you have imported the configuration, properties that did not have values in the XML file can be
configured using the Supervisor's configuration dialogs.
l After the first import you can synchronize changes made in the XML file with the Supervisor's con-
figuration by importing it again. The synchronize mechanism recognizes whether any changes have
been made using the Supervisor's configuration dialogs and does not overwrite them.
XML-compatible characters
Some characters do not work via XML format and must be replaced with substitute codes (ISO
code).
You can find guidance on the Web about the Unicode code ranges and escape characters to use.
- 423 -
Starting from a Command Line
You can start a generic XML import from a command line as follows.
l Enter a command, set up a shortcut or use a script to run the executable file XMLIMPORTER.EXE found
in the BIN folder of the Supervisor's project.
The XmlImporter command line tool is supported on both 32(x86) and 64 bit (x64) operating sys-
tems.
The syntax is as follows.
XmlImporter file1 [file2 [file3 [etc.]]
Where each fileX names a file to be imported, or contains a list of files to be imported.
The filenames are separated by spaces. They must not be separated by any other character (comma
for example).
When a file contains a list of other files to be imported, the list is itself XML-formatted as follows.
<Imports>
<Import>Import1.xml</Import>
<Import>Import2.xml</Import>
…
</Imports>
- 424 -
The Generic XML Import Dialog
The dialog Generic XML Import selects the file from which the Supervisor's configuration is to be imported.
Show picture
1. In the Generic XML Import dialog, enter a reference name for the import in Import name. This will
appear in the list of imports next time the Smart Generator is opened.
2. In the box XML File.Filename, enter or select the XML file to be imported. The file can be located on
any storage device visible to the Smart Generator.
3. Click on Finish to close the dialog and perform the import.
During the generation process a dialog displays a time-bar of progress. If there is an error, the dialog
reports it and the import ceases. You can use the buttons >> and << during and after the import to display
or hide the details.
- 425 -
ISaGRAF
- 426 -
Overview of the ISaGRAF Smart Generator
The ISaGRAF Smart Generator imports an ISaGRAF database file (.MDB) from which it generates the fol-
lowing configuration objects for the Supervisor.
l Variable definitions
l OPC configuration elements (OPC servers and OPC groups).
l Links between the variables and the OPC configuration elements.
l Start the Smart Generator from the New ISaGRAF Import command on the Task Toolbar. Show pic-
ture
l Selecting the ISaGRAF project database file from which the variables are to be imported.
l Selecting a full or custom import.
l Selecting the variables to be imported if you have chosen custom import.
l Configuring the variables branch management.
l Generating the variables.
- 427 -
The ISaGRAF Select Project Dialog
The Select Project dialog selects the ISaGRAF project database file from which the variables are to be impor-
ted and the configuration of the communication objects in the Supervisor to which they are to be attached.
Show picture
1. In the Import Name box, enter a reference name for the import. It will appear in the list of imports
next time the Smart Generator is opened.
2. In the File path box, enter or select the path to the ISaGRAF project database file.
3. In the OPC Server section, select the name of the ISaGRAF OPC server and Group to be used. If the
Supervisor's project does not already have an ISaGRAF OPC Server and Group configured the Smart
Generator will create a default OPC Server (ISAGRAF) and Group (GR1S).
4. To pre-filter the import of ISaGRAF variables, enter a string in the Custom String box, See below.
5. Configure any advanced options. See the topic ISaGRAF Import Advanced Options for more inform-
ation.
6. Click Next to display the Import Variables dialog.
- 428 -
The Networking list tab
The networking lists are used to control the behavior of Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the ISaGRAF Smart Generator as follows.
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
l Network node - The name of the PC on which the ISaGRAF OPC server is located, if it is not on the
local PC
l Update rate - The OPC Group update rate in milliseconds. The default is 1000.
l Branch - Prefix the name of the imported variables with a branch constructed from the configuration
and task names. This option is recommended if there are multiple configurations and resources.
Example: BIT1 might be imported as PLC1.TASK1.BIT1
l Domain - Generates a domain corresponding to each variable group. Tick the option Assign domain to
generated variables to automatically assigns the generated domain to each variable in the group dur-
ing the import.
l Local variables - Enables the import of local variables. Tick the option Branch local variables with POU
name to prefix the name of the imported variables with the name of the POU (Program Organization
Unit). Example: ST1.BIT might be imported as P1.ST1.BIT.
l Comment - import the ISaGRAF variable and sub-variable comment as the Supervisor's variable
description.
- 429 -
The ISaGRAF Import Variables Dialog
The Import Variables dialog displays the number of variables available and allows you to select a full or cus-
tom import. Show picture
l If you select a full import all variables will be available for import. Click the Next button to display the
Branch Management dialog.
l If you select a custom import the Next button displays the Select Variables dialog from where you can
filter and select the variables to be imported.
- 430 -
The ISaGRAF Select Variables Dialog
Using the Select Variable dialog you can apply a filter to the list of available variables. Show picture
Variables passing the filter appear in a list from which you can select some or all them using the following
criteria.
Variables that pass the filter criteria appear in the Available Items list. To select the variables for import
you select their names and copy them to the Selected Variables list by clicking the -> button.
When the variables required for import are all listed in the right-hand panel, click the Next button to con-
tinue.
The Supervisor does not support all characters for variable naming. In particular, the characters '['
and ']' are not supported, so some tags are automatically renamed. For example in the case of an
array item, 'BoolArray[1]' is renamed to 'BoolArray_1'.
- 431 -
The ISaGRAF Branch Management Dialog
The Branch Management dialog allows you modify the variable names as follows.
l Apply a global branch by prefixing all variable names with a supplied branch name. This can transform
a flat database into a hierarchical one.
l Use numeric characters as branch separators.
l Use a specific character (or a sequence of characters) in a variable name as a branch separator.
When you have configured the branch management click Next to display the Generate Variables dialog.
Show picture
l To prefix all variable names with a branch, enter the name of the branch in the Global branch field.
l To use numeric characters as branch separators, select the tick box Use numeric characters as branch
separator.
Variable names will be modified so that a branch separator appears after each numeric character.
Examples:
A branch separator is not added when there is a numeric character at the end of the name.
l To use a specific character or sequence of characters in a variable name as a branch separator, select
the tick box Use Specific Sequence and enter the character or sequence in the Sequence field.
Variable names will be modified so that a branch separator appears instead of the selected character in the
original variable name.
Examples:
The underscore character has been selected as the branch separator.
A branch separator is not added when the specified character is at the end of the name.
- 432 -
The ISaGRAF Generate Variables Dialog
The Generate Variables dialog is the final one before the variables are imported into the Supervisor. In it,
you can review and edit the final names of the variables to be generated.
Click on Finish to generate the variables in the Supervisor's variables tree. Show picture
Any variables shown in red when the Finish button is clicked will not be imported.
- 433 -
The ISaGRAF Rename Variables Dialog
The Rename Variables dialog is opened from the Generate Variables dialog and provides a tabular display of
all variables that have passed the filter criteria. Show picture
The left column contains the full name of each variable. The other columns show the name of the variable
separated into branches. The final column on the right hand side displays the number of characters in the
name. Any variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
The buttons to do so become available when you select a variable or variables in the list.
When you have finished editing the variable names, click OK to confirm or Cancel to cancel the editing and
return to the Generate Variables dialog.
1. Select a variable or variables in the list then click on the Rename button to open an unnamed dialog.
2. Enter a character string (not starting with '.') in the Suffix box and click on OK.
The character '.' and the suffix string are appended to the name of each selected variable. That has the
effect of turning the original variable name into a branch name.
l Double-click on the variable's full name in the left hand column of the list to display the Edit Name dia-
log. There you can edit and change the name.
1. Select one or more variables in the left column. You can use Shift + Click to select a group of adjacent
variables or Ctrl + click to select individual variables. Ctrl+a selects all the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete branch(es) from the variable name.
How to search and replace text in one or more branches for one or more variables
The search can match the Find what string with any part of a variable or branch name. You can also leave
the Replace with box blank so as to omit part of the naming structure. Only text strings in the names of the
selected variables and branches are modified.
- 434 -
- 435 -
LNS
- 436 -
Overview of the LNS Smart Generator
The Smart Generator for the LonWorks Network Operating System (LNS) imports configuration data from
the LonWorks Network file of a LNS project. From that file it generates the following configuration objects in
the Supervisor.
The Smart Generator 'flattens' certain parts of the LNS data structure to avoid over-long branch
paths. As a result duplicate device names may be generated from different LNS sub-networks which
must be edited before the import is completed.
For the Smart Generator to run, you must have LonWorks software components including the
LonWorks Object Server installed on the PC .
The LNS Smart Generator is designed for generating variables when you have one or more
instances of a template. It is not suitable for programmable devices where the name and type of
variables in the node can differ from the template.
l Selecting the LNS configuration file from which the data are to be imported.
l Selecting LNS components - device templates, devices, network variables and variable fields - that
are to be imported.
- 437 -
l Editing the names of the LNS components so that the variable names that are generated are compliant
with the Supervisor.
l Changing certain variable properties.
l Adding variables to a template using expressions in the variable field.
l Generating the Supervisor's LNS network and node configuration and the corresponding variables.
1. From the Smart Generator task list select New LNS import. The LNS Select Network dialog is dis-
played.
2. Enter a name for the import or accept the suggested one.
3. Using the Network drop down list box select an LNS network. The drop down list box is populated with
all networks known to the LonWorks database.
4. Click the Next button to open the LNS Import variable dialog.
The process of importing has no effect on the LNS project from which it extracts the data.
- 438 -
LNS Import variables dialog
- 439 -
Selecting the Variables to be Imported
The Import Variables dialog is used to select the LNS network components that are to be imported. The dia-
log contains two panes.
l The left pane displays the templates and devices (nodes). The template named LNS Network Interface
is always present, representing the network interface (card) of the network concerned.
l The right pane displays details of the selected template including its LonMark objects, network vari-
ables and variable fields.
The LNS subsystems are not shown by default and therefore you may sometimes see two or more devices in
the left pane that have the same name. To display the subsystem for a particular device point to it using the
cursor and the subsystem is displayed in a tooltip. Show picture
l Edit the names of the LNS components so that the variable names that are generated are compliant
with the Supervisor.
l Edit certain variable properties.
l Add network variables to a template with expressions in the variable field.
- 440 -
Why are some component names colored red?
There are two reasons why component names can be colored red.
l In the right pane. The names of the selected components would generate variables in the Supervisor
that do not comply with the Supervisor's variable naming scheme. The names of the Supervisor's vari-
ables must comply with the rules stated in the topic Rules for Branch and Variable Naming.
l In the left pane. There are duplicated device names which would lead to the generation of duplicated
variable names in the Supervisor.
To fix this problem the LNS Smart Generator allows you to edit the names of the LNS devices, LonMark
objects, network variables and variable fields. This does not effect the LNS configuration in any way - just
how it is imported into the Supervisor. You edit a name by first selecting it and then clicking F2. The name
field becomes a text box where you can enter the new name.
Any variables that do not comply with the Supervisor's requirements will not be imported.
The export creates an XML file containing the template configuration including which variables have been
selected and any that have been manually added. By default the XML file is saved, with the same name as
the template, in the Supervisor's BIN folder.
When importing other instances of the same template, either in the same or another project you can import
the template configuration, using the Import device template configuration command.
- 441 -
Changing the Properties of Variables Before Import
The LNS Smart Generator allows you to change some of the variable's default configuration before they are
imported into the Supervisor. The changes are made to a template and will therefore effect variables gen-
erated from any device based on that template.
l Use default parameters - The values of the Bind this variable property and the Poll interval property
are taken from the default set in the LonWorks Network configuration dialog.
l Polling rate (seconds) - The interval at which the Supervisor polls the LonWorks node.
l None - The variable's real time value is only polled when a mimic using it in an animation is open.
l Server only - The variable's real-time value is permanently polled 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 polled on all stations. This is the default
setting.
- 442 -
Adding a Variable
LonWorks variables sometimes have a complex structure and it is necessary to use an expression to select
the correct data to be linked to the Supervisor's variables. This is normally done as part of the process of
configuring variables in the Supervisor.
The LNS Smart Generator allows you to add variables, with an expression, to a template. The variables will
then be automatically generated for each device based on that template thereby avoiding the need to con-
figure them manually.
1. Right click a Network variable object in the Smart Generator's right hand pane and select Add variable
from the pop-up menu.
2. Enter a name for the new variable in the Variable name field. Show picture
3. Select the expression using the Field drop down list box.
4. If you want to change the scan options select the Parameters tab and select the appropriate option.
See the topic Changing the Properties of Variables Before Import for details of the scan options.
5. Click OK to confirm the configuration.
- 443 -
Generating the Variables from LNS
This is the final step for importing the variables into the Supervisor. When you have selected all objects to
be imported and edited their names as necessary in the Import Variables dialog, you click the Finish button
to start the import.
A time-bar is displayed and left open when the process is complete. You can click the arrow button to show
details of the import. Show picture
When the import is complete click on the Close button to return to the Smart Generator workspace.
Any objects that are shown in red in the Import Variables dialog are omitted from the import. If
there are corresponding variables in the Supervisor, they are not overwritten or updated.
For details of the settings, see the configuration help book on Linking a Variable to a LonWorks Node.
- 444 -
OPC
- 445 -
Overview of the OPC Smart Generator
The OPC Smart Generator is designed to automate the configuration of the Supervisor's OPC-DA client. It is
able to import the item configuration from an external OPC server, from which it generates the following con-
figuration objects:
l Variable definitions.
l Mapping between the variables and OPC items.
Prerequisites
Before using the Smart Generator for OPC the following steps must be followed by the application designer:
l Because the Smart Generator for OPC is based on OPC browsing, the list of OPC items that the
external OPC server is to expose must be configured (see the OPC Server vendor's documentation for
more information).
l The connection to the OPC Server, and the group to which new variables will be mapped, must be con-
figured within the Supervisor (using the Application Explorer for example).
- 446 -
The Smart Generator guides you through the following steps. Show picture
1. Select the OPC server and group to which the variables will be mapped. Select OPC Server dialog and
OPC Advanced Options dialog.
2. Variable branch management. Branch Management dialog
3. Select the import type from either Full or Custom. Select Import Type dialog
4. Select the variables to import if you selected Custom Import in the previous step. Select Variables dia-
log
5. Generate the variables. Generate Variables dialog
6. Rename any variables with invalid names. Rename Variables dialog
7. End
- 447 -
Select the server Dialog
The Select the server dialog is the first step of the Smart Generator OPC wizard. It is used to select the OPC
Server and Group to which the newly generated variables will be mapped. Show picture
1. Select the OPC Server and OPC group using the drop down list boxes. The available servers and cor-
responding groups are those from the Supervisor’s configuration. The Update rate and Deadband are
from the configuration of the selected group.
2. Click the Advanced button if you need to change any of the advanced properties. See the Advanced
Options topic.
3. Click Next to proceed to the next step Branch Management dialog.
- 448 -
OPC Advanced Options Dialog
The Advanced Options dialog is opened from the Advanced button in the Select the serve dialog of the OPC
Smart Generator. Show picture
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
Networking list
The networking lists are used to control the behavior of the Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the Smart Generator as follows.
Options tab
The Options tab allows you to configure some default properties for the generated variables. Show picture
l Default domain - The name of a Domain that will be applied to all generated variables.
l Nature - The name of a Nature that will be applied to all generated variables.
- 449 -
OPC Branch Management Dialog
The Branch Management dialog is the second step of the Smart Generator OPC wizard. It is opened from the
Next button in the Select the Server dialog. It is used to modify variable names imported from the OPC
server so that they conform to the Supervisor's hierarchical naming scheme.Show picture
How to modify the variable names imported from the browsed OPC items
1. To prefix all variable names with a branch or branches enter it into the Global branch field.
2. To structure variable names by inserting a branch separator after any number use Use numeric char-
acters as branch separator.
3. To structure variable names by replacing a particular character or character sequence with the branch
separator use Use character sequence as branch separator and enter the Sequence.
4. Click Next to proceed to the next step Import Variables dialog.
A branch separator is not added when there is a numeric character at the end of the name.
A branch separator is not added when the character sequence is at the end of the name.
- 450 -
OPC Import Type Dialog
The Import Variables dialog is the third step of the Smart Generator OPC wizard. It is opened from the Next
button in the Branch Management dialog. It is used to select either a Full Import or Custom Import. At this
stage of the wizard the OPC server configuration has been browsed and the number of potential variables is
displayed in the dialog. Show picture
l To import all variables select Full Import and click the Next to proceed to the next step Generate Vari-
ables dialog.
l To view the potential variables and select those to import select Custom Import and click Next to pro-
ceed to the next step Select Variables dialog.
- 451 -
OPC Select Variables Dialog
The Select Variables dialog is the fourth step of the Smart Generator OPC wizard. It is opened from the Next
button in the Select Import Type dialog. It is used to display and select those variables to be imported.Show
picture
l Using the Bit, Register and Text tick boxes to select the type of variable (as it will be converted to in
the Supervisor).
l Using the name filter. Wildcards * (matches any string) and ? (matches a single character) are sup-
ported. For example:
l 'Pump1' would only match a variable called 'Pump1'.
l 'Pump?' would match 'Pump1' or 'Pump2' etc. but not 'Pump10'.
l 'Pump*' would match 'Pump1', 'Pump2' and 'Pump10' but also 'Pumpkin'.
- 452 -
OPC Generate Variables Dialog
The Generate Variables dialog is the final step of the Smart Generator OPC wizard. It is opened from the
Next button in the Select Variables dialog. It is used to review and edit the names of the variables before
they are generated. Show picture
How to select and change the name of some or all variables, or all invalid variables
l Click the Rename Invalid button to open the Rename Variable dialog with a list of all variables with
invalid names.
l Click the Rename Selected button to open the Rename Variable dialog with a list of selected variables.
- 453 -
OPC Rename Variables Dialog
The Rename Variables dialog is opened from the Select Import Type dialog or Select Variables dialog and is
used to rename variables before generation. Show picture
The left hand column contains the full name of each variable. The other columns show the name of the vari-
able separated into branches. The final column on the right hand side displays the number of characters in
the name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing. In
either case you will return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+Click to select several individual variables. Ctrl+A selects all of the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
1. Select one or more variables in the left column. You can use Shift+Click to select a group of adjacent
variables or Ctrl+Click to select several individual variables. Ctrl+A selects all of the variables.
2. Select two or more branches that are to be merged by clicking on the column header. You can only
merge consecutive branches.
3. Click the Merge button to delete the branches from the variable name.
- 454 -
3. Enter the strings to search and replace.
4. Click OK to perform the search. Only text in the selected variables and branches is modified.
- 455 -
OPC Data Types
There are many OPC Data types some of which are common and others which you are unlikely ever to
encounter. The following is a list of the most common types and how they are mapped to the Supervisor's
variables.
OPC Data type Id Description Variable type
VT_I2 2 2 byte signed integer Register
VT_I4 3 4 byte signed integer Register
VT_R4 4 4 byte real Register
VT_R8 5 8 byte real Register
VT_DATE 7 Date Text
VT_BSTR 8 String Text
VT_BOOL 11 Boolean Bit
VT_I1 17 1 byte signed char Register
VT_UI1 18 1 byte unsigned char Register
VT_UI2 19 2 byte unsigned integer Register
VT_UI4 20 4 byte unsigned integer Register
Array types
Array Data types are not, in general, supported although some types can be mapped to a single Text vari-
able which may, or may not, produce a useful value.
- 456 -
Saia-Burgess
- 457 -
Overview of the Saia-Burgess Smart Generator
The Saia-Burgess Smart Generator imports a Saia-Burgess symbol file from which it generates the following
configuration objects for the Supervisor.
l Variable definitions
l Communication network (S-Bus IP, shown as IP-SAIA in the dialog), node and frames
l Links between the variables and the communication frames
l Start the Smart Generator from the New Saia-Burgess Import command on the Task Toolbar.
l Selecting the Saia-Burgess Symbol File from which the variables are to be imported.
l Selecting a full or custom import.
l Selecting the variables to be imported if you have chosen a custom import.
l Configuring the branch management.
l Generating the variables.
- 458 -
The Saia Select PG5 Project Dialog
The Select Saia PG5 Project dialog lets you select the Saia-Burgess Symbol Fle from which the variables are
to be imported and the configuration of the communication objects in the Supervisor to which they are to be
attached. Show picture
1. Open the folder that contains the configuration files that were output from the Saia-Burgess PG5 suite.
This can be located on the local PC or any network location visible to the Smart Generator.
2. Select the Symbol File. It has the file name that was assigned when it was exported and the suffix
.TXT.
3. In the Alias box, enter a reference name for the import. It will appear in the list of imports next time
the Smart Generator is opened and is used as the name of the node it will create in the Supervisor's
communication configuration.
4. In the IP box, enter the IP address of the Saia device. It does not have to be connected.
5. Configure any advanced options. See the topic Saia-Burgess Import Advanced Options for more
information.
6. Click Next to display the Import Variables dialog.
- 459 -
The Saia-Burgess Advanced Options Dialog
The Advanced Options dialog is opened from the first page of the Smart Generator where the Saia-Burgess
symbol folder is selected. Show picture
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
Networking list
The networking lists are used to control the behavior of the Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the Saia-Burgess Smart Generator as follows.
Options tab
The Options tab identifies the device's Port, CPU and S-Bus Address. Show picture
For further information, see the SAIA communication protocol's Help book in Data Acquisition.
- 460 -
The Saia-Burgess Import Variables Dialog
The Import Variables dialog displays the number of available variables and allows you to select a full or cus-
tom import. Show picture
l If you select a full import, all available variables will be imported. Clicking the Nextbutton displays the
Branch Management dialog.
l If you select a custom import the Nextbutton displays the Select Variables dialog from where you can
filter and select the variables to be imported.
- 461 -
The Saia-Burgess Select Variables Dialog
Using the Select Variable dialog you can apply a filter to the list of available variables. Show picture
Variables passing the filter appear in a list from which you can select some or all of them.
Variables that pass the filter criteria appear in the Available Items list at the bottom of the dialog. To select
the variables for import you copy the names to the Selected Variables list by clicking on the names and then
clicking the right-arrow button (button (->).
l When the variables required for import are all selected, click the Nextbutton to continue.
- 462 -
The Saia-Burgess Branches Dialog
The Branches dialog allows you modify the variable names as follows. Show picture
When you have completed branch management click Next to display the Generate Variables dialog.
A branch separator is not added when a numeric character is at the end of the name
A branch separator is not added when the specified character is at the end of the name.
- 463 -
The Saia-Burgess Generate Variables Dialog
The Generate Variables dialog is for the final step before the variables are imported into the Supervisor.
Using the names displayed in the dialog you can review and edit the final names of the variables to be gen-
erated. Show picture
How to select and change the name of some or all variables, or all invalid variables
l If variables are marked as invalid, you can click the Rename Invalids button.
l You can select any variable or variables then click the Rename Variables button.
The Rename Variables dialog opens. See the topic The Saia-Burgess Rename Variables dialog.
- 464 -
Once the variables have their final names they can be generated in the Supervisor by clicking the Finish but-
ton. During the generation process a dialog is displayed indicating the progress.
Any variables in the Smart Generator that already exist in the Supervisor are discarded. The cor-
responding variables in the Supervisor are not overwritten or updated in any way.
Any variables appearing in red when the Finish button is clicked will not be imported.
- 465 -
The Saia-Burgess Rename Variables Dialog
You use the Rename button on the Generate Variables dialog to open the Rename Variables dialog. It
provides a tabular display of all variables that have passed the filter criteria. Show picture
The left hand column contains the full name of each variable. The other columns show the name of the vari-
able separated into branches. The final column on the right hand side displays the number of characters in
the name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing and
return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use Shift+click to select a group of adjacent
variables or Ctrl+ click to select several individual variables. Ctrl+a selects all of the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
How to search and replace text in one or more branches for one or more variables
Show picture
- 466 -
Schneider Unity
- 467 -
Overview of the Unity Smart Generator
The Smart Generator for Schneider Unity is compatible with Unity Pro version 7.0.
Import prerequisites
Before you are able to start an import you must ensure the following configuration is made.
l Configure an OPC connection to the OFS in the Supervisor. You must also configure one or more OPC
groups. For more information see the book Configuration.Communication.Using OPC in the Super-
visor's main help. The alias that you configure in the Supervisor for the OFS and OPC groups is selec-
ted in the Smart Generator's import dialog during the import process.
l Configure OFS, in particular the link with the Unity PLC and its symbol tables file (STU)
For the Smart Generator to be able to open the Symbol Table File (STU), the Supervisor must be star-
ted using the Windows option - Run as administrator.
The Smart Generator guides you through the following steps. Show picture
- 468 -
1. Selecting the Unity project from which the variables are to be imported.
2. Selecting a full or custom import.
3. Selecting the variables to be imported if you have chosen custom import.
4. Configuring the branch management for the variables tree.
5. Generating the variables.
- 469 -
The Unity Select Project Dialog
The Select Unity Project dialog selects the Unity Project from which the variables are to be imported and the
OPC communication objects in the Supervisor to which they are to be attached. Show picture
1. Enter a reference name for the import. This will appear in the list of imports next time the Smart Gen-
erator is opened.
2. Select the Unity Project filename. The file can be located on the local PC or any network location vis-
ible the Smart Generator.
3. Select the Unity server location. The Unity server can be located on the local PC or any other PC vis-
ible to it. If this field is left blank it is assumed that it is on the local PC.
4. Select the OFS Server Alias. This is used when generating the configuration of the Supervisor's vari-
ables. The list of available server aliases is read from the Supervisor.
5. Select the OPC Group. This is used when generating the configuration of the Supervisor's variables.
The list of available groups is read from the Supervisor.
6. Select the Device Alias. This is used when generating the configuration of the Supervisor's variables.
The list of available device aliases is read from the OFS configuration. The symbol table file for the
Device Alias (in the OFS configuration) should be the same as the Unity Project filename.
7. Click Next to display the Import Variables dialog.
The use of a custom string is highly recommended as the STU file may contain a large number of
variables many of which are not relevant to the Smart Generator.
- 470 -
The Unity Import Variables Dialog
The Import Variables dialog allows you to select a full or custom import. Show picture
l If you select a full import all available variables will be available for import. Clicking the Next button
displays the Branch Management dialog.
l If you select a custom import the Next button displays the Select Variables dialog from where you can
filter and select the variables to be imported.
If you entered a custom string in the previous dialog, the list of available variables is pre-filtered
according to that string.
- 471 -
The Unity Select Variables Dialog
Using the Select Variable dialog you to apply a filter to the list of available variables. Show picture
Variables passing the filter appear in a list from which you can select some or all them.
Variables that pass the filter criteria appear in the Available Variable list at the bottom of the dialog. To
select the variables for import you copy the names to the Selected Variable list by clicking on the names and
then clicking the button '->'.
When the variables required for import are selected click the Next button to continue.
- 472 -
The Unity Branch Management Dialog
The Branch Management dialog allows you modify the variable names as follows. Show picture
When you have completed branch management click Next to display the Generate Variables dialog.
A branch separator is not added when a numeric character is at the end of the name.
A branch separator is not added when the specified character is at the end of the name.
- 473 -
The Unity Generate Variables Dialog
The Generate Variables is the final dialog before the variables are imported into the Supervisor. Using the
Generate Variables dialog you can review and edit the final names of the variables to be generated. Show
picture
- 474 -
Any variables in the Smart Generator that already exist in the Supervisor are discarded. The cor-
responding variables in the Supervisor are not overwritten or updated in any way.
Any variables appearing in red when the Finish button is clicked will not be imported.
- 475 -
The Unity Rename Variables Dialog
The Rename Variables dialog is opened from the Generate Variables dialog and provides a tabular display of
all variables that are selected or have invalid variable names. Show picture
The left column contains the full name of each variable. The other columns show the name of the variable
separated into branches. The final column on the right hand side displays the number of characters in the
name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be mod-
ified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing and
return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use shift+click to select a group of adjacent
variables or ctrl+ click to select several individual variables. Ctrl+a selects all the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
How to search and replace text in one or more branches for one or more variables
- 476 -
Unity Variable Types
Unity variables are converted to Supervisor variables as follows.
Unity Supervisor
Type Type Minimum Value Maximum value
Dword Register 0 4294967295
Bool Bit 0 1
Byte Register 0 255
Date Register -2147483648 2147483648
Dt Text N/A N/A
Dint Register -2147483648 2147483648
Ebool Bit 0 1
Int Register -32768 32768
Real Register -3.402824E+38 3.402824E+38
String Text N/A N/A
Time Register 0 4294967295
Tod Register 0 4294967295
Udint Register 0 4294967295
Uint Register 0 65535
Word Register 0 65535
Structured variables
Structured Unity variables are imported as a branch and variables in the Supervisor.
For example, the structure DDT has three elements F1, F2, and F3. The instance, DDT1, will generate three
variables in the Supervisor.
DDT1.F1
DDT1.F2
DDT1.F3.
For example, the integer table MyIntegerTab[0..4 ] will generate 5 register variables in the Supervisor.
MYINTEGERTAB.MYINTEGERTAB_0
MYINTEGERTAB.MYINTEGERTAB_1
MYINTEGERTAB.MYINTEGERTAB_2
MYINTEGERTAB.MYINTEGERTAB_3
MYINTEGERTAB.MYINTEGERTAB_4
- 477 -
Siemens SIMATIC Step 7
- 478 -
Overview of the Step 7 Smart Generator
Step 7 is a software suite for creating programs for the SIMATIC range of PLC's. The S7 Smart Generator
extracts data from a Step 7 project from which it is able to generate the following configuration elements.
l The configuration for communication (Network, Equipment and Frame elements) using the Super-
visor's IP ISO-S7 driver.
l For each Step 7 tag, a variable in the Supervisor including the link to the appropriate communication
frame.
System requirements
l The Step 7 software must be installed on the same PC as the Supervisor as the Smart Generator uses
Step 7's command interface and library.
l The Step 7 Smart Generator was tested using version 5.3 of Step 7 Professional.
l Start the Smart Generator from the New Step 7 Import command on the Task Toolbar. Show picture
The Smart Generator guides you through the following main steps.
The first dialog of the Smart Generator is the Select Project dialog.
- 479 -
Selecting the Step 7 data blocks
- 480 -
The Step 7 Select Project Dialog
The Select Project dialog selects the Step 7 project from which configuration data is to be imported.Show pic-
ture
1. In the Import Name box, enter a reference name for the import. It will appear in the list of imports
next time the Smart Generator is opened.
2. Use the drop-down box Step7 Projects to select the project required for the import. You can use the
option Display Only Programs Containing Blocks to filter the list of projects so that only those con-
taining data blocks are displayed.
3. To change any of the default import options, click on the Options button to open the Options dialog.
See the topic Step 7 Options dialog.
4. Click Next to display the Select Blocks dialog.
- 481 -
The Step 7 Options Dialog
The Options dialog is opened from the Options button of the Select Project dialog.
l Server list - Select a Server List from the Supervisor's project. The Server List will be assigned to all
variables that are imported.
l Client list - Select a Client List from the Supervisor's project. The Client List will be assigned to all vari-
ables that are imported.
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
l Command variables - All variables that are imported will have the command attribute set. You can
also select the command level.
l Data Block variables branch - Generates a branch for each variable imported from a data block. The
branch can contain the - data block (DB) name, the Program Name and DB name or the Project name,
Program name and DB name.
l Use DB symbolic name - Generates variables according to data block name (unticked) or data block
symbolic name (ticked).
l Memory bit variables branch - Generates a branch for each variable imported from memory. The
branch can contain either the - Program Name or the Project name and Program name.
l Add a leaf variable - Enables you to add a leaf variable when importing an array. For example if you
choose a leaf called VALUE, VALVE_MOTOR[1] will be imported as VALVE.MOTOR.1.VALUE.
l Communication frame size - Enables you to set the size, in bytes, of communication frames generated
in the Supervisor.
- 482 -
The Step 7 Select Blocks Dialog
The Select Blocks dialog enables you to select Step 7 data blocks from those available. Show picture
1. Open the Blocks node. The blocks are identified by their friendly name if they have one.
2. Tick the box of each data block that is to be imported. Only data blocks of type instance, user type or
shared can be imported.
3. You can also import memory variables by ticking the Memory Variables node.
4. Click on Next to open the Target Equipment dialog.
- 483 -
Configuring the communication
- 484 -
The Step 7 Target Equipment Dialog
The Target Equipment dialog allows you to select or configure the Supervisor's communication network and
node for which the communication frames are generated. Show picture
1. In the Equipment section, use the drop-down box IP-ISO-S7 Network to select the network. If there is
no IP-ISO-Network configured in the Supervisor's project you are prompted to create one.
2. Use the drop-down box for Equipment to select the node. If there are no nodes configured in the Super-
visor's project you are prompted to create one.
3. The Properties section will be populated with the selected node's configuration from where it may
checked and changed if necessary.
4. Click Next to display the Check Mapping dialog.
An import deals with one node (PLC). If there is more than one, you must run a separate import for
each node.
- 485 -
The Step 7 Check Mapping Dialog
Some blocks may be protected or locked. If such a block is used in a data block, Smart Generator will be
unable to extract the corresponding variables and their addresses. Using the Check Mapping dialog, you can
check and change the mapping for all data blocks to be imported. Show picture
- 486 -
Configuring the variables
- 487 -
The Step 7 Import Variables Dialog
The Import Variables dialog displays the number of variables available and allows you to select a full or cus-
tom import. Show picture
l If you select Full Import, all extracted variables will be imported. Click the Next button to display the
Branch Management dialog.
l If you select Custom Import, the Next button displays the Select Variables dialog.
- 488 -
The Step 7 Select Variables Dialog
Using the Select Variables dialog you can apply a filter to the list of available variables and select variables
individually. Show picture
Variables that pass the filter criteria appear in the Available Items list. To select the variables for import
you copy the names to the Selected Variables list by clicking on the names and then clicking the -> button.
When the variables required for import are selected click the Next button to continue.
- 489 -
The Step 7 Generate Variables Dialog
The Generate Variables dialog is the final one before the variables are imported into the Supervisor. In it,
you can review and edit the final names of the variables to be generated. You may need to do that to make
the variable names comply with the rules for variable naming in the Supervisor's variables tree. Show pic-
ture
Any variables in the Smart Generator that already exist in the Supervisor are discarded. The cor-
responding variables in the Supervisor are not overwritten or updated in any way.
Any variables shown in red when the Finish button is clicked will not be imported.
- 490 -
The Step 7 Branch Management Dialog
The Branch Management dialog allows you modify the variable names as follows. Show picture
When you have completed branch management click Next to display the Generate Variables dialog.
A branch separator is not added when a numeric character is at the end of the name.
A branch separator is not added when the specified character is at the end of the name.
- 491 -
The Step 7 Rename Variables Dialog
The Rename Variables dialog is opened from the Generate Variables dialog.
The left column contains the full name of each variable. The other columns show the name of the variable
separated into branches. The final column on the right hand side displays the number of characters in the
name. Any variables that appear in red have a name that is invalid for use in the Supervisor and must be
modified before they can be imported.
Using the Rename Variables dialog you can:
The command buttons become available when you select a variable or variables in the list.
When you have finished editing the variable names, click OK to confirm or Cancel to cancel the editing and
return to the Generate Variables dialog.
1. Select a variable or variables in the list then click on the Rename button to open an unnamed dialog.
2. Enter a character string (not starting with '.') in the Suffix box and click on OK.
The character '.' and the suffix string are appended to the name of each selected variable. That has the
effect of turning the original variable name into a branch name.
l Double-click on the variable's full name in the left hand column of the list to display the Edit Name dia-
log. There you can edit and change the name.
1. Select one or more variables in the left column. You can use Shift + Click to select a group of adjacent
variables or Ctrl + click to select individual variables. Ctrl+a selects all the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete branch(es) from the variable name.
How to search and replace text in one or more branches for one or more variables
The search can match the Find what string with any part of a variable or branch name. You can also leave
the Replace with box blank so as to omit part of the naming structure. Only text strings in the names of the
selected variables and branches are modified.
- 492 -
How the Properties of the Supervisor's Variables Relate to Those of Step 7
Supervisor Value
Name Step 7 tag name. You can modify the name during the import process.
Branch From the Step 7 tag name.
Description Step 7 variable comment.
Source Equipment.
Type of variable Step 7 Supervisor
BOOL Bit
BYTE, WORD, DWORD, INT, DINT, REAL Register
STRING, CHAR Text
Min- Step 7 Byte Min. (Supervisor) Max. (Supervisor)
imum/maximum BOOL 1 bit 0 1
BYTE 1 0 255
WORD 2 0 65535
DWORD 4 0 4,294,967,295
INT 2 -32,768 32767
DINT 4 -2,147,483,648 2,147,483,647
REAL -3.402822E+38 3.402822E+38
Frame The name of the data block that contains the variable.
Index From the variable address in the data block.
Type & size Step 7 Type Size
(In VAREXP.DAT) BOOL B 1
BYTE C 8
WORD U 16
DWORD L 32
INT I 16
DINT I 32
REAL F 32
- 493 -
WAGO CoDeSys
- 494 -
Overview of the Wago CoDeSys Smart Generator
The Wago CoDeSys Smart Generator imports a CoDeSys symbol file (.SYM) from which it generates the fol-
lowing configuration objects for the Supervisor.
l Variable definitions
l Communication network (XBus IP Master), node and frames
l Links between the variables and the communication frames
l Start the Smart Generator from the New WAGO Import command on the Task Toolbar. Show picture
l Selecting the CoDeSys Symbol File from which the variables are to be imported.
l Selecting a full or custom import.
l Selecting the variables to be imported if you have chosen custom import.
l Configuring any words that are to be used as bits.
l Configuring the branch management.
l Generating the variables.
- 495 -
The CoDeSys Select Symbol File Dialog
The CoDeSys Symbol File dialog selects the CoDeSys symbol file from which the variables are to be impor-
ted and the configuration of the communication objects in the Supervisor to which they are to be attached.
Show picture
1. Select the CoDeSys Symbol File filename. The file can be located on the local PC or any network loc-
ation visible to the Smart Generator.
2. In the Equipment Alias box, enter a reference name for the import. It will appear in the list of imports
next time the Smart Generator is opened and is used as the node name of the Modbus node it will cre-
ate in the Supervisor's communication configuration.
3. In the IP box, enter the IP address of the WAGO coupler.
4. Configure any advanced options. See the topic CoDeSys Import Advanced Options for more inform-
ation
5. Click Next to display the Import Variables dialog.
- 496 -
The CoDeSys Advanced Options Dialog
The Advanced Options dialog is opened from the first page of the Smart Generator where the CodeSys sym-
bol file is selected. Show picture
The lists of servers and clients must already have been created in the Supervisor and the local sta-
tion must appear in the servers list.
Networking list
The networking lists are used to control the behavior of the Supervisor's variables for multi-station projects.
You can configure the network lists for variables imported by the CoDeSys Smart Generator as follows.
- 497 -
4107 W WD_SAVE Save Watchdog parameter
4128 R LED_ERR_CODE Led Error Code
4129 R LED_ERR_ARG Led Error Argument
4130 R LEN_ANALOG_OUT Number of analog output data in the process image (in
bits)
4131 R LEN_ANALOG_IN Number of analog input data in the process image (in
bits)
4132 R LEN_DIGIT_OUT Number of digital output data in the process image (in
bits)
4133 R LEN_DIGIT_IN Number of digital input data in the process image (in
bits)
4136 R/W BOOTCONFIG Boot configuration
4138 R/W MODBUS_TIMEOUT Configuration Modbus/TCP Timeout
8208 R FW Firmware version
8209 R/W INFO_TEM Wago item number
- 498 -
The CoDeSys Import Variables Dialog
The Import Variables dialog displays the number of variables available and allows you to select a full or cus-
tom import. Show picture
l If you select a full import all available variables will be available for import. Clicking the Next button
displays the Branch Management dialog.
l If you select a custom import the Next button displays the Select Variables dialog from where you can
filter and select the variables to be imported.
- 499 -
The CoDeSys Select Variables Dialog
Using the Select Variables dialog you can apply a filter to the list of available variables. Show picture
Variables passing the filter appear in a list from which you can select some or all of them.
Variables that pass the filter criteria appear in the Available Variables list at the bottom of the dialog. To
select the variables for import you copy the names to the Selected Variables list by clicking on the names
and then clicking the right-arrow button (button (->).
l When the variables required for import are all selected, click the Next button to continue.
- 500 -
The CoDeSys WordBits Dialog
The WordBits dialog allows you to select register (word) variables that will be treated as 16 individual bits
by the Supervisor. The WordBit dialog is displayed after the Select Variables dialog and lists any variables
(registers) that are eligible for treatment as word bits. Show picture
1. Select the variables to be used as word bits from the Available items pane and click the -> button to
move them to the Selected items pane. You can filter the list of available items using a name filter,
see the topic Select CoDeSys Variables dialog for more information on using the name filter.
2. Select which bits are to be used for each variable by selecting the variable name in the Selected items
pane and clicking the BitSet button. By default all bits are used. Show picture
- 501 -
The CoDeSys Branch Management Dialog
The Branch Management dialog allows you modify the variable names as follows.
When you have completed branch management click Next to display the Generate Variables dialog.
A branch separator is not added when a numeric character is at the end of the name.
A branch separator is not added when the specified character is at the end of the name.
- 502 -
The CoDeSys Generate Variables Dialog
The Generate Variables is the final dialog before the variables are imported into the Supervisor. Using the
Generate Variable names you can review and edit the final names of the variables to be generated. Show pic-
ture
Any variables appearing in red when the Finish button is clicked will not be imported.
- 503 -
The CoDeSys Rename Variables Dialog
The Rename Variables dialog is opened from the Rename button on the Generate Variables dialog and
provides a tabular display of all variables that have passed the filter criteria. Show picture
The left column contains the full name of each variable. The other columns show the name of the variable
separated into branches. The final column on the right hand side displays the number of characters in the
name. Variables that appear in red have a name that is invalid for use in the Supervisor and must be mod-
ified before they can be imported.
Using the Rename Variables dialog you can:
When you have finished editing the variable names click OK to confirm or Cancel to cancel the editing and
return to the Generate Variables dialog.
1. Select one or more variables in the left column. You can use shift + click to select a group of adjacent
variables or Ctrl + click to select several individual variables. Ctrl+a selects all the variables.
2. Select the branch or branches to be deleted by clicking on the column header.
3. Click the Delete button to delete the branches from the variable name.
How to search and replace text in one or more branches for one or more variables
- 504 -
WAGO DALI
- 505 -
Overview of the WAGO DALI Smart Generator
DALI stands for Digital Addressable Lighting Interface.
Wago PLCs
WAGO PLCs support DALI technology using a specific program and modules. There is a specific library to use
in the CODESYS project of the WAGO controller to enable the DALI specific frames. The WAGO library DaliAd-
vFR_32bits_01 has to be used. To download it, register with the WAGO web site.
A single WAGO PLC can have up to 5 DALI modules each communicating with up to 64 ballasts. The ballasts
can also be configured into groups. Show picture
Each PLC is identified with an IP address and communicates with the Supervisor using the Xbus IP (Modbus
TCP/IP) protocol. All the information required for the Supervisor is stored in the PLC's internal memory. The
Smart Generator for DALI/WAGO produces a complete WAGO DALI project for the Supervisor by generating
the following configuration objects automatically.
The Smart Generator does not import anything from the configuration of the PLCs. All information
must be entered by the user.
The Smart Generator for WAGO\DALI can be used under 64 bit (x64) operating systems.
l Open the Smart Generator workspace from the Supervisor's menu Configure.Smart Generator.
l Start the Smart Generator from the New WAGO DALI Import command on the Task Toolbar. Show pic-
ture
- 506 -
After the project has been generated, you can use the Supervisor's regular tools to customize it.
- 507 -
The DALI Network Topology Dialog
The information provided about the PLC's and modules in this dialog is used to configure the Supervisor's
communication network, nodes and frames and to generate the variables tree.
Adding a PLC
1. In the dialog's left pane, right-click on the PLC's item and select Add PLC. The first PLC is added and its
configuration is displayed in the right pane. Show picture
2. Enter a name for the PLC or accept the suggested one. The PLC name is used as the node name in the
communication configuration. It is also used as the first branch of all related variables and appears in
the variable's Description field. (For example, PLC1 Module 1 Ballast 1 lamp failure)
3. Enter the IP address for the PLC.
4. Enter a description for the PLC. The description appears in the tab corresponding to that PLC in the
overview mimic (SGWDALI_PLCs).
5. Enter the start address for the area in the PLC's memory in which the information for the Supervisor is
to be found. The default address is 12288.
6. Click on the Set button to apply the configuration.
7. Repeat steps 1 to 7 for all PLC's to be added.
1. In the dialog's left pane, click on the PLC's Modules item. (The number of modules already configured
is shown in brackets) Show picture
2. Tick each module that is to be generated and enter a description for it. The description appears in the
tab corresponding to that module in the overview mimic (SGWDALI_PLCs), and also in the Description
field of some variables.
- 508 -
3. Click on the Set button to apply the configuration.
4. Repeat steps 1 and 2 for all configured PLC's.
5. Click the Next button when done to display the System Mimic dialog.
- 509 -
The DALI System Mimic Dialog
The information provided in this dialog is used to generate the Supervisor's mimics and instantiate the sym-
bols they contain. Show picture.
The following diagram illustrates the mimic hierarchy. For the PLC mimics , 'n' is replaced by the PLC num-
ber. For example SGWDALI_PLC_PLC1, SGWDALI_FTP_PLC2 etc.
Links between the mimics are automatically generated with SGWDALI_PLCs as the top level mimic. The fol-
lowing diagram illustrates the mimic structure. The variables tree branch with which each mimic is opened
is shown in brackets.
The mimics representing the PLCs (SGWDALI_PLC_PLCn) appear as tabs in the top level mimic. The mimics
representing the modules (SGWDALI_Module) appear as tabs in the PLC mimics.
- 510 -
of templates that are available. Show picture
- 511 -
Changing the Default Symbols
Most of the graphic elements and animations for a DALI project are contained within symbols. The default
symbols are pre-defined within the Smart Generator. The symbols are copied to the library and instances of
them are automatically generated in the mimics according to the number of PLCs and modules. The fol-
lowing table lists the symbols and the mimics that contain them. Note that some symbols are contained
within other symbols. In that case the name of the container symbol is given.
The ellipsis button adjacent to each symbol name provides access to the project's libraries from where an
alternative can be selected. However, due to the complex variable branching and substitution techniques
used in the symbols, rather than create new symbols from scratch it is suggested that you modify the exist-
ing ones using the following technique.
1. Using the Smart generator, generate (import) your DALI project using the default symbols.
2. Copy the symbol(s) that you want to change and save them with an alternative name.
3. Edit the new symbols you have created to give them the desired look and feel.
4. Start the Smart Generator once more and, from the right pane, select the previous import.
5. From the task list select the Synchronize task. The DALI Smart Generator will start.
6. Click the Next button until you reach the System Mimic dialog.
7. Select the new symbols that you have created.
8. Click the Finish button to re-generate the project using the new symbols.
If you modify a symbol produced by the Smart Generator and save it with the original name
it will be overwritten when you next run the Smart Generator .
- 512 -
What is generated?
- 513 -
The DALI Variable Database
The variables that are generated depend on the number of PLCs and modules that are entered in the Net-
work Topology dialog. The variables are automatically linked to the corresponding communication frames.
The variable database has the following structure; see the legend below.
Legend
Text/style Meaning Example
XXXXXX A variable branch. PLC1.M1.BALLASTS.01
XXXXXX A bit variable. PLC1.CONF_FILE.STATUS
XXXXXX A register variable. PLC1.CONF_FILE.RPM
XXXXXX A text variable. PLC1.M1.BALLASTS.01.DIM_VALUE
A PLC ID with x or y standing for a
PLCx and PLCy PLC1
number.
A module ID with n or z standing for
Mn and Mz M1
a number.
("xxx") A variable's description.
PLCx_Description A PLC's description.*
Mn_Description A module's description.*
- 514 -
The DALI Communication Settings
The communication configuration that is generated depends on the number of PLC's and modules configured
in the Network Topology dialog. The communication frames are automatically linked to the corresponding
variables.
Frame configuration
All frames with read access are configured with a scan rate of 1 second. The examples below assume that
the project is using the default start address of 12288
Mn_CFGMAINT
Frame format WORD
Address from DALI Cfg 12364
Address to DALI Cfg 12367
Access Read/Write
Linking Show picture
Mn_BGROUPS
Frame format WORD
Address from B Group 12482
Address to B Group 12545
Access Read
Linking Show picture
Mn_LDIAG
Frame format WORD
Address from B Value 12388
Address to B Value 12388
Access Read
Linking Show picture
Mn_BINFOS
Frame format WORD
Address from B Info 12390
Address to B Info 12396
Access Read
Linking Show picture
Mn_BVALUES
- 515 -
Frame format WORD
Address from B Value 12418
Address to B Value 12418
Access Read
Linking Show picture
Mn_BTYPES
Frame format WORD
Address from B Type 12546
Address to B Type 12546
Access Read
Linking Show picture
Mn_BCMDS
Frame format WORD
Cmd Mn B
Address from
12288
Cmd Mn B
Address to
12288
Access Write
Linking Show picture
Mn_GCMDS
Frame format WORD
Cmd Mn G
Address from
12288
Cmd Mn G
Address to
12288
Access Write
Linking Show picture
Mn_SCMDS
Frame format WORD
Address from Cmd Mn S 12288
Address to Cmd Mn S 12288
Access Write
Linking Show picture
- 516 -
The Wago DALI Main Mimic
The main (top level) mimic is named SGWDALI_PLCs. It contains one tab for each of PLC that is configured.
Each PLC tab contains one tab called Maintenance plus one tab for each module that is configured. The
names of the tabs are the same as the PLC and Module names entered in the Network Topology dialog.Show
picture
All the other mimics are used either in the main mimic's tabs or in pop-up windows. They are designed to be
used with a branch and should not be opened without one.
You can open the main mimic automatically when the Supervisor starts using the options in the Startup dia-
log which is opened from the Configure.Project.General operation command on the Supervisor's main menu.
- 517 -
The Wago DALI Maintenance Mimic
The Maintenance/Configuration mimic is called SGWDALI_Maintenance_plcname - where plcname is the
name of the PLC to which it refers. It is displayed as a tab of the PLC mimic, SGWDALI_PLC_plcname.
The Maintenance/Configuration mimic contains two types of symbol.
The following is a summary of each symbol, the variables it uses and any controls it provides. A description
of the full functionality is outside of the scope of this help. If you want to replace any symbol with one of
your own you must first carefully examine it using the Supervisor's graphic tools in order to fully understand
the functionality it provides.
SGWDALI_Maintenance
Variables
Controls
l PLCx.DOWNLOAD_CFG and PLCx.B_TO_REPLACE - Control button to display and download the con-
figuration. Only displayed if there are one or more ballasts to be replaced. Clicking on the button
sends a value of 1 to the variable PLCx.DOWNLOAD_CFG
- 518 -
Details of symbol Show picture
- 519 -
The WAGO DALI Modules Mimic
The Modules mimic is named SGWDALI_Module. It is displayed as a tab of the PLC mimic, SGWDALI_PLC_
plcname. Show picture
l SGWDALI_Group - 16 instances, one for each possible group. They are located within the symbol
SGWDALI_Groups which is used as a convenient container.
l SGWDALI_Scenes - 16 instances, one for each possible scene. They are located within the symbol
SGWDALI_Scenes which is used as a convenient container.
l SGWDALI_Ballast - 64 instances, one for each possible ballast. They are located within the symbol
SGWDALI_Ballasts which is used as a convenient container.
The following is a summary of each symbol, the variables it uses and any controls it provides. A description
of the full functionality is outside of the scope of this help. If you want to replace any symbol with one of
your own you must first carefully examine it using the Supervisor's graphic tools in order to fully understand
the functionality it provides.
l PLCx.Mn.GROUPS.01. CMD - Control button to open the Group Control mimic, SGWDALI_GroupDetail.
The variable provides the button label.
- 520 -
SGWDALI_Scenes and SGWDALI_Scene
Controls
l PLCx.Mn.SCENES.01. CMD - Control button to open the Scene Control mimic, SGWDALI_SceneDetail.
The variable provides the button label.
Controls
- 521 -
Symbol structure Show picture
- 522 -
The WAGO DALI Group Control Mimic
The Group Control mimic is named SGWDALI_GroupDetail. Show picture
The Group Control mimic can be opened either from one of the Group buttons in the Modules mimic
(SGWDALI_Module) or from the one of the Group buttons in the Ballast Details mimic (SGWDALI_Bal-
lastDetail).
The Group Control mimic uses the SGWDALI_GroupAssigment symbol to display the status of each
ballast. The following is a summary of the symbol, the variables it uses and any controls it provides. A
description of the full functionality is outside of the scope of this help. If you want to replace the symbol with
one of your own you must first carefully examine it using the Supervisor's graphic tools in order to fully
understand the functionality it provides.
SGWDALI_GroupAssigment
Variables
l PLCx.My.BALLASTS.nn.#B4 - Does not belong - OFF, Does belong - ON (Invisible if does not belong)
l PLCx.My.BALLASTS.nn.AVAIL.#T5 - Identity (number) of the ballast
l PLCx.My.BALLASTS.nn.AVAIL - Not available - OFF, Available - ON
l PLCx.My.BALLASTS.nn.POWER_ON - Power on - ON , Power on - OFF
Controls
Mimic controls
- 523 -
l MAX - Sends a value of 305 to the PLC (Variable PLCx.My.GROUPS.nn.CMD
l MIN - Sends a value of 306 to the PLC (Variable PLCx.My.GROUPS.nn.CMD
l Up (+) - Sends a value of 301 to the PLC (Variable PLCx.My.GROUPS.nn.CMD
l Down (-)- Sends a value of 302 to the PLC (Variable PLCx.My.GROUPS.nn.CMD
l OFF - Sends a value of 300 to the PLC (Variable PLCx.My.GROUPS.nn.CMD
- 524 -
The WAGO DALI Scene Control Mimic
The Scene Control mimic is named SGWDALI_SceneDetail. Show picture
The Scene Control mimic is opened from one of the Scene buttons in the Modules mimic (SGWDALI_Mod-
ule).
Mimic controls
- 525 -
The WAGO DALI Ballast Details Mimic
The Ballast Details mimic is named SGWDALI_BallastDetail. Show picture
The Ballast Details mimic can be opened either from one of the Ballast buttons in the Modules mimic
(SGWDALI_Module) or from the one of the Ballast buttons in the Group Control mimic (SGWDALI_GroupDe-
tail).
Mimic controls
Mimic animations
SGWDALI_BallastAssigment
Variables
l PLCx.My.BALLASTS.nn.GROUPS.yy - Ballast is part of the Group - ON , Ballast is not part of the group
- OFF
Controls
- 526 -
Symbol structure Show Picture
- 527 -
Yokogawa Stardom
- 528 -
Overview of the Stardom Smart Generator
The Smart Generator for Stardom generates the following in the Supervisor's variables configuration:
l Stardom project - The files exported from the Yokogawa Stardom Logic Designer in IEC61131-3
(ASCII) format.
l The Stardom Library folder - This has to be stored in the Supervisor's library folder which by default is
in the Supervisor project's sub-folder LIB.
l Networking configuration - This consists of lists of producer stations and associations, plus consumer
stations.
System requirements
The HMI objects are designed for a display resolution of 1280x1024 pixels and for Full HDMI.
l The Smart Generator is started from the command New Stardom Import on the Task Toolbar. Show
picture
- 529 -
The Smart Generator guides you through the following steps once you have selected the Stardom project
from which the import is to take its input. For details, see the remaining topics in this book. Show picture
You run the Smart Generator after the Stardom Logic Designer has exported the configuration files.
Since only those files are used, the Logic Designer does not need to be running during the import pro-
cess.
- 530 -
The Select Stardom Project Dialog
The Select Stardom Project dialog selects the folder from which the variables are to be imported. Show pic-
ture
1. Import name - Enter a reference name for the import. This will appear in the list of imports next time
the Smart Generator is opened.
2. Exported files - Click in the drop-down button to open the Browse for Folder dialog.
3. Select the folder name for the Stardom Project Library. The folder can be located on the local PC or
any network location visible to the Smart Generator. Show picture
l In the Networking List tab, select the Networking Lists. Show picture
l From the drop-down lists, select the Server list and the Client list.
The lists of servers and clients must already have been created in the Supervisor and the
local station must appear in the servers list.
- 531 -
l In the OPC Server tab, select these items. Show picture
l From the drop-down lists, select the Default OPC server and the Default OPC group.
l In the Options tab, select the encoding of the exported files. Show picture
- 532 -
Importing variables
- 533 -
The Stardom Select POUs Dialog
The Select POUs dialog lets you select the instances of POUs (Program Organization Unit) that are to be
imported. Show picture
1. Tick the box for each item in the tree structure that is to be imported.
2. To select all items in a category, task or other node, tick its box. Conversely click on a ticked box to
deselect all of its items.
3. To customize the import, click on the Customize button to open the Stardom Customize POU Prop-
erties dialog.
4. To import the global variables, tick the box Import global variables.
5. Click Next to continue.
- 534 -
The Stardom Customize POUs Properties Dialog
The Customize POUs dialog enables you to configure several properties for all instances of POUs selected in
the Select POUs dialog. Show picture
It has a List View pane on the left and a Property Grid pane on the right.
l Column 1: Instance name with the following format: Controller/Task/Program/Instance Name, for
example: FCX01/Task0/PRG1/PAS_PID_1
l Column 2: Type, for example: PAS_PID.
You can use the Windows keyboard shortcuts for making multiple selections. (Shift+Click and
Ctrl+Click)
- 535 -
The Stardom Import Type Dialog
The Stardom Import Type dialog enables you to select whether the variables and/or HMI elements are to be
imported. Show picture
- 536 -
The Stardom Import Global Variables Dialog
The Import Variables dialog allows you to select a full or custom import. Show picture
l If you select a Full import, all variables will be available for import. Click Next to continue.
l If you select a Custom import, the Nextbutton displays the Customize Global Variables dialog from
which you can filter and select the variables to be imported.
- 537 -
The Stardom Select Global Variables Dialog
Using the Select Variables dialog, you can apply a filter to the list of available variables (tags). Show picture
Variables that pass the filter criteria appear in the Available Items list in the dialog.
1. To select the variables for import, click on the names and then click the right-arrow button (->) to
copy the names to the Selected Items list.
2. When the variables required for import are all selected, click the Next button to continue.
- 538 -
The Stardom Customize Global Variables Dialog
The Customize Global Variables dialog allows you to modify the properties of multiple variables at a time.
Show picture
- 539 -
Stardom Data Object Types
The resources declared in the OPC server configuration file (FCXCNF.CSV) must be the same as
those declared in the Stardom project.
HMI objects
You can generate objects in the Supervisor from objects exported from Stardom as follows.
Stardom Supervisor
Type Type
Category
Control Group Faceplate in a mimic.
Graphic
Trend Trend viewer in a mimic.
Global Variable
Variables (tags)
Stardom variables are configured as OPC variables. They are converted to Supervisor variables as follows.
Stardom Supervisor
Mimics
You can generate mimics in the Supervisor with symbol instances corresponding to the POU instances in the
Stardom mimics.
Stardom Supervisor
Type Type
POU Symbol
Networking
Stardom Supervisor
Type Type
Networking server list List of producer stations and associations.
Networking client list List of consumer stations.
- 540 -
Importing the HMI
- 541 -
The Stardom Library
The Smart Generator uses the Stardom Library to provide the specialized components for the HMI.
The Library folder for Stardom is stored in the Supervisor's library folder which by default is in the Super-
visor project's sub-folder LIB.
l Trend mimics.
l Control Group mimics.
l Graphics mimics (free mimics).
l A System Overview mimic.
Configuration files
STARDOMIMPORTCONFIGURATION.XML TP Includes Templates for all controllers, program
instances and POUs as well as global definitions
such as OPC groups.
STARDOMIMPORTCONFIGURATIONHMI.XML TP A list of configuration items that are to be created
for each category (Control Group, Graphics and
Trend).
Mimic templates
TPL_ALARMS WT For Alarm mimics.
TPL_CONTROLGROUP WT For Control Group mimics.
TPL_TRENDS WT For Trend mimics.
TPL_GRAPHICS WT For Graphics mimics.
TPL_MENU WT For Menu mimics.
TPL_SYSTEM WT For System mimics.
Template files
TOOLBOX.SIT W For Toolbox mimic.
TOOLBOX.SIT.BINARY - -
TRD_xxxx.SIT W For Trend mimics.
GRA_xxxx.SIT W For Graphics mimics.
CGR_xxxx.SIT W For Control Group mimics.
ALA_xxxx.SIT W For Alarm mimics.
SYS_xxxx.SIT W For System Overview mimics.
Mimics
- 542 -
MENU_CONTROLGROUPS W Including the Control Group menu.
MENU_GRAPHICS W Including the Graphics menu.
MENU_TRENDS W Including the Trends menu.
[POU Name]_Settings W Settings mimic. One for each supported POU.
Symbols
[POU Name] S POU symbol. One for each supported POU.
[POU Name].png B Images of POU symbols to be used by the Smart
Generator.
POU_GENERIC.png B Image to be used by the Smart Generator for
POUs without an image of their symbol.
- 543 -
Stardom HMI Configuration - the Category Tab
The HMI configuration consists of categories. Each of these contains a set of control groups, graphics and
trends. These are all represented in a tree structure in the left-hand pane of the HMI Configuration dialog.
By default, the dialog opens with a single category, Category 1. Show picture
1. In the left-hand pane, you can use the button Expand All to expand all nodes and Collapse All to col-
lapse all nodes. You can also use the plus (+) and minus (-) markers in the tree structure to expand
and collapse individual nodes. Show picture
2. To add a category, select the Add Category button. Its node and sub-nodes are added to the tree struc-
ture in the left-hand pane. Show picture
3. To delete a category, select it then click on the Delete Category button. The selected category's node
and sub-nodes are removed from the tree structure.
4. From a category's Properties menu, you can choose Add Control Group, Add Graphics or Add Trend.
For details see the topics after this one.
5. Click on the Next button to continue.
l Name - Language 1 & Language 2 - you can enter a name for the category in each language. Up to 20
characters or ideograms.
l Number of Control Groups, Trends, Graphics - you can enter the number of instances of each kind of
component that is to be imported. Up to 1,000 of each.
The configurator adds as many nodes as you specify of each type (Control Groups, Trends and Graphics).
If you reduce the number of nodes below the number previously configured, the Update Category
dialog warns you that related mimics will be deleted. Show picture
- 544 -
When mimics are deleted, they are moved to the project's sub-folder \W\BAK. That applies also to
the Delete actions for Control Groups, Graphics and Trend objects.
- 545 -
Stardom HMI Configuration - the Control Group Tab
By default, the tab opens with a single control group object, Control Group 1, within the default category,
Category 1. Show picture
1. In the left-hand pane. select a Control Group node. Its properties are shown in the right-hand pane
where you can edit them (see below). Click on the Apply changes button when finished.
2. To add a control group, right-click on the Control Groups node and select Add Control Group. A node is
added to the tree structure in the left-hand pane.
3. To delete a control group, select its node then click on the button Delete Control Group. The node is
removed from the tree structure.
4. Click on the Next button to continue.
l Name - Language 1 & Language 2 - you can enter a name for the control group in each language. Up to
25 characters or ideograms.
l PAS/POU - expand the tree structure of objects. Select one of the eight faceplate (symbol) slots then
double-click on the object's entry in the tree structure. Its faceplate type and instance name are
shown in the slot's header and the next slot to the right is selected.
l Global Variables
l Reset button - returns the configuration to its initial state.
If you select a faceplate slot that has already been configured, the object you apply to it will replace
that configuration.
- 546 -
- 547 -
Stardom HMI Configuration - the Graphics Tab
By default, the tab opens with a single graphic object, Graphic 1, within the default category, Category 1.
Show picture
1. In the left-hand pane. select a Graphic node. Its properties are shown in the right-hand pane where
you can edit them (see below). Click on the Apply changes button when finished.
2. To add a graphic, right-click on the Graphics node and select Add Graphics. A node is added to the tree
structure.
3. To delete a graphic, select its node then click on the button Delete Graphics. The node is removed
from the tree structure.
4. Click on the Next button to continue.
l Name - Language 1 & Language 2 - you can enter a name for the graphic in each language. Up to 25
characters or ideograms.
l Mimic Links
l CG - 1 and CG - 2
l GR - 1 and GR - 2
l TR - 1 and TR - 2
- 548 -
Stardom HMI Configuration - the Trend Tab
By default, the tab opens with a single trend object, Trend 1, within the default category, Category 1. Show
picture
1. In the left-hand pane. select a Trend node. Its properties are shown in the right-hand pane where you
can edit them (see below). Click on the Apply changes button when finished.
2. To add a trend, right-click on the Trends node and select Add trend. A node is added to the tree struc-
ture.
3. To delete a trend, select its node then click on the button Delete trend. The node is removed from the
tree structure.
4. Click on the Next button to continue.
l Name - Language 1 & Language 2 - you can enter a name for the trend in each language. Up to 25 char-
acters or ideograms.
l Customize
l Export
- 549 -
Stardom HMI Configuration - Finish
When you have finished configuring the control groups, graphics and trends for the HMI, you can check the
number of instances of each to be created in the application. Show picture
l Select the Finish button to start the process of generating the variables and the HMI.
- 550 -
Managing previous imports
- 551 -
Overview of Managing Previous Imports
The Smart Generator workspace remembers the configuration of each import that is made. To manage a pre-
vious import you select it in the list in the right hand pane of Smart Generator's workspace. The following
options are then available from the task toolbar. Show picture
Synchronize
See the topic Synchronizing an import.
Remove variables
Removes all the variables previously imported into the Supervisor using the import.
Remove
Removes the import record from the Smart Generator. You can optionally remove all the variables asso-
ciated with the import from the Supervisor.
Properties
Displays the properties of the import. Show picture
- 552 -
Synchronizing an Import
When you synchronize an import the Smart Generator compares the variables available in the import file
with those that have been imported previously to the Supervisor.
The synchronizing process takes into account any filter that you may have used previously with the
import.
For example if there are 400 variables in the import file and the previous use of the import was with a filter
and created 100 variables in the Supervisor, Synchronize will inform you that there are 300 new variables
available for import.
What happens if the Smart Generator finds variables in the project that have not been impor-
ted?
If variables have been added to the import file since the last import, the Smart Generator will display the
Import New Variables dialog, inviting you to make either a full or a custom import of the remaining vari-
ables.
l If you select full import, all variables not already in the Supervisor are imported.
l If you select custom import, you will be able to filter the variables using the Select Variables dialog.
What happens if the Smart Generator finds variables in the Supervisor that are no longer in
the project?
If the Smart Generator finds variables in the Supervisor that no longer exist in the import file a list of the
variables will be displayed. Using this list you can choose to remove some or all of the variables from the
Supervisor. Show picture
- 553 -
What Happens if I Exceed the Number of Variables in the License?
The Supervisor only checks the number of variables in its variables tree against the number allowed in the
license on startup. There is no check when variables are imported using the Smart Generator. If the Super-
visor finds more variables in its tree than are allowed it will not start. To avoid this problem it is important
to keep track manually of the number of existing and new variables that you import.
How do I start the Supervisor if I have exceeded the number of allowed variables?
You cannot start the Supervisor if you have exceeded the number of variables allowed in the tree. Instead
you will have to recover an earlier version of the Supervisor's variables tree. If you have not taken a recent
backup of the project you can use the following procedure.
1. Locate the folder containing the project on which you are working.
2. Open the CTEMP folder and copy the file VAREXP.DAT (the variables tree definition file)
3. Open the C folder and rename the existing file from VAREXP.DAT to VAREXP.BAK
4. Paste in the copy of VAREXP.DAT from the CTEMP folder.
The copy of VAREXP.DAT in CTEMP is written each time the Supervisor is successfully started.
- 554 -
Programming languages
- 555 -
About the Programming Languages
The Supervisor supports two programming languages.
SCADA Basic
SCADA Basic is a block structured, interpreted language with a syntax closely related to industry standard
Basic. SCADA Basic is proprietary to the Supervisor.
VBA
VBA (Visual Basic for Applications) is a programming language created by Microsoft. It is a subset of their
Visual Basic (VB) language designed for automation of applications – originally the Office 97 suite but now
over 200 third-party packages as well. The Supervisor provides VBA access to the project environment,
mimics, drawing elements, symbols, macro animations and the real time value of variables (known col-
lectively as the Supervisor's objects).
Reference information for VBA, including the Supervisor's objects, may be found in a help file opened from
the Help entry in the VBA editor menu. This help file is only available in the English language.
- 556 -
Cypress Enable
Cypress Enable is not supported by version 11 or later of the Supervisor. However, it is possible to
convert and/or replace Enable scripts, developed with earlier versions of the Supervisor, to VBA.
Please contact technical support for further information.
- 557 -
VBA
- 558 -
Understanding Objects, Properties, Methods and Events
Objects are the fundamental building block VBA style scripting languages. Almost everything you do
involves modifying objects. Most of the elements of the HMI, the project, and the variables can be rep-
resented by an object in the scripting language.
What is a Property?
A property is an attribute of an object or an aspect of its behavior. For example, properties of a window
include its name, its size and position. To change the characteristics of an object, you change the values of
its properties.
The following example changes the colour of the drawing element 'Shape_Red'.
Shape_Red.BackColorPrimary = RGB(255, 0, 0)
You can also retrieve information about an object by returning the value of one of its properties. The fol-
lowing example returns the height of a drawing object.
ObjHeight = Object_Truck.Height
In this example, Object_Truck refers to a drawing element. The height of that drawing element is assigned
to the variable ObjHeight.
What is a Method?
A method is an action that an object can perform. For example, just as a drawing element can be moved,
the drawing element object has a Move method. Methods normally have arguments that qualify how the
action is performed. The following example moves the image Bitmap1 to a new location within its window.
Bitmap1.Move NewXPos, NewYPos
In most cases, methods are actions and properties are qualities. Using a method causes something to hap-
pen to an object, whereas using a property returns information about the object or it causes a quality of the
object to change.
What is an Event?
An event is an action recognized by an object, such as clicking the mouse or pressing a key, for which you
can write code to respond. Events can occur for a number of reasons:
- 559 -
Using Collections
A collection is an object that contains several other objects, usually of the same type. Using properties and
methods, you can modify a single object or an entire collection of objects.
- 560 -
The Supervisor's Objects
The properties, methods and events of Supervisor's objects allow the User to develop any customized beha-
vior needed for the supervision and control of the process. Some object instances are always available as
part of the core functionality (for example ThisProject) whereas others are created as part of the application
(for example an opened mimic).
Instance in
Class Represents VBA
Application The HMI application. Application
AVI An AVI object.
Bitmap A bitmap object. This class supports BMP and JPG image formats.
fvProject The currently opened project. ThisProject
GIF A GIF object. This class supports GIF image formats.
Graphics A collection representing all drawing objects within a mimic. The fol- Graphics
lowing object classes are included.
AVI
Bitmap
GIF
Group
Metafile
OLE
Poly
Shape
Symbol
Text
Group A group object. A number of drawing elements that have been
grouped together. (Not a symbol inserted from the libraries)
Metafile A metafile object. This class supports WMF and EMF image formats.
Mimic An opened mimic. ThisMimic
Mimics A collection representing all opened Mimic objects. TheseMimics,
Mimics
OLE A third party OLE object. Its properties, methods, functions and
events are exposed once it is inserted into a mimic. For information
on the behaviour of the object see the documentation provided by the
vendor.
Poly A polygon/polyline object. This class includes the Line, Polyline,Poly-
gon and Bézier curve drawing elements.
Recipe A list of inqredients and variables.
Shape A shape object. This class includes the Rectangle, Rounded Rectangle,
Ellipse, Arc and Half-arc drawing elements.
Symbol Symbol Library. (Previously known as an object)
System A set of properties that describes the system on which the HMI is run- ThisSystem, Sys-
ning. tem
TemplateGraphics A collection representing all drawing objects within a mimic template. TemplateGraphics
Identical to the Graphics Collection except that it points to the graph-
ics of a mimic template. If the mimic has no template then Tem-
plateGraphics is redirected to Graphics.
Text A text object. This class includes the Text drawing element.
UIAlm An alarm display object.
UILog A log display object.
UITrd A trend display object.
Variable A currently subscribed variable. It provides properties, methods and
events for variables of all types.
Variables A collection representing all currently subscribed variables. TheseVariables,
- 561 -
Variables
Window A view of an opened mimic. A mimic can have several views opened
simultaneously. For example, one in design mode and the other in run
mode.
Windows A collection representing all opened Window objects. Windows
- 562 -
Making Drawing Elements Respond to the Mouse Pointer
This topic describes how to make drawing elements respond visually when the mouse pointer is held over
them.
Show picture
Method
1. Select a drawing element and open the Properties List (View.Properties List).
2. Select the DisplayMouseInput property and set it to True. (Click on the value, click on the button
marked '...' and select True.)
Effects
When you hold the mouse pointer over the drawing element, it responds as if it had a Send animation. When
elements overlap, the effects depend on the combination of the DisplayMouseInput property and any anim-
ations.
Elements Effect
One element with the property True It responds all over.
Two elements: Each element responds separately except that when
- one with the property True the pointer is over the overlap, both respond.
- one with an animation
Two or more overlapping elements, both with the Each element responds separately. Only the one in
property True (or both with animations) front responds in the overlapping area.
Three or more overlapping elements. They respond separately except that when the
pointer is over the overlap of a particular pair - one
with the property True, the other with an animation -
that pair will respond together.
- 563 -
Using MS VBA
- 564 -
About VBA
The information contained in this help manual explains features of VBA that are specific to its imple-
mentation for the Supervisor. The help does not provide general information on VBA or on programming in
general.
If you are unfamiliar with VBA, you would benefit from tuition before you attempt any programming in the
Supervisor:
l By working through one of the many available books on VBA, with examples of code.
l By contacting your distributor for details of training courses.
Reference information for VBA, including the Supervisor's objects, may be found in a help file
opened from the Help entry in the VBA editor menu. This help file is only available in the English lan-
guage.
- 565 -
The VBA development environment
- 566 -
How the VBA Project Explorer Interacts with the HMI
In the VBA Project Explorer there are Projects, Project Items and Controls. A single HMI application is seen
in the VBA Project Explorer as several discrete projects.
Show picture
To display the Project Explorer box, use CTRL+R on the keyboard or select the menu View.Project Explorer.
Global Modules
You can insert Modules and Class Modules in any VBA project. Modules in the Main project will be seen by all
other projects. In the case of a name conflict use 'Main.' as a prefix.
- 567 -
Developing VBA programs
- 568 -
Error Handling When Using VBA
Why is error handling important?
Normally when a VBA application encounters an error, program execution is stopped and an error box is dis-
played providing direct access to the VBA editor. Show picture
With the Supervisor, if you have a Runtime license, this error box is disabled as it would give the user
access to the VBA editor. Therefore if there is an error, and no specific error handling is provided, the pro-
gram will stop and the user may be unaware. To avoid this you should add an error handler to all but the
simplest of programs.
l You must tell VBA that you have included an error handler.
l You must provide the error handling code.
To tell VBA that you have included an error handler you use the On Error statement. The On Error statement
points to a block of code to which the program will jump when it encounters an error. A simple example is
shown below.
Sub OnErrorStatementDemo()
On Error GoTo ErrorHandler ' Enable error-handling routine.
Open "TESTFILE" For Output As #1 ' Open file for output.
Kill "TESTFILE" ' Attempt to delete an open file to force error.
Exit Sub ' Exit to avoid handler.
A full explanation of error handling in VBA is beyond the scope of this help. For more information see
Microsoft's help for VBA or one of the many specialist books available.
- 569 -
Using HMI Drawing Elements in a VBA Program
Before any HMI drawing element (Shape, Text, Image etc.) can be used as a control in a VBA program you
must enable the VBA Control property in the pop-up menu displayed by right-clicking on the object.
Show picture
Once the drawing element has been enabled as a VBA control it becomes visible in the VBA environment and
the EnableEvents property of drawing element is set to True.
Remarks
You can select/de-select the VBA Control property at any time. The associated code is not lost if you de-
select a control, it just becomes a function of the Project.
It is possible for a drawing element to be a VBA control without the EnableEvents property being True. In
this case you will be able to change its properties by program, but not be able to fire any events.
Each drawing element that is enabled as a control requires additional resources from the host PC. Only
enable drawing elements as controls if you need to develop code for them.
- 570 -
Coding events dynamically using the Dim WithEvents statement
- 571 -
Developing code for use in symbols
- 572 -
About Developing VBA Code for Use in Symbols
Show picture
If you develop VBA code as part of a Symbol it will be generic and executed for each instance of the Symbol.
To allow the development of code on a symbol right-click on the Symbol to display a pop-up menu and
Select the property Symbol Project in VBA.
A new SymbolProject will appear in VBA and any code you develop will automatically be executed for any
instance of the symbol. The symbol is automatically saved each time you edit the code.
- 573 -
Using Drawing Elements Within a Symbol as VBA Controls
To use a drawing element within a symbol as a VBA control you must select its VBA Control property before
it is grouped and saved within a symbol (unless you use Dim WithEvents - see the topic Using BeforeEvent
and Dim WithEvents to Dynamically Code Events). It will then be visible as a control within the symbol and
appear in the left combo box of the code window for that symbol.
Any code attached to the drawing element before it becomes part of a symbol becomes a function
of the mimic project, it does not become part of the symbol.
1. Draw a rectangle 'Shape1' and select the VBA Control property using the right-click pop-up.
2. Draw a rectangle 'Shape2'.
3. Group 'Shape1' and 'Shape2'.
4. Right-click on the group and select Create Symbol.
5. Give the Symbol a name and save it.
6. Right click on the newly created Symbol and select Symbol Project in VBA.
7. Display the VBA environment (Alt+F11) and the Symbol will appear in its own SymbolProject project.
If you modify a Symbol by ungrouping it you will lose any code attached to drawing elements within the sym-
bol.
To avoid this, duplicate the Symbol first to keep at least one instance of the Symbol in the mimic.
The VBA project automatically reattaches the code to the modified Symbol.
- 574 -
What Happens to Symbol Events when Using VBA?
By default, the EnableEvents property of the Symbol itself is set to false and the Symbol is unable to
respond to events. However, any drawing elements within the symbol that are VBA controls are able to
respond to events (assuming that their EnableEvents property is true).
Remarks
If you set the EnableEvent property of the Symbol to true then the Symbol itself will respond to events but
any VBA control within it will not. You will still be able to change the properties of any VBA control within the
Symbol by program.
- 575 -
Using BeforeEvent and Dim WithEvents to Dynamically Code VBA Events
The Symbol object has two special events, BeforeEvent and AfterEvent. These are fired even if the
EnableEvents property of the Symbol is false.
l The BeforeEvent event occurs before each event fired from any drawing element in the Symbol with
the EnableEvents property set to true.
l The AfterEvent event occurs after each event fired from any drawing element in the Symbol with the
EnableEvents property set to true.
Using BeforeEvent with the Dim WithEvents statement allows you to code events on a drawing element in a
Symbol without first selecting the VBA Control property.
Example
This is best illustrated with an example. Within a Symbol, Shape1 exists and has the EnableEvents property
set to true but has not been selected as a control.
'------ The following line must be placed in General Declarations
Dim WithEvents objGraphic as Graphic
'------ Assign the object when using the BeforeEvent Event
Private Function Symbol_BeforeEvent () As Boolean
Set objGraphic = Graphics("Shape1")
End Function
'------ Code to execute when Shape1 is clicked
Private Sub objShape_Click
MsgBox "Click"
End Sub
- 576 -
Using variables in a program
- 577 -
About Using Variables in a VBA Program
Before you can use the properties, methods and events of any Variables Tree variables in your programs,
the variables must first be subscribed. Variables are subscribed in the following ways.
- 578 -
Subscribing and Unsubscribing a Variable Using VBA
Variables are not automatically available to VBA. To make them available they must be subscribed.
Each variable that you subscribe uses some slight system resources. To reduce that loading you can
'unsubscribe' (remove) variables that are no longer required, as described below.
Some variables may need to be subscribed 'permanently' while the project running. For instance,
variables that have a script running when the variable changes in value.
l All variables that are available in the HMI (because at least one mimic that uses them in animations is
open) are automatically available in VBA.
l You can access other variables by programmatically subscribing to them.
You must use the full variable name when you subscribe a variable.
- 579 -
Shortcuts for Access to Variables in VBA
The Item method
The Item method is the default for the Variables collection, and the Value property is the default for the Vari-
able object. So:
Variables("CommentDisplay") = "Hello World"
is the equivalent of:
Variables.Item("CommentDisplay").Value = "Hello World"
The [. . .] syntax
The [. . .] syntax provides an additional shortcut to directly access a variable's value.
[Main.Branch1.B1]
is the equivalent of
Variables("Main.Branch1.B1")
It is recommended that you use this shortcut to make your code more readable.
When you use the [...] syntax the variable is automatically subscribed and unsubscribed - there is
no requirement to do it programmatically.
Example
Private Sub Shape1_Click()
If [Main.Branch1.B1] = True Then
[Main.Branch1.B1] = False
Else
[Main.Branch1.B1] = True
End If
End Sub
- 580 -
Running VBA Code When a Variable's Value Changes
You can execute code when a variable's value changes, using the Dim WithEvents statement and the
ValueChange event.
This is best illustrated with a simple example.
Example
'------ This code must be placed in General Declarations
Dim WithEvents objVar As Variable
You must enable events for the object using the EnableEvent method.
Remarks
If the code is contained within a mimic, any references to objects are temporary. When the mimic is closed,
or its mode changed (from Run to Development), the reference is lost and the event will no longer work. For
the event to work again the object must be reassigned to the variable and the events enabled.
- 581 -
Managing Scroll Bar Controls from VBA
A window displays a scroll bar when part of a mimic is hidden by the window frame. (The workspace can
also display scroll bars, but this topic does not apply to them.)
You can manage window scroll bar controls from VBA by using these features:
l The Mimic object event WindowScroll. (It applies to the mimic associated with the window).
l The Window object functions GetScrollPosition, SetScrollPosition and GetScrollHighPosition.
Show picture
Limits of positioning
Each scroll bar control has a low limit position of 0 to represent the top or left end of the window frame, and
a high limit position for the bottom or right end. These parameters are stated in logical units (by default,
pixels).
- 582 -
Extending the Functionality of the VBE
The VBE (Visual Basic Environment) is the object model for Microsoft VBA Extensibility 5.3. It contains func-
tionality such as:
Using these references and properties, you can alter and add to the functionality that is provided in VBA.
The VBE object is the root object that contains all other objects and collections represented in VBA.
- 583 -
VBA Hints and Tips
The following hints and tips (not presented in any particular order) have been accumulated during the devel-
opment of this Help. They do not concern programming techniques but more the way in which you use the
VBA environment in the HMI.
Enabling events
You must have the Dim WithEvents statement in a code module to enable an object's events to be inter-
cepted by VBA procedures. For more details see the topic Using BeforeEvent and Dim WithEvents to Code
Events Dynamically.
Events are fired only if the EnableEvents property of the underlying object has been set to true. This hap-
pens automatically once the first event script has been associated with the object. For instance, you must
set the EnableEvents property of a Symbol to True to allow it to respond to events. For more details see the
topic What happens to Symbol events.
In Design mode, events are not executed.
Access to Variables
You must subscribe an OPC variable before you can use it in VBA (unless it is used in an animation in a
mimic that is currently open).
The [. . .] syntax provides an additional shortcut to access a variable directly. [Main.Branch1.B1] is the
equivalent of: Variables("Main.Branch1.B1").
Diagnostic tools
The HMI is always open when you are developing a VBA program. You can use animations in a mimic to mon-
itor the values and properties of HMI variables dynamically. You can also keep open the Configuration
Explorer (for all HMI variables) and the Properties List (for a selected element in the HMI) for reference as
you develop the code. The contents of the Properties List change dynamically as you select HMI objects and
alter their settings.
For diagnostic tools in the standard Microsoft VBA environment, see the Microsoft Help topic 'Ambiguous
Selection' (Code/Module Window, Immediate Window/Pane, Locals Window/Pane, Object Browser and
Watch Window/Pane).
- 584 -
Web and mobile client applications
- 585 -
Web and Mobile Client Applications Overview
The available Web and Mobile Client Applications are as follows:
l WebVue - A web portal designed to display the Supervisor's mimics in a web browser.
l TouchVue - An app (application) that displays information about the Supervisor's variables, and alarm
notifications, on a mobile platform such as a smart phone or tablet.
l WebScheduler - A web portal for managing the schedules that you find in typical supervisory applic-
ations such as Building Management.
The Web Services Toolkit is also available. It is a XML/SOAP Web API that allows you to develop client applic-
ations needing access to data managed by the Supervisor.
The web and mobile client applications require the following functional components:
The web and mobile client applications communicate with the web server using HTTPS over a LAN (local net-
work) or a WAN.
We recommend users to take defensive measures to protect against cybersecurity risks. Depending
on your risk analysis, you should:
l Minimize network exposure of your control system devices. Critical devices should not directly
face the Internet.
l Design your network architecture so that it brings the adequate level of segregation for your
control system. Potential measures include (but not limited to): Router, firewalls, DMZ,
segregation from the business network...
l When remote access is required, use secure methods, such as Virtual Private Networks
(VPNs).
The main common steps to configure web & mobile app access to the Supervisor are as follows:
When the web server is updated and re-deployed, it is of prime importance to make sure WebVue
and WebScheduler users empty the cache of their web browser. This ensure that they are using up-
to-date resources and javascript modules.
Useful links
About deployment:
- 586 -
l Web & Mobile back ends
l Mobile server
- 587 -
TouchVue
- 588 -
TouchVue Overview
TouchVue is a mobile application that displays information about the Supervisor's variables, and alarm noti-
fications, on a mobile device such as a smart phone or tablet. The information is supplied by the Super-
visor's Web & mobile back end server. The variables that are eligible for display are primarily selected by
matching their Browse Level to the Browse Level configured in the profile of the TouchVue user. Show pic-
ture
See Web and Mobile Client Applications Overview for an overview of Web & Mobile client applications, includ-
ing their common requirements and common deployment steps.
The configuration steps specific for TouchVue access to the Supervisor are as follows:
l Make sure you have properly configured the Mobile server settings available in the Application
Explorer. It includes the variable and alarm properties that should be displayed in the TouchVue App
detailed views, and the default filter for alarm notification,
l Make sure the variable Browse level matches your need, so that the proper variables and alarms are
accessible to the intended users via TouchVue,
l Have users install the TouchVue mobile application on their mobile device.
This book includes detailed information about how to design your project so that users can successfully take
advantage of the TouchVue mobile application:
l For information about developing a project for TouchVue, see the book Mobile server.
l For information about TouchVue user configuration, see the topic Properties that affect access to Web
Apps and Web Services in the Application Explorer book and Configuring TouchVue Users.
l For information about using TouchVue, see the book Starting TouchVue.
l Inbox - List of recent alarm notifications from all connected accounts. See the Inbox view topic.
l Watch list - List of watched variables from all connected accounts. See the Watch list view topic.
l For each configured account
l Browsing - The root of the Supervisor's variables tree, from where you can navigate to the
views that display the variables lists and individual variable details for the account. See the
Browsing view topic.
l Watch list - A list of the watched variables for the account. See the Watch list view topic.
l Alarm list - A list of current alarms for the account. See the Alarm list view topic.
l Logs - Selection of a log list and the display of the events it has recorded. See the Logs view topic.
- 589 -
l Application settings - TouchVue's user configurable parameters. See the Application settings view
topic.
l Accounts - Configure user accounts and display their status. See the Accounts view topic.
TouchVue makes use of the Notification Area to notify the user of the status of selected alarms.
Licensing TouchVue
The components necessary to run TouchVue are included on the Supervisor's distribution media and the Win-
dows distribution media.
The maximum number of simultaneous TouchVue sessions the Supervisor's Web back end manages is
license-protected.
Terminology
For readers not familiar with mobile platforms terminology here are some of the terms in common use:
l View - The term used for a graphic display page occupying the entire screen (except the notification
area - see below).
l Notification area - A small area, not used by any app's views, reserved for notifications requiring the
user's attention. Normally at the top of a smart phone or the bottom of a tablet.
l Gestures - The finger movements to interact with the Android touch screen.
l Touch or Tap - Touch the screen Press and lift immediately.
l Long touch or Long tap - Touch the screen, wait, lift.
l Swipe - Touch the screen, move, lift.
l Drag - Long touch, move, lift.
l Double touch or Double tap - Two touches in quick succession.
l Pinch open - 2-finger touch, move outwards, lift.
l Pinch close - 2-finger touch, move inwards, lift.
l Drawer menu - A menu generally opened by a left swipe. Known as a drawer because of the way in
which it opens.
- 590 -
Configuring TouchVue Users
TouchVue users are configured in the same manner as other users of the Supervisor by creating Users and
allocating Profiles to configure the user rights.
Many of the user rights, selectable in a profile do not affect the use of TouchVue. Only those in the Web tab,
and those that affect variable and alarm access are relevant.
l Web tab - Enable access. Must be selected to give the user access to TouchVue.
l Web tab - Project Language.
l Browsing tab - Browse levels. Selects the variables available to the TouchVue app. See below.
l Command tab - Command levels. Controls the variables for which the user can send commands/set-
points.
l Alarm acknowledge tab - Alarm acknowledge levels. Controls which alarms the user can acknowledge.
l Alarm masking tab - Alarm masking levels. Controls which alarms the user can mask.
- 591 -
Using TouchVue
- 592 -
Starting TouchVue
TouchVue is started by tapping the app icon. Show picture
If it is the first time TouchVue has been started, you must configure an account. After the splash screen has
been displayed for a few seconds the Account view is displayed from where an account can be configured.
If TouchVue has previously been started, and an account has been configured, the Inbox view is displayed.
Starting the TouchVue app also starts the TouchVue notification service, which runs in the back-
ground.
- 593 -
Menu Drawer
The Menu drawer is used to navigate the TouchVue app. It can be opened from most views with a left swipe
from the screen border, or by tapping the Menu icon, which appears at the top left corner. Show picture
Main features
l Inbox - A list of the most recent 50 alarm notifications across all accounts. See the topic Inbox view.
l Watch list - A list of variables that have been marked as watched across all accounts. See the topic
Watch list view.
l Accounts - The menu drawer includes an entry for each configured account showing its current status.
Tapping the account displays the four views specific to that account.
l Browsing - Navigate the Supervisor's Variables Tree starting at the root. See the topic Browsing
view.
l Watch list - A list of variables that have been marked as watched. See the topic Watch list view.
l Alarm list - A list of alarms and their current state. See the topic Alarm list view.
l Logs - Display events from a selected Log List. See the topic Logs view.
l Application settings - User configurable settings for the TouchVue app. See the topic Application set-
tings view.
l Accounts - Manage the accounts used to connect the TouchVue app to the Supervisor's web server.
See the topic Accounts view.
- 594 -
Alarm Notifications
The Alarm Notifications mechanism runs as a service and, once the TouchVue app has been started, it runs
in the background even if the TouchVue app is closed. The service polls the server for alarms at the rate con-
figured in the Application settings view. Notified alarms appear in the notification area of the mobile device.
Show picture
Tapping a notification opens the TouchVue app and displays the Inbox view.
Not all versions of Android support TouchVue notifications. For information on which platforms are
supported by TouchVue see the topics Operating System and PC Requirements or the readme file.
- 595 -
Inbox View
The Inbox view displays a list of the most recent 50 alarm notifications. The notifications are stored locally
on the device and are displayed even if the device is not connected to the Mobile Server. Show picture
Alarms can have either a read or unread status. Unread alarms are displayed in a bold font and a count of
the unread alarms is displayed at the top of the view.
Newly received notifications whilst the Inbox view is opened are not added immediately. However,
the Inbox can be refreshed using a down swipe.
l By displaying the Details view, for an alarm, by tapping the alarm name.
l By selecting one or more alarms, by tapping the icon adjacent to the alarm name, and using the Mark
As Read command on the toolbar at the top of the view.
- 596 -
Browsing View
The Browsing view allows you to navigate the Supervisor's Variables Tree starting at the root. Show pictures
Screen features
l Displays one branch at a time from the variables tree starting at the root and ending with the vari-
ables for the chosen branch.
l Only variables that match the user's Browse Level (or levels) are displayed. Branches that do not con-
tain any matching variables are not displayed.
l Branches and variables are designated by their Description. Only if the Description is not present in
the Supervisor's configuration is the Name displayed. The use of the Description property for branches
and variables is normally preferential, as it does not have the constraints that affect a variable's
Name.
l Branches and variables (register, text, bit and alarm) are clearly differentiated with different icons.
l Tapping a branch will navigate to the next level of that branch which may contain more branches, vari-
ables or a mixture of both.
l Tapping a variable's name will open the Variable Details view for that variable. Which details are dis-
played depends on the configuration of the Mobile Server in the Supervisor.
l Tapping a variable's icon will select the variable. The menu actions can then be used on that variable
l Variables that have been added to the Watch List are indicated with a star adjacent to their icon.
l For branches and / or variables that have an associated mimic or symbol, an additional view, Visual,
is available. See the section below.
Menu actions
Menu actions are applied to all selected variables.
- Watch selected variables.
- Unwatch selected variables.
- Select or un-select all variables.
Visual view
If the variables tree was generated by the Application Architect, and there is a mimic and / or symbol asso-
ciated with the instance that generated the branch or variable, then you can display the mimic or symbol by
- 597 -
tapping the Visual tab. Show pictures
- 598 -
Variables Details View
The Variable Details view displays detailed information about a single variable. It is opened by tapping the
variable name in either the Browsing view or the Watch list view. Show picture
Screen features
Menu actions
None
Visual view
If the variables tree was generated by the Application Architect, and there is a mimic and / or symbol asso-
ciated with the instance that generated the variable, then you can display the mimic or symbol by tapping
- 599 -
the Visual tab. Show pictures
- 600 -
Trend View
The Trend view displays a historic trend for one or more register variables. The Trend view can be opened
from the Variable Details or Watch List views. Show picture
Screen features
Menu actions
- Change the time period. You can choose from a number of preset periods, which run back from the cur-
rent time, or custom period where the period is defined by entering a start and end time.
- Change the trend Y-axis.
Automatic Y-Scale - The Y-axis is scaled to the minimum and maximum value of the trace.
Custom - Manually enter the scale.
Free mode - Allow the pinch open and pinch close gestures to change the Y-axis
- If displaying multiple traces (Watch view), allows display of individual traces to be disabled and
enabled.
- 601 -
Watch List View
The Watch List view displays a list of all variables that have been marked as watched. The Watch List nor-
mally displays watched variable from all accounts. However if you open the Watch list subordinate to an
account from the main menu drawer, it displays only watched variables from that account. Show picture
Screen features
l Variable values are refreshed at the rate defined by the Variable refresh interval setting in the Applic-
ation Settings view.
l Tapping a variable's name will open the Variable Details view for that variable. Which details are dis-
played depends on the configuration of the Mobile Server in the Supervisor.
l Tapping a variable's icon will select the variable. The menu actions can then be used on that variable.
l Actions specific to an individual variable are displayed by tapping the right arrow adjacent to the vari-
able name.
l The DETAILS action displays the Variable Details view.
l The UNWATCH action clears the variable watched flag, thus removing it from the list.
Menu actions
Menu actions are applied to all selected variables.
- Unwatch selected variables.
- Display all selected variables in a Trends view.
- Select or un-select all variables.
- 602 -
Alarm List View
The Alarm List view displays a list of alarms, and their current state, for the account under which it appears.
Show picture
Screen features
l Only alarms which pass the filter criteria in Alarm List settings of the Mobile Server are displayed.
Additional filter criteria can be applied using the properties in the Filters view.
l The Alarm List is refreshed at the rate defined by the Alarms polling interval setting in the Application
Settings view. The default is five seconds.
l The list can be scrolled using the swipe or drag gestures.
l Tapping an alarm name will open the Variable Details view for that alarm. Which details are displayed
depends on the configuration of the Mobile Server in the Supervisor.
l Tapping an alarm icon will select the alarm. The menu commands can then be used on that alarm.
l Actions specific to an individual alarm are displayed by tapping the right arrow adjacent to the alarm
name.
l The ACK action acknowledges the alarm.
l The MASK action masks the alarm.
l The UNMASK action unmasks the alarm.
Menu actions
Menu actions are displayed by tapping the icon and are applied to all selected alarms.
- 603 -
The Filter view is displayed by tapping the icon. It displays, and allows the user to customize the alarm
list filter. Show picture
If the property Allow filtering in the Mobile Server configuration is not ticked the TouchVue user can
view the filter but not change it.
- 604 -
Logs View
The Logs view displays a list of events from a selected Log List. The events can be further selected using an
optional filter. Show picture
Screen features
l The displayed events are selected by Log List and an optional filter.
l The number of displayed events are limited by a time period set by the Timeframe Properties setting
in the Application Settings view. The default is six hours.
l Oldest events are displayed at the bottom, newest at the top.
l The list can be scrolled using the swipe or drag gestures.
Menu actions
- Select the Log List when multiple Log Lists have been added to the Mobile Server node in the Application
Explorer.
- Change the time period. You can choose from a number of preset periods, which run back from the cur-
rent time, or custom period where the period is defined by entering a start and end time.
- Filter the type of events that are displayed. Note that the filter set here is ANDed with the filter in the
Supervisor's Log List.
- 605 -
Applications Settings View
The application Settings view provides access to the user configurable settings of the TouchVue app. The set-
tings are divided into two categories, General Show picture and Alarms Show picture. The settings are per-
sistent.
Settings
l SECURITY
l Maintenance mode - Displays additional information, for example network name on the con-
nection page, to assist with troubleshooting.
l TIME FILTER PROPERTIES
l Log lists - The default time period for the Logs view.
l Trends - The default time period for the Trends view.
l SETTINGS
l Prevent application from sleeping - Stops the operating system from stopping the background
service used for notification.
l Variables refresh interval - The period at which variable values are polled when the Watchlist
view is open.
l THEME
l Theme color - The TouchVue app theme color selected from red, blue, green, orange or purple.
l VERSION INFO - The version of the installed TouchVue.
l NOTIFICATIONS
l Mute alarm notifications - Mute alarm notifications.
l Start the alarm notification at boot time - Start the alarm notification when the TouchVue app is
started.
l ALARM PROPERTIES
l Polling interval for in-app alarm handling (sec) - The period at which alarm values are polled
from the server when the app is open and being used.
l Polling interval for alarm notifications (sec) - The period at which alarm values are polled from
the server when the app is open but in background.
l NOTIFICATION FILTERS
l Alarms - The default settings for the alarm filter
- 606 -
Accounts View
The Accounts view is used to manage the accounts used to connect the TouchVue app to the Supervisor's
Web and Mobile server. The TouchVue app can be configured for, and simultaneously connect to, one or
more server, and the user will need an account for each of them.Show picture
1. Enter an Alias for the account. This is the name used to identify the account and is displayed in several
views and the menu drawer.
2. Enter the URL of the computer hosting the web server. This can either be the domain name or IP
address.
3. Enter the Username. The username must exist in the Supervisor and use a profile configured for web
access.
4. Enter the Password.
5. To automatically connect to the mobile server using the account credentials, each time the TouchVue
app is started, select Keep logged in.
6. Tap Connect to save the account and connect to the Web and Mobile server.
- 607 -
Ignore certificate errors is useful if the web server does not have a valid certificate. It should only
be used on isolated development machines, and never be used in production.
Managing accounts
Accounts are managed, from the Accounts view, by tapping the right arrow icon adjacent to the account
name. Show picture
l Logout - Log out the account from the Web and Mobile server.
l Remove - Remove the account completely from the TouchVue app configuration.
l Status - Display the Status view. The Status view shows the status of each service that the TouchVue
app uses with this account.Show picture
- 608 -
WebVue
- 609 -
WebVue Overview
WebVue is a web portal designed to display the Supervisor's mimics in a Web browser.
See Web and Mobile Client Applications Overview for an overview of Web & Mobile client applications, includ-
ing their common requirements and deployment steps.
The configuration steps specific to WebVue access to the Supervisor are as follows:
l Make sure mimics and SCADA Basic scripts are designed in a suitable way for WebVue, not employing
features that are either not supported, or not-applicable,
l Make sure you have used the scope of variables appropriately to manage concurrent access to some
features or mimics, in particular for user inputs in mimics.
This book includes detailed information about how to design your project so that users can successfully take
advantage of the WebVue client:
l For information about developing a project for WebVue, see the book Configuring a project for
WebVue.
l For information about WebVue user configuration, see the topic Properties that affect access to Web
Apps and Web Services in the Application Explorer book.
l For information about using WebVue, see the book Using WebVue.
Licensing WebVue
The components necessary to run WebVue are included either on the Supervisor's distribution media or on
the Windows distribution media.
The maximum number of simultaneous WebVue client sessions a Supervisor's Web back end manages is
license-protected. There is no licensing requirement for the web server or for any computer that is running
the WebVue client in a web browser.
- 610 -
Configuring a project for WebVue
- 611 -
Overview of the Functionality Checklist
Most of the functionality provided by the Supervisor's mimics is available to a WebVue client. Due to the
Web Browser environment in which WebVue is rendered, there are some restrictions and also behavioral dif-
ferences compared to the Supervisor's desktop application.
The topics in this book describe the extent to which the graphic rendering and user interaction features of
the Supervisor are available on the WebVue Client. They list the properties configured in the Supervisor for
a window, a drawing element, an animation or a control. For each of these, they specify whether a property
is:
This part of the Help book does not explain the functions or how to configure them in the Supervisor. That is
covered in the main Help books, to which cross-references are provided in the Help topics here.
There may also be rendering differences between different web browsers. For example, the Alarm
Viewer has small differences in appearance in Firefox and in Edge.
l The pan & zoom behaviors are different as WebVue takes advantage of the web browser built-in pan &
zoom capabilities instead of relying on the Supervisor's web back end for these. The advantage is a
better user experience, in particular on touch devices, and limited risks linked to web browser
updates.
l Limited use of function keys.
l Fonts are generally supported if they are installed on the browser of the WebVue Client's device. The
fonts Arial, Courier, Times New Roman, and System are widely supported.
l When using the automatic logoff of users, no warning box is displayed to the inactive WebVue user
prior to logoff.
l Password modification is only available from the login page.
Main restrictions
l The following animations and controls are not supported or not applicable.
l Color - Legend animation
l Send - Recipe animation
l Send - Region animation
l Send - Languages animation
l Send - Timetable animation
l Run - Macro animation
l Security - User confirmation animation
l Security - Double signature animation
l Security - Password animation
l Grid control
l Chart control
l Map control
l Pie/doughnut/pyramid control
l Text-box form control
l Third party ActiveX controls
l Variable linking is not supported.
l The use of substitution strings for opening mimics is not supported (#I, #P, #U, #M11 to #M20).
l The form controls are supported except the text box. Their appearance is slightly different, in par-
ticular, the intermediate state of a check-box list or option-button list control is not available. You can-
not use variables linking with Form Controls for mimics displayed in WebVue, use SCADA Basic
scripting instead.
l The Trend, Alarm and Log Viewers have some limitations.
- 612 -
l AVI (multimedia) files not supported.
l If a mimic is repeated in the Supervisor's Workspace, only the first instance appears in the WebVue
Client.
l No feature associated with multi-screen and region management is supported.
l Mimic Tab Control is not supported.
l Control zone animation accelerator keys not supported.
l OLE objects in mimics not supported.
l VBA and Enable scripts not supported.
l Partial support for SCADA Basic instructions and modes. The SCADA Basic help contains detailed
information for each instruction and mode.
l 3D mimics not supported.
l VCR mode not supported.
l Visibility of graphic objects according to layers is supported, but no layer selection toolbar is available
for the user.
l Because zooming rely on the web browser built-in capabilities and is processed on client side, zoom-
ing via SCADA Basic and decluttering features are not supported.
l The Security Mode for Login and Password property, configured in the Web Services settings dialog,
which allowed a user to log in to WebVue without entering a user name and password.
l The Automatic Login property, in a User's profile, which allowed WebVue to start and connect to the
Supervisor without having to enter a user name and password.
l If screen sizes and resolutions vary across the network and any remote stations, design or adapt the
parts of the application that the WebVue Clients will display to fit the most limited visible area in any
of the browser windows. In particular, mimic scaling and rendering are directly impacted by the Web
back end property called Fit rendering to the web browser viewport. See the Application Explorer help
for more information.
l If a browser is only (or often) used to run the WebVue Client, its default address can be set to the
WebVue Server's URL.
l Check the elements of the mimics to be accessed against the information in this book so as to avoid
unavailable features and incompatible behaviors.
l Avoid a mimic structure that allows all the mimics to be closed at one time, since then the user will
have to disconnect and reconnect to re-display the initial mimic.
l Keep mimics as simple as possible and avoid the use of large images. The more complex a mimic is,
and the larger its images, the longer its mimics will take to load.
l Mimics can be larger than the window. Scroll bars are then automatically added. This feature is com-
patible with the newly supported auto-sizing. For this feature to work, the option Allow mimic to be lar-
ger than window must be enabled for each mimic.
l Due to the web browser environment, the <Esc> key is not effective to close context mimics, so your
pop-up mimics shall include a button or the title bar for the user to close them.
l Security animations, in particular Login, Logout and Change password, as well as the corresponding
SCADA Basic instructions (System mode Login, Logout and ChangePassword) are designed for the
Supervisor desktop application and must not be made available to WebVue users in a mimic. Exe-
cution by a WebVue user has no effect.
- 613 -
l User access via web & mobile apps are subject to authorization defined at the profile level. See the
topic Properties That Affect Access to Web Services in the Application Explorer book for more inform-
ation.
l Safari on iOS - When the Safari web browser is closed without logging out from WebVue, WebVue is
re-open by default the next time the user opens Safari, but the user will not be able to successfully
login, and will be stuck on the WebVue loading page. This is due to the Safari snapshot of the last vis-
ited page where Safari display the web page without actually requesting the web server. The solution
is to go to the address bar and click the Go button, or ask Safari to reload the page.
l Google Chrome - The password manager of Chrome does not store credentials if the connection to the
web server is insecure. As a consequence, if you do not have a proper certificate on the web server,
users will not be able to use the Chrome password manager to store their credentials.
l Microsoft Edge - Edge does not store the session cookie when using the local computer as a web
server with a binding on the hostname at the IIS level. As a consequence, you cannot successfully log
in, and can see a warning message indicating that the version of the client is not compatible with the
server. The solution is to add .local to the computer host name when setting up the web site binding
with the Web Deployment Console (for example, https://mycomputername.local instead of https://-
mycomputername).
When the web server is updated and re-deployed, it is of prime importance to make sure WebVue
users empty the cache of their web browser. This ensure that they are using up-to-date resources
and javascript modules.
- 614 -
Window Properties in WebVue
Display tab
Property WebVue support
Positioning on Workspace Yes
Background color Yes
Link mimic with window size Yes
Allow mimic to be larger than Yes
window
Scale mimic to fit window Yes
Title Yes
System menu Partial - In the Supervisor's desktop rendering, this property allows to disable
the icon and buttons on the mimic window title bar. In WebVue, this property
has no effect at all. If the window title bar is enabled, it looks always the
same.
Iconizable Partial - If a mimic is minimized in the Supervisor's desktop rendering, it is
displayed as a small square in the upper right corner. In WebVue, it is min-
imized to only the small title bar and shown in the lower left corner.
Maximize Yes
Sizeable Partial - Sizeable is only available if Border is also enabled. If mimic is larger
than window, it is possible to shrink and grow the window.
Moveable Yes
Foreground Partial - The foreground property is effective except in one special case.
If a mimic which has the foreground flag opens another mimic that does not
have it, the new opened mimic is in the Background in the Supervisor's
desktop application, in WebVue the new opened mimic will be in foreground.
Small caption No
Border Yes
Client Border Yes
Static Border Yes
Cache N/A
Modal No
Layers Yes
Title bar Yes
Grid N/A - Affect the design mode behavior.
Links tab
Property WebVue support
M1-M10 Yes
Template tab
- 615 -
Property WebVue support
Template properties Yes
Command priority Yes
Advanced tab
Property WebVue support
Beep No - Beeping in WebVue is only possible via SCADA Basic
Screen resolution N/A
Navigator tab
Not supported in WebVue.
- 616 -
Drawing Element Properties in WebVue
General
This summary is not exhaustive as there is some interaction between properties. Therefore, it is important
to always check precisely how a mimic behaves in WebVue.
Property WebVue support
Visibility Bound N/A - Affects the visibility of a drawing element when zooming. WebVue zoom-
ing capabilities are only based on web browser zooming and therefore these
properties have no effect
Locked N/A - Affect the design mode behavior
Colors Partial - Radial gradient is not supported. Step value for gradients not sup-
ported. Blinking colors rendering may be different from the desktop applic-
ation on non-solid background.
Fonts Yes - The fonts supported by Web Browsers may be limited. The browser uses
a substitute font if the one specified is not available
Position Yes
Size Yes
Rectangle - Base
Property WebVue support
Background color See General - Colors
Background Style Yes
Line Yes
Rectangle - Appearance
Property WebVue support
Regular Yes
Shadow Yes
Button Partial - System style is not available
Colored Button Yes
Relief Yes
Inverse Relief Yes
RoundedRectange - Base
Property WebVue support
Background color See General - Colors
Background Style Yes
Line Yes
RoundedRectangle - Appearance
Property WebVue support
Regular Yes
Shadow Yes
Button Partial - System style is not available
Colored Button Yes
Relief Yes
Inversed Relief Yes
Ellipse - Base
Property WebVue support
Background color See General - Colors
Background Style Yes
Line Yes
- 617 -
Ellipse - Appearance
Property WebVue support
Regular Yes
Shadow Yes
Button Yes
Colored Button Yes
Relief Yes
Inversed Relief Yes
Polygon - Base
Property WebVue support
Background color See General - Colors
Background Style Yes
Line Yes
Polygon - Appearance
Property WebVue support
Regular Yes
Shadow Yes
Button Yes
Colored Button Yes
Relief Yes
Inversed Relief Yes
Bezier - Base
Property WebVue support
Background color See General - Colors
Background Style Partial - Only solid style is available
Line Partial - Only solid style is available
Text - Base
- 618 -
Property WebVue support
Font Yes - The selected font will not be transferred to the client therefore, it must
be installed already on the client system. If the font is not available at the cli-
ent, the browser's default font is used.
Text color Yes
Background color See General - Colors
Rotation Yes
Text - Aspect
Property WebVue support
Do not autosize Yes
Alignment Yes
Multiline Yes
Margin Yes
Appearance Yes
Image - Base
Property WebVue support
Image Types Yes - All image types supported by the Supervisor are supported by WebVue.
But Bmp and MetaFiles are converted to Png for use in WebVue. This means
that vector graphics are rendered in the display size and cannot be scaled
without quality loss within WebVue.
Pattern N/A
Line N/A
Mouse hover / Mouse down N/A
Appearance N/A
Transparent Partial - Only supported on Gif, Bmp, Jpg and Metafile formats. For Png, the
transparency must defined in the original file and cannot be based on a color
substitution as for the other formats
PNG Opacity Yes
PNG Background blend N/A
Rotation N/A
Images - Aspect
Property WebVue support
Regular Yes
Shadow Yes
Button Yes
Colored Button Yes
Relief Yes
Inversed Relief Yes
- 619 -
Animation Properties in WebVue
This topic outlines the extent to which the WebVue client supports the display of animations as configured in
the Supervisor.
For details of how to configure animations in the Supervisor, please refer to the Animation book in the main
Help.
The following animations are not supported or not relevant in WebVue contexts:
In addition, the following animations are partially supported or have a specific behavior in WebVue contexts.
Display text
Animation WebVue support
Displaying time information If in any display text animation a timestamp is used (e.g. displaying the
@TIME variable) WebVue will show the time in the time zone of the server,
not the time zone of the client.
Display Images
Animation WebVue support
Images on Bit Partial - The Stretch images property is not supported, images are not be res-
Images on Register value ized.
Images on Text value
Send text
Animation WebVue support
Send text with default Value The setting Show default value on Mouseover is not supported. This option
allows the user to see the configured default value before sending it. Since it
is not available, the user cannot see which value the variable will have after
triggering the animation.
Send register
Animation WebVue support
Send register with default The setting Show default value on Mouseover is not supported. This option
Value allows the user to see the configured default value before sending it. Since it
is not available, the user cannot see which value the variable will have after
triggering the animation.
Send register with Step mode In the Supervisor, the field shows the current register value and on
MouseOver the next step (after triggering the animation) will be displayed. As
MouseOver is not supported in WebVue, it will directly show the value that
would be sent to the variable if the animation is triggered.
Link note
Animation WebVue support
Link note Partial - Only supports the read-only mode, notes cannot be modified via
WebVue. Rtf formatting is not supported.
- 620 -
If executed in a WebVue session context this animation is processed by the
computer that hosts the web back end and the file must exist on that com-
puter.
- 621 -
Alarm Viewer in WebVue
Display tab
Property WebVue support
Display Toolbar Partial - It is not possible to hide delimiters
Toolbar position Yes
Line font See Drawing - General - Font
Background Yes
Scrollbar width Yes
Scrollbar height Yes
Scroll bars Yes
Display Header Yes
Alternate color of text Yes
Column titles Yes
Column display format Yes
Aspect tab
Property WebVue support
Position Yes
Size Yes
Border Partial - Border style is not taken into account.
Appearance No - Appearance is not taken into account.
Locked N/A - Affect the design mode behavior
Execution tab
Property WebVue support
Number of Lines Yes
Printing No
Start Mode (Online or List) Yes
Display new items bottom or Yes
top
Move alarm to bottom when Yes
status changes
Move alarm to top when Yes
status changes
Scroll display to the oldest Yes
Advanced color mode Yes
Line selection mode Yes
Acknowledgment Yes
Mask/Unmask Yes
Filtering Partial - See Using GPCONF.DAT to Create Alarm and Log Viewer Filters
Multi-Selection Yes
Size of columns Yes
Toolbar position Partial - Only available at design time
Toolbar modification No
Context Yes
Enable sorting Yes
Sort modification Yes
Filters tab
Property WebVue support
Domain Yes - See Using GPCONF.DAT to Create Alarm and Log Viewer Filters
Nature Yes - See Using GPCONF.DAT to Create Alarm and Log Viewer Filters
Alarm status Yes
- 622 -
Alarm Level Yes
- 623 -
The Log Viewer in WebVue
Display tab
Property WebVue support
Display Toolbar Yes
Toolbar position Yes
Line font See Drawing - General - Font
Background Yes
Scrollbar width Yes
Scrollbar height Yes
Scroll bars Yes
Display Header Yes
Alternate color of text Yes
Column titles Yes
Column display format Yes
Without blinking Yes
Aspect tab
Property WebVue support
Position Yes
Size Yes
Border Partial - Border style is not taken into account
Appearance No - Appearance is not taken into account
Locked N/A - Affect the design mode behavior
Execution tab
Property WebVue support
Number of Lines Yes
Printing No
Comment modification Yes
Filtering Yes
List choice Yes
Size of columns Yes
Toolbar position Partial - Is only available at design time
Toolbar modification No
Context Yes
Enable Sorting Yes
Sort modification Yes
Filters tab
Property WebVue support
List name Yes
Domain / Nature Yes - See Using GPCONF.DAT to Create Alarm and Log Viewer Filters
Alarm changes Yes
Bit changes Yes
User actions Yes
Advanced tab
Property WebVue support
Display new events at bottom / Top Yes
Advanced color mode Yes
Automatic refresh Yes
Buffer length Yes
- 624 -
Trend Viewer in WebVue
Display tab
Property WebVue support
Display Toolbar Yes
Toolbar Position Partial - Is only available at design time
Flat Yes
Scrollbar Yes
Scrollbar Width Yes
Background Yes
Refresh period N/A
Buffer size Yes
Time capacity Yes
Start mode Yes
Period Yes
Start date No
Display time scale Yes
Display grid lines Yes
Display time information Yes
Display small curve scales Yes
Aspect tab
Property WebVue support
Position Yes
Size Yes
Border Partial - Border style is not taken into account
Appearance No - Appearance is not taken into account
Locked N/A - Affect the design mode behavior
Execution tab
Property WebVue support
Auto open Trace toolbox Yes
Enable trace toolbox Partial - The trace toolbox has limited features, in particular, variable selec-
tion is not supported
Historic data request Yes
Toolbar position Partial - Is only available at design time
Toolbar modification No
Right click popup N/A
Save run-time properties N/A
Lock legend position Yes
Remove a curve from the N/A
legend tab
Include variables when restor-Non
ing configuration
Curves tab
Property WebVue support
General Yes
Draw Yes
Scales Partial - Only decimal scale is available, Semi log is not supported
- 625 -
Invalid Yes
Unit Yes
Thresholds N/A
Minimum N/A
Maximum N/A
Time shift N/A
Legend tab
Property WebVue support
Columns Partial - All Columns are available except Paste Variable, Configure
Thresholds, Low value limit, High value limit, Time left and Time right
Column Display Name Yes
Column Size N/A
User Data Partial - Substitution characters are not supported
Lock size Yes
Editable color Yes
Read only Color Yes
Grid tab
Property WebVue support
Aspect Yes
Time scale Yes
Print tab
Printing is not available in WebVue.
Format tab
Property WebVue support
Time displayed in Yes
Value Yes
Scientific notation Yes
Time scale titles Yes
Advanced tab
No properties are supported.
- 626 -
Form Controls and other controls in WebVue
This topic outlines the extent to which the WebVue Client supports the controls. The following are not sup-
ported:
l Grid control
l Chart control
l Map control
l Pie/doughnut/pyramid control
l Text-box form control
l Third party ActiveX controls
Whilst the functionality provided by the graphic controls is very similar in WebVue there may be differences
in appearance due to the web browser environment.
This summary is not exhaustive as there is some interaction between properties. Therefore, it is
important to always check precisely how a mimic behaves in WebVue.
Combo-box - Aspect
Property WebVue support
Position Yes
Size Yes
Border N/A
Appearance N/A
Control font and colors See Drawing - General-Font
Combo-box - Content
Property WebVue support
Source Yes
Combo-box - Operation
Property WebVue support
Initialization Yes
Selection value Partial - Linked variables are not available
Selection notification Yes
List-box - Aspect
Property WebVue support
Position Yes
Size Yes
Border N/A
Appearance N/A
Control font and colors See Drawing - General - Font
List-box - Content
Property WebVue support
Source Yes
List-box - Operation
Property WebVue support
Initialization Yes
Selection value Partial - Linked variables are not available
Selection notification Yes
- 627 -
Position Yes
Size Yes
Border N/A
Appearance N/A
Control font and colors See Drawing - General - Font
Tree-view - Aspect
Property WebVue support
Position Yes
Size Yes
Border N/A
Appearance N/A
Control font and colors See Drawing - General - Font
Tree-view - Content
Property WebVue support
Source Yes
Tree-view - Operation
Property WebVue support
Initialization Yes
Selection value Partial - Linked variables are not available
Notification Yes
- 628 -
Using GPCONF.DAT to Create Alarm and Log Viewer Filters
To avoid overwriting a manually created file, the Supervisor only creates GPCONF.DAT on startup if
it does not already exist. If you configure additional Domains and/or Natures using the Application
Explorer, they will only appear in GPCONF.DAT if the Supervisor is shut down, the existing
GPCONF.DAT is deleted, and the Supervisor is restarted.
When used in WebVue, the filters in the Log and Alarm Viewers operate differently to when they are used in
Supervisor.
l When used in the Supervisor, the filters only allow you to filter by a single Domain and/or Nature.
Show picture
l When used in WebVue, the filters can be configured in the file GPCONF.DAT. This allows you to create
simple expression-based filters based on Domain, Nature and other extended attributes. You click on
the same button in the Log Viewer but it opens a different dialog, Events and Filters with an Events
Selector tab Show picture and Filters Selector tab. Show picture
- 629 -
GPCONF.DAT syntax
GPCONF.DAT is a text file that is stored in the project's C folder. It can be edited with a text editor such as
Windows Notepad. It must not be edited while the Supervisor is running.
Each filter in GPCONF.DAT uses the following syntax.
[FILTER\Name]
DESCRIPTION=Description
LABEL_0=Description for language 0
LABEL_1=Description for language 1
MASK_0=Mask for language 0
MASK_1=Mask for language 1
Sql Cmde=SQL expression
Property Description
Name The name of the filter that will appear in the Alarm and Log Viewer if
DESCRIPTION and LABEL are not given.
Description The name of the filter that will appear in the Alarm and Log Viewer if LABEL is
not given. Optional.
Description for language 0 The name of the filter that will appear in the Alarm and Log Viewer for lan-
guage 0. Optional.
Description for language 1 The name of the filter that will appear in the Alarm and Log Viewer for lan-
guage 1. Optional.
Mask for language 0 Determines whether the filter will be available when WebVue is used in lan-
guage 0. Optional.
ALARM|LOG = Available in both Alarm and Log Viewers.
ALARM = Available in Alarm Viewer only.
LOG = Available in Log Viewer only.
Null = Not available in either viewer.
Mask for language 1 Determines whether the filter will be available when WebVue is used in lan-
guage 1. Optional.
SQL expression See below.
- 630 -
Domain, Attribute02 is Nature.
Operator Either = (equality) or != (inequality).
Value The value against which the attribute is to be tested, contained within quo-
tation marks.
Expressions may be joined using the OR and AND operators. Round brackets may be used to determine the
order of execution.
The following are all examples of valid SQL expressions.
Sql Cmde=[Attribute02] = 'HVAC'
Sql Cmde=[Attribute01] = 'ZONE1' and [Attribute02] = 'FIRE'
Sql Cmde=[Attribute01] = 'ZONE1' or [Attribute01] = 'ZONE2' and [Attribute02] = 'FIRE'
Sql Cmde=[Attribute03] != 'Out of service'
- 631 -
Using WebVue
- 632 -
Starting, Logging In To, and Logging Out Of, WebVue
Starting WebVue
To start WebVue enter the URL https://<Hostname>/webclient into the web browser address bar. The
<Hostname> is the identity of the computer on which the web server is hosted and can either be:
l The hostname of the web server. To use the hostname, the network must have NetBIOS or DNS name
resolution capability.
l The IP address of the web server. To use the IP address, you must have used IP address binding dur-
ing deployment. Connection using an IP address will always be seen as insecure by browsers.
l The Fully Qualified Domain Name of the web server. To use the FQDN, the network must have DNS
name resolution capability.
When the web server is updated and re-deployed, it is of prime importance to make sure WebVue
users empty the cache of their web browser. This ensure that they are using up-to-date resources
and javascript modules.
If the web browser is able to successfully resolve the URL and connect to the web server the Login screen is
displayed. Show picture
Logging in to WebVue
To be able to log in to WebVue, a user must have been assigned WebVue access rights as described in the
help book User Accounts. You log in, in the normal manner, entering the Username and Password and select-
ing the OK button.
l Remember me - Next time you open WebVue you will be logged in automatically.
l Change password - Opens the Change Password screen. See below.
WebVue uses the same authentication procedure to that of the Supervisor desktop application. If the
Advanced Security Strategy is activated in the Supervisor's configuration, the login procedure mod-
ified (password strength, control of login attempts...) - See the Supervisor's main help for details.
After a successful login, there are a number of possible steps.
1. If this is the first ever login by a particular user on a particular browser and you are using a self-
signed certificate the browser will display a screen indicating that the connection is not secure. See
the section below about adding an exception for a self-signed certificate.
2. If this is the first ever login by a particular user on a particular browser you will be prompted to grant
access to the GraphicalData service by the WebVue app. GraphicalData is the service on the Super-
visor that provides data to WebVue. The grant is remembered and this screen will not appear again
unless the grant is revoked.
3. The WebVue app is loaded. If this is the first time that WebVue has been loaded in a particular
browser this may take several seconds depending on the speed of the network. The browser will
- 633 -
normally cache the app and subsequent loading is much faster. Show picture
4. A green message indicating successful login is displayed followed immediately by the first mimic as
configured in the Supervisor's project.
l User inactivity - If there has been no activity for a period exceeding that configured in the user's pro-
file Enable automatic logout property.
l Connection failure - If there is a connection failure between WebVue and the Supervisor' Web back
end.
A closed session is indicated by a message box giving the reason. The mimic displayed at the time of closure
remains visible but is blurred. To restart the session, you can use the toolbar to select logout that returns
you to the login screen, or have your web browser reload the web page.
- 634 -
To load WebVue you must add an exception in the browser for the website and its certificate. The following
procedure is for Firefox, other web browsers should be similar but may differ in detail.
1. Click the Advanced button. Details of the exception are displayed. Show picture
2. Click Add Exception. The Add Security Exception dialog opens. Show picture
3. To make a once only exception click Confirm Security Exception. To make a permanent exception
select Permanently store this exception and then click Confirm Security Exception.
You should only make this change if it conforms to your company's IT security policy.
1. Open the Change Password screen from the main Login screen. You do not have to enter the User-
name and original password first.
2. Enter the Username.
3. Enter the Old password.
4. Enter the New password.
5. Confirm the New password.
6. Click OK to confirm the change. WebVue returns to the main Login screen from where you can login
with the Username and new password.
- 635 -
The WebVue Workspace
Toolbar
l Do not fit rendering to the web browser viewport - Disable the automatic scaling of mimics
that may be imposed by default by the Web back end.
l Automatically hide the toolbar when docked - The system menu is hidden if it is docked at the
top. Move the cursor to the top to show the menu again.
Show the window list. Clicking on a window name will move it to the foreground or restore it if it has
been minimized.
Show the WebVue event viewer.
Logout.
Zoom in.
Zoom out.
Zoom to 100%.
Full screen mode. The same as if using the F11 keystroke.
Collapse / expand the toolbar if it is not docked.
Opening WebVue in additional browser tabs, or another instance of the same browser
A successful login to WebVue starts a WebVue session. In general, further copies of WebVue using the same
URL in additional tabs in the same browser instance, or in further instances of the same browser on the
same computer, use the same session. One WebVue session uses one WebVue license.
l You do not need to login when starting WebVue in each additional tab.
l Logging out of WebVue, on any tab or browser instance on the same computer, logs you out of the
WebVue session and hence logs you out of WebVue in all tabs or browser instances.
This behavior depends on the way that a web browser manages session cookies and may be dif-
ferent in different web browsers or in future versions of a web browser.
The Project language is taken from the Web back end and user profile configuration and cannot be switched
from the WebVue client.
- 636 -
WebScheduler
- 637 -
WebScheduler Overview
The WebScheduler is a Web Browser based application for managing the schedules that you find in typical
supervisory applications such as BMS. It is designed to manage schedules from multiple sources and
present them in a uniform manner no matter what equipment or field device driver are used.
See Web and Mobile Client Applications Overview for an overview of Web & Mobile client applications, includ-
ing their common requirements and deployment steps.
The configuration steps specific for the WebScheduler access to the Supervisor are as follows:
l Schedules must be configured in the Supervisor before the WebScheduler can have access. Although
the WebScheduler can be used to edit schedules it cannot create them.
This apply both to the built-in Cron timetables, and to the BACnet Schedule and Calendar objects,
l Make sure timetable user rights, as defined in user profile, are set appropriately as they apply to the
access to Cron built-in timetables,
l Make sure the ScheduleAccess.dat file is defined appropriately, as it controls the user access to
BACnet Schedules and Calendars.
This book includes detailed information about how to design your project so that users can successfully take
advantage of the WebScheduler.
This version of the WebScheduler supports the Supervisor's built-in Scheduler (Cron elements) and the
schedules found in BACnet devices (Schedule and Calendar objects). However, the WebScheduler has been
designed so that other schedule types (for example those found in LonWorks) can be added in the future as
required.
The WebScheduler is a management tool allowing the user to visualize and edit schedules. It does
not run schedules itself.
l The WebScheduler can only configure the Scheduler's existing schedules - it cannot create new ones.
l The changes brought to built-in CRON schedules are only saved on the web back end station. The
WebScheduler must be used in conjunction with a SCADA Basic script used to distribute changes in
multi-station (networked) applications.
l The WebScheduler manages BACnet Schedule and Calendar objects via the Supervisor's BACnet com-
munication driver. The WebScheduler does not communicate directly over BACnet itself.
- 638 -
The WebScheduler and BACnet FAQ
The WebScheduler is designed as a generic tool presenting a consistent interface independent of the under-
lying scheduling technology. However, there are some different operational features depending on what
scheduling technology you are using. This topic describes those for BACnet.
WebScheduler Calendar
The Calendar page is used to manage an entire schedule including the Standard Week, Exceptions, Special
Days and Effective Period (as applicable). It gives a view on what will be actually run by the device for a cer-
tain time period, taking into account the Standard Week, Exceptions, Special Days and Effective Period.
l You have schedule with the schedule default = NULL. The Standard Week is configured with each day
as follows.
l 9:00 = 1
l 16:00 = NULL
l You have one exception period on 14/11/2014 configured as follows.
l 8:00 = 1 o 14:00 = NULL
- 639 -
l As the exception period remains undefined after 14:00 (NULL), what you see in the WebScheduler HMI
is the following.
l 8:00 = 1
l 14:00 = 1
l 16:00 = NULL
l If you remove the interval from 8:00-14:00 on 14/11 the exception is modified in the following man-
ner as one small interval remains in the WebScheduler HMI.
l 14:00 = 1
l 16:00 = NULL
l Consequently after reload you have the following behavior on 14/11:
l 9:00 = 1 (from the Standard Week)
l 14:00 = 1 (from the updated exception)
l 16:00 = NULL (from the updated exception)
User rights
The WebScheduler controls user access to BACnet Schedule and Calendar objects based on timetables priv-
ileges as defined in user's profile.
- 640 -
The WebScheduler and Supervisor's Built-in Scheduler FAQ
The WebScheduler is designed as a generic tool presenting a consistent interface independent of the under-
lying scheduling technology. However, there are some different operational features depending on what
scheduling technology you are using. This topic describes those for the Supervisor's built-in Scheduler.
WebScheduler Calendar
The WebScheduler Calendar page is used to manage an entire schedule including the Standard Week, Excep-
tions, Special Days and Effective Period (as applicable). It gives a view on what will be actually run by the
Supervisor for a certain time period, taking into account the Standard Week and any Exception Periods. Modi-
fying the schedule using the calendar will create or modify Exceptions Periods for the schedule and leave the
Standard Week unchanged.
User rights
The WebScheduler controls user access to built-in scheduler based on privileges defined in the file Sched-
ulesAccess.dat.
- 641 -
WebScheduler configuration
- 642 -
Configuration Overview
Some of the configuration of the WebScheduler is made by editing text based configuration files. A user
must not be logged into the WebScheduler whilst changes are being made to these files. Some of the files
have an XML structure but they can all be edited with a simple text editor such as Notepad.
c:\inetpub\<SV Website>\WebScheduler\Web.config
Settings specific to the appearance of the WebScheduler web portal. For example first day of the week.
c:\inetpub\<SV Website>\ScheduleData\CONFIG\SchedulesAccess.dat
Allocation of WebScheduler rights to the Supervisor's Users.
c:\inetpub\<SV Website>\ScheduleData\BIN\ScheduleData.Drivers.CronDat.dll.config
Configuration required to use the Supervisor's built-in Scheduler.
Where <SV Website> is the name corresponding to the IIS web site you have deployed with the Web
Deployment Console.
The Web Scheduler functionality changed substantially with version 11.0 of the Supervisor.
l Prior to version 11.0, the Web Scheduler was able to manage and run its own Schedules.
l From version 11.0 onwardss the Web Scheduler is purely a tool for managing the Supervisor's
built-in schedules and those found in BACnet Schedule and Calendar objects.
Changes to the configuration of BACnet Schedules, Calendars and Enumerated Associated Labels in
version 11.2 of the Supervisor.
l User access to BACnet Schedule and Calendar objects is based on privileges defined in the file
SchedulesAccess.dat.
l User access to native schedules is based on timetable privileges as defined in user's profile.
The file SchedulesAccess.dat is ignored.
- 643 -
Web Portal Configuration
The general appearance of the WebScheduler web portal is configured using the file Web.config. The file has
an xml structure and can be edited with a simple text editor.
The user configurable setting are all found in the <applicationSettings> section.
Property Range Default Description
CompanyName Reserved setting.
ProductName Reserved setting.
WelcomeTitle Configurable message dis-
played on the login screen.
WelcomeText Configurable message dis-
played on the login screen.
NeedHelpText Configurable message dis-
played on the login screen.
Login Text Configurable message dis-
played on the login screen.
FirstDayOfWeek Monday | Tuesday | Wed- Monday The day designated as the first
nesday | Thursday | Friday | of the week.
Saturday |Sunday
BusinessBeginsHour 0 – 24 0 Start time for highlighting busi-
ness time on the schedule con-
trol.
BusinessEndsHour 0 – 24 24 End time for highlighting busi-
ness time on the schedule con-
trol.
ColorizeScheduleDefault True False Defines whether or not the
False default value of the schedule
shall be represented by an
interval.
ScheduleBusinessBackColor Color name as a String Defines the color for the sched-
ule control background for busi-
ness hours
ScheduleNonBusinessBackColor Color name as a String Defines the color for the sched-
ule control background for
non-business hours
ScheduleWeekendBackColor Color name as a String Defines the color for the sched-
ule control background for
week-end days
FullyExpandTreeview True True If enabled, the treeview in the
False left pane will be by default
expanded when opening the
schedule list page.
EnableStorageAsLoginLogout True False Enables the login and logout
False user actions from the
WebScheduler to be logged in
the archives in a similar man-
ner to that of a user login and
logout on the Supervisor. The
comment field is used to
record the client name.
- 644 -
Built-in Scheduler Driver Configuration
The configuration file for the WebScheduler's native Scheduler driver is named Sched-
uleData.Drivers.CronDat.dll.config. The file has an xml structure and can be edited with a simple text editor.
The following settings are user configurable.
Property Default Description
Level Separator _ (underscore) The character or character chain used to define the hierarchy levels of
the schedules.
Optional settings
The following are optional and only used if they are not already defined in the Supervisor's project con-
figuration. They define the associated labels for the Native Scheduler's states and appear, for example, in
the Mode List of the Add Interval dialog.
Property
TwoStateModeName_0
TwoStateModeName_1
MultiStateModeName_0
MultiStateModeName_1
MultiStateModeName_2
MultiStateModeName_3
- 645 -
Schedule Access Rights Configuration
The SchedulesAccess.dat file is used to configure the access permission of each WebScheduler user to each
of the configured schedules. The file is of Csv (comma separated value) format with three columns.
Column Use Description
1 User Name User name. The wildcards * and ? can be used to match several use names.
2 Schedule Name Schedule name. The wildcards * and ? can be used to match several schedule
names.
3 Access Level None = 0
CalendarRead = 1
CalendarWrite = 16
StandardWeekRead = 256
StandardWeekWrite = 2048
Full = 65535
Notes
l WebScheduler users must first be configured in the normal manner using the Supervisor's Application
Explorer.
l File format
l There can be multiple lines for one specific user defining the user’s access rights to various
schedules.
l There can be multiple lines for one specific schedule defining the schedule’s access rights for dif-
ferent users.
l The Schedule Name must be in parenthesis, the User Name must not.
l The default configuration of the WebScheduler is:
*,"*",65535
which provides full access for all users to all schedules.
l Permissions
l The permissions StandardWeekRead and StandardWeekWrite control access not only to the
Standard Week page but also to the Effective Period and Special Days Behavior pages.
l As the Standard Week, Effective Period and Special Days Behavior pages are only accessible
after first selecting a Calendar page, the user must have at least the permission level 1 (Cal-
endarRead) to have access to these pages. Permissions 256 (StandardWeekRead) and 2048
(StandardWeekWrite) cannot be used by themselves. Instead you should use 257 (Cal-
endarRead & StandardWeekRead) and 2049 (CalendarWrite & StandardWeekWrite).
l Access to the Special Days page is controlled by the CalendarRead and CalendarWrite per-
missions
The configuration of ScheduleAccess.dat is only taken into account on IIS startup. Therefore, after
editing this file you must restart IIS (Open the Windows Command Prompt with Administrator rights
and type IISreset).
For a user to have access to any of the schedules they must at least have at least permission level 1
(CalendarRead), permitting access to the Calendar page, which is the entry point to the schedules
configuration.
The WebScheduler controls user access to BACnet Schedule and Calendar objects based on priv-
ileges defined in the file SchedulesAccess.dat.
The WebScheduler controls user access to built-in scheduler based on timetables privileges as
defined in user's profile. The file SchedulesAccess.dat is ignored.
Example
There are three configured schedules, TT_01, TT_02 andTT_03, and two users WS_OPERATOR and WS_
MANAGER.
ScheduleAccess.dat is configured as follows.
- 646 -
WS_OPERATOR,TT_01,257
WS_OPERATOR,TT_02,257
WS_OPERATOR,TT_03,65535
WS_MANAGER,*,65535
The following behavior can be observed.
The user, WS_OPERATOR, can read only the TT_01 and TT_02 calendars and standard week.
The user, WS_OPERATOR, can read and write the TT_03 calendar and standard week.
The user, WS_MANAGER, can read and write everything.
- 647 -
WebScheduler runtime
- 648 -
Starting the WebScheduler
The WebScheduler can be started either from the Start Menu shortcut created by the Supervisor's install-
ation, or by typing in the URL into a Web Browser.
The following syntaxes are used for the URL.
l https://<Host computer name>/WebScheduler - Where <Host computer name> is the name of the PC
hosting IIS.
l https://<Host computer IP>/WebScheduler - Where <Host computer IP> is the IP address of the PC
hosting IIS.
l https://LocalHost/WebScheduler - When accessing the WebScheduler on the same PC on which IIS is
hosted.
- 649 -
Login Page
The WebScheduler is accessed by entering the WebScheduler's URL into a Web Browser. Upon successfully
connection to the web server, the Login page is displayed. Show picture
To log in enter the Username and Password of a Supervisor User with WebScheduler access rights. Con-
nection to the Supervisor is established on clicking Login and, assuming good credentials have been entered,
the WebScheduler default page is displayed.
- 650 -
Overview Page
The Overview page is the first page that is displayed after a successful login. This page can be opened at any
time by clicking the WebScheduler logo that appears on all the WebScheduler pages. The Default page is
divided into two panes.
l The left pane contains a configuration tree with two main branches, one for the Schedules (BACnet and
built-in CRON), and the other for Special Days. The configuration tree can be used to navigate directly
to a Schedule or Special Day by clicking on the node.
l The right pane contains a table with all items sorted by their name.
In addition, the lower border displays the name of the current user and the version of the WebScheduler.
Show picture
l Name - The identity of the Schedule or Special Days within the WebScheduler as configured in the
Supervisor.
l Description - A longer description of the Schedule or Special Days as configured in the Supervisor.
Optional.
l Last access - The time and the user when the schedule or special days were last accessed.
l Last changed - The time and the user when the schedule or special days were last changed.
l Standard week empty - Displays a warning if the schedule standard week is empty.
l Exception period active - Displays a warning if the schedule configuration means that an exception
period is currently active.
- 651 -
The table context menu is displayed by clicking the down arrow adjacent to the Select All tick box. Show pic-
ture
- 652 -
Calendar Page
The Calendar page is displayed when you select a schedule in the Overview page. Upon opening, it displays
the current week of the schedule. Show picture
The Calendar page displays the actual time intervals of the selected schedule taking into account the con-
figuration of the Standard Week, Exception Periods and Special Days (BACnet only). Users with con-
figuration rights can edit the schedule directly from the Calendar page. See the topic - Editing a schedule.
During the periods not covered by an interval, the Schedule’s default value is set.
Navigation toolbar
Show picture
The navigation tools are used to select the week displayed by the Schedule Control. They can be used to
select the previous or next week, month or year.
The Month control works by adding (subtracting) one month to (from) the first date in the Schedule Control.
The week to be displayed is the week starting on the Monday prior to the calculated date.
The Calendar tool displays a date picker from which you can select a new start week. Note that the Schedule
Control always displays a complete week.
The This Week tool navigates to the current week.
- 653 -
The Month at a view tool expands the week axis so that you can view four weeks at a time instead of the
usual one. Show picture
- 654 -
Calendar Page (Multiple Schedules)
The Calendar page (Multiple Schedules) is displayed when you select one or more schedules in the Overview
page and use the Display selected command on the context menu. Upon opening, it displays the current
week of the schedules. Show picture
The loading time can be several seconds depending on how many schedules are being displayed.
The Calendar page displays the actual time intervals of the selected schedules taking into account the con-
figuration of the Standard Week, Exception Periods and Special Days (BACnet only). Users with con-
figuration rights can edit the schedule directly from the Calendar page. See the topic - Editing a schedule.
For an explanation of the other features, see the topic about the standard Calendar page.
- 655 -
Standard Week Page
The Standard Week page is displayed using the Standard Week tab. It displays the standard week for the
schedule. Show picture
The Standard Week page displays the time intervals of the selected schedule not taking into account the con-
figuration of any Exception Periods and Effective Period (BACnet only). Users with configuration rights can
edit the intervals that make up the Standard Week. See the topic - Editing a schedule.
- 656 -
Special Days Behavior Page
The Special Days Behavior page is displayed using the Special Days Behavior tab on the Calendar page. It
displays the Special Days collections that can be selected for the schedule. Show picture
The Special Days Behavior page displays the time intervals to be used for all days of each selected Special
Days calendar, for a particular schedule. Users with configuration rights can edit the intervals. See the topic
- Editing a schedule.
A. The identity of the schedule to which the Special Days Behavior applies.
B. The default output of the schedule - that is the output when there is no active interval BACnet only).
C. Edit toolbar. Edit tools for the Schedule Control. See the topic - Editing a schedule.
D. Schedule Control. Provides the main display and edit features for the schedule. See the topics - Sched-
ule Control main display features and Editing a schedule.
E. Edit mode tools. See the topic - Editing a schedule.
F. Schedule Control zoom tools. See the topic - Schedule Control main display features.
G. Selection of the Special Days calendars used in the schedule.
- 657 -
Using the Schedule Control
- 658 -
Schedule Control Main Display Features
The Schedule Control is the primary display element of the Web Scheduler and appears in the Calendar,
Standard Week and Special Days pages. The Schedule Control displays a weekly schedule in a grid arranged
in seven rows - each representing a day, and 48 columns. The time unit that each column represents
depends on the zoom level and by default is 30 minutes. The day displayed as the first day of the week is
configured in the Web Portal configuration and is Monday by default.
A. Displays the date and week number in the Calendar page (or the Schedule names when the Calendar
page is in multiple mode), the day name in the Standard Week page and the Special Days name in the
Special Days page.
B. Displays a single day with hour and minutes using 24 hour notation.
C. Chart colored for non-business hours.
D. Chart colored for business hours.
E. Interval bars. Note the tool-tip displayed when the mouse hovers over.
The Schedule Control appearance is modified for the Multiple Schedule view with the [B] displaying
an entire week, and [A] displaying one row for each schedule. See the topic Calendar Page (multiple
schedules).
l The upper narrow solid bar is the actual time period accurate to within one minute [F].
l The lower and wider shaded bar is the period shown snapped to the time grid [G].
Zoom controls
The zoom controls allow you to zoom in and out of the day axis. The grid period can be 1, 5, 15, 30, (default)
or 60 minutes when displaying a single schedule (Calendar and Special Days Behavior pages), or 5, 15, 30,
60, 180, 360, 720 or 1440 minutes when displaying multiple schedules (Calendar page (multiple schedules)).
When necessary a horizontal scroll bar is displayed allowing you to navigate the entire 24 hours of the Day
axis.
- 659 -
Editing a Schedule Using the Schedule Control
You must use the Save tool to save edits before closing the page or they will be lost.
Schedules can be edited using the Schedule Control only by User's with the correct edit rights. The con-
figuration changes that result from editing a schedule depend on its type (BACnet or built-in) and the page in
which the changes are being made.
Page Effect on a BACnet device (schedule) Effect on a built-in Schedule
Calendar Modifies the Exception-Period property of Modifies, creates and/or deletes Exception
the Schedule object of the BACnet device. Periods.
Standard week Modifies the Weekly-Schedule property of Modifies the Standard Week.
the Schedule object of the BACnet device.
Special days Modifies the Exception-Period property of Not available.
the Schedule object of the BACnet device.
Note that the Schedule Control has many different methods by which the intervals, making up a schedule,
can be edited. Many of edit operation are automatically applied to all selected periods (one or several).
Tool Description
Discard and Discard any changes since the last save and reload the saved version.
reload
Save Save the current edits.
Save as Save the current week as the Standard Week. Only available from the Calendar page (and
with the correct permissions).
Export Create an image of the schedule in .png format.
Add Add a new interval. The Interval dialog opens to configure the interval. The interval is placed
in the selected location on the Schedule Control. See below.
Delete Delete the selected interval(s).
Edit Open the Interval dialog for the selected interval.
Select all Select all intervals.
Unselect all Unselect all intervals.
Cut Cut the selected interval(s). A copy is put on the clipboard and the intervals are deleted from
the schedule.
Copy Copy the selected interval(s) to the clipboard.
Paste Paste the interval(s) in the clipboard starting at the selected the location.
Duplicate The selected interval(s) are duplicated in all rows of the control.
- 660 -
c. Check the interval times are correct.
d. If you are working on an enumerated schedule, select the Mode.
e. Click OK to confirm the configuration.
2. Using the Add tool.
a. Click in the grid where the interval is to start and then select the Add tool. The interval dialog
opens.
b. Configure the interval as above.
- 661 -
l <Ctrl-C> / <Ctrl-X> / <Ctrl-V> - Copy / Cut / Paste.
l <Esc> Close the Interval dialog.
The Interval context menu is displayed when right clicking on a time interval.
l Edit interval - Open the Edit Interval dialog from where the interval can be directly edited.
l Select interval - Select the clicked interval.
l Unselect interval - Unselect the clicked interval.
l Select all intervals - Select all intervals of the displayed week.
l Unselect all intervals - Unselect all intervals of the displayed week.
l Align left - Make the start time of all selected intervals the same. The interval that was right clicked on
is taken as the reference. Show picture
l Align right - Make the end time of all selected intervals the same. The interval that was right clicked
on is taken as the reference. Show picture
l Merge - Merge the selected intervals. One new interval is created starting at the start time of the old-
est interval and ending at the end time of the newest interval. Show picture
- 662 -
l Duplicate interval - The selected interval(s) are duplicated in all days of the week.
l Copy interval - The selected interval(s) are copied to the clipboard.
The Time Span context menu is displayed when right clicking on the Schedule Control grid outside of a con-
figured interval.
- 663 -
Effective Period Page
The Effective Period page is displayed using the Effective Period tab. Show picture
The Effective Period page displays the active period for the schedule. That is the period during which the
schedule actively sets values in the managed schedule using the configuration of the periods and modes.
Users with configuration rights can edit the Effective Period.
l A specific date. The schedule will be active between the two dates. Select a value for the Date, Month
and Year properties. The Day property is set to ANY. Example:
Start: 01, 01, 2014, ANY
End: 31, 12, 2014, ANY.
l A day of the week. The schedule will be active between the selected days of each week. Select ANY for
the Date, Month and Year properties. Select a day name for the Day property. Example:
Start: ANY, ANY, ANY, Monday
End: ANY, ANY, ANY, Friday
- 664 -
l Always. Tick the Always tick box. The start and End controls are disabled and the schedule is always
active.
- 665 -
Properties Page
The Properties page is displayed using the Properties tab. Show picture
The Properties page displays miscellaneous properties for the schedule. It can be used to allow a schedule
to be disabled without deleting it.
- 666 -
Special Days Page
Edits are not automatically saved. You must use the Save tool to save edits before closing the page
or they will be lost.
The Special Days page is used to create a calendar of one or more intervals (days) that are to be treated dif-
ferently. For example, you might create a Special Days calendar called Public Holidays. Special Days are
defined using the following properties.
A Special Days calendar can be used with one or more schedules. You attach a Special Days calendar to a
Schedule using the Special Days Behavior page. The Special Days Behavior page is also used to define the
interval start and end times as the Special Days calendar only defines those days where the interval start
and end times are used.
When using BACnet, a Special Days calendar is saved in a Calendar object. One Calendar object is used for
each Special Days calendar.
- 667 -
E. Interactive calendar.
a. Day view.
b. Month view.
c. Special days interval.
How to add days to the Special Days schedule using the Add tool
1. Click the Add tool. The Add Interval dialog opens. Show picture
2. Configure the interval by either entering the Start of interval date and a Duration in days, or a Start of
interval date and an End of interval date. You can either type in a date or select it from the calendar
that is displayed when clicking any of the date fields.
3. Configure the recurrence pattern for the interval.
a. No recurrence - A single occurrence of the interval. The End of recurrence property is not used.
b. Daily - Every day starting at the Start of interval until the End of the recurrence. The End of inter-
val and Duration are not used.
c. Weekly - One or more named days per week starting at the Start of interval until the End of the
recurrence. The End of interval and Duration are not used.
d. Monthly - Repeat the interval defined each month until the End of recurrence.
e. Yearly - Repeat the interval defined each year until the End of recurrence.
4. For a recurring pattern, the end can be defined as End after (n) occurrences, an End by date or No end
date, in which case the interval recurs indefinitely.
- 668 -
Other Pages
Settings page
Show picture
The Settings page displays information about the WebScheduler and a button, No auto login, that can be
used to clear Auto login. The button is only visible if Remember me on this machine had been selected.
Help page
Displays this help.
Logout tab
Logs the current user out from the WebScheduler and displays the Login page.
- 669 -
Concurrent Access Management
The WebScheduler allows concurrent access to the schedules by more than one User. However, this does
allow the possibility of two users editing the same schedule at the same time. Rather than prevent this, the
WebScheduler provides information to the User about when each schedule was last accessed and last
changed so that the User can make an informed decision about making any changes. The information is
updated every 30 seconds and is displayed in the top right hand corner of the Calendar, Standard Week, Spe-
cial Days Behavior and Effective Period pages. Show picture
l Red - One or more other users have changed the schedule since the user opened it and the user is now
viewing out of date information. Show picture
Beside this information allowing a user to make a decision whether he can do modifications or not,
the save process is handled according to the following principle: The last user saving modifications
will overwrite any other modification done by another user.
- 670 -
Integrating the Web Scheduler in a Mimic
The WebScheduler can be displayed in a mimic by inserting a Web Browser ActiveX into the mimic and set-
ting the browsers's URL to the WebScheduler using a VBA script. You can set the URL by using the Navigate2
method. Show picture
For information on how to insert an ActiveX into a mimic see the main help book Developing the HMI>Act-
iveX controls.
The WebScheduler may have minor differences in look and feel when displayed in an ActiveX and
manipulated programmatically.
- 671 -
Several Standard Weeks in multi view mode. The names of the schedules
multiviewstandardweek
must be supplied as parameters.
URL examples
Depending on the ActiveX used, special characters the URL may have to be replaced by a % sign fol-
lowed by the ASCII code of the character. For example, a space is replaced with "%20".
- 672 -
Understanding the WebScheduler's Time-out Behavior
The WebScheduler's timeout behavior is influenced by two timeouts.
l The Web Service's client session time-out configured in the Application Explorer. (Server-
s>Settings>Common server properties for WebVue and Web Services toolkit>Client session time-out.
Default value 5 minutes.
l The IIS HTTP session time-out. Default value 20 minutes.
1. If you are actively using the WebScheduler, (using the Calendar, Standard Week or Special Days Beha-
vior pages) the session is held open by the WebScheduler's Concurrent Access Management, which
sends a message to the server every 30 seconds.
2. If the period of inactivity is greater than the Web Services session time-out, the Supervisor will end
the session and there will be a message in the Supervisor's Event Viewer.
3. If the period of inactivity is greater than the Web Services session time-out but less that the IIS HTTP
session time-out the session in the Supervisor will be closed but the WebScheduler web application
will still be active and remember the username and password. If activity starts again, the WebSched-
uler will attempt to reconnect to the Supervisor using these credentials.
4. If the period of inactivity is greater than the IIS HTTP session time-out then the user will have to log in
and start the session again.
- 673 -
Using SCADA Basic to Update the Supervisor's built-in Scheduler
The WebScheduler manages the Supervisor's built-in Scheduler by interfacing with the station having the
role of Web back end. Upon modification, this station saves the Cron configuration, but does not auto-
matically notifies other stations.
In a multi-station system, Cron timetables may be executed by a station different from the Web back end, it
is therefore important that Cron configuration be distributed across stations. The suggested method is to use
a SCADA Basic script incorporating the CRONTAB instruction (used specifically for manipulating the built-in
Scheduler). A sample project including a suitable script can be downloaded from the Knowledge Base or
requested from technical support.
A code fragment is shown below.
Sub UpdateCron ()
Dim lHandle As Long;
lHandle = Alloc_Buffer(128);
Crontab("NETWORKBROADCAST", "LMdfClient01", lHandle, "@Cron.Status", 1);
Free_Buffer(lHandle);
End Sub
- 674 -
Log Files
The WebScheduler produces two sets of log files. You may be asked to check then or send them to technical
support in the event of erroneous operation.
Component Path
Web portal c:\inetpub\<SV Website>\WebScheduler\bin\LogFiles
Schedule data service c:\inetpub\<SV Website>\ScheduleData\bin\LogFiles
Where <SV Website> is the name corresponding to the IIS web site you have deployed with the Web Deploy-
ment Console.
- 675 -
Web Services Toolkit
- 676 -
Overview of the Web Services Toolkit
The topics in this book only provide an overview of the Web Services Toolkit. For detailed inform-
ation please see the read-me file and developers' manual on the distribution media.
The Web Services Toolkit provides access to the Supervisor by a third party application, known as a client,
using the following XML SOAP web services:
l Session management,
l Real time data access,
l Alarm list access,
l Historical data access.
See Web and Mobile Client Applications Overview for an overview of Web & Mobile client applications, includ-
ing their common requirements and deployment steps.
The configuration steps specific for the Web Services Toolkit access to the Supervisor are as follows:
License requirements
Use of the Web Services Toolkit is licensed. For the Supervisor to respond to a client using Web Services it
must have a protection key (dongle) with one or more WebVue users. Each concurrent Web Services session
uses one WebVue connection.
The WSDL is used by developers to generate sets of datatypes and classes allowing simple use of the web
service.
- 677 -
Overview of the Supervisor's XML SOAP Web Services
Session management service
Session management is provided by the SessionContext service. Show picture
Opening a session using the SessionContext service is a mandatory operation that must be processed before
any other call to the Web Services Toolkit. Opening a session allows the Supervisor's Web Server to perform
the following actions.
l Identify and authenticate the client by checking the user's access rights within the application. To open
a session, the client must provide a valid username and password.
l Allocate resources (a context) to store persistent information.
l Manage simultaneous connections taking into account the number of WebVue connections permitted
by the Supervisor's protection key (dongle).
If identification and authentication are successful a SessionID is returned to the client. This SessionID is
then used by all other requests to the server for the duration of the session.
If no request is received from a client then, after a time-out period, allocated resources are freed by the
server and the SessionId is no longer valid. Any further requests using the SessionID will return an error to
the client.
The time-out period is defined by the Client Session Time-out property in the WebVue Server's con-
figuration.
This provides access to the real time value, timestamp and quality (VTQ) of the Supervisor's variables. It
also provides access to the static properties of variables (Title etc.). The following actions are supported.
- 678 -
l Read properties - To read one or more properties of one or more variables.
l New properties for variables. (Format and Unit properties for analogic value)
l Browsing variables is in relation to the browsing level defined on the Server side.
l Subscribe values - To subscribe to changes in value of one or more variables. On receipt of a sub-
scription request, the server creates a buffer in which the VTQ of the subscribed variables is saved
each time it changes. The saved values can be retrieved periodically by the client. When the client no
longer requires the values, the subscription is canceled.
The RealTimeAlarm service provides access to the real time status and timestamp of the Supervisor's
alarms. The following actions are supported.
l Subscribe alarms - To subscribe to changes in value of alarms using an alarm filter. On receipt of a
Subscribe request the server creates a buffer in which the status of alarms passing the filter criteria is
saved each time it changes. The saved status values can be periodically retrieved by the client. When
the client no longer requires the alarms the subscription is canceled.
- 679 -
The HistoricData service provides access to the Supervisor's archive units for the retrieval of Trend and Log
data. The following actions are supported.
l Create a log request - Provides a set of parameters that define the scope of the request (Log list
name, filter and properties to retrieve). On receiving this request, the server allocates resources to
handle the request.
l Query log - On demand, the client requests a set of logged events for the defined log request and a
specified period of time.
l Close log - When the client no longer requires access to the log data, the log request is canceled.
This multi-step log request handling allows the design of a log client similar in operation to the Supervisor's
Log Viewer. In particular once the filter is set up you can then make multiple requests for data with different
time periods.
- 680 -
Extras and Add-ons
- 681 -
The VCR Facility
- 682 -
Overview of the VCR Facility
The VCR facility enables you to record changes in value (events) of variables on one Supervisor station and
to play them back through mimics on another.
Show picture
A VCR type archive unit must be created on the recording station to store the events data. The variables to
be recorded must have the VCR property enabled. No other special configuration is required; the rest of the
project can be the same as any other.
A VCR type archive unit is also created on the playback station. It does not record events directly. Instead
they are imported from the files created by the archive unit on the recording station.
The Supervisor on the playback station is started with the command line switch -VCR. This causes all vari-
ables in the Variables Tree to be switched to simulation mode and the VCR playback dialog to become avail-
able. The VCR playback dialog is used to control the import of data from the recording station and play back
the events derived from the real-time values of the variables.
The same version of the Supervisor must be installed on both the recording station and the playback
station.
The VCR facility and the VCR-style dialog used to play back reports through a mimic (F12, Report
Selection and Replay) are entirely different and separate features.
- 683 -
Selecting the Variables to be Recorded
Show picture
To select variables for recording, you must enable the Recorder property in their configuration:
For details of other properties that may need to be set, see the Help book onConfiguring Variables in
General, particularly the topic Advanced Options Common to All Variables.
- 684 -
Configuring a VCR archive unit
- 685 -
How to Configure a VCR Archive Unit
One VCR archive unit must be configured on the recording station and another on the playback station. You
cannot create more than one VCR archive unit on a station.
Show picture
For details of how to configure data recording in general, see the Help book on Archives.
1. Open the Application Explorer. In the centre pane, expand the Archives node.
2. Right-click on Archives Units to select Add an archive unit then Add a VCR unit.
3. The Archive Unit Creation dialog opens with a pre-configured name. You can accept that name or
choose one of your own.
4. Optionally, enter text in the Description property.
5. Configure the other properties as described below.
6. Select the OK button.
7. If the settings are accepted the dialog will close and an icon representing the VCR unit will appear in
the configuration tree. Close the Archives configuration explorer.
You can only create one VCR archive unit in a given project. Once it has been created its properties
cannot be changed, although you can delete and re-create it with different properties.
- 686 -
it is copied to disk. This must be sufficiently large to store the amount of data
expected to arrive during the sorting period. Default value 4KB.
Period (sec.) The period for which data is temporarily stored whilst it is sorted. The period
must be equal to or greater than the maximum expected difference between
the local time and the time stamp of the data. If this is set at the default value
of zero then no sorting takes place.
Property Settings
Max archive capacity A limit, in megabytes, to the archive unit capacity. If this limit is exceeded the
oldest record is discarded even if the Day capacity has not been reached. The
VCR Archive Unit is limited to a maximum size of 100GB (GigaBytes). Default
value 1MB.
Day capacity Selects the maximum number of days for which records are kept. Records that
are older than the specified Day capacity are discarded. Default value 20 days.
Photo period The time period for which each archive file can record. When the period is
reached a new file is created. Each file is known as a photo. Default value 24
hours.
- 687 -
If you want to import the files directly from the archive unit of the recording station, the property Path to
files from dedicated station will be of the format:
\\ComputerName\ProjectRoot\ProjectName\TH\ArchiveUnitName
- 688 -
Format of the VCR Archive Unit Files
The files generated by the VCR archive unit are stored in the project's TH directory in a sub-folder with the
same name as that of the archive unit. Two types of file are found in the folder, with different file exten-
sions.
Extension File contents
EVT The events generated by all variables that have the VCR option enabled.
PHO Contains a list of all variables with the VCR option selected at the time the cor-
responding EVT file was generated.
A new PHO file is generated each time the Supervisor starts. Subsequent files are created according to the
period specified by the Photo Period property. The name of each file is generated using the time it was cre-
ated and is of the format YYYYMMJJHHMMSS.PHO.
A EVT file is created for each PHO file. The name of the file is the same as the PHO file but with the EVT
extension. An EVT file contains the all changes of variable values from the time it is created until the cre-
ation of the next .PHO file. In other words for the period specified by the Photo Period property.
- 689 -
Estimating the Archive File Capacity
Estimating the archive file capacity can be difficult as you must know:
It is important at least to estimate the worst case, else you may find that the archive unit does not
store information for a sufficient number of days.
Example
The following example estimates the amount of space required to record 10 events per second for 7 days
using the default date format and no additional attributes.
Field Characters
Timestamp1 16
Timestamp2 16
VarName 20
Flag 2
Value 3
Attributes (none) 0
Total 57
Including the end of line character, each event will require about 60 characters. Each character requires 1
byte. The total storage required therefore is:
Assuming that you create one file an hour, this will produce:
- 690 -
Configuring the playback project
- 691 -
Overview of Configuring the Playback Project
The project that runs on the playback station is dedicated to playing back data from the VCR archive unit. All
variables are switched to simulation mode, so no communication using CIMWAY, OPC or DDE is possible.
The following configuration is required:
Configuration Settings
Command line Add the -VCR switch to the command line used to start the Supervisor. For
example:
K:\SV32\bin\sv32.exe -vcr -b K:\SV32\Projects
VCR type archive unit Identical to the one on the recording project except that the property, Path to
files from dedicated station, must be configured. Normally this will point to
the path of the archive files on the recording project.
- 692 -
Opening the VCR Historic Data Dialog
The VCR dialog is opened by the user from a drawing element (such as a button) in a mimic of the playback
project. To create such an animation:
If that does not happen, check that you have applied the command line switch -VCR as described in
the topic Overview of configuring the playback project.
- 693 -
Using the VCR Historic Data Dialog
The VCR Historic Data dialog enables you to import the VCR data from the recording project, select a start
date and time, and play the events. See the topic Opening the VCR Dialog for the method of opening it from
a mimic. Show picture
A list of all photos with events newer than the selected date and time will appear in the lower part of the VCR
dialog.
l Select a historic data file from the list and then click the Start button.
All events from the start of the selected historic data file to the end of the newest historic data file on the list
will be played back unless you select one of the other control buttons. The time stamp of the event currently
being played is displayed in the Current Date field.
The speed at which events are played back is unrelated to the frequency at which they were recorded. You
can control the playback by selecting the number of events in a step and the frequency at which the steps
will be played.
The events in each step are played one after another with no pause. If the same variable changes sev-
eral times in a step you will only see the value at the end of the step.
For example you could choose 10 events in a step and for a step to be played every 2 seconds. Once every 2
seconds the VCR would play the next 10 events.
The following buttons are available for controlling the playback of events.
Button Action Effect
Start Events are played from the start of the selected historic data file. Playing
continues until the end of the most recent photo is reached.
Pause The playing of events is paused. When Start is selected, play continues
- 694 -
from where it was paused.
Stop The playing of events is stopped. When Start is selected play, starts from
the beginning of the selected historic data file.
Return to start If playing, select and play the first historic data file.
Previous photo If playing, select and play the previous historic data file.
Next step If paused, play the next N events where N is the number of events specified
in the Events field.
Next photo If playing, selects and plays the next historic data file.
- 695 -
Using the SYSTEM.VCRMODE Variable
The register variable SYSTEM.VCRMODE is used to indicate to the User the mode in which the Supervisor is
running:
Value Mode
0 Normal mode.
1 VCR mode.
The variable is set according to the mode in which the Supervisor was opened. It does not imply that
a VCR archive unit has been created.
- 696 -
Limitations in the Playback Project
The VCR facility plays back historic values through the variables at a speed that is not related to real time.
Therefore the following animations will not display anything meaningful.
- 697 -
21CFR Part 11
- 698 -
What is 21 CFR Part 11?
21 CFR Part 11 is a document from the US Food and Drugs Administration (FDA) that sets forth the require-
ments that have to be met in order that electronic records and electronic signatures are considered to be as
trustworthy as paper records with handwritten signatures.
l An electronic record is - any combination of text, graphics, data, audio, pictorial or other information
represented in a digital form that is created, modified, maintained, archived and retrieved or dis-
tributed by a computer system.
l An electronic signature is - a computer data compilation of any symbol or series of symbols executed,
adopted or authorised by an individual to be the legally binding equivalent of the individual's hand-
written signature.
- 699 -
Interpreting 21CFR Part 11 requirements in the Supervisor
- 700 -
Interpreting 21 CFR Part 11 Requirements in the Supervisor
The topics in this book provide guidelines to interpreting the requirements of 21 CFR Part 11 in terms of the
Supervisor's features. However they do not infer a commitment on behalf of the developers of the Super-
visor in any way or form. Ultimately it is the responsibility of the persons or company developing the applic-
ation to ensure that the 21 CFR Part 11 requirements are met.
In this text paragraphs from 21 CFR Part 11 are in an italic typeface followed by the interpretation of the
requirements in the Supervisor in a normal type face.
Paragraphs from 21 CFR Part 11 that are not considered to have an impact on the configuration of the Super-
visor are not included in the topics of this book. However these paragraphs may have an impact on the over-
all system design and operational procedures and must not be ignored.
The developer must be aware that using these features is not a guarantee of compliance, in
fact software alone cannot provide compliance. Many of the requirements must be met pro-
cedurally, whilst other issues can be resolved by restricting access to the host PC, both phys-
ically and electronically.
You must also take into account that 21 CFR Part 11 is a document about electronic records and electronic
signatures - it is not specific to the use of PCs and PC applications such as SCADA. As such it is open to inter-
pretation and its application is affected by guidance documents that are issued from time to time by the
FDA.
21 CFR Part 11 contains subparts.
l Subpart A - General Provisions. Describes the scope, implementation and definitions of terms used in
21 CFR Part 11. This subpart has no effect on the configuration of the Supervisor.
l Subpart B - Electronic Records. Describes the controls for closed and open systems. The Supervisor is
considered to be a closed system.
l Subpart C - Electronic Signatures. Describes the implementation and use of electronic signatures. In
the Supervisor, an electronic signature is known as a User Account.
- 701 -
21 CFR Part 11 Subpart B - Electronic Records
11.10 Controls for closed systems
Persons who use closed systems to create, modify, maintain, or transmit electronic records shall employ
procedures and controls designed to ensure the authenticity, integrity, and, when appropriate, the con-
fidentiality of electronic records, and to ensure that the signer cannot readily repudiate the signed record as
not genuine. Such procedures and controls shall include the following:
(c) Protection of records to enable their accurate and ready retrieval throughout the records retention
period.
The electronic records produced by the Supervisor are, in general, recorded in ASCII and do not include a
checksum. Therefore the PC on which the files are recorded should be both physically and electronically
secure to prevent tampering with the files. Consideration should be given to regular archiving of the files on
read-only media such as DVD-R.
(d) Limiting system access to authorized individuals.
The Supervisor must be configured so that access is only provided to authorised Users.
(e) Use of secure, computer-generated, time-stamped audit trails to independently record the date and time
of operator entries and actions that create, modify, or delete electronic records. Record changes shall not
obscure previously recorded information. Such audit trail documentation shall be retained for a period at
least as long as that required for the subject electronic records and shall be available for agency review and
copying.
The Supervisor can be configured to provide an audit trail (log) of the following user actions.
Action Comment
Changing the value of a variable. Extended attributes may be used to allow the previous value
and the signatories to be recorded.
Sending a recipe.
Accepting alarms.
Masking alarms.
Running a SCADA BASIC program.
Login and Logout
The Supervisor cannot be configured to provide an audit trail (log) of the following user actions so they
should not be incorporated in an 21 CFR Part 11 compliant system.
Action Comment
Creating, modifying or deleting a recipe.
Creating, modifying or deleting a
timetable.
Creating, modifying or deleting a variable. This is disabled if you are using a run-time license.
Validation of a batch record
Modifying the content of mimics. This is disabled if you are using a run-time license.
(g) Use of authority checks to ensure that only authorized individuals can use the system, electronically sign
a record, access the operation or computer system input or output device, alter a record, or perform the
operation at hand.
The Supervisor must be configured so access is only provided to authorised Users. A user is authorised by
logging in with a name and password before accessing the system.
- 702 -
The Supervisor's logging must be configured so that the name of the signer (user), time and date, and the
action is recorded as part of any record.
- 703 -
21 CFR Part 11 Subpart C - Electronic Signatures
The interpretation of an electronic signature for the Supervisor is the combination of a user name and pass-
word, plus other optional information such as first name and last name, together known as a User Account.
To enable some of the features necessary for 21 CFR Part 11 the property Use the advanced security
strategy, in the User Accounts Settings, must be ticked. See the topic Application Explorer.User
Accounts.Settings for further information. The following text assumes this has been done.
To guarantee the integrity of the user rights configuration file the option to encrypt it must be selec-
ted.
- 704 -
(a) Maintaining the uniqueness of each combined identification code and password, such that no two
individuals have the same combination of identification code and password.
The names used in all accounts must be unique. If a User Account is deleted a record is kept of its
existence so the name cannot be re-used.
The passwords used in all current User Accounts must be unique. A record is kept of the previous
1,000 passwords ensuring (within reasonable doubt) that all passwords are unique. Passwords must
be 6 or more characters.
(b) Ensuring that identification code and password issuances are periodically checked, recalled, or
revised (e.g. to cover such events as password aging).
Use the Password lifespan property in the Advanced tab of the user's profile so that the user is forced
periodically to change the password.
(c) Following loss management procedures to electronically deauthorize lost, stolen, missing, or oth-
erwise potentially compromised tokens, cards, and other devices that bear or generate identification
code or password information, and to issue temporary or permanent replacements using suitable, rig-
orous controls.
Accounts may be deactivated or deleted. A deactivated account may be reactivated. A deleted account
cannot be recreated.
(d) Use of transaction safeguards to prevent unauthorized use of passwords and/or identification
codes, and to detect and report in an immediate and urgent manner any attempts at their unau-
thorized use to the system security unit, and, as appropriate, to organizational management.
An alarm is generated using the variable SYSTEM.StationName.USER.REJECTED each time a failed
login occurs. After three failed login attempts an account is deactivated.
- 705 -
Providing an audit trail
- 706 -
How To Provide an Audit Trail
To provide an audit trail of user actions you use the Log Filters, Archive Units and Log Viewer.
l The Log Filters select what actions are logged and where they are stored.
l The Archive Units store the logged actions.
l The Log Viewer provides a way to view the logged actions that have been stored in the Archive Units.
For detailed information on configuring Log Filters, Archive Units and Log Viewers see the Supervisor's main
Help.
The records recorded using the Log Filters are not encrypted. Therefore it is necessary to provide
some other means to protect them against tampering, such as restricting physical access to the PC
on which they are located.
It is not possible to record individual changes made to a project configuration when the Supervisor
is in Design mode. Therefore it is suggested that once a 21 CFR Part 11 compliant project has been
approved, it is operated with a run-time protection key only.
- 707 -
Using Extended Attributes to Add More Information to a Logged Action
Using the variable's extended attributes, you can record additional information when a variable is logged fol-
lowing a user action such as Send Register. The extended attributes allow you to configure and record up to
fourteen text strings, plus a binary pattern, specific to each variable.
A special use of extended attributes allows you to include the value of other variables in the record.
1. In the dialog Configure.Application Explorer, select Variables.Settings to open the Settings - Variables
dialog.
2. In Attributes and Properties, check the property, Extended Attributes.
1. Open the configuration dialog for the variable and open its Extended Attributes tab.
2. Check the property Enable associated attributes.
3. Enter the text for the extended attribute(s) to be configured. Show picture
n is the attribute number from 1 to 16. Attributes 1 and 2 are the Domain and Nature respectively.
- 708 -
To view an extended attribute in a Log Viewer you must enter its mnemonic in theColumn Format field of the
Display tab of the Log Viewer Configuration dialog. The mnemonic must correspond with one that has been
used in the Log Filter.
Typical example - recording the name of the main and secondary Users
A typical use of extended attributes is to record the name of both the main and secondary users when using
the Security animation with the Double Signatory option. The names of the main and secondary users are
available in the variables SYSTEM.StationName.USER1.LOGIN and SYSTEM.StationName.USER2.LOGIN,
respectively.
Replace StationName with the name of the station on which the Supervisor is running.
The variables SYSTEM.StationName.USER1.LOGIN and SYSTEM.StationName.USER2.LOGIN must be
created manually.
- 709 -
Logging the Previous Value of a Register Variable
When logging the change in value of a register variable as a result of a Send-Register animation it can be
useful to log the previous value of the register as well as the new value. (The new value is logged by default
and may be displayed using the #C mnemonic in the Log Viewer configuration.)
You log the previous value of the register by using an extended attribute configured to display the previous
control value. To configure that you must manually edit the configuration file VARCONF.DAT to add the line
Set=%PreviousControlValue%
after the attribute's definition.
In the following example attribute 5 has been configured in this way.
[ATTRIBUTE\TextAttribute1]
DistributedMode=Static
[ATTRIBUTE\TextAttribute2]
DistributedMode=Static
[ATTRIBUTE\TextAttribute3]
DistributedMode=Static
[ATTRIBUTE\TextAttribute4]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute5]
DistributedMode=Dynamic
Set=%PreviousControlValue%
[ATTRIBUTE\TextAttribute6]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute7]
DistributedMode=Static
[ATTRIBUTE\TextAttribute8]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute9]
DistributedMode=Static
[ATTRIBUTE\TextAttribute10]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute11]
DistributedMode=Static
[ATTRIBUTE\TextAttribute12]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute13]
DistributedMode=Static
[ATTRIBUTE\TextAttribute14]
DistributedMode=Dynamic
[ATTRIBUTE\TextAttribute15]
DistributedMode=Static
[ATTRIBUTE\TextAttribute16]
DistributedMode=Dynamic
[ATTRIBUTE\BoolAttribute1]
DistributedMode=Dynamic
Once this change has been made you can log the previous control value by adding the attribute to the Attrib-
utes to record field of the Log Filter configuration, for example #@A5.
To display the previous control value in the Log Viewer you add the attribute to the Column Format field of
its configuration dialog.
You must shut down the Supervisor before editing the file VARCONF.DAT.
- 710 -
Protecting the Integrity of Historic Data Files
You can apply a cyclic redundancy check (CRC) to protect the integrity of the data files in which the historical
data is recorded in the archive units. This appends to the data a pattern of bits that reflects the entire
sequence of bits in the file. When such a file is read from beginning to end, any loss, addition or modification
of the file's contents can be detected.
It must be enabled before any historic data is recorded. Any data recorded before CRC is enabled will be
lost.
What is CRC?
CRC is an acronym for Cyclic Redundancy [check] Code: a technique for error detection used to assure that
a program or data file has been accurately transferred or recorded. The CRC is the result of a calculation on
the set of written bits; it is appended to the data. When the data is read, the calculation is repeated and the
result is compared to the encoded value. The calculations are chosen to optimize error detection.
- 711 -
Ethernet/IP add-on
- 712 -
Ethernet/IP Data Acquisition Driver Overview
The Ethernet/IP add-on enables communication with PLCs supporting the Ethernet/IP standard. It supports
the explicit messaging of CIP (Common Industrial Protocol), with addressing based on symbolic elements.
There are no configuration dialog's specific to the Ethernet/IP Data Acquisition Driver. At the time of writing,
it uses a combination of text files (.dat) and standard features of the Supervisor for configuration.
This driver supports access to atomic tags in:
l Tags
l User Defined Data Types (UDT)
l Arrays (atomic and UDT)
The Ethernet/IP Data Acquisition Driver add-on is licensed and available on order. Please contact
your local reseller for more information.
- 713 -
Installation and Configuration of the Ethernet/IP Data Acquisition Driver Add-on
The Supervisor's Ethernet/IP Data Acquisition Driver add-on comprises of two dll files that are installed in
the Supervisor's BIN folder as part of the installation. The files are:
The driver, svmgrEIP.dll, was developed using the Supervisor's SV Manager Toolkit. In order for the Super-
visor to load the add-on at startup, a text file USRMGR.DAT must also be added to the BIN folder. The file
must contain the following lines.
[USRMGR\usrmgrEIP]
DLL=svmgrEIP.dll
l [TaskParameters]
l AttributeNumber - The variable's text extended attribute that is used to configure the mapped
EIP/ CIP variable. A number from 3 to 16. Defaults to 16.
l LocalIpAddress - The IP Address of the PC on which the task runs. A string.
l AssociationName - The association name in a redundant architecture. The task will only be act-
ive on the active server. A string. If omitted there is no association.
l NbEquipments - The number of equipments to which the driver is to connect. A number. If omit-
ted the default is 0.
l nbPollingGroups - The number of polling groups to be used. A number. If omitted the default is 0
polling groups.
l [PollingGroupN] - The definition of the polling group N. N is a number from 1 to nbPollingGroups as
specified above. The values must be contiguous.
l Name - The name of the polling group. A string. If omitted the default is PollingGroupN as
defined in [PollingGroupN].
l RefreshRateInSec - The polling rate for the group in seconds. A number. If omitted the default is
Normal.
l [EquipmentN]
l Name - The name of the equipment. A string. If omitted the default is EquipmentN as defined in
[EquipmentN].
l IpAddress1 - The first IP Address of the equipment. A string formatted x.x.x.x. The default is an
empty string.
l Port1 - Specify the physical port on which the Ethernet cable is plugged in. A number. If omitted
the default is 0.
l Slot1 - Specify the CPU equipment slot. A number. If omitted the default is 0.
l IpAddress2 - The second IP Address of the equipment. A string formatted x.x.x.x. The default is
an empty string.
- 714 -
l Port2 - Specify the second physical port on which the Ethernet cable is plugged in. A number. If
omitted the default is 0.
l Slot2 - Specify the second CPU equipment slot. A number. If omitted the default is 0.
l NbRetry - The number of retries prior to assuming a communication failure and setting any vari-
ables to NS COM. A number. If omitted the default is 2.
l TimeOutInSec - The timeout in seconds for a read or write request before considering the
request has timed out. A number. If omitted the default is 10 (seconds).
l DeviceType - The type of the equipment. A string either LogixAccess or CIPAccess. If omitted
LogixAccess is used.
l MultipleServiceSupport - Specify if the equipment supports Service 0x0a meaning that several
requests can be concatenated within one. A string either Yes or No. If omitted Yes is used.
l CompactBitArray - Specify if the equipment supports the compact bit array. If Yes an entire
array is coded within a double word, else each bit of the array is coded within a single byte. A
string either Yes or No. If omitted Yes is used.
- 715 -
Configuration of the Supervisor's Variables for the Ethernet/IP Data Acquisition
Driver Add-on
To define a variable as having an Ethernet/IP source you have to enter its address in the extended attribute
as defined in EtherNetIP.ini. It takes the form of a string with the following syntax.
EIP#EquipmentName#TagName#Type#PollingGroup#Access#Scaled
Example:
EIP#EqtTest#TEST2_ARR[29]#INT#Fast#W
Connect the variable to the device called EqtTest and access the index 29 of the table called TEST2_ARR at
the frequency define by the polling group Fast and the value can be written. The device named EqtTest and
the polling group named Fast must be defined in the .ini file.
Variable type
Format Scaling support Range
BOOL No
SINT Yes -127 to 128
INT Yes -32767 to 32768
DINT Yes -2147483647 to 2147483648
USINT Yes 0 to 255
UINT Yes 0 to 65535
UDINT Yes 0 to 4294967295
REAL No
- 716 -
STRING No
The variable value reflects which connection is in use and can be used to force the use of one connection or
the other.
- 717 -
Ethernet/IP Data Acquisition Driver Add-on Traces
Information regarding the Ethernet/IP add-on activity is logged in the traces and displayed in the Event
Viewer with messages starting with EtherNet/IP. The following messages can be displayed.
Message Cause
EtherNet/IP - Unable to read dongle. Error 12. The Supervisor has been unable to detect a
dongle and is running in demonstration mode.
The driver will run for one hour.
EtherNet/IP – No license found on the protection key The Ethernet/IP option is not coded in the
dongle. The driver will run for one hour (as in
demonstration mode).
EtherNet/IP – Failed to initialize the stack. Error 66 Invalid local IP address
EtherNet/IP – <DeviceName> (<IP> <Slot> <Port>) Error Device connection error.
<Value> on request 33 = Time out on the request.
74 = Length of response message too long.
Greater than 511 bytes.
58 = TCP network error. Cannot connect to
<DeviceName>. Check connectivity using ping.
EtherNet/IP - <DeviceName> ArrayTagName[index_ Tagname error.
min..Index_max] Error <Value> 0x4 = Invalid TagName. A syntax error was
OR detected decoding the Request Path.
EtherNet/IP - <DeviceName> TagName Response Error 0x5 = Invalid TagName. Request Path des-
<Value. [VarName] tination unknown. Probably instance number is
missing in the addressing.
0x6 = Insufficient Packet Space. Not enough
room in the response buffer for all the data.
0x13 = Insufficient Request Data. Data too
short for expected parameters.
0x26 = The Request Path Size received was
shorter or longer than expected.
0xFF = General Error. Access beyond end of
the object.
Additional traces can be triggered using the SCADA Basic instruction TRACE as follows.
TRACE(Mode, ManagerId, HexFlag);
- 718 -
Ethernet/IP Example
This example explains how to access the variable ANA_IN_00 which is IUINT format and in the global defin-
ition of a Control logic PLC. Show picture
Configuration file
[PollingGroup1]
Name = Fast
RefreshRateInSec = 1
[Equipment1]
Name = EqtTest
IpAddress1 = 192.168.0.31
Port1 = 1
Slot1 = 1
TimeOutInSec = 2
Variable definition
To access the variable ANA_IN_00, which is IUINT format, you must use a register variable. The variable is
configured with the following string in its extended attribute 4 (as specified in the .ini file AttributeNumber =
4). Show picture
- 719 -
SNMP Agent add-on
- 720 -
SNMP Agent Add-on Overview
The SNMP Agent add-on allows you to make the Supervisor’s data available to third party SNMP Managers.
It is designed as an agent extension for the Microsoft Windows SNMP service and supports SNMP v1, v2 and
v2c.
The SNMP Agent add-on can:
l Expose the value of I/O and internal variables (scope Shared and Local station) as SNMP data.
l Send traps.
l Create and maintain an up-to-date MIB file comprising the list of exposed data.
l Expose system variables via SNMP so that standard IT monitoring tools can obtain information about
how the Supervisor’s main components are behaving and report any major change: Start, stop, net-
work connection states, database connection states…,
l Use the Supervisor as an SNMP gateway between automation devices and SNMP-capable enterprise
systems.
There are no configuration dialog's specific to the SNMP Agent add-on. At the time of writing, it uses a com-
bination of text files (.dat) and standard features of the Supervisor for configuration. The add-on auto-
matically generates a MIB file containing the OID's of variables that are configured as exposed to SNMP.
The SNMP Agent add-on is licensed and available on order. Please contact your local reseller for
more information.
- 721 -
Installation and Configuration of the SNMP Agent Add-on
The Supervisor's SNMP Agent add-on comprises of two dll files that are installed in the Supervisor's BIN
folder as part of the installation. The files are named:
l svmgrSNMPAgent.dll
l svSNMPAgent.dll
The file named svmgrSNMPAgent.dll was developed using the Supervisor's SV Manager Toolkit. In order for
the Supervisor to load the add-on at startup, a text file USRMGR.DAT must also be added to the BIN folder.
The file must contain the following lines.
[USRMGR\svmgragent]
DLL=svmgrSNMPAgent.dll
[Generic1]
Params = TriggerOid#TimeStamp#Description#AlarmLevel#TextAttr03#TextAttr12
l [TaskParameters]
l AttributeNumber - A variable's text extended attribute that is used to identify the corresponding
variable as being exposed via SNMP. A number from 3 to 16. Defaults to 16.
l SnapshotPeriod - The period in milliseconds at which the task refreshes the shared memory and
hence the variable values that are exposed to SNMP. A number representing the number of mil-
liseconds. Default to 500 (in milliseconds).
l BrowsingLevel - The variable browsing level that identifies it as being exposed via SNMP. A num-
ber from 1 to 29. If omitted a default of 99 is used making no variable eligible based on the
browsing level criteria.
l NbTrapFormat - The number of generic trap formats than can be used in the application. A num-
ber. If omitted a default of 0 is used (no generic trap).
l [GenericX] - Where X is the trap format number.
l Params - The list of parameters attached to the generic trap. The maximum number of para-
meters cannot exceed 18. Any parameters above 18 are discarded. See below for a table of the
supported parameters, and examples.
- 722 -
TextAttr11 13 Text attribute 11 of the trigger variable*
TextAttr12 14 Text attribute 12 of the trigger variable*
TextAttr13 15 Text attribute 13 of the trigger variable*
TextAttr14 16 Text attribute 14 of the trigger variable*
TextAttr15 17 Text attribute 15 of the trigger variable*
TextAttr16 18 Text attribute 16 of the trigger variable*
* Text attribute value and description must not contain the # or any accentuated characters.
Example1: TriggerOid#TimeStamp#TextAttr12
Example2: TriggerOid#TimeStamp#Description#AlarmLevel#TextAttr03#TextAttr04
- 723 -
Configuring the Supervisor's Variables Exposed by the SNMP Agent Add-on
There are two methods by which a variable can be exposed by the SNMP Agent add-on.
By Browse Level
Variables whose Browsing Level property match that configured in SNMP Agent Add-on configuration file.
Show picture
If the variable is an alarm its transitions are automatically sent as traps.
By Extended Attribute
Variables whose extended attribute number, as configured in the SNMP Agent Add-on configuration file, con-
tains either of the following text.
l SNMPAgent# - Expose the variable via SNMP making it available for reading by third-party SNMP Man-
agers.
l SNMPAgent#Trap - Expose the variable as an SNMP Trap.
l SNMPAgent#Trap#GenericX - Expose the variable as an SNMP Generic Trap. The format of the item
linked to the trap, corresponds to the parameters defined for GenericX.
- 724 -
Deploying the SNMP Agent Add-on in Windows
Checking that the Microsoft Windows SNMP Agent is installed and configuring the Community
String
The following example is for Windows 7. Other versions of Windows, particularly Windows Server, may be
different (SNMP Agent role).
d. Click OK to confirm the configuration and then close the Services dialog.
- 725 -
KNX data acquisition driver add-on
- 726 -
KNX Data Acquisition Driver Add-on Overview
The KNX add-on is a data acquisition driver designed to communicate with KNX devices via KNX/IP inter-
faces using group data access.
The KNX add-on can:
There are no configuration dialog's specific to the KNX Data Acquisition Driver. At the time of writing, it uses
a combination of text files (.dat) and standard features of the Supervisor for configuration.
The Falcon Runtime v2.2 must be installed, following the manufacturer's instructions, on the host
PC. It is available free of charge from the KNX web site https://my.knx.org/en/downloads/falcon.
You will need to register to have access to the Falcon API download page.
The KNX Data Acquisition Driver add-on is licensed and available on order. Please contact your local
reseller for more information.
- 727 -
Installation and Configuration of the KNX Data Acquisition Driver Add-on
The Supervisor's KNX Data Acquisition Driver add-on comprises of a single dll file that must be copied to the
Supervisor's BIN folder. The file is named:
l usrmgrFalconKNX.dll
The file named usrmgrFalconKNX.dll was developed using the Supervisor's SV Manager Toolkit. In order for
the Supervisor to load the add-on at startup, a text file USRMGR.DAT must also be added to the BIN folder.
The file must contain the following lines.
[USRMGR\usrmgrfalcon]
DLL=usrmgrFalconKNX.dll
[Interface1]
IpAddress = 192.168.1.1
Port = 3671
NATmode = off
UseUSB = 0
SleepInterval = 200
MaxQueueSWrite = 10
InitialReadItemsNumber = 200
[InterfaceUSB]
ConnectionString = Device=0;Path=\\\\?\\hid#vid_0e77&pid_0112#8&9d3fd06&0&0000#{4d1e55b
l [TaskParameters]
l AttributeNumber - A variable's extended text attribute that is used to identify the corresponding
variable as being acquired from a KNX interface. A number from 3 to 16. Defaults to 16.
l AssociationName - The name of the data acquisition server's association if used in a redundant
architecture. The task is only activated on the active server. A string. Defaults to an empty
string (no association).
l NbInterfaces - The number of interfaces the task must communicate with. A number from 1 to
16. Defaults to 0.
l TimeOutInSec - The delay in seconds before a read or write request is timed out. A number.
Defaults to 5 (seconds).
l ReconnectionPeriod - The period in seconds after which the driver will attempt to reconnect to a
failed, or in error, interface. A number. Defaults to 30 (seconds).
l InitialReadItemsNumber - Specify the maximum number of items that are refresh at a given
time on project start-up. The driver refreshes all the items flagged as R at the rate of
TimeOutInSec*30 seconds until all the items are read. A number. If omitted. Defaults to 200.
l [InterfaceN] - The properties for interface number N. N is a number from 1 to NbInterfaces. The val-
ues must be contiguous.
l Name - The interface name for the KNX /IP interface. A string. If omitted the default is Inter-
faceN as defined in [InterfaceN].
l IpAddress - The IP address of the KNX/IP interface. A string. If omitted 127.0.0.1 is used.
l Port - The port number used to communicate with the interface. A number. If omitted 3671 is
used.
l NATmode - Specify if the interface supports NAT mode. A string with only two possible values,
ON or OFF. Defaults to OFF.
- 728 -
l UseUSB - Specify if a USB connection is to be used to connect to the interface. A number, 0 =
USB is not used, 1 = USB is used. Defaults to 0.
l SleepInterval - The silence in milliseconds between consecutive requests to a device. A number.
Defaults to 100.
l MaxQueueWrite - The maximum number of write requests that can be queued for all KNX points.
Defaults to 5.
l [InterfaceUSB] - The definition of the USB interface if required.
l ConnectionString - The connection string used for the USB interface. Please refer to the man-
ufacturer's documentation. Defaults to an empty string.
- 729 -
Configuration of the Supervisor's Variables for the KNX Data Acquisition Driver
Add-on
To define a variable as having a KNX source you have to enter its KNX address in the extended attribute, as
specified in the KNXInterfaces.ini file. It takes the form of a string with the following syntax.
KNX#InterfaceName#GroupAddress#Format#Access
Format table
Scaling pos-
Format sible Notes
B1 No Configuring a variable min and max does not trigger any scaling.
F16 No Configuring a variable min and max does not trigger any scaling.
F32 No Configuring a variable min and max does not trigger any scaling.
N2 No Configuring a variable min and max does not trigger any scaling.
N8 No Configuring a variable min and max does not trigger any scaling.
To enable scaling, the DPT range defined in the KNX document must be
entered in the min & max of the variable definition.
For example:
U8 Yes
DPT_Scaling - variable min = 0, variable max = 100
If you do not want to apply scaling then the variable min and max should be 0
and 255 respectively
To enable scaling, the DPT range defined in the KNX document must be
entered in the min & max of the variable definition.
For example:
U16 Yes
DPT_TimePeriod10Msec - variable min = 0, variable max = 655,35
If you do not want to apply scaling then the variable min and max should be 0
and 65535 respectively
To enable scaling, the DPT range defined in the KNX document must be
entered in the min & max of the variable definition.
At present there is no DPT of U32 format that perform scaling but you could
U32 Yes
put variable min = 0, variable max = 200
If you do not want to apply scaling then the variable min and max should be 0
and 4294967295 respectively.
V8 No Variable min and max specify does not trigger any scaling
To enable scaling, the DPT range defined in the KNX document must be
entered in the min & max of the variable definition.
For example:
V16 Yes
DPT_Percent_V16 - variable min -327,68, variable max 327,67
If you do not want to apply scaling then the variable min and max should be -
32768 and 32768 respectively.
- 730 -
V32 No Configuring a variable min and max does not trigger any scaling.
r2U6 No Configuring a variable min and max does not trigger any scaling.
- 731 -
KNX Data Acquisition Driver Add-on Traces
Information regarding the KNX add-on are logged in the traces and displayed in the Event Viewer with lines
starting with usrmgrFalconKNX.
Additional traces can be triggered using the SCADA Basic instruction TRACE as follows.
TRACE(Mode, ManagerID, HexFlag);
- 732 -
Dynamic Busbar Coloring
- 733 -
Dynamic Busbar Coloring Overview
The aim of this add-on is to calculate the distribution of voltages across an electrical grid that may not be
fully equipped with voltage sensors. It allows visualizing the presence or absence of voltage on all bus-bar
and feeders, a feature also known as Dynamic Busbar Coloring.
This set of functions is referred to as the Topology Engine (or just engine) in this help. The main functional
component of the Topology Engine is a program, svmgrTopology.dll, developed using the SV Manager
toolkit.
Dynamic Busbar Coloring gives the operator a quick overview of the state of a substation or other dis-
tribution network and shows, at a glance, whether any specific part of the substation (e.g. busbar segment)
is earthed, energized, or de-energized. This function helps operators to be informed about the current state
so that they can make proper decisions, especially in emergency situations.
During initialization, the engine reads the configuration file that defines the structure of the electrical net-
work, and builds, in memory, the list of variables required for the calculation of voltage distribution.
When any of these variables’ values change, the engine recalculates the distribution of voltages, and
updates the result in the Supervisor's variables used for logging, alarming and visualization.
- 734 -
Main concepts
- 735 -
Concepts
The Topology Engine uses 3 main concepts.
l Nodes,
l Switches,
l Transformers.
They are used to describe the network topology and are referred to as topology items.
Nodes
Nodes are the parts of the electrical network connected by switches and transformers. For example a node
can be an incoming source, a busbar, or an outgoing, feeder. The nodes can be of three types.
l Passive: The nodes those are not able to provide their own voltage level.
l Static: The nodes with a determinate voltage (e.g. Earth)
l Measured: For measured nodes it is possible to define steady sources such as generators or other
sources which are active up to a specified voltage level. The source can be set manually by user input
or coming from the field as a voltage measurement. As a consequence, measured nodes are able to
provide their own voltage level. Measured nodes are also called injection nodes.
The Topology Engine supports up to 8 discrete voltage levels, which can be interpreted in an arbitrary man-
ner, e.g. not associated with any particular voltage value (12 kV, 20 kV…). One of these levels is the earth
voltage level and another represents voltage absence. Each measured node is able to provide only one
voltage level that must be declared as its default injection value. If a node’s injection value is set to 0, the
node is passive. If node injection value is set to non-significant, the node will provide the uncertain value as
default injection. The node injection value can change at runtime.
Switches
Switches are any type of device able to open or close an electrical circuit with regards to voltage calculation
(breaker, isolator, disconnector, earthing switch…). The switching capability does not impact the Topology
Engine calculations. A switch can only be in one of the three following states.
l Position open,
l Position closed,
l Unknown position, also called uncertain, non-significant or NS.
Transformers
Transformers are devices that are able to modify the voltage level. They are characterized by an input
voltage level and an output voltage level. Like switches, transformers are always connected to two Nodes.
Unlike switches, transformers are directional devices.
- 736 -
Voltage Calculation Principles
To calculate the voltage distribution, the Topology Engine uses some rules. It is important to understand
them in order to create the correct configuration and to use the Dynamic Busbar Coloring. This topic
explains these rules and introduces notations.
Voltage levels
The Topology Engine supports 8 discrete voltage levels, noted V0, V1, V2, V3, V4, V5, V6 and V7:
Within the Topology Engine, voltage levels are coded as described in the following table.
Voltage level V7* V6 V5 V4 V3 V2 V1 V0**
Index in word [7] [6] [5] [4] [3] [2] [1] [0]
Voltage code 128 64 32 16 8 4 2 1
*V7 reserved for earth level.
**V0 reserved for voltage absence.
Values shown in the table are exactly the voltage codes, they are not RGB color values. This table
shows the colors used in the sample project.
Sometimes it is not be possible to determine the presence or absence of the voltage - typically in the case of
uncertain switch position. In such cases, the Topology Engine uses the uncertain voltages levels. Codes for
uncertain voltage levels are equal to codes of usual voltage levels multiplied by 256. The uncertain voltage
levels are notated V0’, V1’, V2’, V3’, V4’, V5’, V6’ and V7’.
Voltage level V7' V6' V5' V4' V3' V2' V1' V0'
Index in word [15] [14] [13] [12] [11] [10] [9] [8]
Voltage code 32768 16384 8192 4096 2048 1024 512 256
Voltage calculation
Voltages are always distributed from the measured nodes through switching devices and to the busbar
parts. So the voltage calculation always starts from the power sources, through transformers and closed
switches, to the connected busbar parts.
- 737 -
How to use the Add-on in Your Project
This topic describes the steps you will have to follow in order to use the Dynamic Busbar Coloring add-on in
your own application. Each step is briefly described and includes references to subsequent sections where
installation and configuration are explained in detail.
The necessary entry point is the description of the network topology – a single line diagram is usually avail-
able and sufficient.
In addition, the following elements are necessary for using the add-on in your project.
l The dedicated configuration tool – It allows you to create the topology configuration file(s),
l The SH_ELEC and SH_ELEC_COLO libraries ,
l Your project.
In order to become familiar with the different configuration items, a sample project is available. It is a good
starting point before you go through the configuration and set-up of your own project.
- 738 -
See Using node voltages in the application for more information.
- 739 -
Topology Engine Settings and .ini File
The Topology Engine .ini file is named Topology.ini and is located in C directory of your project. This file
allows you to change some of the Topology Engine settings.
[Config]
ServerVarName=System.Association.Localhost
LogMessageLevel=2
GenerateReport=1
NodeNSvalue=previous
SwitchNSvalue=previous
NodeProbAsReal=1
SwitchProbAsReal=0
IgnoreProbVsRealConflict=0
The Topology.ini file is optional. In case of absence, the Topology Engine will use default settings.
- 740 -
The NodeProbAsReal setting
Specifies the behavior of the Topology Engine when a Node is in an uncertain state. The default value is 0
(Uncertain values as Significant: NO). With this value the Topology Engine will use both uncertain and sig-
nificant values.
If you want to ignore Node uncertain values, you must specify 1 (Uncertain values as Significant: YES). For
example, if a calculation gives a node at voltage level V2’, then the result is output as voltage level V2.
- 741 -
The Supervisor’s Variables
When the Topology Engine runs:
l It reads input information - switches positions and nodes injections - from the Supervisor's variables,
l It writes calculation results - nodes voltages - to the Supervisor's variables.
To ensure correct calculations by the Topology Engine, and be able to use its results, all the variables
declared in its configuration must exist and be configured correctly.
These templates can be used to automatically generate the variables and their configuration.
Node
Variable Mandatory I/O Data Type Remark
Voltage Yes I Register Logical output level. This variable name
can be modified through the configuration
file.
Injection No O Register Logical input level. This variable name can
be modified through the configuration file.
VoltageConflict No O Bit Set to 1 when there is a voltage conflict
(e.g.: V1+V2)
PotentialVoltageConflict No O Bit Set to 1 when there is a potential voltage
conflict (e.g.: V1+V2’ or V1’+V2’)
MeasuredInjection No I Register Real injection in Volt when Node is of type
“Measured”. This variable is used by the
symbols provided with the library.
ManualInjection No I Register Manual injection value when Node is of
type “Measured” with a manual input. This
variable is used by the symbols provided
with the library.
Switch
Variable Mandatory I/O Data Remark
Type
Position Yes I Bit Position of the Switch. 0 for open 1 for
close. The variable name can be mod-
ified through the configuration file.
Upstream.Voltage No O Register Copy of the Voltage variable of the
upstream Node.
Upstream.VoltageConflict No O Bit Copy of the VoltageConflict variable of
the upstream Node.
Upstream.PotentialVoltageConflict No O Bit Copy of the PotentialVoltageConflict vari-
able of the upstream Node.
Downstream.Voltage No O Register Copy of the Voltage variable of the down-
- 742 -
stream Node.
Downstream.VoltageConflict No O Bit Copy of the VoltageConflict variable of
the downstream Node.
Downstream.PotentialVoltageConflict No O Bit Copy of the PotentialVoltageConflict vari-
able of the downstream Node.
Transformer
Data
Variable Mandatory I/O Remark
Type
Copy of the Voltage variable of the
Upstream.Voltage No O Register
upstream Node.
Copy of the VoltageConflict variable of
Upstream.VoltageConflict No O Bit
the upstream Node.
Copy of the PotentialVoltageConflict vari-
Upstream.PotentialVoltageConflict No O Bit
able of the upstream Node.
Copy of the Voltage variable of the down-
Downstream.Voltage No O Register
stream Node.
Copy of the VoltageConflict variable of
Downstream.VoltageConflict No O Bit
the downstream Node.
Copy of the PotentialVoltageConflict vari-
Downstream.PotentialVoltageConflict No O Bit
able of the downstream Node.
l Injection variables
l Switch position Variables
This feature enables the use of templates and graphical symbols provided in the SH_ELEC_COLO library
without any modification, and only by editing the configuration file.
Injection variables
To make the link between a field injection variable and the Topology Engine variable, it is possible to use the
properties Field Injection Variable and Field Injection Scale described in Nodes. At start-up, the Topology
Engine automatically subscribes to the field variable and, according to the variable type, performs different
actions.
If it is a bit variable, then if its value is 0, the Topology Engine uses the voltage absence level (V0), and if
the value is 1, it uses the Default Voltage Level of the node.
If it is a register variable, then according to the scale and the Voltages configuration (see Voltages), the
Topology Engine performs 2 actions.
- 743 -
fective with communicating switches because variables for switch control have to be separated from
these internal variables for practical reasons (data mapping, typing...). It is recommended to cus-
tomize the symbols, at least for the switch control buttons.
- 744 -
Using the Node voltages in the Application
The Topology Engine writes the calculation results, the nodes voltages, into the variables declared in its con-
figuration as the Node Voltage Variables. It is up to the application designer to take advantage of these val-
ues for logging, alarming and visualization.
Graphic animations
On the graphic side it is advisable to use these values in generic symbols using the appropriate animations.
The association of the voltage levels with the desired colors is not enforced by the Topology Engine and must
be decided by the application designer. For this purpose, the Color on register value and Image on register
value animations can be used with the set of desired colors.
An example of a possible color animation configuration follows.
Voltage Value Color
Absence (V0) 1
V1 2
Conflict: V0+V1 3
V2 4
Conflict: V0+V2 5
Conflict: V1+V2 6
Conflict: V0+V1+V2 7
V3 8
Conflict: V0+V3 9
Conflict: V1+V3 10
Conflict: V0+V1+V3 11
Conflict: V2+V3 12
Conflict: V0+V2+V3 13
Conflict: V1+V2+V3 14
Conflict: V0+V1+V2+V3 15
V4 16
Unavailable NS
If you need to display more voltage colors, you can use several instances of this animation.
It is up to the application designer to give priority in displaying voltage conflicts or supposed voltage
values. Safety constraints normally lead to giving priority to display and highlight uncertainty
instead of supposed values, but end-user needs might require uncertainty to be ignored.
It is also possible to use Image on register value or Visibility on register value animations.
Library
The SH_ELEC_COLO library provides several symbols based on the variables set of the templates. They use
Visibility on register value animations to display different images.
The following colors are used in the library.
Voltage Color
V0 or V0’ Gray
V1 or V1’ Blue
V2 or V2’ Cyan
V3 or V3’ Green
V4 or V4’ Orange
- 745 -
V5 or V5’ Purple
V6 or V6’ Yellow
V7 or V7’ White
No communication Pink
Conflict Blinking red
Potential conflict Fixed red
- 746 -
Networked Application
Within an architecture having networked stations and distributed processing, the following conditions must
be fulfilled.
It is then possible to either install the Topology Engine on a single station, or on several redundant servers.
In the latter case, the setting ServerVarName of the Topology.ini file must have a valid value. See Server-
VarName for more information.
- 747 -
The configuration tool
- 748 -
Configuration Tool Overview
As part of the Add-on, a configuration tool is provided with the Topology Engine. the name of the executable
is ConfigTool.exe. The configuration tool allows you to define all the configuration items from the electrical
topology viewpoint and creates the 2 main configuration files.
- 749 -
Topology Items
All the Topology Engine items can be created with the configuration tool. The name of each item is uniquely
assigned by the configuration tool and cannot be changed. All the other properties of the items can be
edited. All items configuration dialogs have 3 buttons.
l Reset - Undo last changes and restore default values for the item,
l Apply - Apply the changes immediately (new start point for the Reset button)
l Delete - Delete the selected item
Any changes you make are automatically applied whenever you select another item.
Voltages Configuration
The Voltages Configuration is accessed from the associated button in the menu bar. For each Voltage Level,
it is possible to specify its bounds. Voltage levels must be ordered from the lowest (V0) to the highest (V6).
Their bounds cannot cross one another (V1 max must be lower or equal to V2 min). Show picture
Networks
The first item to create is a Network. To insert a new Network, click the Add Network menu button. The pro-
ject must have at least one network. Networks are used to split an electrical system into a logical pieces.
You can for example create one Network per mimic you need to design. The other types of items (nodes,
switches…) can be linked together only if they belong to the same network.
The only property of a Network is its label. This label is used in the tree on the left side of the configuration
tool. Show picture
Nodes
To insert a new Node, select a Network and click the Add Node menu button. There are 4 types of Node.
l Passive,
l Static,
l Measured – Manual,
l Measured – Communicating.
- 750 -
l Default Injection - The default voltage level of the Node,
l Injection Type - The type of the Node.
For Passive and Static Nodes, no additional properties are required. Show picture
For Measured – Manual Nodes, the additional property Injection Variable Scale is required. It is possible to
specify the scale for of the voltage value you set (1V, 10V, 100V or 1kV). Show picture
Finally, for Measured – Communication Nodes, two additional properties are required.
Show picture
Switches
To insert a new Switch, select a network and click the Add Switch menu button.
There are 2 types of Switch.
l Manual,
l Communicating.
- 751 -
l Label - The name used in the tree at the left side of the tool,
l Branch - The branch used to instantiate the corresponding template,
l Network - The Network that the Switch belongs to,
l Upstream Node - The first Node that the Switch is linked to,
l Downstream Node - The second Node that the Switch is linked to,
l Default Position Value - The default position of the Switch,
l Switch Type - The type of the Switch.
l The Upstream Node corresponds to the Node at the top or left side of the Switch in the diagram,
l The Downstream Node corresponds to the Node at the bottom or right side of the Switch in the dia-
gram.
For Communicating Switches, the additional property Position Variable Name is required. It is used to spe-
cify the field variable that the Switch is linked to. This variable can be a Bit or a Register. You also have to
specify the values corresponding to the Open and the Close positions. Show picture
Transformers
To insert a new Transformer, select a network and click the Add Transformer menu button.
Transformers’ properties are as follows.
l Label - The name used in the tree at the left side of the tool,
l Branch - The branch used to instantiate the corresponding template,
l Network - The Network the Transformer belongs to,
l Upstream Node - The first Node that the Transformer is linked to,
l Upstream Voltage - The supposed Voltage level of the first Node,
l Downstream Node - The second Node that the Transformer is linked to,
l Downstream Voltage - The supposed Voltage level of the second Node.
- 752 -
According to the symbols library, and as usual on single line diagrams, the Upstream Node corresponds to
the Node at the top or left side of the Transformer in the diagram. And the Downstream Node corresponds to
the Node at the bottom or right side of the Transformer in the diagram. Show picture
- 753 -
Configuration Errors
Typical configuration errors are as follows.
l On Nodes
l No Communication Variable set for type Measured – Communication
l On Switches
l No Communication Variable set for type Communication
l Same Upstream and Downstream Nodes
l On Transformers
l Same Upstream and Downstream Nodes
l Unknown, absence of voltage or earth voltage level selected
l On Voltages Configuration
l Voltages levels with overlapping min/max boundaries
l Voltages levels not correctly ordered
The items having errors are displayed in red in the tree on the left side of the configuration tool. The errors
concerning the Voltages Configuration are not displayed, but a warning is displayed when they are validated.
Generation of the configuration files is prevented if one or more configuration error exists. Show picture
- 754 -
Saving and Generating the Topology Engine Configuration Files
The one click method
You can export the configuration to the Supervisor by using the menu button Export configuration. A console
prompt will be opened while exporting and closed when export is completed. The Supervisor must be run-
ning for the export to succeed.
1. From the Supervisor select the menu command Configure.Smart Generators… to open the Smart Gen-
erator.
2. Click New Import, give your import a name such as TopoImport and select the file to import, TopoIn-
port.xml, from the C directory of your project. Click the Finish button to complete the import. If you
are updating an existing configuration, select the existing import and click the Synchronize button.
Show picture
3. Return to the Supervisor's workspace and select the menu command Configure.Application Architect…
to open the Application Architect. Show picture
4. In the Architect select the menu command Task.Generate to generate the configuration.
5. Restart the Supervisor so that the Topology Engine loads its configuration.
6. Check successful loading. Use the Supervisor's Event Viewer to make sure the configuration is loaded
successfully by the svmgrTopology.dll. See Traces for more information.
- 755 -
Topology Engine Traces
The Topology Engine Add-on takes advantage of the Supervisor's diagnostic traces to log messages at run-
time. The messages appear in the Supervisor's Event Viewer.
The log messages have the following format:
.....,Topology Engine,<Log Level>,<The Subject>: <The Message>
Where:
- 756 -
figuration.
ERROR_SYSTEM_NOTSUBSCRIBED The Topology Engine Run-time failed to subscribe to Super-
visor system variables.
ERROR_VARIABLE_NOTEXIST The variable (as referenced in the Topology Engine con-
figuration) is missing in the Supervisor configuration.
ERROR_VARIABLE_NOTSUBSCRIBED The Topology Engine Run-time failed to subscribe to the vari-
able.
ERROR_VARIABLE_NOTUNSUBSCRIBED The Topology Engine Run-time failed to unsubscribe from the
variable.
ERROR_ONCHANGE_DATAUNKNOWN A new value is received for the variable but it cannot be pro-
cessed by the Topology Engine Runtime.
ERROR_CALCULATE_TRANSFOLOOP An undesired loop is configured with transformers. In par-
ticular 2 transformers with different ratios but sharing the
same upstream and downstream nodes.
- 757 -
OPC UA Gateway
- 758 -
OPC UA Gateway Overview
What is OPC UA?
OPC Unified Architecture (UA) integrates the classic OPC technologies (DA, AE and HDA) into a single plat-
form whilst at the same time addressing some of the issues and limitations of classic OPC.
This book is a synopsis with information only about the features and settings of the UA Gateway that
are required for use with the Supervisor. For detailed information on all other features and settings,
see the help documentation supplied with the UA Gateway.
- 759 -
OPC UA Gateway Installation
Supported Operating Systems
The UA Gateway is tested on the following operating systems that are also supported by the Supervisor.
l Windows 7 x64
User requirements
The computer on which UA Gateway is to run have an interactive session and at least one interactive user.
The OPC Server component of the gateway will assume the identity of the logged on interactive user
As the UA Gateway is registered as a service in the interactive account, the account must have a user name
and a password. It is not possible to establish communication if the account does not have a password.
Installation
The UA gateway is supplied as a self-installing executable file, and an OEM license file OEM.ini. The license
file contains the license and also the default configuration settings necessary for the UA gateway to work cor-
rectly with the Supervisor. The OEM license file must be in the same folder as the executable. Running the
executable starts the installation process.
The UA gateway supplied with the Supervisor will only work with the Supervisor's OPC Client and
Server. It will not work with any other OPC client or server.
The gateway automatically starts, using default settings, after installation but there are two further con-
figuration steps to complete before it is fully functional.
l Use the Administration Tool to confirm settings including the user account, endpoints and certificates.
See the topic OPC gateway configuration.
l Use the Configuration Tool to add and configure OPC UA servers, as well as the OPC DA server. See
the topic Adding an OPC UA server to the gateway.
The configuration tools can be opened by right clicking the UA gateway icon in the system tray or from the
UA gateway entry in the Windows' system menu.
- 760 -
OPC UA Gateway Configuration - Administration Tool
The Administration Tool can be opened by right clicking the UA gateway icon in the system tray or from the
UA gateway entry in the Windows' system menu. Many of the settings are either pre-configured as defaults
or provided by the OEM.INI file. It is not recommended to modify the OEM.ini file manually.
For information on settings other than those mentioned in this topic, see the help documentation sup-
plied with the UA Gateway.
To confirm the settings for the launching user click the Apply button. You will be prompted for the password
for the selected user. Show picture
If successful, a message is displayed confirming that the selected user has been added to the UaGate-
wayUsers group.
The account(s) used to run the Supervisor shall belong to the UaGatewayUsers group of users to
ensure proper DCOM connections between the Supervisor and the UA Gateway.
UA Endpoint
- 761 -
The UA endpoint configuration is used for the UA Gateway's OPC UA server. Even if your architecture does
not include a third party OPC UA Client, these settings are important, as the UA gateway's own Configuration
Tool communicates with the gateway as an OPC UA client. The pre-configured settings should suffice for
most installations. However, you may have to change the port number should another device already use it.
Show picture
If you change the settings in the UA Endpoints tab, you will also have to change the settings of the
Configuration Tool so it can still connect to the UA gateway.
Certificates
OPC UA communicates using a secure connection over TCP/IP, which requires the use of certificates. The UA
Gateway automatically generates two certificates during the installation process. Show picture
l Trusted - Used when the UA gateway is communicating with the Configuration Tool - itself an OPC UA
client.
l Own Certificate - Used when the OPC UA gateway is communicating with a third party OPC UA server
fulfilling its main purpose as an OPC UA gateway.
These automatically generated certificates may, or may not, be sufficient to satisfy the end user's IT policy.
For further information, see the UA gateway's documentation.
- 762 -
Adding an OPC UA Server to the Gateway
The Configuration tool is used to add OPC UA Servers to the UA gateway. After a UA server has been suc-
cessfully added, its address space is exposed to any OPC DA client connected to the UA gateway. The Con-
figuration Tool can be started by right clicking the UA gateway's icon in the system tray or from the
Windows' Start menu. Show picture
The UA gateway must be running before the Configuration Tool can be used. To start the UA gate-
way, right click its icon in the system tray and select Start.
How to add an OPC UA Server to the gateway using a custom discovery service
The following example uses a Kepware OPC UA server. Other servers will be similar but differ in detail.
1. Open the Configuration Tool and, in the Device Address Space tab, select OPC UA Servers. The OPC UA
Servers tab opens in the right pane.
2. Select Add server. The Add UA Server dialog opens. Show picture
3. Double click on the plus sign under the Custom Discovery node. A dialog opens from where you enter
the URL of the discover service of the OPC UA server you want to add. The URL is usually available
- 763 -
from the server documentation or from the configuration of the OPC UA Server itself. Show picture
4. Expand the node representing the URL just added. Normally there will be an entry for each of the
encryption methods that the server supports. Select the appropriate encryption method then click Add
and Close. Show picture
5. The selected OPC UA server now appears in the gateway configuration. Show picture
The configuration of the gateway is now basically complete but, at this point, it may be unable to connect to
the server. During the above process, a certificate from the UA gateway has been copied to the OPC UA
Server. Before the server will communicate with the gateway this certificate must be trusted.
- 764 -
1. Open the OPC UA Configuration Manager of the server. For Kepware, you right click its icon in the sys-
tem tray and select OPC UA Configuration.
2. Locate the UA gateway certificate. Select it and click Trust.Show picture
3. Close the configuration manager. The UA gateway will now be able to communicate with the OPC UA
Server.
- 765 -
Using the Gateway when the Supervisor is running as a Service
The UA gateway can be used with the Supervisor running as a service. Show picture
Configuration of the gateway is the same as if running the Supervisor as a desktop application. In particular,
the account used to run the Supervisor must be added to the UaGatewayUsers group. Show picture
By default, the account used when running the Supervisor as a service is LOCAL SERVICE. This can be used
when the application requires that the Supervisor's OPC DA client be connected to the UA Gateway's OPC DA
server. However, if the application requires that the Supervisor's OPC DA server be connected to the UA
Gateway OPC DA client, thereby exposing the Supervisor's variables as an OPC UA server, then the
NETWORK ACCOUNT must be used.
- 766 -
Mapping Variables to the UA Gateway
With the majority of OPC DA Servers, the Address Space, as seen in the left pane of the supervisor's OPC
Mapping dialog, has a one to one match with the OPC Item Id. This is not a mandatory requirement, it
is just something that is commonplace. For example, in the following screen-shot of a mapping dialog
and a Kepware OPC DA server. Show picture
The ItemID Simulation Examples.Functions.Ramp1 is the same as its location within the address space in
the left pane of the mapping dialog.
When using the UA Gateway the Address Space is similar to, but not the same as, the ItemID. This is normal
behavior for the UA Gateway. Show picture
- 767 -
Deepening the UA Gateway browsing
Depending on the complexity of the connected OPC UA server, the UA Gateway may not fully expose the
objects through its OPC DA Server. This can be improved using the setting Browse Next Level for Variables
in the OPC DA (COM) tab of the UA Gateway's Administration Tool.
Time-stamp selection
The UA Gateway allows the selection of the time-stamp source for OPC UA originated objects it exposes
through its OPC DA Server.
Supervisor’s OPC DA Client UA Gateway time-stamp Mapped objects’ resulting time-
time-stamp configuration source stamp
Default Internal DA Client / SCADA host computer
Provided by server Internal DA Client / SCADA host computer
Default ServerTimestamp DA Client / SCADA host computer
Provided by server ServerTimestamp UA Server / UA host computer
Default SourceTimestamp DA Client / SCADA host computer
Provided by server SourceTimestamp UA Server / UA host computer
The selection made using the setting Timestamp Source in the OPC DA (COM) tab of the UA Gateway's
Administration tool. Show picture
- 768 -
Troubleshooting
- 769 -
Log files
- 770 -
Log Files Overview
The Supervisor generates a number of log files during operation containing messages from the various man-
agers and executables. The messages include general information, debug, warnings and errors. The log files
are found in Log Files sub folder of Supervisors main folder Bin and can be broken down into the following
categories.
l Trace.Log files - All events produced by the Supervisor's main program as seen in the Event Viewer
window. See the topic Trace log files for more information.
l MacroTrace.Log file - A record of the Supervisor's major events only. See the topic Other log files.
l HDS.Log file - Events produced by the Historical Data Server. See the topic Other log files.
l OPCSrv.log file - Events produced by the Supervisor's main program dedicated to OPC server activ-
ities. See the topic Other log files.
l Sv32.exceptions.log file - A file generated in the unlikely event of an erroneous exit by the Super-
visor's main program. See the topic Other log files.
The Supervisor also generates various audit files related to the Audit Diagnostics. These are also found in
the Log Files folder. See the book on Audit Diagnostics in the Application Explorer help.
Use of traces can affect the Supervisor's performance. If you enable any of the optional traces, they
should be disabled once the issue has been diagnosed and resolved.
- 771 -
The Trace.Log Files
The Trace.Log files contains all events produced by the Supervisor's main program as seen in the Event
Viewer window. The maximum file size is configured by the Max size for Trace log file setting in the Audit
Diagnostics settings.
If the Trace.log exceeds the maximum size, traces are written to a new log file Trace1.log. If Trace1.log
exceeds the maximum size, traces are written to a new log file Trace2.log etc. The number of new files is
limited to nine and so when Trace9.log is full, Trace1.log is emptied and recording continues there. Trace.-
log is never overwritten so that the first traces are always available.
When the Supervisor is started, the previous Trace.log is renamed to LastSession1_Trace.log. If LastSes-
sion1_Trace.log already exists, it is renamed to LastSession2_Trace.log etc. The number of rotating session
is nine.
Below is an example listing of the trace files you might find in the Log Files folder.
Trace.log
Trace1.log
Trace2.log
Trace3.log
Trace4.log
Trace5.log
Trace6.log
Trace7.log
Trace8.log
Trace9.log
LastSession1_Trace.log
LastSession1_Trace1.log
LastSession1_Trace2.log
LastSession1_Trace3.log
LastSession1_Trace4.log
LastSession1_Trace5.log
LastSession1_Trace6.log
LastSession1_Trace7.log
LastSession1_Trace8.log
LastSession1_Trace9.log
….
LastSession9_Trace.log
LastSession9_Trace1.log
LastSession9_Trace2.log
LastSession9_Trace3.log
LastSession9_Trace4.log
LastSession9_Trace5.log
LastSession9_Trace6.log
LastSession9_Trace7.log
LastSession9_Trace8.log
LastSession9_Trace9.log
Traces are buffered and written to the files every ten seconds or if the size of trace exceeds 32Kbytes.
Trace.Log example
013/05/29,16:32:52.338,0,T,,0,,1,SV,Starting application ...
2013/05/29,16:32:52.341,0,T,,0,,1,SV,Loading Timer ...
2013/05/29,16:32:52.360,0,T,,0,,1,SV,Loading LAN ...
2013/05/29,16:32:52.381,0,T,,0,,1,SV,Loading Eqt ...
2013/05/29,16:32:52.395,0,T,,0,,1,SV,Loading Var ...
2013/05/29,16:32:52.442,0,T,,0,,1,SV,Loading Alarm ...
2013/05/29,16:32:52.456,0,T,,0,,1,SV,Loading AlarmList ...
2013/05/29,16:32:52.465,0,T,,0,,1,SV,Loading OPCSvr ...
2013/05/29,16:32:52.480,0,T,,0,,1,SV,Loading His ...
- 772 -
2013/05/29,16:32:52.497,0,T,,0,,1,SV,Loading CfgSvr ...
2013/05/29,16:32:52.660,0,T,,0,,1,SV,Loading MgrToolkit1 ...
2013/05/29,16:32:52.697,11,I,,16500,,1,Manager toolkit number 1, the user DLL [svmgrVarEnum.dl
2013/05/29,16:32:52.713,0,T,,0,,1,SV,Loading UI ...
2013/05/29,16:32:59.396,6,I,,17286,,1,Version is: 11 Dev [11.0.0.0 - 2013/05/24]
2013/05/29,16:32:59.396,6,I,,17294,,1,Project name is: Master5Eqts5kBit5kAla5kTrend5kAna
2013/05/29,16:32:59.396,6,I,,17288,,1,Full project path is: d:\hdg\projects\110\USR\Master5Eqt
2013/05/29,16:33:02.639,0,T,,0,,1,SV,Starting project in Timer ...
2013/05/29,16:33:02.640,0,T,,0,,1,SV,Starting project in LAN ...
2013/05/29,16:33:02.650,3,I,,17290,,1,The station name for this instance is: Serveur_1, statio
2013/05/29,16:33:03.681,3,W,,3072,,1,Client->server connection abort, Serveur_1_0C -> Serveur_
2013/05/29,16:33:03.683,3,I,,17170,,1,Local station is on in historical association HDSAssoc01
2013/05/29,16:33:03.684,0,T,,0,,1,SV,Starting project in Eqt ...
2013/05/29,16:33:03.685,4,I,,16300,,1,CW,Cimway 32 - Release 7.42
2013/05/29,16:33:03.804,4,I,,16304,,1,CW,Protocol : IpXbus - Release 4.37
2013/05/29,16:33:03.900,4,I,,1,,1,CIMWAY,Start,
2013/05/29,16:33:04.014,0,T,,0,,1,SV,Starting project in Var ...
2013/05/29,16:33:04.016,5,I,,5136,,1,Local station is on in association Assoc
2013/05/29,16:33:15.188,0,T,,0,,1,SV,Starting project in Alarm ...
2013/05/29,16:33:15.204,0,T,,0,,1,SV,Starting project in AlarmList ...
2013/05/29,16:33:15.215,0,T,,0,,1,SV,Starting project in OPCSvr ...
2013/05/29,16:33:15.223,0,T,,0,,1,SV,Starting project in His ...
2013/05/29,16:33:22.456,0,T,,0,,1,SV,Starting project in CfgSvr ...
2013/05/29,16:33:22.468,0,T,,0,,1,SV,Starting project in MgrToolkit1 ...
2013/05/29,16:33:22.479,11,I,,16510,,1,MgrToolkit1, StartProject of variable enumeration manag
2013/05/29,16:33:22.529,0,T,,0,,1,SV,Starting project in UI ...
2013/05/29,16:33:25.554,6,I,,1,,1,Key on, licence number=39352
2013/05/29,16:33:25.873,6,I,,1,,1,Evaluating programs
2013/05/29,16:33:40.138,4,I,,4510,,1,CW, status 6045 - 102 - 3 - 1, (1.XBUSIP.PLC1.INPUT_STATU
2013/05/29,16:33:52.182,4,I,,4510,,1,CW, status 6045 - 102 - 1 - 1, (1.XBUSIP.PLC4.OUTPUT_REGI
2013/05/29,16:33:55.191,4,I,,4510,,1,CW, status 6045 - 102 - 1 - 1, (1.XBUSIP.PLC5.OUTPUT_REGI
2013/05/29,16:33:57.773,6,I,,1,,1,Loading successfull
- 773 -
Other Log Files
MacroTrace.Log file
The MacroTrace.Log file contains a record of the Supervisor's major events. New events are appended to
the file providing a complete summary of the operation. The following events are recorded.
The maximum file size is configured by the Max size for MacroTrace log file setting in the Audit Diagnostics
settings. In the unlikely event that the file size is exceeded a backup, MacroTrace.bak.log, is created and a
new empty file started.
HDS.Log file
The HDS.Log file contains a record of events produced by the Historical Data Server. Each time the HDS is
started the previous HDS.Log is renamed to HDS1.Log. If HDS1.Log already exists, it is renamed to
HDS2.Log etc. The number of rotating file is nine. There is no limit on the size of the file.
Writing to the file takes place on each event.
OPCsrv.Log file
The OPCsrv.Log file contains a record of events, produced by the Supervisor's main program, dedicated to
OPC server activities. Each time the Supervisor is started, the previous OPCsvr.Log is renamed to OPCs-
vr1.Log. If OPCsvr1.Log already exists, it is renamed to OPCsvr2.Log etc. The number of rotating file is nine.
There is no limit on the size of the file.
Writing to the file takes place on each event.
SV32.Exceptions.Log file
The SV32.Exceptions.Log file is generated in the unlikely event of an erroneous exit by the Supervisor's
main program. It contains important diagnostic information when an exception occurs or a manager watch-
dog is detected. The information it contains can only be interpreted by your technical support agency and
you may be asked to provide the file when reporting a problem.
This file is not renamed on the start of the Supervisor unlike Trace.Log and so it will contain information
about all exceptions with the most recent at the end of the file. The maximum size is 10 Mbytes. If the size
exceeds this the file saved as SV32.Exception.Bak.Log and a new SV32.Exception.Log created.
- 774 -
Generating Additional Traces
Additional, specific, traces can be generated in the Event Viewer, and hence the Trace.Log file, using the
SCADA Basic instruction TRACE.
- 775 -
Use of traces can affect the Supervisor's performance. If you enable any of the optional traces, they
should be disabled once the issue has been diagnosed and resolved.
- 776 -
Third party products
- 777 -
Dream Report
See the help supplied with Dream Report.
- 778 -