0% found this document useful (0 votes)
186 views97 pages

ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description

Adroit Technical documentation

Uploaded by

Arkitect
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views97 pages

ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description

Adroit Technical documentation

Uploaded by

Arkitect
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 97

COPYRIGHT

Copyright © 2020 Advanced Worx 112 (Pty) Ltd. All rights reserved.

Information in this document is subject to change without notice. The software described in this document is furnished under a
license agreement or nondisclosure agreement. The software may be used or copied only in accordance with the terms of those
agreements. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or any means
electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the
written permission of Advanced Worx 112 (Pty) Ltd.

Advanced Worx 112 (Pty) Ltd


20 Waterford Office Park
189 Witkoppen Road (c/o Waterford Drive)
Fourways
South Africa

https://www.adroitscada.com

Version Date Author Comment Approval


1.0 06.11.2017 G Joyce Original D. Wibberley
2.0 22.05.2020 J. Duncan Update Cover and formatting D. Wibberley
3.0 29.06.2020 J. Duncan Update content and flow D. Wibberley
4.0 03.07.2020 D. Wibberley Edited D. Wibberley
5.0 08.07.2020 J. Duncan Added SDS, DBQuery Agent D. Wibberley
6.0 10.08.2020 D. Wibberley Edited D. Wibberley
7.0 11.08.2020 J. Duncan Format changes D. Wibberley
8.0 28.08.2020 J. Duncan Finalise D. Wibberley
9.0 24.09.2020 J. Duncan Update with Ignite images
10.0 29.09.2020 J. Duncan Update references to Ignite Server JM
11.0 16.01.2020 J. Duncan Update Menus & descriptions - Finalise JM
12.0 30.07.2021 J. Duncan Update Contents and cover

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|1
Contents
1. Overview ......................................................................................................................................... 5
1.1. Distributed Client-Server Architecture .......................................................................................... 5
1.2. Openness ................................................................................................................................ 5
1.3. Object Oriented and Context Driven Solutions ............................................................................... 5
1.4. Scalability ................................................................................................................................ 6
2. Main Components and Architecture ................................................................................................. 7
2.1. Data Layer .............................................................................................................................. 7
2.2. Middle Layer – The Ignite Server................................................................................................. 8
2.3. Presentation Layer – View Clients................................................................................................ 9
2.3.1. The Designer .........................................................................................................................................9
2.3.2. The Operator .........................................................................................................................................9
3. Agent Server (I/O Server) ..............................................................................................................10
4. Agents ............................................................................................................................................12
4.1. Overview - Agent Groups and Agent Types ................................................................................. 12
4.1.1. Naming Conventions ............................................................................................................................. 12
4.1.2. Agent Types Overview .......................................................................................................................... 15
4.1.3. Slots ................................................................................................................................................... 16
4.1.4. Data Elements ..................................................................................................................................... 17
4.1.5. Header Slots ........................................................................................................................................ 17
4.1.6. Status Bits ........................................................................................................................................... 18
4.2. Primitive Agent Types ............................................................................................................. 19
4.2.1. Boolean Agent ..................................................................................................................................... 19
4.2.2. Text Agent .......................................................................................................................................... 19
4.3. Basic Agent Types .................................................................................................................. 20
4.4. Basic Agent Types .................................................................................................................. 20
4.4.1. Analog Agent ....................................................................................................................................... 21
4.4.2. Counter Agent ..................................................................................................................................... 21
4.4.3. Digital Agent........................................................................................................................................ 22
4.4.4. Expression Agent.................................................................................................................................. 22
4.4.5. String Agent ........................................................................................................................................ 23
4.4.6. StringList Agent.................................................................................................................................... 24
4.4.7. Timer Agent ........................................................................................................................................ 24
4.5. Advanced Agent Types ............................................................................................................ 25
4.5.1. AgentGroup ......................................................................................................................................... 25
4.5.2. Alarm Agent ........................................................................................................................................ 25
4.5.3. AlarmList Agent.................................................................................................................................... 26
4.5.4. Command Agent .................................................................................................................................. 27
4.5.5. DBQuery Agent .................................................................................................................................... 27
4.5.6. DBLog Agent ....................................................................................................................................... 28
4.5.7. EventLogging Agent .............................................................................................................................. 28
4.5.8. EventOutput Agent ............................................................................................................................... 29
4.5.9. MultiMedia Agent.................................................................................................................................. 29
4.5.10. Notify Agent .................................................................................................................................... 30
4.5.11. Script Agent ..................................................................................................................................... 30
4.5.12. Shift Agent ...................................................................................................................................... 31
4.5.13. Statistical Agent ............................................................................................................................... 31
4.6. MIS/MES Agent Types ............................................................................................................. 32
4.6.1. Accumulator Agent ............................................................................................................................... 32
4.7. IT/IoT Agent Types ................................................................................................................ 33
4.7.1. The IoT Agent ..................................................................................................................................... 33
4.7.2. PerfMon Agent ..................................................................................................................................... 33
4.8. System Agent Types ............................................................................................................... 34
4.8.1. Alias Agent .......................................................................................................................................... 34
4.8.2. DataLog Agent ..................................................................................................................................... 34
4.8.3. Device Agent ....................................................................................................................................... 36
4.8.4. Other System Agent Types .................................................................................................................... 36

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|2
5. Ignite Server ..................................................................................................................................38
5.1. Datasources .......................................................................................................................... 38
5.2. Management ......................................................................................................................... 39
5.3. Projects ................................................................................................................................ 39
6. Designer .........................................................................................................................................40
6.1. The Home Menu:.................................................................................................................... 41
6.1.1. The Agent Configurator ......................................................................................................................... 42
6.2. The View Menu: ..................................................................................................................... 43
6.3. The SCADA Menu: .................................................................................................................. 45
6.4. The Configuration Menu: ......................................................................................................... 46
6.5. The Diagnostics & Tools Menu: ................................................................................................. 47
6.6. The Project Menu: .................................................................................................................. 48
6.7. The Design Menu: .................................................................................................................. 49
6.8. The Behaviors Menu: .............................................................................................................. 50
6.9. Shapes Wizards & Examples Menus ........................................................................................... 51
6.10. Graphic Form Toolbar.............................................................................................................. 52
6.10.1. Save Functions ................................................................................................................................. 52
6.10.2. Substitutions .................................................................................................................................... 52
6.10.3. Launch Script Editor .......................................................................................................................... 52
6.10.4. Design & Run................................................................................................................................... 52
6.10.5. Zoom .............................................................................................................................................. 53
6.10.6. Optimise Graphic Form ...................................................................................................................... 53
6.10.7. Statistics, Optimizations & Find and Replace ......................................................................................... 53
6.11. Enterprise Manager Menus ....................................................................................................... 54
6.11.1. Graphics Library ............................................................................................................................... 55
6.11.2. Navigation Templates ........................................................................................................................ 56
6.11.3. Wizards ........................................................................................................................................... 57
6.11.4. Templates ....................................................................................................................................... 58
6.12. Toolbox Menu ........................................................................................................................ 58
6.13. Contents, Properties and Context View Menus ............................................................................. 64
6.14. Designer Advanced Functionality ............................................................................................... 64
6.14.1. Spiders ........................................................................................................................................... 64
6.14.2. Scripting.......................................................................................................................................... 70
6.14.3. Object and Context Model .................................................................................................................. 73
7. Operator .........................................................................................................................................75
8. Mobility ..........................................................................................................................................76
8.1. Adroit Air Client ...................................................................................................................... 76
8.2. Performance Anywhere Client ................................................................................................... 77
8.3. Secure Mobile Gateway ........................................................................................................... 78
9. Security ..........................................................................................................................................79
9.1.1. Server Security .................................................................................................................................... 79
9.1.2. Allowed Users and Groups ..................................................................................................................... 80
9.1.3. Policies ............................................................................................................................................... 81
9.1.4. Datasource-specific Security................................................................................................................... 81
9.1.5. Client Security...................................................................................................................................... 83
10. Application Protocol Interface (API) ...............................................................................................85
10.1. Gateway to Performance.......................................................................................................... 85
10.1.1. Open Interfaces ............................................................................................................................... 85
10.2. Management Information and Reporting .................................................................................... 85
10.2.1. Report Suite..................................................................................................................................... 85
10.2.2. Report Pack ..................................................................................................................................... 87
10.2.3. Process Reports................................................................................................................................ 88
11. Utilities...........................................................................................................................................90
11.1. Adtech Licensing Utility............................................................................................................ 91
11.2. Agent Browser ....................................................................................................................... 91
11.3. OPC Browser ......................................................................................................................... 92

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|3
11.4. OPC Server............................................................................................................................ 92
11.5. Scanning Monitor.................................................................................................................... 92
11.6. Driver Monitor ........................................................................................................................ 93
11.7. Scheduler .............................................................................................................................. 94
11.8. Script Editor .......................................................................................................................... 95
12. Adroit Ignite HMI Documentation...................................................................................................96
13. Conclusion ......................................................................................................................................96

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|4
1. Overview
Adroit Ignite HMI is the product and result of the experience gained in supplying thousands of
Supervisory Control and Data Acquisition (SCADA) and Human Machine Interface (HMI), and other real-
time industrial software and information systems to customers in over 40 countries over a period of
more than 30 years.

It represents a combination of the key requirements for a Windows based secure, network and Internet-
centric software toolkit that can be readily be tailored to meet the needs of a wide range of applications
and industries. Simultaneously it still preserves a common basic underlying design approach.

1.1. Distributed Client-Server Architecture


Adroit Ignite HMI is a derivative of the Adroit Enterprise SCADA/HMI software. Designed for entry level
and small HMI projects. Adroit Ignite HMI is designed for OEM customers and Systems Integrators
wanting a well-priced scalable and easy to use HMI software, with virtually no limits.

That being said it can be, any Ignite project can be transported into an Adroit SCADA solution should
the size and complexity demand a more scalable solution. So no work will be lost going forward.

Adroit Ignite HMI may therefore be succinctly described as an open, portable, object-based set of process
automation tools and components, structured around the Windows DNA architecture, and hosted on
operating systems from the post Microsoft Windows operating system family.

1.2. Openness
Adroit Ignite HMI is a product with “Open Automation Technology” built into its core, that is realised
through the various open interfaces of both the Agent Server, Ignite Server and Operator components.

In a control system, users want data everywhere and all the time. With this in mind, the various open
interfaces, built on known software standards, mean every property of every object can be exposed to
3rd party applications and components running on computers anywhere that have secure access to a
suitably licenced Agent Server (I/O Server) or the Middleware Layer the Ignite Server.

Supporting Web-Services, OPC, OLE DB, SNMP, Scripting and other entry points makes Adroit Ignite HMI
into an ideal enterprise level shop-floor visualisation solution that will support any vision for a connected
enterprise.

1.3. Object Oriented and Context Driven Solutions


The real-world works in objects and the value lies in the context in which those objects are used. For
example, a pump is made up of various signals or attributes that define the pump and the way it operates
within a process. Real-time signals may include pump running, pressure, and flow signals. Fixed
attributes might include Manufacturer, Model, and Power Rating but equally valuable is the physical
context in which the pump has been deployed. A Plant, Process Area, Process Unit etc. as defined for
example within an ISA 88/95 standard.

In Adroit Ignite HMI it is possible to work in traditional “Tags” or you can configure your own templates
that include real time and static attributes. By creating a physical hierarchy for a process and deploying
instances of these templates within that hierarchy allows the Adroit Ignite HMI system to build all the
Agents, Scanning, Alarming required automatically and seamlessly as you configure your system.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|5
This allows for greater levels of standardisation; higher quality solutions and the result allows users to
search and filter for any objects by the static attributes assigned during engineering. Reaching all 22kW
pumps, made by Mitsubishi within the Main Process area is easy and intuitive, using the context view
control that can be simply dropped into an Adroit Ignite HMI configuration. Adroit Ignite HMI saves you
time and money on engineering and maintenance, a perfect choice for your SCADA / HMI.

1.4. Scalability
Adroit Ignite HMI is scalable – in that it is a seamless exercise to add more Agents to your solution or
add another view client. This requires a simple upgrade to the license. And you only pay the difference.

The Adroit Ignite HMI product is shipped in 4 flavours, namely.

• 8 Agents – Stand-Alone – Free


• 30 Agents – Stand-Alone or with up to 2 View Clients
• 75 Agents – Stand-Alone or with up to 2 View Clients
• 150 Agents – Stand-Alone or with up to 2 View Clients
• Thereafter you can convert to the standard Adroit SCADA/HMI Software

Adroit Ignite HMI


No of Agents 8, 30, 75, 150

Client Type No. of concurrent Client connections


❖ Designer ✓
❖ Operator ✓ Max no. = 2
❖ Performance Anywhere ✓ Max no. = 5
❖ Adroit Air ✓ Max no. = 5

Should you require to expand it is a seamless exercise to convert to the standard Adroit product that
then brings unlimited expansion and connectivity, along with the Adroit Active Clustering technology for
Agent Server redundancy.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|6
2. Main Components and Architecture

Figure 1 Adroit - Definition of Components

2.1. Data Layer


Adroit Ignite HMI offers users the unique ability to securely integrate both Real-Time and Transactional
data (Databases) and WebService data and even IoT data into a rich and functional user interface. This
is done through creating connections from the Ignite Server into the various Datasources that make up
the data layer.
Sources of Data can include:
• Agent Server (I/O Server)
• OLE DB Databases (external to Adroit Ignite HMI)
• Web Services
• IoT Endpoints (Azure, AWS, Google etc)

Figure 2 Layers

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|7
A more detailed description of each Datasource is described later however to summarise:
In Adroit Ignite HMI, the I/O Server part of this architecture is called an Agent Server. Being object
oriented, Adroit Ignite HMI does not deal in primitives but delivers value from the start through the
concept of intelligent objects called Agents. Agents are intelligent objects because, in addition to
containing "state" information, as do conventional database records, they also embody "behaviour". A
more detailed examination of the implications and meaning of this is presented under the sub-heading
Agents later in this document.

Adroit Ignite HMI is shipped with many of the Agents required to build the most comprehensive solution.
This is not only simple data acquisition but the value add capability of MIS/MES Agents shipped as
standard.

Figure 3 Typical Analog Agent

The Agent Server is responsible housing the Agents and for scanning data, pre-processing, logging and
alarming and interacting with external systems such as databases and third-party applications wishing
to use the data available from the plant. Other sources of data can be included in an Adroit Ignite HMI
system and include data from Web-Services, OLE DB databases, IoT platforms etc.

2.2. Middle Layer – The Ignite Server


The Ignite Server is responsible for managing access to the data layer, graphic forms, and management
of user profiles governing access rights etc.

The Ignite Server is the middle-layer that brings all the available datasources into a unified data model
for use within a project. It is a data portal which exposes data from a number of disparate datasources,
both external and internal to it. The data sources included as standard are one Agent Server data source,
multiple databases, web services multiple Windows event sources.

In the Ignite Server you can add different datasources, configure profiles, security and create, edit and
delete graphic projects.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|8
2.3. Presentation Layer – View Clients

2.3.1. The Designer


The Designer application is the entry point into building any Adroit Ignite HMI software. A secure log-on
and rights applied allows users to manage what capability and user or group of users has on the system.
In addition, the Designer is the engineering environment in which users create access to data, manage
users and groups and build graphic forms to be displayed in the Operator.

Figure 4 Designer

The graphical plant display windows within the Operator are themselves composed from objects, in this
case display objects known as picture elements. In addition to state information, such as size, location,
colour, etc., display objects may also be configured to have a wide variety of animation behaviours. By
connecting presentation layer animation behaviours to plant values represented by Agents within an
Agent Server. Many different animated display effects can be configured that, in real-time, depict your
plant in exactly the way that you require. These will be described in detail later, but the graphic shows
a “Percentage Fill” behaviour being used to display the filling of a picture elements based on the value
of a Tag.

2.3.2. The Operator


The Operator is Internet-enabled and built on top of the Microsoft .Net framework allowing for greater
flexibility and more custom programming functionality, but with no compromise to security.

Figure 5 Operator – Display Example


____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description Page|9
3. Agent Server (I/O Server)
The Agent Server, in automation terms is also known as the real-time I/O server. It is essentially a
collection or repository of intelligent objects known as Agents. It is important to understand that most
HMI systems talk of Tags but the object architecture of Adroit Ignite HMI adds a layer of intelligence to
this legacy approach.

Agents are called “Agents” because, instead of only containing data like simple database records or Tags
as used by many other vendors, they also usually contain the ability to operate or act on their own data,
driving its values and to read and write to other objects, and so influence them. Making Adroit Ignite
HMI very flexible to the user.

Agents are classified by function into a number of Agent types which can be used to implement a wide
variety of system related, as well as application-specific tasks. For example, the Analog Agent type is
used to handle the signal conditioning and alarm checking requirements of a process variable, and results
in over 32 available “Tags” in Adroit Ignite HMI. Every one of those Tags can be used in other Agents
Slots or displayed or interacted with on the User Interface.

For each Agent type there may be zero, one or many Agent instances, (Tags). Each time you add a Tag
you are creating a new Agent instance, however, Agent instances are simply referred to as Agents,
whereas the Agent + Attribute is to Adroit Ignite HMI a Tag.
An example would be below where the Agent Name is _SAMPLEANALOGUE, a slot example would be
_SAMPLEANALOGUE.rawvalue and the scaled value would be the final result and is held in the
_SAMPLEANALOGUE.value slot of the Agent.

Figure 6 Analog Agent, Attribute and Tags

Agent Servers provide consistent mechanisms for creating and destroying Agents and efficient means of
accessing the information contained within them. There are also no practical limits to the number of
different Agents, nor indeed types of Agents, that can be contained within an Agent Server.

Adroit Ignite HMI is sold where the license is the number of Agents you wish to use in your solution, not
the number of I/O being scanned from a PLC.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 10
The Agent Server database or .WGP file stores almost all of the data and configuration of the Agent
Server, including the added Agents, their values and their alarming, logging and scanning configuration.
Configuration of the Agent Server is done on-line and live and, for this reason, it is essential that this
file, along with the other Adroit Ignite HMI project files, be frequently backed up to ensure that the
integrity of this data is preserved.

.WGP files provide the following two additional features to assist with their regular back up:
• Automatic backup of WGP file on each save: To further ensure that changes made to the WGP
file are safeguarded between the regular backups, WGP files can now be automatically backed
up each time they are saved.
• Version information saved in the WGP file: In addition to providing an audit trail of changes
for debugging and troubleshooting purposes, this versioning information can also be used to
assist in locating the required backup file when recovering lost changes.

Figure 7 Alarming - Setting Alarm Limits

Agent Servers allow clients to connect to them by using TCP sockets over and above the legacy named
pipes:
• Sockets give you better performance when a remote client (running on another computer),
connects to an Agent Server.
• Named pipes give you better performance when a local client (running on the same computer),
connects to an Agent Server.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 11
4. Agents
4.1. Overview - Agent Groups and Agent Types

4.1.1. Naming Conventions


Property Naming Convention Description Example

Agent Object type Intelligent Adroit object type Analog, Digital, Counter etc

Tag name.slot Property of an Agent ADT_JU_MX_MIX_TNK_LVL.value

A Data Element is built up


using the name of the
datasources. Each source of
Data
source.type.name.slot data requires a datasource Adroit.Analog.ADT_JU_MX_MIX_TNK_LVL.value
Element plugin before it can be
associated with the Ignite
Server.

Each Agent (instance of an Agent type) is referred to by its own unique name therefore Adroit will not
permit an Agent name to be used twice within an Agent Server. Usually this name is defined by the user
when the Agent is created, however, some Agents are created by Adroit itself in which case a name is
usually automatically generated.

In Adroit a Tag means “AgentName.slotName”. It will be seen during the course that any slot of any
Agent can be accessed, its data displayed or edited, provided that the Adroit naming convention is
adhered to.
When naming Agents, Adroit will not accept lower case characters, spaces, $ or % signs, commas,
periods, or backslashes in the name.

Therefore, in order to make the name of an Agent read to make sense, the _ (underscore) is used to
separate words into something readable.

Agent names should be, especially on distributed systems, unique and not longer than 32 characters.
Duplicate Agent names are only permitted in distributed Agent Servers used in Active Clustering (Hot
Standby and Redundancy) configurations.

Adroit Ignite HMI configurations are made up of one or more collections of intelligent, cooperating objects
known as Agents. An Agent is said to be "intelligent" because, in addition to containing "state"
information as would a conventional database "record" or "structure", it also embodies "action".

Consider for a moment the Analog Agent type. Each Analog Agent contains, amongst other things, the
following data values, also often referred to as attributes, slots, or properties depending on your
preferred terminology.

Here is a dialogue box representing an Analog Agent.


As you can see the name of the Agent is BAT-01-MIX-01-TEM and the slots are the attributes of the
Agent.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 12
Figure 8 Analog Agent

Value Description
rawValue used to hold the raw or unconditioned value read-in from a front end device
rawMin device minimum value
rawMax device maximum value
engMin engineering, i.e. conditioned or scaled, minimum value
engMax engineering, i.e. conditioned or scaled, maximum value
value conditioned or scaled value of the Analog

The Agent's "state" at any instant in time, is the collective value of these, and any other attributes.
Because our Agent is of type Analog, it has the inherent knowledge to transform any value coming into
its rawValue slot into a scaled or conditioned value for its value slot, using the rawMin, rawMax, engMin,
and engMax scaling parameters.

An Agent's "state" can therefore be defined as the collective value of all its data attributes at an instant
in time, and its "action" can be defined as the collection of expectations as to how it will respond to
externally generated stimuli, such as, for example, a change to one or more of its data attributes.

Agents have both generic and type-specific action and attributes. Generic action and attributes is
something that all types of Agents possess, whereas type-specific action and attributes, as the name
suggests, is something that pertains only to Agents of the specific type.

Some of the generic actions possessed by all Agent types are, for example, the ability to create, destroy,
save, and load instances. Examples of generic attributes are name, description, status, etc. The above
partial description of an Analog Agent highlights some of the type-specific action and attributes of the
Analog Agent type.

As will be explained in more detail later, Adroit Ignite HMI makes use of different Agent types to
implement a wide variety of system related, as well as application-specific tasks. The benefit of
implementing everything as Agents in Adroit Ignite HMI is that the standard mechanisms developed for
displaying, scanning, logging, alarming, eventing, etc., of process values can also be used to monitor
and control Adroit Ignite HMI itself. This has proved to be of enormous benefit from an adaptability and
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 13
flexibility point of view and will continue to pay dividends as Adroit Ignite HMI continues to evolve in the
future.

One of the generic Agent attributes is a 32-bit status word that is used by the Agent to store binary
information about its state. The first 16 bits of this word are common to all Agent types (i.e., Agent Bad,
Log Inhibit, etc.), while the last 16 bits are type-specific, for instance the Analog Agent uses the first
type-specific bit to indicate a Low Alarm condition.

It is also critical to understand that any Tag (Agent+Slot) can be in itself, scanned, alarmed, and logged
which makes Adroit Ignite HMI an incredibly powerful platform for any application. In real life this means
that, by way of example that the Analog Alarm limits could be scanned to PLC addresses without having
to create another Tag as often required in competitive HMI products, saving time and license costs.

The Adroit product has been expanded over the years to solve many problems facing the modern control
engineer. With this in mind we have classified Agent types into 6 different groups:
• Primitive Agent types
• Basic Agent types
• Advanced Agent types
• MES/MIS/IoT Agent types
• IT Agent types
• System Agent types
The reason for this is to de-clutter and focus the available functional Agent Types for the user.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 14
4.1.2. Agent Types Overview
An Agent is the basis and the building block of Adroit residing within the Agent Server. Agents do not
only store data, but also have intelligence in that they know how to manipulate that data. An Agent
therefore contains data and the operations with which to manipulate it.

Primitive:
These Agent types are primitive because they offer limited value and are limited in functionality
when compared to the Basic Agents, they are essentially single value containers.
Boolean, Text.
IMPORTANT: These Agent types CANNOT be alarmed, and their values are not scaled etc, so use the Basic Agent
types instead to represent your process values.

Basic:
These Agent types form the basic building blocks of a system and are used for gathering, handling
and processing data to and from the physical external world.
Analog, Counter, Date, Digital, Expression, String, StringList, Timer.

Advanced:
These Agent types provide powerful SCADA and integration functionality that allow the Basic
Agents to be alarmed and logged to databases and provides various means of reporting and/or
controlling their values.
AgentGroup, Alarm, AlarmList, Command, DBLog, DBQuery, EventLog, EventOutput,
MultiMedia, Notify, Script, Shift, Statistical Agent.

MIS/MES:
These are very specific and usually quite complex Agent types used to do monitor, control and
solve higher level shop-floor and general industrial challenges.
Accumulator.

IT/IoT:
These Agent types facilitate the integration and management of SCADA and IT.
IoT, Perfmon.

System:
These Agent types are used internally to perform certain SCADA and other specific functions.
Note: Instances of these Agents are created automatically and cannot be added manually by the
user.
Alias, Beeper, DataLog, Device, Hasp, Proxy, Scan, SystemInformation.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 15
4.1.3. Slots
All and any data within an Agent is accessible to other Agents in the Agent Server. This data is accessed
in properties of the Agent called Slots. Each slot has a unique name so that when referring to a particular
slot within an Agent, the notation AgentName.slotName is used. This is essentially what many other
SCADA products refer to as Tags.

A slot is that part of the internal structure of an Agent that contains data. It may vary from a bit to a
variable length text.

Figure 9 Slots Explanation and Types

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 16
4.1.4. Data Elements
The Ignite Server is a "data portal" which integrates data from a number of disparate sources. Each
source of data requires a datasource plugin before it can be associated with the Ignite Server. This
provides the ability to expose its data as Data Elements to the Server and, if necessary, provides special
functions or methods to further interact with its data.

A Data Element is built up using the name of the datasources.


For example to read the value of an analog called ADT_JU_MX_MIX_TNK_LVL, it would be addressed in
the following manner:

Adroit.Analog.ADT_JU_MX_MIX_TNK_LVL.value
where:
Property Description

Adroit the name of the Agent Server Datasource.

Analog the Agent Group that the Agent belongs to.

ADT_JU_MX_MIX_TNK_LVL the Agent Name.

value the Slot of the Agent being displayed/addressed

4.1.5. Header Slots


Every Agent has header slots that are split into three sections. All header slots on all Agents are identical
although the meanings of the last 16 bits depend on the type of Agent. The three sections contain data
referring to: the name, description and priority, 16 common status bits and 16 specific status bits

Figure 10 Header Slots

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 17
4.1.6. Status Bits
This status slots are contained in a 32-bit word containing configuration and run-time status information
about the Agent. Each bit of this 32-bit word is also exposed as a slot, allowing up to 32 status flags to
be accessed at any time. The overall status of an Agent can be determined from its status slot, which is
a header or generic slot and so is common to all Agent types.

Figure 11 Status Bits

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 18
4.2. Primitive Agent Types
Primitive Agents are used for gathering, handling and processing data to and from the physical external
world, however they offer limited value add and are limited in functionality when compared to even the
Basic Agents.
• The Boolean and Text Agent types make up this group. They are essentially single value
containers and can’t be alarmed, data can be scanned in from or out to external devices.

4.2.1. Boolean Agent


A Boolean Agent will hold a Boolean value (0 or 1)

4.2.2. Text Agent


One of the simplest types of Agent is the Text Agent, which stores a 79-character text string that can
be defined at start-up, and then updated on request. A text string may also be specified as a cold start
value.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 19
4.3. Basic Agent Types
Basic Agents are used for gathering, handling and processing data to and from the physical external
world. Together these form the basic building blocks of a system. For instance:
• the Analog and Digital Agent types perform some conditioning or conversion process on
data normally scanned in from or out to external devices.
• The Counter Agent type performs the counting and averaging of discrete values.
• The String, StringList Agent type provides a means of indexing text.
• The Expression and Timer Agent types order and transform information for calculation
and control purposes.
• The Date Agent type holds time and date information broken down into the year, month,
day, hour, minute, second and millisecond constituents.
The most useful Basic Agents are described below and are listed in Alphabetical order.

4.4. Basic Agent Types


Basic Agents are used for gathering, handling and processing data to and from the physical external
world. Together these form the basic building blocks of a system. For instance:
• the Analog and Digital Agent types perform some conditioning or conversion process on data
normally scanned in from or out to external devices.
• The Counter Agent type performs the counting and averaging of discrete values.
• The String, StringList Agent type provides a means of indexing text.
• The Expression and Timer Agent types order and transform information for calculation and
control purposes.
• The Date Agent type holds time and date information broken down into the year, month, day,
hour, minute, second and millisecond constituents.

The most useful Basic Agents are described below and are listed in Alphabetical order.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 20
4.4.1. Analog Agent

An Analog Agent stores a floating-point


value that has been scaled according to
user defined scaling parameters. This
scaled value is checked by the Agent
against the low-low, low, high, high-high
and rate-of-change alarm settings. Any
infringement of the alarm limits causes
the Agent to set the appropriate bits in its
status word.

Square root extraction for the


linearization of flow signals, alarm
deadband settings and cold-start
initialization options are also settable by
the user. Analog Agents provide a
change monitoring feature which if
enabled, logs an event and sets the
Changed status bit when the value slots
changes.

Figure 12 Analog Agent

4.4.2. Counter Agent


A Counter Agent is a simple counter and average calculator which takes data from any other Agent’s
Boolean (on/off) slots and calculates the time spent on and the time spent off, counts the number of on
and off events, and totalizes the on
and off time. Each of these values can
be individually alarmed (by clicking
the Alarms… button). This allows
you, for example, to generate an
event when a motor has started more
than a required number of times.

This Agent is particularly useful for


monitoring production lines, counts in
a line, asset management. An
example might be a Pump Running
Signal as the digital input to drive the
Agent, a setpoint of the number of run
hours and an Alarm generated once
that setpoint has been reached. All
done within a single intelligent object,
no complex PLC coding to achieve
this.
Figure 13 Counter Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 21
4.4.3. Digital Agent

A Digital Agent stores a digital (ON/OFF) value as


well as the text descriptions for each of the two
discrete states. Value inversion, cold-start
initialization, alarm infringement checking and a
pulsed output option are provided.

With the pulsed output option enabled, the Agent


maintains its ON state until a configurable delay has
elapsed. As the pulsed output option is applied to
the scaled value, inverting the value inverts the
effect of the pulsed output. Digital Agents provide a
change monitoring feature which, if enabled, logs
an event and sets the Changed status bit when the
value slots changes.

Figure 14 Digital Agent

4.4.4. Expression Agent


The Expression Agent type is an extremely powerful mechanism for implementing user-defined
calculations. These calculations can be used for a number of purposes.
Some of the more obvious uses are:
• For constructing control strategies by combining and connecting expressions into arbitrarily complex
networks, and for scanning out one or more of the resulting values;
• For enabling or
disabling of alarming;
• For enabling logging on
a section of plant when
a process value
exceeds a certain
threshold;
• For creating
sophisticated animation
effects by linking the
output of an expression
to a display object
animation behaviour;
and
• For creating relatively
simple plant
simulations by
connecting a network
of expressions
together.

Figure 15 Typical application where an Expression Agent can be used

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 22
Each expression Agent can contain up to 20 input variables, each of which can be sourced from any
other Agent attribute or directly from a front-end device. For complex calculations, expression Agents
can be interconnected with the result of one expression becoming an input to the next.

The expression slot contains the


actual mathematical ex3pression to
be evaluated. To make the
expression readable, any number of
new lines or spaces are permitted.
The expression syntax supported is
that of a full ANSI-C expression
(i.e., not a partial subset), including
sub-expressions nested to an
arbitrary depth, conditional
operators, bit wise operators,
logical operators, relational
operators, unary operators, etc., as
well as a comprehensive suite of
mathematical functions.

The use of variable input names V1,


V2, etc., are used in the expression
Figure 16 Expression Agent so that it is generic. For example,
by associating different Agent.slot
combinations with the input variable definitions, an expression Agent can be reused in many different
contexts without changing the actual expression. An expression can be configured to evaluate either
continuously, or on receipt of a trigger pulse (the default). By connecting an expression's trigger input
to another Agent slot that changes periodically it is possible to cause periodic evaluation of the
expression.

Alternatively, the trigger can be connected to some other input, possibly common to a number of other
expressions, which may be used to constrain the group of expressions to evaluate, for example, only
when data is valid.

4.4.5. String Agent


The String Agent provides a repository for text. It can hold up to 79 characters.

Figure 17 String Agent


____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 23
4.4.6. StringList Agent

The StringList Agent can store any number


of character strings of variable length.
These character strings are indexed and
the current string being pointed to by the
index is duplicated in the value field.

Function – Where a number in a PLC


represents a state of a process. The value
of the number in the Agent then presents
the text relating to its index value. In this
example a value of 2 in the PLC would then
display “Starting” on the Operator screen.

This makes this common feature extremely


easy to implement in an Adroit system.
Figure 18 StringList Agent

4.4.7. Timer Agent


The Timer Agent is able to perform several
commonly used timing operations, which
previously could only be inefficiently
accomplished by using expressions and scripts.

This Agent also provides a Boolean value slot as


an output, which is enabled (set to TRUE) and
disabled (set to FALSE) by the Agent, depending
upon its current mode of operation.

This slot can therefore be used to enable or


disable or schedule other Agents.

Figure 19 Timer Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 24
4.5. Advanced Agent Types
These provide the powerful SCADA and integration functionality which allows the basic Agents described
above to be flexibly grouped, scripted and routed to external databases, as well as presenting related
information to the user in event logs, etc. The most important advanced Agents are described below.
• The AgentGroup, Alarm, AlarmList, Command, DBLog, DBQuery, EventLog, EventOutput,
MultiMedia, Notify, Script, Shift, Statistical Agent types make up this group

4.5.1. AgentGroup
Agents that are considered to have something in common can be grouped together by means of
AgentGroup Agents. For instance, all Agents of type Analog can be grouped in an Agent group called
ANALOGS, and all Agents belonging to the North Plant of a process plant would be grouped in the
NORTH_PLANT Agent group. AgentGroups can, and usually do, have overlapping memberships.

By collecting Agents together in Agent groups, any changes made to certain AgentGroup status bits will
affect the status bits of all Agents in that group. As an example, consider the situation when part of a
plant (say the North Plant) is shut down for routine maintenance, and it is required to disable scanning
of all Agents belonging to this plant section. By setting the Scan Inhibit bit for the NORTH_PLANT
AgentGroup Agent, the Scan Inhibit bits would be set for all the Agents that belong to the North Plant.

4.5.2. Alarm Agent


In Adroit Ignite HMI, incidents (alarms or events)
are handled by Alarm Agents, which control the
presentation and routing of the alarm events.
Typically, each Agent Server is configured to
contain an alarm Agent that routes the incidents to
one or more alarm lists, output devices, audio
devices and event logs.

The flexibility in configuring alarms allows the user


total freedom in formulating an alarm strategy.
Users may create as many alarm types as needed,
which are the conditions or states of each Agent
that you need to alarm. Any status bit that is set
by an Agent can be used for alarming that Agent.
In this way, the criteria for what constitutes an
alarm condition can be left up to an Agent to
decide. This is why alarming is Agent type-specific.

An incident is associated with a routing path, an


Figure 20 Alarm Agent alarm name and an acknowledgment option.

Each alarm type can report the status of any number of applicable slots. Taking an Analog Agent as an
example, the type High can be configured to report the values contained in the value, high alarm limit
and units’ slots to the alarm list. The entry in the alarm list will then show the occurrence of the alarm
event together with the actual value of the Agent, the engineering units and the associated high alarm
limits.
You can configure alarm types directly from the Alarming dialog and specify the Priority of each incident
(Current alarm type), in addition to assigning an Agent-specific priority. So, in the case of an Analog
Agent the HighHigh incident can have a higher priority than the High incident, etc. Typically, you

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 25
prioritize your incidents to ensure that your operators ONLY receive IMPORTANT alarms since some
alarms are critical, whereas others are more informational in nature.

You can also configure a Delay (secs) for each incident (Current alarm type). Typically, this is added
to delay an active incident from entering the alarm system to prevent intermittent alarms from flooding
your alarm system or to ensure that this alarm is raised when the operator needs to respond to it.

Do Conditional expression to ensure that each incident is unique and does not duplicate existing
active incidents. In this way you can implement first-up alarming, which disregards the incidents that
echo existing problems, so that your operators can focus on the real issues at hand.

It is also possible to do Alarm shelving, commonly used in areas where maintenance is being carried out
and the user does not want false data making its way into the Alarm Management Reports.

If necessary, you can temporarily suspend the alarming of an incident for a predefined period of time,
using the Inhibited until option.

This option should be used when an alarm indicator may be malfunctioning or may need to be repaired
or replaced or in situations when you need to disable ALL the alarms of a particular item of equipment
and you cannot disable the alarming of an Alarm Agent.

4.5.3. AlarmList Agent

AlarmList Agents are the middle ground between


Operator and server-side alarming capabilities in
that they act as routing destinations for Alarm
Agents and data sources for Alarm List Viewers,
used on graphic forms.

Figure 21 AlarmList Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 26
4.5.4. Command Agent
Command Agents can both send and
receive SMS messages via a SMS GSM
modem. SMS messages can be sent to a
single recipient either manually or
automatically, e.g., to remotely monitor
the status of important process values.
Sent SMS messages can also be
monitored for auditing purposes and if
they are not received and/or responded
to within a specified period, can also be
sent via another Command Agent to
another recipient.

However, the name of this Agent is


derived from its ability to receive SMS
messages or textual commands from one
or more callers that it can perform to
remotely configure Adroit Ignite HMI, for Figure 22 Command Agent
instance, by acknowledging alarms,
setting process values, etc. In this way it is possible to remotely supervise and, if necessary, control
your process.

Command Agents bypass the scanning subsystem by using a device of this new GSM_SMS driver directly.
This means that instead of being restricted to only 79 characters, the full 160-character SMS message
length can be utilized, both when sending and receiving SMS messages.

4.5.5. DBQuery Agent


The latest enhancement to this technology is the
DBQuery Agent that allows the user to execute queries
on a database that return a single record that would be
available as the .value slot of the Agent.

Where the DBLog Agent is designed to easily perform


INSERT transactions, the DBQuery Agent is designed
to easily perform SELECT transactions on a database -
however the DBQuery Agent can be configured to
perform any SQL Query transaction on a database
using the custom query option.

The Agent can be configured to be run manually,


triggered from a Tag or periodically.

Figure 23 DBQuery Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 27
4.5.6. DBLog Agent
This Agent is a bulk OLE DB logging Agent for typically logging Analog and/or Digital values to a specific
table in a database for later retrieval. In other words,
instead of logging each Analog and/or Digital value
separately, you can simply specify a list of Tags to log
and either export/import this list from a file or browse in
this list individually in the required DBLog Agent.
This Agent also provides:
• A Logging method list box to select the
required methods for specifying when and how
the listed Tags are logged.
• A String logging checkbox (the BOOLEAN
strLog slot), which when enabled logs the Tag
values as Strings and not numeric values; this
also allows you to log other string slots (this
will log the first 79 characters).
• A Housekeeping section to specify how long,
in days, that you want to store your logged
Tags. This depends upon the storage capacity
you have available for your database and how
useful this data becomes to you the older it
gets.
• A method of dealing with a problematic
connection to the specified database (if the
connection is lost) or when this Agent is
logging a large number of Tags frequently so Figure 24 DBLog Agent
that it becomes overworked.

4.5.7. EventLogging Agent


Adroit Ignite HMI event logging is handled by Eventlogging Agents that use the standard Windows based
Operating System functions for storage but supplement these facilities for retrieval and display. The
number of logged events is limited only by disk space, or the user can limit the number by setting a
fixed length file. With a fixed-length file older events are overwritten. Events can be directed to event
log Agents anywhere on the network.

The scope of these events are extensive, including alarm


events, control events and system events: alarm events
are caused by Agents going into alarm, being
acknowledged and cleared; control events are
generated by any operator control action (e.g., opening
or closing a valve, changing the set point of a process
controller, etc.). The operator logging on or off, a start-
up and shutdown of the control system, printer out of
paper, communication failures or configuration activities
(adding, deleting or modification of Agents), etc., are
examples of system events.

This Agent can log events to an OLE DB compatible


database such as MS Access or MS SQL.

Figure 25 EventLogging Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 28
4.5.8. EventOutput Agent
The EventOutput Agent directs event log messages to output devices (printers, serial ports and parallel
ports), and to SQL compliant databases.

To cater for the various output devices, EventOutput Agents accept a variety of user configurable general
fields that are used for the layout and format of the data, and the device specific information.

Figure 26 EventOutput Agent

Output of data to the device will depend on the triggering criteria selected: on demand, line at a time
as the event occurs, only after x lines, based on time criteria or as a combination of the above.

4.5.9. MultiMedia Agent


A Multimedia Agent can be used to play .WAV, .MID and .AVI multimedia files to create special audio
and/or video effects on a multimedia workstation.

Figure 27 MultiMedia Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 29
4.5.10. Notify Agent
The Notify Agent allows alarms to be routed directly to a designated person, using:
• A pager service;
• A mobile phone using the Short Message Service (SMS); and
• An email address.
The alarm message to be transmitted can be configured to include up to 15 fields (Action, Agent, Alarm
Type, Category, Computer, Date, Description,
Event ID, Extra Data, Filter Group, Priority,
Reported Data, Source, Sub-Source and Time),
and custom messages can be sent on demand by
the operator.

The Notify Agent can now transmit alarms by email


to the required recipients by using the Email driver.

This is in addition to transmitting alarms as text


messages via cellular phone Short Message Service
(SMS) or a paging service directly to a designated
person.
Figure 28 Notify Agent

The Body and/or Subject line of these automatically sent email messages can contain text macros that
are parsed to before the message is sent.

In addition to automatically sending alarms as email messages, the Notify Agent can also be configured
to allow your operators to manually send email messages via an appropriately configured mimic or
graphic form.

4.5.11. Script Agent


Adroit Ignite HMI Script Agent provides a basic scripting language allowing users of Adroit Ignite HMI to
automate complex or repetitive tasks. Two scripting languages are supported – Visual Basic (VBScript)
and Java (Jscript) – both allowing users to define their own subroutines and functions and pass data to
other applications using OLE Automation.

A script may be employed to perform simple


scheduled tasks. The Script Agent can be executed
on demand, by scheduling, triggering and by using
a combination of triggering and scheduling.

A number of functions are supported to allow


interaction with Agents within an Adroit Ignite HMI
system and include but are not limited to GetTag,
SetTag, and TriggerValue allowing complex
calculations to be carried out programmatically.

Figure 29 Script Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 30
4.5.12. Shift Agent
Various Agents in Adroit Ignite HMI require knowledge of the current shift number. Instead of
configuring the shift pattern information
into each instance of these Agents, you
can instead configure these shift patterns
globally, in a Shift Agent, for use by any
interested Agents.

The value slot of the Shift Agent should


also be scanned and output enabled to
any PLCs that perform any shift-end
functions, such as resetting shift count
accumulators.

Figure 30 Shift Agent

The Shift Agent continually monitors the current time and checks it against the configured shift pattern
to determine the current shift number. If NO matching shift pattern is found, the shift value is set to 0.

4.5.13. Statistical Agent


A statistical Agent provides the basic
functionality for a User to build a
statistical process control strategy using
its built-in data collection method and by
linking the Agent to other Adroit Ignite
HMI Agents.

The method of data sampling offered by


the statistical Agent is called streaming,
whereby all the collected input values
are placed in one sample for analysis.

Each input value may be collected on an


event basis. The statistical Agent
calculates maximum, minimum,
average, standard deviation, total and
rate for all the values collected.

Figure 31 Statistical Agent

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 31
4.6. MIS/MES Agent Types
These Agents are the building blocks around getting more from your Adroit Ignite HMI system. They are
very specific and usually quite complex Agents used to do monitor, control and solve higher level shop-
floor and general industrial challenges.
4.6.1. Accumulator Agent
An Accumulator Agent gets its name from the type of
process value that it operates upon and NOT from what
it actually does. Since an Accumulator Agent requires as
an input a value that accumulates over time in other
words which simply gets bigger and bigger, which the
Accumulator Agent uses to calculate the difference in
value (or delta) between successive events or over a
specific time period (interval).

This Agent calculates the total for a period based on a


predefined trigger or time interval. When such an event
occurs:

• the Agent subtracts the previous interval input


value from the current input value to determine
the value differential for the current period, which
represents for example the total production for
the last hour or shift or day etc.

• the Agent calculates the rate of change in value,


which is this differential value for the current
period divided by the interval of this period (value
per hour).

In order to maintain a history of these periodic


counts/totals, you need to connect this Accumulator
Agent to a MS SQL database. Each record specifies the
start and end times of the period and its start and end
values and the differential value for this period. If you
want to provide the automatic management of this
data, then a housekeeping period can be defined to
ensure that only the most relevant (most recent)
records are kept.

You can also configure alarm limits for both the


(differential) value and rate of change in value for the
current period, which will be used to monitor the
Figure 32 Accumulator Agent
current value and/or rate against these alarm limits:
low-low, low, high and high-high. Any infringement of
these alarm limits causes the Agent to set its corresponding status bit, which can be alarmed.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 32
4.7. IT/IoT Agent Types
These Agents are the building blocks around integration and management of SCADA and IT and are
summarised here and the available Agents are described in more detail below.

4.7.1. The IoT Agent

The IoT Agent has been officially


incorporated for use with IOT type
devices such as Sigfox etc.
The mechanism was revised to allow
new IOT type Agents to be created
based on templates from the config
editor.
A number of templates are shipped
with the base product but this will
expand over time and can be
customised based on each user's
needs.

Figure 33 IoT Agent

4.7.2. PerfMon Agent


The PerfMon Agent is used to
monitor Windows Performance
counters, which belong to
performance objects such as
the Agent Server, Processor,
Memory and others. These
counters facilitate the
monitoring of the computer’s
performance and assist in
detecting performance
bottlenecks that could
adversely affect the
functioning of Adroit Ignite
HMI.

The values of these counters


Figure 34 PerfMon Agent are updated every second and
can also be assigned other
Adroit Ignite HMI Tags, such as Analog Tags, which can then be appropriately alarmed. Up to 16
performance counters can be monitored per Agent.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 33
4.8. System Agent Types
System Agents are used internally by Adroit Ignite HMI to perform certain SCADA and other specific
functions. Instances of these Agents are created automatically and cannot be added manually by the
user.
• The Alias, Beeper, DataLog, Device, Hasp, Proxy, Scan and SystemInformation Agent types
make up this group.

4.8.1. Alias Agent


Alias Agents are the fundamental indirect scanning mechanisms in
Adroit Ignite HMI. They act as a references or pointers to other
Agents in the system.

As a reference to the Agent it is aliasing, the Alias Agent has the


same behaviour and state information but differs only in identity.

4.8.2. DataLog Agent Figure 35 Alias Agent


Adroit Ignite HMI provides extensive historical logging facilities,
either by using the proprietary data logging facility or by
specifying the required OLE DB compliant database to log the
data.

If this latter method is used, one can specify which table is


used for logging this data.
Any attribute of any Agent can be configured to have its values
historically logged.

Logging can take place either to native Adroit Ignite HMI binary
files or to any ADO datasource (SQL Server, Oracle, MS Access,
etc.).
When logged, the values are time stamped and are made
available via a DataLog Agent, to any client such as historical
trends, reports, external spread sheets, etc.

Select the Enable CSV backups option to ensure that the


logged data is backed up into multiple .CSV files for long-term
storage.
Figure 36 DataLog Agent

Select the Advanced… button to configure ALL the global settings that affect the operation of the data
logging subsystem.

Historical values are stored in a central file, with each DataLog Agent "owning" a defined portion of the
file. The total amount of disk space required for data logging depends on the total number of values
logged, as well as the rate at which and period for which each value is logged.
The following formula can be used to calculate disk file sizes:

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 34
Description Formula
Index file size (bytes) = 8 + (56 * number of logged values)
Raw buffer size (bytes) = 20 * (Period/Rate) rounded up to next multiple of 8
Raw file size (bytes) =  Raw buffer sizes
Total disk space = Index file size + Raw file size

By default historical logging is an event-based function; in other words values are only logged when they
change and only then if the amount of change exceeds the value deadband parameter.
When the value of a logged point does not exceed the previously logged value by more than the value
deadband, the value is not logged.
Similarly, values that change more frequently than the user-defined time deadband will have a value
logged that depends on the logging method selected: actual value, average value, minimum value or
maximum value, as follows:

Value Description
actual The value logged is the value at the end of the time slice.
A time-weighted average is maintained of all the changes that occur and logged at the end
average
of the time slice.
minimum Only the lowest or minimum value is logged at the end of the time slice.
maximum The highest or maximum value is logged.

The formula presented above calculates a raw log file size based on the value changing exactly at the
logging rate (i.e., worst case scenario).

However, in a typical application, a compression factor of 3 to 5 or more is likely to be achieved. This


means that the actual period for which data is retained may be 3 to 5 times longer than the specified
logging period.

It is possible to override the default on-change-only logging behaviour and cause values to be logged
periodically or according to some other application-relevant trigger criteria.

Historically logged values can be retrieved for viewing within Adroit Ignite HMI or exported for further
processing as a .CSV file. This file format is recognized by many commercial spread sheet and database
packages.

Adroit Ignite HMI also provides a means of merging values from a .CSV file into an existing historical
database of Data Log Agents. The .CSV file may have been originally created by the Extract utility or
exported directly.
Out of limit monitoring enables Datalog Agents to immediately log out of limit values (values that are
not within their specified operating range), by ignoring the normal time deadband value and using a
faster log rate specified by the out of limit time deadband instead.

Each Datalog Agent can create their own backup (.LGB) files, when their associated .LGD files wrap.
Once created, the datalogging subsystem automatically retrieves the data from these .LGB files, if
required by trends (charts) or other requests for historical data.

This feature can also extend the potential amount of logged data without creating larger log files, since
larger log files have the side effect of causing the Agent Server to take longer to start up.

IMPORTANT: When backing up datalogs we recommend the creation and use of .LGB files.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 35
4.8.3. Device Agent
Device Agents, in conjunction with protocol drivers, coordinate scanning in Adroit Ignite HMI and are
responsible for creating, deleting and otherwise configuring Scan Agents which handle the actual
scanning to and from front-end devices.

The number of device Agents in a system


will depend solely on the number of
different front-end devices. A system with
one PLC controlling, say Boiler 1, would
have only one Device Agent called BOILER1
(or any other name chosen by the user). On
the other hand, a system with many
different front-end devices, possibly of
different types, will have one Device Agent
per device.

Each scan Agent is in fact a separate,


independently scheduled Windows thread
which means that genuine, concurrent,
parallel scanning will happen in Adroit Ignite
HMI whenever the characteristics and/or
connection(s) to the front-end device(s)
permit.
Figure 37 Device Agent

Due to Adroit Ignite HMI‘s inherent flexibility, it is possible to scan in and out of any slot of any Agent.
For example, a Data Log Agent can be started by scanning its start slot from an external device, thereby
effectively achieving event-triggered logging; a new value can be uploaded to the high alarm limit of an
Analog Agent, etc. Each slot to be scanned is associated with an address in an external device, a scan
period in milliseconds, and a deadband. A value is only updated into the relevant slot when it changes
by more than the deadband setting.

In addition, scanning is the means by which any two Agent slots are "linked" or "connected" together.
The implication of this is that Agents can source their data from any other Agent as well as from a front-
end device. This feature is particularly valuable when used in conjunction with Expression Agents (the
Expression Agent is explained later).

4.8.4. Other System Agent Types


Other system Agent types include Beeper, Hasp, Proxy, Scan and SystemInformation.

The Beeper Agent drives the built-in PC speaker and is typically used to annunciate alarms.

A single Hasp Agent instance called LICENCE holds details about how many scan points and users are
currently licenced.

Proxy Agents are created automatically when an application requests information about an Agent that
exists in a remote Agent Server. The proxy Agent assumes the role of the remote Agent in the local
environment and is continuously updated with any changes that occur in the remote Agent. The function
of updating the proxy is transparent to applications such as Operators as well as any 3 rd party
applications interacting locally or remotely with the server containing the proxy.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 36
Scan Agents are created dynamically by the system as a function of the user-specified scan
configuration and capabilities of the protocol driver mapped by the device creating the scan Agent.
There is also a single SystemInformation instance called systemInfo that contains a variety of system
wide configuration, run-time, and diagnostic information.

Figure 38 Systeminfo Agent

This Agent contains some very valuable information that can be used to present a more detailed view
of what is going on within a Server. Again, as has been explained the information available are all
contained with slots and available to be presented on a graphic form or used within a system.

Figure 39 Systeminfo – Running Attributes

Examples of useful “Tags” would be


SystemInformation.SystemInfo.Second – is the local second of time on the PC and can be used to trigger
events or used in scripts or calculations in Expressions
The same applies to minute, hour, day, dayOfWeek, currentTime, month, year, saveNow, saveOnExit

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 37
5. Ignite Server
The Ignite Server is the data portal which exposes data from a number of disparate datasources, both
external and internal to it. The data sources included as standard are one Agent Server data source,
multiple databases, web services multiple Windows event sources.

This Server brings all the data from the different sources into one portal where the user can monitor,
control and manipulate and present the data.

In the Ignite Server you can add different datasources, configure profiles, security and create, edit and
delete graphic projects.

5.1. Datasources
Due to the client-server model that is used, it is possible for one or more Designers to be connected to
the same Server and to add, remove and/or modify its existing datasources provided they have the
necessary security rights.

For this reason it is possible to update specific datasources to view the changes that have been made to
it and to lock a datasource to be able to exclusively modify it.

When installing Adroit Ignite HMI and Agent Server a local Eventlog datasource is created that is
connected to the local Agent Server only. More datasources can be added, but additional licensing is
required.

The Ignite Server also offers a free OLE DB datasource that can be used to connect to OLE DB enabled
databases. There is no limit on the amount of OLE DB datasources that can be added.
More datasources available:
• Simulation: this datasource does not actually connect to outside data. However, it does
provide a wide variety of different types of data. Each simulation datasource contains a
number of simulation categories, whose data is either unchanging (static) or mathematically
generated and therefore constantly varying. This simulated data is essentially a dependable
source of data, which can be used when testing the animation of your graphic forms within
the design phase.
• Web Service: this datasource connects to an XML Web service so that the functions
contained within its Web object(s) can be used. A Web service is simply the provider of one
or more Web objects which contain functions that can be accessed over the Internet and used
remotely. Web services are able to seamlessly communicate between systems irrespective of
their specific programming languages, hardware, and/or operating systems. For this reason
XML Web services are being touted as the next revolutionary advancement of the Internet
and may well become the fundamental structure that links together all computing devices.
• Adroit Air: Handles the configuration and management of the Mobile Air connections,
configurations and licensing. This is a separate product that can be licensed to work with your
Adroit Ignite HMI and handles Alarm, Messaging at Text Messages to a mobile phone.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 38
5.2. Management
This directory is where all the user settings and security configuration is done.
• Profile: Profiles allow the work environment of the Designer and Operator to be customized
on a per user basis. In addition to merely customizing the display of these applications, profile
settings can be used to limit the access users have within these applications too.
• Security: This manages security for the Server. By using the existing Windows security, this
settings can be used to specify who should or shouldn't have access to it, it’s added
datasources and their Data Elements and/or special functions.
• System: This setting provides a view into the Server and exposes information and functions
pertaining to the Server itself and the Clients (Operators and/or Designers) that are connected
to it. This information and the functions are mainly required for troubleshooting purposes.

5.3. Projects
Projects manage the creation, opening and storage of graphic forms and wizards, which can be organized
through the creation of folders and sub-folders.
A project exists in two main states:
• The design state, which is used to add, import and configure or design the graphic forms
within the Designer.
• The operational or run-time state, which is used to view and interact with these graphic
forms, typically within the Operator although it is also possible to do this within the Designer.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 39
6. Designer
The Designer is the interface you will use to interact with and configure projects within the Ignite Server.

Figure 40 Designer – Default Layout

The top part of the window is the quick access design menu. This menu is based on the very popular
ribbon menu you see in Microsoft products.

Figure 41 Designer – Detailed Display Example

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 40
6.1. The Home Menu:

Figure 42 Home Menu

Connection Description
Connect This will connect the Designer from the Ignite Server.
Disconnect This will disconnect the Designer from the Ignite Server.
Refresh This refreshes the server view in the Enterprise Manager.
Save Server Data All data in the Server will be saved.

Clipboard Description
Paste When in design mode on the graphic form you can paste copied objects.
Copy Copy any object on your graphic form.
Cut Cut objects on your graphic form that you would like to paste
Project Description
New Folder This creates a new folder in your project.
New Graphic Form This button creates a graphic form in the selected project or folder.
New Graphic Form (Styled) This button creates a graphic form in the selected project or folder.
New Project Creates a new project from this button.
New Wizard In order to create a wizard object, it needs to be created on a wizard page.
Delete Deletes the selected graphic form, wizard, folder or project.
Find To find where a Tag has been referenced and used throughout a project.

Graphic Form Description


Save Save the graphic form.
Save As Save the graphic form with another name.
Save All Save all graphic forms as is.
Close Graphic Form Close the current graphic form
Close All Graphic Forms Close all graphic forms that are currently open.

Agent Server Description


Open Configurator This button will open the Configurator where users can create, log, alarm
and scan the Agents within the Agent Server.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 41
6.1.1. The Agent Configurator
The Agent Configurator is the engineering interface to Agent Server and has functions to find, add, edit,
remove and otherwise configure Agents belonging to an Agent Server running either locally or on a
remote machine somewhere on the network. Suitably authorized users therefore have access to all
Agents in an Agent Server on the network, meaning that separate engineering stations are not required.

The Agent Configurator top-level dialog is shown below. It is from this dialog that users are led in a
structured way to select the next aspect of configuration (scanning, logging, alarming, etc.).

Figure 43 Configurator

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 42
6.2. The View Menu:

Figure 44 View Menu

Menu Section Description


Reset Window Layout This resets your windows layout only.
Reset to Default Layout This button will reset your design workspace to the default layout settings.

Spider Configuration Mode = Beginner


Content Section Description
This button will hide or show the translation properties window at the bottom
Translation
of the screen
Watches This will hide or show the Watches window at the bottom of the screen.
Progress This will hide or show the Progress window at the bottom of the screen.
Launch Script Editor
This will hide or show the levels and layers window at the bottom of the
Levels and Layers
screen.
Output Events
The button will hide or show the contents window on the right side of the
Contents
screen.
Enterprise Manager This will hide or show the Enterprise Manager.
Favourites
Properties This will hide or show the properties window on the right of the screen.
Toolbox This will hide or show the toolbox window on the left of the screen.
Context View

Spider Configuration Mode = Intermediate


Content Section Description
This button will hide or show the translation properties window at the bottom
Translation
of the screen
Watches This will hide or show the Watches window at the bottom of the screen.
Progress This will hide or show the Progress window at the bottom of the screen.
Launch Script Editor
Levels and Layers This will hide/ show the levels and layers window at the bottom of the screen.
Output Events
Contents This will hide/show the contents window on the right of the screen
Enterprise Manager This will hide or show the Enterprise Manager.
Favourites
can be accessed but is not displayed by default and any spider regions
Spider Configuration
associated with configured Behaviours cannot be accessed
Properties This will hide or show the properties window on the right of the screen.
Toolbox This will hide or show the toolbox window on the left of the screen.
Context View
Spider Configuration Mode = Advanced
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 43
Content Section Description
This button will hide or show the translation properties window at the bottom
Translation
of the screen
Watches This will hide or show the Watches window at the bottom of the screen.
Progress This will hide or show the Progress window at the bottom of the screen.
Launch Script Editor
This will hide or show the levels and layers window at the bottom of the
Levels and Layers
screen.
Output Events
The button will hide or show the contents window on the right side of the
Contents
screen.
Enterprise Manager This will hide or show the Enterprise Manager.
Favourites
Spider Configuration grants full access to the Spider Configuration window and opens this window.
Properties This will hide or show the properties window on the right of the screen.
Toolbox This will hide or show the toolbox window on the left of the screen.
Context View

Spider Configuration
Description
Mode Section
Beginner
Intermediate
Advanced

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 44
6.3. The SCADA Menu:

Figure 45 SCADA Menu

Pointer Mouse pointer

Vectors
Button Add Button
Check Box Add Check Box
DropDown Add DropDown
Ellipse Add Ellipse
Line Add Line
Picture Add Picture
Pipe Add Pipe
Polyline Add Polyline
Rectangle Add Rectangle
Scale Add Scale
Slider Add Slider
Spline Add Spline
Text Add Text

Adroit
AlarmViewer Add AlarmViewer
EventViewer Add EventViewer
HistoricalAlarmViewer Add HistoricalAlarmViewer

Data
BarChart Add BarChart
ColumnChart Add ColumnChart
LineChart Add LineChart
PieChart Add PieChart
VIZNETDataBinder Add VIZNETDataBinder
XYPlotChart Add XYPlotChart

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 45
6.4. The Configuration Menu:

Figure 46 Configuration Menu

Adroit Ignite HMI


The fundamental Agent Server settings and can install or configure the
Agent Server Configuration
Agent Server service
Driver Configuration manage the Adroit protocol drivers and their devices.
Setting up the Server Opens Config Editor to allow setup for the Ignite Server
Setting up the Designer Opens Config Editor to allow setup for the Designer
Setting up the Operator Opens Config Editor to allow setup for the Operator
Open Projects Folder Opens Windows Explorer in the Projects directory

System Backup and Restore


Backup Opens Config Editor to allow setup for the system backup function
Restore Opens Config Editor to allow setup for the system restore function

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 46
6.5. The Diagnostics & Tools Menu:

Figure 47 Diagnostics & Tools Menu

Monitoring
This utility allows users to monitor the operation of their installed protocol
Driver Monitor
drivers and provides many diagnostic capabilities.
This utility is designed to assist experienced users in fine-tuning the
Scanning Monitor scanning subsystem to achieve optimal performance, by providing an
intuitive report-like view of advanced diagnostic information
This utility allows you to display all the items within an OPC Server and if
OPC Browser necessary, you can browse for and select the required address of particular
OPC items.
This utility is typically provided for advanced users for diagnosing or
Agent Server Monitor
troubleshooting the Agent Server.

Diagnostics
This utility inspects the structure of your existing Agent database (.WGP)
WGP Inspector
files.

License Utility
Adroit is licensed via the Agent Server and this licensing typically occurs via
License Utility a HASP software protection key, which is programmed in accordance with
the required license.

Other
This utility allows you to run commands and utilities run today, tomorrow,
Scheduler
or on a particular day of the week or month at a specific time.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 47
6.6. The Project Menu:

Figure 48 Project Menu

Adroit Classic
Import Mimic This will import any Classic UI mimic onto the graphic form.
Import Trend This will import any Classic UI trend onto the graphic form.

XAML Graphics
Import XAML This allows you to import any graphics that is in XAML format.

Project Style
When creating a project, you can choose to associate either a predefined or
custom style to the project, which creates a hidden graphic form, called
Style
!Style, which configures the following common graphic form display
properties to save you design time and ensure a consistent look and feel.
This allows you to set the physical dimensions, specified in pixels: either
Size select a Predefined width and height, which specify common monitor
resolutions or specify your own Custom dimensions.
Width This allows you to set the width.
Height This allows you to set the height.
Size This allows you to set the size.
The BackColor of the graphic form.
BackColor Note: Depending on the controls that you add to this graphic form, they
may inherit the specified BackColor.
The default Font of the graphic form and any controls that you add to this
Font
graphic form.
ForeColor The ForeColor of the graphic form.
Font Size The Font Size of the graphic form.
After editing this project style graphic form, click the Save Project Style
Save Project Style item to save these project style changes.
Note: You can only edit the style of a single project at a time.
Open Project Style opens the project style graphic form (!Style), so that
you can add form components to this project style graphic form, such as a
Open Project Style banner (header) or footer or logo or any other element or graphic that all
your styled graphic forms have in common and/or configure their default
properties.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 48
6.7. The Design Menu:

Figure 49 Design Menu

Vectors
Create Vector Group This creates a group of objects into one group.
Break Vector Group Press this button to break the one group into separate objects.
Reset Centre This will reset the centre of the object.
Rotate This rotates the object.
Rotate This rotates the object by the selected degrees.

Workspace
Alignment Use this to align selected items.
Size Use this to size all selected items to the same size.
Spacing Use this to space selected items equally.
Layout Select an item to be in front or at the back of another object.
View Tab Order

Font Specify your font settings here.

Colour Choose a colour to be applied to an object.

Snapping Snap Mode.

Shapes Choose a basic shape.

Specify which users have access to which properties exposed by the


Graphic Form Security
controls that have been added to the graphic form.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 49
6.8. The Behaviors Menu:

Figure 50 Behaviors Menu

Display
Display Value This behavior allows you to display values from Agents in the Agent Server.
This behavior can drive a Data Elements (value) to and/or from the value of
Bind Value
a property of a control or vector.
Visibility This is a simple true/false visibility behaviour to show an object.
Tooltip This behaviour brings up a window with info on it for an action.
Define an index list of images and when manipulating the index, the image
Flip Bitmap
assigned to the index number will display.
Database

Transforms
This behaviour allows to dynamically move the object linearly in a defined X-
Location
Y direction by means of monitored value.
This behaviour dynamically rotates the object by means of a monitored
Rotation
value.
This behaviour dynamically resizes the object linearly by means of a
Size
monitored value.

Colors
This behaviour allows assigning colours to the two states of a digital
Color (Boolean) value; blink a specific colour property or the VISIBILITY property
either continuously or triggered by a value.
Percentage Fill This behaviour dynamically fill the object by means of a monitored value.

Actions
This behaviour typically provides methods that allow end-users to change a
Operator Action
value at runtime.
This behaviour perform commands such as launching an application or
Execute Command opening, closing or printing a graphic form or logging a user on or off and/or
switching users.

Remove This removes selected behaviours on objects.

Edit Behaviour This edits behaviours on objects

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 50
6.9. Shapes Wizards & Examples Menus

Figure 51 Shapes Wizards & Examples Menu – Electrical Symbols

Figure 52 Shapes Wizards & Examples Menu – Hardware

Figure 53 Shapes Wizards & Examples Menu – Process Symbols

Figure 54 Shapes Wizards & Examples Menu – Situational Awareness Symbols

Figure 55 Shapes Wizards & Examples Menu – Static Graphics Symbols

Figure 56 Shapes Wizards & Examples Menu – Templates

Figure 57 Shapes Wizards & Examples Menu – Wizards

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 51
6.10. Graphic Form Toolbar
Note: This menu bar is visible once a graphic form has been loaded.

6.10.1. Save Functions

Save Menu
Save Save the current graphic form
Save a duplicate of a graphic form with an alternative name or within
Save As
another folder.
Save as Wizard Convert graphic template/form to wizard format
Publishing will create a run-time version of a graphic for use in the operator
Save and Publish
only.

6.10.2. Substitutions

Substitutions Menu
Substitutions Selection become available during wizard creation
Substitution Selection become available when a deployed wizard is selected, allowing the
Assignment configuration of the assign substitutions

6.10.3. Launch Script Editor

Script Editor
Brings forth the script for the selected graphic form, allowing editing of
Launch Script Editor
the script

6.10.4. Design & Run

Design & Run Menu


Design Allows user to work within the design workspace.
Switches from design mode to run mode, allowing the user to view
Run
behaviours in action and for testing purposes.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 52
6.10.5. Zoom

Zoom Menu
Zoom In Zoom into your graphic form, vectors only
Zoom Out Zoom out of the graphic from, vectors only
Zoom Home To view all components

6.10.6. Optimise Graphic Form

Optimise Graphic Form Size Menu


Optimise Graphic Form Optimise graphic form size graphic form toolbar button resizes the graphic
Size form to fit its contents by shrinking or enlarging the graphic form.

6.10.7. Statistics, Optimizations & Find and Replace

Optimise Graphic Form Size Menu


To determine the efficacy of the graphic form optimization process, by
Statistics comparing an optimised graphic form to its original, for instance, to see the
difference in the number of design elements.
Optimizations Launches a configuration dialog that provides a number of search routines
you can choose to use to analyse your graphic form to detect design issues.
Find and Replace Locating all the references of a Tag on a graphic form allowing indirect
mechanisms so that you can change these references to the required
replacement one at a time.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 53
6.11. Enterprise Manager Menus
On the left is a window with 2 tabs. The default one is the Enterprise Manager which is the portal into
the Ignite Server.

Figure 58 Designer LHS Tabs : Enterprise Manager

The second is the Toolbox which is the tools that are used when doing the design work.

Figure 59 Designer LHS Tabs : Toolbox

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 54
6.11.1. Graphics Library
The Designer has a new updated equipment library that clients
can use to design a project.
This library can be found in Projects → Shapes Wizards and
Examples.
This library consists of Graphic Form examples, ISO symbols
library, Samples (Spider examples), Static Graphics which is the
different equipment that behaviours can be applied on, and
Wizards.
You can right-click and preview each folder to see what is in the
folder. This way you can quickly look through the entire library
for equipment.
If you want to use specific equipment that you see, simply drag
the equipment to the Favourites window on the right of your
screen.

Figure 60 Graphics Library

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 55
6.11.2. Navigation Templates
The Ignite Server also includes navigation templates that users can choose from to use in their projects.

Figure 61 Project Navigation Template

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 56
6.11.3. Wizards
Wizards allow you to reuse the same graphical object and
its assigned behaviours (if any), over and over again with
different values (Data Elements) without having to
recreate this object from scratch every time. In other
words, a wizard is a reusable design-time object, much like
a Windows control. Wizards also have the facility to
update their instances that have been added to graphic
forms to their current configuration, when they are
modified after having been used.

A Wizard is a pre-drawn and/or preconfigured skeleton of


graphical objects and their assigned behaviours (if any),
which has placeholders (substitutions) for Data Elements
which can simplify and speed up the task of creating
graphic forms. But, instead of directly specifying the
values that drive these behaviours, these are replaced with
value-placeholders (or substitutions).

Each time a wizard is inserted into a graphic form, a dialog


is displayed whereby values must be specified for all the
substitutions that occur within this wizard. For instance,
instead of redrawing a pump or a motor each time one is
required, a wizard can be created and simply inserted
wherever a pump or motor is needed at which time you
link the required Data Elements (values) to its predefined
substitutions.

Figure 62 Wizards

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 57
6.11.4. Templates
Templates are reusable graphic
forms that can be used at run-
time. A template should be used
if you would normally require a
large number of identically
configured documents to
represent similar items.

The fundamental difference


between a graphic form and a
template is that a template has
aliases and is therefore designed
to be displayed within a Template
Graphic Object control that
displays a graphic form and
connects Data Elements to any
aliases of this graphic form
control.
Figure 63 Templates (example)

For instance, consider the situation where a plant uses 1000s of motors, each of which require the same
process data to be reported and/or controlling actions to be performed. In this case a single template
mimic could be created instead of creating separate mimics for each motor.

6.12. Toolbox Menu


The Toolbox is a set of tools you will use to create the project graphics, trending, alarming and database
interacting.

Adroit
In this directory there are Alarm and Event viewers:
• AlarmViewer: This tool has specifically been designed for the datasource to display Agent
Server configured alarms. Operators can view and acknowledge alarms locally and globally.
Security can be applied as to which user can acknowledge alarms.
• EventViewer: The Event viewer can connect to the log computer’s events or to a remote
computer’s events. These events can be filtered.
• Adroit Ignite HMI HistoricalAlarmViewer: The Adroit Ignite HMI HistoricalAlarmViewer
can connect to the AlarmManagement Database to display the list of historical alarms logged
by using the Adroit Ignite HMI Alarm Management Agent. These alarms/events can be
filtered.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 58
Figure 64 Adroit Ignite HMI HistoricalAlarmViewer

Data
The Data directory consists of:
• BarChart: Each charted series is either a series of horizontal bars representing values or a
series of points that are usually connected to form lines.
• ColumnChart: Each charted series is either a series of vertical columns representing values
or a series of points that are usually connected to form lines.
• LineChart: Each charted series is a series of points that are usually connected to form lines.
• PieChart: Each charted series is a series of slices or segments to form a complete pie or
circle. Typically you only use one series per chart.
• VIZNETBindingNavigator: The VIZNETBindingNavigator control provides a toolbar of
commands that allows a user to interact with the data from a table or view of a DataBinder.
• TrendConfigurator: This control allows the adding and configuring of new pens on a trend
chart in the Operator
• VIZNETBindingNavigator: This control is tightly coupled with the VIZNETDataBinder and
provides a toolbar facilitating navigation between records when making use of data binders
• VIZNETDataBinder: This is a view to select which tables and their fields to display and then
automatically generates and adds the necessary controls and components to the graphic form
to view and/or modify the records within each table.
• VIZNETDataGridView: This is just a simple view into the table of the database.
• XYPlotChart: Each charted series is a series of points that are plotted from two sets of
values, one providing the X or horizontal coordinate and the other providing the Y or vertical
coordinate of each point.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 59
Gauges
This is a directory with different new gauges to use. Each gauge has a set of themes that can be changed
from the properties window of the gauge.

Figure 65 Toolbox - Gauges

Graphic Form Tools


This directory consists of:

Figure 66 Toolbox - Graphic Form Tools

• CustomTitleBar: This control goes hand in hand with the new ability to open a pop up
(modal / modeless) graphic form without a border which removes the title bar from the form
thus removing the ability to move and / or close the form via the normal “x” button. This
control can be dropped on such a form to allow moving and to allow closing if needed.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 60
SCADA Controls
In this directory there is a list of SCADA tools users can use to engineer their solution. These tools are
really self-explanatory.

Figure 67 Toolbox - SCADA Controls

Templates
The Templates directory consists of:

Figure 68 Toolbox - Templates

• The TemplateGO control: This control allows an existing graphic form to be displayed within
another graphic form, or even itself, if necessary.
In addition to simply acting like a picture frame, the contained graphic form can expose one or
more properties that can be separately configured, if required. In this way, the graphic form
contained within a TemplateGO control can become a configurable form component.
Apart from allowing you to connect the same graphic form to different data, TemplateGO
controls allow you to perform modular or object orientated design, by creating an extensive
library of graphic forms to simplify the process of creating graphic forms.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 61
It is possible to specify whether the graphic form that is contained within the TemplateGO
control will display any changes that are made to its original after it has been contained or not.
This control can also copy the controls and/or graphic elements and their spiders of the
referenced graphic form to the new graphic form, thereby allowing you to quickly construct
(clone) graphic forms from preconfigured graphic forms.
• The TemplateGOContexNav control: Very similar to the TemplateGONavToolbar in that it
allows navigation between graphic forms. The key difference being that this control reads its
navigation structure from the Context View (that is, if any graphic forms are part of Context)
• The TemplateGONavToolbar control: This is a specialised TemplateGO control that
provides built-in functionality to help you create a graphic form navigational system or toolbar
containing references to one or more graphic forms and can also build navigation from your
project hierarchy.
Vectors
In this directory there is a list of shapes/tools that users can use to engineer their solution.
These tools are really self-explanatory.

Figure 69 Toolbox - Vectors

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 62
Window Forms
This contains the standard .NET Windows Forms controls usually associated with Windows dialogs.

Figure 70 Toolbox - Windows Forms

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 63
6.13. Contents, Properties and Context View Menus
In the right window are three tabs, one is for the Contents, Properties and the other is Context View.
Each object that is created consists of properties which can be changed and manipulated via behaviours,
spiders or scripting.

Figure 71 Designer RHS Tabs

6.14. Designer Advanced Functionality

6.14.1. Spiders
Spiders and their links (silks) make up a visual programming language, which allows elements to be
transferred and/or manipulated in the Designer. This configuration occurs within what is known as a
spider workspace or engine, typically by means of drag and drop. Spiders are primarily used in Adroit
Ignite HMI to bind (connect) data to properties that are exposed by graphic forms and their form
components.

This configuration occurs within the Spider Configuration window for the actively displayed graphic form,
as follows:
• Automatically occurs when data is purely being connected to properties by dragging the required
Data Element onto the necessary graphic form or its form component directly.
• Manually generally only occurs when this data needs to be manipulated or modified before it is linked
to the required property. However, by using spiders in this way it is possible to provide a rich,
interactive environment for the end-user of a graphic form without necessarily needing to write any
scripting at all. This is provided, in part, by the ability of spiders to be operated or triggered by
means of events or actions either performed by another spider or by a user on a control that is
attached to the graphic form. In this way users are able to perform custom and/or complicated
manipulation of Data Elements, literally at the touch of a button or a click of a checkbox, etc.
• Bulk, in addition to manually configuring spiders and silks, perform bulk configuration by exporting
the current spiders and/or silks configured within a spider workspace to a Microsoft Excel XML file,
performing the additional configuration and re-importing this configuration.
The spider workspace is known as a spider engine as it can either be stopped or running. Any spiders
and silks that have been added to it are only live or able to be triggered and perform their operations
when the spider engine is running.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 64
For graphic forms, this only occurs when viewing graphic forms in the Operator or when opening the
graphic form in running or preview mode in the Designer. The spider workspace provides a visual or
drag and drop interface to create the required spiders, silks and template sets. Each spider workspace
provides a toolbar and a right-click menu that provides tools to assist in the adding, arrangement and
configuration of these items, as illustrated by the following screenshot:

Figure 72 Spider Workspace

As this screenshot indicates, the spider workspace:


• Provides a number of indicators that visually display the status of common spider and silk properties;
and
• Allows spider regions to be added to organize (de-clutter) the spider workspace, by providing logical
groupings of spiders which can be expanded or collapsed to display or hide these spiders. Typically
you create a spider region when one or more spiders have something in common.
Once added, each spider has a configuration view that can be expanded or collapsed and which allows
its inputs and/or outputs to be configured. Each spider has a number of inputs and/or outputs,
determined by the function that it performs.

Once triggered, a spider will communicate and/or manipulate data from its inputs to its outputs in order
to perform its function. In addition to be being triggered by means of an event, spiders can be triggered
whenever one of their input values change or by using a spider whose sole function is to trigger other
spiders, in the same spider workspace, in a customisable order.

Data Elements are transferred between spiders by means of silks, which are their interconnecting links.
Silks can be grouped together into what are known as template sets. As only one template set can be
active at any one time, this provides an easy way to vary the data displayed by a graphic form. Any
spiders that are connected to silks that are not associated with the active template set will not be used,
so the functionality provided by each template can vary. By way of example, consider the case where a
graphic form is constructed to represent a pump which displays its status, its flow rate, its pressure and
flow by linking this data to the necessary properties by means of silks.

Now consider the case where a battery of similar pumps is required, each requiring this same information
to be displayed. Instead of redrawing this pump and replicating it on multiple graphic forms and then
attaching the correct data to each of these pumps individually, template sets can be used. In this case
the silks required to supply each individual pump with its required data could be created to this single
pump graphic form and then associated with its own template set. Then when the spider workspace is
running, the active template set can be dynamically changed, as required, to display the correct
information for each pump.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 65
Available Spiders
An extensive list of spiders is provided that are able to perform a wide range of functions and operations.
Although all of these are generally applicable spiders, it is possible to create spiders that are datasource-
specific spiders which perform customised data-specific operations and/or processing.
NOTE: Data spiders are a special “hidden” subset of spiders, which are currently added automatically to the
spider workspace. These are responsible for managing the transfer of data to and from the spider workspace.

This list of spiders is the same list that is displayed when manually adding a spider to a spider workspace
that has been organised into the following categories to make it easier to select the required spider:

NOTE: You will notice that the icons of the spiders have a different background colour for each of the spider
categories to visually identify which category they belong to and give an indication as to their function/purpose.

Advanced
These spiders can be used to perform the following advanced functionality or configuration:

Icon Name Description


Levels and Layers To change the visible level of a graphic form at runtime.
To add any number of performance counters so that you are able to
Performance Counter
monitor key indicators of the performance of your computer.
To create script objects that interacts with the Client and if
necessary, with the Server, so that they can perform advanced
customised operations. Both input and output variables can be
provided for this script object and if necessary, whose values can be
Script Engine
provided by or linked to other spiders, properties or Data Elements.
These script objects are run whenever these spiders are triggered.
For further details of script objects and scripting, see the Scripting
section. For instance, a script can be used to open a graphic form.
To use any special function provided by any of the configured
datasources. In addition to the datasource-specific special
Special Function functions, this spider can be used to perform queries and stored
procedures that have been added to OLE DB datasources or to
execute functions exposed by an XML Web Service.
To format one or more values, if necessary, and display them as a
single formatted string. Values of data (Data Elements) can be
formatted to customise their appearance before they are displayed,
String Format
since the default formatting of a value is often not expressive or
informative enough to be of much use. This is particularly useful
when customisable numeric and date and time formats are required.
To dynamically change the names of Data Elements and if
necessary, to configure their values. A typical example of usage
would be for a redundant server system or process where only the
Variable Data Element
datasource name changes between the common setups. In this
case, this spider can be used for all the relevant Data Elements,
instead of creating an entirely redundant set of spiders.
Sleep

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 66
Animation
The following spiders can be used to animate graphic forms:

Icon Name Description


To start and stop a colour alternating between two predefined
colours at a specified interval and to display another predefined
Blinking colour when this blinking is stopped. This spider can be used to
configure colour properties of graphic forms and their form
components.
To define colours that provide a visual indication of the current value
of either a String, Double or Integer value. This is achieved through
the creation of more than one “state” where each state has a
Multi-state Colour particular colour that is associated with either a specific string, a
range of values or a logical expression that compare one or more
input values. This spider can be used to configure colour properties
of graphic forms and their form components.

Application
The following spiders can be used to launch or interact with other applications:

Icon Name Description


To remotely interact with a graphic form within the Operator, such
as the ability to open or close a graphic form when this spider is
Application
triggered. For instance, this spider can be used to open or close a
graphic form from an event with a click of a button.
To enter a data value by displaying a dialog for this purpose at
Data Entry runtime. It is possible for this change in value to be confirmed
and/or logged to an event log, if required.
To run an application (.EXE), command file (.CMD) or a batch file
(.BAT) and, if necessary, specify command-line parameters. For
Execute Command
instance it is possible to open a specific document within Notepad,
or some other application.

Databasing
The following spiders perform database-specific tasks:

Icon Name Description


DataBinder Trigger To display or to save changes made to the data of a table in a
DataBinder. For more details about DataBinders see the OLE DB
datasource description above.
Query To perform queries and execute statements provided by any OLE DB
datasource.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 67
Extended Type
The following spiders can be used to configure or expose properties:

Icon Name Description


To select a colour using a colour edit box or define a colour by
individually manipulating it’s A, R, G and B constituents. Where the
R, G, B colour constituents specify the relative intensity of red, green
and blue respectively in the resultant colour. The A constituent,
however, specifies the required transparency of this colour, which is
Colour
only supported by specific colour properties, e.g., for the BackColour
property of a button. For instance, by driving one or more of these
colour constituents remotely, it is possible to create a constantly
varying colour which can be used to configure a colour property of
a graphic form or one of its form components.
To filter out a row (field) from dataset data and expose the values
of its columns as outputs of this spider. In other words, this spider
is able to split a data row into its column values. For instance, once
Data Row Splitter
the individual column values of a row have been split into separate
outputs, these outputs can be displayed by form components or can
be used to set their properties, etc.
To either display the properties of an existing Data Element or to
Extended Data
create a Data Element from any input. For instance, this spider can
Element
be used to obtain the name of a Data Element.
To select a new font using the standard font dialog or to modify an
existing font by independently adjusting certain of its attributes.
The font attributes that can be individually manipulated are Regular,
Bold, Italic, Font Size, Underline and Strikethrough. For instance,
Font
by driving one or more of these font attributes remotely, it is
possible to create a constantly varying font which can be used to
configure a font property of a graphic form or one of its form
components.
To expose and/or manipulate properties of an object such as a form
component which are generally hidden. These properties will either
Hidden Property be displayed as inputs if they are writable, and/or outputs if they
are readable. For instance, to be able to set the SelectedIndex
property of a ComboBox control.
To map (connect) inputs to outputs so that each input has an
associated and identically named output. This spider is intended to
act as a connection interface for reusable graphics to which the data
required for the display and animation of the graphic can be
connected. In other words, this spider eliminates the need of
painstakingly connecting the required data to each of the various
Mapping
properties and other spider inputs every time this graphic is reused.
This configuration is performed once for all, by simply creating the
necessary mapping pairs and connecting their outputs to these
properties and other spider input. Then, when the graphic is reused,
the data is simply connected to the inputs of this Mapping spider
which correspond to its already connected outputs.
To create more than one “state” for a specific String, Double or
Multi-state Integer value so that when this value falls within a defined state the
spider returns the value associated with this state.
Tooltip

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 68
Logic
The following spiders can be used to construct simple or complex logic expressions to perform various
tasks when TRUE by triggering one or more spiders, as an alternative to writing script to perform the
same functionality.

Icon Name Description


To create a logical expression and, if necessary, to AND its result
AND
with another Boolean input.
To either create a single logical expression or, if necessary, to create
IF the initial logical expression that will be operated upon by the other
logical spiders.
To trigger one or more spiders in sequence when its specified logical
Logic Trigger
expression input becomes TRUE after having been FALSE.
NOT To NOT (inverse) its specified logical expression input.
To create a logical expression and, if necessary, to OR its result with
OR
another Boolean input.

Mathematical
The following spiders can be used to perform mathematical calculations:

Icon Name Description


To create user-defined constants and/or use the existing constants
Constant
to set the values of other spiders’ inputs.
To implement user-defined calculations this can make use of
variables. For instance, such calculations can be used for totalising
Expression
or accumulating values, implementing advanced control strategies,
creating sophisticated information displays and reports, etc.
To multiply and/or divide one or more values to produce a result and
Multiply and Divide if necessary, to add one or more offset values too.

To perform various operations on a numerical or Boolean input. It


is possible for this change in value to be confirmed and/or logged to
Operator Action
an event log, if required. For instance, this can be used to toggle
Booleans or set Booleans to start and stop a pump for example.
To convert or scale a value in a certain range to a desired range.
For instance, while the incoming value may be specified in the range
Scaling
from 0 to 50, this spider can be used to scale the value between 0
and 100 instead.
To add and/or subtract one or more values to produce a result, this
Summation
totals the amounts to be added and subtracted.
Conversion

Simulation
The following spider can be used to produce simulated data:
Icon Name Description
To create simulated data and configure how this simulated data is
Simulation generated. For instance, this can be used when the Designer is not
connected to any datasource to test the animation of graphic forms.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 69
Spider Workspace
The following spiders can be used to perform spider-specific functionality:
Icon Name Description
Template Set To change the active template set at runtime.
To customize the triggering of existing spiders, by triggering one or
Trigger
more spiders in sequence, whenever this spider is triggered.

Statistical
The following spiders can be used to perform statistical operations:
Icon Name Description
To record the number of On and Off events that occur, for a Boolean
Counter
value, and the individual and total time of these events.
To collect data from an analog (floating-point) value and to calculate
Statistical
statistical information (maximum, minimum, mean, standard
Functions
deviation and total) from this collected data.

XML
The following spider can be used to operate on or produce data in XML format:
Icon Name Description
To expose XML properties defined within an XML document as
outputs so they can be used individually, as required. A common
Extended XML
usage for this spider is to expose the required values from the
otherwise complex XML output, produced by XML Web Services.

6.14.2. Scripting
Adroit Ignite HMI has been specifically designed with the aim of providing simple non-scripting methods
to perform advanced functionality. This aim is primarily achieved through the use of spiders and silks,
a visual programming language which provides a simple yet powerful alternative to scripting. For
instance, by using spiders and silks it is possible to easily create graphic forms with a rich, interactive
Operator without using scripting at all. For details, see the Spiders section.

However, scripting is provided for the more advanced user and can easily be used in tandem with these
other non-scripting methods. This is in accordance with the general philosophy of openness with which
Adroit Ignite HMI has been written.

Since Adroit Ignite HMI has been created using the .NET framework, scripts can only be written in the
following .NET scripting languages: Microsoft Visual Basic.NET or Microsoft C# (CSharp).

The default scripting language can be set by the profile associated with the currently logged in user, if
necessary. For further details on profiles, see the section on User Management.

Before describing scripting any further, it is necessary to understand a bit about the scripting architecture
used within Adroit Ignite HMI and its benefits.

In Adroit Ignite HMI each script is seamlessly encapsulated in a “script object”, for this reason these
terms can be used synonymously. The purpose or need for the script object is simply to provide a self-
contained environment within which the script can be run. Therefore it does not matter whether the
script is run from the Server or a Client (Designer or Operator), it will still carry out its intended purpose.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 70
For instance, one function of the script object is to manage the list of external assemblies (DLLs) that
are referenced by a script so that their properties and methods (functions), etc., can be used within the
script.

Scripting has been tightly woven into the very fabric of Adroit Ignite HMI and as so can perform the
following functions:
• Graphic Form scripting: These scripts can be used to programmatically animate or enliven
graphic forms by creating event handlers for events exposed by the graphic form and its
added components. In this way it is possible to provide interaction between components on
the graphic form, such as drag and drop and mouse handling capabilities, etc. In this case, a
script is associated with each graphic form that is executed on the Client whenever and
wherever the graphic form is operated. This script can typically be accessed using the
Graphic Form Script window that allows one to easily switch between the script and its graphic
form.
• Client scripting: These scripts can be used to customise or enhance the usage of the
Designer or Operator by opening graphic forms, etc. In this case, a Script Engine spider can
be used to contain the required script which is executed on the Client whenever the spider is
triggered. In these scripts input and output variables can be used whose values can be
provided by or linked to other spiders, properties or Data Elements.
• Server scripting: These scripts are typically used to perform manipulation of data upon the
Server itself. In this case, a Server Scripts datasource can be used to store the required script
which is executed on the Server. These scripts can either be executed manually or by using a
special function provided by this datasource or they can be performed remotely, in which case
no client interaction is required at all.
Due to the self-contained nature of each script provided by its script object, there is no need to separate
the Client and Server scripting, which can be combined within a single script if necessary. Furthermore,
running a script from the Server or a Client should not affect its speed of execution, since this speed is
usually dependent on the script itself, the utilization of external references and correct programming
techniques and other system-dependent factors such as CPU load, etc.

For these reasons, there are a number of benefits associated with adding a script object (script) to a
Server Scripts Datasource, such as:
• Each script object that is stored can be used and executed within a Script Engine spider.
• Each script object that is stored is immediately accessible by all the Clients connected to its
Server.
• Each script object becomes a Data Element and can therefore be individually secured, if
necessary. Unlike a script object created within a Script Engine spider for instance which
cannot be secured directly and instead relies upon the security applied to the graphic form
with which this spider is associated. For further details, see the section on Security.
NOTE: It is possible to create scripts that use profile-specific variables, whose values can be stored for later
retrieval within the profiles, so that scripts can be customised per profile.

Scripts are typically written and debugged within the Script Editor; however users can also use Visual
Studio 2005 (and later) if this is already installed on their computer. The default script editing
environment is set by the profile associated with the currently logged in user.

In the case of graphic form scripting, the Graphic Form Script window is displayed by default which
provides the same basic editing environment as is found in the Script Editor and allows one to easily
switch between the script and its graphic form. If necessary, these scripts can be edited within the
Script Editor to take advantage of the other editing functionality that it provides.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 71
Figure 73 Script Editor

The Script Editor provides standard programming functionality such as bookmarks, commenting lines of
text, indenting lines of text, compiling the script, compiling and running the script, etc. Access these
commands from the toolbar, the menus or by right-clicking in the Editor Workspace window. The script
editor can provide IntelliSense, a powerful feature that can dramatically reduce the time required to
produce your scripts, within the Editor Workspace window.

For instance, when coding you do not need to leave the Editor Workspace window in order to perform
searches on language elements, since IntelliSense provides the following features:
• Valid member variables or functions can be selected from drop-down lists for any class, struct,
union or namespace which is defined in any of the references added to your script and within
your script itself. The required member can then be inserted directly into your code.
• Pop-up windows can display the following information for methods and functions – their
namespace, the names and types of their parameters and their return type. The required
parameter list can be selected for overloaded functions.
• Immediate feedback can be provided whenever misplaced brackets or open-ended segments
of code are detected.
Since the required INeed interfaces are dependent upon whether a script interacts with either the Server
or the Client or both of them, all the INeed interfaces are declared within in each script and only once
the script has been complied, are the required INeed interfaces used when the script is run.

For this reason, when a script is initially created default source code (text) is automatically added to it,
which provides standard functions and the declarations of all these INeed interfaces. This default source
code is provided in the default scripting language which is set by the profile associated with the currently
logged in user. Both the scripting language and this source code can be changed to the other scripting
language, if required.

In addition to the functionality provided by these INeed interfaces and the other standard functions, the
script is to provide additional functionality through adding references to external assemblies (.DLL files),

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 72
whose properties, methods, etc., are made available to this script and can be implemented within it.
The script object then manages these references for its script.

6.14.3. Object and Context Model


Adroit Ignite HMI offers users the ability to minimise their engineering, maximise the quality of the
solution when the Object Model is used. From the Designer, under the Datasource window it is possible
to create your own predefined and tested templates and to then engineer projects from these objects
that will in turn replicate the complete SCADA configuration including Tag names, scanning, alarming
and trending.

Figure 74 Designer – Object Model

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 73
The approach is fairly simple and the process users would follow would be:
• Create a Wizard and populate it completely with
Tags configured for all the Scanning, Logging and
Alarming required for such an object.
• Right-Click and create a Template from this
configured Wizard. This Template would also have
the possible graphical options available for users to
use at the time of deployment. In addition where
the user has defined their own Context (such as
Manufacturer, Equipment Type and Description,
Power Rating) this will be carried through to all
instances and be available for allowing Context
based sorting and searches throughout a project to
allow easy management of the configuration.
• Once created then it is possible to create as many
instances as you need for a project.
o This can be done in a hierarchy under the
“instances” tree view
o Another way is to add a physical hierarchy in
the Context view window that appears on the
right hand side of the Designer. Once the
view is created you could simply drag the
created instances into the view, or it is
possible to drag or right-click and add an Figure 75 - Context View
instance within the Context View. If users
have designed the tree correctly all the Agents that will be created when deploying the
instance would be built using a unique Tag naming convention as defined by the user.
Building the graphics would simply require the user to define to graphic forms in his Projects directory
and then to drag the instances onto the forms and link them all together with the required static graphics,
add the navigation and deploy to a site.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 74
7. Operator
The Operator is used to display the configured Graphic Forms of a Project.

Figure 76 Operator View

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 75
8. Mobility
8.1. Adroit Air Client
The standard installation includes a single free Adroit Air client.
Adroit Air is an alarm notification platform that enables user to receive alarms and process data directly
on their smart device.

Alarms are assigned to available users from the “Alarms” tab. Each user can be linked to a single alarm
Agent or alarm list Agent on any available Adroit datasource.

Text messages can be sent to test the system or to deliver some specific information to a user.

Process data messages can be configured. Messages can be sent at a maximum rate of once per minute.

Figure 77 Adroit Air Client

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 76
8.2. Performance Anywhere Client
The standard installation includes a single free Performance Anywhere client. It allows users to build and
deploy HTML5 mobile and web-friendly interfaces to the Adroit Ignite HMI.
Install the Performance Anywhere Client on your web server. The Performance Anywhere solution
makes use of HTML5 interface, which makes it unattached to an O/S (unlike the 2 options above which
can only run on a fully-fledged Windows O/S) and is perfect for mobile devices. The Operator can be
launched from within any browser that supports HTML5 and by just specifying the web URL.
The Performance Anywhere client has “widgets” or graphic objects that include;
• Alarm Lists for Adroit Ignite HMI
• Historical Trends
• Bar Charts
• Analogue Displays
• Buttons and Sliders for interacting with Agent Server
A familiar environment makes building reports very easy. Create a page, add a widget and bind the value
to a Data Element using the browser, save and run.

Figure 78 Performance Anywhere Client

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 77
8.3. Secure Mobile Gateway
Secure Remote Access to your Adroit Ignite HMI on any device anywhere

Secure Mobile Gateway is an additional software component and service providing Web Access to existing
Adroit Ignite HMI project, giving you secure remote access on any device anywhere.
Secure Mobile Gateway technology provides web browser access (Edge, Firefox, Chrome, Opera etc.)
from any device.
Secure Mobile Gateway requires no open firewall ports, a secure channel is initiated from the client-side,
preventing any direct exposure to sniffing, DDOS attacks and hacking attempts. The service runs on
industry-standard encryption technology used by thousands of users (RFC 4419/4432/6594 compliant).
Additional IT infrastructure changes or open inbound ports are not required as it uses HTTPS as the
secure connection.
Direct HTML 5 representation of the operator is provided.

Advantages
• Runs on any device with HTML 5.0 compliant web browser, including Apple, Android, Linux,
Windows.
• No initial download requirement.
• All communication is encrypted
• All the functionality of the Operator. Not limited.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 78
9. Security
Since the Ignite Server is a data portal that can aggregate data from numerous sources, it is possible
that data with varying degrees of sensitivity may be made available to the SAME Server. For this reason
it is essential that the data is appropriately secured.

As the architecture of Ignite Server allows the Server to be accessed by both Designers primarily used
by engineers, and Operators primarily used by end-users, it is necessary to ensure that different users
have different levels of access to this data.

NOTE: Adroit Ignite HMI “locks” down everything and that one of the functions of the designer of the system
is to grant the necessary access to the required users. This approach to security follows very much along the
lines of Windows security, as implemented by Microsoft in Windows XP SP2.

Security in Ignite Server is user-centric and operates on top of the traditional Windows operating system
security, using a configurable sub-set of the existing users and groups on each Server computer known
as the "allowed" users and groups.

For instance, when a Client (Designer and Operator) is launched, it is necessary to login to a Server and
only a user that is ether an allowed user or a member of an allowed group on this Server is able to log
into it.
In addition to controlling the access of these “allowed” users and groups to the Server, its configured
datasources and their data, it is possible to control or limit the access that these users have within each
Client (Designer and Operator).

The following diagram illustrates how security in Ignite Server


operates on top of the traditional Windows operating system security
by means of the allowed users and groups, which is a selected set
of the existing Windows users and groups on the Ignite Server
machine.

Security should typically be implemented during the deployment of


the Ignite Server so that the initial allowed users and groups can be
configured on each Server. Then the access of these allowed users
and groups should be specified within each Server and Client.

However, security configuration should continue throughout the life


of the project to secure new Datasources by limiting the access of
new users and modifying the access levels of existing users as
required, etc.
Figure 79 Enterprise Manager - Security
9.1.1. Server Security
Server security must be configured per Server in the Enterprise Manager by using its Security component
within the Management category.

Most importantly, this Security component configures the allowed users and groups which provides the
first or foundational level of ALL user security and management within Ignite Server, not only for Server
security but also Client security too and is therefore mandatory.

Furthermore, this Security component configures the first level of purely Server-specific security in the
form of Policies, which can be used to provide a general (large-scale) level of control to safeguard the
data that is made available to the Server.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 79
The second level of Server-specific security can be broadly termed Datasource-specific security, which
can be used to provide a precise (finely tuned) level of control to safeguard the data that is made
available to the Server. This is therefore configured per datasource and its exposed Data Elements and
special functions.

9.1.2. Allowed Users and Groups


As previously discussed, security in Ignite Server is user-
centric and operates on top of the traditional Windows
operating system security. This is made possible by using a
configurable sub-set of the existing users and groups on each
Server computer known as the "allowed" users and groups.

NOTE: Ignite Server uses the Active Directory to expose the


available Users and Groups from which the person designing the
Adroit Ignite HMI application can then choose his allowed Adroit
Ignite HMI users.

These allowed users and groups therefore provide the first or


foundational level of ALL security within Adroit Ignite HMI,
hence their creation is mandatory for every Ignite Server. In
other words, unless a user is either an allowed user or a
member of an allowed group, he/she will be unable to login
to the Server and use Adroit Ignite HMI. Before a client
(Designer or Operator) can be used, it is necessary to login
to a Server first.
Figure 80 Security - Groups
The allowed users and groups are the means by which all
other user security and management in Adroit Ignite HMI is applied. They are typically added and
removed via the Designer in the Enterprise Manager by using the Users and Groups list of the Security
component that is within the Management category of each Server.

However, it is possible to give certain users and groups total or global security access to each Server,
which essentially become “master” users and groups that:
• Permanently become allowed users and/or groups that cannot be removed from the lists of the
allowed users and groups maintained by this Server so that these users will never be able to lock
themselves out of the Server; and
• Are always able to login to and have unrestricted access to this Server, its datasources and their
data.

These global security users and groups should be used to administer the security of the Server by adding
the other allowed users and groups and assigning the necessary access rights to each of them. By
default, only the Administrators group and the default login user is assigned global security access to
each Server.

In addition to adding existing users and groups to the allowed users and groups for a Server, it is possible
to create users that impersonate or masquerade as an allowed user.

For instance, when users are not part of the Windows security or where you do not want to expose a
domain username and password when someone logs in to a Server over the Internet. The impersonated
user is then able to login to a client (Designer or Operator) and merely assumes the user security and
management settings of the allowed user that is being impersonated.
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 80
9.1.3. Policies
Policies can be used to provide a general (large-scale) level of control to safeguard the data that is made
available to the Server. They can only be implemented after allowed groups and/or users have been
added to this Server.
Policies are essentially a configurable set of rules that
govern the access to a Server and its available datasource
plugins (the types of data that the Server is able to connect
to), as follows:
• Each policy represents a specific service or activity
that can be performed by the Server, such as the
ability to retrieve a list of its available datasources.
• Each policy can then be associated with one or
more allowed users and/or groups with each
policy.
• Any allowed user and/or group not associated with
a policy is unable to perform the service that it
represents.
In other words, whenever a Server receives a request for a
service it first determines whether the currently logged in
user is part of the allowed users or groups that are able to
perform this request, and then denies or grants access
based on this result. By default, the Users group and any
group(s) and/or user(s) that have been assigned global
security access to this Server is automatically associated Figure 81 Security - Policies
with every policy.

Certain policies represent datasource plugin specific services such as the ability to add or remove a new
datasource. In this case, the policy contains a list of the available datasource plugins so that the required
allowed users and/or groups need to be associated with the applicable datasource plugin. Once a
datasource plugin has been secured using a policy, this security will be applied to all of its existing and
future datasources that are configured.
NOTE: In order to secure a specific datasource and/or its data, datasource-specific security is required.

Allowed users and/or groups are added to and removed from policies via the Designer in the Enterprise
Manager by using the Policy list of the Security component that is within the Management category of
each Server.

9.1.4. Datasource-specific Security


Datasource-specific security is a general classification that encompasses all the security measures that
can be used to provide a precise (finely tuned) level of control to safeguard the data that is made
available to the Server. This too, can only be implemented after allowed groups and/or users have been
added to this Server.

As its name implies, this essentially involves securing the specific datasources that have been added to
a Server and their configured exposed Data Elements and/or special functions.

However, since datasources are themselves Data Elements, datasource-specific security simply consists
of the following two security methods:

Data Element Security

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 81
Since every datasource exposes its data in the form of Data Elements, it is therefore essential that the
access to these Data Elements be sufficiently
controlled to provide the necessary security for
your data.

Each Data Element (and datasource) can be


assigned security permissions that determine
which users are able to configure its security
settings and which users are able to view, set
and/or remove it.

Data Element security is applied via the Designer


in the Enterprise Manager by right-clicking the
required datasource and/or Data Element and
selecting the Security item.

NOTE: This item is only available if the currently


logged in user has the necessary security
permissions to configure the security settings of
this datasource and/or Data Element.

The following strategy is recommended for


implementing Data Element security:
• Specify the extent of the access that
allowed users and/or groups are given to the
available datasources so that only the necessary
datasources are available for them to perform
Figure 82 Date Element Security
their required duties.
• Specify the extent of the access which
allowed users and/or groups are given to the specific Data Elements within these datasources
so that only the necessary data is available for them to perform their required duties.
In this way the currently logged in user should only be able to see the datasources and their Data
Elements that are necessary to perform his/her function. Furthermore, whenever any Data Element is
accessed, this Server will always determine whether the currently logged in user is able to perform the
requested Data Element operation and accept or reject the request accordingly.

By default, only the group(s) and/or user(s) that have been assigned global security access to this Server
are automatically assigned full access to all datasources and their Data Elements. Data Elements need
to be secured separately for EACH datasource that is created.

However, Data Element security does not need to be applied manually as it is also possible to
automatically:
• apply the security configuration applied to a datasource to all of its Data Elements (both
existing and future); and
• Inherit the security configuration applied to a datasource to simply configuring the security for
a Data Element.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 82
Special Functions Security
In addition to making its data available as
Data Elements, a datasource may only
provide special functions. By securing the
provided special functions it is possible to
secure this specific functionality provided
by the datasource itself, which is especially
evident when the special function is the
only means provided for performing a
specific action.

Although special functions are provided by


datasources, their security is entirely
unaffected by the security settings applied
to their datasources. Each special function
can be assigned security permissions that
determine which users are able to
configure its security settings and which
Figure 83 Special Functions Security
users are able to use it.

Special function security is applied via the Designer in the Enterprise Manager by right-clicking the
required special function and selecting the Security item.
NOTE: This item is only available if the currently logged in user has the necessary security permissions to
configure the security settings of this special function.

The following strategy is recommended for controlling access to special functions:


• Specify which allowed users and/or groups are able to use special functions at all, by
associating them with the Invoke Special Function policy.
• Specify which special functions these allowed users and/or groups are able to use for each
datasource so that they will be able to perform their required duties.
In this way, whenever a special function is used either specifically or by the datasource itself, the required
Server first determines whether the currently logged in user is part of the allowed users or groups that
are able to use special functions. If this is so, it will then determine whether the user is actually allowed
to use the special function associated with this specific datasource and accept or reject the request
accordingly.

By default, only the group(s) and/or user(s) that have been assigned global security access to this Server
are automatically assigned full access to all special functions. Special functions need to be secured
separately for EACH datasource that is created.

9.1.5. Client Security


Security is normally implemented by the Server to secure the data exposed by it. However, the Client
(Designer and Operator) can implement its own security. Although these security measures are distinct
from Server security, they can only be implemented after the necessary allowed groups and/or users
have been added to the Server. Client security is usually configured by means of user profiles to control
the access a user has within the Designer and Operator applications. In addition to customising the
display of these applications, profile settings can be used to limit the access users have within these
applications too, as follows:
• to specify which menus and even which menu items can be accessed within the Designer;
____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 83
and
• To specify the permitted user interaction within the Operator.

Profiles can also specify whether you want to automatically logoff its assigned users from the Client
(Operator or Designer) after a specific period of inactivity. This is an added security feature that is often
required by particular industries. For instance, this is required to comply with CFR (The Code of Federal
Regulations), the codification of the general and permanent rules published in the Federal Register by
the executive departments and agencies of the Federal Government 21 (Food and Drugs) requirements.

It is also possible when designing graphic forms, to specify which users have access to which properties
exposed by the controls that have been added to the graphic form. In other words, it is possible to
provide alternate sets of properties, from the default or standard properties displayed for controls, for
one or more of the allowed users and/or groups.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 84
10. Application Protocol Interface (API)
10.1. Gateway to Performance
Adroit Ignite HMI is an Open Automation Technology product and there are many ways you can extend
your Ignite application or solution.

10.1.1. Open Interfaces


The ActiveX Automation Server Interface is a simple yet powerful API designed to provide full access to
Agent Server from 3rd party applications running on different development environments such as
Microsoft’s Visual C++, Visual Basic, MS Excel, MS Access and Delphi, etc.

OLE DB connectivity means that Adroit Ignite HMI can connect to any OLE DB provider, unlike ODBC
that was only created to provide access to relational databases. It is ideally suited to writing data inside
the Agent Server periodically to a database, such as at the end of a batch job, for reporting reasons. As
its transactions can be done on demand, they can be scheduled and/or they can be triggered.

The Script Agent provides a way for the user to produce process reports by using a Visual Basic or Java
script. This script can then be executed on demand, they can be scheduled and/or they can be triggered.
The Script Agent is able to produce reports in the following formats:
• A text file (*.TXT);
• A comma-delimited file (*.CSV);
• An Excel spreadsheet (*.XLS);
• As an e-mail sent to a designated person; and
• A web page (*.HTM) or (*.HTML).
Other types of reports compiled from data within Adroit Ignite HMI can either be exported to 3rd party
packages for formatting and printing, such as the polar coordinate plot using Microsoft Excel, below,
or can be created directly using 3rd party reporting applications such as Adroit Report Suite.

10.2. Management Information and Reporting


Within Adroit Ignite HMI, reporting falls into the categories of Report Suite, Event Reports and Process
Reports.

10.2.1. Report Suite


The Adroit Report Suite is a value-add information system based on specific Adroit Ignite HMI Agent
data logged to an OLE DB database. Information is presented in the form of web based reporting
through the Microsoft SQL Server Reporting Services platform.

If you have the ability to develop your own reports, then using the DBQuery or DBLog Agent you will be
able to build your own web-based Reporting solution. Alternatively, we encourage you to look at the
Adroit SCADA Intelligence product which offers the latest business intelligence platform for reporting
and analysis.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 85
Figure 84 Report Suite

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 86
10.2.2. Report Pack
Built-in Microsoft Reporting Services the reports offer a basic insight to your system and process as well
as offering you a free web-based view into historical trends. These are managed reports that are included
in the standard installation and categorized as follows: Auditing, Datalogging and General.

Auditing
Provides the tools necessary to view the activities of the Agent Server and Ignite Server with reports
such Adroit Audit Activity and Ignite Server Audit Activity. It is also a report set to measure the duration
of the session of the Agent Server with a report such as the Agent Server Session.

Data Logging Reports


Data logging is extended through a standard DBLog Agent that can be configured to log data points for
any Agent to an OLEDB compliant database. The report set combines summary tables with statistics
and line charts to plot data trends. All of which combines through drill down and drill through
functionality provided.

Figure 85 DBLog Daily Summary Report

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 87
Figure 86 Multiple Line Trend Report

General Reports
General refers to ad hoc reports based around various server or Agent functionality. The DumpConfig
Agent is available with Adroit Ignite HMI that provides functionality to export specific Agent types with
current slot values as configured. A configuration export report is available to use as a configuration
datasheet or snapshot view on Agent status. Event Reports
These are managed by the event output Agent(s) that have configurable event printing options. With
these options events are printed a line at a time as the event occurs, or only after x events have occurred
(where x is any configurable value between 2 to a full page), on a time interval basis or absolute time
basis. Events may be printed on a local serial or parallel printer, or output to some networked device.
Alternatively, events can also be written to any SQL compliant database.

10.2.3. Process Reports


These are printed based on either time/date, process event or on demand. The format, content and
printing of the various report types is user configurable. The DBQuery Agent provides a link between
Adroit Ignite HMI and various external databases such as Access, SQL Server, FoxPro and Oracle by
using OLE DB technology that is supported by Microsoft.

OLE DB connectivity means that Adroit Ignite HMI can connect to any OLE DB provider, unlike ODBC
that was only created to provide access to relational databases. It is ideally suited to writing data inside
the Agent Server periodically to a database, such as at the end of a batch job, for reporting reasons. As
its transactions can be done on demand, they can be scheduled and/or they can be triggered.

The Script Agent provides a way for the user to produce process reports by using a Visual Basic or Java
script. This script can then be executed on demand, they can be scheduled and/or they can be triggered.
The Script Agent is able to produce reports in the following formats:

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 88
• A text file (*.TXT);
• A comma-delimited file (*.CSV);
• An Excel spreadsheet (*.XLS);
• As an e-mail sent to a designated person; and
• A web page (*.HTM) or (*.HTML).
Other types of reports compiled from data within Adroit Ignite HMI can either be exported to 3rd party
packages for formatting and printing, such as the polar coordinate plot using Microsoft Excel, below, or
can be created directly using 3rd party reporting applications such as Adroit Report Suite.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 89
11. Utilities
Utilities has been added to provide a central location from which the installed utilities
can be launched, instead of installing a host of separate shortcuts for each individual
utility.

This shortcut is also installed on the Desktop. This application also describes their
supported command line options and by right clicking the utility you can specify which
command line options you want to use when launching the utility.

Figure 87 Utilities

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 90
11.1. Adtech Licensing Utility
The Adtech Licensing Utility allows a user to get, View and/or update your Adroit Ignite HMI product
license. A user can typically launch the Licensing Utility via the Ignite Utilities Icon on the desktop and
then select the utility from the menu.
Only the Agent Server and/or Ignite Server, require a licence, all other applications such as the Designer,
Operator and etc do not.

Figure 88 Adtech Licensing Utility

11.2. Agent Browser


The Agent Browser is a utility that allows one to browse the configured Tags within an Agent Server to
be viewed and selected if required for configuration purposes. This also displays status slot names and
Tag (Agent.slot) values and, if the necessary command line option is provided, these Tag values can be
modified.

Figure 89 Agent Browser

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 91
11.3. OPC Browser
By launching this utility you can browse and connect to any OPC Server. Very useful to test with and
problem solving.

Figure 90 OPC Browser

11.4. OPC Server


The Adroit OPC Server is OPC 2.0 compliant and exposes each Tag in an Agent Server as an I/O to an
OPC client Application. When the OPC Server starts it is added to the system tray, in the bottom right of
the screen.

11.5. Scanning Monitor


This tool monitors the communications to and from front-end devices, such as PLCs, RTU’s etc. (the
Adroit scanning subsystem), obtaining the necessary data, so that the communications can be manually
tuned to achieve optimal performance.

Figure 91 Adroit Scan Configuration Monitor


____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 92
• The Scanning Monitor utility is designed to provide information on the scanning
(communications) configuration for a particular Agent Server to and from its configured front-
end devices, such as PLCs, RTU’s etc. The provided information can then be used to manually
fine-tune the scanning subsystem to achieve optimal performance.
• This utility consists of following three hierarchically arranged list boxes, each of which expose
increasingly detailed communication information for the selected Agent Server:
• The device list, which displays all the devices that have been configured in the *.WGP file of the
selected Agent Server and will ONLY list the devices, which have been used to scan Tags within
the current project that is running on the Agent Server, even though other devices may have
been added and configured on the machine.
• The scan job list, which displays the scan jobs for the selected device or devices. Scan jobs are
automatically created by Adroit to group the scanned Tags together in such a way as to minimize
scanning load and to maximize throughput.
• The Tag list, which displays the Tags (scan points) grouped within the selected scan job or jobs.
• In addition to these lists, the Servers combo box and the Connect… button can be used to
specify the Agent Server whose scanning configuration is to be monitored.

11.6. Driver Monitor


When troubleshooting potential driver problems, it is essential to understand exactly how the specific
device of an installed driver is communicating between Adroit and the specified front-end device.
Adroit Ignite HMI provides a utility known as the Driver Monitor that is used for just this purpose and
one of its functions allows it to display the Datascope window, which allows you to view and log the
exact communication messages and errors as they occur between Adroit and the specified front-end
device.
This procedure describes how to create an HTML log file of the communication messages and errors as
they occur between Adroit Ignite HMI and the specified front-end device. So that if you are not a driver
expert, you can email this log file to Adroit support, who will then be able to assist you with your driver
problem.
The advantage of an HTML log file over a text file is that this file format preserves the colour of the
Datascope window, which makes the troubleshooting process easier.
The driver Monitor Launcher can be activated from the Diagnostics & Tools menu in the Designer.

Figure 92 Driver Monitor Launcher

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 93
11.7. Scheduler
Commands and utilities can be scheduled to run today, tomorrow, or on a particular day of the week or
month at a specified time using the Scheduler. Typical examples of its use would be printing a report,
archiving a file, starting a backup procedure, extracting logged data or doing a Putslot operation.

Figure 93 Scheduler – All users

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 94
11.8. Script Editor
This Script Editor is usually launched from the Script Agent so that their VB Script files can be edited.
It allows the concurrent editing of the following script file types: Script Agent VB Script files (*.BAS)

Figure 94 VB Script Editor

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 95
12. Adroit Ignite HMI Documentation
The following related documentation is also available on the Adroit Ignite HMI website. Here

13. Conclusion
By now we trust you have got a small feeling of the power of the Adroit Ignite HMI product and we look
forward to your feedback and sharing of some of your successful projects. More importantly that the
Adroit Ignite HMI and later the Adroit SCADA will form the core of your offering in all your automation
projects going forward.

The Adroit Technologies Team.

____________________________________________________________________________________________________________________________
ATQMS-MKTG-DOC-Adroit Ignite HMI Technical Description P a g e | 96

You might also like