Wonderware InduSoft Web Studio 8.0 Train
Wonderware InduSoft Web Studio 8.0 Train
Wonderware InduSoft Web Studio 8.0 Train
L E A R N I N G S E R V I C E S
2016 by Schneider Electric Software. All rights reserved. No part of this document may be reproduced, stored
in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording or otherwise), or for any purpose, without the express written permission of Schneider
Electric Software. Except where noted, the companies, organizations, products, domain names, e-mail
addresses, logos, people, places and events depicted herein are fictitious and no association with any real
company, organization, product, domain name, e-mail address, logo, person, place or event is intended or
should be inferred.
Schneider Electric Software and the author(s) assume no responsibility for errors or omissions and no liability is
assumed for damages resulting from the use of the information contained herein. Use of the Schneider Electric
Software product described in this document is subject to the terms of the applicable Schneider Electric Software
license. These terms include provisions that limit your rights such as use restrictions, disclaimers of warranties
and limitations of Schneider Electric Software liability. By installing or using the Schneider Electric Software
product, you agree to accept all of the terms of the applicable Schneider Electric Software license. A copy of the
applicable license will be displayed upon initial installation of the software. If a copy of the license is not
displayed or you require an additional copy of the license, you may obtain one from Schneider Electric Software
by calling 1.949.727.3200 or by sending an e-mail to support@indusoft.com.
Schneider Electric Software, Wonderware, InduSoft, InduSoft Web Studio, InduSoft Web Studio, ArchestrA,
Factelligence, IntelaTrac, InBatch, InControl, IndustrialSQL Server, InSQL, InTouch, InTrack, QI Analyst,
SCADAlarm, SuiteLink, SuiteVoyager, WindowMaker, WindowViewer are trademarks and registered trademarks
of Schneider Electric Software, its subsidiaries and affiliated companies. All other brands and product names
may be the trademarks or service marks of their respective owner
Table of Contents i
Table of Contents
MODULE 1 - GENERAL CONCEPTS .................................................................................................... 1
APPENDICIES.................................................................................................................................... 263
SECTION 1 - INTRODUCTION
InduSoft Web Studio is a powerful tool that allows you to build HMI (Human Machine Interface)
applications for the Automation Industry.
A project tags database to manage all runtime data, including both internal variables and
scanned I/O
Optional modules such as alarms, events, trends, recipes, reports, scriptable logic,
schedulers, a security system, and a complete database interface
This InduSoft Web Studio Training Manual is intended for anyone who is using the development
software for the first time, and is designed to help you quickly familiarize yourself with the basic
features of InduSoft Web Studio.
Text conventions
This manual uses special text formatting to help you quickly identify certain items:
Titles, labels, new terms, and messages are indicated using italic text (for example, Object
Properties).
File names, screen text, and text that you must enter are indicated using monospace text (for
example, D:\Setup.exe).
Buttons, menu options, and keyboard keys are indicated using a bold font style (for example,
File menu).
Click and Select both mean to click once on an item with the left mouse button. In general,
you click buttons and you select from menus and lists.
Double-click means to quickly click twice on an item with the left mouse button.
Right-click means to click once on an item with the right mouse button.
Select also means you should use your pointing device to highlight or specify an item on the
computer screen. Selecting an item with a touchscreen is usually the same as selecting with
a mouse, except that you use your finger to touch (select) a screen object or section. To
select items with your keyboard, you typically use the Tab key to move around options, the
Enter key to open menus, and the Alt key with a letter key to select an object that has an
underlined letter.
Drag means to press down the appropriate mouse button and move the mouse before
releasing the button. Usually an outline of the item will move with the mouse cursor.
Window conventions
This manual uses the following Windows conventions:
Dialogs are windows that allow you to configure settings and enter information.
Text boxes are areas in dialogs where you can type text.
Radio buttons are white circles in which a black dot appears or disappears when you click on
the button. Typically, the dot indicates the option is selected or enabled. No dot indicates the
option is cleared or disabled.
Check boxes are white squares in which a check ( ) appears or disappears when you click on
it with the cursor. Typically, a check indicates the option is selected or enabled. No check
indicates the option is cleared or disabled.
Buttons are icons in boxes appear "pressed" when you click on them.
Lists are panes (white boxes) in windows or dialogs containing two or more selectable
options.
Combo boxes have arrows that, when clicked, show part or all of an otherwise concealed list.
Dockable windows are windows that you can drag to an edge of the interface and merge with
that edge.
Keyboard Shortcuts
To delete a selected item from a screen and store it on the Windows clipboard (replacing any
previously selected objects stored on the clipboard), either click Cut in the Clipboard group on the
Home tab of the Ribbon or press CTRL+X.
To copy a selected item without deleting it and store it on the Windows clipboard, either click Copy in
the Clipboard group on the Home tab of the Ribbon or press CTRL+C.
To paste the contents of the Windows clipboard (cut or copied objects) onto the active screen, either
click Paste in the Clipboard group on the Home tab of the Ribbon or press CTRL+V. You can paste a
cut or copied object multiple times.
To undo the last action performed (and up to 20 actions taken prior to the last action), either click the
Undo tool on the Quick Access Toolbar or press CTRL+Z.
To disable the dragging of objects in the screen editor to prevent accidental moves after you've layed
out the screen exactly as you want it, either click Disable Drag in the Editing group on the Graphics
tab of the Ribbon or press CTRL+D.
A complete list of keyboard shortcuts can be found in the appendices at the end of this manual.
SECTION 1 - INSTALLATION
The InduSoft Web Studio software suite actually comprises several individual components that can
be installed on different computers to perform different functions.
Web Thin Client Project runtime client, as a Internet Explorer for Windows
browser plug-in
The architecture of your finished InduSoft Web Studio project depends on which components you
install, where you install them, and how you connect them to each other.
In most cases, you should first install the full InduSoft Web Studio software on your primary
workstation. Not only does it set up the project development environment on your computer, it also
unpacks the rest of the components so that they can be installed on other computers.
Note: Microsoft .NET Framework 3.5.1 is pre-installed on newer versions of Windows, but it may not
be turned on. To turn it on, use the Programs and Features control panel item (Start > Control Panel
> Programs > Programs and Features > Turn Windows features on and off).
EmbeddedView or CEView
To install and run EmbeddedView or CEView, you must have:
100 MB of free hard drive space or non-volatile memory (flash card or hard disk) for the
runtime. More space might be required depending on your project size.
32 MB of free RAM. More memory might be required depending on your project size.
SECTION 2 - LICENSING
Any machine running InduSoft Web Studio, EmbeddedView, or CEView requires a license. License
settings include:
Protection type
Product version
Product type
Execution mode
Remote clients
Protection type
Each license is provided as either a hardkey or softkey.
Hardkey
An encapsulated chip that must be physically connected to the computer's USB interface.
The software license resides in the hardkey, and you cannot share this license simultaneously with
more than one other copy of software in the network. If you connect the hardkey to another computer,
then you effectively transfer the license to that computer.
Note: Be careful when installing or removing a hardkey from the computer's USB port. We strongly
recommend that you turn off the computer and disconnect it from the power supply before installing or
removing a hardkey.
Softkey
When you install InduSoft Web Studio, EmbeddedView, or CEView, the program generates a unique
Site Code. You can send this Site Code to your software vendor, who will then generate a Site Key to
match your Site Code. You can then use the Site Key to install the license on your Windows
computer or Windows Embedded device, as opposed to having the license stored on a hardkey.
Note: When you use a softkey, the license is recorded in the computer or device's permanent
memory. If the computer is damaged or lost, you will lose the license.
Product version
InduSoft Web Studio, EmbeddedView, and CEView should all have the same version number, which
uses the syntax X.Y+SPWW (e.g., InduSoft Web Studio v7.1+SP3), where:
X represents the Family version. The Family version changes only when major
enhancements are added to the product technologies and concepts.
Y represents the Sub-version: The Sub-version changes when minor enhancements and/or
new features are added to the product.
WW represents the Service Pack. The Service Pack version changes when you must install
add-on packages to accomplish the following:
o Provide minor enhancements before releasing the next version of the product
Each Service Pack release supersedes the previous Service Pack release. For example, SP2
includes all the contents of SP1 and all newly upgraded files, bug fixes, and enhancements.
SP3 includes all the contents of SP2 and all new upgraded files, bug fixes, enhancements
and so on.
InduSoft Web Studio, EmbeddedView, and CEView can all run projects that were developed in
previous versions of the product. However, previous versions cannot run projects that were
developed or modified in newer versions. Opening and modifying a project in a newer version will
update the project to that version.
Product type
The product type determines the maximum number of tags and communication drivers you can use in
the project.
Execution mode
The execution mode determines what features and functions of the software are operable.
Evaluation mode
Enables all of the InduSoft Web Studio development software features.
The first time you install InduSoft Web Studio on a computer, the product runs for forty (40) hours in
Evaluation Mode. This evaluation period includes any time you run a product module (engineering or
runtime). You can use this evaluation period continuously or not; for example, 10 hours a day for 4
days, or 5 hours a day for 8 days, or 10 hours a day for 3 days plus 5 hours a day for 2 days, and so
on.
After running for 40 hours in the Evaluation Mode, the evaluation period ends and the license
automatically converts to Demo mode until you activate a valid license. You cannot reactivate
Evaluation Mode, even if you reinstall the software on your computer.
Demo mode
Allows you to use the development software to download projects to remote stations and use the
remote management tools. You cannot create or modify screens, worksheets, or project settings in
Demo mode.
Allows you to use the runtime software to run projects for testing or demonstration purposes, but they
shut down automatically after running for two hours continuously. You can restart the project again
and run for another two hours, and so on.
Remote clients
The maximum number of concurrent remote client connections depends on settings of the license
installed on the project runtime server. Every license includes at least one Web Thin Client
connection, one Secure Viewer connection, and one Mobile Access connection. The license can be
upgraded to add more client connections. The user does not need to install any license on the thin
client.
The instructor will tell you where the InduSoft Web Studio installation media is installed. Alternatively,
you can download the InduSoft Web Studio installation media from the InduSoft website.
3. Launch Windows Explorer and open the folder containing the InduSoft Web Studio
installation media. Double-click setup.exe to launch the InstallShield Wizard. The
installation wizard runs and asks you to select a language for the installation.
This selection determines what language the installation wizard will use, as well as what
language the project development application's user interface will be in. You can change the
language of the user interface later, after you have installed the software.
4. Select a language from the list, and then click OK. The Preparing to Install page is opened.
During this step, it automatically installs SafeNet's Sentinel drivers (a part of the software
licensing mechanism), Microsoft .NET Framework, and other prerequisites, if required. When
the preparation is complete, then the Welcome page is opened.
7. Enter your name in the User Name field. Enter your company name in the Company Name
field. Click Next. The Choose Destination Location page is opened.
Note: This page is not displayed if you are upgrading an existing InduSoft Web Studio
installation.
When the setup is complete, then the InstallShield Wizard Complete page is opened.
2. Open the Windows Start menu and launch All Programs > Wonderware InduSoft Web
Studio v8.0 > Register. The Protection Manager is opened.
3. In the Protection Type group, select Softkey and click Check. The Softkey Settings dialog is
opened. If you see the following warning, then click Yes.
5. Select a network adapter from the list of available adaptors on the Network Adapter field.
Note: Do not pick a virtual adapter or an adapter that may be disabled. You must select an
adapter that is always on. If the selected network adapter becomes disabled or the MAC
address of the selected adapter changes, then the license will be invalidated.
6. After you select a network adapter, then a Site Code is created and displayed in the Site
Code field.
7. Submit the Site Code to the InduSoft licensing department or web licensing service. A Site
Key will be provided. Enter this Site Key into the Site Key field and click Authorize. You will
see the following dialog upon success.
8. Click OK. The Change License - Softkey dialog is closed. The Softkey Settings dialog is
updated to reflect your license settings.
Note: Your license settings may be different than those shown above depending on your Site
Key.
2. Open the Windows Start menu and launch All Programs > Wonderware InduSoft Web
Studio v8.0 > Wonderware InduSoft Web Studio v8.0.
Application Menu
The Application Menu button opens a menu of standard Windows application commands like New,
Open, Save, Print, and Close.
Recent Projects: Lists the most recently opened projects. Click on a project file to open it.
Save As: Save the active screen or worksheet file at another location.
Publish: Save your project's screens and screen groups in HTML format.
Print: Print the active screen or worksheet or preview what the active worksheet would look
like when it is printed.
Project Settings: Shortcut to Preferences in the Settings group on the Project tab of the
Ribbon.
Exit InduSoft Web Studio: Save the project database and close the development
environment. If you have any open screen or worksheet files that have not been saved, then
you are prompted to save your work.
Note: Closing the development environment does not stop the project runtime server or
client, if they are running. Select the Home tab of the Ribbon and click Stop in the Local
Management group to stop the project runtime server and client.
Click the Customize Quick Access Toolbar button at the far right of the Quick Access Toolbar to
view or modify the commands on the Quick Access Toolbar.
Ribbon Interface
The Ribbon Interface combines the numerous menus and toolbars into a single, user-friendly
interface. Almost all application commands are in the ribbon, organized into tabs and groups
according to general usage.
Home tag
The Home tab of the Ribbon is used to manage your project within the development environment.
Clipboard: Cut, copy, paste, and find items in project screens and task worksheets.
Local Management: Run and stop the project on the local station (i.e., where the
development environment is installed), as well as manage the execution tasks. You can also
run a project in Debug mode, for debugging VBScript.
Tools: Miscellaneous tools to verify the project, import tags from other projects, convert
screen resolutions, and register ActiveX controls.
View tab
The View tab of the Ribbon is used to customize the look of the development environment itself.
Show/Hide: Show and hide the different parts of the development environment, as well as
restore the default layout.
Options: Change the language and font used in the development environment.
Insert tab
The Insert tab of the Ribbon is used to insert new tags, screens, worksheets, and other components
into your project.
Global: Insert tags, classes, translations, and procedures into the Global tab of the Project
Explorer.
Graphics: Insert screens and screen groups into the Graphics tab of the Project Explorer.
Task Worksheets: Insert task worksheets into the Tasks tab of the Project Explorer.
Communication: Insert server configurations and communication worksheets into the Comm
tab of the Project Explorer.
Project tab
The Project tab of the Ribbon is used to configure your project settings.
Settings: Configure the general project settings or enable workgroup collaboration and
version control.
Web: Configure the project to accept connections from a variety of thin clients.
Graphics tab
The Graphics tab of the Ribbon is used to draw project screens.
Screen: Configure settings for the project screen itself, such as its attributes, script, and
background color or image.
Active Objects: Draw active objects, like buttons and check boxes.
Data Objects: Draw objects that display historical data, like alarms, events, and trends.
Libraries: Select from libraries of premade objects, such as symbols, ActiveX controls, and
external image files.
Note: The Graphics tab is available only when you have a project screen open for editing.
Format tab
The Format tab of the Ribbon is used to format and arrange objects in a project screen.
Arrange: Arrange objects in a project screen, including bring to front and send to back,
group, align, and rotate.
Note: The Format tab is available only when you've selected one or more objects in a project screen.
Help tab
The Help tab of the Ribbon provides additional help with using the software.
Documentation: Access the documentation for the development environment, including this
help file / technical reference and notes for the individual communication drivers.
Information: Access other information about InduSoft Web Studio, including the license
agreement, product website, and release notes, as well as system and support details that
make it easier for Customer Support to assist you.
Project Explorer
The Project Explorer window organizes all of the screens, worksheets, and other items that comprise
your project and presents them in an expandable tree-view.
To open or close a folder and view its contents, either click the chevron to the left of the folder or
double-click the folder itself.
If you right-click any item in the Project Explorer, then a shortcut menu is opened with contextual
commands for that item.
There are four main sections, or tabs, in the Project Explorer: Global, Graphics, Tasks, and Comm.
Global tab
The Global tab of the Project Explorer contains the project tags database, as well as other features
that apply to the entire project such as the security system, VBScript procedures, and UI translation.
Project Tags: The project tags database contains all of the data tags that you create during
project development, such as screen tags or tags that read from / write to connected devices.
Classes: Classes are compound tags that you can create to associate a set of values, rather
than a single value, with an object. For example, where you may normally create separate
tags for a tank's pressure, its temperature, and its fill level, you can instead create a "tank"
class that includes all three.
Shared Database: The shared database contains tags that were created in another program
and then imported into or integrated with your project.
System Tags: System tags are predefined values such as the date, the time, the name of the
current user, and so on. You can use these values to develop supervisory functions and
housekeeping routines. All system tags are read-only, which means you cannot add, edit, or
remove these tags from the database.
Security: If you choose to enable it, you can use the project security system to control who
may log on to your project and what they may do during runtime.
Procedures: Procedures are VBScript functions and sub-routines that can be called by any
other script in your project.
Event Logger: The event logger saves important runtime messages and task results to an
external database.
Translation: You can use the translation table to develop a multilingual user interface (MUI)
for your project.
Graphics tab
The Graphics tab of the Project Explorer contains all of the screens, screen groups, and symbols in
your project.
Screens: You create screens to provide a graphical interface for your project. Each screen
can contain many buttons, sliders, dials, indicators, graphs, and so on.
Screen Groups: You can combine individual screens into screen groups, so that they all
open together at the same time.
Thin Clients: You can deploy your project as a web application to be accessed by thin clients
such as desktop web browsers, tablets, and smartphones. You can even deploy different
versions of your project with different levels of functionality for each type of client.
Project Symbols: This folder contains all of the custom symbols that you create for your
project. A symbol is a group of interconnected screen objects that work together to perform a
single function for example, lines, rectangles, and text fragments that have been arranged
to make a slider control.
Graphics Script: You can use this worksheet to define VBScript sub-routines that are called
only when the graphics module starts (i.e., when a client station connects to the server and
displays the graphical interface), while it is running, and when it ends.
Symbols: The symbols library contains custom symbols that you create and a large selection
of premade symbols that are installed with the development environment.
Layout: The layout editor displays all of the screens currently open for editing. You can use it
to visualize how the screens are arranged together and reuse screens in multiple layouts
for example, to create a common navigation bar across your entire project.
Tasks tab
The Tasks tab of the Project Explorer organizes the worksheets that are processed as background
tasks (i.e., server-based maintenance tasks that are not directly related to screen operations or
device I/O) during project runtime.
Alarms: You can use Alarm worksheets to define when alarms are trigged, how they must be
handled, and what messages they generate.
Trends: You can use Trend worksheets to select project tags that should be displayed as
data trends and/or saved as historical data.
Recipes: You can use Recipe worksheets to select project tags that will load values from
and/or save values to an external file. These worksheets are typically used to execute
process recipes, but you can store any type of information such as passwords, operation
logs, and so on.
Reports: You can use Report worksheets to design runtime reports that are either sent to a
printer or saved to disk.
Math: You can use Math worksheets to develop complex runtime logic using the built-in
scripting language.
Script: You can use Script worksheets to develop complex runtime logic using VBScript.
Scheduler: You can use Scheduler worksheets to run commands at specified times, dates,
or trigger events.
Database: You can use Database worksheets to set up connections and exchange data with
external databases using the standard ADO.NET interface.
Comm tab
The Comm tab of the Project Explorer organizes the worksheets that control communication with
remote devices, using either direct communication drivers or other common protocols.
Drivers: You can use Driver worksheets to communicate with PLCs and other hardware,
using any of the hundreds of direct communication drivers that are installed with the
development application.
OPC DA 2.05: You can use OPC worksheets to communicate with OPC servers via the OPC
Classic protocol.
OPC UA: You can use OPC UA worksheets to communicate with OPC servers via the new
OPC Unified Architecture protocol.
TCP/IP: You can use TCP/IP worksheets to configure communication between your own
project and other InduSoft Web Studio projects. The TCP/IP Client and TCP/IP Server
modules enable two or more projects to keep their databases synchronized using the TCP/IP
protocol.
Workspace
Use the powerful, object-oriented screen and worksheet editor to create and edit a variety of screens
and worksheets for your projects.
You can input information using your mouse and keyboard, output control data to your processes,
and automatically update screens based on data input from your processes.
Database Spy
The Database Spy window is a debugging tool that allows you to monitor and force values to project
tags, execute and test functions, and execute and test math expressions in the development.
o Tag/Expression: Specify a project tag, system tag, or expression that you want to
monitor.
o Quality: Displays the quality (GOOD or BAD) of the value returned by the
tag/expression.
DB1, DB2, DB3, and DB4 tabs: The windows is divided into multiple sheets, so that you can
keep your items organized.
Note: The Remote Management group on the Home tab of the Ribbon includes a Database Spy tool
that you can use to connect to a runtime running on a different machine.
Output window
You can use the Output window to view debugging messages.
Log tab: Displays messages generated during project runtime from communication drivers,
OPC and TCP/IP transactions, module activation, trace tags, and so on. Also displays error,
warning, and informational that may get created while developing your project.
XRef tab: Use the Cross Reference tool in the Tags group on the Home tab of the Ribbon to
find every place in the project where a tag is being used. Results appear on this tab,
providing path and filename, column, row in the spreadsheet, and so on. So, if something
changes in the tag, and produces unexpected or unsuccessful results, you can locate all
instances of the tag for debugging purposes.
Note: The Remote Management group on the Home tab of the Ribbon includes a tool called LogWin
that you can use to connect to a runtime running on a different machine.
Title Bar
The Title Bar located along the top of the development environment displays the application name
(i.e., InduSoft Web Studio) followed by the name of the active screen or worksheet (if any).
The title bar also offers the following buttons (from left to right):
Button Action
Close Save the project database and close the development environment. If you
have any open screen or worksheet files that have not been saved, then
you are prompted to save your work. This button's function is the same as
Exit InduSoft Web Studio on the Application menu.
Status Bar
The Status Bar located at the bottom of the development environment provides information about the
active screen (if any) and status of the application.
The fields of the Status Bar (from left to right) are described in the following table:
Field Description
Execution mode The Execution mode of the application based on the license. (Development
Only, Evaluation or Demo)
CAP Indicates whether the Caps Lock key is on (bold) or off (gray).
NUM Indicates whether the Num Lock key is on (bold) or off (gray).
SCRL Indicates whether the Scroll Lock key is on (bold) or off (gray).
Position When a screen object is selected, this field indicates the position of the
object in pixels, relative to the top left corner of the screen, where X is the
number of pixels from the left and Y is the number of pixels from the top.
When no screen object is selected, the X, Y coordinates are the coordinates
of the mouse cursor relative to the active screen.
Object size The size (in pixels) of a selected screen object, where W is the width and H
is the height.
Dragging status Indicates if drag is disabled (No DRAG) on the active screen.
Tag count The total number of tags used thus far in the project.
2. Launch the InduSoft Web Studio development environment if it is not already open.
3. Click the Application button and click New on the Application menu. The New dialog is
opened.
5. Click Browse to the right of the Location field. The Browse for Folder dialog is opened.
6. Browse to the folder called C:\MyProjects and click OK. The Browse for Folder dialog is
closed. The read-only Location and Configuration file fields are filled based on the project
name and location.
Note: You can set the default location for new projects by opening Preferences in the
Settings group on the Project tab of the Ribbon.
Depending on your license type, you may need to use the scroll bar on the bottom of the
Product Type list box to find the product type.
8. Click OK. The New dialog is closed and the Project Wizard dialog is opened.
9. In the Display group, click on the Resolution combo box and select 1024 x 768.
Note: In most cases, the resolution should match the physical display size of the device that
will run your project runtime server and client.
10. Click OK. The Project Wizard dialog is closed. The project is created and displayed in the
Project Explorer.
Other files will be created in the project folder and sub-folders as you complete the remaining
labs. You are encouraged to come back and visit this folder as the training course
progresses to see whats changed.
But tags are more than simple variables. InduSoft Web Studio includes a real-time database manager
that provides a number of sophisticated functions such as time-stamping of any value change,
checking tag values against runtime minimum and maximum values, comparing tag values to
alarming limits, and so on. A project tag has various properties beyond the value that can be
accessed, some even being able to be edited at runtime.
Overview
There are three categories of tags:
Project Tags: Project tags that you create during project development. Places where project
tags are used include:
o Screen tags
o Control tags
Project tags count against your target system's tag limit whether or not they are used.
Shared Tags: Shared tags are tags from a third-party control application or device added to
the project using Tag Integration. They can be used anywhere in your project that you would
normally use project Tags.
You cannot modify shared tags within the project you must modify the tags in the third-
party control application or device.
Shared tags count against your target system's tag limit only when you use them in your
project.
System Tags: System tags are predefined tags with predetermined functions that are used
for supervisory tasks. For example,
They can be used anywhere in your project that you would normally use project tags.
However, most system tags are read-only, which means you cannot add, edit, or remove
these tags.
System tags do not count against your target system's tag limit.
Project, shared, and system tags are organized into the Project Tahs, Shared database, and System
Tags folders
Tag Properties
Tag Name
Tags names must be unique you cannot specify the same name for two different tags (or
functions). If you enter a name of an existing tag, InduSoft Web Studio recognizes that the
name already exists and will not create this new tag.
You must begin each tag name with a letter. However, you can use letters, numbers and the
underscore character (_) in the tag name.
You can use a maximum of 255 characters for a tag name or Class member name. You can
use uppercase and lowercase characters. However, because tags are not case sensitive, you
can use character case to make tag names more readable. (For example: TankLevel instead
of tanklevel.)
Tags names must be unique from system tags and function names.
Note: Use the @ character at the beginning of a tag name to indicate that the tag will be used as an
indirect tag in the project.
Temperature
Pressure_1
Data Type
Boolean: Simple boolean with the possible values of 0 (false) and 1 (true). Typically used for
turning objects off and on or for closing and opening objects.
Integer: Integer number internally stored as a signed 32-bit. Typically used for counting
whole numbers or setting whole number values.
Real: Real number that is internally stored as a signed 64-bit IEEE-754 flaoting point value.
Typically used for measurements or for decimal or fractional values.
String: Character string up to 1024 characters that holds letters, numbers, or special
characters. Supports both ASCII and UNICODE characters.
Scope
InduSoft Web Studio allows you to decide whether a tag "lives" on the project server or on each
remote client station:
Server (default): The tag is maintained on the project server and shared by all connected
clients (e.g., Thin Client, Secure Viewer). A change to the tag value affects the entire project.
Local: A virtual copy of the tag is maintained separately on each local station (server +
clients). A change to the tag value affects only the station on which the change was made.
Array tags
An Array Tag consists of a set of tags with the same name but with single array index (a matrix of n
rows and one column) to distinguish each Tag.
Each array position (including position 0) counts as a tag for licensing restrictions, because each
position has an independent value.
TagName[ArrayN], or TagName[ArrayN+c]
Use the array tag whenever possible, since it optimizes memory usage and simplifies the task of
configuration. For example, if you want a display to monitor each tank, you can use array tags to
configure a single display, containing tags linked to any tank. For example (using the nt tag as an
index containing the tank number): pressure[nt], temperature[nt], and temperature[nt+1].
You must specify a maximum index for each array tag in the size column of any product data sheet.
You can specify n to indicate the array tag has positions 0 through n. For example, if the size of TagA
is 3, the tag elements can be TagA[0], TagA[1], TagA[2], and TagA[3].
An array index can be a tag, a numeric value, or an expression with a "+" arithmetic operation. When
you refer to an array with an index using the + arithmetic operation, you must use the following
syntax:
ArrayTagName[Value1+Value2]
Where Value1 and Value2 can be an entire tag or a numeric constant. For example:
temperature[nt+2] or temperature[nt+6].
Classes
Classes allow for a high degree of encapsulation. A class is a model composed of two or more tag
definitions, each with its own data type. You can use Classes in the projects that have items (e.g.,
Tank liquids) with multiple attributes (e.g., Level, temperature, pressure) to be monitored or
controlled.
Class names must be unique you cannot specify the same name for two different classes
(or functions). If you enter a name of an existing class, InduSoft Web Studio recognizes that
the name already exists and will not create this new class.
The member of one Class cannot belong to another Class. However, you can create
members with the same name in different Classes.
When a new Class Tag is created, each member of the class counts as a tag used, because each
member can obtain a value. (For example, if you create a class with five members, and then create
five tags of this class, this adds up to a total of 25 tags).
Use the class tag, whenever possible, since it optimizes memory usage and simplifies the task of
configuration. For example, if you want a display to monitor the attributes of a tank, you can use class
tags, containing members linked to the tank tag. For example (using the tank tag with members of a
tank class): tank.level, tank.temperature, tank[4].flow.
Indirect tags
InduSoft Web Studio supports indirect access to tags in the database. For example, consider a tag X
of type String. This tag can contain the name of any other tag in the database (i.e., it can provide a
pointer to any other type of tag, including a class type). The syntax for an indirect tag is simple:
@IndirectTagName. For example, suppose a tag called X contains a TEMP string. Reading and/or
writing to @X gives access to the value of the TEMP tag.
Any tag created as a string type tag is potentially an indirect tag (pointer). To refer to a class-type tag,
you can declare a string -type tag that points to a class tag.
IndirectTag = ProjectTag
@IndirectTag
For example, a project exists which contains the following three tags:
In this project, the two integer tags have the following values:
IntTagA = 1234
IntTagB = 6789
If the value of StrPointer is null () or any value other that the name of an existing tag, the indirect tag
@StrPointer would have no value with a BAD quality.
Pro Tip: You can also insert a single tag by right-clicking on the Project Tags folder in the
Project Explorer and selecting Insert Tag.
2. Selecting Tag opens the New Tag dialog, allowing easy tag creation.
3. Fill on the fields as shown in the above image and click OK to add the tag called iVar1 to the
Tags Database.
Pro Tip: You can quickly monitor your current tag count by using the Status Bar. The
information at the far right side, , will give you the current number of user-
created tags.
3. Create two more tags called iVar2 and iVar3 by filling out the tags database worksheet as
shown below.
Each storage tank has values for Pressure, Temperature, Level, and Contents
Each tank has an Empty valve and Fill Valve. Each Valve has a Command and State value.
Pro Tip: You can also create a new class by right-clicking on the Classes folder in the Project
Explorer and selecting Insert Class.
2. Type Tank in the Name field of the Insert Class dialog as shown below and click OK.
4. Configure the class members called rLevel, rPressure, rTemperature, and sContents as
shown below.
7. Type Valve in the Name field of the Insert Class dialog as shown below and click OK to open
the new class worksheet in the Workspace
8. Configure the class members called bCommand and bState as shown below.
10. In the Global tab of the Project Explorer, expand the Project Tags folder and double-click on
Datasheet View to open the tags database worksheet.
11. Configure the cTank, cFillValve, and cEmptyValve tags as shown below
The status bar should indicate that you are using 35 Tags, as each combination of tag, class member
and array element provides us with access to a different value in the Project.
Concept
InduSoft Web Studio is designed to run on devices running Windows Embedded. The Remote
Management interface allows you to perform installation and maintenance from your development
device.
Overview
Installing the InduSoft Web Studio on a target system is a two-part procedure. First, you will copy the
Remote Agent utility (CEServer.exe) to the target system and then run it. Remote Agent allows you to
connect to the runtime device from the Remote Management utility within the InduSoft Web Studio
development environment to the target system. Once connected, you will then install the rest of the
runtime software through the Remote Management.
Before you begin, you must have already installed the full InduSoft Web Studio development software
on your computer, because the redistributable runtime software is included in the InduSoft Web
Studio program folder and will be installed from the Remote Management feature.
Serial COM ports to be used for direct communication with PLCs and other devices.
2. Run CEServer.exe on the device. The first time you run the utility you will receive a message
requesting to enable security.
3. Select No. Next a dialog will ask if you wish to display this message in the future.
4. Select Yes.
Do not be concerned with the message that says Cannot start Runtime project. You
get this message because you havent copied your project to the industrial computer, yet.
Note: If CEServer.exe is not already installed on the machine then you can copy it from the
machine where InduSoft Web Studio is installed. It is in the Redist\EmbeddedView\Bin folder of
the InduSoft Web Studio installation folder (typically C:\Program Files (x86)\Wonderware InduSoft
Web Studio v8.0\Redist\EmbeddedView\).
3. On the Home tab of the Ribbon, click Connect under Remote Management.
5. Enter the IP address for the target system in the Host field.
6. Click Connect. If security has not been enabled on the Remote Agent, then you will see
this message.
Click Yes.
7. The first time you connect to a new Remote Agent, you will receive this message.
This indicates that the Remote Management tool did not locate installed system files on the
industrial computer. Select OK.
8. If you are successfully connected, then the connection status is shown in the Status box and
the target system's specifications are shown in the Platform box.
Note: If you are not connecting properly, then check both the connection settings and the physical
connections. In particular, if you have selected Network IP as the connection type, then check to
make sure that the target station firewall rules have been configured to allow remote access to
CEServer.exe according to the instructions in the appendix.
2. The Remote Management Tool will then upload and install the EmbeddedView runtime
software to the industrial computer. You can monitor the progress on both the Development
and the Industrial computer.
When the installation is finished, the target system's updated status is displayed in the Status
box.
Note: When a new version of InduSoft Web Studio is available, the upgrade should be applied to
the development server. After upgrading the development server, connect to the runtime using
the Remote Management as above and select Install System Files. The upgrade will
automatically be applied.
Target: The location for the project on the target runtime device. The default location
is a folder with the same name as your project in the folder where CEServer.exe was
installed.
2. Click Download to download the entire project to the industrial. You will see a message
similar the following the first time you download your project. Click Yes.
Note: Best practice is to always stop a running project prior to downloading changes.
Pro Tip: Once you've initially configured the Remote Management settings and connect to the
target machine, then you can use Download in the Remote Managment group of the Home tab of
the Ribbon to send updated project files at any time without opening this dialog.
You can compress the project files to make them download more quickly over a slow network
connection. To do this, select the Enable File Compression check box in the Communication tab
of the Project Settings dialog.
Note: The runtime software includes a two-hour Demo License that may be used in lieu of activating
a runtime license.
2. This window will display the current product license (if any), as well as the Site Code.
3. Provide the Site Code from the Site Code field to the InduSoft Licensing department. When
you receive the Site Key for license activation, enter it into the Site Key field and click Send.
A message will indicate success or failure.
4. Once the license is activated, you may disconnect from the Industrial computer.
Note: You can also activate the runtime license by clicking Setup >> License >> Change License
from the Remote Agent.
Click Run or Stop in the Remote Management group on the Home tab of the Ribbon.
Use the Run and Stop buttons on the Project tab on the Remote Management tool.
Click Start on the Remote Agent. Clicking Exit will stop both the Remote Agent as well as any
running project.
You will configure a Driver task using MOTCP (MODBUS protocol via TCP/IP) to perform
communication between some tags and addresses.
Concept
The Driver Runtime task is responsible for exchanging data with other systems. These other systems
may be other software (i.e. PC Based Control Software), an external device (such as a PLC, Robot,
Remote I/O, Barcode reader), or any other device that supports a protocol that is implemented by the
communication driver.
A communication driver is a DLL containing specific information about the remote equipment and
implements the communication protocol. Drivers for dozens of common and not-so-common devices
are installed with InduSoft Web Studio.
Overview
Driver messages are pieces of structured communications sent over some physical medium, such as
a serial connection, Ethernet, Wi-Fi, or even using a proprietary protocol and a specialized port.
Messages are encoded with an addressing scheme that a receiving or listening station recognizes.
Messages are constructed in layers called abstraction layers and each layer consists of a set of
functionality providing a needed service to the preceding layer.
InduSoft Web Studio provides two interfaces which you can use to configure the driver (associating
project tags to device addresses):
Main Driver Sheet: Provides the easiest method for configuring communication between project tags
and device addresses. This interface allows you to automatically group tags to provide the best
performance during runtime. You cannot use this interface to control the time needed to scan a group
of tags individually.
Standard Driver Sheets: Allows you to control the time needed to scan a group of tags individually.
Select the driver help document you wish to open and select Help. The file will open in your devices
default pdf reader.
Adding a Driver
Use one of the following methods to add or remove a driver:
On the Insert tab of the Ribbon under Communication, click Add/Remove Driver; or
Right-click the Drivers folder in the Global tab of the Project Explorerand click Add/Remove
drivers.
Both methods open a Communication Drivers dialog, which displays a list of available drivers.
To add a driver to the current project, select the desired driver under Available drivers: and click
Select >>. To remove a driver from the project, highlight the driver listed under Selected Drivers: and
click the >> Remove button.
Pro-Tip: You can also access the Drivers help file from this dialog by selecting the desired driver
under Available drivers: and clicking the Help button.
Driver Settings
The Driver Settings dialog allows the user to adjust the settings that will be used by all communication
worksheets configured for each communication driver. Note that the settings may likely be different to
that driver and protocol. Therefore, it is highly recommended to open and follow the drivers help file
mentioned above.
To access the Driver Settings, open the Comm tab of the Project Explorer and expand the Drivers
folder to display all currently added drivers.
Note: The settings dialog will be different depending on which driver is selected. Refer to the driver-
specific help document for information about configuring these settings.
Note: The Main Driver Sheet is not available for all drivers.
Using the MDS the user simply needs to associate one tag to each station/address and configure one
of the following actions for each tag:
Read
Write
Read+Write
When the driver runs, the MDS creates virtual groups for reading commands, the size of which will
not exceed the maximum block size supported by the protocol. The READ command is executed
using the READ BLOCK Method (reads a block of addresses in each message), triggered whenever
the System Tag BlinkSlow toggles (600ms by default). The WRITE command is executed using the
WRITE ITEM Method (writes only one tag value to one address in each message), triggered when
the respective tag changes value.
Header area (top section), contains parameters that affect the all tags configured in the
Body area of this worksheet; and
Body area (bottom section), where you define the relationship between tags in the project
and their field equipment address.
Description field: Type a description of the Main Driver Sheet for documentation purposes.
Disable field: Type a tag or an expression to enable and disable the communication of each
Main Driver Sheet on the fly.
o Type a value (or expression result) that is greater than zero to disable the Main
Driver Sheet.
o Type a zero (or leave this field blank) to enable the Main Driver Sheet.
Read Completed field: Type in a tag and the communication driver toggles the tag when it
completes a read command.
Read Status field: An integer tag updated with the returned status of the last read command
from the driver (See Troubleshooting in the drivers help file for values)
Write Completed field: Type in a tag and the communication driver toggles the tag when it
completes a write command.
Write Status field: An integer tag updated with the returned status of the last write command
from the driver (See Troubleshooting in the drivers help file for values)
Min and Max checkbox: Click (check) to specify minimum and maximum values for data
from the field equipment.
Min and Max fields (become active only when you enable the Min and Max checkbox): Type
a range of values, which can be converted into an engineering format.
o The project uses these fields to determine a minimum/maximum range of values for
data from the field equipment. The scaling is done automatically. You must configure
the engineering range using the Min and Max parameters on the Tag Properties
dialog. This range affects all tags in the worksheet, except those with customized Min
and Max values, as specified in the Body area of the driver sheet (Min and Max
columns).
Tag Name field: Type the name of a project tag to be used by the communication driver.
Station field: Type the number of the equipment station within the network. The syntax in
this field varies with each communication driver. Refer to the appropriate driver's
documentation for further information.
I/O Address field: Type the address of the field equipment related to the project tag. The
syntax in this field varies with each communication driver. Refer to the appropriate driver's
documentation for further information.
Action field: Specify the communication direction, using one of the following options:
o Read (the project reads the address from the field device and updates the Tag value
on a 600ms trigger.)
o Write (the project writes the tag value to the field device when the tag value
changes.)
o Read+Write (Combines the procedures of both the Read and Write parameters.)
Scan field: Specify the condition under which the tag value is read from the remote device or
server and then updated in the project database, using one of the following options:
o Always means the tag is read and updated during every scan of the communication
worksheet, regardless of whether the tag is used in any other project screens, scripts,
or worksheets.
o Screen means the tag is read and updated only if it is being used in at least one
open project screen, either locally or on another client station.
This option is recommended for tags that are used in screen objects,
because the project may not need to update tags that are not being
visualized anywhere. Selecting this option can improve project performance.
o Auto means the project will automatically choose either Always or Screen, based on
where the tag is used in your project. If the tag is only used in a screen object on a
project screen, then the scan will default to Screen. But if the tag is configured in any
other interface (e.g., Script, Math, Alarm, Trend, Recipe, Report, Scheduler), then the
scan will switch to Always and remain there until the project is stopped.
If you are not sure of which option to select, select Always. This will
guarantee the tag is read and updated.
Div field: Specify the division constant when scale adjustment is required. This value is a
division factor in a read operation and a multiplication factor in a write operation. Do not use
this field if you are already using Min or Max in the configuration body.
Add field: Specify the addition constant when scale adjustment is required. This value is an
addition factor in a read operation and a subtraction factor in a write operation. Do not use
this field if you are already using Min or Max in the configuration body.
Note: The Main Driver Sheet can have up to 32767 rows. If you need to configure more than 32767
communication addresses, then either configure Standard Driver Sheets or create additional
instances of the driver.
To open a Standard Driver Sheet, right-click on a driver in the Project Explorer and select Insert.
Note: You can have a total of 9,999 Standard Driver Sheets for all drivers in your project.
Header area (top section): contains parameters that affect the all tags configured in the Body area
of this worksheet
Body area (bottom section): defines the relationship between tags in the project and their field
equipment address.
Description: Type a description of the Standard Driver Sheet for documentation purposes.
Increase Priority checkbox: Click (check) to keep the reading and writing commands for
this sheet on the top of the communication queue whenever they are triggered.
Read Trigger: Type a tag that triggers the project to read the worksheet automatically when
you change this tag's value.
Enable Read when Idle: Type a tag or constant value. Use a tag (or constant) value greater
than zero, to enable reading from the equipment.
Read Completed: Type in a tag and the communication driver toggles the tag when it
completes a read command.
Read Status: An integer tag updated with the returned status of the last read command from
the driver (See Troubleshooting in the drivers help file for values).
Write Trigger: Type a tag value to activate a group reading. Whenever you change this tag
value, the program writes an equipment worksheet.
Enable Write on Tag Change: Type a tag or constant value (not zero) to enable the
communication driver to check the worksheet continuously for changes in the tag value. If a
change occurs, the project writes this value to an address in the field equipment.
Write Completed: Type in a tag and the communication driver toggles the tag in this field
when a write command completes.
Write Status: An integer tag updated with the returned status of the last write command from
the driver (See Troubleshooting in the drivers help file for values)
Station: Type the equipment station number within the network. The syntax in this field
varies with each communication driver. Refer to the appropriate driver's documentation for
further information.
Header: Specify the data type and/or initial address to be read or written in the equipment.
The syntax in this field varies with each communication driver. Refer to the appropriate
driver's documentation for further information.
Pro-Tip: You can dynamically change the Station and Header fields in runtime by using a string tag
within curly braces (e.g. {TagName}) in these fields
Min and Max checkbox: Check this box to specify the minimum and maximum values for
field equipment data.
Min and Max fields (become active only when you enable the Min and Max checkbox): Type
a range of values to be converted into an engineering format. These fields determine the
minimum and maximum range of values. These values affect all tags in the worksheet.
Tag Name: Type a tag name for the communication driver to use.
Address: Type a field equipment address (or address offset) related to the project tag. The
syntax in this field varies with each communication driver. Refer to the appropriate driver's
documentation for further information.
Div: Specify a division constant to use when scale adjustment is required. The project uses
this value as a division factor in a read operation and a multiplication factor in a write
operation. Do not use this field if you are already using Min or Max in the configuration body.
Add: Specify an addition constant to use when scale adjustment is required. The project
uses this value as an addition factor in a read operation and a subtraction factor in a write
operation. Do not use this field if you are already using Min or Max in the configuration body.
Note: Each Standard Driver Sheet can have up to 4096 rows. However, the Read Trigger, Enable
Read When Idle, and Write Trigger commands attempt to communicate the entire block of addresses
that is configured in the sheet, so if the block of addresses is larger than the maximum block size that
is supported by the driver protocol, then you will receive a communication error (e.g., "invalid block
size") during run time. Therefore, the maximum block size imposes a practical limit on the number of
rows in the sheet, and that limit varies by driver. For more information, please refer to the driver
documentation for your selected driver.
Adding a Driver
1. On the Insert tab of the Ribbon, select Add/Remove Drivers (Communication group).
3. Locate the MOTCP driver, select it, and click the Select button.
5. Click OK.
2. In the Project Explorer under the Comm tab, expand the Drivers folder, and then expand the
MOTCP folder.
SECTION 2 - OPC
This section explains how to configure a connection with an OPC DA Server and how to execute the
communication between your project and the Server.
You will configure a worksheet to perform the communication between some project tags and OPC
server variables using the OPC protocol.
Concept
The OPC worksheet is used to communicate with any system that implements the OPC Server
standard for data access. Most OPC servers use the Data Access (OPC DA 2.05) or Unified
Architecture (OPC UA) standards introduced by OPC Foundation.
2. In the Project Explorer on the Comm tab, right-click on OPC DA 2.05 and select Insert.
5. Set the field called Read Update Rate to 500 to specify a maximum update rate to one-half
second (500ms).
6. Add the tag called OPCdisable to the field called Disable and the tag called OPCstatus to the
feld called Status.
8. In the Item column, on the row corresponding to the tag called OPCtag1, right-click the
mouse and select OPC Browser. Expand the OPC items by double-clicking the folder called
Simulation Examples and then the folder called Functions. Select the item called Random1
as shown below and click OK.
This will add the item to the OPC client worksheet as shown below.
ProTip: If you know the full item name of the item you want to add, then you can type the
name into the Item column instead of using the OPC Browser.
9. Repeat the step above for the tags called OPCtag2 and OPCtag3 and the items called
Random2 and Random3. When you are done, then your OPC client worksheet should look
like the following.
Concept
Tag integration allows you to directly integrate tags from a third-party control application or device into
your InduSoft Web Studio project.
It does so by sharing the Tags Database of the other application or device with the tags database of
your InduSoft Web Studio project, allowing the project to utilize the tag within the project. It also
creates consistency, since the tag names being used are the same names as in the other device.
Furthermore, Tag Integration will create the connection automatically by use of the driver task.
Currently there are seven sources that may be used by use of the Tag Integration tool. These are:
RSLogix 5000 Family (uses the ABCIP driver, also supports OPC)
NOTE: Using Tag Integration will add the devices driver to the project, and as such is subject to
any tag and driver limitations on the runtime license. Therefore, it is important when using this
feature to ensure the current license level supports adding any additional tags and/or drivers.
Overview
Tag integration is an enhanced framework for device communication. It is built on the same
communication drivers that are described in the Drivers section, but instead of manually configuring
driver worksheets to associate project tags with device registers, you can use the Object Finder to
browse the device registers and add them directly to your project.
Registers added in this way appear as tags in the Shared Database folder. They are "live" that is,
they are continuously and bilaterally updated during run time as long as the source is also running
and properly connected and they can be used anywhere in your project that you would normally
use project tags.
These tags count against your target system's tag limit only when you use them in your project. This
is different from the driver worksheets, where you might create a group of tags in order to associate
them with device registers but then never actually use them in your project.
This feature is supported only for certain third-party control applications and devices, because
additional work is required to upgrade an existing communication driver for tag integration. However,
many of the communication drivers included with InduSoft Web Studio can be upgraded, so if you do
not see the one you want, then please contact your software vendor and ask about custom
development.
Concept
Database Spy, Output window, and LogWin are designed to troubleshoot and debug the project from
the development environment. These tools allow the user to access project tags, receive feedback on
internal and communication tasks, and even run certain functions from the development environment.
These tools are accessible even without being physically at the runtime device.
The Database Spy is a monitoring tool that allows you to: monitor and force values to project tags;
execute and test functions as well as math expressions.
The Output window is a troubleshooting tool that allows you to view log messages generated during
project runtime. The window displays Driver and OPC transactions, module activation, trace tags, and
so on.
The LogWin is similar to the Output window except that is allows you to view log messages generated
by a runtime running on a remote machine. It also provides that ability to same log messages to a
disk file.
2. Open the Project tab. Download the project changes made in the last few labs to the device.
Once complete, select Run. Verify the project is running on the target device.
3. Close the Remote Management tool. This will not stop the project.
4. On the Home tab of the Ribbon, click Database Spy under the Remote Management group.
5. The Remote Computer dialog is opened. Enter the IP address of your target runtime device.
6. Click OK.
Note: If you have trouble connecting, then make sure that the runtime is running on the
target station and the firewall rules have been configured to allow remote access to the
runtime software according to the instructions in the appendix.
7. If the connection is good, then the Remote Database Spy window is displayed.
Tag/Expression: Specify a project tag, system tag, or expression that you want to
monitor.
Quality: Displays the quality (GOOD, BAD or UNCERTAIN) of the value returned by
the tag/expression.
Continuous: Select this option to have the project continuously evaluate the
tag/expression.
8. Make the Database Spy window bigger, add the following functions and tags to the
Tag/Expression column.
If everything is working, then you should see tag values and GOOD quality. If you are experiencing
driver or OPC communication errors, then thoe tags would show BAD quality.
9. When you are done, click Close to disconnect from the remote computer.
Pro Tip: Keep the Remote Database Spy on top of other windows even when switching
programs, by right-clicking the Database spy icon ( ) and selecting Always on Top.
Remote LogWin
1. On the Home tab of the Ribbon, click LogWin under the Remote Management group.
2. The Remote Computer dialog is opened. Enter the IP address of the Target Runtime device.
3. Click OK.
Log: Configure the LogWin message settings. Refer to the table under the Output
Window for descriptions of these items.
Options: Allows you to insert a timestamp on messages, locks the LogWin on top of
other windows, and configure autosave options.
6. Open the Log menu, and select Field Read Commands, Field Write Commands, and OPC
DA 2.05.
7. Open the Options menu, and click Insert Date/Time and Always on Top.
9. Open the Log Menu, and select Tags to open the Log Tags window.
11. Use the Object Finder to add the tag called cTank[1].rLevel.
12. Anytime the tag called cTank[1].rLevel tag changes value, then the new tag value will be
logged to the LogWin window.
Note: If you need to pause the display, you can select Pause from the Edit menu or by
pressing <F9>.
13. When you are done, just close the window to disconnect.
Pro Tip: Keep the Remote Logwin on top of other windows even when switching programs.
Open the Options menu from the menu bar and select Always on Top.
Concept
The most basic function performed by InduSoft Web Studio is to provide a window into the process.
The ability to display the status of the process by interacting with instrumentation (or computers) is
described as the Human-Machine Interface (HMI).
InduSoft Web Studio allows you to create projects that can monitor processes using high-resolution
color screens. Each screen is an association of static and animated objects. Individual screens can
be combined into more manageable screen groups.
Screens and screen groups are organized into the Screens and Screen Group folders on the
Graphics tab of the Project Explorer.
Overview
Screens
The Screens folder contains all of your Screen worksheets, both completed and still in development.
On the Insert tab of the ribbon, in the Graphics group, click Screen.
On the Graphics tab of the Project Explorer, right-click the Screens folder and click Insert on
the shortcut menu.
Click the Application button, click New on the Application menu, click the File tab in the New
dialog, select Screen from the list of worksheet types, and click OK.
Pro Tip: You cannot rename a screen using the development environment. If you want to rename a
screen, then open a screen for editing, click the Application button to open the Application menu,
select Save As, save the screen using the new name, and delete the old screen.
Screen attributes
When a Screen worksheet is opened for the first time, the Screen Attributes dialog for that worksheet
is automatically displayed.
You can also access the Screen Attributes dialog for an existing Screen worksheet (assuming the
worksheet is open for editing) by doing one of the following:
On the Graphics tab of the ribbon, in the Screen group, click Attributes.
Right-click anywhere in the Screen worksheet and then click Screen Attributes on the
shortcut menu.
The Screen Attributes dialog is used to configure runtime settings such as size, location, title bar,
security level, and screen logic for a specific project screen.
System Menu Provides a menu of basic window commands at the left end of the
title bar.
Maximize Shows the Maximize button at the right end of the title bar.
Box
Minimize Box Shows the Minimize button at the right end of the title bar.
Security The minimum security level that a user must have to access this
screen.
Screen Logic On Open Lists expressions to be evaluated once when the screen is
opened, similar to a Math worksheet.
While Open Lists expressions to be continuously evaluated while the screen is
open, similar to a Math worksheet.
On Close Lists expressions to be evaluated once when the screen is closed,
similar to a Math worksheet.
Multi-Touch Settings Customizes the Multi-Touch settings for this screen.
Focus Receive When the screen is opened, the focus will automatically go to the
focus on first object in the screen (according to Object ID) that can receive
open focus, as if the user tabbed into the screen.
Share tab When the user tabs through the last object in the screen, the focus
order with will go to the next open screen (according to Tab Order below)
other screens rather than back to the first object in the current screen.
Tab Order Similar to Object ID for screen objects, this determines the tab
order between screens when multiple screens are open. When the
user tabs through the last object in a screen, the focus will go to
the open screen with the next higher Tab Order number.
Each screen should have a unique Tab Order number between 0
and 32767.
Background When the user clicks on the screen, it remains in the background
screen and is not brought in front of the other open screens. If more than
one screen has this option selected, then the screens are
arranged in tab order with the greatest Tab Order number being
the farthest back.
Performance Hide screen Closing the screen (by any user action or system process) only
Optimization instead of makes it hidden, and reopening the screen makes it visible again.
closing it This makes the screen appear to open very quickly.
Keep screen When the screen is closed, the screen file is kept in memory so
file in that it does not need to be reloaded from the hard drive when the
memory screen is reopened. The screen still needs to be redrawn,
however. This is not as fast as Hide screen instead of closing it
above, but it still makes the screen appear to open quickly.
A project screen can have either a solid background color or an editable background image.
By default, a newly created project screen has a solid white background. You can change the screen
background color on a screen that is open for editing using the Background Fill color picker by doing
one of the following:
On the Graphics tab of the ribbon, in the Screen group, click Background Color.
Right-click anywhere in the Screen worksheet and then click Background Color on the
shortcut menu.
Note: You cannot select a background color if the screen has a Background Picture.
If you enabled the Background Picture in the Screen Attributes, then make sure the screen file is
open for editing and do the following:
On the Graphics tab of the ribbon, in the Screen group, click Background Image.
Microsoft Paint is run automatically and the image file is opened for editing.
Screen Groups
The Screen Group folder combines individual Screen worksheets from the Screens folder into more
manageable groups.
On the Insert tab of the ribbon, in the Graphics group, click Screen Group.
On the Graphics tab of the Project Explorer, right-click the Screen Group folder and click
Insert Screen Group on the shortcut menu.
Pro Tip: You cannot rename or change a screen group using the development environment. If you
want to rename or change a screen, then you must delete the existing screen group and recreate it.
Layout Tool
To open the Layout tool, do one of the following:
On the Graphics tab of the ribbon, in the Screen group, click Layout.
On the Graphics tab of the Project Explorer, right-click the Layout tool and click Open on the
shortcut menu.
The Layout tool displays all screens currently open in the Workspace and allows you to:
o Right-click on the screen displayed on the Layout tab and use the alignment options
or the Screen Attributes link to modify the screen position.
o Click and drag the screen to change its position or resize it.
Visualize how the screens fit together during runtime. This option is especially useful when
creating pop-up/dialog screens or groups of screens.
Create Screens
Header screen
1. On the Insert tab of the ribbon, in the Graphics group, click Screen.
Pro Tip: You can also right-click the Screens folder on the Graphics tab of the Project
Explorer and the click Insert on the shortcut menu.
2. In the Size group, in the Width and Height fields, enter 1024 and 150, respectively.
3. Click OK to close the Screen Attributes dialog. The new screen is opened in the Workspace.
Note: The name of your screen may be different from that shown in the picture above.
5. On the Graphics tab of the ribbon, in the Graphics group, click Background Color.
7. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
Navigation screen
1. On the Insert tab of the ribbon, in the Graphics group, click Screen. The Screen Attributes
dialog is opened.
2. In the Size group, in the Width and Height fields, enter 150 and 618, respectively.
4. Click OK to close the Screen Attributes dialog. The new screen is opened in the Workspace.
6. On the Graphics tab of the ribbon, in the Graphics group, click Background Color. The
Theme Colors dialog is opened.
8. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
Template screen
1. On the Insert tab of the ribbon, in the Graphics group, click Screen. The Screen Attributes
dialog is opened.
2. In the Size group, in the Width and Height fields, enter 874 and 618, respectively.
3. In the Location group, in the Top and Left fields, enter 150.
4. Click OK to close the Screen Attributes dialog. The new screen is opened in the Workspace.
6. On the Graphics tab of the ribbon, in the Graphics group, click Background Color. The
Theme Colors dialog is opened.
8. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
Main screen
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
3. In List of screens list box, select the screens HEADER, MAIN, and NAVIGATION screens.
5. On the Graphics tab of the Project Explorer, click the chevron to the left of the Screen Group
folder. The Screen Group folder is expanded.
6. On the Graphics tab of the Project Explorer, right-click the StartUp.SG screen group folder
and click Set as startup on the shortcut menu.
Pro Tip: You can view and change the screen that will be opened when the projet runtime
client starts by selecting Viewer in the Settings group on the Project tab of the Ribbon.
1. On the Graphics tab of the Project Explorer, click the chevron to the left of the Screens
folder. The Screens folder is expanded.
2. On the Graphics tab of the Project Explorer, click the chevron to the left of the Screen Group
folder. The Screen Group folder is expanded. Click the chevron to the left of the StartUp.SG
folders. The StartUp.SG screen group folder is expanded.
If your runtime is on a remote machine, then use the the Remote Management tools on the Home tab
of the Ribbon to download your project to the remote machine. Start the runtime and test. The project
runtime client should look similar to the following:
SECTION 2 - FORMATTING
This section explains how to format screen objects using standard graphics options.
Concept
Formatting allows the user to format and organize the objects and shapes on the screen of their
project, as well as set different editing properties of a screen. This is to make creating and editing
objects on the screen as effortless as possible.
Editing and formatting screens and objects can be done through the Editing group on the Graphics
tab of the Ribbon, as well as the Format tab of the Ribbon.
Overview
Editing group
The Editing group on the Graphics tab of the Ribbon provides tools for general screen editing.
Selection
Click Selection to display a mouse cursor that you can use to select and move objects on the screen.
Click the chevron to the right of Selection to open the shortcut menu.
Disable Drag
Click Disable Drag to disable the dragging of objects in the screen editor, to prevent accidental
moves after you've layed out the screen exactly as you want it.
Replace
Click Replace to replace all occurences of a tag or text string in the current screen.
Note: You can also open the Replace dialog in the Tags group on the Home tab of the Ribbon.
You can replace one or more tags by clicking the Whole Tag Name tab. Current tags used are
displayed. The original tag names are shown in the From column on the left, and you can enter your
new tag names in the To column on the right.
This does not rename or delete any tag it only replaces the tags used in the object with other tags
from the project tags database.
If you have complex tag names using classes or arrays and you only want to change a portion of the
tag name, then click Replace by parts.
The Whole Tag Name tab will be replaced by separate tabs for Level, Main Tag Name, Array
Index, Class Member, and Tag Field.
Pro-Tip: To replace all occurances of a tag in your project, you can open Global Replace in the Tags
group on the Home tab of the Ribbon.
You can also replace one or more text strings (e.g., button captions, descriptive text) by clicking the
String Value tab.
When you are done, click OK. The Replace dialog is closed.
Object Properties
Note: You can also open the Object Properties dialog by right-clicking a screen object clicking
Properties on the shortcut menu, or simply double-click a screen object.
This dialog shows the configurable properties of a screen object or animation. Each type of screen
object and animation has its specific properties, but all types have a few properties in common.
Grid Settings
Click Grid Settings to edit the grid settings. The Grid dialog is opened.
Note: You can also open the Grid dialog by right-clicking anywhere in the Screen worksheet is Grid
on the shortcut menu.
When you are done, click OK. The Grid dialog is closed.
Undo
Click Undo to cancel the last action performed (and up to 20 actions taken prior to the last action)
while working on a screen.
Arrange
The Arrange shortcut menu provides the same tools as those found in the Arrange group on the
Format tab of the Ribbon. See below for more information.
Note: This tab is available only when you have selected one or more objects on a project screen.
Arrange: Arrange objects in a project screen, including bring to front and send to back,
group, align, and rotate.
Arrange
The Arrange group on the Format tab of the Ribbon includes tools used to arrange objects in a
project screen.
Screen objects are automatically assigned ID numbers, starting with ID 0, as you add the objects to a
project screen. (To check the ID number of an object, simply select it. The ID number is displayed on
the status bar at the bottom of the development application window.) The object with ID 0 is the
furthest back, behind all other objects on the screen, and each additional object is displayed in front
of it. In other words, objects with higher ID numbers are displayed in front of objects with lower ID
numbers.
On a finished screen, you may have objects arranged in overlapping layers that you want to
rearrange so that they are displayed correctly. You can bring an object to the front, so that it is
displayed in front of all other objects, or you can send an object to the back, so that it is displayed
behind all other objects. You can also move an object forward or backward one layer at a time, if
necessary.
On the Format tab of the ribbon, in the Arrange group, click the text area of the Bring to front control
to open the shortcut menu.
To bring the object all the way to the front (i.e., increase it to the highest ID number), then click Bring
to Front on the shortcut menu.
To bring the object one layer forward (i.e., to increase its ID number by 1), then click Bring Forward
on the shortcut menu.
On the Format tab of the ribbon, in the Arrange group, click the text area of the Send to back control
to open the shortcut menu.
To send the object all the way to the back (i.e., decrease it to ID 0), then click Send to Back on the
shortcut menu.
To send the object one layer backward (i.e., to decrease its ID number by 1), then click Send
Backward on the shortcut menu.
Note: You can change the layering order of objects by right-clicking the selected objects in the
screen, and then click Bring to Front, Bring Forward, Send to Back, and Send Backward on the
shortcut menu.
Group
A group of objects can be selected, moved, copied, and in some cases modified as if it is a single
object, which makes it easier to manage in a busy project screen. Moreover, a group can be grouped
with other groups to create increasingly complex groups.
On the Format tab of the ribbon, in the Arrange group, click the Group control to open the shortcut
menu.
To group two or more screen objects, then click Group on the shortcut menu.
Note: You can group or ungroup objects by right-clicking the selected objects or group or objects in
the screen, and then click Group on the shortcut menu.
Once you have created a group, you may choose to save a master of it in your Symbols Library and
then reuse it elsewhere in your project. Each copy will be linked to the master so that if you change
the master, all of the linked copies will also be changed. See the section called Creating your Own
Symbols for more information.
Align
When you select two or more objects, you can align those objects based on the location of the last
object selected. As you select objects, solid handles display on the last object selected, and the
handles on all previously selected objects become empty (unfilled) boxes.
On the Format tab of the ribbon, in the Arrange group, click the text area of the Align control to open
the shortcut menu.
Click the Align Left tool to align all selected objects to the left edge of the last object selected.
Click the Align Center tool to align all selected objects to the vertical center of the last object
selected.
Click the Align Right tool to align all selected objects to the right edge of the last object selected.
Click the Align Top tool to align all selected objects to the top edge of the last objected selected.
Click the Align Middle tool to align all selected objects to the horizontal center of the last object
selected.
Click the Align Bottom tool to align all selected objects to the bottom edge of the last object selected.
Click the Distribute Horizontally tool to put an equal amount of horizontal space between a series of
objects (two or more).
Click the Distribute Vertically tool to put an equal amount of vertical space between a series of
objects (two or more).
Rotate
On the Format tab of the ribbon, in the Arrange group, click the text area of the Rotate control to
open the shortcut menu.
Click the Rotate tool to rotate the selected object 90 degrees (a quarter turn) clockwise.
Click the Flip Vertical tool to invert the selected object vertically. The object rotates around an
imaginary line through its vertical center until it is a mirror image of the original object.
Click the Flip Horizontal tool to invert the selected object horizontally. The object rotates around an
imaginary line through its horizontal center until it is a mirror image of the original object.
Position
Moving a screen object by selecting and dragging it can be imprecise especially if you have "snap
to grid" enabled so you can use the Position tools to precisely adjust the position of an object.
On the Format tab of the ribbon, in the Position group, use the X and Y controls to adjust the
horizontal and vertical position of the object.
Size
Use the Size group on the Format tab of the Ribbon to precisely adjust the size of a screen object.
Enter a specific width or height in the Width and Height Fields, respectively. Alternatively, click the
text area of the Resize control to open the shortcut menu.
Click the Resize Both tool to set the width and height of all selected objects to the width and height of
the last object selected, or to resize one selected object so that its width equals its height.
Click the Resize Width tool to set the width of all selected objects to the width of the last object
selected, or to resize one selected object so that its width equals its height.
Click the Resize Height tool to set the height of all selected objects to the height of the last object
selected, or to resize one selected object so that its height equals its width.
You also can use the mouse pointer. When you select an object (or group of objects) with the pointer,
handles are displayed at each corner and at the midpoint of each side. To resize an object, drag a
handle in the direction you want to resize the object. Dragging a side handle resizes the object in one
direction only (height only or width only). Dragging a corner handle resizes the entire object (height
and width). When you drag a corner handle, the object's proportions are constrained by default. To
freely resize the object, hold down the SHIFT key as you drag the handle.
Style
Use the Style group of the Format tab on the Ribbon to change the fill and line color and width of a
screen object.
Click the Fill Color tool to specify a default fill color for the following objects:
Closed Polygons
Ellipses
Rounded Rectangles
Rectangles
Click the Line Color tool to specify a line color for the following objects:
Open Polygons
Closed Polygons
Lines
Ellipses
Rounded Rectangles
Rectangles
When you click the Line Color tool, the Line Selection dialog displays. Use this dialog to specify line
styles and color for the selected objects.
Pro Tip: To save development time, select several objects and use Fill Color, Line Color, or Line Style
to specify a default style for all of them at once.
Fonts
Use the Fonts group of the Format tab on the Ribbon to change the caption font of a screen object.
Click the Fonts tool to specify the font and color for selected Text objects, or to specify a default font
and color for new Text objects.
Pro Tip: To save development time, select several Text objects and use the Fonts tool to specify font
and color settings for all of the objects at once. (You cannot use this function for grouped Text objects
however.)
Concept
The symbols library contains a large selection of premade symbols that are installed with the InduSoft
Web Studio development environment, such as pushbuttons, toggle switches, gauges, dials, indicator
lights, and so on.
Overview
The Symbols library is a visual browser for all of the symbols that are available to be used in your
project screens. To open the library: on the Graphics tab of the Ribbon, in the Libraries group, click
Symbols.
Expand the System Symbols and click any folder to see the available symbols.
The library is divided into two main folders: the Project Symbols folder contains your user-made
symbols for the current project, and the System Symbols folder contains all of the premade symbols
(sorted by type) that are installed with the InduSoft Web Studio software.
1. Find the symbol you want in the library, and then double-click it. The mouse cursor will
change to indicate that you have a symbol waiting to be placed.
2. Return to the project screen where you want to place the symbol.
4. Edit the symbol's object properties as needed, including any custom properties.
2. In the Libraries group of the Graphics tab of the Ribbon, click on Symbols.
4. Expand the System Symbols folder of the System in the menu on the left.
6. Click tank01 to select it. The cursor will change, indicating the symbol is now ready to be
placed.
Arrows\Arrow05
Arrows\Arrow07
Pipes\Pipe16
Pipes\Pipe02
Valves\Valve05
Valves\Valve06
10. Create the following layout on the Main screen using the added symbols.
Remember to use the tools on the Format tab of the Ribbon to move and align objects.
11. Double-click on the Tank01 symbol to open the Object Properties Window.
12. The Properties listed are preconfigured Custom Properties for the objects in the Linked
Symbol. These can be assigned to Captions or Animations within the Symbol, and can
reference static values or even tags.
14. Double-click on the Valve05 symbol to open the Object Properties Window.
16. Double-click on the Arrow05 symbol to open the Object Properties Window.
18. Double-click on the Valve06 symbol to open the Object Properties Window.
20. Double-click on the Arrow07 symbol to open the Object Properties Window.
22. Double-click on the first Meter07 symbol to open the Object Properties Window.
24. Double-click on the second Meter07 symbol to open the Object Properties Window.
26. Repeat steps 2 through 25 to create similar layouts for Tanks 2 and 3. When you are done,
then the Main screen should look similar to the following:
Pro Tip: Use the tools on the Format tab of the Ribbon to group and copy the layout you
created. Use the Replace tool to change the tag used from cTank[1] to cTank[2] and
cTank[3], cFillValve[1] to cFillValve[2] and cFillValve[3], and cEmptyValve[1] to
cEmptyValve[2] and cEmptyValve[3], respectively.
2. In the Libraries group of the Graphics tab of the Ribbon, click on Symbols.
4. Expand the System Symbols folder of the System in the menu on the left.
6. Click button_exit to select it. The cursor will change, indicating the symbol is now ready to
be placed.
8. Click on a point near the upper left of the screen to insert the Symbol.
10. If your runtime is on a remote machine, then use the the Remote Management tools on the
Home tab of the Ribbon to download your project to the remote machine. Start the runtime
and test.
SECTION 4 - SHAPES
Using a step-by-step tutorial, this section explains how to insert active objects, insert shapes, and
formatting options that will be used for the training course.
On the HEADER screen, you will place title text objects for the project and image with the companys
logo. You will also use the Rectangle Shape to display Date and Time.
Concept
The Shapes allow the user to create polygons, rectangles, lines and other objects for their screen,
personalizing it.
Concept
Active Objects allow you to create interactive objects on the screen, with which you can add an
interactive button, display text, make selections, and a variety of other options. Most options allow
you to read and write values from tags as well as expressions.
Overview
InduSoft Web Studio has nine basic Active Objects:
Text: Creates text objects in order to display a single line of text. This object also supports
the Text Data Link animation, allowing you to display tag/expression values, as well as write
tag values.
Text Box: A text input/output box in OS style that can be configured to show several lines.
Button: Creates custom buttons specifically defined for use with the command animation.
Radio Button: Creates interfaces from which users can view and select between several
options on the screen.
Combo Box: Creates a drop-down combobox, allowing you to select an item from a list.
List box: Displays a list of messages tied to a tag/expression value, or may be used to write
a value to a tag by selecting a message.
Smart Message: Displays messages that can be changed by the user or by value during
execution, and can even update a tags value. Message Viewer. The Smart Message may be
configured as a Message Display, Multi-state Indicator, or Multi-state Push Button.
Preparation
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
Button
1. Open the NAVIGATION screen.
2. On the Graphics tab of the Ribbon in the Active Objects group, select Button.
3. Click and drag on the NAVIGATION screen to shape the button as shown below:
8. You can insert new buttons, repeating stages 2-6; or copy the object, using Ctrl+C and
Ctrl+V option, or press and hold the Ctrl key, then click and drag.
9. At the end of the process, you will have the following buttons on the NAVIGATION screen.
Text Object
1. Open the ACTIVE OBJECTS screen.
2. In the Graphics tab of the Ribbon menu, click on the Text option in the Active Objects group.
3. Click on a point on the screen near the top of the screen to start writing. A flashing cursor will
appear.
8. Use the dialog to configure the font to Arial, Bold, size 28, color White.
9. Click OK.
Text Box
1. In the Graphic Ribbon, select Textbox from the Active Objects group.
2. Click and drag on the ACTIVE OBJECTS screen to shape the Textbox.
4. Under Tag/Expression, type sArray as above and click another location on the dialog.
Since this tag name does not exist, InduSoft Web Studio will prompt you to create the tag.
5. Select Yes.
9. Back on the Object Properties dialog, select the Multi-line and Word Wrap checkboxes.
Pushbutton
1. On the Graphics tab of the Ribbon in the Active Objects group, select Pushbutton.
2. Click and drag on the ACTIVE OBJECTS screen to shape the Pushbutton as shown below.
4. Under Tag/Expression, type bToggle and click another location on the dialog. Since this tag
name does not exist, InduSoft Web Studio will prompt you to create the tag.
5. Select Yes.
9. Back on the Object Properties dialog, add the tag bToggle in the Indicator field.
11. Change the Caption in the Open section to Open and the Caption on the Closed section to
Closed as above.
Checkbox
1. On the Graphics tab of the Ribbon in the Active Objects group, select Checkbox.
2. Click and drag on the ACTIVE OBJECTS screen to shape the Checkbox.
4. Under Caption, type Toggle Tag and under the Tag field type bToggle.
Radio button
1. On the Graphics tab of the Ribbon in the Active Objects group, select Radio button.
2. Click and drag in the ACTIVE OBJECTS screen to shape the Radio button.
4. Under Caption, type Integer Value 1, under the Tag field type iVar1 and for the True
Value select 1 as above.
6. Create four additional radio buttons, with iVar1 as the Tag, but with the Caption and True
Value showing values for the numbers 2-5 instead. For example, the second radios caption
will be Integer Value 2 and the True Value will be 2. Repeat with:
With [n] being 2 through 5. The Tag field will not change.
Combo Box
1. On the Graphics tab of the Ribbon in the Active Objects group, select Combo Box.
2. Click and drag on the ACTIVE OBJECTS screen to shape the Combo Box.
5. Click the Data Sources button. This will open the Data Sources dialog.
6. For Type, type Static Labels. Click the Settings button to enter the text that will be displayed
in the combobox object. Type the numbers one through five as shown below, leaving the first
line blank.
7. Click OK to return to the Data Sources dialog, then click OK to return to the Object Properties
window.
8. Click the button called Advanced to open the advanced object properties and change the field
called Drop List Size to 6 as shown below.
List Box
1. On the Graphics tab of the Ribbon in the Active Objects group, select List Box.
2. Click and drag on the ACTIVE OBJECTS screen to shape the List Box.
4. Under both the Read/Search Tag and the Write Tag fields, enter the iVar1 tag as above.
6. Click the Messages button. This will open the Messages Configuration dialog.
7. For State 00, type Zero as the Message, 0 as the Value, set the Text Foreground to Red,
and select the Text Blink checkbox. For States 01 through 05, under Messages type the
name of the number as above.
Smart Message
1. On the Graphics tab of the Ribbon in the Active Objects group, select Smart Message.
2. Click and drag on the ACTIVE OBJECTS screen to shape the Smart Message.
4. For Type, select Message Display and for Value Type, select Integer.
6. Click the Messages button. This will open the Configuration dialog.
7. For State Error, type Error Out of Range as the Text/Message, set the Text(FG) to Red,
and select the Text Blink checkbox. For States 0 through 5, under Text/Message type the
name of the number as above.
11. If your runtime is on a remote machine, then use the the Remote Management tools on the
Home tab of the Ribbon to download your project to the remote machine. Start the runtime
and test.
SECTION 6 - ANIMATIONS
This section explains, using a step-by-step tutorial, how to insert animations on screen objects.
Concept
Animations can be applied to a screen object or even to a group of objects. Animations allow you to
modify the properties of the object during execution according to the tag or expression values.
Multiple animations may be added onto the same object, provided the object supports the desired
animation.
Overview
InduSoft Web Studio has the following 8 types of animations:
Command: allows you to use click or key events on the object to execute a command in
runtime.
Hyperlink: allows you to click on the object during execution to execute the standard browser
and to open the configured URL, or to open a file in the default application for that filetype.
Bargraph: allows users to configure an object as a bargraph filling the object with color either
horizontally or vertically.
Text Data Link: an animation to text objects that allow users to insert values to a tag and
display tag/expression values in runtime.
Color: allows you to modify the color of an object during runtime based on the value of a tag
or expression.
Resize: allows users to increase or decrease the size of an object based on a tag/expression
value.
Rotation: allows users to rotate the object on the screen at a defined pivot point based on a
tag/expression value.
Preperation
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
Hyperlink
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Hyperlink.
Bargraph
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Bargraph.
Color
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Color.
Visibility
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Visibility/Position.
Position
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
2. Click and drag to create a Rectangle with a width and height of 201.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Visibility/Position.
8. Tag/Expression: cTank[2].rTemperature
Resize
1. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
5. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Resize.
8. Tag/Expression: cTank[3].rTemperature
Rotation
1. On the Graphics tab of the Ribbon in the Shapes group, select Line.
2. Click on the ANIMATION screen to start the line. Right-click another point on the screen to
complete the object.
6. With the object selected, on the Graphics tab of the Ribbon under the Animations group,
select Rotation.
13. If your runtime is on a remote machine, then use the the Remote Management tools on the
Home tab of the Ribbon to download your project to the remote machine. Start the runtime
and test.
SECTION 7 - LIBRARIES
Using a step-by-step tutorial, this section explains how to insert images and create your own symbols
to be used by the project.
Concept
Libraries are built-in, user-created, or installed objects, such as symbols or ActiveX controls, and
allows users to add external images (linked picture).
Overview
InduSoft Web Studio has the following 3 Library options:
Symbol Library: A visual browser for all the built-in or user-created symbols available to be
inserted in a screen.
ActiveX: you can use most ActiveX components installed in your computer.
Linked picture: allows the user to associate an external image with the project so that you can
easily reuse the image in your project and/or dynamically change the image during execution.
Concept
As discuss previously, the symbols library contains a large selection of premade symbols that are
installed with the InduSoft Web Studio development environment. When you use a symbol from the
system library, then a local copy of that symbol is stored with your project. You can also create your
own symbols.
Overview
A Project Symbol is as a set of one or more objects that you can save and reuse in your projecy.
They are organized into the Symbols folders on the Graphics tab of the Project Explorer.
You can also access your Project Symbols by selecting Symbols on the Libraries group of the
Graphics tab of the Ribbon.
The syntax for a custom property would be (Items within brackets [ ] optional):
#[Category.]PropertyName:[DefaultValue]
2. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
9. Click on Fonts.
13. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
14. Click and drag on the Main screen to shape the object.
Level: {#Data.LevelTag:cTank[1].rLevel}
Temp: {#Data.TempTag:cTank[1].rTemperature}
Press: {#Data.PressureTag:cTank[1].rPressure}
18. Click OK
20. On the Graphics tab of the Ribbon in the Shapes group, select Rectangle.
21. Click and drag on the Main screen to shape the object.
31. On the Graphics tab of the Ribbon in the Active Objects group, select Text.
32. Click on the Main screen to add the object. A cursor will appear.
34. Double-click on the Text object to open the Object Properties window.
38. Click OK
43. Select all four objects by drawing a box around the objects with your cursor
44. Right-click the selected objects and click Create Linked Symbol.
45. A Save As dialog is opened. For File name:, type TankData and click Save.
Pro-Tip: By default, the symbol will be saved in your projects \Symbol folder. If you wish to have this
symbol available to all projects, you can save the .sym file in your installation folder (typically
C:\Program Files (x86)\Wonderware InduSoft Web Studio v8.0\Symbol). Saving the
.sym file will make the symbol file available by accessing the Symbols library.
46. The objects are now a linked symbol. Back on the Main screen double-click the symbol to
open the Object Properties window.
48. In the Libraries group of the Graphics tab of the Ribbon, click on Symbols.
50. Click on Project Symbols on the left. Select the TankData symbol from the Symbols group.
51. Select the tab in the Workspace for the Main screen.
57. If your runtime is on a remote machine, then use the the Remote Management tools on the
Home tab of the Ribbon to download your project to the remote machine. Start the runtime
and test.
Concept
The Translation Table is a worksheet that you can use to create a multilingual user interface (MUI) for
your project. (This is different from changing the language of the development environment itself; that
is done with the Language command on the View tab of the ribbon.) The worksheet is divided into a
Source column, which contains original pieces of text from your project screens, and a Target
column, which contains the translated equivalents of the items in the Source column.
Overview
To open the translation table, do one of the following:
On the Insert tab of the ribbon, in the Global group, click Translation.
On the Global tab of the Project Explorer, right-click the Translation folder and click Open on
the shortcut menu.
The Translation Table is used to manage the languages into which you want to translate your project.
Adding a language to the table is as simple as selecting it from a list and then automatically
translating your project texts.
Make sure the Enable Translation option is selected. If this option is cleared, then the entire
Translation Table worksheet is disabled and the language cannot be changed during run time.
If the source language of your project is other than the language of the development environment
itself, set the source language:
To the right of the Source language box, click the browse button. The Languages dialog box
is displayed.
In the Languages dialog box, select the language for which your project was originally
developed, and then click OK.
In the Languages dialog box, select the language to which you want to translate your project, and
then click OK.
The selected language is added to the Select list, and a new worksheet is created for the language.
The Source column of the worksheet is automatically populated with all of the translatable text strings
in your project, and the Target column is blank.
For each text item in the Source column, enter the translation in the Target column. You can manually
translate the items one by one, or you can automatically translate multiple items using Google
Translate.
Highlight the cells in the Source column to select them, and then press Ctrl-C to copy those
items to the clipboard. You can also click the column header to select the entire column.
Click in the text box on the left, and then press Ctrl-V to paste the items from the clipboard.
The items are pasted as separate lines.
Click Translate. The translation appears on the right. Again, the items are translated as
separate lines.
Highlight the translated items to select them, and then press Ctrl-C to copy the items to the
clipboard.
In InduSoft Web Studio, highlight the empty cells in the Target column to select them. You
can also click the column header to select the entire column.
Press Ctrl-V to paste the translated items from the clipboard into the Target column. Because
the translated items were copied as separate lines, they should be correctly pasted into the
rows of the worksheet.
Review the translated items in the Target column, to confirm the translations and to make sure they
match the untranslated items in the Source column.
Pro Tip: If you want to keep the original, untranslated text, then leave the Target column blank.
Configure Date order and Date separator as needed for the target language. For example, for
English-United States (i.e., American English), Date order is typically MDY and Date separator is
typically /, resulting in a date format of MM/DD/YYYY. In many European languages, however, Date
order is typically YMD and Date separator is typically ., resulting in a date format of YYYY.MM.DD.
In the Target languages area, select the language for which you want to configure fonts, and then
click Fonts. The Font Configuration dialog box is displayed.
In the Object column, select the type of screen objects that the configuration will apply to. To have it
apply to all types, select (All).
In the Source Font column, select the font that the configuration will apply to. To have it apply to all
fonts, select (All). The list of selectable fonts includes all fonts that are installed on your computer, not
just the fonts that are used in your project.
In the Source Size column, type the font size (in points) that the configuration will apply to. To have it
apply to all sizes, type (All).
In the Source Style column, select the font styles that the configuration will apply to. To have it apply
to all styles, select (All).
In the Source RTL column, select the reading direction (left-to-right or right-to-left) that the
configuration will apply to. To have it apply to both, select (All).
In the Target Font column, select the font to which the Source Font should be changed. If you want to
leave the Source Font unchanged, select *. The list of selectable fonts includes all fonts that are
installed on your computer.
Pro Tip: Make sure that the font you select is also installed on any computers or devices that will run
as project runtime clients. If you cannot do this in other words, if you do not control all of the
potential clients then select a "standard" font that is commonly installed on all platforms.
In the Target Size column, type the font size (in either points or percentage) to which the Source Size
should be changed. If you want to leave the Source Size unchanged, type *.
In the Target Style column, select the font style to which the Source Style should be changed. If you
want to leave the Source Style unchanged, select *.
In the Target RTL column, select the reading direction (left-to-right or right-to-left) to which the Source
RTL should be changed. If you want to leave the Source RTL unchanged, select *.
Note: The font configuration applies only to the selected target language.
In the Startup target language list, select the language in which you want your project to start. The list
of available languages includes the source language in which you developed the project and any
target languages that you have added.
On the Graphics tab of the ribbon, in the Screen group, click Script; or
Right-click in the screen worksheet, and then click Screen Script on the shortcut menu.
This interface can be used to execute scripts on the following events, based on preconfigured sub-
routines:
The variables and procedures declared in this interface are available for the VBScript interfaces of the
screen where the Screen Script is configured.
Note: Do not change the names of the preconfigured sub-routines described above. If you do, then
the system will not be able to call them.
Screen Logic
Each project screen has associated Screen Logic that can be configured from the Screen Attributes
dialog.
On Open: Lists expressions to be evaluated once when the screen is opened, similar to a
Math worksheet.
While Open: Lists expressions to be continuously evaluated while the screen is open, similar
to a Math worksheet. If you also configure a tag/expression in Trigger, then instead of being
continuously evaluated, the listed expressions will be evaluated once each time the value of
the trigger changes while the screen is open.
On Close: Lists expressions to be evaluated once when the screen is closed, similar to a
Math worksheet.
Graphics Script
The Graphics Script interface can be edited by its icon from the Graphics tab of the Project Explorer:
On the Graphics tab of the Project Explorer, right-click Graphics Script, and click Open on
the shortcut menu.
This interface can be used to execute scripts on the following events, based on pre-defined sub-
routines:
Important: Do not change the name of the predefined sub-routines. If you do, then the system will not
be able to automatically execute them.
Note: The Math worksheet is functionally similar to the Script worksheet, except that it uses the Built-
in Scripting Language instead of VBScript.
On the Insert tab of the ribbon, in the Task Worksheets group, click Math;
Right-click the Math folder in the Project Explorer, and then click Insert on the shortcut menu;
or
Click New on the Application menu, click the File tab, and then select Math Worksheet.
Header area (top section), which contains information for the whole group; and
Body area (bottom section), where you define each tag, expression, and Programming Lines
(logical routines and mathematical calculations through functions and logical operations) in
the group.
Execution field: Type an expression, a single tag, or a constant value to determine when the
worksheet should execute.
Note: The project executes the worksheet only when the Execution field result is True (not
zero). If you always want the worksheet to execute constantly, type a 1 (static True value) in
the Execution field.
Tag Name: Type a tag to receive a return value from the specified calculation in the
Expression column.
Expression: Type an expression to return a return value to the specified tag in the Tag
Name column.
To execute a Math worksheet at a specific time, separate from whatever is configured in the
Execution field, use the Math function anywhere an expression is allowed.
Script Worksheets
A Script worksheet is used to implement program logic (using VBScript) that should be continuously
executed during runtime, rather than on specific actions like the user pressing a button on a screen.
Note: The Script worksheet is functionally similar to the Math worksheet, except that it uses VBScript
instead of the Built-in Scripting Language.
On the Insert tab of the ribbon, in the Task Worksheets group, click Script;
Right-click the Script folder in the Project Explorer, and then click Insert on the shortcut
menu; or
Click New on the Application menu, click the File tab, and then select Script Worksheet.
Header area (top section), which contains information for the whole group; and
Body area (bottom section), where you write a script using VBScript syntax.
Execution field: Type an expression, a single tag, or a constant value to determine when the
worksheet should execute.
Note: You must use the syntax supported by the Built-in Scripting Language in the Execution
field. Only the body of the worksheet supports VBScript.
In the Body, write script using VBScript and Built-In using the following syntax:
VBScript: Type in any valid VBScript code supported by the Runtime devices Operating
system.
Built-In: Precede any Tag or Built-In function with a Dollar sign ($) to integrate into your
script. (e.g. $MyTag, $GetComputerIP()).
Variables declared in the worksheet have local scope for that specific group only. They are not
available for any other VBScript interface.
To edit the Startup Script worksheet, double-click it in the Project Explorer. (It is located on the Tasks
tab, in the Script folder.) The worksheet is displayed.
The code configured in this worksheet is executed just once when the Background Task module
(BGTask) is started. This interface is useful for initializing variables or executing logics that must be
implemented when the project is run.
You can declare and initialize variables and define procedures. However, variables or procedures
declared in this interface will be available ONLY to the Script worksheets executed by the
Background Task module they are not available to any VBScript interface from the Graphic
Module.
Scheduler
A Scheduler worksheet is used to execute program logic (using the Built-in Scripting Language) at a
specific date/time, on a regular time interval, or upon a triggering event.
On the Insert tab of the ribbon, in the Task Worksheets group, click Scheduler;
Right-click the Scheduler folder in the Project Explorer, and then click Insert on the shortcut
menu; or
Click New on the Application menu, click the File tab, and then select Scheduler Worksheet.
Header area (top section), which contains the description for the whole worksheet.
Body area (bottom section), where you define each tag, expression, and condition for the
event.
o Calendar: Generates time bases greater than 24 hours. For example, You can
define an event that prints a report every Friday at a specific time.
Trigger: This field is used only with the Change Event type. The event of this type will be
triggered when the tag entered into this field changes value.
Time: This field is used with the Calendar and Clock Event types.
o If the Event type is Calendar, then Time is a specific time of the day on Date using
the HH:MM:SS format as representation of a time on a 24-hour clock. When that
Date and Time occurs, the expression is executed.
o If the Event type is Clock, then Time is a time interval using the HH:MM:SS format
starting from when the project is launched. Every time the interval occurs, the
expression is executed.
Date: An optional field used only with the Calendar Event type. Type a specific date using the
MM/DD/YYYY format, and when that Date and Time occurs, the expression is executed.
o Valid values are from 01/01/1900 to 12/31/2099. If the field is left blank, then the
event occurs daily at the specified Time.
Tag: Type a tag that will receive the value, if any, returned by the process in the Expression
field.
Expression: Type an expression to be executed when the event occurs. This field is used by
all events.
Disable: Contains a disable condition for the specified function, based on a True/False
expression. By leaving this field blank or having a False expression (i.e. any zero value), this
event will execute. Any True (i.e. non-zero) value will disable the event.
1. Open the Project Tags Datasheet View and create the tags as shown below.
2. In the Insert tab of the Ribbon, select Scheduler from the Task Worksheets group.
6. In the Insert tab of the Ribbon, select Math from the Task Worksheets group.
10. Open the MAIN DRIVER SHEET of the MOTCP communication driver.
14. On the Graphics tab of the Ribbon, select Checkbox from Active Objects.
15. Click and drag on the HEADER screen to shape the object.
19. Save the changes made and close the HEADER screen.
4. Verify that that you can read tank analog values and control valves independent of the PLC.
SECTION 1 - ALARMS
This section uses a step-by-step tutorial to explain how to insert the Alarm task and the Alarm/Event
Object, which will be used for training.
In the Alarm task, you can configure the high and low alarms for the Level and Temperature
variables.
We can use the Alarm/Event Object to display the alarms in real and historical time.
Concept
The main purpose of the Alarm is to inform the operator of any problem or abnormal situation during
the project runtime so that they may take corrective action. It runs in the background, sounds alarms,
and saves alarm messages to a history but it does not display them.
The Alarm/Event Control Object does not generate alarms, but displays them either from the Alarm
background task (Live alarms) or the alarm log/database (historical alarms). The Alarm/Event Control
Object can also display messages from the Event Logger (See Section 2 of this module).
Overview
The Alarms Task allows for configuring alarm groups and tags related to each tag. The Alarm
worksheet defines the alarm messages generated by the project. The primary purpose of an alarm is
to inform the operator of any problems or abnormal condition during the process so he can take
corrective action(s).
The Alarm worksheet is executed by the Background Task module. It handles the status of all alarms
and optionally saves the alarm messages to a history file, but it does not display the alarm messages
to the operator. The Alarm/Event Control screen object, available on the Graphics tab of the Ribbon,
must be created and configured in a screen in order to display alarms.
The Alarm task has 3 main Alarm types for each numeric tag (Real or Integer datatype):
Level Alarms (HiHi, Hi, Lo, LoLo): Triggers alarm if the value is equal to or higher than the
limit (Hi, HiHi); or equal to or lower than the limit (Lo, LoLo)
Rate Alarms (Rate): Triggers the alarm if the value rises or falls by a particular amount
within a designated time frame
Deviation Alarms (Dev+, Dev-): Triggers the alarm when the value deviates by a designated
amount above (Dev+) or below (Dev-) a specified setpoint.
The Alarm task has 2 main Alarm types for each bit tag (Boolean datatype):
Level Alarms (Hi, Lo): Triggers alarm if the value of the tag changes to True (Value = 1, Hi
Alarm); or changes to False (Value=0, Lo Alarm).
Rate Alarms (Rate): Triggers the alarm if the value of the tag changes (either to True or
False) within a designated time frame.
The Alarms for each tag are stored in the Tags Database as properties of that tag. Therefore, only
one alarm of each type is available within the project for each tag. However, the alarms on a
particular tag are not limited to a single Group (Alarm worksheet). So for example, even though there
may be only one Hi and one Lo alarm available on each tag, the Hi and the Lo alarm may be on
separate worksheets.
Active: means that the alarm is active and has not been acknowledged;
Acknowledged: means that the alarm is still in an active state but has been acknowledged;
Normalized: means that the condition for the alarm is no longer active, but that the alarm has
not yet been acknowledged
Alarm Worksheet
You can create multiple Alarm groups (worksheets) and each group can be configured with
independent settings.
Header: Settings applied to all tags and alarms configured in the same alarm group. These
settings allow you to configure the formatting of the message and the actions that must be
triggered based on alarm events. The Header can be configured as follows:
o Group Name: Name of the Alarm group. During runtime, the operator can filter
alarms based on the Group Name by the built-in Filters dialog (Advanced settings) of
the Alarm/Event control object.
o Email Settings: Launches the Email Settings dialog, where you can configure
settings for emails sent automatically based on alarm conditions.
o Advanced: Launches the Advanced Settings dialog, where you can configure
advanced features, such as disabling the group, remote acknowledgement triggers,
feedback values and deadband configuration.
On Line
Ack Required: When checked, the alarms require acknowledgment, and will
be displayed on the Alarm/Event Control object (Online mode) until they are
acknowledged AND normalized.
Beep: When checked, the computer keeps beeping while there are alarm(s)
requiring acknowledgement.
Send to Printer: When checked, the alarm messages are sent to the printer
at LPT1 as soon as the alarm event occurs.
Note: When using this option, you must use a line-feed matrix printer in order to print the message(s).
Otherwise, each alarm will be printed in a different sheet of paper. In order to print multiple alarms on
a single page instead, use the Print trigger in the Alarm/Event Control Objects Advanced dialog.
History
Save to Disk: When checked, the alarm messages are stored in the history log when they become
active.
Generate Ack Messages: When checked, the alarm messages are stored in
the history log when they are acknowledged.
Generate Norm Messages: When checked, the alarm messages are stored
in the history log when they become normalized.
o Colors in Alarm Controls: When checked, the alarms configured in this group will
be displayed with the colors assigned to each state (Activation, Acknowledgement or
Normalization) according to the colors configured in the worksheet. If disabled
(unchecked), the Alarm Control Object uses the colors set in the objects properties.
Body: Configure alarm messages and associate them to conditions linked to tags. Tag Name
Name of the tag associated with the alarm. Tag
o Type: Type of alarm (Hi, HiHi, LoLo, Lo, Rate, DevP, and DevM)
Note: When using the types Rate, DevP and DevM, it is necessary to configure the Rate interval
and/or Deviation Setpoint by the Tag Properties dialog (Properties under the Home tab of the Ribbon,
Tags group).
o Priority: Priority number associated to the alarm, from 0-255; used for filtering
alarms in runtime. Also prioritizes alarms in the tags database.
o Selection: Alias associated to the alarm (e.g., AreaA, AreaB, etc), for displaying,
filtering and sorting purposes.
Pro-Tip: You can configure up to 10 additional custom fields that will be saved to the alarm history.
The number of custom fields (up to 10) can be set in Project Settings: Options.
Color
Alarm Task
1. In the Insert tab of the Ribbon select Alarm from the Task Worksheets group.
6. In the Insert tab of the Ribbon select Alarm from the Task Worksheets group.
Alarm Object
1. Open the Project Tags Datasheet View and create the tags as shown below.
3. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
6. In the Graphics tab of the Ribbon, select Alarm/Event under Data Objects.
7. Click and drag on the screen to shape the object as shown below.
13. Configure the fields called Group and Selection as shown below.
15. In the Graphics tab of the Ribbon, select Text under Active Objects.
16. Click on the screen and enter Filter by Alarm Group: as shown below.
17. In the Graphics tab of the Ribbon, select Combo Box under Active Objects.
18. Click and drag on the screen to shape the object as shown below.
19. Open the Object Properties of the Combo Box and set the field called Position to the tag
called iAlrGroup as shown below.
20. Click Data Sources to open the Combo Box data sources settings as shown below.
21. Click Settings and set the Static Labels as shown below.
24. In the Graphics tab of the Ribbon, select Text under Active Objects.
25. Click on the screen and enter Filter by Tank: as shown below.
26. In the Graphics tab of the Ribbon, select Combo Box under Active Objects.
27. Click and drag on the screen to shape the object as shown below.
28. Open the Object Properties of the Combo Box and set the field called Label to the tag called
sAlrSelection as shown below.
29. Click Data Sources to open the Combo Box data sources settings as shown below.
30. Click Settings and set the Static Labels as shown below.
33. In the Graphics tab of the Ribbon, select Button under Active Objects.
34. Click on the screen and draw the button as shown below.
35. Open the Object Properties of the Button and set the field called Caption as shown below.
36. Click Command to open the Command object properties and set them as shown below.
37. In the Graphics tab of the Ribbon, select Button under Active Objects.
38. Click on the screen and draw the button as shown below.
39. Open the Object Properties of the Button and set the field called Caption as shown below.
40. Click Command to open the Command object properties and set them as shown below.
41. In the Graphics tab of the Ribbon, select Alarm/Event under Data Objects.
42. Click and drag on the screen to shape the object as shown below.
51. In the Graphics tab of the Ribbon, select Button under Active Objects.
52. Click on the screen and draw the button as shown below.
53. Open the Object Properties of the Button and set the field called Caption as shown below.
54. Click Command to open the Command object properties and set them as shown below.
55. When you are done the Alarm screen should look similar to the following.
2. Start the runtime and use the tank valves to fill the tanks to create some alarms.
3. Open the ALARMS screen and verify that it is displaying the expected alarms.
SECTION 2 - EVENTS
This section describes the logging and event-retrieval features of InduSoft Web Studio.
Concept
Event logging is disabled by default to conserve runtime resources. To enable the saving of events to
the history file, use the Event Logger in the Project Explorer.
When you enable the Event Logger you must configure the types of events to log.
The Alarm/Event Control screen object, available on the Graphics tab of the ribbon, must be created
and configured in a screen in order to display events.
Event Logger
1. On the Global tab of the Project Explorer, right-click on Event Logger, and then select Open
on the shortcut menu.
4. In the Settings group, select Security System, Display, Recipe, Report, Custom
Messages, and System Warning.
5. Select Tags.
Alarm/Event Object
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
5. On the Graphics tab of the Ribbon in the Data Objects group, click Alarm/Event.
6. Click and drag the mouse on the EVENTS screen to draw the Alarm/Event object.
10. Use the left and right double arrow controls and Move Up and Move Down buttons to move
Event Time, Value, User, and Station from the Available list to the Visible list as shown
below.
6. Open the EVENTS screen and verify that it is displaying the expected events.
SECTION 1 - TREND
This section uses a step-by-step tutorial to explain how to insert the Trend task and Trend object.
In the Trend task, you will configure the automatic data logging of tag values.
The Trend Object will graphically show the real-time, as well as stored values.
Concept
The Trend Control object displays data points (values) from different sources of data in a graphical
format.
Support for different data sources, such as Tag, Batch, Database and text file.
Trend Object
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
2. Start the runtime and use the tank valves to fill and empty the tanks.
3. Open the TREND screen and verify that it is displaying the expected data.
SECTION 2 - GRID
This section explains, using a step-by-step tutorial, how to configure a Grid object that will be used for
training.
You will configure a Grid data object to read Access Database values, which was configured in prior
chapter.
Concept
The Grid object allows you to read/write data in tab format of the data source configured in the object
itself.
Text file
Class Tag
Database
Grid Object
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
5. On the Graphics tab of the Ribbon in the Data Objects group, select Grid.
9. Click the Data Source Settings button. The Grid Data - Class Tag dialog is opened.
10. Configure the fields called Class Tag and Number of Items as shown below.
15. Click the Virtual keyboard combo box and select AlphaNumeric.
2. Start the runtime and use the tank valves to fill and empty the tanks.
3. Open the TREND screen and verify that it is displaying the expected data.
4. Change the Contents column for one or more of your tanks and go back to the Main screen
to verify that it was changed in the class tag.
SECTION 1 - RECIPES
A Recipe worksheet is used to load tag values from or save tag values to an external file during
runtime. It is typically used to execute process recipes, but you can store any type of information
(such as operation logs, passwords, and so on) in the external file.
Concept
To create a new Recipe worksheet, do one of the following:
On the Insert tab of the ribbon, in the Task Worksheets group, click Recipe;
Right-click the Recipes folder in the Project Explorer, and then click Insert on the shortcut
menu; or
Click New on the Application menu, click the File tab, and then select Recipe Worksheet.
Note: When saving a Recipe worksheet, you can save it using any name you choose (you are not
required to use a predefined file name like Recipe1). A configuration file using the extension .RCP is
created containing the recipe configuration.
Header area (top section), which contains information for the whole group
Body area (bottom section), where you define each tag in the group.
File Name field: Type the name of the external file, using static text (e.g., File1) or a tag
(e.g., {FileNameTag}).
Register Number field: Type a tag to define the register number to be read or written into a
DBF file. (This field is for legacy purposes only and is no longer used.)
Save As XML checkbox: Select (check) to save information in XML format, or deselect
(uncheck) to save in DAT format.
You can load information in a .DAT file into different tags using a second Recipe worksheet,
but you must load information in an .XML file into tags with the same name as the tag from
which the data originated.
Unicode checkbox: Click (enable) to save the recipe in Unicode format (two bytes per
character) or (disable) to save the recipe in ANSI format (one byte per character).
Tag Name field: Type tag names to update with file contents or with values to write to a file. If
the tag is an array, you must specify the first position to use.
If the tag is an Array or a Class (or both), then the development application automatically
enables every array position and class member by default. To configure a specific array
position and/or class member, type it in the Tag Name field as normal (e.g.,
level[3].member).
Number of Elements field: Specify how many positions of the array tag are in use.
Pro Tip: You can configure a tag name between curly brackets ({tagname}) in this field,
allowing the user to dynamically change the Number of Elements configured in the Recipe for
each array tag, during runtime.
To execute a Recipe worksheet, use the Recipe() function anywhere an expression is allowed.
Pro Tip: Alternatively, you could use the built-in function called DirCreate() in the Startup
Script to create the Recipes folder when the project is started.
Tags
1. In the Insert tab of the Ribbon, click on Class under Global.
7. Open the Project Tags Datasheet View and create the tags as shown below.
Recipe Task
1. On the Insert tab of the Ribbon under Task Worksheets select Recipe.
4. Add the four Real-type members of the cRecipe tag to the Tag Name column of the recipe
worksheet as shown below.
Pro Tip: If you use a class tag to store your recipe tags like in this lab, then you could simply
specify the name of the class tag (e.g., cRecipe) in the Tag Name column instead of
enumerating each class member.
Recipe Screen
1. Open the Template screen.
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
5. On the Graphics tab of the Ribbon in the Libraries group, select Symbols.
6. On the Symbols tab on the Workspace, expand the System Symbols folder, and then clicl
on the folder called TextIO.
8. Click on the Recipes tab on the Workspace to select the Recipes screen, and then click
anywhere on the Recipes screen to paste the symbol.
9. Open the Object Properties of the symbol and configure them as shown below.
10. Click on the Symbols tab on the Workspace, and select the symbol called numeric_input1.
11. Click on the Recipes tab on the Workspace to select the Recipes screen, and then click
anywhere on the Recipes screen to paste the symbol.
12. Open the Object Properties of the symbol and configure them as shown below.
13. Repeat steps 10 through 13 for the tags called cRecipe.rParamB, cRecipe.rParamC, and
cRecipe.rParamD. If you see the following message, then click Yes.
15. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
19. Set Type to VBScript, and, enter $Recipe("Save:Recipe1.rcp") in the body of the On
Down event as shown below.
20. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
24. Set Type to VBScript, and enter the following in the body of the On Down event.
If $RdFileN("sLoadRecipeName","Recipes","*.DAT",0) = 0 Then
$sLoadRecipeName = Replace($sLoadRecipeName,"Recipes\","")
$cRecipe.sRecipeName = Replace($sLoadRecipeName,".DAT","")
$Recipe("Load:Recipe1.rcp")
$bWriteRecipe = $Toggle($bWriteRecipe)
End If
25. The Recipes screen should like similar to the one shown below.
6. Use Windows Explorer to verify that recipe files are being stored in the folder called Recipes
that you created in your project folder.
SECTION 2 - REPORTS
A Report worksheet is used to design a report that is dynamically generated during runtime (using the
current values of the included tags) and then either sent to a printer or saved to a file.
Concept
To create a new Report worksheet, do one of the following:
On the Insert tab of the ribbon, in the Task Worksheets group, click Report;
Right-click the Reports folder in the Project Explorer, and then click Insert on the shortcut
menu; or
Click New on the Application menu, click the File tab, and then select Report.
Note: When saving a Report worksheet, you can save it using any name you choose (you are not
required to use a predefined file name like Report1). A configuration file using the extension .REP is
created containing the report configuration.
Header area (top section), which contains information for the whole group; and
Body area (bottom section), where you define each tag in the group.
Output File field: Type a tag name for the output file (using the {tag} syntax) where data is
stored when you are printing to a file. Where the tag value is part of the file name.
Edit RTF file button: Click to access the report as an RTF file, which you can edit for layout
modification and so forth.
Disk Append checkbox: Click (enable) the box to add (append) the new report to the end of
an existing file or (disable) the box to replace the existing report in that file with the new
report.
Unicode checkbox: Click (enable) to save the report in Unicode format (two bytes per
character) or (disable) to save the report in ASCII format (one byte per character).
Lock Value into the {Tag/Exp} length checkbox: Click (enable) to automatically truncate the
values of Tags/Expressions in the report to fit between the curly brackets, as they are
positioned in the Body of the report (see below). This helps to preserve the layout of the
report. If this option is left unchecked, then the full values of Tags/Expressions in the report
will be displayed.
Use the Body portion of this worksheet for report formatting. You can configure a report using data in
the system and indicating where to print the tag values. Each tag name will replace the {tag_name}
tag name. For Real type tags, use the following syntax: {tag_name n}, where n is the number of
decimal places you want printed.
Note: If you are using the standard report editor (text only: ASCII or Unicode), then the number of
characters reserved for the tag value will be equal to the number of characters used to type the tag
name (including the two "curly" brackets). For example, if you configure {TagA} in the report body,
reserve six characters for the tag value in the report file. This behavior is not valid for reports in RTF
format.
To execute a Report worksheet, use the Report() function anywhere an expression is allowed.
Pro-Tip: Because the Report task supports almost all text files, you can use this worksheet to
generate more than just .txt files, such as .readme, .html, .xml, and .csv files.
Pro Tip: Alternatively, you could use the built-in function called DirCreate() in the Startup
Script to create the Reports folder when the project is started.
1. On the Insert tab of the Ribbon, select Reports under Task Worksheets.
Today is {date}
The time is {time}
The current user is {username}
RTF Report
8. On the Insert tab of the Ribbon, select Reports under Task Worksheets.
12. Click the button called Edit RTF File. The ReportWriter window is opened.
Today is {date}
The time is {time}
The current user is {username}
14. Use the features of the ReportWriter to choose different fonts and colors for your RTF report.
15. Close the ReportWriter window. Click Yes when you see the following window.
HTML Report
17. On the Insert tab of the Ribbon, select Reports under Task Worksheets.
18. A blank report worksheet will be created and displayed in the Workspace.
<html>
<body>
Today is <b>{date}</b><br />
The time is <b>{time}</b><br />
The current user is <b>{username}</b><br />
<hr>
<table border=1>
<tr>
<td></td>
<td align="center">Level</td>
<td align="center">Temperature</td>
<td align="center">Pressure</td>
</tr>
<tr>
<td>Tank 1:</td>
<td align="right">{cTank[1].rLevel 2}</td>
<td align="right">{cTank[1].rTemperature 2}</td>
<td align="right">{cTank[1].rPressure 2}</td>
</tr>
<tr>
<td>Tank 2:</td>
<td align="right">{cTank[2].rLevel 2}</td>
<td align="right">{cTank[2].rTemperature 2}</td>
<td align="right">{cTank[2].rPressure 2}</td>
</tr>
<tr>
<td>Tank 3:</td>
<td align="right">{cTank[3].rLevel 2}</td>
<td align="right">{cTank[3].rTemperature 2}</td>
<td align="right">{cTank[3].rPressure 2}</td>
</tr>
</table>
</body>
</html>
CSV Report
23. On the Insert tab of the Ribbon, select Reports under Task Worksheets.
24. A blank report worksheet will be created and displayed in the Workspace.
30. On the Insert tab of the Ribbon, select Reports under Task Worksheets.
31. A blank report worksheet will be created and displayed in the Workspace.
33. Clear the option called Unicode and select the option called Disk Append.
"{Date}","{Time}",{cTank[1].rLevel},{cTank[2].rLevel},{cTank[3].rLevel
2. Click the Application button and click Save As on the Application menu. The Save As dialog
is opened.
5. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
8. Click Command.
9. Set Type to Built-In Language, and then in the Expression column, enter
Report("Disk:TextReport.rep") as shown below.
10. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
14. Set Type to Built-In Language, and then in the Expression column, enter
Report("Disk:RTFReport.rep").
15. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
19. Set Type to Built-In Language, and then in the Expression column, enter
Report("Disk:HTMLReport.rep").
20. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
24. Set Type to Built-In Language, and then in the Expression column, enter
Report("Disk:CSVReportHeader.rep").
25. On the Graphics tab of the Ribbon in the Active Objects group, select Button and add a
button to the screen.
29. Set Type to Built-In Language, and then in the Expression column enter
Report("Disk:CSVReportBody.rep").
30. When you are done the Reports screen should like similar to the one shown below.
9. Use Windows Explorer to verify that the report files are being stored in the folder called
Reports.
You will enable the Security Settings and create two groups and users. One of the groups and users
will have full access to the application (development and runtime) while the other group and user will
have their actions in the project (development and runtime) limited.
Concept
InduSoft Web Studio includes a security system that controls how users and user groups can access
a project during development and execution time.
Almost all items in a project (screens, object animations, worksheets, and tasks) can have a security
access level attributed. This access level determines which groups may edit the item during
development and/or access the item during execution.
There are 255 possible access levels permitting a great amount of flexibility. Each user group is
configured with security level ranges independently for development and execution, and group levels
may overlap.
For a user that is able to edit and/or use an item, the item access level must be within the specified
security range of the group.
Overview
Security Modes
In addition to managing users and groups locally, entirely within a single project, you can also get pre-
defined users and groups from other InduSoft Web Studio projects or from an LDAP-compliant
domain server.
Local Only: This is the standard mode for most projects: users and groups are created and
apply only to the project for which they're created.
Distributed Server: This is similar to Local Only, except that the project's security system
configuration is also made available to other InduSoft Web Studio projects (that are set to
Distributed Client) on the same network. Furthermore, if the project loses its security
system configuration for some reason, then it can reimport the configuration from one of its
client projects.
Distributed Client: When this mode is selected, the project gets its entire security system
configuration from another InduSoft Web Studio project (that is set to Distributed Server) on
the same network. The project caches this configuration and can continue to run even if it
loses communication with the server project.
However, only the user names, passwords, and group memberships are taken from the
domain; specific rights must still be configured within the project.
Note: This lab uses several screens, objects and worksheets created in earlier labs.
1. In the Project tab of the Ribbon under the Security Settings group, select Configure.
2. The Security Settings Configuration Wizard is opened. This wizard will walk you through
configuring the security step-by-step.
3. Click on Next.
5. Click on Next.
7. Click Next.
Configuration of Groups
1. Click the Create/Configure Groups button.
3. Enter Administrator into the Group Name field and select OK.
5. Click on New.
6. Enter Operator into the Group Name field and select OK.
8. Click OK.
9. Click on Next.
User Configuration
1. Select option Create/Configure Users.
2. Click on New.
7. Click OK.
8. Click on New.
14. Click Next to display the status and changes made to the security system.
3. Double-click on the button to open the Object Properties windowand click on Command.
6. In the first row, click in the Expression column and type LogOn().
2. Double-click on the Ack All button to open the Object Properties window
3. The Object Properties dialog should open to the Command animation. If it does not, use the
object navigator dropdown to switch.
2. Double-click the Enable Simulation checkbox object to open the Object Properties dialog.
3. On the Screen Attributes dialog, under the Security Level field, enter 150.
3. Log on as Operator.
4. Click the button called EVENTS. Observe that you get denied.
5. Open the ALARMS screen. Observer that the buttone called ACK ALL is disabled.
6. Click the Enable Simulation checkbox. Observe that you get prompted for your credentials.
8. Repeat steps 3 and 4 above and verify that they work as expected.
Concept
Screens, symbols, and worksheets in the Project Explorer can be password-protected. You can
assign individual passwords to each file, or you can assign a single password to all files in the project
Almost all project files are encrypted to prevent unauthorized analysis by third-party tools. However,
you can take the extra step of password-protecting your files to prevent unauthorized changes or re-
use by other InduSoft Web Studio project developers.
2. Right click on Alarm worksheet 1: Tank 0 Level Alarms and select Password Protection.
5. Click OK.
1. In the Project Explorer under the Tasks tab, expand the Alarms folder to display the two
alarm worksheets.
6. Right click on Alarm worksheet 1: Tank 0 Level Alarms and select Password Protection.
9. Click OK.
2. The Verify Project tool is opened. Select the Set Password for all files... button.
5. Click OK.
Note: This process will only protect existing project files. Any new files created will not contain this
protection
2. Enter your password and confirm that you can open the screen or worksheet.
Concept
The web interface is specifically designed for smartphones and tablets, including iOS and Android
devices, but it can be accessed from almost any computer using a modern web browser.
It is important to remember that although Mobile Access is part of the same project runtime and may
be hosted on the same server that hosts the screens published for Secure Viewers and Web Thin
Clients, it is a distinct interface based on platform-agnostic technology. Secure Viewer and Web Thin
Client are based on ActiveX technology, and as such, they can run only on Windows computers. In
contrast, the Mobile Access web interface is based on HTML5, so it can run in most web browsers on
most computers and devices.
Overview
To use Mobile Access, you must have the Mobile Access Runtime software installed on your project
runtime server. Either you selected the Mobile Access Runtime feature when you installed the full
InduSoft Web Studio software, or you ran the separate, included Mobile Access Runtime installer
(MobileAccessSetup.exe) afterward. For more information, see Install the Mobile Access Runtime
software.
Also, your software license must include enough SMA Clients to accommodate all of the users that
you expect to access the Mobile Access web interface at the same time. Please contact your vendor
to review your software license. For more information, see About license settings.
Note: The Mobile Access Runtime software cannot be installed on Windows Embedded, and Mobile
Access cannot be configured in projects that are set to run on Windows Embedded target systems.
On the Project tab of the ribbon, in the Web group, click Mobile Access.
On the Graphics tab of the Project Explorer, in the Thin Clients folder right-click Mobile
Access, and click Open on the shortcut menu.
The Mobile Access configuration consists of one or more "areas", which are typically organized by
location, system, or machine. Each area has an Alarm control, a Process Values control, a Trend
control, and a Screens control.
Alarm: The Alarm control is similar to the Alarm/Event Control screen object. It displays
active alarms and allows the user to acknowledge them.
Process Values: The Process Values control is similar to the Symbols library, in that it uses
various pre-made widgets (i.e., gauges and switches) to graphically represent project tag
values. It can also allow the user to change the values during run time, depending on how
you configure the widgets.
Trend: The Trend control is similar to the Trend Control screen object. It graphs the changes
in process values over a specified duration, and it also saves a history of those changes.
Screens: The Screens control presents project screens that you have selected to include in
the web interface. In most cases, selected screens function the same as screens published
for Secure Viewer and Web Thin Client, but there are some limitations. For more information,
see List of features supported in project screens in Mobile Access.
These controls appear in the web interface as green tiles, and when you click/tap one of these tiles, it
opens a new page for that control.
Note: Mobile Access requires that Microsoft Internet Information Services (IIS) be installed on the
runtime machine, but there is no specific IIS configuration that must be performed to use Mobile
Access.
6. Click on OK
3. In the section called Trend and Process Values, fill in the worksheet as shown below.
4. Log on as Administrator.
6. Click on the different tiles and observer that you can view and modify alarms, process values,
trends, and screens.
You will use IIS (Internet Information Services), which is a Web Server in the Windows Operating
system to access the application through the Web. Initially, you will publish the pages as HTML and
then you will access them using Internet Explorer.
Concept
This section describes how to make your project accessible to web thin clients and mobile devices.
InduSoft Web Studio is built on a server/client architecture that can support both thick clients and thin
clients. The choice of the type of client depends upon your system requirements:
A thick client is a computer that performs most, if not all, of the processing activity during
project run time. It has sufficient processing power, memory, and graphics to run the
complete project files and only exchanges data (i.e., function syncronization and tag value
changes) with the project runtime server as needed. (A project runtime server can also be a
thick client to another server.) In InduSoft Web Studio, thick clients are handled through
Remote Management.
A thin client is a computer that depends primarily on the project runtime server for
processing. It only needs to have a network connection to get screens and data from the
server and a web browser to display the screens to the userInduSoft Web Studio is built in a
client/server architecture that supports thin clients. A thin client is a computer that depends
mainly on the server project being executed for most processing. It needs only a network
connection to obtain server data and a browser to display screens to the user.
InduSoft Web Studio permits the creation of screens that may be seen in a remote station in a regular
browser. The station from where the user can view screens is called a Thin Client.
The runtime software is installed only on the server station. All Project files (tag database, screen
files, and task worksheets) are stored on the server; and all background tasks and communication are
executed on the server.
The thin client simply loads the graphic interface of your project (for example, screens containing
objects and animations) and uses this interface to present data in the server. You do not need to
install the InduSoft Web Studio development environment or any of the project files in the thin client.
The Web Server provides any necessary files at the browsers request.
This solution offers a high level of flexibility, as any computer that has an active network connection to
the server station (via TCP/IP) may access the project during execution time.
Overview
In an InduSoft Web Studio project, there are several components used to implement Thin Client
capabilities.
Data Server: The Data Server is built-in to the InduSoft Web Studio runtime. The Data
Server has direct access to the InduSoft Web Studio Project Tags Database (runtime) and is
responsible for working with ISSymbol to make sure any Tag data being displayed on a Web
page at any Thin Client is updated with the latest value(s).
o InduSoft Web Studio can support a backup or secondary Data Server that will be
used should the Primary Data Server become unavailable. The Thin Client will
automatically switch over to the Secondary without user intervention required.
Web Server: The Primary Web Server is responsible for providing Web pages on demand
(i.e., when requested by the Client) through navigation to various project screens by the Thin
Client. The Web Server communicates with the Thin Client via HTTP protocol over TCP/IP.
SSL (Secure Socket Layer) encrypted communications can be enabled. The Web Server
does not need to reside on the same PC as the InduSoft Web Studio runtime project. In fact,
the Web Server could be a non-Windows corporate Web Server. However, the Web Server
needs to have access to the HTML files that are the project Web pages.
o InduSoft Web Studio supports a Secondary Web Server that will be automatically
switched to (by the Client) in case the Primary Web Server becomes unavailable.
Web Browser: The Web Browser is located on the Thin Client PC and provides the graphical
interface function with the user. Web pages (HTML) is passed to the browser via demand
("pull") and data is "pushed" to the browser by the Data Server whenever a Tag or Tags
referenced on the Screen displayed on the Web Client is updated in the Tag Database.
o The ISSymbol ActiveX Control is used for both the Internet Explorer-based and
Secure Viewer-based browsers.
4. Click OK.
11. Click on OK
Configuring IIS
The following instructions should be completed on the runtime machine.
Note: IIS (Internet Information Services) is a Windows feature that must be installed on the operating
system. If it is not installed then please consukt your IT organization of Microsoft professional.
Pro Tip: For detailed instructions for configuring IIS and Windows security, please refer to the
appendix located at the end of this document..
4. Expand the Web Sites tree structure to see the Default Web Site.
5. With the Default Web Site selected, the available options change. Under Actions on the right
side of the window select Basic Settings.
6. This dialog will allow you to assign the Path, Application Pools and Authentication.
7. Click the browse button ( ) and use the Windows Open dialog to navigate to the \Web
subfolder in the projects folder.
9. From the IIS menu in the center of the IIS Manager window, double-click MIME Types.
10. Select the Default Web Site in the Connections list. Under Actions on the right side of the
window select Add.
11. The Add MIME Type dialog is opened. Add a MIME type for the .app file extension as
shown below.
12. Repeat Steps 9-10 for each of the following file extensions.
.app
.bin
.csv
.gis
.html
.ico
.ini
.lst
.rtgis
.scc
.scr
.sg
.stmp
.tra
.trn
.txt
Pro Tip: Adding a MIME type of .* will assign any unlisted file extension to that MIME type.
13. Click on Default Web Site in the Connections list. From the Actions menu under Manage
Web Site select Start, or Restart if already started.
2. Click the tab called Security. You should see something similar to this,
3. Click the button called Edit. You should see something similar to this,
4. Click the button called Add. You should see something similar to this,
5. In the field called Enter the object names to select enter IUSR and IIS_IUSRS separating
each by a semicolon as shown below.
Click on the button called Ok to close the Select Users, Computers, Service Accounts, or
Groups dialog.
6. Verify that the two built-in security principles called IUSR and IIS_IUSRS have been added to
the folder permissions as shown below.
9. After all files are downloaded, the application will open in the browser.
Concept
Using the database interface, the project can easily get or set data to a third party system.
Alarm
Event
Trend
Web
Overview
Configuring a database interface with InduSoft Web Studio is basically linking tasks from InduSoft
Web Studio (Alarms, Events or Trends) to tables of external databases via a specific Database
Provider that supports the database you have chosen.
Each history task (Alarm, Events or Trend) can be configured to save data either to files with the
proprietary format from InduSoft Web Studio, the Wonderware Historian or to external SQL Relational
Databases. Use the Options tab to configure the database to save Alarm and Event history. (See the
Trend Folder for instructions for saving history for the trend tasks.)
InduSoft Web Studio supports ADO.NET to provide an intuitive, simple, flexible and powerful interface
with standard technologies from MDAC (Microsoft Data Access Components) such as OLE-DB
(Object Linking Embedded Database) and ODBC (Open Database Connectivity). By using this
capability, you can connect to any database that is MDAC compatible.
Alarms: The project can save and/or retrieve the alarm history messages in a relational
database.
Events: The project can save and/or retrieve the event messages in a relational database.
Trends: The project can save and/or retrieve the Trend history values in a relational
database.
Viewer: Database information can be displayed both in table format (Alarm/Event Control
and Grid objects) or in a graphical format (Trend Control object).
Web: Because the items listed below are already available in InduSoft Web Studio Web
interface, you can deploy a project that stores/saves data in a relational database and have it
working over the Web.
Using its included database interface, InduSoft Web Studio can easily provide data from the plant
floor to third-party systems (e.g., ERP) or get data from them.
InduSoft Web Studio can interface with any relational database supported by a valid ADO.NET
Provider, OLE DB provider or ODBC driver.
Each database can have one or more tables. Each table is composed of fields (columns) and
registers (rows). Typically, the fields are pre-defined and the project adds or reads one or more
registers, according to the query condition.
InduSoft Web Studio uses Database Providers (ADO.NET) to interface with SQL Relational
Databases. Database Providers are libraries developed to access data from different databases
through SQL commands. The ADO.NET Provider for a specific database can be supplied by the
operating system or by the database manufacturer.
Note: InduSoft Web Studio provides the interface for ADO.NET Providers. However, the ADO.NET
Providers and/or the ODBC Driver/OLE DB Provider must be supplied either by the operating system
or by the database manufacturer. If your Connection String does not refer to a valid ADO.NET
Provider, the OLE.DB Provider will be used.
Although most projects typically link to only one type of database, InduSoft Web Studio gives you the
flexibility to link each task to a specific database supported by a Database Provider. Furthermore, by
using this architecture, you do not need to worry about the specific characteristics of each database
(it is mostly handled by the Database Provider for each database or by the InduSoft Web Studio
Database Gateway interface). Therefore, the project settings are mostly uniform, regardless of the
specific database chosen by you.
The project can communicate with the InduSoft Web Studio Database Gateway (running in a remote
computer) via TCP/IP. The Gateway implements the interface with the Database through the
Database Provider available in the computer where it is running.
The Studio Database Gateway does not require complex configuration. Simply locate the files
STADOSvr.exe and StADOSrv.ini from the \BIN sub-folder of the InduSoft Web Studio installation
folder (typically C:\Program Files (x86)\Wonderware InduSoft Web Studio v8.0) and paste them into
any folder of the computer that will be used as the Gateway station. Once the files have been placed
on the remote computer, execute the STADOSvr.exe program.
Configuring the project to communicate through the remote gateway computer instead of running the
gateway requires only one step. When configuring the database connection, such as when
configuring the default database, click the Advanced button.
On the Advanced dialog, simply change the Database Gateway Host field to the IP address of the
remote gateway computer.
Pro Tip: The Database Gateway is a TCP/IP Server for the InduSoft Web Studio project and it uses
the TCP Port 3997 by default. You can specify a different port number when executing the
STADOSvr.exe program according to the following syntax: STADOSvr.exe Port Number
(Example: STADOSvr 3998)
2. Ensure that the local Windows user has permission to write the Project database.
3. Click the button called Default Database. The Default Database Configuration dialog is
opened.
4. To the right of the Connection String field, select the Browse () button. The Data Link
Properties dialog is opened.
Note: The list of OLE DB Provider(s) is derived from the list of providers on your machine
and may be different than those shown.
5. Select Microsoft OLE DB Provider for SQL Server and click Next. The Connection tab of
the Data Link Properties dialog is opened.
2. In the Alarm History and Events group, change the History Format field to Database.
7. If your runtime is on a remote machine, then use the the Remote Management tools on the
Home tab of the Ribbon to download your project to the remote machine. Start the runtime.
9. Open SQL Server Management Studio and observe that tables have been created and
populated for Alarms, Events, and Trends.
You will configure a connection with Access Database to read/write the Tanks values.
Concept
The Database/ERP task is used to associate Project tags with external database fields. First, a
connection with the database must be configured. Once this connection is defined, commands can be
easily sent to the database using built-in functions or a worksheet.
Database/ERP worksheets permit the asynchronous execution of database operations and offer a
friendly interface for building SQL commands.
Overview
Just as in the Database connections are configured for connecting the InduSoft Web Studio tasks to
a SQL Relational database, the Database/ERP connections allow you to connect to, and run SQL
queries on any other database to retrieve and store data.
Note: The Database/ERP functions and worksheet will create the SQL Connection Strings and
convert simple-language requests into SQL for you. However, it is important to be familiar with how
SQL commands are formed and executed before using this feature.
In order to utilize the Database/ERP functionality, you must first create a Connection and then send
commands to the database, either by using the Database Functions or the Database/ERP worksheet.
Database/ERP Connection
The Database/ERP Connection dialog allows you to created named connections that can be called at
will by the Database functions or worksheet.
Similar to the Default Database Configuration dialog used in the previous section, the Database
Connection dialog allows you to connect to any SQL database accessible by the runtime device. By
naming the connections, it allows for easy access to a set database. This only requires one
connection per database, so one named DB/ERP connection can access all tables within that one
database.
Once a connection is created, it is stored as XML files in the project folder in the \Config sub-folder.
Each file is given the same name as the name of the connection with the .XDC file extension.
Note: Database worksheets are executed under the Database Client Runtime task. However,
creating a new worksheet does not automatically enable the task; you must use the Execution Tasks
dialog (Tasks on the Home tab of the Ribbon) to configure the task to start at runtime.
Database Functions
The Database/ERP functions are commands in the InduSoft Web Studio built-in language to send
SQL commands directly to the named database. Since these are functions using the built-in
language, they can be used practically anywhere within your project (such as a command animation,
scheduler worksheet, graphics script, etc.).
Function Description
Returns the row number of the current row (i.e., the cursor position) in a
DBCursorCurrentRow SQL result set.
Gets the value of the specified column of the current row (i.e., the cursor
DBCursorGetValue position) in a SQL result set.
Moves the cursor to the specified row in a SQL result set and copies that
DBCursorMoveTo row's values to the mapped tags.
Moves the cursor to the next row in a SQL result set and copies that row's
DBCursorNext values to the mapped tags.
Selects a set of rows and columns in a database table, initializes the cursor
at the first row of the result set, copies that row's values to mapped tags,
and then returns a cursor handle that can be referenced by other DB/ERP
DBCursorOpen functions.
Selects a set of rows and columns in a database table, initializes the cursor
at the first row of the result set, copies that row's values to mapped tags,
and then returns a cursor handle that can be referenced by other DB/ERP
DBCursorOpenSQL functions. (This function is equivalent to a SQL SELECT statement.)
Moves the cursor to the previous row of the result set and copies that
DBCursorPrevious row's values to the mapped tags.
Inserts one new row into a database table. (This function is equivalent to
DBInsert a SQL INSERT statement.)
Selects a result set and then writes the same value to all rows of a
specified column. (This function is equivalent to a SQL UPDATE
DBUpdate statement.)
Database/ERP Worksheet
Database worksheets allow asynchronous execution of database operations, and they offer a user-
friendly interface for building SQL commands. Once a Database/ERP connection is made, the
worksheet links a InduSoft Web Studio tag with a field in the database, and the most commonly used
commands can be executed in the database by use of trigger tags.
Header: The worksheet header identifies the database and subsequent table being connected to, any
necessary conditional statements, as well as the triggers for the most common queries, such as
Select, Insert, Delete, and Update.
Header
Status: Enter the name of a numeric tag that will receive status codes for database
operations during runtime
Completed: Enter the name of a numeric tag that will be toggled when database commands
are successfully executed.
Error Message: Enter the name of a string tag that will receive detailed error messages, if
errors occur during runtime.
Connection combo-box: Click to select a connection to the target database. All available
connections are listed, as configured with the Database Connection dialog described above.
Type combo-box: Click to specify how the result set will be selected for the worksheet:
o Table: Enter a table name and an optional filter condition. (The filter condition is
equivalent to the SQL "Where" clause.) All rows of the table that match the filter
condition are selected.
Note: For Table, Condition and SQL Statement, you can enter the names of project tags
that contain the desired information by enclosing a tag name within curly brackets ({}).
This lets you programmatically change the selection during runtime.
Cursor Triggers
Select: When the tag configured in this field changes, a new cursor opens the first row of the
result set and copies those values to the tags configured in the worksheet body.
Next: When the tag configured in this field changes, the cursor moves to the next row of the
result set and copies those values to the tags configured in the worksheet body.
o Close Query: When the tag configured in this field changes, the cursor releases the
current result set.
o Previous: When the tag configured in this field changes, the cursor moves to the
previous row of the result set and copies those values to the tag configured in the
worksheet body.
o Total number of rows: Enter a numeric tag that will receive the total number of rows
in the result set.
o Current row number: Enter a numeric tag that will receive the number of the current
row (i.e., the position of the cursor). When a result set is first opened using the Select
trigger, this number is 1. Each Next trigger increments this number, and each
Previous trigger decrements it.
Table Triggers
Insert: When the tag configured in this field changes, a new row is inserted with the current
values of the tags configured in the worksheet body.
Update: When the tag configured in this field changes, all rows of the result set are
overwritten with the current values of the tags configured in the worksheet body.
Delete: When the tag configured in this field changes, all rows of the result set are deleted.
Body
The body links an InduSoft Web Studio tag with a column (field) in the database.
In the body of the worksheet, you can map project tags to the columns (fields) of the result set. For
each row of the body, enter a Tag Name and its corresponding Column. Which columns are available
depends on how the result set is selected, and how it is selected may change during runtime, so be
sure to map all necessary columns.
Note: When using the Database/ERP worksheet, remember that before you create a new selection,
you must first release the existing one by using the Close Query trigger configured in the Advanced
dialog.
Ctrl+C Copy
Ctrl+X Cut
Ctrl+F Find
Ctrl+V Paste
Shift+<arrow> Moves the selected object one pixel or grid in the direction of the arrow
Tab Change selection to the next screen object (based on object ID)
Shift+Tab Change selection to the previous screen object (based on object ID)
Alt+Enter Opens the Object Properties dialog for the currently selected object
2. Click the link on the left called Allow an app or feature through Windows Firewall.
If you will have remote web thin clients or secure viewer clients or anticipate the need to
connect using the remote database spy or logwin, then proceed to Step 3, otherwise proceed
to Step 5.
4. Click on the Browse button, browse to the EmbeddedView runtime installation folder (e.g.,
C:\STUDIO\Bin), open CEView.exe, and click on the button called Add.
6. Click on the Browse button, browse to the EmbeddedView installation folder (e.g.,
C:\STUDIO), open CEServer.exe, and click on the button called Add.
Configure IIS
Start by configuring IIS to host your project files as outlined in the follow steps.
1. Open the Internet Information Services (IIS) Manager. You should see something similar to
this,
2. Expand the navigation tree in the Connections frame as shown below and click on Default
Web Site that will host the InduSoft Web Studio project.
3. Click the link called Basic Settings in the Actions frame. You should see something similar
to this,
Change the field called Physical path to be the full Windows folder path of your project folder
as shown in the example below.
5. Click the link called Add in the Actions frame. You should something similar to this,
Change the field called File name extension to .app and the field called MIME type to
application/studio as shown below.
Click on the button called Ok. Repeat for all the file name extensions required by InduSoft
Web Studio: .app, .bin, .csv, .gis, .html, .ico, .ini, .lst, .scc, .scr, .sg, .stmp, .tra, and .txt.
Note: MIME types might already exist for some of the file name extensions required by InduSoft Web
Studio. If so, then please use what has already been configured. Do not change any existing MIME
types.
6. Click on Default Web Site in the Connections frame of the Internet Information Services (IIS)
Manager and click the link called Restart in the Manage Website frame to restart the web
site.
1. Open Windows File Explorer and navigate to the parent folder of your project folder. Right-
click on your project folder and click Properties. You should see something similar to this,
2. Click the tab called Security. You should see something similar to this,
3. Click the button called Edit... You should see something similar to this,
4. Click the button called Add You should see something similar to this,
If the contents of the field called From this location is not your computer name, then click the
button called Locations and change the location to be your computer.
5. In the field called Enter the object names to select enter IUSR and IIS_IUSRS separating
each by a semicolon as shown below.
Click on the button called Ok to close the Select Users, Computers, Service Accounts, or
Groups dialog.
6. Verify that the two built-in security principles called IUSR and IIS_IUSRS have been added to
the folder permissions as shown below.
You are now ready to configure the Studio Database Gateway to run as a Windows Service. These
instructions use a program called SRVANY.EXE from the Windows Resource Kit Tools and the
Windows Service Control program called SC.EXE. These instructions are for Windows 7 and higher
and for Windows Server 2008 R2 and higher. If you have questions about configuring the Studio
Database Gateway to run as a Windows Service on other versions of Windows operating systems,
then please leave a reply.
Note: The Studio Database Gateway requires .NET Framework 4.0. Please ensure that it is installed
prior to starting the gateway.
If so, then click the link called Run the program without getting help. The installer should launch and
you should see something similar to the following,
Click the button labeled Next and follow the installation prompts to complete the installation. This will
install the Windows Resource Kit Tools in your Program Files folder (e.g., C:\Program Files
(x86)\Windows Resource Kits\Tools or C:\Program Files\Windows Resource Kits\Tools). The
remainder of these instructions presume that that Windows Resource Kit Tools are installed
in C:\Program Files (x86)\Windows Resource Kits\Tools. Please make the appropriate changes if
they were installed in a different folder on your computer.
The next section will create a Windows Service using the Windows Resource Kit Tool called
SRVANY.EXE to launch the Studio Database Gateway.
The command is one command that will wrap depending on the width of your Command Prompt
window. Also, note that the spaces following binPath=, DisplayName=, and start= are required. For
your convenience, you can copy/paste the following command to your Command Prompt window and
run it.
Remember to change the path if the Windows Resource Kit Tools are installed in a different location
on your computer.
This creates a Windows Service called StADOSvr that launches SRVANY.EXE. Next, you need to
configure the service to launch the Studio Database Gateway. This step requires that you edit the
Windows Registry. To quote Microsoft,
WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to
reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect
use of Registry Editor can be solved. Use Registry Editor at your own risk.
NOTE: You should back up the registry before you edit it.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\StADOSvr
Click the key called StADOSvr, then you should see something similar to the following,
Right-click the key called StADOSvr, click New >> Key, and create a key called Parameters. You
should see something similar to the following,
Right-click the new key called Parameters, click New >> String Value, and create a new string value
called Application. You should see something similar to the following,
Right-click the new string value called Application and change the field called Value data to be the full
path name of the Studio Database Gateway as shown below,
If you installed the Studio Database Gateway files in a different location, then change the path as
required. Click the button labeled OK and you should see something similar to the following,
You should now be able to start the Studio Database Gateway service like you would other Windows
Services. The service is also configured to automatically start whenever the computer starts. The
final step is to configure the Windows Firewall to allow remote access to the gateway.
Click the button labeled Allow another app. If the button is not selectable, then you may need to click
the button called Change Settings to enable the ability to allow an application through the
firewall. You should see something similar to the following,
Click the button labeled Browse, browse for the file called StADOSvr.exe and click the button
labeled Add. You should see something similar to the following
Tic the checkboxes that apply to the networks for which you want to grant access. Click OK when
you are done.