Adroit Smart SCADA Quick Start Guide

This quick start guide is not a replacement for the in-built help resources or existing training material. Nor does it attempt to cover every single aspect of the Adroit Smart SCADA product. Instead, it is aimed at a first-time user who, having acquired the Adroit installer needs a quick route to get up-and-running and productive in the shortest possible time.

We start by doing a default, standalone installation onto a single PC or tablet, and create an OPC driver instance that connects to the in-built Adroit Simulated Batch OPC Server. We then create and configure a Mixer Temperature Analog and two Digitals to reset and start new batches. These are associated with relevant OPC Items in the server via scanning configuration.

The SmartUI Designer is then used to visualize and start batches, initially by working from first principles in a ground-up fashion, and then later by using pre-built wizards from the library of graphics artefacts that ship with Adroit.

Finally, because creating and configuring tags one-at-a-time, interactively is very time-consuming and unproductive, we explore how to bulk-build a configuration in Excel that scales up easily to many thousands of tags, if required.

For further, in-depth material check out Adroit training notes and feel free to click various help links throughout the product, once installed.

A second quick start guide follows on from this initial guide, and covers details about logging and trending


After acquiring the Adroit installer, double-click it to launch the Setup Wizard…

Thereafter just keep clicking the default Next > buttons, accepting the licence agreement, and all default options, etc., for several screens which will result in a default standalone installation onto a single computer. At which point you should find the short-cuts shown in the screenshot alongside on your Windows desktop.

Those with the little shield icons will run with elevated admin privilege. The Smart UI Operator HMI does not require additional privilege. More about these later, but before delving into any more detail we need to acquire a basic understanding of the Adroit system architecture.

System Architecture

A fundamental objective of SCADA/HMI is to communicate in real-time with PLC front-end devices, acquiring data input values, and transmitting control output values as and when required. Data inputs acquired from the PLCs are visualized by animating schematic or informational displays on client workstation HMIs. Control outputs to the PLCs usually originate from user interactions on the HMI workstations. To make all this happen, shown as grey rectangles inside a larger blue server rectangle on the diagram above, are the three major server components:

Drivers The Adroit installation includes dozens of different PLC drivers implemented as DLLs. These are located in a Drivers sub-folder under the Adroit installation (C:\Program Files (x86)\Adroit Technologies\Adroit\Drivers). Each different driver DLL is responsible for interfacing to a different type of PLC communications protocol, including the industry standard OPC (DA 2.0 as well as UA)
I/O Server An I/O Server (Agent Server in Adroit) contains a collection of intelligent objects called agents – ranging from the basic SCADA data types Digital and Analog through to more sophisticated data types like OEE (Overall Equipment Effectiveness). Around 30 agent types (also implemented as DLLs) exist, from which it is possible to create thousands of different agent instances forming the real-time SCADA tag database
Graphics Server The Smart UI Graphics Server is a .NET managed code process, started automatically by the I/O Server. It is responsible for making data available to Smart UI Operator clients running locally on the same machine, for a purely standalone configuration, or on separate workstation PCs, tablets, etc., on your local Intranet or indeed the global Internet

Also shown on the diagram are the various open-system API interfaces into the I/O Server: ActiveX Server, OLE Automation, ADO, OPC DA Server, as well as any SQL database – Oracle, SQL Server, etc., for long-term information storage and data warehousing.

Initial Setup

Initial setup and selection of a configuration is done from the Adroit Config Editor short-cut, which runs the Configuration Editor as shown below.

Above the Welcome link is a Configuration link that allows you to select an active configuration

from potentially many different configurations on the server. For example a System Integrator may have a different configuration corresponding to each different Adroit solution that has been engineered. On the other hand, an end-user machine will probably only have a single target configuration loaded. After an initial, clean installation of Adroit a single Default configuration exists. We will work on this for the rest of this guide.

As you can see, there are several different sub-systems that can be setup. We’ll go through the Agent Server Configuration now in a bit more detail:

Agent Server Configuration

The basic agent server configuration allows you to control the following parameters:

Agent Server Type This can be a standalone server, a cluster server, or a cluster-aware standalone server. Options other than the standalone server are advanced topics so we’ll leave them for now and stay with the default Stand-alone/Distributed Server option
Server Project Name By default this is the same as the computer name. If your computer name is very long or complicated, shorten this to something like MyProj
Agent Server Name By default this is just Adroit, but if you were setting up many Adroit servers on the same Intranet and with the same project name, you might call them Server1, Server2, etc. But for now just leave the server name as Adroit
WGP File Probably the most significant part of the basic agent server configuration, this is the name of the text file holding the tag configuration as you build it up. For the default configuration the file is called Default.wgp in C:\ProgramData\Adroit Technologies\Adroit\Configurations\Default\

Note: in keeping with Windows certification requirements, configuration data is stored in various sub-folders under C:\ProgramData\Adroit Technologies\

Driver Configuration

As the screenshot shows, only two drivers are auto-installed on an initial, clean Adroit installation. One is the OPC DA Client driver and the other is an in-built simulation driver:

To install any other driver, for example the Modbus Ethernet driver, we need to click the large Install new Driver button at the bottom of the driver configuration screen. Navigate to the C:\Program Files (x86)\Adroit Technologies\Adroit\Drivers\ folder, scroll down the correct driver in the list and double-click. This will install a copy of the Modbus Ethernet DLL.

To create an instance of a Modbus Ethernet device in Adroit, right-click the relevant driver in the tree, select Add device and give it a name, e.g. MOD_ETH1. This will display a driver-specific device configuration dialog which will allow you to configure various parameters, such as IP Address in the case of the Modbus Ethernet driver. Clicking the Help Document button should display a document describing the driver in some detail, including the configuration dialog

Throughout the rest of this guide we will use a simulation driver rather than connect up to a real PLC, so create an instance of the OPC DA Client driver called say BAT_OPC1:

On the dialog that pops up, select the installed Adroit Batch OPC Server as OPC Server to connect to.

You can run this OPC Server by just typing BatchOPC.exe at the Windows Run prompt, or just double-clicking BatchOPC.exe from Windows Explorer after navigating into the Adroit installation folder. Click the Auto start link to run a few batches. Note: you will need to check the Auto alarm reset option as well as the Reset link at the bottom in order to run several batches successfully, but this is not really important from an Adroit point-of-view – it’s just a detail of the simulated OPC server implementation

We are now in a position to start the Agent Server, and run up the Designer application to begin engineering an Adroit solution, so shut down the Config Editor for now by clicking the Finish button at bottom right of the screen.

Running the Agent Server and Designer Application

To run the I/O Server, or Adroit Agent Server double-click the relevant short-cut on your Windows desktop. Under normal circumstances, i.e. on a target machine, which has a fully-engineered Adroit solution deployed, the agent server will probably have been configured to start up automatically as a Windows service when the machine is (re)booted, but for now we can just run the agent server as a desktop application. As previously mentioned, in a default configuration such as we are running, this will

also start up the Smart UI graphics server which will enable applications like the SmartUI Designer and Smart UI Operator to be run.

To run the Designer double-click the relevant short-cut on your Windows desktop. This will open a login window in which you can just enter the normal Windows user name and password in use when you installed Adroit. There is a check box that can be ticked allowing you to log in to Designer automatically with the same credentials next time you run it. This is a good option to select to prevent you having to enter credentials every time.

The Designer screen layout or workspace looks something like:

Across the top is a menu bar with options to select between different aspects of the Designer application. Each menu item has a different set of tool-bar icons. Note: it a good idea to run the Designer full-screen and on the highest possible resolution monitor because as you will discover, screen real-estate is at a premium in this application.

Across the bottom is a tab group of various diagnostic windows which can be displayed giving details of what’s going on in the Graphic Form under design in the central area of the screen.

To the left of the central graphic form area are two tabbed windows: Enterprise Manager and Toolbox.

In Enterprise Manager you set up datasources such as the Adroit agent server, management items such as Profiles and other security settings, and Projects containing hierarchical collections of graphic forms.

When a graphic form is being edited, the Toolbox tab contains various different categories of Controls and Vectors that be used to construct Graphic Forms.

To the right of the graphic form area are some tabbed windows: Contents, Properties and Favourites that show the contents of the graphic form in terms of controls and vectors it contains, the properties of the particular control or vector selected on the form, and finally a list of commonly used favourite forms, wizards, or templates you have dragged across from Enterprise Manager.

Creating the SCADA tag database

To start creating the SCADA tag database, we need to open the datasources tree-node in Enterprise Manager, and locate the Adroit datasource as shown. If an Adroit datasource does not exist it probably means you have not started the agent server, so be sure to do this first.

We are going to create an Analog to represent the Actual Mixer Temperature OPC item in our Batch OPC Server device. We do this by right-clicking the correct data type – Analog in this case to represent temperature – and selecting Create Tag from the context menu. We choose the name BAT_01_MIX_01_TMP as a name because it is quite important to have a defined naming convention.

The convention chosen here is fairly commonplace, according to the format: XXX_nn_YYY_mm_ZZZ where:

XXX First three letters of the plant name (BAT for the Batch plant)
nn Specifies the process number on the plant (01 for our Analog)
YYY First three letters of the equipment type (Mixer in this case)
mm Ordinal equipment number (for when there is more than one item of the same kind of equipment)
ZZZ Three letter abbreviation for the signal type (Temperature in our case)

You can also provide a meaningful free-format description, e.g. Batch 01 Mixer 01 Temperature for the agentDescription property when creating an instance. Note: by convention all agent names in Adroit are uppercase. If mixed case names are created they will be mapped internally to uppercase in Adroit before being used.

In order to further configure the newly created Analog, right-click BAT_01_MIX_01_TMP in the Analog tree-node, and select Configure from the context menu, or alternatively select the Open Configurator Agent Server tool in the Home menu bar

In our Batch OPC Server, the Actual Mixer Temperature OPC item, corresponding to a 12-bit A-D converter, ranges from 0 to 4095, representing 0 – 45 Degrees Celsius.

In order to reflect this, we need to edit various properties of our Analog agent. Device span 0 – 4095, and Engineering Span 0 – 45. The high alarm limits also need to be set to Engineering Span Maximum.

Properties like this are most often called Slots in Adroit (also sometimes Attributes and are individually addressable for scanning, visualizing, alarming, logging purposes, etc. For example the scaled engineering value of our newly created Analog is represented as BAT_01_MIX_01_TMP.value, whereas its unscaled raw device value is BAT_01_MIX_01_TMP.rawValue.
We also need to create two Digital agents to represent the PlantReset and batch AutoStart OPC items in order to be able to start batches running. This we do by right-clicking the correct data type – Digital in this case – and selecting

Create Tag from the context menu. Following our naming convention, we choose names BAT_01_SIM_01_STR, and BAT_01_SIM_01_RST for these Digitals.

Scanning Tag Values

The next step is to associate tags with PLC addresses: inputs like our Mixer Temperature need to be acquired from the PLC, and controls like our Digitals need to be output to the PLC. This process is usually referred to as scanning in SCADA terms. Analogs and Digitals in Adroit both have a rawValue property which exists for the purpose of scanning to and from a PLC. Like most other types they also have a value property used for visualization and control on HMI screens. In this way Analog values can be suitably scaled – as in our case above where we need to transform a device span of 0 – 4095 into an engineering span of 0 – 45. Likewise, for Digitals this facility allows for the option of inverting values between SCADA and PLC, if required: TRUE (or 1) in SCADA meaning FALSE (or 0) in the PLC, and vice-versa.

To scan our Analog Mixer Temperature, select the Analog BAT_01_MIX_01_TMP in the Configurator and click the Scan… button towards the lower right.

This should bring up a screen something like the one shown. First you need to select BAT_OPC1 in the top-left Device pull-down. This corresponds to the OPC DA driver instance called BAT_OPC1 we installed in the Driver Configuration section earlier in this guide.

Next we choose the Address which, because the driver is an OPC driver, will be an OPC item, and can be browsed by clicking the ellipsis button (…) alongside the address field. This will launch an OPC Browser window from which you can select the ActualMixTemp OPC Item as shown.

Finally you need to select a Scan rate in milliseconds (1000 should be OK) and then click the Scan button bottom right, at which point the associated Tag and PLC Address will be shown in the list of currently scanned tags.

The procedure to scan our Digitals is pretty similar, but because we want to use them as a control outputs, we need to tick the Output enabled check box as shown, before clicking the Scan button.

A final step, once all tags are correctly scanned is to start the driver instance by selecting Started from the pair of radio buttons alongside the Device pull-down.
At this point, in order to make the SCADA configuration persistent we can right-click the Adroit datasource in Enterprise Manager, and select Save from the context menu. This means that the configuration and engineering we have done will be saved, and restored from disk when the agent server is restarted after a machine reboot, for example.

Visualizing and Controlling Tag Values

HMI Visualization in the Adroit Smart UI takes place on Graphic Forms that are contained within Projects So we create a project called Quick Start by right-clicking the Projects tree-node in Enterprise Manager and selecting Add Project from the context menu, supplying the name Quick Start.

Next we right-click the newly created Quick Start project tree-node and select Create Graphic Form from the context menu. We can name the new form Form_01 or anything suitable.

The simplest way to visualize a value on a form is to drop a Windows Forms Label from the Toolbox onto our graphic form as shown.

Next, select the Behaviours menu bar, and then click the Display Value tool at the left-hand side.

This will bring up the Select the data element to display dialog as shown below. You can then select the input data element to be displayed by clicking the Ellipsis button (…) which brings up an Input Value Data Element Browser as shown below.

Select BAT_01_MIX_01_TMP

To control our Reset and Start outputs, the obvious way is to drop two Windows Forms Buttons from the Toolbox onto our graphic form, as shown below. Note: It is good practice to name elements on the form appropriately. As you can see in the Properties window to the right, below, the Reset button is named btnReset. You can also see the text property for this control is set to Reset Plant and this shows up on the button itself on the graphic form. Similarly, the Start button is named btnStart and its text property is set to Start Batch.

To control these Digitals we need to apply an Operator Action behaviour to each of them.

This is located towards the right of the Behaviours menu bar above. When applying the behaviours we choose BAT_01_SIM_01_RST and BAT_01_SIM_01_STR, respectively from the Digitals tree-node. In terms of Control Action ensure that you select Set Boolean True for both tags’ Operator Action behaviours, as shown in the screenshot. Although still in

Designer as opposed to Operator you should nevertheless be able to preview the graphic form by clicking the green Run button at the top right of the form. This renders a preview of roughly what the form would look like in the run-time Operator HMI and in our case we should be able to start a batch by first clicking the Reset Plant button, followed by the Start Batch button. The Mixer Temperature value display should then show steadily increasing values.

To customize formatting of the displayed value, we edit the String Formatting field in the Select the data element to display dialog, above. For example, to append Deg C just type Deg C after the curly braces. To change the number of decimal places displayed from 2 to 3, change F2 to F3.

This batch should also be visibly running in the OPC Server provided you make sure the OPC Server application is also displayed on your Windows desktop.

Using pre-built Wizards from the library

Up till now we have been working more-or-less from first principles, creating displays and controls in a manual fashion. The resulting graphic form running in Operator, or previewed in Designer will look something like the screenshot alongside.

However, there are also a rich set of pre-built graphics artefacts in Adroit that can be used to put together graphic forms in a more rapid and productive way.

Start by creating a new graphic form and calling it Form_02 or something appropriate. Next, navigate to Dials folder under the Wizards/Gauges folder in the Shapes Wizards and Examples project in Enterprise Manager.

Select Analog Dial 1, drop and paste this onto your new form somewhere near the top left.

This will cause a Substitution Assignment pop-up to display, which allows you to substitute place-holder tag(s) in the wizard with actual tags. There is only one substitution to be made in this wizard and so you can select our

BAT_01_MIX_01_TMP Mixer Temperature Analog in the central Value column by clicking the ellipsis button (…)

For the Plant Reset control, navigate to the On Off Buttons folder under the Wizards/Buttons folder. Select On Button, drop and paste this onto the form, somewhere below the dial and to the left. Select our BAT_01_SIM_01_RST Reset Plant Digital into the wizard’s Value column.

Similarly, for the Start Batch control, locate Start Button 2 and use this for our BAT_01_SIM_01_STR Start Batch Digital. Drop and paste the wizard somewhere below the dial and to the right.

The result, in Operator or preview, should be something like the screenshot shown alongside. You are able to run batches by clicking the Reset button followed by the Start button and should be able to see the temperature changing this time on the dial.

Bulk-configuration of the tag database

The diagram above reflects the sequence of operations in building a tag database of potentially many thousands of tags:

Step Operation Description
1 Save Save the current memory-resident agent server configuration to ensure the WGP disk file is fully up-to-date
2 Export Export a selected sub-set of agents, e.g. Analogs and Digitals. This creates a number of different CSV files – one for each different agent type exported
3 Edit Extend the exported CSV file(s) either manually in a tool like MS Excel, or via a custom-developed tool that implements various engineering standards of your organisation
4 Import Import each extended CSV file to an Import WGP file
5 Load Load each Import WGP file into the Agent Server. You may find it more practical to repeat steps 4 and 5 iteratively – once for each separate, extended CSV file
6 Save Save the agent server to ensure the newly extended tag database is committed to disk

The way you would normally go about this is interactively create a single instance of each agent type, conforming to your chosen naming convention, as described earlier in Creating the SCADA tag database using the Configurator tool. Then execute the above sequence of steps as many times as necessary till the tag database has achieved its required quantity and content.

We’ll start by creating a prototype Analog BAT_01_PMP_01_SPD: Batch 01 Pump 01 Speed, and modify any properties we wish other agents to inherit from this prototype. For example we may choose to set the measurement Unit to RPM as shown.

Next, we Save and Export the agent server from the Configurator File menu, for now just selecting the Analog agent type when prompted.

Save the suggested default Analog.CSV file to your Windows desktop, and double-click to open it MS Excel, or your favourite CSV editing tool.

Note the first row in the CSV worksheet is a heading row containing abbreviations for each different Analog slot or property. Subsequent rows contain values for each of these slots, each row being a different Analog agent instance.

Delete all rows except for our prototype Pump Speed instance. Next, we need to extend the worksheet to, say, a total of 10 rows: Pumps 01 through 05, Processes 01 through 02. You can invent your own Excel formulae to do this.

The resulting worksheet should look something like:

Note there are several columns to the right which have not been shown, but you can see 10 separate rows, one for each unique Pump agent.

Highlighted to the right you can see the column corresponding to measurement units or engineering units. This is set to RPM for all instances.

Now save the modified CSV worksheet ignoring any formatting error messages from Excel, and Import the saved file from the Configurator File menu, creating a default Import.WGP file on your Windows desktop. The penultimate step is to load the import WGP file into the agent

server by selecting Load Agents… from the Configurator File menu, and then finally click Save, once again from the Configurator File menu, to commit the newly expanded tag database to disk.

Looking at the tag database in the Configurator you can clearly see our 10 new Analog Pump agents, and selecting one at random for editing shows the measurement unit is RPM as expected.

The same kind of sequence can be used to extend the tag database Digitals, as well as most other data types, and instead of growing by a mere 10 agents as we have done here, it is just as easy to grow by hundreds or even thousands, as required.

Bulk-configuration of PLC scanning

Bulk creation of PLC scanning configurations is a little different to the way agent types like Analogs and Digitals can be bulk-configured. This is because a PLC Device agent such as our BAT_OPC1 device essentially contains an arbitrary length list of Tag to PLC Address associations. And representing a list like this in a single CSV file row is not feasible. When you export a Device agent, as well as Device.CSV being created, a second file Dev-Scan.CSV is created, where Dev is the name of the Device agent. In our case the file BAT_OPC1-SCAN.CSV is created, that looks like:

Ignoring the first row which is not relevant but needs to be there if and when the extended CSV file is imported, we can see that there are four columns corresponding to PLC Address, Tag, Scan Rate, and Deadband respectively. To build a scan configuration for this device, all we need do is extend this file, making sure that in each additional row, we create

the correct PLC Address to Tag associations, along with the required Scan Rates in milliseconds, and Deadband values.

For each device, once the scan list CSV file has been appropriately extended, you need to import it via the Import… button highlighted on the Tag scanning configuration dialog shown.

Before importing however, it is a good idea to select the Stopped radio button, and not re-select the Started radio button until the scan list import is complete.

Finally, remember to Save the agent server from the Configurator File menu to ensure the extended scanning configuration is committed to disk.


Please email any feedback or suggested improvements to

Download Adroit