0% found this document useful (0 votes)
29 views368 pages

GENESIS64 Core Training Manual

The GENESIS64 Core Training Manual provides comprehensive training on the GENESIS64 software, including its architecture, project management, and various components such as AlarmWorX64 and GraphWorX64. It outlines licensing agreements, warranty information, and return policies, along with detailed sections on configuration, data management, and security. The manual serves as a guide for users to effectively utilize the GENESIS64 platform for their operational needs.

Uploaded by

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

GENESIS64 Core Training Manual

The GENESIS64 Core Training Manual provides comprehensive training on the GENESIS64 software, including its architecture, project management, and various components such as AlarmWorX64 and GraphWorX64. It outlines licensing agreements, warranty information, and return policies, along with detailed sections on configuration, data management, and security. The manual serves as a guide for users to effectively utilize the GENESIS64 platform for their operational needs.

Uploaded by

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

GENESIS64 Core Training Manual

GENESIS64 Core
Training Manual
Version 10.01
GENESIS64 Core Training Manual

© 2008 ICONICS, Inc. All rights reserved worldwide. This document may not be
reproduced or copied in any manner without written authorization from ICONICS,
Inc.

The information contained within this document is subject to change without notice.
ICONICS, Inc. does not guarantee the accuracy of the information.

GENESIS32, GENESIS64, Pocket GENESIS, BizViz and their respective modules,


OPC-To-The-Core, and Visualize Your Enterprise are trademarks of ICONICS, Inc.

Windows, Windows XP, Windows 2000, Windows 2003 Server, Windows CE,
Windows NT, Windows XP-64, Windows 2003-64, Windows Vista and Windows
Server 2008 are registered trademarks of Microsoft Corp. in the United States and
other countries.

Other product and company names mentioned herein may be trademarks or registered
trademarks of their respective owners.

Document Number: TM-GEN64Core-1001


GENESIS64 Core Training Manual

ICONICS LICENSE AGREEMENT


YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS!

Opening and using the enclosed software for any purpose indicates your acceptance of the terms and conditions of this license agreement.
If you do not agree with them you should return all software, documentation and copy protection keys within seven days of shipment
unopened and your money will be refunded.

ICONICS provides this program and licenses its use in the United States, Puerto Rico, or internationally. You assume the responsibility for
the selection of the program to achieve your intended results, and for the installation, use and results obtained from this program.

LICENSE
You are granted a personal license to use this program under the terms stated in this Agreement. You may: 1) Install and use the program
on a single machine. 2) Make a single archival back-up copy of the program for the sole purpose of supporting your use of the single
program on a single machine. 3) You may not use, copy, modify, or transfer the program, or transfer any copy, in whole or in part, except as
expressly provided in this license, or with a written contractual agreement with ICONICS, Inc.

TERM
The license is effective until terminated. It will terminate if you fail to comply with any term or condition of this Agreement. You agree, upon
such termination, to destroy the program and all copies that were made from it and to promptly return any copy protection key(s) to
ICONICS.

LIMITED WARRANTY
ICONICS WARRANTS THE CD-ROM OR PHYSICAL DISKETTES, ON WHICH THE PROGRAM IS FURNISHED, AND PHYSICAL
DOCUMENTATION TO BE FREE OF DEFECTS IN MATERIALS AND WORKMANSHIP UNDER NORMAL USE FOR A PERIOD OF
NINETY (90) DAYS FROM THE DATE OF DELIVERY TO YOU AS EVIDENCED BY YOUR RECEIPT. THIS PROGRAM IS PROVIDED
“AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

ICONICS SPECIFICALLY DISCLAIMS ALL OTHER WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN
PARTICULAR, WITH RESPECT TO ANY PARTICULAR APPLICATION, USE OR PURPOSE, IN NO EVENT SHALL ICONICS INC. BE
LIABLE FOR ANY OTHER COMMERCIAL DAMAGE, INCLUDING BUT NOT LIMITED TO SPECIAL, INCIDENTAL, CONSEQUENTIAL OR
OTHER DAMAGES. ICONICS DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET YOUR
REQUIREMENTS OR THAT THE OPERATION OF THE PROGRAM WILL BE UNINTERRUPTED OR ERROR FREE.

LIMITATION OF REMEDIES
ICONICS’ entire liability and your exclusive remedy shall be the replacement of any CD-ROM or diskette not meeting ICONICS’ “Limited
Warranty” which is returned to ICONICS with a copy of your receipt within the warranty period. The remedy for breach of this warranty shall
be limited to replacement and shall not encompass any other damages including but not limited to loss of profit, special, incidental,
consequential, or other similar claims arising out of the use or inability to use such program even if ICONICS has been advised of the
possibility of such damages, or for any claim by any other third party.

GENERAL
This Agreement will be governed by the laws of the Commonwealth of Massachusetts. Should you have any questions concerning this
Agreement, you may contact ICONICS in writing at:

ICONICS, Inc.
100 Foxborough Boulevard
Foxborough, MA 02035

You acknowledge that you have read this agreement, understand it and agree to be bound by its terms and conditions. You further agree
that it is the complete and exclusive statement of the Agreement between you and ICONICS which supersedes any proposal or prior
Agreement, oral or written, and any other communications between you and ICONICS relating to the subject matter of the Agreement.

ICONICS RETURN POLICY


All sales are final (NO RETURNS) unless one of the following conditions is applicable: Program is returned in its original packaging material
within 7 days after shipment. In such a case, a full refund is provided, less all incurred shipping and handling costs. Program is returned
within 30 days from the original shipment date. In such a case a 20% restocking fee is applicable. No returns are allowed on OPC
ToolWorX or ActiveX ToolWorX.
GENESIS64 Core Training Manual
GENESIS64 Core Training Manual Contents

Contents

1. Introduction to GENESIS64
1.1 OBJECTIVES ............................................................................................................................................ 1-1
1.2 INTRODUCTION ....................................................................................................................................... 1-1
1.3 GENESIS64 ARCHITECTURE ..................................................................................................................... 1-3
1.4 PLC, OPC, AND GENESIS64.................................................................................................................... 1-6
1.5 DATA CONNECTIONS .............................................................................................................................. 1-13
1.6 THE DATA BROWSER.............................................................................................................................. 1-14
LAB: DATA CONNECTIVITY ......................................................................................................................... L1-1
REVIEW: INTRODUCTION TO GENESIS64 REVIEW....................................................................................... R1-1

2. The Workbench
2.1 OBJECTIVES ............................................................................................................................................ 2-1
2.2 INTRODUCTION TO THE WORKBENCH .......................................................................................................... 2-1
2.3 CREATING A PROJECT ............................................................................................................................... 2-8
2.4 CONFIGURATION AND LAYOUT MANAGEMENT ............................................................................................ 2-13
2.5 PROJECT MANAGEMENT TOOLS ............................................................................................................... 2-22
2.6 DEPLOYMENT ....................................................................................................................................... 2-24
REVIEW: THE WORKBENCH REVIEW ........................................................................................................... R2-1

3. AlarmWorX64 Server
3.1 OBJECTIVES ............................................................................................................................................ 3-1
3.2 ALARMWORX64 SERVER ......................................................................................................................... 3-1
3.3 ALARM TAGS .......................................................................................................................................... 3-2
3.4 CONFIGURING ALARM TAGS ...................................................................................................................... 3-3
3.5 GROUP ALARM TAGS BY AREA ................................................................................................................. 3-11
LAB: ALARMWORX64 SERVER .................................................................................................................... L3-1
REVIEW: ALARMWORX64 SERVER REVIEW ................................................................................................ R3-1

4. AlarmWorX64 Viewer
4.1 OBJECTIVES ............................................................................................................................................ 4-1
4.2 INTRODUCTION TO THE ALARMWORX64 VIEWER .......................................................................................... 4-1
4.3 CONFIGURING THE VIEWER ....................................................................................................................... 4-3
4.4 ALARM VIEWER RUNTIME OPTIONS .......................................................................................................... 4-15
LAB: VIEWING ALARMS .............................................................................................................................. L4-1
REVIEW: ALARMWORX64 VIEWER REVIEW ................................................................................................ R4-1

ICONICS, Inc i
Contents GENESIS64 Core Training Manual

5. AlarmWorX64 Logger
5.1 OBJECTIVES ............................................................................................................................................ 5-1
5.2 INTRODUCTION TO THE ALARMWORX64 LOGGER ......................................................................................... 5-1
5.3 STARTING THE ALARMWORX64 LOGGER CONFIGURATOR............................................................................... 5-2
5.4 ALARMWORX64 LOGGER CONFIGURATION ................................................................................................. 5-2
5.5 COLUMN DEFINITIONS.............................................................................................................................. 5-8
5.6 NODES CONFIGURATION ........................................................................................................................... 5-9
LAB: ALARM LOGGER ................................................................................................................................. L5-1
REVIEW: ALARMWORX64 LOGGER REVIEW ............................................................................................... R5-1

6. TrendWorX64 Logger
6.1 OBJECTIVES ............................................................................................................................................ 6-1
6.2 INTRODUCTION TO TRENDWORX64 LOGGER................................................................................................ 6-1
6.3 TRENDWORX64 LOGGER IN THE WORKBENCH ............................................................................................. 6-2
6.4 DATABASE CONFIGURATIONS..................................................................................................................... 6-3
6.5 DATABASE GROUPS ................................................................................................................................. 6-4
6.6 ADDING LOGGING GROUPS ....................................................................................................................... 6-5
6.7 ADD TAGS TO A LOGGING GROUP............................................................................................................. 6-10
LAB: TRENDWORX64 LOGGER .................................................................................................................... L6-1
REVIEW: TRENDWORX64 LOGGER REVIEW ................................................................................................ R6-1

7. TrendWorX64 Viewer
7.1 OBJECTIVES ............................................................................................................................................ 7-1
7.2 INTRODUCTION ....................................................................................................................................... 7-1
7.3 TRENDWORX64 VIEWER MODES .............................................................................................................. 7-2
7.4 TRENDWORX64 VIEWER PROPERTIES ......................................................................................................... 7-2
7.5 SIDE PANEL ............................................................................................................................................ 7-4
7.6 TABS ..................................................................................................................................................... 7-4
7.7 CHART VIEW .......................................................................................................................................... 7-5
7.8 PLOT TYPE.............................................................................................................................................. 7-9
7.9 PEN CONFIGURATION ............................................................................................................................. 7-10
7.10 RUNTIME OPERATIONS ........................................................................................................................... 7-12
7.11 WORKBENCH VS. GRAPHWORX64 ........................................................................................................... 7-15
LAB: TREND VIEWER .................................................................................................................................. L7-1
REVIEW: TRENDWORX64 VIEWER REVIEW ................................................................................................ R7-1

8. Getting to Know GraphWorX64


8.1 OBJECTIVES ............................................................................................................................................ 8-1
8.2 GRAPHWORX64 OVERVIEW ..................................................................................................................... 8-1
8.3 GRAPHWORX64 LAYOUT ......................................................................................................................... 8-2
8.4 THE OBJECT EXPLORER ............................................................................................................................. 8-3
8.5 THE PROPERTIES EXPLORER ....................................................................................................................... 8-6
8.6 CUSTOMIZING THE WORKSPACE USING THE VIEW TAB ................................................................................... 8-7
8.7 TEMPLATES AND TRANSITIONS (LAYOUT) ................................................................................................... 8-10
8.8 SYMBOLS LIBRARY ................................................................................................................................. 8-12
LAB: ICTONICS GRAPHICAL TEMPLATE ....................................................................................................... L8-1
REVIEW: GETTING TO KNOW GRAPHWORX64 REVIEW .............................................................................. R8-1

9. GraphWorX64 Basics
9.1 OBJECTIVES ............................................................................................................................................ 9-1
9.2 BASIC 2D SHAPES AND OBJECTS ................................................................................................................. 9-1

ii ICONICS, Inc
GENESIS64 Core Training Manual Contents

9.3 DYNAMICS ............................................................................................................................................. 9-3


9.4 OBJECT COUNT ....................................................................................................................................... 9-7
9.5 APPLICATION MODE ................................................................................................................................ 9-7
LAB: ICTONICS MONITOR DISPLAY ............................................................................................................. L9-1
REVIEW: GRAPHWORX64 BASICS REVIEW ................................................................................................. R9-1

10. GraphWorX64 Tools


10.1 OBJECTIVES .......................................................................................................................................... 10-1
10.2 GENESIS64 CONTROLS ......................................................................................................................... 10-1
10.3 ARRANGE CONTROLS AND OBJECTS .......................................................................................................... 10-3
10.4 SEARCH AND REPLACE ............................................................................................................................ 10-5
10.5 LAYERS ................................................................................................................................................ 10-6
10.6 WEB PUBLISHING ................................................................................................................................ 10-10
LAB: LAYERS AND POPUP DISPLAYS ......................................................................................................... L10-1
REVIEW: GRAPHWORX64 TOOLS REVIEW ................................................................................................ R10-1

11. GenTray and FrameWorX64 Server


11.1 OBJECTIVES .......................................................................................................................................... 11-1
11.2 INTRODUCTION TO GENTRAY AND FRAMWORX64 ...................................................................................... 11-1
11.3 INTERFACING WITH GENTRAY .................................................................................................................. 11-1
11.4 ICONICS FRAMEWORX64 SERVER CONFIGURATION .................................................................................. 11-2
11.5 CHANGING THE DEFAULT FRAMEWORX64 SERVER ..................................................................................... 11-5
11.6 REMOTE ACCESS ................................................................................................................................... 11-6
LAB: REMOTE CONFIGURATION ............................................................................................................... L11-1
REVIEW: GENTRAY AND FRAMEWORX64 REVIEW ................................................................................... R11-1

12. Unified Data Manager


12.1 OBJECTIVES .......................................................................................................................................... 12-1
12.2 INTRODUCTION ..................................................................................................................................... 12-1
12.3 WORKING WITH OBJECTS IN THE UDM ..................................................................................................... 12-2
12.4 EXPRESSIONS ........................................................................................................................................ 12-4
12.5 GROUPS .............................................................................................................................................. 12-7
12.6 VALUE SETS.......................................................................................................................................... 12-9
12.7 REGISTERS ......................................................................................................................................... 12-11
12.8 TRIGGERS........................................................................................................................................... 12-17
LAB: RECIPES ............................................................................................................................................ L12-1
REVIEW: UNIFIED DATA MANAGER REVIEW ............................................................................................ R12-1

13. Global Aliases


13.1 OBJECTIVES .......................................................................................................................................... 13-1
13.2 INTRODUCTION TO GLOBAL ALIASES .......................................................................................................... 13-1
13.3 ARCHITECTURE...................................................................................................................................... 13-2
13.4 DEFINITION OF GLOBAL ALIAS .................................................................................................................. 13-3
13.5 ALIAS RESOLUTION ................................................................................................................................ 13-5
13.6 USING THEMES AND THEME VALUES ......................................................................................................... 13-6
13.7 CONFIGURING THEMES AND GLOBAL ALIASES ............................................................................................. 13-7
13.8 USING GLOBAL ALIASES ........................................................................................................................ 13-11
LAB: GLOBAL ALIASING ............................................................................................................................ L13-1
REVIEW: GLOBAL ALIASES REVIEW........................................................................................................... R13-1

ICONICS, Inc iii


Contents GENESIS64 Core Training Manual

14. Language Aliases


14.1 OBJECTIVES .......................................................................................................................................... 14-1
14.2 INTRODUCTION TO LANGUAGE ALIAS......................................................................................................... 14-1
14.3 BACKGROUND....................................................................................................................................... 14-2
14.4 CONFIGURING LANGUAGE ALIASING.......................................................................................................... 14-2
14.5 LANGUAGE ALIAS SWITCHING ................................................................................................................ 14-11
LAB: A MULTI-LINGUAL SYSTEM ............................................................................................................... L14-1
REVIEW: LANGUAGE ALIASING REVIEW ................................................................................................... R14-1

15. Security
15.1 OBJECTIVES .......................................................................................................................................... 15-1
15.2 INTRODUCTION TO ICONICS SECURITY ..................................................................................................... 15-1
15.3 SECURITY SYSTEM COMPONENTS.............................................................................................................. 15-2
15.4 GLOBAL SETTINGS ................................................................................................................................. 15-3
15.5 SECURITY OBJECTS AND THEIR RELATIONS .................................................................................................. 15-7
15.6 SECURITY PRIVILEGES ........................................................................................................................... 15-13
15.7 LOGGING-IN AND LOGGING-OUT ............................................................................................................ 15-19
15.8 ADVANCED SETTINGS ........................................................................................................................... 15-22
LAB: SECURITY ......................................................................................................................................... L15-1
REVIEW: SECURITY REVIEW...................................................................................................................... R15-1

Appendix A. Glossary ............................................................................................................... A-1


Appendix B. Test Your Knowledge Answers ......................................................................... B-1

iv ICONICS, Inc
GENESIS64 Core Training Manual Introduction to GENESIS64

Introduction to
1
GENESIS64
1.1 Objectives
After completing this chapter, you should:

• Understand the GENESIS64 Architecture


• Know how to open a display
• Recognize Configuration mode from Runtime mode
• Know how to connect a process point or dynamic to device data
• Understand OPC UA and other OPC specifications
• Know the different applications in the GENESIS64 Suite

1.2 Introduction
Look around. In any modern industrial economy the water you drink, the food
you eat, the clothes you wear, the energy you use, and the myriad other
necessities and amenities of life are made possible through computer aided
observation and control of automated systems used to process them. Industrial
automation takes data issued by devices, puts them into a form that can be sent
over a network, and delivers that data to the computer that has the software
necessary to process it. Process control in turn takes commands issued by
automation software on a computer and sends it to the correct device(s) where the
command is translated into action. For this scheme to work in an open system
(multi-vendor environment), devices and systems must be discoverable,
communication must use known transport protocols, and data must be in a
predictable format – all of which require standards.

The software you will be learning about in this course, the ICONICS GENESIS64
automation suite, is an open system software suite based on Microsoft Windows
and industry standardized networking protocols. Listed below are some
applications and functions within the GENESIS64 suite:

ICONICS, Inc 1-1


Introduction to GENESIS64 GENESIS64 Core Training Manual

• Display process data in near real time within GraphWorX64


• Monitor events and alarm conditions with AlarmWorX64
• Log historical data for analysis with TrendWorX64 or with the unique
high speed Hyper Historian
• Display geographical information for your assets with EarthWorX64

GENESIS64 allows you to construct Graphical User Interface


nterface (GUI) in a visual
object-oriented
oriented dev
development environment.. Your displays can model your
processes or systems ssuch that controls look and feel just like real devices.
GENESIS64 abstracts the complexity of the underlying data in a way that it only
displays information that an operator needs, wh
which
ich allows for configuring controls
and presenting them in a meaningful manor that will be instantly recognizable.
You can change flows with simulated dials, observe temperatures with simulated
thermometers, check the level of a tank with a cut cut-a-way
way figure
figur that shows the
level of the tank within, and almost anything else your heart desires.
desires

With scripting, aliasing (variables), reusable Microsoft .NET Framework


components, open standards, and being web web-enabled,
enabled, GENESIS64 works
seamlessly in a multi
multi-vendor environment. Once you learn how to use
GENESIS64 products, you can reuse components, apply complex shapes and
controls with a click of your mouse, and rapidly develop the display you need.

As an example of the possibilities,, consider the Industry Case Studies


Stud image map
page in the GenDemo application that was built using GENESIS64 technology
1). To see it in GENESIS64, click START  All Programs  ICONICS
(Figure -1).
GENESIS64  GenDemo then click on an image to open a display with sample
data.

Figure 1.1 - GenDemo: Industry Case Studies

1-2 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

1.3 GENESIS64 Architecture


GENESIS64 is a massive suite of applications. Questions such as where do I start
and how do the applications communicate arise naturally to each user. Luckily,
we have created a single location to manage your proje
project.

You can perform aall system configurations in the Workbench. From your Alarm
Server configuration to your system security, to your configuring your HMI
displays, you can do it all within the Workbench. Figure 1..2 illustrates the
relationship of the Workbench to tthe
he different GENESIS64 components as well as
how GENESIS64 communicates to third third-party applications.

Figure 1.2 - Workbench Architecture

As you see from Figure 1.2, you can connect to and configure many different
GENESIS64 applications within the Workbench. Some of the applications that
you can access includes:

• ICONICS Viewers (.NET controls) for GraphWorX64, TrendWorX64,


AlarmWorX64, and EarthWorX.
• Server configuration utili
utilities such as the AlarmWorX64, Security, and
License servers
• ICONICS utilities such as Global Alias, Language Alias, and Unified
Data Manager; front ends to SQL Server data stores.
• Communication server configuration for the FrameWorX (OPC UA)
server, GenTra
GenTray (for GenBroker), SNMP, and others.

ICONICS, Inc 1-3


Introduction to GENESIS64 GENESIS64 Core Training Manual

Aside from the utilities and the configurators, we have containers to view
different types of data in the Workbench. These containers are also controls that
you can add into GraphWorX64 displays. Unlike GENESIS32, where containers
are standalone applications, most containers in GENESIS64 can only be
configured and run within Workbench. The GraphWorX64 container is the only
one in the GENESIS64 suite that allows for configuration and runtime without
going into the Workben
Workbench.ch. Like the Workbench, these you can configure and
even go into runtime to view data in these containers.

1.3.1 Configuration vs. Runtime


When you create or edit a display you are in configuration mode, and you may see
a button in the display that says Runtime
Runtime.. Runtime is the mode in which data is
being accessed, while configuration allows you to modify the display or
environment while viewing sample data only. At runtime, you may see a button
on the display that says Configuration that lets you switch to configuration
confi mode.
However, in a display that has been locked down for operators you typically don’t
see a button at runtime that would let you switch to configuration mode.

In Figure 1.3, the Workbench is shown in runtime mode; to open this display in
configuration mode you would need to “edit” the display using that command on
the display’s context menu in the navigation tree on the left.

Figure 1.3 - Workbench: EarthWorX64 Display in Runtime

1-4 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

A GENESIS64 application is created and modified (edited) in Configuration


Configur
mode only. In Configuration mode, you have access to all of the objects in the
viewers, their properties, and the methods (commands or operations) you can
apply to each object. The object hierarchy for the viewer objects uses the PEM
model (properties,
s, events, and methods) that characterizes visual development
environments such as Visual Basic. A gauge is shown in Configuration mode
within the work area in Figure 1.4.

Figure 1.4 - Workbench: Gauge in GraphWorX64

Some applications in the Workbench


Workbench, such as AlarmWorX64, have a preview
mode that allows you to view sample data data. However, the data shown are for
display purpose and does not match data coming from your OPC server. When
you want to see your display with real data
data, you click the Runtime button (in the
figure, located at the right of the menu bar) to switch the displa
displayy into its Runtime
mode. To make additional changes you would have to switch back into
Configuration mode using the Configuration button; you can use the Ctrl+M
keystroke (for mode) to switch between runtime and configuration modes.
modes

Servers and configurati


configuration
on utilities in the Workbench use a form metaphor for
enforcing settings on the servers and services. If you are familiar with the
Microsoft Management Console (MMC), then the forms used by the Workbench
should seem familiar to you.

Figure 1.5 below shows form for the default account policy in the Security Server.
ICONICS security provides access to user and group accounts using policies
applied to these security object
objects.

ICONICS, Inc 1-5


Introduction to GENESIS64 GENESIS64 Core Training Manual

Figure 1.5 - The Security Configuration

The unification of applic


applications
ations into the Workbench environment means that the
tools used can be common to all applications. You will find that templates,
layouts, shapes, colors, and many other facilities are manipulated identically in
GENESIS64 applications
applications, making it easier to learn and use.

The complete collection of server settings, application defaults, opened displays,


and other aspects of a working environmen
environmentt are saved into a GENESIS64 project
file (.PRJX).
). A project file can be packaged (zippe
(zipped)
d) and that package can be
deployed in additional locations with minimal effort.

1.4 PLC, OPC, and GENESIS64


Consider a simple device like a resistance thermometer that is used to measure
temperatures. Resistance thermometers use platinum films or wires because
platinum exhibits a linear resistance to temperature ratio. A highly accurate four
wire Kelvin connection thermometer (the additional wires are used to cancel out
leadd resistances) like the one below
below, has the property that at a constant voltage the
resistance measured changes linearly with temperature.

Figure 1.6 - A Four-wire Resistance Thermometer

1-6 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

A computing device can sample the value of the resistance, and that value is then
converted from the value in ohms to a temperature measurement based on a
standard physical property. While this device has one measurement of interest
(the temperature as converted from the resistance), in order for the information to
be useful, the temperature value needs to be packaged with additional pieces of
information, including:

• The address and id


identification of the thermometer,
• The time that the sample was collected,
• The units of measure (Fahrenheit or Celsius, for example),
• and perhaps the precision of the measurement.

Even though the field data sought is a single value measurement, at least three
thre or
four related values must be transmitted with it to make the data useful; and they
must be packaged in a way (addressed) that allows the data to be found (browsed)
and understood. That is in essence the function of OPC data.

1.4.1 Programmable Logical Device


Devices (PLC)
At the lowest level, sensors and other devices are wired into collection devices
where data sources are identified (tagged), aggregated (collected), and transmitted
(when required). Originally, large automation systems were proprietary
hardware/software
tware solutions referred to as a Distributed Control Systems (DCS).
But the advent of Ethernet and server
server-based
based network operating systems (Windows,
Netware, and UNIX) led to the development of aggregation devices called
Programmable Logic Controllers (PLC). Figure 1.7 shows an example of a PLC.

Figure 1.7 - PLC Modules

A Programmable Logic Controller (PLC) is a small computer industrially


hardened against dust, moisture, heat, cold, etc. The PLC's embedded operating
system is an example of a Real Time operating system since input conditions are
expected to result predict
predictably in corresponding outputs within a defined period
and order.. Programs to control the inputs and outputs (I/O) are typically stored in
non-volatile,
volatile, battery
battery-backed memory. These programs coordinate the reading of
inputs and writing of outputs to and from om digital and analog sources such as

ICONICS, Inc 1-7


Introduction to GENESIS64 GENESIS64 Core Training Manual

temperature and pressure sensors, limit switches, actuators, electric motors,


pneumatics, relays and solenoids. Some even use machine vision. PLCs can have
simple I/O built into a single unit or may have external I/O modules attached to a
network.

1.4.2 OPC Servers


The appearance of PLC devices led to the specification of some large industrial
projects in the late 1980’s and early 1990’s, particularly in the automobile
industry of which Ford Motors was a prominent example. In order for vendors
products to interoperate, several vendors got together to create a standard based
on PLC communications. One of these efforts was the industry task force that
eventually became the OPC Foundation (http://www.opc.org). The OPC
Foundation released the first set of standards in 1994 based on Windows as the
operating system and Ethernet networks as the transport.

OPC originally stood for Object Linking and Embedding for Process Control; a
name chosen because the technology was based on Microsoft’s inter-application
communication (IAC) standard at the time, OLE. The rise of the Internet led
Microsoft to update OLE with first, the Common Object Model (COM), and in
rapid fashion DCOM (Distributed COM). DCOM added the ability to
communicate with remote networked systems.

You can recognize software built using DCOM because it loads ActiveX
components into a browser or into a container application. GENESIS32 versions 5
through 9 all used ActiveX technology inside container applications.

The OPC standard specifies a set of objects, interfaces (APIs), and methods that
are used by automation software in an open system. OPC bridges devices like
PLCs and DCS to client applications using applications called OPC servers that
communicate using the OPC protocol. An OPC server can be a local service
running on the same system as the client (also known as the localhost), on a
server on the LAN, or somewhere in the cloud (WAN).

OPC communication eliminates the need for developers to write individual device
drivers to connect clients to individual devices. As long as a client understands the
correct flavor of OPC, the connection or “subscription” may be made. OPC ended
up publishing a number of different specifications based on DCOM as they
embraced different classes of devices. Eventually OPC included:

• OPC Data Access (OPC DA). This set of standards connects real time
data acquisition devices to applications.

1-8 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

• OPC Alarm and Events (OPC AE). These standards provide event-based
alarm communication.
• OPC Historical Data Access (OPC HDA). Historical data access
specifies how to log data to a data store and retrieve the data for later
analysis.
• OPC Security. This specification sets the protocol for applications to
securely communicate with OPC devices and systems.
• OPC Batch. The batch standard offers communication methods useful for
batch processing needs.
• OPC XML-DA. XML DA extended the Data Access specification so that
it communicates using XML over Microsoft Simple Object Access
Protocol (SOAP).
• OPC Complex Data. This specification extended OPC to include binary
data, complex data objects (like BLOBs), and XML documents.

Of the different standards it is only the first three – OPC DA, OPC AE and OPC
AE – that find widespread use.

You can now see the reasons for the origin of individual ICONICS GENESIS
applications to support each of the different standards:

• GraphWorX supports OPC DA access


• AlarmWorX is used for OPC AE access
• and TrendWorX is employed for OPC HDA access

Each application leverages the different capabilities of the individual types of


OPC data. The GenBroker service (introduced in GENESIS32 version 6)
facilitates the needed for remote OPC communication, overcoming
communication hardship via DCOM.

1.4.2.1 OPC UA
ICONICS GENESIS64 (which is version 10) is based on the newest OPC
standard, called OPC Unified Architecture (OPC UA). OPC UA is based on the
Microsoft .NET Framework and is meant to leverage the capabilities of object
oriented languages such as C#. OPC UA specifies a Service Oriented Architecture
(SOA) with multi-platform implementation using ANSI C, Java, or .NET. OPC
UA data sources communicate through the ICONICs FrameWorX64 server in
GENESIS64.

OPC UA defines a classic object-oriented address space. Items exist in an object


hierarchy and can contain objects of other types. Objects based on another object

ICONICS, Inc 1-9


Introduction to GENESIS64 GENESIS64 Core Training Manual

have the property of inheritance, they start with all of the properties, events, and
methods (PEM) of the parent and add additional properties to that. Figure 1.8
shows a view of part of the OPC UA address space.

Figure 1.8 - Mesh Browser

In a process control system


system, a boiler can be an object, a sensor or valve can be an
object, and so forth. It is only necessary that the address of the object be unique so
that you can differentiate sensor 1 from sensor 2 regardless ooff the boiler. The data
associated with any object is expressed as the value that is assigned to a property
of that object. Therefore, the assignment of an object property to a process point
in GENESIS64 represents the data connection.

Objects have one one-way


way relationships to other objects, and the relationships
themselves are objects with properties. In the OPC UA namespace, you can define
hierarchical and structural relationships, as well as mesh-line
line and free form
relationships.. Vendors may define their own address spaces as long as they follow
the rules of OPC UA. Eventually OPC UA will replace OPC based on DCOM,
but GENESIS64 still contains GenBroker to allow older protocol devices to be
observed and controlled.

1.4.3 Data Displays


Figure 1.9 shows a display of a building of HVAC sensors for a well known
casino that was built using the GENESIS automation suite. Notice that the display
contains
ains a combination of digital signals (states and alarms) and analog signals
(values) from multiple devices. Flow data is shown numerically in white text
boxes that are READ only, as well as graphically on the display.

1-10 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

Figure 1.9 - An HVAC Display with Multiple Process Points

This type of display is commonly referred to as a Human Machine Interface


I
(HMI);; or alternatively the display portion of a SCADA or Supervisory Control
and Data Acquisition system. HMI or SCADA is just industry jargon for a GUI
display.

The displays people build generally show only the data of interest, which
representss only a small fraction of the data that the underlying devices are
transmitting and which are received and/or stored. Each switch can be drawn to
show its state: closed, open. Underlying the display is process logic that the
developer creates to control bbehavior.
ehavior. For an alarm condition, perhaps the
developer will choose to draw the affected portion of the system in red or flash an
alarm. Maybe the developer will include a button on the screen that can initiate an
action. All of which are made possible from monitoring a point from the OPC
Server, which we call OPC Tags or process points.

1.4.3.1 OPC Tags


Consider the schematic of a boiler shown in Figure 1.10 with
ith three different
process points:

• the top temperature sensor outputs the temperature of the return fluid,
• the middle sensor indicates whether an alarm condition exists
• and the bottom temperature sensor outputs temperature of the supply fluid.

These three sensors could all be wired into a single PLC device and transmitted to
a single OPC server where the data is aggregated into a data set. Then that data set
would be transmitted as a unit or single transaction. Alternatively, the two real-
real
time data sensor temperature outputs could be sent to one OPC server that is a

ICONICS, Inc 1-11


Introduction to GENESIS64 GENESIS64 Core Training Manual

process system and the alarms to another for events. OPC UA is flexible enough
to handle either instance.

Figure 1.10 - GenDemo: Boiler Display

From the standpoint of a client, the connection to meaningful data value defines a
data point as oppose to the method used to package the data and communicate it.
If an OPC server exposes the OPC data as a single object (all three values) –
which for the sake of simplicity let’s call the object Boiler – GENESIS64 would
browse the OPC UA data as a single object tha thatt shows all of the different
individual values. If instead there were two objects, one called Flows (with
temperatures) and another called Alarms (with events), then GENESIS64 would
require that you browse two different OPC UA objects in order to assign a data
source to a process point on a display.

In either instance, there are three values connected to the display and GENESIS64
treats both instances as if there were three individual data points, also called tags.
A tag is therefore considered to be the co connection
nnection of a GENESIS64 display to a
single useful value.

Note that a tag was defined as the connection to a meaningful data point. point A
temperature value or alarm condition is meaningful data. However, when you are
dealing with data that is multi
multi-valued, thee entire definition of the data point is part
of the same tag. In EarthWorX64
EarthWorX64, GPS locations are used, which include values
for latitude, longitude, and altitude. Each value would be meaningless without the

1-12 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

other two, so the connection to all three values as a unit is considered to be a


single tag.

To take this one step further, if you have a truck moving on your EarthWorX64
map and you show location, load condition, and direction, then you consume two
tags. The first tag is for the GPS location, as described in the previously. The
second tag is for the load condition: whether it is empty, full, or in a partially
loaded state. The third displayed metric for direction is not assigned a tag value
because it is based on a calculation between the last two GPS locations – with the
vector connecting the two – defining a direction in your display’s coordinate
system.

Since ICONICS GENESIS64 uses the number of tags as part of its licensing
scheme, you can see that the abstraction has some real world financial
implications. Just keep in mind that objects in OPC UA can be complex data
types indeed, while usage defined by their tag values can be either simple (single-
valued) or complex (multi-valued).

1.5 Data Connections


GENESIS64 requires that you establish a data connection when you want to
display time-varying data from a data source. It provides the tools needed to
connect to a wide variety of data sources.

Data sources can be:

• Variables
• Simulation functions
• Real time OPC servers with tags that can be READ-only, WRITE-only, or
READ/WRITE
• Historical data that has been stored in a memory cache or saved in a disk
file or log
• Custom data stored in a database for use when required

Consider the simple dial with its corresponding process point data value shown
below in Figure 1.11. The dial works by having a defined rotation angle that starts
at the beginning of the range (the 0 point) and ends at the end of the range (the
100 point). It’s the relationship between the process point value (here having a
value of 53) and the rotational angle of the indicator shape (the chevron) that is
important.

ICONICS, Inc 1-13


Introduction to GENESIS64 GENESIS64 Core Training Manual

Figure 1.11 - A Dial

Other properties de
determine
termine how many increments the knob has, what the labels of
each increment are, whether the knob is analog or digital (has steps), and other
properties. The data point might have a one one-to-one
one correspondence of each
process point’s value to the labels of tthe
he knob, but the relationship can be linear,
exponential, or whatever you define.

Both the text box and the rotation dynamic of the chevron object in the dial are
connected to the same data source. You assign the data source for each of these
two objects byy entering the address of the variable, simulation, expression, or tag
into the DataSource property. As long as the value you enter into the DataSource
property is syntactically correct
correct, it will be allowed; it is up to the developer to
determine the correc
correctness of the assignment. At runtime, the value of the data
source refreshes at an interval that is another property of the display.

The knob and the process point in Figure 1.11 display READ-only only data,
data which
allows for observation but no operator input. However, if the OPC tags are
writable, you can easily make this into a device where you can control the value
by turning
rning the knob or writing a value in the process point. Conceptually, control
is as simple to perform as observation in the OPC model.

1.6 The Data Browser


As you can see from the previous knob example, you can connect graphical
objects to OPC points to dispdisplay
lay the value. You can either type in the address of
the point or select it in the Data Browser in the DataSource field. In Configuration
mode, when a developer clicks in the DataSource entry box box, an Ellipsis button
appears to the right of the DataSource pproperty
roperty box as shown in Figure 1.12. An
Ellipsis button in GENESIS64 indicates that more choices are available through a
utility, menu, or some other interface element
element.

1-14 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64

Figure 1.12 – The Data Source Property

For the DataSource property


property, the Ellipsis button opens the ICONICS Data
Browser utility,, shown in Figure 1.13.. (You saw the mesh view of the Data
Browser for OPC UA address space previously in Figure 1.8.) .) The Data Browser
has many functions, each of which is isolated on the individual tabs of the dialog
box.

Figure 1.13 - Data Browser: Simulation Tab

For example, the Simulation tab allows you to select one of ICONICS
GENESIS64 simulator functions as the data source: a ramp function, sine wave,
random number generator, square function, and so forth. These simulators enter
their expressions in the form localism::sine to indicate that the simulator is on the
local system; sine is the actual name of the function. More formally,
localism::sine is an address that GENESIS64 knows how to parse and when you
select this function and click the OK button
button, the Data Browser enters the correct
address and syntax back into the Data Source property.

ICONICS, Inc 1-15


Introduction to GENESIS64 GENESIS64 Core Training Manual

The Data Browser gives you a set of tools for navigating the OPC address space,
browsing data sources, and selecting the exact data source (tag) that you require.
In Figure 1.14, the OPC UA tab is shown with a tag already selected. Notice that
the address to the device tag is displayed in the address bar. (When the address
bar isn’t
n’t selected as it was here
here, it appears in a Vista breadcrumb style.) When
you click OK the Data Browser enters the address in the DataSource property in
the correct form using the appropriate syntax.

Figure 1.14 - Data Browser: Grid View

The power of the Data Browser is that it lets you know what Data Sources are
actually available and correctly defines the addresses using the appropriate syntax.
All data source request goes through the FrameWorX64 Server. However, to keep
backwards compatibility, the FrameWorX64 server uses GenBroker to
communicate to legacy systems (e.g. OPC DA) and expose these data in the OPC
UA address space. Obviously the syntax for a true OPC UA tag is different from a
tag coming from a legacy system. The he Data Browser frees you from having to
know the individual syntax coming from the different serversservers.. You can simply
browse for tags; the addresses are entered back into the display configuration in
the correct form. Now when you save yyourour configuration and go into runtime,
runtime the
needle is connected to the tag you just assigned to it and it changes appropriately.

1-16 ICONICS, Inc


GENESIS64 Core Training Manual Lab 1: Data Connectivity

Lab: Data Connectivity 1

1.1 Lab Overview


In this section, you will explore GenDemo and become familiarize with it to find
examples in the future. We will also give you a chance to practice inserting OPC
DA tags into GraphWorX64 and view the live data.

Estimated time to complete this lab: 20 Minutes

1.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Explore GenDemo
• Connect your PLC to an OPC server
• Connect to OPC tags
• View and manipulate OPC tags within GraphWorX64

1.1.2 Support Files


You do not need any additional support file to complete this lab.

1.2 Exploring GenDemo


There are many helpful displays within GenDemo, which can serve as an example
in times of need. In this section, we will explore a few of these displays.

1. Open GenDemo by going to Start  Programs  ICONICS GENESIS64 


Tools  Edit GenDemo. We will need to open this version of GenDemo in
order to go into configuration mode.

ICONICS, Inc L1-1


Lab 1: Data Connectivity GENESIS64 Core Training Manual

2. Once the display opens, click on the gears near the top to show the Carousel
play list. You can pause tthe
he play list if you wish. Scroll down the list and
locate the GENESIS64_Architecture.gdfx and double
double-click
click on it. This display
shows an overall view of how different components such as your OPC server,
Databases, and different GENESIS64 components work tog together.
ether.

3. In the play list, look for the display Learning_GWX_2D_SahresExample.gdfx.


This display shows you the necessary steps to create a thermometer. We’ve
included a learning center in GenDemo that demonstrates different tools. You
can always select displ
displays
ays starting with “Learning” to learn more about a topic.
You can also click on the icon on the upper right hand corner with the note
pad and paper that brings up to the learning center home page.

1.3 Data Connectivity


We will now try to connect to a simulatio
simulationn tag in GraphWorX64 to see how you
can view and control it within the application.

1. Since the Workbench acts as a centralized location to access most of the


applications, we will use it throughout this course to manage our training
course project. Open the Workbench from Start  Programs  ICONICS
GENESIS64  Workbench.

2. In the Ribbon on top, click on the GraphWorX64 button in the ICONICS


Viewers section and select “New display”.

3. Add process point by going to the Dynamics tab, in the select Process Point in
the Text Objects section.

4. In the Data Browser that comes up, click on the Simulation tab, and select the
localism:ramp tag. Notice the tag properties on the right
right-hand
hand pane.

Figure L1.1 - Data Browser

L1-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 1: Data Connectivity

5. Click on the Runtime button on the upper-right hand corner to go into runtime
and see the data change.

6. Go back into configuration mode. In the object explorer on the right-hand side,
notice the data source only says localism:ramp on it. This is because we are
using a GraphWorX64 local simulation tag. You will not be able to use this
tag outside of GraphWorX64.

7. Add another process point, in the Data Browser OPC UA tab, select My
Server  ICONICS.OpcUaServerBK_DA  Channel_0_User_Defined 
Ramp  Ramp1. Notice the syntax for the data source looks like:

@ICONICS.OpcUaServerBK\Channel_0_User_Defined.Ramp.Ramp1.Value

The prefix @ and suffix .Value indicates that this is a tag from and OPC DA
server and not an OPC UA server.

8. We’ll add one final process point. This time, we will type in the path instead.
In the Dynamics Explorer, find the DataSource filed and type in

opc.tcp://ComputerName:Port\\:Server.:ServerStatus.:BuildInfo.:ManufacturerN
ame

Replace ComputerName with the name of your computer or IP address and


the Port with the port of your OPC UA server. If you are running one of the
ICONICS training images, you can use “icotraining” as the computer name
and port 4840. This connects you to the ICONICS OPC UA Server by
Kepware. When you go into runtime, you should see “Kepware” as the value
of the tag.

9. Now go into runtime and see that all of your data shows up with some value.
Although the data sources are different, it displays your data the same way.

ICONICS, Inc L1-3


Lab 1: Data Connectivity GENESIS64 Core Training Manual

L1-4 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64 Review

Introduction to
R1
GENESIS64 Review
1.1 Objectives Review
You should now know and understand the following topics:

• What GENESIS64 is and how it is used to create automation control


systems for observing and controlling equipment.
• What the different component applications in GENESIS64 are and where
they are used.
• The different types of OPC specified data

1.2 Summary
GENESIS64 is automation observation, analysis, and control software that allows
you to build HMI and SCADA systems. Based on open standards developed by
the OPC Foundation for Windows systems, GENESIS64 works with the newest
standard of data called OPC UA as well as maintained backwards compatibility to
the older standards such as OPC DA, OPC AE, OPC HAD, and others.

GENESIS64 is based on the Microsoft .NET Foundation and utilizes the


Windows Communication Foundation (WCF) and Windows Presentation
Foundation (WPF) to create state of the art Windows Service Oriented
Architecture (SOA) solutions.

All GENESIS64 applications can be configured within a framework application


called the Workbench. You can display process data in a graphical display in real
time using GraphWorX64, monitor events and alarm conditions with
AlarmWorX64, log data for analysis with TrendWorX64, and display
geographical information in a map based format using EarthWorX64. A high
speed data logger or plant historian called the Hyper Historian also ships with
GENESIS64.

ICONICS, Inc R1-1


Introduction to GENESIS64 Review GENESIS64 Core Training Manual

1.3 Terms
Address Space AlarmWorX64 Common Object Model
Configuration Mode Distributed Control System EarthWorX64
GenBroker GenTray GraphWorX64
GUI HMI HyperHistorian
IAC OLE OPC AE
OPC Client OPC DA OPC HDA
OPC Server OPC PLC
Project File Runtime Mode SCADA
Tags Service Oriented Architecture TrendWorX64
Unified Data Browser Unified Data Manager Workbench

1.4 Test Your Knowledge


In this chapter, we learned some basic concepts of PLC, OPC, and GENESIS64.
Before you continue to the next chapter, be sure that you can answer the
following questions.

1. OPC refers to all of the following except:

a. A data communications protocol


b. OLE for Process Control
c. A standards body
d. A Microsoft networking protocol

2. All of the following are true except:

a. The Workbench is used to configure displays and services


b. GraphWorX64 can only be run in the Workbench.
c. FrameWorX64 is an OPC UA server.
d. TrendWorX64, AlarmWorX64, and EarthWorX64 can be placed as
viewers into a GraphWorX64 display.

3. True or False: A tag allows you to display OPC data in a client application.

4. During configuration, which of the following is NOT true?

a. A display can be modified or edited.


b. Sample data can be displayed so that the display can be previewed.
c. A runtime button is available to go into the runtime mode.
d. You can display live data for short periods of time.

R1-2 ICONICS, Inc


GENESIS64 Core Training Manual Introduction to GENESIS64 Review

5. Which of the following is true of OPC UA?

a. It can use COM/DCOM in its legacy mode.


b. It is a hierarchically organized object environment only.
c. The object model supports one and only one namespace.
d. None of the Above

ICONICS, Inc R1-3


Introduction to GENESIS64 Review GENESIS64 Core Training Manual

R1-4 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

The Workbench 2

2.1 Objectives
After completing this chapter, you should be familiar with:

• The basic features of the GENESIS64 Workbench


• How to create an ICONICS project using the Workbench
• Techniques for arranging and working with files in the Workbench
• How to customize the Workbench
• Ways to share a project among development team members
• Deploying a project for a customer

2.2 Introduction to the Workbench


The Workbench is the centralized Web-based environment for GENESIS64
products. It provides a configuration environment that runs multiple applications
and customized third-party environments. Using the Workbench, you will be able
to:

• Configure web-based components. Multiple users can configure databases


and application servers at the same time.
• Launch runtime mode for simulating and testing and running project
components
• Manage your projects
• Deploy your projects

The Workbench, shown in Figure 2.1, provides a frame in which you can use
every component of GENESIS64. In addition to being a configuration tool, the
Workbench can also act as an operator interface and project management tool.

ICONICS, Inc 2-1


The Workbench GENESIS64 Core Training Manual

Figure 2.1- Empty Workbench

All GENESIS64 configurations can be done from within the Workbench,


allowing you to learn common techniques that you can apply to set up servers,
tools, utilities, and even applications. This design economizes your engineering
learning time
ime and overhead costs. The ability to configure remotely lets multiple
users configure multiple application servers concurrently and administer multiple
databases simultaneously.

Using GENESIS64 applications in the Workbench, you will use its configuration
configuratio
and runtime operations. The Workbench:

• Provides a framework for project management and security (security will


be covered later in this course),
• Can load various providers or plugplug-ins that read from and write to graphics
files,
• Can read and write to SQL or system databases,
• Can load configuration forms that can start and stop services, set
environmental variables, and more,
• Provides a browsing function, a display or design function, and a
command set through the ribbon and menu commands that changes with
the application you’re working in.
• When you open the Workbench for the first time you see all of the
applications, tools, utilities, and services listed in the Project Explorer that
you could open within the Workbench. The following figure illustrates

2-2 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

what is available. (Note that if you have a Hyper Historian installation, the
set of components is slightly smaller than the one you see listed here.)

Figure 2.2 - Workbench Components

As illustrated in Figure 2.3, the Workbench is made up of three general areas: the
Project Explorer, the ribbon menu bar, and the content area.

Figure 2.3 - Different Sections of the Workbench

2.2.1 Project Explorer


The Project Explorer encapsulates the ICONICS project that you are working on
and its content defines the breadth of a project. The Project Explorer is also the
navigational component you use to browse the project’s content. It has a
navigation tree for quick access to different application’s data. You can select any
application that is in the project and navigate its data. Button bars and icons make
it easy to access applications from inside the Workbench.

ICONICS, Inc 2-3


The Workbench GENESIS64 Core Training Manual

Figure 2.4 - The Project Explorer

2.2.2 The Ribbon


The Ribbon is designed to help you quickly find the commands you need to
complete a task. Commands are organized in logical groups under tabs. Each tab
relates to a type of activity, such as project management or laying out a page.

Each ICONICS applicatio


application
n or tool that you open in the Workbench has its own
ribbon;; as you progress through this course, you will ll see each GENESIS64
application’s ribbon commands. As you work in the Workbench,
Workbench you will learn
how to integrate custom actions and tools inside the ribbon.

Figure 2.5 - TrendWorX64 Ribbon in the Workbench

Above the ribbon bar is a quick access toolbar containing, by default, icons for the
New and Save commands. By using the drop-down down menu located directly
above the Project menu (shown in Figure 2.6), ), you can add icons to the quick-
quick
access toolbar and place the quick
quick-access
access toolbar below the ribbon bar.

2-4 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Figure 2.6 - Quick Access Toolbar

Using this same menu, you can also minimize the ribbon so that only its menu
items display. You can also do this by double
double-clicking
clicking on the ribbon tabs.

2.2.3 Content Area


The Content area is your workspace. As you proceed through this course, you will
make heavy use of the content area when working with GENESIS64 applications.
We will cover the content area in detail as you proceed. In this chapter, we will
focus on how you can organize your work inside the content area.

2.2.4 Customizing the Workbench


Some customization options for the content area are available from the Options
menu item on the File menu. You can configure a Home page, page as shown in
Figure 2.7, to display in the Content area, and you can select a background.
These settings are stored locally, and are applied to your machine, not to any
specific project.

Because the Workbench has a browserbrowser-type


type interface, you can configure the
Home page to connect to any site you like, such as your company’s RSS, and
specify a refresh rate. Maybe you have your own site that provides shortcuts or
puts information at your fi
fingertips.
ngertips. You can display your Home page at any time
by clicking the Home Page button, circled in Figure 2.7.

Figure 2.7 - Default Workbench Home Page

ICONICS, Inc 2-5


The Workbench GENESIS64 Core Training Manual

You can also choose various color schemes using the Style button at the top right
of the ribbon bar.

2.2.5 Moving Expl


Explorers and Other Tools
While working with ICONICS applications in the Workbench, you will see that
there may be additional tools and Explorers available. Y Youou may want to
reorganize tools for your preferences to maximize productivity
productivity. In this section, we
will
ll detail some methods that you can use to organized and customize where your
tools reside.

2.2.5.1 Dragging and Dropping a Tool


You can drag any tool or Explorer around by its title bar; drop it wherever you
like in the content area and it will stay there, as sshown in Figure 2.8,
2 as a tool that
flows freely over the Content area.

Figure 2.8 - Free Flow Project Explorer

2.2.5.2 Docking a Tool


You can also dock the tool, which locks it into its own space adjacent to the
Content area. As you move a tool around, a diamond dock appears, consisting of
the docking stations in the center and in the north, south, east, and west positions
in the Content area as shown in Figure 2.9.. (If files are open in the Content area,
these docking stations may be difficult to see.)

2-6 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Figure 2.9 - Docking a Tool

As you move the object and your cursor closer to a docking station, a blue area
appears (on the left in Figure 2.9)) in the Content area, showing you where the tool
you are dragging will display if you release the mouse button.

2.2.5.3 Auto-hide a Tool


ool
Tools like the Project Explorer have an autoauto-hide feature that
hat lets you tuck them
into the margin of the Workbench until you want to use them again. To auto-hide
auto
the Explorer, click on the pin in its title bar. To expand a hidden Explorer or
other tool, click on it where it is hiding in the margin. To lock the tool open, click
the pin while it is expanded.

Figure 2.10 - Auto Hide (Left) and Pinned Down (right) Project Explorer

2.2.6 Maximize and Full Screen Options


On the Home tab of the ribbon are two options that let you expand your
workspace area. You can cclick on the Maximize button to maximize the active
document in the Content area. Once maximized, clicking on Close returns you to
the original screen
screen.

ICONICS, Inc 2-7


The Workbench GENESIS64 Core Training Manual

You can click on the Full Screen button to expand the Workbench across all
available screens; the Full Screen button is useful only if you are working with a
configuration of multiple monitors. Once in full screen, pressing Alt-F4
Alt returns
you to normal.

2.2.7 TraceWorX64 and Licensing Tools


Also available from the Workbench’s File  Tools menu, are two additional
additiona tools:
TraceWorX64 and Licensing. You can use TraceWorX64 to log trace files and
configure collection parameters on any application if you suspect malfunction.
The Licensing tool displays all ICONICS licenses currently in place and in use at
the site.

Figure 2.11 - Accessing TraceWorx64 and Licensing

2.3 Creating a Project


The concept of the pproject is one of the foundations
ndations of the Workbench. A project
is a set of applications and related resources that are executing inside the
Workbench.

The best way to understand a project is to create one. You can do this by
launching the Workbench from the Windows Start  Programs
Program  ICONICS
GENESIS64  Workbench
Workbench.

The Workbench launches with the default ICONICS project, which includes all
GENESIS64 components, along with sample files. When you create a new project,
you can create it using the ICONICS default project as a starting point, or from
scratch. To create the project from scratch, you can select New  Empty
Project from the File Menu.

2-8 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Figure 2.12 - Creating a New Project

2.3.1 Adding Applications for the Project


Once you have selected to create a new Project, the Add/Remove Project
Application dialog box appears. Here, you can add any ICONICS tools and
applications required by the project by clicking the Add button. You can
incorporate any appl
application you need to the project. For
or example, if you need to
define alarms, you would add the AlarmWorX64 application to the project. When
you select an application on the left-hand pane,, the application’s properties
display on the right
right-hand pane of the dialog box as shown in Figure 2.13. You can
modify the settings of the applicati
application to your preference.

Figure 2.13 – Adding GENESIS64 Application to a Project

A popular selection is the ICONICS Viewers, also shown in the Figure 2.13.
ICONICS Viewers is a composite of the following viewers:: GraphWorX64,
AlarmWorX64, TrendWorX64, and EarthWorX
EarthWorX64. If you choose to add the
ICONICS Viewers
Viewers, the default properties for this selection
ection makes one

ICONICS, Inc 2-9


The Workbench GENESIS64 Core Training Manual

application button called “ICONICS Viewers” for all four of the included viewers
in the Project Explorer.

Figure 2.14 - One Application Menu for all Four Viewers

You
ou can separate the four viewers into their own individual application button.
Simply add the application, and tthen n configure the File filter to include the
different files types. You can also change the Text to reflect the files types
selected. Figure 22.15 illustrates how you would change the properties so that the
application bar would encompass only the GraphWorX64 Viewer. As you can see,
you would change the Text property to “GraphWorX64”; deselect all but the
GraphWorX64 files for the File Filter property, then for the Root Folders button
browse to the directory where you want to save the GraphWorX64 files. You can
repeat these steps for each viewer you want to create a separate application button
in a similar manner.

Figure 2.15 - Selecting Projects for GraphWorX64 Viewer

You can use this dialog box to add all applications


cations you need for the project with
default properties or change the properties as you prefer.

2.3.2 Changing Applications in the Project


Once you’ve added all the applications you want to use for the project, click OK
to close the dialog. You can add or remove applications or change their properties

2-10 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

at any time by reopen


reopening the Add/Remove Project Application dialog box by
clicking on one of the Edit Project buttons show in Figure 2.16.

Figure 2.16 - Edit Application List

Once the project’s applications are listed in the Project Explorer, you can get to
work, but first, let us go over some ways you can manage the applications within
the Project Explorer
Explorer.

2.3.3 Reducing/Enlarging the Application Stack


Applications are stacked in the Project Explorer. You can move the button stack
out of your way by grabbing the top of the stack (circled in Figure 2.17) and
dragging the stack up or down. Notice how the icon tray (below the stack)
expands and shrinks as you do this.

Figure 2.17 - Application Stack in the Project Explorer

ICONICS, Inc 2-11


The Workbench GENESIS64 Core Training Manual

2.3.4 Organizing the Application Buttons


If you use some buttons more than others, you can change their sequence in the
stack by clicking the menu button in the bottom tray. Using the Navigation Pane
Options, you can re
re-sequence
sequence the buttons and even remove them. Notice there are
other options on the popup menu for organizing the buttons.

Figure 2.18 - Ordering the Application Buttons

2.3.5 Removing Application Buttons


You can remove applications from the Project Explorer by clicking the popup
menu in the icon tray and selecting Add or Remove Buttons, and then disabling
the checkboxes next to their names in the Button bar menu. The unchecked items
disappear from the Project Explorer. You can alway alwayss return an application’s
visibility as long as the application is in the project.

Figure 2.19 - Set Visibility on an Application

2-12 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Selecting Show More Buttons from the popup menu puts all application icons in
the icon tray. Selecting Show Less Buttons puts only the selected
elected icons in the
icon tray.

2.4 Configuration and Layout Management


Now that you kno
know how to manage the applications
pplications in the project, let us
u look at
how you use the Workbench to configure and lay out your projects. The
Workbench is the tool you will work with most in GENESIS64. In it,it you will:

• Configure applications where you cchoose options


ns and save settings
• Design and test interactive or dynamic graphical interfaces

2.4.1 Working with Application Files


To create a new configuration or file, click on the interested application in the
Project Explorer, and then select the appropriate right
right-click
click menu item to create a
new file.. For example, if you are creating an alarm display, click on the
AlarmWorX64 button (or the ICONICS Viewer button if you did not separate out
the four GENESIS64
SIS64 viewers). Expand the host and follow the application’s
instructions for creating a new configuration or display object. If you find
yourself unsure of what to do next, you can find instructions in GENESIS64
online help, which is available at any time by clicking on the help button to the
right of the ribbon bar.

Application can be grouped into two types:

• Configuration forms in which there is a configuration interface to setup


the application. The applications that has this interface includes, but not
no
limited to, Security Server, Global Aliasing, and Hyper Historian,
• Runtime Available applications such as AlarmWorX64, TrendWorX64,
EarthWorX, GraphWorX64
GraphWorX64,, and many others includes a configuration
interface and a runtime mode. You can setup the files in configuration
mode. Once you have a file, you can open it in configuration mode and
runtime mod
mode depending on how you save and open the file.

2.4.1.1 Configuration Forms


With a few exceptions such as the FrameWorX64 Server Location Setup dialog,
dialog
nearly all GENESIS64
ESIS64 configurator
configurators and applications open in the Workbench.

ICONICS, Inc 2-13


The Workbench GENESIS64 Core Training Manual

Configurators display forms in the Content area. Figure 2.20 shows a


configuration form for the Security Server.

Figure 2.20 - Security Server Default Account Policy

2.4.1.2 Design Surfaces


When an application such as GraphWorX64, AlarmWorX64, TrendWorX64, or
EarthWorX64 loads in the Workbench, the Content area becomes a design surface,
surface
upon which you can place differ
different
ent objects. Configuration of a display, trend,
alarm, or map is done by configuring objects in the design surface in
configuration mode. An example of a display with a design surface is the gauge
shown for GraphWorX64 within the Workbench
Workbench.

Figure 2.21 - GraphWorX64 Design Surface

2-14 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Notice in Figure 22.21 that the needle of the gauge is selected, and that the object is
a polygon (Polygon4). The object hierarchy is displayed in the Explorer
navigation tree on the right, and the Properties pane exposes the object's
Properties, Dynamics (Events and Methods), as well as the Preferences for the
application and objects.

2.4.1.3 Runtime Mode


When the GraphWorX64 display is switched to runtime mode, all configuration
information is removed. The same is true of any of the ICONICS viewers.
viewers The
runtime version of Figure 2.21 is shown in Figure 2.22.

Figure 2.22 - A GraphWorX64 Display in Runtime

We have discussed the difference between runtime and configuration mode in the
previous
vious chapter, here we’ll recap the major points. You can open a file in either
configuration mode or runtime mode.

• A file opened in runtime mode cannot be toggled into configuration


mode,
• But a file opened in configuration mode can be toggled between runtime
and configuration mode without limit.

This is a design consideration for the Workbench to prevent users or customers


from editing the display after deployment of the project. Since you cannot edit the
display in runtime mode, it acts as a second secu
security
rity line to prevent those who
lack permission from editing it.

ICONICS, Inc 2-15


The Workbench GENESIS64 Core Training Manual

2.4.2 Layout Management


It is important to realize that you are not restricted to displaying one form or one
design surface at a time. The Workbench is designed to let you handle a myriad of
files all at the same time. You can work with several files at the same time,
arranging them in the content area in ways that you can see all files at once. You
can even save an entire file layout for easier access when configuring on a later
day; instead of opening individual files and re
re-arranging
arranging them each morning when
you begin, you can reopen a configured layout containing all of the files in the
same arrangement in which you have previously saved.

2.4.2.1 Ways to Open a File


First, let us take a detour to learn how to open a file. You can open and manage all
of the project’s files from the Project Explorer in the Workbench. In here,
depending on your click, you can open a file in runtime, configuration mode,
and/or new tab. You can:

• Double-click
click a file to open it in runtime mode in the current tab of the
content area
• Wheel-click
click (or middle-mouse click) on a file to open it in runtime mode
in a new tab of the content area
• Right-click
click on a file to popup a menu of options on how to opening the
file.. Typically, popup menu options let you open the file in runtime mode
in the same tab or a different tab, and edit the file in the same tab or a
different tab.

2.4.2.2 Arrange Files in the Content Area


Now that we know the different ways to open a file, let us get back into managing
your content area. You can configure and run files for any GENESIS64 products
in a complex layout that you create using the Workbench.

The default layout when you have multiple files opened is the tabbed format,
where each file is a tab in the content area. You can rearrange the layout of the
files onn the Home tab of the ribbon. Use se the buttons in the Arrange section to
organize the different files in stacked , tabbed , side-by-side , or in a
table format. The tabular format has a drop drop-down box,, from which starting in
the top-left
left corner, allows you to choose the number of cells you want the content
area to divide into; the format chosen in Figure 2.23 would display two rows of
three files.

2-16 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Figure 2.23 - Changing Content Area Layout

2.4.2.3 Templates Arrangements


We have researched and created a several popular templates for your use, saving
you from the need to create your own arrangement. Figure 2.24 shows the
template ribbon with some of the preconfigured template formats. You can select
one from the Template G Gallery,
allery, or click the Open button to select a recently used
one. If you already have files open when you apply a template, the files fi will
automatically go into a section of the chosen template
template.

Figure 2.24 - The Template Ribbon

2.4.2.4 The Template Editor and Template Gallery


You are not limited to the predefined templates;; you can save any Content area
arrangement as a template by clicking the Save button on the Template ribbon.
You can also design your own templates by using the Temp
Template
late Editor, shown in
Figure 2.25. You
ou can open by clicking the Template Editor button,button on the
Template ribbon.

ICONICS, Inc 2-17


The Workbench GENESIS64 Core Training Manual

Figure 2.25 - The Template Editor

To use the Template Editor, you can open an existing template or start from
scratch. Select a tab area in the window, and then click a button to split the tab
horizontally or vertically . You can also change the size of any tab area by
grabbing the edge (the cursor will change to or ), dragging the cursor with
the mouse button down, and then releasing the button when the tab is at the
desired size. Save the template when you are done.

Tip! If you are working with a configuration of multiple monitors, create


templates that align to your monitor’s configuration when you work in Full
Screen mode.

2.4.2.5 Layouts
Once you have opened a template in the content area of the Workbench, any file
you open defaults to the currently selected section in the content area.
area Therefore,
before you open a file, click in the section you want to open file in first, and then
open the file.. You can even open your Home Page in a new section. section You will
notice that the default arrangement in each section is still opening the files in tabs.
You can, of course, rearrange the files in stacked or side by side format within the
section.

Once you
ou have opened files in the sections you want, you have a layout. Whereas
a template is a simple arrangement of the different section that you can insert files,
files
a layout is an arrangement of individual files in a template.

Figure 2.26 shows a sample layout with three sections.. Note that the top-left
top
section has two alarm displays; the top
top-right
right has an alarm display and a trend
display; and the bottom only contains one trend display.
2-18 ICONICS, Inc
GENESIS64 Core Training Manual The Workbench

Figure 2.26 - Sample Layout

2.4.2.6 Saving Layouts


When you are working in a layout
layout, you can preserve it for later use.
use Opening a
layout opens the same files in the same arrangement, saving you development
time in having to reconstruct the layout from scratch every time you want to work
with it.

On the Layout tab of the ribbon, you’ll find buttons to create a new layout, open
an existing layout, and save a layout in the File section.

Figure 2.27 - Layout Tab of the Ribbon

Saved layouts do not automatically appear in the Layout Gallery, which we will
discuss next. If you want to add the new layout to the Gallery, you can either
import it after saving, or simply use the Save Current Layout To Gallery option
in the Layouts Gallery section.

2.4.2.7 Layouts Gallery


In the Layouts Gallery
Gallery, you can see the many sample layouts provided in
GENESIS64. If you hold your cursor over a sample in the Layouts Gallery, you’ll
get a preview, like the one shown Figure 2.28.. Clicking a layout on the Layouts
tab in the ribbon opens the layout in the content area.

ICONICS, Inc 2-19


The Workbench GENESIS64 Core Training Manual

You can look at these samples and use them as a starting pointpoin for your own
layouts; or you can remove the samples and create your own. Note that you can
import layouts from other projects, too. The layouts are local; they are not saved
with the project and are not available with the project when you package it and
deploy it.

Figure 2.28 - Layout Gallery

Tip! If you save a layout file on your Windows desktop, double-clicking


double it
launches the Workbench and loads the layout
layout.

2.4.2.8 Layouts Carousel


One additional feature is the Layouts Carousel, primar
primarily used as a play-list at
runtime. In the carousel, you can queue files to “play” in a slideshow format
during runtime.

For example, you have two displays of one facility – one display monitors pipes
and the other monitors circuitry – and you want the runtime display to toggle
between the two. You can use carousel to do this.

You can also use the carousel for your own convenien
convenience
ce during configuration. In
it, you can list any files you want available from a particular tab of the layout;
those files are listed in the carousel for easy access.

To start carousel, make sure the tab where you want carousel to apply is selected,
then click on the Layouts Carousel button on the Layout ribbon. The Carousel
dialog box displays, and looks something like Figure 2.29.

2-20 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

Figure 2.29 - Layout Carousel Playlist

In this dialog box, you can create a playlist consisting of Workbench layout files
(.wblx). When you create a new playlist, then edit the list by adding or removing
layouts. You can pput
ut the layout files in the sequence in which you want them to
be replayed. The playlist is saved with the extension .wb.carousel.xml.

As you add files to a playlist using the Edit Playlist dialog, you can click on the
Options button to dispdisplay the Playlist Options dialog, where you can enter
specifications
fications for playing the list.

Figure 2.30 - Playlist Editor (left) and Playlist Options (right)

See how you can limit the number of times a playlist repeats; play files at random;
limit how long individual files can run; automate the time at which the playlist
stops; and queue up the next playlist to play with
within the options.

ICONICS, Inc 2-21


The Workbench GENESIS64 Core Training Manual

2.5 Project Management Tools


GENESIS64 saves all of your tools, applications, and settings to the project file so
that you can reopen and reuse the project. In each project, the following are stored:

• Applications
• Database configurations such as the Global Aliasing, Language Aliasing,
and other SQL databases
• Network services tools such as GenTra
GenTray,y, SNMP, the FrameWorX Server,
and the Security Server (see “Working w with
ith Services” on the next page)
• Workbench configuration settings that you apply to the Workbench
window position, styles, modifications made to the design surface, layouts,
layouts
and templates
ates are saved within a project

A project is normally stored on the system where the servers are running. In
actuality, there may be several servers that need to be accessed in order to run the
different displays that an enterprise might require. As long as you yo have defined
their connection
ion details
details, those connection details are saved, too.

The Workbench is designed for concurrent configuration by multiple


development team members over the internet.

Figure 2.31 - Concurrent Web Development by Multiple Team Members

2-22 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

It follows the optimistic concurrency model; there are no database locks. Multiple
application servers and databases can be configured simultaneously. An additional
ICONICS Workbench Toolkit can be used to create plug-ins from third-party and
OEM content providers.

Centralized security allows all GENESIS64 operations to be secured, which can


be adopted by OEM customers. Security Server limits access permissions to
projects and plug-ins, including file access to create, modify, or read-only.
Historical data are secured with an audit trail. It also allows to secure OEM
operations.

There are two security models ICONICS Security Server database and Windows
Active Directory. We will discuss security in more details in a later chapter.

2.5.1 Working with Services


A number of GENESIS64 components are servers or services that you can control
and modify within the Workbench. They include:

• GenTray: starts and stops any service, including ICONICS and Windows
services.
• FrameWorX64 Server: allows configuring GenBroker, GenEvents, and
web services. You can also configure the databases that support these
different methods of communications.
• AlarmWorX64 Server: starts and stops the alarm server, as well as
provides a configuration interface to configure alarms.
• TrendWorX64 Server: starts and stops the historical trend server, as well
as provide a configuration interface to add historical trend tags.
• SNMP: configure and manage the SNMP (Simple Network Management
Protocol) service that is used to discover SNMP devices and their
properties over a network.
• Unified Data Manager (UDM): the UDM is a central location for storing
expressions, subscriptions, groups, values, registers, triggers, and other
data that can be used by any GENESIS64 application. The service can be
started, stopped, and all of these data types and data instances can be
created and modified within the UDM in the Workbench
• Security Server: the Security Server stores accounts and policies in a
database organized by users and groups. You can start, stop, modify, and
create security policies from within the Security Server.
• Global Aliasing: the Global Aliasing System (GAS) stores variable names
and their values within an SQL database so that these variables can be

ICONICS, Inc 2-23


The Workbench GENESIS64 Core Training Manual

used throughout GENESIS64 applications. Start, stop, create, and modify


global aliases using this interface.
• Language Aliasing
Aliasing: thehe Language Aliasing System (LAS) makes
substitutions for language aliases whenever the assigned language in the
Language Selector dialog box is changed.

2.5.2 Edit a Project Remotely


The Workbench service management monitors reports back to the remote client
the health of the service. It gives you fast access to all running and installed
Windows services and you can inspect their properties, start them, and stop them.

To open and review a remote system, click on the Connect to Server button in
the Project tab of the ribbon and set up access to the remote system; it then
becomes available from the Workbench.

Figure 2.32 - Connect to a remote server

Allowing team members to connect to your server remotely using the Connect to
Server button on the Project ribbon lets them open the project and edit it as
necessary. Alternatively, you can co
copy
py the project using the tools described in the
“Deployment” section
section.

The Connect to Server button is handy with deployed projects as well. If you are
supporting a customer project remotely, and the customer gives you access to its
server, you can connect and edit the customer’s deployed project without having
to make an onsite visit.

2.6 Deployment
With a large project, there are typically several configuration files, databases,
databases and
resources. Configurations and files may even be spread across several machines
machine
among the team members working on a project. Sometime
Sometimes the real challenge is
not the configuration itself
itself,, but how to copy all of those resources already
configured on a target machine to share them with a team member on a separate

2-24 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench

network. An even bigge


biggerr challenge can be deploying the project at the customer’s
site when you are done.

The Workbench simplifies the task of packing and deploying configuration


databases and runtime
runtime-related files so that developers
evelopers do not have to create
custom tools for deploy
deploying
ing existing configurations and resources files. These tools
are highlighted in Figure 2.33.

Figure 2.33 - Deploy Section of the Project ribbon

Use the built-in


in capabilities on the Workbench’s Project tab of the ribbon:

• A Pack and Go wizard copies your ur application’s resources into


in a file,
making it portable
portable.. The wizard gives you the options to compress the
project, encrypt the project, and open the log file when the wizard is done.
• The Open Log tool lets you see the status of a project you just packed,
packe
along with project statistics. You can open the log from the Pack and Go
wizard, or at any time by clicking the Open Log button.
• The Encrypt Package tool encrypts a packed project; an encrypted
project requires a password to unpack it. The Pack and Go wizard
w prompts
you to encrypt the project, or you can encrypt a packed project at any time
using the Encrypt Package button.
• An Explore Package tool lets you look at the content of a packed project.
• The Unpack wizard extracts the project onto a remote target tar machine,
whether you’re simply making the project available to development team
members or deploying it for users users.. If the project is encrypted, the
password entered when it was encrypted will be required in order to
unpack the project.

ICONICS, Inc 2-25


The Workbench GENESIS64 Core Training Manual

2-26 ICONICS, Inc


GENESIS64 Core Training Manual The Workbench Review

The Workbench
R2
Review
2.1 Objectives Review
You should now know and understand the following topics:

• The basic features of the GENESIS64 Workbench


• How to create an ICONICS project using the Workbench
• Techniques for arranging and working with files in the Workbench
• How to customize the Workbench
• Ways to share a project among development team members
• Deploying a project for a customer

2.2 Summary
In this chapter, we learned that the GENESIS64 Workbench is a centralized web-
based work environment for GENESIS64 products. It provides a configuration
environment that runs multiple applications and customized third-party
environments. In addition to being a configuration tool, the Workbench can act as
an operator interface and project management tool.

We looked at three distinct parts of the Workbench: the Project Explorer, the
Ribbon, and the content area and reviewed ways to customize each. In creating a
project, you start by adding ICONICS applications to the project; there are several
ways to manage those applications in the project. We looked at sample
configuration forms and display files in the Workbench in configuration mode
and in runtime mode, and then reviewed the ways in which you can work with
those files in the Workbench: by arranging files, saving an arrangement as a
template, and saving an arrangement of files as a layout.

We then looked at overall project management of services and working remotely,


and then reviewed ways to pack a project for sharing with remote team members
or for deploying at a customer site.

ICONICS, Inc R2-1


The Workbench Review GENESIS64 Core Training Manual

2.3 Terms
Contents Area Configuration Mode Home Page
ICONICS Viewer Ribbon Runtime Mode
Workbench Workbench Layout Workbench Template

2.4 Test Your Knowledge


In this chapter, we discussed the GENESIS64 Workbench. Before continuing to
the next chapter, make sure you can answer the questions below:

1. True or False: Workbench can run inside Internet Explorer.

2. True or False: You can use Workbench to edit multiple servers at the same
time.

3. Is Workbench a runtime or configuration environment?

a. Configuration Environment
b. Runtime Environment
c. Both

4. Can you plug-in third party applications?

a. No
b. Yes, all .net controls, WPF and Active-X applications
c. Only *.EXE applications

5. Can GraphWorX64 run inside Workbench?

a. Yes
b. No
c. Only through an import filter

6. True or False: Workbench is a .NET application?

7. True or False: You can start and stop only local Genesis64 services from the
Workbench.

8. True or False: You can secure the Workbench.

R2-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

AlarmWorX64 Server 3

3.1 Objectives
After completing this chapter, you should be familiar with:

• AlarmWorX64 Server and how to launch it


• The different types of alarm tags
• Configuring an alarm tag
• Grouping alarm tags by area

3.2 AlarmWorX64 Server


The AlarmWorX64 Server receives field data from your OPC-compliant
OPC Data
Access servers and performs alarm detection and reporting on that data.

Figure 3.1 - Overview of AlarmWorX64

ICONICS, Inc 3-1


AlarmWorX64 Server GENESIS64 Core Training Manual

All alarm detection and reporting that it does conforms to OPC Alarm and Events
standards. Event notifications generated by the AlarmWorX64 Server are sent to
OPC UA clients (such as, AlarmWorX64 Viewer and AlarmWorX64 Logger) that
subscribe to it.

AlarmWorX64
rX64 Server can be run as a service. The server reads its configuration
information from a Microsoft SQL Server database file (which by default is
AWXSVRCONF.MDF). During runtime runtime, the server polls the configuration
database for changes, allowing on-the-fly configuration change without stopping
the server.

You use the AlarmWorX64 Server interface to create and maintain a database
configuration of alarm tags. To start AlarmWorX64 Server, go to Start 
ICONICS GENESIS64  AlarmWorX64  AlarmWorX64 Server
Configurator. The AlarmWorX64 Server Configurator opens in the Workbench.

You can also launch the configurator in the Workbench from the AlarmWorX64
Server program icon at the bottom of the Project Explorer as shown in Figure 3.2.

Figure 3.2 - AlarmWorX64 Server Configurator

3.3 Alarm Tags


An alarm tag defines the OPC tag to monitor and the value ranges at which alarms
should trigger. In a typical scenario, the AlarmsWorX64 Server receives a value
periodically for each OPC tag and compares it to a configurable value, then
determines if the incoming OPC value is in an alarm condition. If it is, the

3-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

AlarmWorX64 server generates an alarm. The alarm client will then be able to
display the condition for nearby operators to rectify the situation.

For example, you can generate an alarm when the speed of a cooling fan rises
above or falls below an acceptable range. As a result, an operator can investigate
or make adjustments to rectify the problem before damage can occur to goods or
to the equipment. Other scenarios for generating an alarm could be when a
secured door is opened or when a pressure gauge reading drops rapidly.

For each alarm that you configure, you can require an operator to acknowledge
the alarm. You can even require an operator to acknowledge an alarm that has
return to the normal state. Remember that you do not have to limit your alarms to
adverse or critical conditions. For example, you can configure an alarm that
provides instructions for a manual step at a key point in a process, or you can
configure a series of alarms on a piece of equipment that provide automated
training for new operators.

AlarmWorX64 provides four types of alarms:

• A Limit Alarm occurs when the incoming reading exceeds a ceiling or


floor limit that you configure.
• A Digital alarm occurs when the value of the OPC tag or expression
equals the Alarm State Value. Since this is a digital alarm, the alarm state
values can only be 1 or 0; the other value is the normal state.
• A Deviation alarm occurs when the absolute value of the difference
between two OPC tags exceeds a ceiling or floor limit that you configure.
• A Rate of Change alarm occurs when the amount of change between the
last two readings exceeds a rate (Limit/Sec) that you configure.

These alarms come with their own conditions that you can choose from in order to
configure them for an OPC tag.

The different types of alarms are available for each alarm tag that you create. You
can configure each alarm type in their own tab and section of the alarm properties.
You can also configure any or all of these alarms in one alarm tag.

3.4 Configuring Alarm Tags


You can configure any number of alarms for an OPC tag, and in this section, we
will discuss how you can configure them.

ICONICS, Inc 3-3


AlarmWorX64 Server GENESIS64 Core Training Manual

NOTE: Each alarm that you create resides in a configuration database.


Therefore, you must create a configuration database to which the alarms will
apply before adding alarms. And to make sure that the configuration is active
before running the alarm server
server.

3.4.1 Alarm Basics


First, you must create an alarm tag. To do this, in AlarmWorX64 Server right-right
click on the database configuration, then select Tag from the menu. This opens
the configuration
ion int
interface with the General tab on top on the right-hand
right pane to
edit alarms, as shown in Figure 3.3.

Figure 3.3 - Alarm Limit Source

You should give the alarm a name and in the OPC Input field, specify the tag
whose value you want to use for the alarm. For example, xample, if the alarm is
monitoring water pressure, you want to use pressure readings from the pressure
gauge. You can click on the browse button to the right of the OPC Input field to
bring up the Data Browse and select the appropriate tag
tag.

The name and thee OPC Input will always be available regardless which tab you
are on in configuring the alarm. There are four different tabs in the alarm tag

3-4 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

configuration: General, Alarms Limit/Digital, Alarms Deviation/Rate of Change,


and Related Values.

3.4.1.1 General Tab


Inside the general tab, you can configure some basic information for the alarm.
Most of the fields in this tab are optional, except for the Enabled field, which is
set to true by default. You have the following fields in the General tab:

• Enabled: Alarms are enabled by default when it’s initially created (a 1 in


the Enabled field means that the alarm is enabled). However, you may
prefer to enable and disable the alarm base on a condition. For example,
you may not want to monitor water pressure when the valve is shut off,
because the drop in pressure would trigger the alarm. In this case, you can
specify the tag for the valve’s reading in the Enabled field such that when
the valve is open (1) the alarm is enabled, but when the valve is closed (0)
the alarm is disabled.
• Default Display: Once you have set up a display for the alarm in the
AlarmWorX64 Viewer or in GraphWorX64, you can identify it as the
Default Display for the alarm.
• Description: Add a description for the alarm.
• Delay (seconds): When an alarm condition exists, the server generates the
alarm immediately. You can enter a delay that postpones the alarm’s
generation for a few seconds to wait for conditions to return to normal. If
the alarm condition still exists after the delay, the server generates the
alarm. You may not want to use a delay for every alarm, but it is helpful
for offsetting readings that fluctuate wildly or sensors that sometimes
return faulty readings. You can also use it with equipment that typically
returns to normal quickly.
• Base Text: For each alarm condition, you may want to add a message that
indicates the alarm state. The base text allows you to enter information
required for each of the states. The text in this field is added before the
message text for each alarm condition.
• Help Instructions: Additional aid for your users comes from any text you
enter in the Help Instruction field where you can provide the steps to
resolve or acknowledge the alarm; you can enter information directly or
paste it from the Clipboard. Information entered in this field can display as
a tooltip in the alarm viewer when you select and mouse over the alarm.

ICONICS, Inc 3-5


AlarmWorX64 Server GENESIS64 Core Training Manual

3.4.1.2 Related Values Tab


The Related Values tab, shown in Figure 3.4, identifies as many as twenty
additional values you want to capture when an alarm condition occurs. Related
values can be static text strings, OPC tags, or expressions. Capturing additional
readings can help you diagn
diagnose a problem later.

Figure 3.4 - Related Values tab

For example, following an alarm that reported a drop in water pressure on an


outtake line, you might want to review the tank’
tank’ss water level and the intake valve.
As long as you have added the OPC tags for the water level and intake valve as
related values for the alarm, you may log the data and review it at a later day.
day

Now that we haveve reviewed the general options available for any alarm tag that
you configure, let’s look at the details of each of the four types of alarms (Limit,
Deviation, Digital, and Rate of Change) you can configure in an alarm tag. Note
that you can configure any of the alarms described here, and can even combine
co
them into one alarm tag configuration.

3.4.2 Limit Alarm


If you go to the alarm tag’s Alarms Limit/Digital tab, in the Limit pane, shown in
Figure 3.5, you can configure an analog Limit alarm for the OPC tag. A Limit
alarm reports an incoming reading that exceeds a high or low threshold that you
have configured. Use this type of alarm for OPC tags whose readings have static

3-6 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

limits that you do not want exceeded such as temperature,, counters, pressure
gauges, etc.

This alarm reads the values of the OPC tag you specified in the OPC Input field
by default. You can overwrite this tag by adding
ing a different tag to the OPC
Override Input field in the Limit pane
pane.

Figure 3.5 - Limit Alarm Configuration

Let uss skip the Deadband value for now, and take a look at the Value fields in
which you provide the acceptable limits of the tag’s readings. You can set one,
two, three, or four limits, each with its own warning or alert text, severity level,
and acknowledgement requirements. The values that you enter are readings from
the tag in the OPC Override Input field, if any, or the OPC Input field at the
top of the configurator.

You can add Lo (low value), LoLo (very low value), Hi (high value), or HiHi
(very high value) limits. A tag value that is at or below the LoLo
Lo value is in an
alarm condition, and the alarm generates with the message and severity
configured for it, as well as requiring acknowledgement if the Req. Ack. value is
1. Values that are at or below the Lo value does the same, as do values that are at
or exceed the Hi and HiHi values.

There’s a lot of flexibility in your ability to configure any of these limits. For
example, you can use the Lo limit as a warning level and LoLo as an alert. You
can tie Message Text directly to each value that creates an alarm
larm condition. The
Severity is the OPC
OPC-defined
defined value for alarm priority; the OPC severity range is 0
(lowest) to 1000 (highest).

On the Return to Normal line, you can also provide the message text that
displays when the tag’s value returns to normal from an alarm condition and you
can require the operator’s acknowledgement of a return to normal condition.
Values between the Lo and Hi limit, exclusively, are considered normal.
normal

ICONICS, Inc 3-7


AlarmWorX64 Server GENESIS64 Core Training Manual

Let us go back to the deadband value. By providing a Deadband value, you


identify a buffer zone around alarm limit values that you haveve entered. Applied to
converted analog values, the deadband value is germane to borderline cases in
which readings seesaw or blink into and out of an alarm condition. The alarm
server applies the deadban
deadband d to each limit value, ignoring any reading inside the
deadband limits and will not generate any alarm
alarm.. This is helpful especially if the
operator is required to acknowledge the change in conditions. You certainly do
nott want your operators distracted with repeatedly having to acknowledge a
condition that is toggling in a borderline condition.

Take a look at the example below in which the high limit is 101. A Deadband of 1
prevents an alarm from being reported on readings of 100 and 102. Were the
Deadband 0,, these readings would report an alarm.

Figure 3.6 - Deadband for Alarms

3.4.3 Deviation Alarm


Similar to the Limit ala
alarm is the Deviation alarm,, which you configure using the
Deviation pane on the Alar Alarms
ms Deviation/Rate of Change tab.tab The analog
Deviation alarm occurs when the absolute value of the difference between the
OPC Input tag and the OPC Input 2 tag falls bellow or exceeds predefined
values. The OPC Input 2 field in the Deviation pane is required for setting up a
Deviation alarm, and is used to calculate the deviation from the OPC Input field.
The alarm is triggered if the difference between the two values falls below or
exceeds the high or low limits specified in the configuration.

All other fields in the Deviation pane work in the same way they work for the
Limit alarm, but with one significant exception is the Value field: instead of
entering the value of a tag that will set off an alarm, you enter the delta
(differences) between the two input values that will set off an alarm.
3-8 ICONICS, Inc
GENESIS64 Core Training Manual AlarmWorX64 Server

Figure 3.7 - Deviation Alarm Configuration

For example, you are creating a Deviation alarm that compares today’s ongoing
water level readings to yesterday’s final water level reading. You have a tag that
holds the value of yesterday’s final water level, in centimeters; you enter that tag
in the OPC Input 2 field. The OPC Input tag at the top of the configurator
contains the tag of today’s water level. These tw
two tags are compared.

Then you enter the delta values at which you want an alarm to generate. For
example, you want to be notified if the water level drops or rises more than 2
centimeters or more compared to yesterday’s value. You would enter a Hi value
of 2. You also want to know if it drops or rises 5 centimeters or more. In this case,
you would enter a HiHi value of 5. When the difference between the two OPC
tags is 2-4,
4, it will generate a Hi alarm and when it is 5 or more, it will generate a
HiHi alarm.

Iff yesterday’s reading was 50 centimeters, and today the water falls to 48, the
server generates a Hi alarm. When the water drops to 45, the alarm server
generates the HiHi alarm.

3.4.4 Digital Alarm


If you go to the alarm tag’s Alarms Limit/Digital tab, you can configure a Digital
alarm for the OPC tag in the Digital pane, which is shown in Figure 3.8. A
Digital alarm occurs when the value is of a state that you specify.

This alarm reads the values of the OPC tag you sp


specified
ecified in the OPC Input field or
the OPC Override Input field in the Digital pane.

In the Alarm State Value field, type the value of the state that triggers the alarm.
Since this is a digital alarm, the valid state values for this alarm are limited to 1

ICONICS, Inc 3-9


AlarmWorX64 Server GENESIS64 Core Training Manual

and 0. If there are multiple states that can trigger the alarm, you can incorporate
those states into an expression
expression. However, the result of this expression must equal
1 or 0. The
he value that is not the alarming state will be the normal state.

Figure 3.8 - Digital Alarm Configuration

Like all
ll other alarms, you can specify a severity and require an operator to
acknowledge the alarm. In the Return to Normal field, specify the message to
display when the alarm returns to normal and indicate whether an operator is
required to acknowled
acknowledge a return to normal condition.

3.4.5 Rate of Change Alarm


If you go to the alarm tag’s Alarms Deviation/Rate Of Change tab, you can
configure a Rate of Change alarm for the OPC tag in the Rate of Change pane,
which is shown in Figure 3.9. A Rate of Change alarm occurs if the rate of change
in the OPC tag’s values is more severe than allowed by the alarm’s configuration.

Figure 3.9 - Rate of Change Configuration

This alarm reads the values of the OPC tag you specified in the OPC Input field
or in the OPC Override Input field in the Rate of Change pane.

In the ROC Limit/Sec field, specify the rate of change per second that must
trigger the alarm. Following our earlier example, you can set up a Rate of Change
alarm so that if the water level drops more than 2 centimeters per second, the
alarm will report.

3-10 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

The rate of change is calculated by taking the absolute value of the last two OPC
values diving it by the difference of the timestamp from these two values. When
entering a rate of change, please keep the calculation met
method
hod in mind.

Like all other alarms, you can provide a message text, a severity level, and can
require operator acknowledgement. You can also configure an alarm for when
conditions return to normal, if appropriate for the condition you are monitoring.

3.5 Group
p Alarm Tags by Area
To organize the myriad of alarm tags that you create, you can group alarm tags
into areas. An area is nothing more than a folder that you create in AlarmWorX64
for a physical area in a plant, a category of sensor, or a grouping of machines
mach or
types of equipment. It can be any category you want to classify your alarm tags.
Not only do they provide a way to organize, areas can be used by clients for
filtering purposes.

You can include an alarm tag in any area you like and multiple areas if i
appropriate. Each area can have subsub-areas, and sub-areas
areas can overlap into other
areas. For example, you can create an area for Alkaline Sensors, another for
Security Alarms, and another for the Baltimore Plant that has sub-areas
sub defined
within it. Tags for
or security alarms in the Baltimore Plant area are also categorized
into the Security Alarms area. Tags for some of the Baltimore Plant’s alkaline
sensors are categorized into the Alkaline Sensors area.

Figure 3.10 provides an example of areas in the Project Explorer pane; the Critical
Temps area is expanded and one of its alarms displays in the pane on the right.

Figure 3.10 - Areas for Grouping Alarms

ICONICS, Inc 3-11


AlarmWorX64 Server GENESIS64 Core Training Manual

3.5.1 Adding an A
Area
To add an area, right
right-click on the Area node, then select Area from the popup
menu. This provides a very simple form in which you provide a name for the area
and a description.

You can also add a sub area using a similar method. Right
Right-click
click on the area where
you want to create the sub
sub-area,
area, then select Area from the popup menu. YouY will
get the same configuration interface.

3.5.2 Adding an A
Alarm Tag
Once you define the new area, you can add tags to it: right
right-click
click on the area and
select Area Tag from the popup menu, which displays the configurator illustrated
in Figure 3.11.. After you pick the tag’s database configuration, you can select the
alarm tag from the Tag dropdown list.

Figure 3.11 - Adding an Alarm to an Area

Once you select the alarm tag, the alarm’s information displays in the Tag
Information box.

If you browse back to the alarm, you should see the area listed in the Areas
section of the alarm tag. You can also add or remove areas to the alarm in this
section by clicking on the Add or Remove buttons.

3-12 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server

Figure 3.12 - Areas Section in an Alarm Tag

If you click on the Add button, the Select or Enter Area name dialog comes up.
You can browse for the area and select iitt in this dialog to add it. Make sure that
the area you want to add is in the text field at the top of the dialog, otherwise, the
OK button will be grayed out.

Figure 3.13 - Select or Enter Area Name Dialog

You can also remove an area from the alarm by selecting the area, and click on
the Remove button.

ICONICS, Inc 3-13


AlarmWorX64 Server GENESIS64 Core Training Manual

3-14 ICONICS, Inc


GENESIS64 Core Training Manual Lab 3: AlarmWorX64 Server

Lab: AlarmWorX64
3
Server
3.1 Lab Overview
Starting with this lab, we will try to build up a project for the icTonics beverage
company. In this lab, we will create alarms that will alert us when the drink-
mixer-tank level is too high or too low. We will also create an alarm that alerts us
when the turner-blade in the tank stops turning. We will view these alarms in the
AlarmWorX64 Viewer in the next section.

Estimated time to complete this lab: 20 Minutes

3.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a new alarm server configuration


• Create limit and digital alarms
• Create areas for different alarms
• Associate your alarms to the appropriate areas

3.1.2 Support Files


You do not need any support file to complete this lab.

3.2 Alarm Configuration Database


1. In order to receive alarm notification, we will need to first configure our alarm
server. In this section, we will go through the steps to create a new
configuration file for our icTonics beverage company project.

2. Open the Workbench if you closed it since the previous lab.

ICONICS, Inc L3-1


Lab 3: AlarmWorX64 Server GENESIS64 Core Training Manual

3. In the tree-control
control on the left
left-hand
hand side, select the AlarmWorX64 Server. If
you don’t see this, look for the icon. When your mouse hovers over it, you
should see a tooltip saying AlarmWorX64 Server. Be careful that you select
the correct one; the AlarmWorX64 Logger has the same icon.

4. Once you’ve selected the alarm server, you should see it expanded in the tree
control with a default active configuration. We will create our own
right-clicking on localhost  New Database…
configuration database by right

Figure L
L3.1 - Creating New Alarm Server Configuration Database

5. The SQL Create Database Wizard comes up. You can use the default instance
of the SQL server and click “Next”.

6. In the common database option screen, uncheck the Include Sample Data
checkbox, and change the Database name to icTonicsAlarmServerConfig,
icTonicsAlarmServerConfig
and click on “Finish”

Figure L3.2 - Configuration Database Options

L3-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 3: AlarmWorX64 Server

7. Once the database is successfully created, you will see it in your Project
Explorer with a red stop sign on it because it’s not the currently active
configuration database.

Figure L3.3 - New Deactivated Configuration

8. Expand the database, you will see three nodes underneath it: Configurations:
Configuration
Areas, and Nodes. Since everything will be local to this computer, we will not
worry about the Nodes. However, in the next sections, we will create different
areas and a configuration that contain your alarms.

3.2.1 Alarm Areas


1. Right-click
click on the Areas and se
select
lect Add Area to create a new one

Figure L3.4 - Adding an Area

2. On the right-hand
hand pane, a new tab opens that allows you to create a new area.
Give the area a name of “USA” and an optional description.

ICONICS, Inc L3-3


Lab 3: AlarmWorX64 Server GENESIS64 Core Training Manual

3. Create a sub area by right


right-clicking
clicking on the area USA and select Add Area.
We’ll name this area “Foxboro”.

4. Create another sub area under Foxboro called “Tank Levels”. When you are
done, your areas should look like Figure L3.5.

Figure L3.5 - Alarm Areas

3.2.2 Alarm Configurations


1. Right-click
click on configurations and select Configuration to create a new alarm
configuration

Figure L3.6 - Inserting Alarm Configuration

2. Name this configuration icTonicsAlarms. You can give it an optional


description.
L3-4 ICONICS, Inc
GENESIS64 Core Training Manual Lab 3: AlarmWorX64 Server

3. Check the Default


efault (Active) Configuration option to set this configuration
active. Click on the “Apply” button on the bottom to save the changes.

4. Right-click
click on the icTonicsAlarms configuration and select Add Tag to add an
alarm

Figure L3.7 - Inserting Alarms

5. A new tab opens with alarm properties. Give this alarm the name “Tank1
Level”

6. Click on the button with the three dots to the right of the OPC Input text box.
We’ll look for the
@ICONICS.OpcUaServerBK
@ICONICS.OpcUaServerBK\icTonics.Tanks.USA.Foxboro.Tank1.TankLeve
icTonics.Tanks.USA.Foxboro.Tank1.TankLeve
l.Value tag.

7. In the General area, enter the text “Tank1 level is” for the Base Text field.

8. In the Areas area, click on the Add button, aand


nd add the Tank Levels area that
you’ve created in the previous section.

9. Your General Tab should look like Figure L3.8.. Click on apply to save the
changes.

ICONICS, Inc L3-5


Lab 3: AlarmWorX64 Server GENESIS64 Core Training Manual

Figure L3.8 - Alarm Configuration General Tab

10. Select the Alarms Limit / Digital tab. In the Limit area, configure the alarm
properties as show in Table L3.1.
Table L33.1 - Limit Alarm Value

Condition Value Message Severity


LoLo 10 very low 800
Lo 20 low 500
Hi 80 high 500
HiHi 90 very high 900

11. In the return to normal message, just enter normal. Your Limit section should
look like Figure LL3.9. Click on Apply to save the changes.

Figure L3.9 - Limit Alarm Configuration

L3-6 ICONICS, Inc


GENESIS64 Core Training Manual Lab 3: AlarmWorX64 Server

12. Using a similar procedure, you should now be able to create a digital alarm to
monitor
or the churning blade. It should give us an alarm if the blade has stopped
moving. Table LL3.2 shows some details of the alarm.
Table L3.2 - Digital Alarm Details

Name: Churning Blade1 Status


OPC Input: @ICONICS.OpcUaServerBK\icTonics.Tanks.USA.Foxb
icTonics.Tanks.USA.Foxb
oro.Tank1.ChurningBladeStatus.Value
Base Text: The churning blade in Tank 1
Alarm State Value: 0
Message Text: has stopped moving
Return To Normal: is moving

13. We are now done configuring the alarm server. Make sure that you have
activated your configuration database so that it shows a green arrow on it. If
it’s inactive, you can right
right-click
click on the database, and select Make Active. We
will view the alarms in the next lab.

3.3 Advanced Lab


If you are done and have some time, repeat the Alarm Configurations section to
add the same two alarms for tank 2 and tank 3. If you like to, instead of following
the exact same directions, you can try the Multiply function to make it easier for
creating similar
imilar alarms. If you do use this option, be sure to change the Base
Value field in the Multiply Options dialog so that the numbers are in the correct
location. Your finished configuration may look like

Figure L.3.10 - Advanced Alarm Server Configuration

ICONICS, Inc L3-7


Lab 3: AlarmWorX64 Server GENESIS64 Core Training Manual

L3-8 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server Review

AlarmWorX64 Server
R3
Review
3.1 Objectives Review
You should now know and understand the following topics:

• AlarmWorX64 Server and how to launch it


• The different types of alarm tags
• Configuring an alarm tag
• Adding related values
• Grouping alarm tags by area

3.2 Summary
The AlarmWorX64 Server receives field data from your OPC compliant Data
Access servers and performs alarm detection and reporting on that data. Event
notifications generated by the AlarmWorX64 Server are sent to the OPC UA
clients (such as, AlarmWorX64 Viewer and AlarmWorX64 Logger) that
subscribe to it. During runtime, the server polls the configuration database for
changes, allowing for on-the-fly configuration edit without stopping the server.

You can use alarms to alert operators to adverse or critical conditions, prompt
operators to perform manual procedures or equipment reviews, assist in training
new operators, and more. In general, AlarmsWorX64 Server takes each reading
that it gets for the OPC tag and compares it to another value, then determines if
the incoming OPC value is in an alarm condition. If it is, the alarm server
generates an alarm and sends it subscribed alarm viewers where nearby operator
can view the alarm.

There are four types of alarms: Limit, Deviation, Digital, and Rate of Change that
you can configure and combine in an alarm tag. A Limit alarm occurs when a tags
value exceeds a high or low threshold that you have configured. A Deviation
alarm occurs when the absolute value of the difference between two input values

ICONICS, Inc R3-1


AlarmWorX64 Server Review GENESIS64 Core Training Manual

exceeds values of your choosing. A Digital alarm occurs when the OPC Input
value equals the alarm state value that you specify. A Rate of Change alarm is
generated if the rate of change is higher than what you configure.

You can take advantage of deadbands and alarm delays to handle tags that tend to
flicker in and out of an alarm condition. You can tailor message text to alarm
levels, and you can provide instructions for the operator to follow when
responding to an alarm. You can require an operator to acknowledge an alarm and
a return to normal. Furthermore, you can collect data from other tags during an
alarm condition for the purpose of reviewing their captured readings later, for
troubleshooting, or for diagnosing a problem. Finally, you organize alarm tags
into folders called areas which can also be used by clients for filtering data.

3.3 Terms
Alarm Area Alarm State Value Alarm Tag
AlarmWorX64 Server Deviation Alarm Digital Alarm
Limit Alarm Rate of Change Alarm

3.4 Test Your Knowledge


In this chapter, we discussed how to use AlarmWorX64 Server to create a
database of alarm tags and organize them into areas. Before continuing to the next
chapter, make sure you can answer the questions below:

1. What AlarmWorX64 clients can subscribe to the AlarmWorX64 Server?

a. Alarm Viewer
b. Alarm Logger
c. Historic Alarm Viewer
d. All of the above
e. Both A and B
f. Both A and C
g. Both B and C
h. None of the above

R3-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Server Review

2. Which database type you can use to create and AlarmWorX64 configuration
database? (Circle all that applies).

a. MS SQL 2000
b. MSDE
c. MS SQL 2005
d. MS SQL 2005 Express
e. Oracle
f. MySQL

3. True or False: You can have multiple alarm configurations within a single
configuration database, but you can only run one active configuration at a
time.

4. True or False: Alarm areas is a way to organize your alarms into logical
folders that represent your alarm locations or structure.

For the rest of the questions, choose one of the answers below for the questions:

a. Digital
b. Limit
c. Rate of change
d. Deviation

5. If you want an alarm to trigger when a sensor’s readings are changing too
quickly, which type of alarm would you configure?

6. If you want to make sure a door or valve is closed under certain conditions,
which type of alarm would you configure?

7. If you want an alarm to generate when a temperature reading rises above 28


degrees and again if it reaches 32 degrees, which type of alarm would you
configure?

8. If you want the levels of two reservoirs to remain relatively equal, which type
of alarm would you configure?

ICONICS, Inc R3-3


AlarmWorX64 Server Review GENESIS64 Core Training Manual

R3-4 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

AlarmWorX64 Viewer 4

4.1 Objectives
By the end of this chapter, you will be familiar with the following:

• The alarm viewer control


• Tabs, grids, and charts in the alarm viewer
• Grid Configuration control
• Sources, appearance, and behavior
• Status indicators and grouping ranges
• Columns, grouping, and conditions

4.2 Introduction to the AlarmWorx64 Viewer


The AlarmWorX64 Viewer is client application that provides real-time and
historical alarm information within the GENESIS64 product family. Alarm
information displays in a grid-like view similar to the how it worked in
GENESIS32.

The viewer connects to OPC UA servers and the legacy OPC AE servers,
providing alarm display and management features based on the connections to the
data source that you specify. In AlarmWorX64 Server, you control how often a
client can access the server for data (polling rate); in the AlarmWorX64 Viewer
you determine:

• which alarms display on the screen


• what the alarm display looks like
• how the alarms are grouped and sorted

You can add an alarm viewer inside the Workbench application or you can drop
the AlarmWorX64 control onto a GraphWorX64 design surface. You can also
insert the AlarmWorX64 Viewer into any .NET Framework form.

ICONICS, Inc 4-1


AlarmWorX64 Viewer GENESIS64 Core Training Manual

The AlarmWorX64 viewer, as indicated by its name, can be used to view


vi alarms.
You can also use it to acknowledge alarms and do simple alarm analysis.
analysis

Figure 4.1 - AlarmWorX64Viewer inside the Workbench

If you like, you can display alarms in a chart, like the one shown in Figure 4.2,
which provides a summary or aggregate view of alarms organized by the criteria
you specify.

Figure 4.2 - AlarmWorX64 Viewer with a Summary Chart

Each AlarmWorx64 Viewer can have multiple tabs and each tab can be connected
to multiple grids and charts, aas shown in Figure 4.2.

4-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

4.3 Configuring the Viewer


AlarmWorX64 Viewer can be configured in the Workbench by clicking the
Configure Viewer button or by doubdouble-clicking on the AlarmWorX64 object in a
GraphWorX64 display. The AlarmWorX64 Viewer configurator appears as
shown in Figure 44.3 below. The configurator
ator is divided into two parts: on the left
is a tree view of tabs, grids, and charts; on the right are properties for each item.
AlarmWorX64 automatically adds at least one tab and one grid to the display.
You can alter the display of the viewer, tab, or grid objects; but only the grid
object and chart object can connect (that is, subscribe) to an alarm event source.

Figure 4.3 - Configuring the viewer’s Appearance tab

On the viewer’s Appearance tab, you can:

• Change the name of the viewer


• Control the viewer’s display
• Add a subtitle as a second line below the title
• Dock the toolbar to the top, bott
bottom,
om, right, and left, as well as float the
toolbar (these operations are available in runtime as well)
• Adding a Tab to the Viewer

ICONICS, Inc 4-3


AlarmWorX64 Viewer GENESIS64 Core Training Manual

4.3.1 Adding a Tab


To add a tab to the viewer, select the AlarmWorX64 Viewer in the tree control,
and click on the Add Tab button at the bottom. Alternatively, you can right-click
right
on the AlarmWorX64 Viewer, and choose Add  Tab. Then you can edit the tab
settings using the configurator on the right
right-hand pane in the Appearance and
Advanced tabs.

Figure 4.4 - Configuring AlarmWorX64 Viewer

4.3.2 Adding a Grid or C


Chart to a Tab
To add a grid or chart, you can sselect the alarm viewer
iewer tab that will contain the
t
object by clicking on it in the tree control on the left. Then, click
c on the Add
button and select Grid or Chart from the dropdown list.. Alternatively, you can
click on the tab, and select Add  Grid or Chart as shown in Figure 4.5.
right-click

4-4 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

Figure 4.5 - Adding a Grid or Chart to a Tab

Adding a chart is like adding a grid, but with fewer options. The chart properties
are shown in Figure 4.6.. Because they are similar, and because grids offer many
more options, the remainder of this section will describe AlarmWorX64 Viewer
using grids as an example. But keep in mind that grids and charts are configured
in much the same way.

Figure 4.6 - Adding a chart to a tab in AlarmWorX64 Viewer

ICONICS, Inc 4-5


AlarmWorX64 Viewer GENESIS64 Core Training Manual

4.3.3 Adding an A
Alarm Subscription
The AlarmWorX64 Viewer gets alarm updates from real--time alarms by
connecting to an alarm server
server, which is the source of our alarms.. To configure the
alarm source, click on the grid or chart object in the tree control. As a result, the
Source tab,, as shown in Figure 4.7, displays in the properties section of the
configurator.

Figure 4.7 - Real Time Alarm Subscription

To add a subscription, first use the Create/Remove Subscriptions section to


create a new subscription list
list. Click in the text field next to the Add button
and give the subscription a name
name.. Without a name, for the subscription, the button
will be grayed out. Once the Add button becomes active, click
lick on it. This adds
a new subscription list.

Then select the OPC servers that you want to subscribe to in the Edit Event
Points section. Click on the Add button in the Edit Event Points section to
bring up the Data Browser as shown in Figure 4.8.

As you can see, there are ma many


ny OPC servers in the list. You will be able to
subscribe to a legacy alarm server (AlarmWorX32) if you have it installed. Also,
as shown in Figure 4.8,, part of the GENESIS64 Alarm Server is also a DA server.
Make sure you select the AE Server (the one that reads AlarmWorX64 instead of
AlarmWorX64 DA) for this subscription.

4-6 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

Figure 4.8 - Browsing for an Alarm Subscription

NOTE: You can also browse for a historical alarm that will replay a timeframe
of your choosing. If you select the Historical option, you will also need to
specify the time range for the data to be replayed

Once you have added a subscription, you will see it in the Add/Remove Event
Points section. You can then select the subscription and click on the Edit
button to change it.

Figure 4.9 illustrates the subscription editor. In this editor, you can change the
name of the subscription, change the AE server that you have subscribed to and
even add a server
erver side filter to limit the amount of alarms that the alarm server
will give to the client.

Figure 4.9 - Subscription Editor

ICONICS, Inc 4-7


AlarmWorX64 Viewer GENESIS64 Core Training Manual

You can repeat the steps to add as many subscription as you need in the
subscription list. The list is automatically saved each time you add a server
endpoint. Once you have a subscription list, you can use it anywhere inside this
instance
stance of the control.

4.3.4 Configuring a Grid


The remainder of this chapter describes how to format a grid on an
AlarmWorX64 Viewer tab. There are many tabs containing different options that
allow you to personalize the alarm grid. We will go through most of these
t tabs
and their personalization.

4.3.4.1 Appearance Tab


Use the grid’s Appearance tab, shown in Figure 4.10, to configure the
appearance of the grid. Each grid can have its own style and features. You can
also select the elements to show or hide in the grid.

Figure 4.10 - Appearance Tab

4-8 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

4.3.4.2 Behavior Tab


The Behavior tab is shown in Figure 4.11. On this tab are options for:

• runtime
untime features
• tooltips
• alarm
larm acknowledgement controls, including whether comments are
required
equired when an operator acknowledges an alarm
• the
he number of events to display in the grid (for performance purposes)

Figure 4.11 - Behavior Tab

In the Runtime and Alarms section, you have options that allow you to configure
what a user is allowed to do while the viewer is in runtime. In this section, you
can also create client side filters. This may help you limit the alarms shown in the
grid to those that have higher priority or thos
thosee within a certain area, making it
easier to find a particular alarm.

You can also enable tooltips for alarms. Remember that you can create help text
in the alarm server. You can enable tooltips that displays the help text configured
in the alarm server to guide the operator on steps to follow when an alarm occurs.

ICONICS, Inc 4-9


AlarmWorX64 Viewer GENESIS64 Core Training Manual

4.3.4.3 Status Indicator Tab


The status indicator is a special feature of AlarmWorX64 Viewer that shows key
performance indicators (KPIs) in the AlarmWorX64 Viewer grid. Status icons are
a good way of providing a quick way for operators to gauge the conditions that
they see on a display.

A status indicator consists of a set of icons you configure for the indicator, such as:
a set of arrows, flags, faces, symbols, and anything else you want.
want During runtime,
these icons swap in and out to give the operator an indication of an alarm’s state.
For example, as an alarm becomes more severe, the display shows a red arrow. As
the alarm becomes less severe, the arrow displays first a yellow arrow and then a
green one.

Each icon set is called a dictionary.. In addition to the predefined dictionaries of


status indicators, you can import additional sets.

As shown in Figure 4.12,, each status indicator consists of a set of filters that
define the levels of severity. Each filter is assigned its own image (that is, an icon
from the selected dictionary) and a Show Value checkbox which, when checked,
shows the original value of the cell together with the image.

Figure 4.12 - Status Indicator Tab

You can define different images to display using different conditions. You can
define a condition by clicking on a cell in the Alarm Conditions column. This
brings up the Configure Filter dialog as shown in Figure 4.13.. In here, you can
define the conditions required to display the indicator. When you are defining a
condition for a status indicator, keep in mind that you can use any alarm attribute.
For example, one filter could be Severity > 100 AND Tag = ‘Temperature’.
‘Temperature’ In

4-10 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

this case, the filter’s image will display for any alarm whose severity is higher
than 100 and whose alarm tag name is ‘Temperature’.

Figure 4.13 - Configure Filter Dialog

Once you have created a status indicator, you can go to the Column tab, as shown
in Figure 4.14, to apply the status indicator to any column.

Figure 4.14 - Column Tab Showing Status Indicator Detail

The result is shown in Figure 4.15.. The images are applied to the cells of the
column when the condition is true for the whole row.

Figure 4.15 - Status indicator in runtime

ICONICS, Inc 4-11


AlarmWorX64 Viewer GENESIS64 Core Training Manual

4.3.4.4 Column Tab


The Column tab allows you to configure which available column or alarm
attribute to display in the grid
grid.. When you select a data source for a grid, you
automatically populate that grid with all of the attributes that are defined for that
data source in this tab
tab. By default, only the Time, OrignalSource, Severity,
SubConditionName, Quality, and Message fields will appear in the grid.grid

The checkbox in the ffirst


irst column lets you show or hide the column in the grid.
You can also change the order that the columns appear in by selecting the column,
then click on the up or down arrows to move the column.

Also in the Column tab, you can edit the title, the width, and the status indicator.
When you are done editing, be sure the click on the Apply button to update the
grid. If you are not sure of what to do at any point, you can mouse over the
information icon to get some help.

Figure 4.16 - Column Tab

4.3.4.5 Group Ranges Tab


When there is much information in the viewer, you may want to group similar
data to find it easily. To apply grouping, you will first need to set up how you
want to group the alarms. The Group Ranges tab allows you to set up a set of
filters that you can apply to a column later, for proper grouping.

4-12 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

By default, there is one group range configured in the grid called “Range By
Security”. The items in this grouping range comprise of filters that determines the
severity of the alarms. We have created five different filters for alarms with
different severity
ty ranges to accommodate the different needs.

To create your own group range, you can type the name of the range in the Create
or Select a Range text box, and click on the Add button. In the new Criteria
List section, click in the Alarm Conditions’ colum
columnn to bring up the Configure
Filter dialog. You can use this dialog to create your filter. In the Caption column,
you can give a descriptive name for this filter. Add as many filters as you need in
the filter group.

To apply your Group range, you will need to go to the Groping Tab, which we
will discuss next.

Figure 4.17 - Group Range Tab

4.3.4.6 Grouping Tab


ab
Options on the Grouping tab organize your alarms by values contained in the
column that you apply the group function.. Grouping allows you to view your
alarms in a hierarchical view, which is helpful when analyzing alarms.

It is possible to create groups on more than one column. Grouping applies from
the top down of the Column to Group list. For example, in Figure 4.18, it will first
group by the Source Name of the alarm, then by the Time/Date, and lastly by the
Event ID. You can change the order of the grouping by clicking on the up or
down arrows.

ICONICS, Inc 4-13


AlarmWorX64 Viewer GENESIS64 Core Training Manual

Figure 4.18 - Grouping Tab

Once you decide on which Columns to group, you need to decide how to group
the column. In the Grouping Type section, you can choose how to group the
columns.. For Example, in Figure 4.18,, we are grouping the SourceName column
by identical value (which, is a default grouping type). You can also select other
grouping types. The Grouping types come from the Range Group. Therefore, by
default, you have two grouping types: By Identical Value and Range By Security.

4.3.4.7 Condition Tab


In the condition tab, you can configure how the each alarm show display based on
somee condition. The most popular way to use this is to filter on the alarm priority
(OPC defined to have a value 00-1000). An alarm that rises above a certain level
may require immediate action and you might want such an alarm to appear with a
bold color,, while other alarms that fall below a certain priority can be ignored and
you might make the background of those use lighter colors.

Figure 4.19 - Condition Tab

4-14 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer

A condition is made up of a filter and a visual style. In runtime, if the filter is true
for a row, then the related visual style is applied to the row. You can create as
many conditions as you have filters and visual styles. You choose what the values
are, what the condition level is named, and how alarms are displayed in the grid
object at runtime.

You
ou can select a list of conditions or create a new list of conditions. Once you
select a condition, the Visual Styles Management section lists the different
conditions. If you create a new condition list, this section will be empty.

Clicking on a cell in the Visual Styles column brings up the Configure Styles
dialog. There are two tabs in here: the Alarm Con
Condition
dition tab and the Visual Style
tab. We will not discuss the Alarm Condition tab here for it looks exactly like
Figure 4.13.

Figure 4.20 - Configure Styles Dialog

4.4 Alarm Viewer Runtime Options


Once you are done configuring the AlarmWorX64 Viewer, you can go into
runtime
ntime and view your alarms with which ever condition and styles you have
applied. When you are in runtime, you have a few tools that help you control
which alarms displays.

ICONICS, Inc 4-15


AlarmWorX64 Viewer GENESIS64 Core Training Manual

If you right-click
click on the alarm viewer in runtime, you will get a menu similar to
Figure 4.21.. Depending on your alarm subscription: real
real-time
time alarms or historical
alarms, different options may be disabled.

At a basic level, you can acknowledge alarms, sort columns, filter data if the grid
is displaying real
real-time
time data. If you are viewing historical data, you may have
options to refresh the data, create a condense alarm report or a detail alarm report,
change the time range of the data showing.

Figure 4.21 - Alarm Viewer's Right-click Runtime Menu

At the top of this menu, you have an option to To Toggle


ggle Toolbar Visibility. A
runtime toolbar comes with the alarm viewer. By clicking on this option when the
toolbar is invisible, it will make it appear.

This toolbar, shown in Figure 4.22,, can be free floating or dock within the alarm
viewer. The toolbar gives many options such as sorting and filtering alarms like
the right-click
click menu.

Figure 4.22 - Alarm Viewer Runtime Toolbar

You can utilize either the right


right-click
click runtime menu or the runtime toolbar to help
you configure the view of your alarm viewer while in runtime.

4-16 ICONICS, Inc


GENESIS64 Core Training Manual Lab 4: Viewing Alarms

Lab: Viewing Alarms 4

4.1 Lab Overview


In the previous lab, you have create some alarms that indicates the status of the
churning blade and the tank level for one of the tanks. These alarms are
meaningless unless someone can see it when it goes into the alarm state. icTonics
would like a display in which an operator can easily spot important alarms and
manipulate them (e.g acknowledge it).

Estimated time to complete this lab: 20 Minutes

4.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Setup a simple alarm file in the Alarm Container


• Setup an alarm control in GraphWorX64
• Configure an alarm subscription
• Create and apply a client side filter
• Add flash to alarms with a condition

4.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsAlarmServerConfig database

4.2 Alarm Container


GENESIS64 provides a place where you can viewer alarms. We call this the
alarm container. You can only open this container within the Workbench.

ICONICS, Inc L4-1


Lab 4: Viewing Alarms GENESIS64 Core Training Manual

1. Open the Workbench if you closed it from the previous lab and
a select the
AlarmWorX64 from the project explorer.

2. Create a new alarm view. You can do this either from the Ribbon or by right-
right
clicking on something in the project explorer.

3. Your ribbon now should load the AlarmWorX64 Configuration. Click on the
Configuree Viewer section.

4. You should now have a popup window that looks like Figure L4.1.
L

Figure L4.1 - Alarm Viewer Control Configure Dialog

5. Click on Grid in the left


left-hand
hand pane and notice that there is already an alarm
subscription.

6. Select the “Local Alarm Server” in the Edit Event Points section and click on
the edit button.

7. Select the Categories tab and not


notice
ice that nothing is in the subscribed side. If
we do not put anything in the subscribe side, that means all categories are
subscribed. However, if you put just one category in the subscribed side, then
you will only see alarms in that category.

8. Click on OK to close the “Local Alarm Server” dialog and click OK one more
time to close the “Configure your Control” Dialog.

9. Click on Runtime in the upper left


left-hand
hand corner of the alarm view tab to see
your alarms.

L4-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 4: Viewing Alarms

4.3 Alarm Control in GraphWorX64


The alarm control is what you use to view alarms in GraphWorX64. It has the
same properties as the Alarm Container. We will talk more about the alarm
control in a later chapter. For now, think of it as an alarm container that you can
use in GraphWorX64. In this section, you will create a display to view alarms as
well as customize the control to suite the project.

1. Create a new GraphWorX64 display by click on the GraphWorX64 button in


the ICONICS Viewers section of the Home Ribbon

2. You should now see the GraphWorx64 Ribbon. Save the display in
C:\GENESIS64Training and name the display icTonicsAlarms.gdfx. You
should save your work as you progress through the lab.

3. Select the Controls tab; click on the AlarmWorX64 Viewer, then in the
GraphWorX64 workspace. You should now see the AlarmWorX64 viewer on
your display. You can resize the viewer as desired.

4. Double-click on the control to bring up the configuration dialog.

5. Click on Grid in the left-hand pane. Click inside the text box next to the
grayed out plus sign in the Create/Remove Subscriptions section and type in
“icTonicsAlarms”. The button with the plus sign to the left should now be
enabled, click on it to add the subscription.

6. Notice that the Local Alarm Server event point is already inside this
subscription.

7. Select the Appearance tab, and in the Grid Style section, select the Glass style.

8. Go to the Column tab, and move the Message field just below the
OriginalSource field. You can do this by selecting the message field row, then
click on the up arrow to the upper left-hand corner.

9. Change the width of the Message to 250.

10. Uncheck the SubConditionName and Quality field. Your Column tab should
look similar to Figure L4.2.

ICONICS, Inc L4-3


Lab 4: Viewing Alarms GENESIS64 Core Training Manual

Figure L4.2 - Alarm Viewer Configuration: Column

11. Click on the Conditions tab. Noticed that there are preconfigured condition in
here. The conditions are applied in the top
top-down
down order. We will add a new
condition for alarms with priority 900 and higher.

12. Click on the bank alarm condition to bring up the Configure Styles dialog.
Give the Filter name ““SeverityBelow900”.

13. Click
ick on the green plus sign, the Edit Filter Element section should now be
available.

14. Change the Filter Field to Severity, the Filter Operator to <=, and the Filter
Value to 900.

15. Click on the green plus sign button, the Edit Filter Element section should
become
come available. Once done, you can click on the green check mark button.

16. Go to the Visual Style Tab and give this style the name ““SeverityBelow900
SeverityBelow900”
as well.

17. Change the text color to yellow and the background color to a gradient (You
can pick your own color
colors).

18. Click on the Blinking button, and set the color to flash to; you can pick your
own colors here as well.

19. Change the Blink action to Very Slow. Click on OK to close out of the
configure style dialog.

20. Move the new condition that you have just created to tthe
he one below the
SeverityBelow800.

21. Click on OK to close out of the configuration dialog.

22. Go into runtime and noticed that you already have two alarms.

L4-4 ICONICS, Inc


GENESIS64 Core Training Manual Lab 4: Viewing Alarms

23. Double-click
click on the viewer to bring up the toolbar. Click on the Filter Data
button. We will now apply a filter to view the Tank level alarms only.

24. Chang the Filter Name to “Tank Levels” in the Configure Filter dialog.

25. In the Filter Field, select OriginalSource, set the filter Operator to “Like” and
type in the Filter Value “Level”.

26. Click on the green check mark when you are done. Your finished filter should
look similar to Figure L4.3.

Figure L4.3 - Alarm Filter

27. Since you have applied a filter, you should only see one alarm on the display
now.

28. Now change the value of the TankLevel tag to 95 (you can do this with any
an
OPC client) and see that the alarm is blinking with the condition you have
created previously.

ICONICS, Inc L4-5


Lab 4: Viewing Alarms GENESIS64 Core Training Manual

L4-6 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Viewer Review

AlarmWorX64 Viewer
R4
Review
4.1 Objectives Review
You should now know and understand the following topics:

• Configuring alarm viewer tabs, grids, and charts


• Alarm viewer Grid Configuration control
• Sources, appearance, and behavior
• Status indicators and grouping ranges
• Columns, grouping, and conditions
• Alarm viewer runtime options

4.2 Summary
The AlarmWorX64 Viewer is client application that provides real-time and
historical alarm information within the GENESIS64 product family. The viewer
connects to OPC UA and OPC AE servers to provide alarm display and
management features based on the connections to the data source that you specify.

In the AlarmWorX64 Viewer, you determine which alarms display, what the
display looks like, and how alarms are grouped and sorted.

The viewer can be used inside the Workbench application or you can drop the
AlarmWorX64 control onto a GraphWorX64 design surface. The viewer comes
with much personalization tools in configuration mode for you to setup how
alarms appear based on conditions, Groupings, and Status indicators. In runtime
mode, you have a limited set of tools that allows you to turn on filters, sort alarms,
and acknowledge alarms, as well as other options by using either the runtime
right-click menu or the runtime toolbar.

ICONICS, Inc R4-1


AlarmWorX64 Viewer Review GENESIS64 Core Training Manual

4.3 Terms
Alarm Filter Alarm Indication Dictionary Alarm Subscription
AlarmWorX64 Viewer KPI

4.4 Test Your Knowledge


In this chapter, you learned how to configure an alarm viewer and its options in
runtime. Before you proceed to the next chapter, make sure you can answer the
following questions.

1. What alarm server(s) can be subscribed to AlarmWorX64 Viewer?

a. OPC UA servers
b. OPC AE servers
c. OPC DA servers
d. All of the above
e. A and B
f. A and C
g. B and C
h. None of the above

2. True or False: AlarmWorX64 Viewer is an ActiveX.

3. You can use the AlarmWorX64 Viewer in:

a. GraphWorX64
b. Alarm Container
c. AlarmWorX64 in the Workbench
d. All of the above
e. A and B
f. A and C
g. B and C
h. None of the above

4. True or False: The AlarmWorX64 Viewer can display only real-time alarms.

5. True or False: You can add client-side filters in the alarm viewer to limit the
alarms that displays.

R4-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger

AlarmWorX64 Logger 5

5.1 Objectives
After completing this chapter, you should know how to:

• Start up AlarmWorX64 Logger Configurator and services


• Configure AlarmWorX64 Logger database connection to log alarms
• Add server
server-side and client-side filters for alarm logging and column
definitions
• Create a node configuration

5.2 Introduction to the AlarmWorX64 Logger


The AlarmWorX64 Logger provides a permanent copy (database storage or
printed copy) of alarm and event notifications. The alarm and event notifications
are generated
nerated from any OPC Alarm and Events server, including the
AlarmWorX64 Server. AlarmWorX64 Logger subscribes to an OPC Alarm and
Events server and stores the information in a database. You can configure the
AlarmWorX64 Logger within the Workbench, which aalso lso allows starting and
stopping of the Logger service. AlarmLogger64 configuration information is
stored in SQL Server database.

Figure 5.1 - Alarm Logger Architecture

ICONICS, Inc 5-1


AlarmWorX64 Logger GENESIS64 Core Training Manual

5.3 Starting the AlarmWorX64 Logger Configurator


There are two ways to start the AlarmWorX64 Logger configurator:

• From the Windows desktop, click on Start  All Programs  ICONICS


GENESIS64  AlarmWorX64  AlarmWorX64 Logger Configurator.
• From within the GENESIS64 Workbench, select the AlarmWorX64
Alarm
Logger button or icon.

Once the AlarmWorX64 Logger configuration opens,, you should see an interface
similar to Figure 55.2.

Figure 5.2 - AlarmWorX64 Logger Configurator

5.4 AlarmWorX64 Logger Configuration


Like many of the GENESIS64 applications, the configuration for the
AlarmWorX64 logger is stored in an MS SQL database. You can create a new
configuration database by clicking on the Database dropdown list and select New
Database in the Home tab of the ribbon. Alternatively, you can right-click
right on
Localhost
alhost in the AlarmWorX64 Logger of the Project Explorer and select New
Database.

5-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger

The familiar Database Wizard will come up and guide you through the steps of
creating your new alarm logger database. During setup of your new configuration
database, there iss an option in the wizard that allows you to include sample data.
This option is checked by default. If you wish to exclude examples from this
configuration database, uncheck the option before proceeding with the database
creation.

5.4.1 Configurations
The configuration
guration database can host many logging configurations. The logging
configuration stores information such as the database connection to store the
alarm and event data and the subscription to the OPC AE server.

You can create a logging configuration by right-clicking on Configurations


under your database and then select the Configuration from the pop-up
pop menu.
Alternatively, you can click on the Add button’s down arrow on the Home tab of
the ribbon, and select
elect Configuration.

When you do this, AlarmWorX64 Lo Logger


gger opens the Alarm Log Configuration tab,
which displays the configuration properties, as shown in Figure 5.3.
5

Figure 5.3 - New configuration in AlarmWorX64 Logger

ICONICS, Inc 5-3


AlarmWorX64 Logger GENESIS64 Core Training Manual

5.4.2 AlarmWorX64 Logger Subscriptions


Once you create a configuration, by default it is automatically subscribed
s to the
local Alarm Server. Notice that, in the Alarm Log Configuration, you can use the
radio buttons at the bottom of the Alarm Subscription section to display
subscriptions by name or by path, as shown Figure 5.4.

Figure 5.4 - Alarm Subscription

If an additional subscription is needed, simply click on the add button in the


Edit Event Points section to create a new alarm
arm subscription. The Data Browser
window will appear, allowing you to select another alarm server and/or area.

You can delete a subscription by highlighting it and clicking on the remove


button in the Edit Event Points section. A window will pop up to confirm the
deletion of the alarm subscription.

5.4.3 AlarmWorX64 Server Side Filter


Once a subscription is created, you may need to edit it so that the subscription can
get the data you want. This is called Server Side Filtering.. Choose the alarm
subscription you want to edit, and then click on the edit button to open the
subscription’s properties dialog, which is shown in Figure .5.5.

Figure .5.5 - Alarm Subscription Property Window

5-4 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger

There are three tabs that are available here: Types, Categories, and Attributes.
Attri The
Types tab allows you to choose or filter the event types and severity range of the
alarms and events
events. The Categories and Attributes tabs allow you to subscribe to
custom categories and to pick the attributes that you want logged. A general rule
in the Categories tab is that if nothing is in the subscribed section, you will be
subscribed to the available categories. However, if you add any categories to the
subscribed side, then you will only receive alarms and event in those subscribed
categories.

5.4.4 AlarmWorX64 Client Side Filter


While server side filtering restricts the information coming from the alarm server
that the logger configuration subscribe
subscribes to, Client Side Filtering limits what kind
of information you want to log into the database further once you have data from
the alarm server. In AlarmWorX64 Logger, this filter is located next to the alarm
subscription on the Alarm Log Configuration tab, shown in Figure 5.6.

Figure 5.6 - AlarmWorX64 Logger Filter

You can start typing in the Alarm Filter box to use the Advanced Expression
engine. Or you can click on the Edit Filter button to use a Filter Wizard or the
Expression Editor
Editor.

Why the different type of filters


filters? Use the server-side filter to save traffic
resources between the Alarm Server and Al Alarm
arm Logger. Use the client-side filter
to save space and restrict how quickly the log database grows. These filters
become more important when the alarm server, the logger, and the database are
on different machines and the end
end-user does not want to see alll types of data from
the alarm server getting logged.

5.4.5 Configuring the Database Connection


When you first create a configuration, the logger is automatically set to log all
alarms into its own configuration database file, as shown on the Alarm Log
Configuration’s
tion’s Database Logging tab in Figure 5.7.

ICONICS, Inc 5-5


AlarmWorX64 Logger GENESIS64 Core Training Manual

Figure 5.7 - AlarmWorX64 Logger Database Connection

If you want data logged to a different database, you will first need to uncheck the
Use Configuration Database for Logging checkbox and configure the database
connection by clicking on the Change Connection button. This opens the OLE
DB Connection dialog box as shown in Figure 5.8,, where you simply select the
OLE DB Provider you want to use, its location, and the database to which the
alarms will be logged. When this is done, click OK to automatically populate the
necessary
ssary fields on the OLE DB Provider and Data Source.

Figure 5.8 - OLE DB Connection

Although the connection stri


string
ng is automatically created when you configure the
OLE DB Provider, you can modify it. If you need to modify it or manually create
your own connection string to the database where the alarms will be logged, you
can click on the Advanced button in the Advanced Settings section.

5-6 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger

5.4.6 Table Management


Alarm data are logged to one master, active table in the database. If there are no
restrictions placed on the size of the active table, data are logged to the active
table as long as the Alarm Logger is running and tthere
here is disk space on the hard
drive. You can, however, place a restriction on the size of the active table by
using the Table(s) Management tab on the Database Logging tab, shown in
Figure 5.9.. The active table can be restricted to a maximum size determined by
either a number of records or a time interval.

Figure 5.9 - AlarmWorX64 Logger Table Management

If the active table’s size is restricted, all incoming data continues to be logged to
the active table, but the oldest data that exceeds the restriction will be moved from
the active table into an archive table. Archive tables can also have a maximum
size determined by either a number of records or a time interval. When one
archive table is full, data will be logged to the next archive table. When all
archive tables are full, the oldest archive records will be replaced by the newer
information. Thehe name of each archive table is the name of the active table
followed by the date and time of the first alarm in the table. With this system, the
active table always has the most recent alarm data.

During runtime, the Alarm Logger will create the active table if it does not exist
and will add any columns to the table if they are missing. The Logger will not
create any indexes. Use a database administration tool to add indexes to columns
that are searched and/or sorted by queries.

You can use the Table Management sect section


ion of the Database logging tab to
configure the following parameters for the active table:

ICONICS, Inc 5-7


AlarmWorX64 Logger GENESIS64 Core Training Manual

• Table Name: Enter the name of the active table.


• Active Table: Specify
pecify a limit on the size of the active table by putting a
checkmark in one or both of the checkboxe
checkboxes.s. The limit can be a maximum
number of records or a time limit on the age of data in hours, days, months,
or years (the interval refers to the time span between the oldest and most-
most
recent items logged). If both conditions are checked, when one of the
conditions
itions is met
met, the table is full. If neither item is checked, then
archiving is disabled and will never take place.
• Archive Table: Specify
pecify the quantity of archive tables and a limit on the
size for each archive table. These fields work the same way as they do for
the active table, but with the following exception: If the Max Records and
Max Interval fields are both left unchecked,, all archiving will go to one
archive table of a (theoretically) unlimited size, because the table size is
not restricted. In ess
essence, the Max Tables field will be ignored.
• Snapshots Table: This section allows you to create a “snapshot” table
that you can use to replay alarm data. In the Snapshots Period field,
specify how often (in hours) a snapshot table can be created. A snapshot
period value of 0 (zero) means that no snapshot table will be created. For
data replay to work with alarms, the value of the snapshot period must be
greater than 0.

NOTE: You can print incoming alarm and event messages to a printer in
addition to storing them to a database. For configuring the printer setup, see the
“Printer Logging” tab. For additional details
details, please refer to the AlarmWorX64
documentation.

5.5 Column Definitions


Alarm columns here mean the alarm attributes that the logger should take
information
ation from and put into the database. The configure columns dictates the
column heading in the table as well as which attributes of each alarms or event
received will be saved in the database.

You can configure columns by right


right-clicking
clicking on the configuration
configuratio in which you
want to add a column for and select the column option. This opens the Column
Definition configuration as shown in Figure 5.10.

5-8 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger

Figure 5.10 - Column Definition

In this interface, you can specify the name of the column, which will become the
column
lumn name in the logging table. You can also choose the alarm attribute
available in the Types field.

In the Printer Logging section, you can specify the width, line number, start
position, and if line wrapping is allowed. This allows you to configure how the
printer alarms looks on paper.

5.6 Nodes Configuration


A node is the PC network name associated with a particular configuration. When
the alarm server starts, it checks the database for its node name. Unlike most other
GENESIS64 application, you can run mu multiple
ltiple configurations at a time. However,
you can only have one active configuration database. The way that the alarm
logger allows for running multiple configurations at a time is through Nodes. You
must associate those configurations that you want to log data to a node.

You can add a node, by right-clicking on Nodes and then select Node from the
pop-up menu, as shown in Figure 5.11.

ICONICS, Inc 5-9


AlarmWorX64 Logger GENESIS64 Core Training Manual

Figure 5.11 - Node configuration

A new Node tab appears. Type the Computer name for the computer you want to
use the configuration on (which in most cases is your local computer name) and
then click on Apply
Apply.

To attach a configuration to the node, right


right-click
click the node and select Node
Configuration.. In the dialog box that appears, sselect
elect the configuration you want to
attach to the node and click on Apply.

Note that when working locally on your GENESIS64 server, instead of specifying
the name of the actual machine, you can use the neutral node name “anonymous”
to run one or more alarm logger configurations on the local GENESIS64 node.

5-10 ICONICS, Inc


GENESIS64 Core Training Manual Lab 5: Alarm Logger

Lab: Alarm Logger 5

5.1 Lab Overview


Logging generated alarms can help in pinpointing problematic areas on the
production floor. Therefore, icTonics has decided to log the alarms for future
evaluation and analysis purposes. This will also help them keep track of the
operators that acknowledge the alarm when we implement security.

Estimated time to complete this lab: 20 Minutes

5.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a new alarm logger configuration


• Create and connect to a database to log alarms
• Configuring Active and Archive tables
• Associate the configuration to a node
• Viewing historical alarms in the Alarm Viewer

5.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsAlarmServerConfig database
• icTonicsAlarms.gdfx

5.2 Alarm Logger Configuration


In order to log the alarms or events generated by an alarm server or event server,
you will need to subscribe to such an OPC Server and configure the attributes to
save into the logging database.

ICONICS, Inc L5-1


Lab 5: Alarm Logger GENESIS64 Core Training Manual

1. Open the Work


Workbench
bench if you closed it from the previous lab and select the
AlarmWorX64 Logger from the project explorer.

2. Right-click
click on localhost and select “New Database…” to bring up the SQL
Create Database Wizard. Click on “Next” to get to the common database
options window.

3. Change the database base name to “icTonicsAlarmLoggerConfig” and click


on “Finish” to create the database. Notice that you have created the alarm
server configuration database the same way.

4. Expand Configurations under icTonicsAlarmLoggerConfig. You should see


that there are two configurations in here. That is because when we created the
database, we left the check to include Sample Data.

5. Also, expand Nodes  localhost and noticed that the two sample
configurations are associated to the local compute
computer already.

6. Right-click
click on “Alarms” under Configurations and select “Edit on New Tab”
This will open the configuration options for this logger configuration on the
right-hand
hand pane.

7. Notice that there is already a subscription connected to the local alarm server.
ser
Change the configuration name to “icTonicsAlarms”.

8. In the “Database Logging” tab, select the “Database Connection” section.

9. Uncheck the option to “use configuration database for logging” and click on
the “Change Connection…” button.

10. The OLE DB Connect


Connection
ion dialog comes up. Leave the Microsoft SQL Server
as the OLE DB Provider. Change the Server name to “(local)”, and select the
icTonicsAlarmData as the database. Your finished configuration should look
similar to Figure L
L5.1.

Figure L5.1 - OLE DB Connection

L5-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 5:
5 Alarm Logger

11. Click on OK to close the dialog and click on the “Table(s) Management”
section.

12. You can leave the Table Name as “AlarmLog”. Check the Max Interval in the
Active Table section and change the interval to 1 Day(s).

13. Check the Max Interval in the Archive Table section and change the interval
to 7 Day(s). This configuration will allow us to keep only one day’s
day record in
the active logging table, but archive seven day alarm record into one table.
Your Tables Management Section should look similar to Figure L5.2 L when
you are done.

Figure L5.2 - Table(s) Management

14. Do not forget to click on Apply to save your changes.

15. Expand Nodes  localhost, right-click


click on Alarms and select “Edit on New
Tab”.

16. See that the configuration name automatically changes to icTonicsAlarms.


Click on Apply to save the changes.

17. Select localhost, right


right-click
click on it, and select “Edit on New Tab”. Change
localhost to use your computer name. Click on Apply to save the changes.

18. Make the icTo


icTonicsAlarmLoggerConfig
nicsAlarmLoggerConfig the active configuration database and
start the data logging service by clicking on the traffic light in the ribbon.

ICONICS, Inc L5-3


Lab 5: Alarm Logger GENESIS64 Core Training Manual

5.3 Viewing Historical Alarms


Once you have logged your alarms into a database, you can view these logged
entries. Of course, you can view it through a database tool, or you can use the
alarm viewer instead.

1. Open the icTonicsAlarms.gdfx display that you have created in the previous
lab.

2. Double-click on the Alarm Viewer control to open the configuration dialog.

3. Select Tab, and change the Title Text to “Real Time Alarms”

4. Right-click on AlarmWorX64 Viewer and select Add  Tab

5. Select the new tab and change the Title text to “Historical Alarms”. Notice
that there is already a grid under this tab.

6. Select Grid1, we are going to set up this grid similar to the one that you’ve
setup in the previous lab.

7. In the textbox next to the grayed out plus sign button, enter the text
“icTonicsHistoricalAlarms”

8. Notice that the two radio buttons to the right of the textbox is now available.
Select Historical and then click on the green plus sign button to add the
configuration.

9. Notice that the Local Logging Server is already in the Edit Event Points
section. Click on Edit to go into the subscription properties.

10. Click on the “…” button next to the OPC UA Point textbox to bring up the
OPC UA browser.

11. Select Historical Data  AlarmWorX64  icTonicsAlarms and double click


on the tag that starts with @ as shown in Figure L5.3. Click on OK to exit out
of the browser.

L5-4 ICONICS, Inc


GENESIS64 Core Training Manual Lab 5:
5 Alarm Logger

Figure L5.3 - OPC UA Tag for Historical Alarm Server

12. Change the name of the Event Point to “Local Alarm Logger” and click on
OK.

13. In the Time


me Rage section, select Today. This will limit the alarms to show
only today’s records.

14. Your Source tab should look similar to Figure L5.4 when you are
ar done.

Figure L5.4 - Historical Alarm Sources

15. Select the Columns tab and uncheck the Severity, SubCondition, and Quality
columns. Click on OK at the bottom to exit the configuration dialog.

ICONICS, Inc L5-5


Lab 5: Alarm Logger GENESIS64 Core Training Manual

16. Go into runtime. You may get a message saying that there is no historical
alarm for the time range. That is OK, there were probably no alarms triggered
since we started logging alarms.

17. Trigger a new alarm by changing the tag values (you can do this with any
OPC client).
ient). See that there are alarms in the Historical Alarms tab of the
viewer.

Figure L5.5 - Historical Data

L5-6 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger Review

AlarmWorX64 Logger
R5
Review
5.1 Objectives Review
You should now know and understand the following topics:

• AlarmWorX64 Logger and how to start the service


• Configuring AlarmWorX64 Logger database connection to log alarms
• Adding server-side and client-side filters for alarm logging and column
definitions
• Creating node configurations in AlarmWorX64 Logger

5.2 Summary
The AlarmWorX64 Logger provides a permanent copy (database storage or
printed copy) of alarm and event notifications produced by any OPC AE servers.
AlarmWorX64 Logger subscribes to OPC AE server and then store the
information in a database. You can configure the AlarmWorX64 Logger within
the GENESIS64 Workbench.

In AlarmWorX64 Logger, you can create a configuration that consists of a


subscription to an alarm server (usually AlarmWorX64 Server) as the source of
alarms you want to log. You can also add filters to limit the information you
logged into the database.

There are two types of filters: server-side and client-side. The server-side filter
sorts alarm data coming from the alarm server into the logger, and the client-side
filter filters data coming from the logger into the database.

The subscription to the alarm server ensures that the logger receives any alarm
triggered in the alarm server. The received alarm is then logged into the
destination database specified in the configuration settings. The database itself
can be the configuration database for the AlarmWorX64 Logger (default) or any
other MS SQL Database.

ICONICS, Inc R5-1


AlarmWorX64 Logger Review GENESIS64 Core Training Manual

You can also have multiple configurations in the same machine and use those
configurations for multiple machines by configuring the nodes. After creating
some configurations that you would like to use, you can add nodes and link them
to the configurations that you have. You can also link the same configurations to
different machines or link multiple configurations to the same machine. This is
very useful because if you have different subscriptions to different alarm (and/or
event) servers but would like to log it to one machine, you will be able to do that
as well.

5.3 Terms
Alarm Logger Columns Alarm Logger Configuration Alarm Logger Node
AlarmWorX64 Logger Server Side Filtering Client Side Filtering

5.4 Test Your Knowledge


In this chapter, you learn how to create an alarm logger configuration and set it up
to logged alarm information. Before you continue, make sure you can answer the
following questions.

1. How do you connect to an alarm server to receive the information to log?

a. Subscribe to an OPC AE server


b. Draw a connection between the alarms and the logger
c. Filter the alarms that you want to log
d. Add alarm columns to log the data

2. If you want the alarm logger in MachineA to subscribe to an alarm server in


MachineB and you want to limit bandwidth usage, what would you do in the
logger?

a. No changes are needed in the configuration


b. Set up client-side filtering
c. Set up server-side filtering
d. Log into a different database

R5-2 ICONICS, Inc


GENESIS64 Core Training Manual AlarmWorX64 Logger Review

3. If you want to keep data for a year and store each month’s data in a new table,
what do you need to do?

a. Nothing, it does that automatically


b. Set up the active table
c. Set up the archive tables
d. Set up the active table and archive tables

4. True or False: You will need to associate an Alarm Configuration to a node


for the configuration to work.

5. AlarmWorX64 Logger can sent alarms and events to:

a. A database
b. A printer
c. A fax
d. An Email
e. All of the above
f. Both A and B
g. Both C and D
h. None of the above

ICONICS, Inc R5-3


AlarmWorX64 Logger Review GENESIS64 Core Training Manual

R5-4 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

TrendWorX64 Logger 6

6.1 Objectives
After completing this chapter, you should be familiar with:

• TrendWorX64 Logger and how to launch it


• Database configurations
• Database groups and logging groups

6.2 Introduction to TrendWorX64 Logger


TrendWorX64 Logger handles data logging and data retrieval among multiple
types of databases. The logger collects data from an OPC UA and OPC DA real-
time data source and sends that data to an SQL server database such as Microsoft
SQL Server 2005, or SQL Server 2005 Express Edition. Its basic functions are to
collect and log data for analysis and to provide optional data redundancy.

The TrendWorX64 HDA server will connect to a TrendWorX64 Logger database


configuration and serve the data contained in that database to HDA clients such as
the TrendWorX64 Viewer. You can deploy the TrendWorX64 Logger using the
same computer on which the database resides or connect to a database on a
different computer on the network. You can configure TrendWorX64 Logger
using configuration forms in the Workbench.

Figure 6.1 shows a diagram of how TrendWorX64 fits in with the GENESIS64
product family.

ICONICS, Inc 6-1


TrendWorX64 Logger GENESIS64 Core Training Manual

Figure 6.1 - TrendWorX64 overview

6.3 TrendWorX64 Logger in the Workbench


You can control various aspects of the TrendWorX64 Logger's behavior within a
set of configuration forms in the Workbench. Using these forms, you can select
the database
se that TrendWorX64 uses, create new databases, modify a database,
and create and store configuration(s) that support your trending displays. In the
Workbench, you can start and stop logging activities as needed.

Configurator, go to Start  ICONICS


To start TrendWorX64 Logger Configurator
GENESIS64  TrendWorX64  TrendWorX64 Logger. Logger TrendWorX64
Logger opens in the Workbench as depicted in Figure 6.2. In this configuration,
you can setup your database groups, logging groups, and tags which determines
where and what to log when the service starts.

The logging service relies on the FrameWorX


X server to send logging data to the
TrendWorX64 Viewer client. In the Windows Task manager, you should see that
the FrameWorX server process (IcoUAServer.exe) is running.

6-2 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

Figure 6.2 - TrendWorX64 Logger Configurator

6.4 Database Configurations


To configure the TrendWorX64 logger in the configurator, you need to make sure
that you have a configuration database first. Thee installation comes with a
default configuration database depending on the options you choose during
installation. However, you may create additional configuration databases as you
wish.

You can create a configuration database by right clicking on localhost in the


Project Explorer and select New Database
Database. Alternatively, you can click on the
down arrow of the Database button in the Home tab of the ribbon and select New.

The database creation wizard will come up and assist you through creating the
configuration
nfiguration database. During this setup, you will get a choice to include sample
data. This option is by default selected. If you do not want to include sample data,
you can uncheck this option before creating the configuration database.

ICONICS, Inc 6-3


TrendWorX64 Logger GENESIS64 Core Training Manual

Once you complete the steps in the wizard, you will ll see the database in the
Project Explorer, with the database’s configuration below it in the tree (if you
include sample data)
data).

To change the configuration’s settings, double


double-click on the configuration in the
Workbench’s Project Explorer. The figure below shows the settings that are
available for the configuration.

Figure 6.3 - TrendWorX64 Configuration settings

Only one configuration per computer can be active at any given time; you must
make the database active to use its configuration. To make the configuration
database active, right
right-click on it in the Project Explorer and select Make Active
from the popup
up menu.

6.5 Database Groups


In order to log data, you must create a database group that stores the information
on how to connect a database to store the information
information.. You can have one or more
database groups for a trend configuration. Each ach database group acts as the
physical connection to the database, and it manages data updates and logging
activities. It is also a grouping of logging groups.

To create a database group, you can right-click on the database configuration, and
then select Database Group
Group.. The Database Group configurator appears with the th

6-4 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

Database Connection tab tab, where you can specify


pecify the database connection as
illustrated in Figure 6.4.

Figure 6.4 - TrendWorX64 Database Connection Tab

When creating a database group, enter a name, then on the Database Connection
tab, click on the Change Connection button to open the Change Connection
dialog. Enter the connection information for the primary data source, and then
click on the OK button.

6.6 Adding Logging Groups


It iss likely that the TrendWorX64 Logger will be storing data for many different
kinds off tags from the data source. Some tags may collect data from light sensors,
some tags may collect data from security sensors, and some other tags monitors or
control the physical plant. To organize the various types of tags that collect data,
you can createe as many logging groups as you need for each database group.

Not only does a logging group serve as a folder for tags, it also holds important
settings for those tags. With these settings, you can:

• Control data collection rates and refresh rates for the tags,
• Automate data collection by specifying the time spans when you want data
to be collected from the logging group’s tags,
• Indicate when you want the collected data to be logged (that is, stored) in
the database,

ICONICS, Inc 6-5


TrendWorX64 Logger GENESIS64 Core Training Manual

• And manage the database tables that contain the logged data.

To create a new logging group, right


right-click on the database group and select
Logging Group from the popup up menu. This displays the logging group
configurator with the Data Collection tab on top, as shown in Figure 6.5. When
you want the logging group to start collecting data, you can click on the Activate
button in the Control Board area of the tab; the Group Status box at the bottom
indicates whether the group is actually logging data. But before you can do that,
you must first configure the logging group. Let uss talk about your configuration
options.

Figure 6.5 - Data Collection for a Logging Group

6.6.1 Data Collection


On the Data Collection tab, the Data Collection Rate sets the frequency of how
often to collect samples for the tags in the logging group. The Calculation Period
determines how often trending data are calculated with an aggregate function.
function The
data collection rate and calculation period play a major role in consuming
TrendWorX64 Logger and data source (SQL server) sys system
tem resources. If your
servers become sluggish, you may have to consider collecting fewer samples or
lengthening the calculation period for fewer updates.

Use the Enable Data Refresh checkbox to refresh the data used for historical
trend logging. This opti
option
on makes a request to read (refresh) data to get an updated
sample timestamp with the most recent value. The Refresh Interval must be
longer than the data collection rate; this longer interval is necessary for getting
responsive historical replay performan
performance.

6-6 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

Force Interval Logging uses the TrendWorX64 Logger to force logging even
when there is no change in data. Because OPC is change based, if values do not
change between collection intervals, the OPC server may not send update to the
trend server, causing no logged data. This option allows the server to actively poll
data from the OPC server instead, making sure that there are data to log into the
database even if there is no change in the tag’s value.. Having this type of data
may be important to you later when you are tracking down values for critical OPC
points.

6.6.2 Automated Data Collection Times


On the logging group’s Start/Stop tab, shown in Figure 6.6, you can set the times
or conditions under which you want the logging group’s data collection to begin
and end. Using this method, you can automatically start capturing data at a certain
time or stop collecting data when it’s no longer needed. Although you are not
required to end data collection for a logging group, preserving resources when no
data collection is required is a good habit

NOTE: this
his tab dictates times for data collection only. Collected data held in
memory is logged to disk in accordance with options on the Logging tab.

Figure 6.6 - Automated Start and Stop for a Logging Group

In automating start and stop times for data collection, you can:

ICONICS, Inc 6-7


TrendWorX64 Logger GENESIS64 Core Training Manual

• Start
tart data collection immediately when the logger starts up by selecting
On Start
• Define
efine the exact time at which you want data collection to start oro stop
each day by selecting On Time
• Specify
pecify a length of time after which you want data collection to start after
stopping, or stop after starting, by selecting On Interval
• Create
reate a Boolean expression that evaluates to a True or False to define the
start or stop of data collection, in which case you select On Condition.
Condition

You can use more than one of these options for starting data collection as well as
for stopping it. You can also use different methods for starting than you use for
stopping;
pping; for example, you can start every day at 8:00 AM ((OnOn Time)
Time and stop
when a key piece of equipment shut
shuts off (On Condition).

6.6.3 Your Data Logging Strategy


On the logging group’s Logging tab shown here, set the times or conditions under
which you want all collected data in memory to be logged (that is, stored) in the
database.

Figure 6.7 - Data Logging Times

The On Time option lets you specify the exact time at which data is to be logged
each day. All data in memory at that time will be logged. With On Interval,
Interval you
can specify the interval at which data logging occurs (for example, every 30
minutes). With On Condition, you can enter a Boolean expression that causes
data to be logged when it become true. Finally, with On Records,
Records each tag’s data
will be logged when the specified number of records has been collected.
collected This last
option gives you some control over the number of records being held in memory.

6-8 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

6.6.4 Your Table Management Strategy


When data is logged, it is stored in tables. You can set up data logging so that data
is stored to multiple tables in a sequential order. Doing this provides you with:

• Faster access to trend data: Trend clients can be configured in a way that
they can retrieve data from the most
most-recently-created
created tables, while the
other tables are maintained for reporting and comparison to the data in the
most-recently
recently-created table.
• Database Optimiza
Optimization: Although historical information is retrieved by
combining information from various historical tables, the ability to store
data in multiple sequential tables optimizes performance by removing
older, unneeded tables.
• Improved Load Balancing
Balancing: It also helps
elps in designing a configuration for
system load balancing, as you can write tables to different SQL servers.
By controlling the size of each table, you avoid creating extremely large
tables that may degrade overall performance. To accelerate data retrieval,
retriev
SQL Server creates the necessary database schema to maintain updated
information with respect to the time interval at which each table logs data.

Use the Table Management tab tab, shown in Figure 6.8, to specify the number of
tables in the database and when to create a new table.

Figure 6.8 - Managing a Logging Tables

The Number of Tables field determines the maximum number of tables that will
be created (the
the maximum is 3,000). When that number of tables is reached and
filled, the oldest table will be overwritten with most recent data, giving you the
ability to manage the capacity of the hard drive by limiting the number
nu of tables
in the database. You should also enter a Startup Table number to tell the logger

ICONICS, Inc 6-9


TrendWorX64 Logger GENESIS64 Core Training Manual

how to create the first logging table


table. The name of the table is the table name
appended by the table number starting with the startup table number.

You must also set the conditions to create a new table. To create a new table
every time data logging starts operation, use Any Time Logging Starts.
Starts To create
a new
ew table at a set time, use On Time.. To create new tables at a predetermined
interval, such as every 5 days, use On Interval.. To create a new table whenever a
Boolean expression that you have created evaluates to true, use On Condition.
Condition

6.7 Add Tags to a Loggi


Logging Group
In addition to collection, logging, and table specification, the logging group is a
container for the tag or tags it collects and logs data.. Tags contain the data that
you are collecting and logging for trend analysis. Ta Tag
g data is collected into
memory, and then stored in the active database.

To add a tag to a logging group, right


right-click on the logging group,
group and select Tag
from the popup
up menu. Then
Then, you can configure the tag in the Tag configurator, as
shown in Figure 66.9.

Figure 6.9 - Adding a Tag to a Logging Group

Each tag is made up of a data source and the attributes or fields that are collected
by that data source. You ha have
ve control over the attributes and fields that are
collected,
lected, but the path to the OPC UA or OPC DA tag is fixed to reference the
particular tag of interest. In building the tag path,, which is referred to as the signal
name,, you can use global and language aliasing to make it easier to create and

6-10 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger

work with tags. With this in mind, enter the Signal Name and a description of the
tag.

You must also specify which collected samples you want to log to disk. You can
log all samples or select a subset from the Log to Disk dropdown list. A number
of additional options are also available for limiting the data that is logged.

The online help for TrendWorX64 Logger provides a good explanation of these
options; you can navigate to the “Tags” online help topic by clicking on Help,
then from the help’s Content tab navigate to Reference Guide  TrendWorX64
 TrendWorX64 Logger  Tags.

ICONICS, Inc 6-11


TrendWorX64 Logger GENESIS64 Core Training Manual

6-12 ICONICS, Inc


GENESIS64 Core Training Manual Lab 6: TrendWorX64 Logger

Lab: TrendWorX64
6
Logger
6.1 Lab Overview
Many companies want to log plant floor data for analysis and icTonics is no
different. They have requested us to setup a logging mechanism that allows them
to look at older data and analyze it in the future.

Estimated time to complete this lab: 20 Minutes

6.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a new TrendWorX64 configuration database


• Create a new trend configuration
• Create a new database group
• Create a new logging group
• Make a connection to a logging database
• Add tags to log
• View the logged tag

6.1.2 Support Files


You do not need any support file to complete this lab.

6.2 Configure TrendWorX64 Server


The TrendWorX64 configure allows you to setup OPC tags whose value you want
to log. We will also create a configuration that contains information such as where
to log data to, how fast to collect data, and how often to write data into the
database.

ICONICS, Inc L6-1


Lab 6: TrendWorX64 Logger GENESIS64 Core Training Manual

1. Open the Workbench if you have closed it since the previous lab and select
TrendWorX64 Logger in the Project Explorer

2. In the Edit section of the Ribbon, click on the down arrow of the Database
button and select “New Database…”

3. The Create Database Wizard should come up. Click on Next to get to the
Database option screen

4. Uncheck the Include Sample D Data


ata option and named the database
“icTonicsTrendConfig”. Click on Finish create the new configuration
database.

5. You should see your configuration in the Project Explorer. Expand the
icTonicsTrendConfig  Configurations. You should have a blank
configurationn now.

6. Right-click
click on Configuration and select Add Database Group

Figure L6.1 - Adding a Database Group

7. A new tab should open with configuration properties for the new database
group. Name this database gro
group “icTonicsTrends”.

8. In the Database Connection tab, click on the “Change Connection…” button


to bring up the OLE DB Connection

9. Leave the OLE DB Provider as Microsoft SQL Server 2005. Change the
Server name to (local) and select icTonicsTrendData as the database.
da The
Finished configuration should look similar to Figure L6.2.

L6-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 6: TrendWorX64 Logger

Figure L6.2 - Database Connection Configuration

10. Click on the “Test Connection” button to make sure it connects to the
database successfully, and then click on the “OK” button to close out of this
dialog.

11. Click on Apply to save the changes. You may get a message telling you that
changes will not take effect until the logger restarts, just click OK on the
message to close it.

12. Right-click
click on the icTonicsTrend database group and select Add Logging
Group.

Figure L6.3 - Adding a Logging Group

13. A new tab should open with logging group properties. Name this logging
group “Tank Levels”

ICONICS, Inc L6-3


Lab 6: TrendWorX64 Logger GENESIS64 Core Training Manual

14. In the Data Collection tab Rat


Ratee Settings section, change the data collection
rate and calculation period to 5 seconds.

15. Since our data doesn’t change very often at the moment, let’s check the Force
Interval Logging checkbox in the Other Settings section. Your finished
configuration shou
should look similar to Figure L6.4.

Figure L6.4 - Data Collection Tab

16. Click on Apply to save the changes and select the Logging tab.

17. Uncheck the On Records option. We will leave the default logging condition
at On Interval every 30 seconds.

18. Select the Table(s) Managem


Managementent tab. Change the Table Name to “Tank
Levels”. Uncheck the option to create a new table any time logging starts and
check the option to create a new table on Time and set it to midnight. Your
finished configuration should look similar to Figure L6.5.

Figure L6.5 - Table(s) Management Tab

L6-4 ICONICS, Inc


GENESIS64 Core Training Manual Lab 6: TrendWorX64 Logger

19. Click on Apply to save the configuration. We will now add the tags to log the
data.

20. Right-click
click on Tank Levels and select Tag; a new tab should open with tag
properties.

Figure L6.6 - Adding Trend Tags

21. Name this tag “Tank1 Level”. Click on the “…” button next to the signal
name to bring up the Data Browser.

22. In the Data Browser, we’ll look for the


@ICONICS.OpcUaServerBK
@ICONICS.OpcUaServerBK\icTonics.Tanks.USA.Foxboro.Tank1.TankLeve
icTonics.Tanks.USA.Foxboro.Tank1.TankLeve
l.Value tag. Once you click OK, you will be back in the Tag Configuration
screen.

23. We can leave everything else as default for the tag configuration. Click
Cli on
Apply to save the changes. Your finished tag configuration should look
similar to Figure L
L6.7.

Figure L6.7 - Tag Configuration

24. Remember to make the configuration database active and start data logging by
clicking on the traffic light.
ICONICS, Inc L6-5
Lab 6: TrendWorX64 Logger GENESIS64 Core Training Manual

6.3 Viewing Logged Data


You can view the trend data by using the Trend Viewer. We will go into more
details about the trend viewer in the next chapter. For now, it is just a container to
look at logged data.

1. In the Project Explorer, select TremdWorX64 and create a new display.

2. In the TrendWorX64 Viewer Configuration tab of the ribbon, click on the


Configure button to bring up the configuration dialog.

3. Click on New Pen on the left


left-hand
hand pane of the dialog. In the General tab on
the right, click on the “…” button next to Data source to bring up the Data
Browser.

4. In the OPC UA tab, click on the “…” button. In the Data Browser that comes
up, select Historical Data on the left
left-hand side.

5. On the right-hand double-click on TrendWorX64  icTonicsTrends 


hand side double
Tank Levels  Tank1 Level and then click on OK.

6. Noticed that the Use DA connection option is now grayed out. Your finished
Data Browser should look similar to Figure L6.8.. Click on OK to close it.

Figure L6.8 - Data Browser

7. Click on OK in the configuration dialog. You can save the display if you wish.

8. You can now go into runtime and see your trend. Feel free to change the
values of the Tank1 Level tag a few times to see the value change on your
graph.

L6-6 ICONICS, Inc


GENESIS64 Core Training Manual Lab 6: TrendWorX64 Logger

6.4 Advanced Lab


If you have some time, go back to the TrendWorX64 configuration and add the
tank level
el tags for tank 2 and 3 by repeating the steps you used previously.
Alternatively, you can use the Multiply option. If you do use this option, be sure
the change the values in the Base Value column of the Multiply Options dialog.
Your finished configurati
configuration may look similar to Figure L6.9.. Once you are done
adding new tags, you should restart the Trend Logger.

Figure L6.9 - Advanced TrendWorX64 Configuration

ICONICS, Inc L6-7


Lab 6: TrendWorX64 Logger GENESIS64 Core Training Manual

L6-8 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger Review

TrendWorX64 Logger
R6
Review
6.1 Objectives Review
You should now know and understand the following topics:

• TrendWorX64 Logger and how to launch it


• Database configurations
• Database groups and logging groups
• Database redundancy

6.2 Summary
TrendWorX64 Logger handles data logging and data retrieval among multiple
types of databases. The logger collects data from OPC UA and OPC DA real-time
data source and sends that data to an SQL server database such as Microsoft SQL
Server 2005 or SQL Server 2005 Express Edition.

You can control various aspects of the TrendWorX64 Logger's behavior from
within a set of configuration forms in the Workbench. Using these forms, you can
select the database that TrendWorX64 Logger uses, create new databases, modify
databases, and create and store configuration(s) that support your trending
displays.

During installation of TrendWorX64, you can install a default configuration


database. The TrendWorX64 Logger configurator provides a wizard for creating
new SQL Server 2005 or SQL Server 2005 Express Edition configuration
databases.

By creating database groups, you identify the primary data sources and can
configure redundant databases. Each database group acts as the physical
connection to the database, and it manages data updates and logging activities for
one or more logging groups.

ICONICS, Inc R6-1


TrendWorX64 Logger Review GENESIS64 Core Training Manual

Tags contain the data that you are collecting and logging. Tag data is collected
into memory and then stored in the active database table during logging.

To organize the various types of tags that collect data, you can create as many
logging groups as you need for each database group. A logging group serves as a
folder for tags, and it holds tag settings that control data collection rates and
refreshes, that determine the times at which data will be collected, the rate at
which collected data will be logged in the database, and manages the database
tables that contain the logged data.

6.3 Terms
Database Group Logging Group Signal Name
TrendWorX64 Configuration TrendWorX64 Logger

6.4 Test Your Knowledge


In this chapter, we discussed how to use TrendWorX64 Logger. Before
continuing to the next chapter, make sure you can answer the questions below:

1. Where do you define the database in which you want to log data?

a. In the configuration properties form


b. In the database group
c. In the logging group
d. In the individual tag

2. Where do you add tags?

a. In the database group


b. In the trend configuration
c. In the logging group
d. None of the above

3. What must you do to set up redundancy for the data you are storing?

a. Use the database group’s Database Connection tab


b. Use the database group’s Redundancy tab
c. Use the logging group’s Data Collection tab
d. Use the logging group’s Table(s) Management tab

R6-2 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Logger Review

4. What steps might you take if data collection becomes sluggish?

a. Collect fewer samples


b. Lengthen the calculation period
c. Log data more frequently
d. All of the above
e. Both A and B
f. Both A and C
g. Both B and C
h. None of the above

5. Which of the following statements are true when configuring a logging group
to start data collection?

a. No options are available; data collection always starts when the logger
service starts and always stops when the logger service stops.
b. Data collection can be configured to start at the same time each day
c. Data collection can be configured to occur when a Boolean expression
evaluates to true
d. You can specify how soon you want data collection to start after stopping,
or stop after starting
e. There is no option that stops data collection
f. All above
g. B, C, and D
h. None of the above

6. Which of the following statements are true when configuring a logging group
for data logging?

a. Logging can be configured to log data at the same time each day
b. Logging can be configured to occur when a Boolean expression evaluates
to True
c. You can specify a time interval for logging data
d. Logging can be configured to log data after a certain number of records
have been collected
e. All above
f. B, C, and D
g. None of the above

7. True or False: It is possible to configure a logging group to log into one or


more data tables.

ICONICS, Inc R6-3


TrendWorX64 Logger Review GENESIS64 Core Training Manual

R6-4 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

TrendWorX64 Viewer 7

7.1 Objectives
By the end of this chapter, you will be familiar with the following concepts:

• TrendWorX64 Viewer Properties and different kind of modes


• Chart options
• Side Panel
• Tabs and Plots
• Pen configuration and Pen Groups
• Rates configuration
• Runtime operations
• Workbench vs. GraphWorX64 Displays

7.2 Introduction
The ICONICS TrendWorX64 Viewer, shown in Figure 7.1, is a client application
that provides real-time and historical data trend displays within the GENESIS64
product family. The viewer communicates to OPC UA, OPC DA, OPC UA HDA,
and OPC DA servers to provide trend displays based on the connections to the
data source that you specify.

Features of the TrendWorX64 Viewer include:

• Real-time data displays


• Historical data displays
• Data Utility functions
• Sophisticated, multithreaded data buffering to guarantee data integrity
with support for customer-configurable data-collection rates

ICONICS, Inc 7-1


TrendWorX64 Viewer GENESIS64 Core Training Manual

Figure 7.1 - TrendWorX64 Viewer

The TrendWorX64 Viewer has new features, including:

• 3D Visualization
• Side panel
• Multiple tabs
• Pen Groups
• Plot supports swapping Y/X Axis
• Summary Buffer View

7.3 TrendWorX64 Viewer Modes


The TrenWorX64 Viewer has three different modes: Configuration mode,
Runtime mode, and Freeze mode.

Configuration mode is desi


design
gn for changing the properties, but in Runtime mode
the data is collected and displayed and the chart updates according to the data
receive from the OPC servers. During runtime, the display you can freeze the
display and examine the data in it. The data st still
ill collects, but the display stops
updating with current data until you leave freeze mode.

7.4 TrendWorX64 Viewer Properties


The TrendWorX64 Viewer Properties dialog, shown in Figure 7.2, is the
configuration interface accessible from Workbench or GraphWorX64. It would be

7-2 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

more appropriate to describe it as a “control”, which is itself a container that can


contain additional objects. Clicking on the Configure button in TrendWorX64
Viewer Configuration tab of the ribbon opens the Property dialog, which, as you
can see, contains two configurable sub items: side panel and tab in the tree
structure on the left.

Clicking on the TrendWorX64Viewer in the tree offers general options such as


whether there is a border or if the runtime toolbar appears as well as header, title
and subtitle options. Figure 7.2 shows the Appearance and Advanced tab for the
TrendWorX64Viewer tree items.

Figure 7.2 - TrendWorX64 Viewer Properties

NOTE: Not all of these configuration options are within the scope of this class.
For more information about TrendWorX64 Viewer Properties, please refer to
the TrendWorX64 Viewer Help documentation.

7.4.1 Appearance Settings


The Appearance tab, shown in Figure 7.2, is the default tab of the Properties
dialog. It provides a wide variety of parameters for configur
configuring
ing its layout and
appearance. The appearance tab of the Properties dialog box sets the appearance
properties for the following items:

ICONICS, Inc 7-3


TrendWorX64 Viewer GENESIS64 Core Training Manual

• Control
• Header
• Title
• Subtitle

The most important function from this tab is the Initial Position and Show Side
Panel options.

The Initial Position function allows you to choose an initial position for the
toolbar at the locations of top, bottom, right, left, float, or hidden. Notice that the
toolbar appears only in Runtime or Freeze mode. If the toolbar is hidden, double
click on the display to show the toolbar.

Show Side Panel checkbox toggles the display of the Side panel on the position
you specify, but this needs to be preconfigured in Side Panel first.

7.4.2 Advanced settings


The Advanced tab is accessible from the TrendWorX64 Viewer Properties dialog
and allows the user to customize the TrendWorX64 Viewer appearance, behavior,
header, measurements, text, and etc.

7.5 Side Panel


The Side Panel is a new and powerful feature, which allows you to switch
between the different types of charts predefined in TrendWorX64 Viewer
Container in the Side Panel. To enable this function, check the box Show Side
Panel.

If you have the Side Panel enabled, you additionally want to create a separate tab
with different settings by right clicking on TrendWorX64 Viewer  Add 
Tab.
NOTE: If you want to apply the changes to all tabs, you can select the right tab
you want to use as a template for the rest of the tabs and simply click on “Apply
To All Tabs” and these changes will be applied to all tabs.

7.6 Tabs
TrendWorX64 Viewer allows you to create multiple tabs, which are visible in
Configuration mode as well as in Runtime. You can add a new tab by clicking on

7-4 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

the Add button at the bottom of the control’s configuration dialog or right-click
right
on the TrendWorX64Viewer in the tree ccontrol and select Add  Tab.

At times, you may want to copy a configured tab and edit a few options to create a
new graph. In this case, you can use the copy paste options or you may also
duplicate an item by selecting the Multiply option in the tree control.
cont Figure 7.3
illustrates that a TrendWorX64 Viewer with multiple tabs and side panel. Using
these two features, a user can easily switch between gra
graphs
phs and gain access the
certain plots quickly and easily.

Figure 7.3 - TrendWorX64 Viewer with Side Panel and Multiple


tiple Tabs

7.7 Chart View


Chart Options, as shown in Figure 7.4,, is the container for one or more plots.
Each tab can have one or more charts with the following configuration tabs:

• General
• Time & Rate
• Charts Elements
• Advanced

ICONICS, Inc 7-5


TrendWorX64 Viewer GENESIS64 Core Training Manual

Figure 7.4 - Chart Options

NOTE: you can add the specific plot type by clicking on Add button under the
Chart object.

7.7.1 General Tab


The General tab of the Chart View box sets the following items:

• Appearance
• Runtime Cursor
• Legend
• Summary Buffer View

The most important function from General tab is the checkbox Use 3D
Visualization which enables the trend changes to reflect a third dimension. Figure
7.5 shows an example of 3D Chart View.

The Legend checkbox in General tab allows you to show or hide the legend in
both runtime and configuration mode. When you enable or disable the Header,
Tooltips, Pen Styles, and Millisecond checkboxes, you display or hide
hid these
features in the legend.

7-6 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

Figure 7.5 - 3D Visualization View

NOTE: For more inf information about options available on the General tab,
tab
please refer to the TrendWorX32 Viewer Help documentation.

7.7.2 Time and Rate Options Tab


Time and Rate ate options
options, shown in Figure 7.6,, determine the data collection rate,
data display rate, chart refresh rate, and other factors that control what is stored in
the TrendWorX64 Viewer data buffer and what is displayed. You can alter these
settings in configurat
configuration
ion mode, in runtime mode using the runtime toolbar.

Figure 7.6 - Time and Rate Tab

The properties available that alter time and rates are:

• Trend Period
Period:: describes the duration of the interval shown in the Chart
object display.
• Summary Period
Period: is the amount of data stored in the data buffer and that
can be displayed in Freeze mode in the Summary window.
• Use UTC date/time stamps: If this option is checked, all time stamps
stored in the database will be stored as UTC time stamps. This is to

ICONICS, Inc 7-7


TrendWorX64 Viewer GENESIS64 Core Training Manual

accommodate automatic daylight savings time switching in Windows


when the TrendWorX64 Logger is logging data. All historical clients and
reporting tools will always retrieve historical data in their local (non-UTC)
time.

7.7.2.1 Configuring Rates


In the Rates section of the Time & Rate tab, shown in Figure 7.6, you can select
the desired Data-Collection Rate, among other variables. Currently the fastest
data-collection rate is 10 milliseconds (ms). The update rate is given by inserting
the variables on the Rates tab. Therefore, if you change one of these variables, all
other variables will be updated automatically.

Notice that the data-collection rate is configured independently of the drawing


action. The fastest display update rate is 50 ms, with the exception of bar plots, in
which the display rate matches the data-collection period.

The Display Refresh Rate controls the speed at which the signal curves will be
drawn. If, for example, the Data-Collection Rate is set to 250 ms and the Display
Refresh Rate is set to 1 sec, the samples will be collected at 250 ms, but the
signal curve will be updated every second without loss of data. This is a great
option to minimize system-resource use.

The History Refresh Rate controls the frequency at which the historical pens
will be refreshed with new historical data from the TrendWorX64 historical
database. This can be used as an optimization and load-balancing tool. For
example, if the TrendWorX64 Logger is configured to log to the database every
minute, then the History Refresh Rate should match this rate.

7.7.3 Chart Elements Tab


Chart Elements options include the color of lines and backgrounds, as well as
how the different axes display. You can also alter the ranges that a multi-plot
display uses on this tab. In runtime, when you click on the Show/Hide Axes
button, this same tab displays as a dialog. These settings apply to the
configuration, runtime, and freeze mode.

7-8 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

Figure 7.7 - Chart Elements Tab

You can set the following properties on the Chart Elements tab:

• Background and Line Color


• Show Grid
• X-Axis
Axis and Y
Y-Axis
• Fill Style
• Global Range

7.8 Plot type


Different plot type can be changed in the General tab under the Plot section, as
shown in Figure 77.8.. Depending on the plot type, some options may or may not be
available. Here are the supported plot types:

• Line
• Area
• Bars
• Pie

The opacity of the chart can be changed in this section, which allows you to set a
value from 0, where the plot is transparent, up to 100, where the plot has a solid
background withh transparency at all.

ICONICS, Inc 7-9


TrendWorX64 Viewer GENESIS64 Core Training Manual

Figure 7.8 - Different Plot Types in TrendWorX64 Viewer

A plot is sometimes referred to as a pen group, which is a collection of pens


containing the same plot type. If you define five pens, three of which are lines,
and two of which are area type, then they would be separated into a line Plot
Group and an area plot group of three and two pens, respectively. Many of the
important controls for the trend chart behavior vior is found on the pen group’s
group
General tab. From there you can determine which type of chart you want your
data to display in, as well as set your data into
nto different scales. The Chart object
allows you to create some basic plots: individually or in aggregate, as shown in
Figure 7.8.

7.9 Pen configuration


Pen configuration, as shown in Figure 7.9,, handles the signal connection editing,
and configuration for the data display in the trend. The following types of signal
can be viewed in TrendWorX64 Viewer:

• OPC UA (Unified Architecture)


• OPC DA (Real
(Real-time data)
• OPC HDA (Historical data)

When configuring a pen, you options Use DA Connection and Use HDA
connections are automatically set based on the tag you browse to; freeing you

7-10 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

from worrying about these options. T The Filter option in this dialog can be used in
Viewer to filter the samples logged into the logging database.

Figure 7.9 - Setting a Data Source

Trend Pens can be configured in details by clicking on the Pen name, name which
contains two tabs
tabs, General and Advanced, where a pen’s appearance can be
modified using Stroke and Fill Color parameters. A pen also provides a variety of
additional options like Range
Range, which can be read directly from the server
ser or
automatically scaled as shown in Figure 7.10. You can also setup a fixed range for
any pen.

Figure 7.10 - Pen Configuration

ICONICS, Inc 7-11


TrendWorX64 Viewer GENESIS64 Core Training Manual

7.10 Runtime Operations


The Trend Viewer Runtime toolbar, as shown in Figure 7.11,, is the runtime user
interface for the TrendWorX64 Viewer. The toolbar offers you access to various
runtime functions and operations. To see the toolbar, you need to have the Enable
Toolbar checkbox
heckbox enabled in your TrendWorX64 Viewer’s properties. Unless you
set the Initial Position property to Hidden, the toolbar should appear at runtime in
the selected position. To show or hide the toolbar, double
double-click
click on the chart area
in the runtime. Noti
Notice
ce that you cannot view the toolbar in configuration mode.

Figure 7.11 - Runtime Toolbar

Many of the buttons on th


thee Runtime Toolbar provide access to some properties
configurable in both Configure and Runtime modes, such as Edit Pens, Edit
Trend, and Edit Period
Period.

Some options, such as Slider and Previous/Next Page, Zoom Trend,Trend Set Right
Time,, and Buffer Summary are on
only
ly available when the viewer is in Freeze mode.

Edit Pens opens the chart’s Properties dialog, allowing you to modify your pens.
Your changes are reflected in the chart during runtime when you are done
configuring and closes the dialog.

The Edit Trend button opens the Edit Trend dialog box as shown in Figure 7.12.
In this dialog, you can set the tick line colors and display major, minor, or no tick
lines, as well as configure Fill Style to Horizontal or Vertical Stripes settings.

7-12 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

Figure 7.12 - Edit Trend

Clicking on the Edit Period and Rates button opens Edit Period and Rates
dialog box as shown on the Figure 7.13.

Figure 7.13 - Edit Period and Rates

Show/Hide Axes button shows or hides the X- and Y- axis, giving your chart
more room to display.

ICONICS, Inc 7-13


TrendWorX64 Viewer GENESIS64 Core Training Manual

Swap Y/X Axes button allows you to switch the X-axis axis with the Y-axis,
Y which
can make visualization of the chart easier in some instances.

Clicking on the Zoom button and dragging a rectangle on the part of the chart
allows you to zoom in on the selected part of the cha
chart.
rt. The viewer resets the
trend period to the boundaries of your selection.

NOTE: Whilehile the user is running a T


TrendWorX64 Viewer in runtime mode,
mode he
must click on the zoom button on the toolbar, hold down the SHIFT key and
drag the zoom selection area. The zoom is always properly applied but,
but while in
“freeze mode”
mode”, the zoom is properly kept. In “real-time
time mode” (the animated
mode), the zoom along the time axis is instead reset as the animation frame is
refreshed.

Clicking the Set Right Time button opens the Set Right Time dialog, shown in
Figure 7.14. This dialog, allows you to enter the time at the end (on the right hand
side) of the viewer.

Figure 7.14 - Set Right Time

The Legend display


displayss data showing the assignments of pens, as shown in Figure
7.15. The following properties are displayed by default (if you want to add more
columns than default, please refer to the Trend Viewer help files
files):
):

• Visible
• Colors
• Name
• Tag

Figure 7.15 - Legend in TrendWorX64 Viewer

Buffer Summary View is a powerful feature located cated at the bottom of the
TrendWorX64 Viewer, which can be visible only in Freeze mode by clicking on
the arrow pointing upwards. The Buffer Summary pane is meant to give you a
method for viewing the entire data collected while moving your detailed view

7-14 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer

through
hrough time. The Figure 7.16 shows how the data buffer can be manipulated so
that the data being viewed can be moved over time.

Figure 7.16 - Buffer Summary View

NOTE:: For more information about the runtime operations available,


available please
refer to the “Runtime Operations” section in the TrendWorX64 Viewer Help
documentation.

7.11 Workbench vs. GraphWorX64


The TrendWorX64 Viewer control can be dragged and dropped into
GraphWorX64, where it has the same functionality as it does in Workbench.
There are some additional settings found in the GraphWorX64 property sheet.

You can add the TrendWorX64 Viewer control into the GrapWorX64 display by
clicking on the Controls tab of the GraphWorX64 ribbon and then clicking on the
TrendWorX64 Viewer control button as shown in Figure 7.17. Alternatively, you
can click on the Toolbox and select the TrendWorX64 Viewer control within the
toolbox.

ICONICS, Inc 7-15


TrendWorX64 Viewer GENESIS64 Core Training Manual

Figure 7.17 - TrendWorX64 Viewer Control in the Ribbon

Then the initial Trend Viewer Area can be drawn by clicking and dragging the
cross hair until you have the desired control size. The TrendWorX64 Viewer
control appears, as shown in Figure 7.18, with its selection handles visible.

Figure 7.18 - TrendWorX64 Viewer

NOTE: The control can be resized using the handles modifying either the
horizontal or vertical dimension; or by using the corner handles resizing both
dimensions while retaining the same aspect ratio. In configuration, the viewer is
simply a graphic and does no
nott indicate the data from the data sources.

A few selected operations can be performed by using the TrendWorX64 Viewer


Configuration of the ribbon, as shown in Figure 7.18. It contains three sections:
Configure, Viewer, and Views. You can use options in these sections to open the
TrendWorX64 Viewer configurator, changee some settings of the viewer,
viewer and
modify options
ns that displays in the viewer during runtime.

7-16 ICONICS, Inc


GENESIS64 Core Training Manual Lab 7: Trend Viewer

Lab: Trend Viewer 7

7.1 Lab Overview


icTonics wants to view trend data that they deem important and have log as well
as those that they did not want to log in a graphical format. In this lab, you will
customize a TrendWorX64 Viewer for icTonics, as well as explore some options
in the control.

Estimated time to complete this lab: 20 Minutes

7.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Add a real-time pen


• Add a historical pen
• Change the color of a pen
• Add markers to a pen line
• Create a chart view
• Setup Time & Rate on a chart view
• Multiply a plot

7.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsTrendConfig

ICONICS, Inc L7-1


Lab 7: Trend Viewer GENESIS64 Core Training Manual

7.2 TrendWorX64 Control


You can use the TrendWorX64 control to view your real-time or historical trends
in GraphWorX64. Of course, you can do the same with TrendWorX64 container.
In this lab, we will create a GraphWorX64 display that shows the proper trend.

1. Open Workbench if you closed it after the previous lab.

2. Create a new GraphWorX64 display and save it as “icTonicsTrends.gdfx”

3. Insert a TrendWorX64 Viewer onto the design surface by going to the Control
tab of the ribbon, selecting TrendWorX64 Viewer in the Controls section,
then click in the design surface.

4. Double-click on the control to bring up the configuration dialog.

5. This is the same dialog that you saw in the previous lab. Click on Tab and
change the Title to “icTonics Trends”

6. Click on “New Chart”, and change the Description to “Real-time Trends” in


the General tab.

7. Click on “New Pen”, in the General tab, click on the “…” button to the right
of the Data source text box.

8. In the Data Browser dialog that comes up, click on the “…” button again.
Browse for the
@ICONICS.OpcUaServerBK\icTonics.Tanks.USA.Foxboro.Tank1.TankLeve
l.Value tag.

9. Click on OK to exit out of the Data Browser and return to your TrendWorX64
Viewer configuration dialog.

10. Change the description of the pen to “Real-time Tank1 Level”

11. In the Appearance section, change the Stroke to 3 and the color to Purple.
Your finished pen configuration should look similar to Figure L7.1.

L7-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 7:
7 Trend Viewer

Figure L7.1 - Real-time Pen Configuration

12. Right-click
click on New Plot and sele
select
ct Multiply. In the dialog that comes up,
leave the number of item as 1 and click on the green check button

13. Select the newly created plot, change the plot type to the first one for Area.
Notice that your data source for the pen should be the same.

14. Change the Stroke and fill color to yellow. You are all set for this pen.

click on “icTonics Trends” and select Add  ChartView. Give this


15. Right-click
view the description of “Historical Trends”

16. Select the Time & Rate tab. In the Rates tab, change the Display refresh rater
and data collection rate to 5 seconds and change the History refresh rate to 30
seconds. Note that we’ve set the viewer’s data collection rate to match the
data collection rate of the logger and we’ve matched the History refresh rate
to the data loggin
loggingg rate in the logger. Your finished configuration should look
similar to Figure L
L7.2

Figure L7.2 - Time & Rate Configuration

ICONICS, Inc L7-3


Lab 7: Trend Viewer GENESIS64 Core Training Manual

17. Repeat the same steps that you took in the previous lab to add in the historical
tag. You can refer to section 6.3 of the lab for more details.

18. Give this pen the description “Tank1 Level”. In the Appearance tab, change
the Stroke too 3 and the fill color to Dark Blue.

19. Select Circle as the marker and click OK to close the configuration dialog.
Your finished historical pen configuration should look similar to Figure L7.3

Figure L7.3 - Historical Pen Configuration

20. Notice that your historical trend has circles indicating data collection points.

21. Change the Tank1 Level tag a few times. See that your real time trend shows
these changes immediately, but it takes about 30 seconds for the historical
trends to refresh. If you leave the trend running long enough, your curve from
the historical trend should look like your real
real-time trend.

Figure L7.4 - TrendWorX64 Viewer

L7-4 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer Review

TrendWorX64 Viewer
R7
Review
7.1 Objectives Review
You should now know and understand the following topics:

• TrendWorX64 Viewer Properties


• Different kind of TrendWorX64 Viewer modes
• Runtime Operations

7.2 Summary
TrendWorX64 Viewer is a client application, which allows the user to display
real-time and historical OPC data. It can be run from ICONICS Workbench or
GraphWorX64 in three modes: Configuration, Runtime and Freeze mode.

You can access the TrendworX64 Viewer Properties using a configuration


interface by clicking on the “Configure” button. The TrendWorX64 Viewer
contains objects like Side Panel and Tab. User can create multiple tabs and
switch between different charts with the side panels in runtime, as well as change
some viewer properties. The charts can be visualized in 2D or 3D view with
respect to what the user likes or how the data should be shown on the screen.

The TrendWorX64 Viewer can contain one or more Tabs and a Side panel. A
Tab can contain one or more Charts. A Chart can contain one or more Plots.
And a Plot can contain one or more Pens.

Each of the objects has their own configuration interface. For example, the Chart
configuration can be edited in the following tabs: General, Time and Rate,
Chart elements, and Advanced.

You can change the general appearance of the viewer under the
TrendWorX64Viewer tree control item. In a Chart’s configuration interface,

ICONICS, Inc R7-1


TrendWorX64 Viewer Review GENESIS64 Core Training Manual

under the General tab, you can check the “Use 3D Visualization” to show the
chart in 3D. You can also enable the Legend to make the visual analysis easier.

Time and Rate options determine the data collection rate, data display rate, chart
refresh rate, and other factors that determine what needs to be stored in the
TrendWorX64 Viewer data buffer to be displayed. Different Plot types can be
changed under the Plot section. Depending on this plot type, some options may or
may not be available.

Pen configuration handles the signal connection and configuration for the data
display in a trend. You can create multiple Pen Groups, which is in essence a
collection of pens containing the same plot type.

Runtime operations are very useful features available in TrendWorX64 Viewer


Container to manage the historical data visualization and analysis directly in
runtime mode. The user interface for the runtime operations offers access to
various runtime functions and operations. You can access runtime operations by
using the Runtime toolbar. Many of the buttons on the Runtime Toolbar provide
access to some properties configurable in both Configure and Runtime mode,
such an Edit Pens, Edit Trend and Edit Period.

A very powerful feature is Buffer Summary View, which can be visible only in
the freeze mode. It gives the user a possibility for fast and easy long-term data
overview while displaying details in the TrendWorX64 Viewer main view.

7.3 Terms
Data Collection Rate Display Refresh Rate History Refresh Rate
GENESIS64 Controls OPC HDA Pen Group
TrendWorX64 Viewer UTC Time

7.4 Test Your Knowledge


In this chapter, we discussed the TrendWorX64 Viewer. Before continuing to the
next chapter, make sure you can answer the questions below:

1. The TrendWorX64 Container is used to view and analyze trends in:

a. OPC UA (Unified Architecture) data


b. Real-time OPC Data Access (DA) data
c. OPC Historical Data Access (HDA) data

R7-2 ICONICS, Inc


GENESIS64 Core Training Manual TrendWorX64 Viewer Review

d. All of the above


e. Both A and B
f. Both B and C
g. Both A and C
h. None of the above

2. The TrendWorX64 Viewer supports which of the following views:

a. 2 dimensional
b. 3 dimensional
c. Hyper dimensional
d. All of the above
e. Both A and B
f. Both B and C
g. None of the above

3. The TrendWorX64 Viewer container can be placed into:

a. The Workbench
b. GraphWorX64
c. Hyper Historian
d. All of the above
e. Both A and B
f. Both A and C
g. None of the above

4. True or False: TrendWorX64 Viewer supports batch and lot tracking


comments.

5. True or False: Pen Group is a collection of pens using the same plot type.

6. Which of the following tabs is part of the chart options?

a. General
b. Time & Rate
c. Chart elements
d. Advanced
e. All above
f. None of the above

7. Runtime toolbar provides access to some properties configurable in:

a. Configuration mode
b. Runtime mode

ICONICS, Inc R7-3


TrendWorX64 Viewer Review GENESIS64 Core Training Manual

c. All of the above


d. None of the above

8. True or False: The Swap Y/X Axes button allows you to switch the X-axis
with the Y-axis.

9. Buffer Summary View is a powerful feature which can be visible only in:

a. Runtime mode
b. Configuration mode
c. Freeze mode
d. None of the above

10. True or False: Side Panel allows you to switch between the different types of
charts predefined in TrendWorX64 Viewer.

R7-4 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Getting to Know
8
GraphWorX64
8.1 Objectives
After completing this chapter, you should know how to:

• Work with the GraphWorX64 Object Explorer


• Work with the GraphWorX64 Properties Explorer
• Setup preferences in the Preferences explorer
• Customize your workspace
• Use pre-made images and save new ones to the Symbols Library
• Use templates and add transitions for opening and closing displays
• Preview a runtime version of a display

8.2 GraphWorX64 Overview


GraphWorX64 is the ICONICS application you use to create interfaces for your
operators. GraphWorX64, a human-machine interface (HMI) software package
for process control, creates astonishing interactive, animated graphics.
GraphWorX64's design surface is a canvas on which you can display real-time or
historical data from any OPC-UA compliant data source in a meaningful way.
This allows an operator to recognize easily the state of your equipment, processes,
conditions, and anything else you want to quantify in the display.

You can open GraphWorX64 as a standalone application or open it in the


Workbench. Regardless where you open the application, GraphWorX64 comes
with a Ribbon similar to the one in the Workbench. When you open the
application in the Workbench, the GraphWorX64 ribbon replaces the Workbench
one.

In the upcoming sections and chapters, we will discuss some option residing in
the different tabs of the ribbon, as well as other dialogs and toolbars within the
application.

ICONICS, Inc 8-1


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

Figure 8.1 - GraphWorX64 Architecture

8.3 GraphWorX64 Layout


Once you open the GraphWorX64 application, you will see a screen similar to
Figure 8.2.. For simplicity in explaining, let us divide and name the different areas
within this application.

Figure 8.2 - GraphWorX64 Application Interface

8-2 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Figure 8.2, divides the GraphWorX64 interface into five different areas. At the
top, there is the ribbon. In the middle, is the contents area, in which you can create
your graphical interface by adding shapes, process points, controls, etc.
Surrounding the contents area are places where you can dock explorers. The
explorers include Dynamics, Properties, Preferences, Toolbox, Symbols, and
Scripts. Once you dock these explorers, you have the additional option to hide
them when they are not in use.

We will discuss these explorers throughout the GraphWorX64 chapters. Let us


first look at the Object Explorer, which lists all of the objects in the display.

8.4 The Object Explorer


GraphWorX64 uses a hierarchical object scheme for object creation and
inheritance. When you create a new display, you begin with the ThisDisplay
object, in which all other GraphWorX64 objects are placed. An object can be a
shape, a layer, a group, a panel, or some other entity.

The Object Explorer, sometimes referred to as the “Explorer” or the “Project


Explorer”, is a tree control that lists all of the objects currently defined on the
GraphWorX64 display. This includes all of the objects and groups that are visible
and editable, as well as those defined and hidden.
NOTE: If you do not see some of the explorer, you can bring it back into view
by enabling the explorer checkbox in the Show/Hide Tab section of the View
tab of the ribbon.

The Explorer provides a hierarchical outline of the objects that are currently on
the display surface, removing your need to drill down through several levels to get
an object within a grouped object. You can also reorganize objects by dragging
and dropping them inside the Explorer tree.

The Explorer can tell you:

• the order (Z-order) of objects in the display, which is their sequence from
front to back.
• whether an object is selected or active. Selected objects are highlighted in
blue, while active objects are highlighted in gray.
• if an object has a dynamic action associated with it. Dynamic actions are
underlined.

ICONICS, Inc 8-3


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

• whether
hether a user
user-assigned
assigned name has been given to the object. Generic,
default names appear in normal text, while uuser-assigned
assigned names appear in
bold text..
• ann object’s type, using icons for text , rectangles , borders , etc.
• whether
hether an object is visible in the display, and whether it is locked
from being edited .

Figure 8.3 - Sample Explorer Tree

8.4.1 Selecting Objects


The objects shown in the Explorer are synchronized with the objects that you see
in the contents area of the display.. As you select an object in either location,
location the
selection changes in the other. An object’s icon indicates the type of object in the
Object Explorer.

You can change the size of the icons in the tree by clicking on the Application
Style buttonn in the Misc section on the View tab and selecting Icon Sizes, as
shown in Figure 88.4. Select the size that suits you.

8-4 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Figure 8.4 - Changing Explorer Icon Size

8.4.2 Renaming Objects


Each object added to the display content area appears in the Explorer with a
generic name that GraphWorX64 provides by default. You can change the name
of each individual object to something you can easily identify in the Explorer tree.
For example, after adding three radio buttons, you can change their
th names from
Radio button to the names of their states: High, Medium, and Low. Low The default
name appears in normal text, but a user
user-assigned
assigned name appears in bolded text. To
rename an object in the display, just click on the object name in Explorer,
Explorer then
type
ype the new name
name.

8.4.3 Manipulating Objects


You can move an object up or down in the hierarchy
hierarchy, changing its front-to-back
assignment. Moving an object to another branch in the tree changes its location in
the display and makes it part of another object or grou
group.

The eye icon indicates that the object is visible in the display. Clicking the
object's Show/Hide property makes it visible or invisible.

The Explorer’s lock icon indicates that the object is non-editable


editable or locked.
Clicking an object's Lock/Unlock property locks or unlocks locks it, making it non-
editable (locked) or editable (unlocked).

ICONICS, Inc 8-5


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

8.5 The Properties Explorer


You can define the properties for the current display by selecting the Properties
tab. If you see the properties of an object, then maybe the Properties tab is
selected. Click anywhere on the background of your display to view the
ThisDisplay properties
properties.

Figure 8.5 - ThisDisplay Properties

In the Properties Explorer, you can configure some options for the display. We
will not describe all properties, because there are too many, but we will cover
some of the most common options.

In the Measurements section, you can configure the size of the display. Figure 8.6
shows the measurement of the display to be 1024 x 768. You can change your
display to be bigger or smaller depending on your preference. You can also set the
display to be scalable or not by turning setting the IsScalable field to true or false.

Figure 8.6 - ThisDisplay Properties: Measurements

8-6 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Another important option is in the Runtime section. You can set the default scan
rate for any process points in the ScanRate field. He default is fifty milliseconds.
You may want to slower this rate to reduce the load on your OPC server.

8.6 Customizing the Workspace Using the View Tab


Ta
In the view tab, there are many options to help you customize the layout of the
GraphWorX64 application, allowing you to tailor the workspace to your own
working habits.

Figure 8.7 - View Tab of the Ribbon

8.6.1 The Grid Section


Using the Grid areaarea, shown in Figure 8.8,, you can put a grid into the contents
area of your display
display, which provides a grid that guides the placement of objects.
You can use the X and Y fields to change the distance between grid points,
poin and
the Snap to Grid feature make
makes sure objects you place on the surface align directly
(or snap)) to grid points.

Figure 8.8 - Grid Section

8.6.2 The Layout Section


In the Layouts section of the View tab
tab, shown in Figure 8.9, are several layouts
you can use for orga
organizing
nizing your GraphWorX64 workspace. A layout consists of a
pre-determined
determined arrangement of the workspace. It hides, shows, and arranges the
workspace’s panes in a prescribed way.

ICONICS, Inc 8-7


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

Figure 8.9 - Layouts Section

You do not have to use a layout, but if there is a workspace layout that you prefer,
you can save it and select it any time you wish to use it. You can store any
number of new layouts and choose the layout that suits you at any time while you
are working.

8.6.3 The Show/Hide


Hide Section
Use the Show/Hide section, shown in Figure 8.10, to control which explorer
appear on the GraphWorX64 workspace. You can show and hide Properties,
Pro
Dynamics, Preferences, Explorer, Toolbox, Symbols Library, Scripts, Scrollbars,
and Status Bar.
ar. You can move the explorers around your work area by dragging
them by their title bars
bars, and dropping it where you prefer.

Figure 8.10 - The Show/Hide Section

Using the Preferences Explorer,, you can control the default settings of new
objects that you add to a works
workspace.
pace. If you find that you are constantly resetting
an object’s values, consider changing the default preferences for that object.

8-8 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Figure 8.11 - Preferences Explore

8.6.4 Application Style


Using the Application Style button in the Misc section,, you can change the color
scheme of your workspace and you can modify the icon sizes that display in the
toolboxes. Figure 8.12 shows the variety of options that are available.

Figure 8.12 - Changing Color Scheme

ICONICS, Inc 8-9


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

8.6.5 Runtime Preview


At any time, you can preview exactly how a display will look during runtime by
using the Runtime Preview feature. When you use this feature, the display
remains in configure
onfigure mode but looks as if it is in runtime.

Clicking on the Runtime Preview button, which is in the Misc section


of the View tab, puts you in the Runtime Preview mode. While viewing a display
in Runtime Preview mode, you maintain all configuration capa
capabilities
bilities, which you
can get to by using your right
right-click popup menu. You can also:

• Zoom in and out of the display


• Load a filee from a URL or the file system
• Browse backward and forward
• Print the display
• Open the Diagnostics utility
utility, which displays all error information for the
current display in runtime. This dialog displays status information for
current errors.
• Log in or log out of a display
• Open the Carousel to view a sequence of displays

To exit Runtime Preview mode, simply right


right-click on the display and choose Exit
Runtime
ntime Preview Mode from the pop
popup menu.

8.7 Templates and Transitions (Layout)


GraphWorX64 has layout tools that help you quickly develop the look and feel of
your displays. Using the template and transition layout tools can save you time
and effort, and can provide an important quality
quality-control
control feature because you can
use them to impose a consistent look and feel throughout your business. Both of
these tools are available on the Layout menu tab.

8.7.1 Templates
One way to control ol a design’s layout is by using a template as a starting point. A
template can include colors, backgrounds, objects, and any .NET controls. A
template can also be used to arrange display panels in prescribed positions in the
contents area, which you can ssaveave and return to later. Typically, templates are
used as tools for enforcing a uniform look
look-and-feel
feel among displays.

8-10 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

Figure 8.13 shows some of the preconfigured templates you can use.

Figure 8.13 - Templates in the Layout Tab of the GraphWorX64


X64 Ribbon

Any GraphWorX64 display can be saved as a template with the .TDFX file
extension. Templates can be saved to the gallery or in a folder of your choice.
Figure 8.14 shows a display without a template and without.

Figure 8.14
14 - Display with No Template (Left) and Display with Template (Right)

ICONICS, Inc 8-11


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

8.7.2 Transitions
Transitions are special effects applied to a display as it closes or loses focus when
another display is opened in the same window. The effects work in a similar way
to Microsoft Office PowerPoint presen
presentations.
tations. You can use them to fade the
display out, fade to a blur, or wipe away in any direction or in a rotation motion,
to name just a few of the effects. Experiment with them to see which ones you
like to use.

It is easy to apply a transition. Simply se


select
lect the transition from the Transitions
section. Some transition options are shown in Figure 8.15.

Figure 8.15 - Transition Options

8.8 Symbols Library


A symbol is a group of objects that is treated as a single object. Symbols can be
user-created
created or can be loaded from the Symbols Library available in GENESIS64.
The Symbols Library proves a wide assortment of 2D and 3D objects, which
saves you the time and cost of creating them from scratch, lets you reuse objects
from one display to the next, and reduces the need to write scripts for objects.
Think of them as dynamic clipart. Using both static and dynamic pre-madepre
symbols, you can quickly create animated displays without having to start from
scratch.

Before creating a symbol from scratch, look in the Symbols Library for a pre-built
pre
object that you can use instead
instead. Even if you do not see the exact symbol you are
looking for in the library, you can use one as a start
starting
ing point; modify it, then save
the modified version back to the library. Figure .5 shows a handful of the wide
assortment of symbols that are available to you.

Thee Symbols Library has its own explorer in GraphWorX64. To display it, put a
checkmark in the Symbols checkbox in the Show/Hide section in the View tab.
To use a symbol from the library, click and drag the symbol from the Symbols

8-12 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64

explorer tree onto


nto the Grap
GraphWorX64 content area, then use the symbol for your
own purposes by changing whatever properties you need.

Figure 8.16 - Symbols in the Symbols Library

Among the symbols you can choose from are automotive, building control panels,
gauges, knobs, standard symbols ffor
or various machinery, oil and gas, operator
control panels, pharmaceutical, food processing and manufacturing operations,
water and wastewater operations, and 3D symbols.

You can even add your own folders and symbols to the library. Any animated
object that
at you create, along with any attached scripts, are automatically saved
and categorized for you so that the next time you use the animated object, you can
quickly bind a new data source to the object.

ICONICS, Inc 8-13


Getting to Know GraphWorX64 GENESIS64 Core Training Manual

8-14 ICONICS, Inc


GENESIS64 Core Training Manual Lab 8: icTonics Graphical Template

Lab: icTonics
8
Graphical Template
8.1 Lab Overview
In the next few labs, we will create a series of displays for icTonics. These
displays will include a welcoming screen and a tank monitor screen. icTonics has
requested that all displays uses the same banner to keep a uniform look
throughout. That is what we will do in this lab, as well as to generate a welcoming
screen.

Estimated time to complete this lab: 20 Minutes

8.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Explore the GraphWorX64 ribbon


• Explore the symbols library
• Change the layout of your tools
• Create a Template for icTonics
• Create a Home display for icTonics

8.1.2 Support Files


To complete this lab, you will need the following file:

• icTonics-logo.png

8.2 icTonics’ Template


1. Open the Workbench if you closed it after the last lab.

2. Create a new GraphWorX64 display and save it as icTonicsTemplate.tdfx

ICONICS, Inc L8-1


Lab 8: icTonics Graphical Template GENESIS64 Core Training Manual

3. In the Properties Explorer for the display, change the Measurements to 1024 x
768. Your display will now be at this resolution size.

4. Since we want to maximize our design surface area displaying, we’ll change
the view to the Drawing Layout. To do this, select the View tab in the ribbon,
in the Layouts section, select the Drawing Layout.

5. You can also unpin the Project Explorer to give you an ev


even
en bigger working
area.

6. Add a square that fills the top of the screen. This is going to be the basis of
our icTonics banner.

7. Right-click
click on the rectangle and select Object Properties. The Properties
Explorer should expand on the right
right-hand side.

8. Click in the
he Fill area, and then click on the “…” button to bring up the fill
color dialog.

9. Select the Gradient tab. Change the first gradient color to green (RGB: 0, 255,
0) and the last gradient color to sky blue (RGB: 0, 212, 255).

10. Delete one of the gradients in the middle so you only have three gradients.
Change the middle gradient color to cyan (RGB: 0, 255, 170) and click on OK
to apply and close the dialog. Your finished Fill dialog should look similar to
Figure L8.1.

Figure L8.1 - Fill Gradients

L8-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 8: icTonics Graphical Template

11. Change the line color to none by click on the read x in the Line Color dialog.

12. Change the measurement of the rectangle to 1024 x 93. You should now have
a rectangle that fills across your display. To Place it at the top of the display,
you can either drag it or to be more precise, set the left and top measurements
to zero.

13. Insert the icTonics-logo.png into the display. You can locate this file in the
GENESIS64Training folder and drag the image onto the design surface.
Resize the logo to 283 x 93 and align the lefts and tops of this image to your
rectangle.

14. Insert a Time Date Dynamic by going to the Dynamics tab of the Ribbon, in
the Text Objects section, select Time Date, and then click on the design
surface.

15. Change the properties of the Time Date object so that it has a size of 275 x 31.
Put this in the upper right-hand corner for the square you’ve made.

16. Next, we are going to insert the Backward, Forward, and Home button form
the Symbols library. You can open the symbols library by clicking on the
Symbols tab on the left-hand side of the display screen.

17. Once the library opens, click on the drop-down list and expand Miscellaneous
 Buttons And Switches. You can pin down the Symbols library for now for
easier access.

18. Insert the Menu button Back, Menu Button Forward, and Menu Button Home
objects onto the display. We’ll need to make some edits to these objects to
match our color scheme and style.

19. Open your display Explorer, you can pin this down for the time being. You
should notice that you have three objects in bold starting with MenuButton.
These are in bold because they are grouped options.

20. Select the MenuButtonBack object and expand it. Select the “Classic Border”
and delete this. You should notice that we no longer have a background square
for the arrow.

21. Expand the Group, there should be two more groups in the next level. Expand
the second level groups as well.

22. Select the second item in each of the group and delete it. The arrow should no
longer have the shadows.

ICONICS, Inc L8-3


Lab 8: icTonics Graphical Template GENESIS64 Core Training Manual

23. Repeat steps 20-22 for your MenuButtonHome and MenuButtonForward


objects.

24. We’ll now change the color for the MenuButtonForward and
MenuButtonBack object.

25. In the MenuButtonBack object, drill down to the properties of the Rectangle
and change the fill color to a Gradient. There is only two colors for this
Gradient a light orange (RGB: 255, 170, 0) and a dark orange (RGB: 255, 127,
0)

26. Set the line color to none.

27. Repeat steps 25-26 for the Polygon in MenuButtonBack as well as the
Rectangle andd Polygon in MenuButton Forward.

28. Arrange the three symbol objects from left to right starting with
MenuButtonBack, followed by MenuButtonHome, and then
MenuButtonForward.

29. Select all three objects by holding down the shift key and click on each then
click onn the Home tab of the Ribbon, in the Arrange section, select the group
button. You can give this group a name of “Navigations” if you like.

30. Place the Navigations object in the lower right


right-hand
hand corner for the rectangle
you created earlier. You should now have a banner that looks similar to Figure
L8.2

Figure L8.2 - Template Banner

31. We will need to give a display to the MenuHome button so that it knows what
w
to load. Select the MenuButtonHomein the Explorer, and in the Dynamics
toolbar, click on the Pick action.

32. In the Dynamics Properties, scroll down to set the FileName to


icTonicsHome.gdfx. We will create this display next.

33. Save and close your display.

L8-4 ICONICS, Inc


GENESIS64 Core Training Manual Lab 8: icTonics Graphical Template

8.3 icTonics’
cTonics’ Home Display
1. Open a new GraphWorX64 display and save it as icTonicsHome.gdfx

2. Go to the Layouts tab in the Ribbon and click on the down arrow in the
Templates section, and then select “Add Templates to Gallery…”

3. Click on the “Add Files…” button iin


n the Edit File List dialog that comes up.

4. Browse to your icTonicsTemplate.tdfx file, select it, and click on OK twice.


You should now see the template that we’ve added in the Templates Section.

5. Click on the template to apply it to the display.

6. Insert a new
w rectangle. Change the size to 1024 x 675. The top should be at 93
and the left at 0.

7. Change the color of the rectangle to sky blue (RGB: 0, 212, 255) with no
boarder lines.

8. Add a text object by going to the Home tab of the Ribbon, in the Shapes
section, click on the Draw Label button, and then click on the design
surface.

9. Type in the text “Welcome”; we will change the font family to Lucida
Handwriting and the font size to 1100.

10. Drag the text label to the center of the display.

11. Open the Symbols library and select the GENESIS64TrainingSymbol. Drag
the Login button to just below the welcome text.

12. Save the display. We will work on this display some more in the upcoming
labs. Your current display should look similar to Figure L8.3.

Figure L8.3 - icTonics' Home Page

ICONICS, Inc L8-5


Lab 8: icTonics Graphical Template GENESIS64 Core Training Manual

L8-6 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64 Review

Getting to Know
R8
GraphWorX64 Review
8.1 Objectives Review
You should now know and understand the following topics:

• GraphWorX64 Object Explorer


• GraphWorX64 Properties Explorer
• Setup preferences in the Preferences explorer
• Customizing the workspace
• Symbols Library
• Templates and Transitions
• Runtime preview

8.2 Summary
The Object Explorer is a tree control that lists all of the objects currently defined
in the GraphWorX64 display. Because its hierarchical nature and its heavy use of
icons, the Explorer can tell you several things about each object at a glance.

You can customize your GraphWorX64 workspace by first configuring your


content area’s properties using the Properties Explorer. You can also use features
on the View tab to customize your workspace.

You can preview how your display would look in Runtime mode with Runtime
Preview, which presents the display as if in runtime while retaining configuration
abilities.

Using the template and transition features can save you time and effort, providing
an important quality control feature because you can use them to impose a
consistent look and feel throughout your displays.

The Symbols Library is a set of folders that contain pre-built design objects that
you can incorporate into your displays. Even if you do not see the exact symbol

ICONICS, Inc R8-1


Getting to Know GraphWorX64 Review GENESIS64 Core Training Manual

you are looking for in the library, you can start with a predefined symbol, modify
it, and then save it back to the library for next time use.

8.3 Terms
GraphWorX64 Content Area GaphWorX64 Template Object Explorer
Preferences Explorer Properties Explorer Runtime Preview Mode
Symbol Symbols Library Transition
Z-order

8.4 Test Your Knowledge


In this chapter, we discussed some GraphWorX64 options you can use to
customize the workspace and to create displays. Before continuing to the next
chapter, make sure you can answer the questions below.

1. Using the Object Explorer, what is an easy way to make an object invisible?

a. Clicking on the eye icon of an object in the Explorer tree


b. Right-clicking the object and selecting Show/Hide
c. Writing a script
d. All of the above
e. Both A and B
f. None of the above

2. How do you add the Explorer to your workspace or remove it from your
workspace?

a. Click the Explorer’s minimize icon


b. In the View tab, check Explorer in the Show/Hide section
c. Right-click the Explorer title bar and select Show or Hide
d. The Explorer displays at all times

3. What can you tell about an object or group by looking at it in the Explorer?

a. Whether the object is dynamic


b. Whether the object is editable
c. Whether the object is selected in the display
d. The type of object
e. All of the above
f. None of the above

R8-2 ICONICS, Inc


GENESIS64 Core Training Manual Getting to Know GraphWorX64 Review

4. Which GraphWorX64 features provide predefined designs that you can use in
your displays?

a. Transitions
b. Templates
c. Monitoring utilities
d. Symbols library
e. All of the Above
f. A, B, and C
g. A, B, and D
h. B, C, and D
i. None of the Above

5. True or False: You can make changes to a display when previewing it in


Runtime Preview mode?

6. What are some ways in which you can customize your workspace?

a. Edit simultaneously with another user


b. Change the size of icons in the Object Explorer
c. Save your own workspace layouts
d. Change your preferred application mode
e. All of the Above
f. A, B, and C
g. B, C, and D
h. A, C, and D
i. None of the Above

7. How do you change the default settings for an object?

a. Use the Default Settings explorer


b. Use the Preferences explorer
c. Use the Properties explorer
d. Right-click the object in the Explorer, then click Set as Object Default
e. You cannot change the default settings for an object

ICONICS, Inc R8-3


Getting to Know GraphWorX64 Review GENESIS64 Core Training Manual

R8-4 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Basics

GraphWorX64 Basics 9

9.1 Objectives
After completing this chapter, you should know how to:

• Work with 2D shapes and objects


• Work with text objects
• Work with 2D dynamics and pick actions
• Count objects in your display
• Change
hange the application mode

9.2 Basic 2D Shapes and Objects


GraphWorX64 utilizes vector graphics; it supports data display and processing of
OPC data from a variety of data sources. When you open a GraphWorX64 display
in Configuration mode, you can add shapes and other objects including bitmapped
images,
s, labels, and other static objects.

Some objects (e.g. buttons) come with actions, called dynamics.


dynamics By default,
buttons perform a Load Display action, but you can change that action to any of a
number of other possibilities. You can click on a button to perform a sequence of
actions, or change the trigger that starts the sequence of action to moving over the
object. The basic shapes in GraphWorX64 are:

• Line
• Arc
• Spline
• Polyline
• Rectangle, square
• Ellipse, circle
• Polygon

ICONICS, Inc 9-1


GraphWorX64 Basics GENESIS64 Core Training Manual

Once you have drawn your basic shapes, you can combine them to new, more
complex shapes. Figure 9.1 shows an example of the different commands that you
can use to create a complex sshape.

Figure 9.1 - Combine Basic Shapes into Complex Shapes

Using these shape manipulation methods, you can create complex dazzling
objects from basic shapes. You can flip any shapes horizontally and vertically, as
well as rotate it in 90° steps using the Arrange pane on the Home ribbon. Freely
rotate and/or skew tthe
he shape as you want by dragging the corner when you see the
arrows connected by a curved line: . This handle appears when you hover over
one of the corner handles of the shape. Grab the corner to rotate the shape freely
or, if you hold down the Shift key
key,, the rotation happens in 15° steps.

Skewing the shape is simple. Just hover over one of the side handles until you see
the mouse change into two arrows separated by a line, similar to: . Then
grab the handle and move it using your mouse to skew the shape
shape.

Figure 9.2 - Flip & Rotate

Experiment on your own. Try out different shape combinations to get astonishing
new shapes like the one shown in Figure 9.3.. It is made by using a circle in the
middle, crossed by four ellipses, and then applying the XOR arrangement. ThenT
we applied a style from the Style and Colors tab on the Home ribbon to the shape.
9-2 ICONICS, Inc
GENESIS64 Core Training Manual GraphWorX64 Basics

Figure 99.3 - Complex Shape Created Using Ellipses with a Predefined Style

Combining these shapes with smart symbols and controls will give you the ability
to create easily dashboards as shown in Figure 9.4.

Figure 9.4 – Example of a Display in Configuration Mode

In Figure 9.4,, you can see several pieces of instrumentation: temperatures, time,
direction, pressures, and perhaps a dozen other active data points. This
GraphWorX64 display has, among its many object types, push buttons that
perform actions such as turning a pump on or off, and thumbnails of other
displays (shown in the lower right pane) that open additional GraphWorX64
displays for TrendWorX64, AlarmWorX64, and EarthWorX64. GraphWorX64
puts the power of the entire GENESIS64 programming suite at your disposal.

9.3 Dynamics
As suggested by the name, Dynamics are objects that shows changing information.
Objects such as Process Points, is an example of a dynamic. The value of the
process point changes as it reads the changing value from the OPC server. You
can
an also apply dynamics to shapes and objects to show process information
graphically. For example, you can attach a dynamic to a rectangle to create a
slider. In this section, we will discuss the different types of dynamics available in
GraphWorX64.

ICONICS, Inc 9-3


GraphWorX64 Basics GENESIS64 Core Training Manual

9.3.1 Text Objects


bjects
Process Points, Data Entry, and Time Date objects are three variants of a dynamic
object type called Text Objects.. You can create any of these three objects by using
the Text Objects section in the Dynamics tab of the ribbon.

A Process Point object is a text object that you can associate a data source to and
display dynamic or static values in a GraphWorX64 display. By default, a Process
Point is read-only.
only. You would use a Process Point to display OPC-UA
OPC tag values,
results from expressions, or any other time-dependent data.

A Data Entry object is a Process Point Object with different default property
settings. The most striking difference is that the DataEntry field is set to true and
you have an outline textbox with the Data Entry object. Use a DataDat Entry object
when you want to set the value of an OPC point. By using a Data Entry object,
you can create a state, assign a value to a variable, or make a selection that
controls a process, changes other objects, or provides other forms of user- user
generated input.

Advanced settings in both of these object types can make a Process Point
writeable and a Data Entry object readread-only,
only, essentially interchanging their
default behavior with only slight visual clues that their original identities were
something different.
erent.

The third Text Label object is the Time Date object,, which has property
assignments that conveniently displays the time and date. The Time Date object
has similar properties compared to Process Points or Data Entry objects.

Figure 9.5 - Text Objects

9.3.2 Dimensions and Color Dynamics


Besides text objects, there are other dynamics such as Buttons, Dimensions,
colors, etc that you can use to create a spectacular display. In particular, the
dimensions and color dynamics are most often used to add animation to a display.

To use these dynamics, you can connect any shape to an OPC tag. Depending on
the value of the OPC tag, you can change the size, color, location, etc of the

9-4 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Basics

object. Figure 9.66 illustrates a list of the simple dynamics you can connect to a
shape or object.

Figure 9.6 - Dimensions and Color Dynamics

You can combine these dynamics into one object, for example to create a
ventilator like the one in Figure 9.7, you can use the rotation dynamic to spin it
and let it change colors depending on the speed.

Figure 9.7 - Ventilator

9.3.3 Pick Actions


A Pick action is a command that you define. Most commonly, Pick actions are
used to open a display or a popup, download a value to an OPC Tag, or run a
script. You can add a Pick action by using the Pick button and then defining your
action in the properties window.

Figure 9.8 - Pick Action Dynamic Icon

We will describe each type of Pick action below.

• The Close Window pick action closes the window/display to which the
pick belongs.
• GraphWorX64 main
maintains
tains a history of the last 50 displays. You can
navigate through the display history using the pick actions Display
Back/Display Forward in the Pick tab of the Property Inspector. These
commands are also available as OLE Automation methods. The Display

ICONICS, Inc 9-5


GraphWorX64 Basics GENESIS64 Core Training Manual

History feature is similar to Microsoft Internet Explorer's Back/Forward


feature.

NOTE: The display file history (forward/back commands) remembers the initial
alias settings specified when a display is opened and will reset those aliases
when you go back to that display in the file history.

• The Load Display pick action opens a window of the type that you
specify with the properties that you define. Windows can be dependent or
independent pop ups, modal, or embedded. The can even refer to the
current display (which is a refresh operation). You can specify other
parameters, such as what loads in the display and other parameters.

NOTE: The default command is Load Display. So when you add a button, it
will assume that you want to open a display (Load Display).

• The Popup Menu pick action allows you to display a collection of pick
actions to choose from when you click on an object. You can configure the
position of the popup menu.
• The Run Report pick action in the Pick tab of the Property Inspector
allows you to execute a ReportWorX report during runtime.
• The Run Script pick action runs a script that you have created using
JScript.NET in the display.
• The Run Transaction pick action allows you to execute a BridgeWorX
transaction during runtime.
• The Select Global Alias pick action allows you to select global alias
themes based on an action or criteria you specify.
• The Set Language pick action specifies languages from a pick action.
• The Set Local Aliases pick action sets aliases for data connections in
runtime mode.
• The Set Object Visibility pick action applies a Hide/Show dynamic to an
object based on the condition and using the trigger you specify.
• The Start Application (Document) pick action launches the specified
application or document in runtime mode. In addition to launching
executables, you can launch various documents, including Microsoft Word
documents, Microsoft Excel spreadsheets, HTML files, and text files. The
registered application is automatically started when the file is launched.
• The Toggle Value pick action is used to toggle between two specified
values or states during runtime mode using an action that you specify.
• The Update Database pick action updates an OLE DB data source with
the current values of tags that you specify based on the condition or action
that triggers the pick action.

9-6 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Basics

• The Write Value pick action writes a value you specify or a value of a tag
to another tag.

9.4 Object Count


As you create a display, you’ll find that some objects seem to hide when you look
at the display, because objects over
overlay
lay on top of each other or that they are
grouped. If you want to see the count of objects in a display, their types, the
number of data connections, or the number of dynamic animation types defined,
you can click the Object Count button, which is on the VView
iew ribbon.

If no object is selected when you click on the button, you will see a list of all
objects in the display. As you can see in Figure 9.9,, the Object Count dialog
counts the objects, as well as giving you other more information about your
display.

Figure 9.9 - Object Count Dialog

9.5 Application Mode


GraphWorX64 comes in three different user user-selectable
selectable configuration modes:
Basic, Standard, and Advanced. Depending on your comfort level and knowledge
about this application, you can select different modes that best suit your need and
preference while in configuration mode.

We will describe each of the modes next.

ICONICS, Inc 9-7


GraphWorX64 Basics GENESIS64 Core Training Manual

• Basic Configuration Mode limits the features of GraphWorX64 to a


"beginner--level" configuration for relatively simple applications. In basic
mode, most advanced features are hidden from the user's view.
• Standard Configuration Mode is appropriate for configuration and
development of most typical applications. In standard mode, some
advanced
nced features are hidden from the user's view.
• Advanced Configuration Mode is recommended for high-level high
configuration and powerful development capabilities for the most complex
applications. In advanced mode, all GraphWorX64 features are available
to the user. As a power user of GraphWorX64 you will most probably use
the advanced mode.

To change modes, click the Application Mode button on the View ribbon.

Figure 9.10 - Different Configuration Modes

To gain an appreciation of the differences between the three different modes,


consider the Properties sheet that displays for a Button object in each mode. Basic
hides all properties except a small collection with the key properties of Text
(label), Fonts, Colors, and Scaling. In Standard mode, you see about 80% of all
the properties, which is sufficient in most cases. Finally, Advanced mode shows
all properties that you can control in configuration mode.

Figure 99.11 – Basic (Left), Standard (Middle), and Advanced (Right)


ight) Modes

9-8 ICONICS, Inc


GENESIS64 Core Training Manual Lab 9: icTonics Monitor Display

Lab: icTonics Monitor


9
Display
9.1 Lab Overview
In this lab, we will create a display for icTonics’ operators to use to control the
mixer tank as well as provide some graphics that indicates what is happening on
the plant floor. This will allow the operators to control what to make and how to
make it with a few easy clicks.

Estimated time to complete this lab: 20 Minutes

9.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a display that monitors the drink mixer tank


• Use Location dynamics to indicate the direction of flow
• Use a Size dynamic to show the tank level

9.1.2 Support Files


To complete this lab, you will need the following file:

• icTonics Template.gdfx

9.2 Monitor Display


The tank monitoring display consists of building a mixer tank. This tank has two
valves to allow water and certain syrups to flow into the tank for mixing. We will
build this tank as well as add animations to it to make the display more dynamic.

1. Open Workbench if you have closed it after finishing the previous lab.

ICONICS, Inc L9-1


Lab 9: icTonics Monitor Display GENESIS64 Core Training Manual

2. Create a new GraphWorX64 display and apply the icTonics template to it.
Save the display in the GENSIS64Training directory as
“icTonicsTankMonitor.gdfx”.

3. From the GENESIS64TrainingSymbols Symbols library, insert a BaseTank


and two Pipes. Also, insert the Jagged Cut Away 1 from the Oil & Gas 
Cut-Away
Dynamic Tank
Tank-Cut-aways
aways library. Arrange the objects to look similar to
Figure L9.1.

Figure L9.1 - Mixer Tank

ee Explorer, you should see a JaggedCutAway3 group. Drill into this


4. In the Tree
group and select Jaggedcutaway4. This is the blue polygon and if you look in
the Dynamics toolbar, it already has a size dynamic attached to it.

5. Change the DataSource of the Size dynamic tto o our Tank1 Level tag. You can
do this by clicking in the DataSoruce field, then click on the … button to bring
up the Data Browser, and then browse to the tag.

6. Add a Process Point to the display and link the DataSource to the Tank1 Level
tag. You can use the same method in the previous step to bring up the Data
Browser to select the tag.

7. In the Dynamics properties of the tag, find the PostfixLabel field and add the
percentage sign in the field. Move the Process Point to the right of the cut
away.

8. Select everything
erything that you’ve created thus far then click on the Group Objects
button in the Home tab, Arrange section of the ribbon.

9. You can still edit the individual pieces of the object by double clicking on the
pieces. You can also select the objects that you want to edit in the Explorer.

10. In the Symbols library, browse to GENESIS64TrainingSymbols and drag the


RightArrow onto the display.

L9-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 9: icTonics Monitor Display

11. Resize the arrow so that it fits inside the pipe on the left. In the Dynamics
toolbar, change the Hide Dynamics to use the tag below as the data source:

12. @ICONICS.OpcUaServerBK \icTonics.Tanks.USA.Foxboro.Tank1.SyrupValveStatus.Value


icTonics.Tanks.USA.Foxboro.Tank1.SyrupValveStatus.Value

13. Change the HideWhen field to data==0.

14. Select the Location Dynamic, and then click on the DataSource Field to set it
to the SyrupValvStatus.

15. Go to the Path field, and then click on the “…” button.

16. Drag the end of the path to the end of the pipe and drag a point in the path to
the turning point of the pipe. Your path should look similar to Figure L9.2

Figure L9.2 - Location Dynamic

17. Set the AutoRotate to True. Change the Duration to 3000 (3 seconds) and the
RepeatCount to Infinite.

18. Duplicate this arrow and put one on the pipe on the right as well. Change the
DataSource in the Hide and Location Dynamic to use the WaterValveStatus
tag and reset the Path of the Location dynamic.

19. Drill down to the valve on the left hand side and add a pick action to it.
it You
can do this by clicking on the Pick button.

20. Change the Command for the pick action to Popup Menu.

21. In the MenuItems field, click on the “…” button to bring up the Edit Menu
Items dialog

22. Click on the Add button to add a menu item. You will then see a properties
menu similar to the one in GraphWorX64.

23. Change the MenuText to Open and set the data source to the
SyrupValveStatus.

24. Change the command to Write Value and change the OnUpValue to 1 in the
CommandParameters section.

ICONICS, Inc L9-3


Lab 9: icTonics Monitor Display GENESIS64 Core Training Manual

25. Add similar Menu Item, excep


except,
t, the MenuText should be Close, and change
the OnUpValue to 0. Your finished configuration should look similar to
Figure L9.3

Figure L9.3 - Popup Menu Configuration

26. Click on OK to save the configuration and close the dialog.

27. Repeat steps 19


19-26 for the valve on the right hand side. Except, change the
data source to WaterValveStatus.

28. Save the display and go into runtime. You can click on your Valves to open
and close it to test out the display. Your finished display may look similar to
Figure L9.4

Figure L9.4 - icTonics Tank Monitor Display

L9-4 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Basics Review

GraphWorX64 Basics
R9
Review
9.1 Objectives Review
You should now know and understand the following topics:

• Work with 2D shapes and objects


• Work with text objects
• Work with 2D dynamics and pick actions
• Count objects in your display
• Change the application mode

9.2 Summary
GraphWorX64 is an application that supports data display and processing of OPC
data from data sources. In this chapter, we reviewed the objects you can use to
easily create dashboards, consoles, and other displays.

With shapes, you can create visual objects that you need for a display. Some
objects (such as buttons) come with actions called dynamics. A library of smart
symbols makes it easy to add a control such as a dynamic knob or dial, change a
property such as the data source, and create highly effective HMI displays.

Depending on the nature of the OPC tag, you can give its object changeable
characteristics, such as a changing size or location or color, or give it motion. You
can also hide it, disable it, or use a pick action that lets you open windows and
popup menus, run scripts, write values, and more.

When you have many objects on the display, you can use the object count tool to
see the total number of objects on the display. This can be very useful if you have
a limited license that restricts the number of data sources allowed on the display

ICONICS, Inc R9-1


GraphWorX64 Basics Review GENESIS64 Core Training Manual

For advanced users, you can change the application mode to show more options in
the Properties Explorer, giving more flexibility in controlling your objects on the
display.

9.3 Terms
Data Entry Object Dynamic Pick Action
Process Point Object Text Object Time Date Object

9.4 Test Your Knowledge


In this chapter, we discussed how to use GraphWorX64 to create a display
containing shapes and controls. We added some dynamics to the shapes and
included controls into the display. Before continuing to the next chapter, make
sure you can answer the questions below

1. True or False: Creating a complex object is easy in GraphWorX64.

2. True or False: You can combine more than one dynamic into one object.

3. True or False: A Process Point (PPT), being a read-only object, can be


changed to a writable object.

4. True or False: Date & Time Text object can show date/time appropriately
according to local preferences (for example, US 3/24/2008, EUR 24.03.2008).

5. True or False: When clicking on "Object Count" in the Misc section of the
View tab, you get a count of the selected objects in the display divided by type.

6. True or False: You can change the level of configuration mode depending on
your level of expertise.

R9-2 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

GraphWorX64 Tools 10

10.1 Objectives
After completing this chapter, you should know how to:

• Add ICONICS or third party controls


• Changing display properties
• Working with layers
• Arranging controls and objects
• Working with “search and replace”
• Web publishing your displays

10.2 GENESIS64 Controls


If you are familiar with GENESIS32, you would be familiar with the term
ActiveX. In GENESIS64, there are no more ActiveX. Instead, we have controls,
which are containers that you can insert into your GrpahWorX64 display to show
different information such as alarms, trends, etc.

10.2.1 ICONICS Controls


There are five different ICONICS controls in the Controls ribbon and in the
Toolbox panel are ICONICS controls that you can insert into a display.

Figure 10.1 - Controls Ribbon (Left) and the Toolbox (Right)

ICONICS, Inc 10-1


GraphWorX64 Tools GENESIS64 Core Training Manual

To add one of these controls to the design surface, you can click on the control in
the Controls ribbon, and then click on the design surface. This creates a control at
the default size, which you can resize on the display surface.

Alternatively, you can select the control in the Toolbox, and then drag that
Viewer to the design surface to create the control.

NOTE: The Toolbox is often docked at the left side of the configuration
window. You can show or hide it using the Show/Hide tab group on the View
ribbon. The Toolbox can be pinned as a tab to a side of the display or it can float
freely when you unpin it from its docked state.

Most of our controls are viewers that provide a container portal into viewing
information that comes from different sources. A dissimilar control is the Smart
Pin. It displays a collection of squares, strategically arranged to allow users to
monitor the status of multiple data sources at the same time within a grouped set
of indicators.

A Smart Pin excels at providing a visual indicator in the midst of the dense data in
an overview. For example, when applied to geographically dispersed system, by
making use of color and blink control, you can give users instant access to
changing conditions. When you enable tooltips, it becomes possible for users to
easily drill down to underlying data and address time-sensitive issues quickly.
Smart Pins are ideal for monitoring patients in a hospital, water pipes in a vast
water system, or toxic gas levels at numerous isolated locations

10.2.2 Third Party Controls


In addition to the ICONICS controls, you can use any other control that someone
else creates if these controls are in the following categories:

• Windows Presentation Foundation (WPF) Controls


• Windows Forms .Net Controls
• Web Browser Controls
• 64-bit ActiveX

To insert a third party control, you can click on the Toolbox dropdown list and
select the type of controls you want to use.

10-2 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

Figure 10.2 - Select Between Different Control Types

10.3 Arrange Controls and O


Objects
When you may many objects or controls on the display, you may want to t arrange
them in a neat order for visual appeals. You can arrange objects in the 2D space
and in the 3D space. This affects controls, too. Controls are objects like the Alarm
Viewer or the Trend Viewer, as shown in Figure 10.3.

Figure 10.3 - Display with Objects and Controls

To arrange objects in the active layer, simply select the desired objects then select
the kind of alignment you want. Note that the last object you select becomes the
referenced object, to which all other objects are arranged in accordance to it.

ICONICS, Inc 10-3


GraphWorX64 Tools GENESIS64 Core Training Manual

Figure 10.4 – The Top Most Circle is the Reference Object

In the Arrange section of the Home tab, you can choose th thee alignment you want.
With this functionality, you can change some attributes, such as size, in relation to
another object, and align objects to each other.

Figure 10.5 - Align Options

When working on a 3D workspace, you can also align objects to each other, and
even stack them along an axis you want.

Figure 10.6 - Align Options in the 3D Workspace

10-4 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

10.4 Search and R


Replace
While creating a display in GraphWorX64, or after creating one, you might want
to change some text fields or the OPC tag connected to an object. This can easily
be achieved by using the Replace option; you can find it in the Home tab inside
the Text section.

Figure 10.7 - Find/Replace

With this option, you can replace text, data sources, names of objects, titles,
descriptions, and more. You can also replace text in the current display, or in
multiple displays.

Figure 10.8 - Replace Dialog

If you find a typing error or you need to change the name of a certain object
throughout many displays
displays,, this handy tool will do the trick. You can even use
wildcard characters in this dialog.

Figure 10.9 shows an expression before and after a replacemen


replacement.

ICONICS, Inc 10-5


GraphWorX64 Tools GENESIS64 Core Training Manual

Figure 10.9 - Expression Before (Top) and After (Bottom) Replacement

10.5 Layers
Layers can be used to selectively display information based on user selection or
currently active security levels. Additionally, layers can be used to clutter and de-
de
clutter the screen content based on zoom level.

When you create a new GraphWorX64 display, any object that you draw d or add to
the work surface is placed on a primary layer of the display. The primary layer
provides the same capability as a background in a paint program – the layer
always exists and visible, but is not shown in the hierarchy of objects, groups, and
layers
ayers that appear in the Explorer pane.

As you add objects to your display, those objects are drawn in order from front to
back regardless of layers. The object drawn last is the top
top-most
most object.

You can change the order of the objects by using the option
optionss in the Arrange
section of the Home tab. In the following example, the selected rectangle is being
brought to the front from the back.

Figure 10.10 - Arrange Objects in a Layer

10-6 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

A different way would be to cut and paste the object, or you can drag and drop an
object inside the Object Explorer. You can also right
right-click
click on the object and select
the appropriate function from the pop
pop-up menu, as shown in Figure 10.11.

Figure 10.11 - Arrange Objects with Right-click Options

To add a layer to a display, click on the Layer button in the Shapes section of the
Home tab, as shown in Figure 10.12.

Figure 10.12 - How to Add a Layer

The new layer is added to the top of your drawing, no matter what the currently
selected object is, and is numbered sequentially as “Layer n”, where n is
numbered numerically starting at one.

You can select any number of layers at a time. When highlighted in gray, a layer
is active; when highlighted in blue, a layer is selected.

ICONICS, Inc 10-7


GraphWorX64 Tools GENESIS64 Core Training Manual

To move a layer up or down in the Z Z-order,


order, activate the layer, then click and drag
the layer object in the object Explorer to the new position, then release the mouse
button. Figure 10..13 shows a layer being drop into a new position in the Explorer.

Figure 10.13 - How to Move a Layer

You can also nest layers using sub


sub-layers,
layers, as shown in the figure below. To create
a sub-layer,
layer, select the layer that will contain the sub
sub-layer
layer (or select an object
contained inside that layer), then cl
click the Add Layers button. You can also drag
a layer in the Explorer to the position in the hierarchy that you want the sub-layer
sub
to occupy.

Figure 10.14 - Layers and Sub-layers in the Object Explorer

Layers can be renamed in the Object Explorer; each layer’s name must be unique.
Layers can be hidden and locked as with any objects.

Objects and groups can be drawn on a layer in the contents area. Objects can be
moved into a layer by dragging the object in the Explorer, as shown in the Figure
10.15.

10-8 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

Figure 10.15 - Drag and Drop an Object from Layer9 into Layer12

Layers have many attributes. Selecting a layer’s attribute gives you a description
of it at the bottom of the Properties pane, as shown in Figure 10.16
16.

Figure 10.16 - Properties of a Layer

You should certainly note properties grouped under the Declutter heading. This
set of options allows you to hide or show the selected layer in runtime depending
on the zoom level being used by the operator.

ICONICS, Inc 10-9


GraphWorX64 Tools GENESIS64 Core Training Manual

10.6 Web Publishing


In GraphWorX64, you will find a Web Publishing Wizard that enables you to
convert your GraphWorX
GraphWorX6464 display files to HTML files and publish the HTML
files to a web server (LAN or Internet). In publishing displays to a web server, the
Web Publishing Wizard uses HTML to reference the files in an Internet-enabled
Internet
format. Once a display is converted to an HTML file and then published to a web
server, client machines can browse it using Microsoft
Microsoft’s Internet Explorer. The
Web Publishing Wizard is accessed by means of the GraphWorX64 Publish
button, shown in Figure 10.17.

Figure 10.17 - Publishing Button

Each display can be viewed as a web page. A GraphWorX64 display that is


published to a web server is configurable by a user who downloads the display
from a remote client machine. The Web Publishing Wizard allows you to
determine the level of configuration in the publ
published
ished display file that will be
available to client
client-side users.

When you open the Web Publishing Wizard, you can set up your Publishing and
Application Preferences as shown in Figure 10.18.

10-10 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools

Figure 10.18 - Publishing and Application Preferences

The Web Publishing Wizard operate operates on the Zero Install and Thin Client
philosophy. This means the client computer needs nothing but Windows and
Internet Explorer installed. For this reason, all necessary web components must be
remotely delivered and seamlessly ins installed.
talled. Therefore, it is critical that the
HTML page be built in accordance with this. The Web Publishing Wizard looks
inside the display to understand what components are necessary on the client-side
client
and then builds the corresponding HTML code.

A GraphWorX64 X64 display that is linked to other display files can include
several .NET Windows forms or controls in the work areas of each dependent
display file. Publishing such a file involves creating a single HTML file that
triggers simultaneous download and insta
installation
llation of all .NET Controls embedded
in all interlinked display files so that all displays work correctly. The Web
Publishing Wizard's embedded .NET Control support makes this possible,
allowing you to view the .NET Controls in all displays from a single client Web
browser.

Many GraphWorX64 files are linked to other display files through pick actions
such as a Load Display or PopPop-up
up Window, display tabs, or display buttons. You
would want all these links and references to work when the HTML file is
downloaded
ded to a client Web browser. The Web Publishing Wizard makes this
possible by detecting all mutually linked displays, looping through all dynamic
actions, and checking for pick actions in which a file name is specified as one of
its parameters. Putting a ccheckmark in the Multiple Display Support checkbox,

ICONICS, Inc 10-11


GraphWorX64 Tools GENESIS64 Core Training Manual

shown in Figure 10.19,, ensures that the web page will publish properly for the
selected display fil
files.

Figure 10.19 - Support for Multiple Displays

Next, the wizard presents a list of displays that are interlinke


interlinked.
d. Select the ones you
want to include or exclude from the publishing process.

Figure 10.20 - Select Displays to Publish

The next steps of the wizard are dedicated to the web server connection setting
and bring the publishing procedure to an end. Once you have successfully publish
the display, make sure that GenBroker is running on your server machine for the
client machines
achines to get data.

10-12 ICONICS, Inc


GENESIS64 Core Training Manual Lab 10: Layers and Popup Displays

Lab: Layers and Popup


10
Displays
10.1 Lab Overview
Now that we have a welcoming page for icTonics, they would like everyone to
see this page at first. However, personnel with proper credentials should be able
navigate to other pages. Furthermore, they would like the ability to look at
detailed trend information for the mixer tank. We will create a popup display that
exhibits the information.

Estimated time to complete this lab: 20 Minutes

10.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a secured layer


• Create a popup display to view trends

10.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsTemplate.tdfx
• icTonicsHome.gdfx
• icTonicsAlarms.gdfx
• icTonicsTrends.gdfx

10.2 Adding a Layer


We will add a secured layer in this section so that once a user logs in, if he has the
proper credentials, he can navigate to other displays from the home display.

ICONICS, Inc L10-1


Lab 10: Layers and Popup Displays GENESIS64 Core Training Manual

1. Open Workbench if you closed it from the previous lab.

2. Open the IcTonicsHome.gdfx display in a new tab for editing. You can do this
by right-clicking on the display in the Project Explorer and select “Edit
display on new tab”.

3. In the ribbon, go to the Home tab, in the Shapes section, click on the Layers
button.

4. In the display Explorer on the right-hand side, you should now see Layer1.
Rename this layer to “SecuredLayer”

5. Go to the Properties explorer of the SecuredLayer, and find the


HideWhenSecurityDenied field in the Declutter section and change this field
to True.

6. Go to the Dynamics explorer of the ribbon, in the Buttons section, click on the
“Button” button and then click on the design surface.

7. Leave the pick action Command as Load Display.

8. Set the FileName field to icTonicsTankMonitor.gdfx

9. In the object properties, change the Text of the button to “Mixer Tank 1”

10. Set the button size to 143 x 56 and put the button on the lower part of the
display.

11. Save the display for now, we’ll come back and edit the display some more
later. The layer is not yet secured since we have not configure security

10.3 ICONICS Controls


In this section, we’ll add an alarm control to the Tank Monitor display. We will
also create a popup window using the trend display we have created earlier.

10.3.1 Tank Monitor Alarm Viewer


1. Open icTonicsTankMonitor.gdfx and icTonicsAlarms.gdfx display to edit on
a new tab in the Workbench.

2. Copy the Alarm viewer control form the icTonicsAlarms.gdfx to the


icTonicsTankMonitor.gdfx.

L10-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 10: Layers and Popup Displays

3. Resize the control so that it fits below the mixer tank. Double-click
Double on it to
open the properties of the control.

4. Delete the HistoricalAlarms tab and cclick


lick on OK to save and exit the
properties dialog.

10.3.2 Trend Popup Display


1. In the icTonicsTankMonitor display, add a pick action to the tank body that
opens a popup window.

2. In the Pick action properties, set the FileName to icTonicsTrends.gdfx and the
TargetType to “Popup Window (Display Dependent - Modal)”

3. Set the OverrideWindowProperties to true and set the Windows properties as


seen in Figure L10.1.

Figure L10.1 - Popup Window Properties

4. Save the display and Open the icTonicsTrends. Apply the template to the
display.

5. Change the display size to 500 x 500 and resize the template to fit within this
screen.

6. Add a Draw Label to the display and change the text to “Tank 1”. Put this
label in the middle of the Banner of the template.

7. Add a button to the display and change the command to “Close Window” and
change the text to “Dismiss”. Place the button at tthe
he bottom right-hand
right corner
of the display. Your finished configuration may look similar to Figure L10.2.

ICONICS, Inc L10-3


Lab 10: Layers and Popup Displays GENESIS64 Core Training Manual

Figure L10.2 - Popup Trend Display

8. Go back to your icTonicsTankMonitor display; go into runtime in this display


to make sure you have alarms. Click on the tan
tankk to see that your trend window
comes up.

L10-4 ICONICS, Inc


GENESIS64 Core Training Manual GraphWorX64 Tools Review

GraphWorX64 Tools
R10
Review
10.1 Objectives Review
You should now know and understand the following topics:

• Add controls
• Working with layers
• Arranging controls and objects
• Working with “search and replace”
• Web publishing your displays

10.2 Summary
You can use controls to add Viewers that open displays created in EarthWorX64,
TrendWorX64, AlarmWorX64, and even GraphWorX64. You can use
GraphWorX64 as the container application for WPF (Windows Presentation
Foundation) or Windows Forms .NET controls, even third-party controls.

The use of layers helps you distribute the displayed information into levels. You
can also take advantage of hiding a layer under specific zoom or security
conditions to rapidly develop your application.

The ease with which you can arrange objects and align them to each other with a
simple mouse click also speeds up your development, in the 2D workspace as
well as in the 3D workspace.

In case you need to modify your project, you may benefit from the Search and
Replace feature, which is not limited to one-file jobs, but may handle multiple
files at once.

Use the Wizard to web-publish your work, eliminating the need to write any
HTML code yourself and preventing others from seeing your efforts through a
thin client.

ICONICS, Inc R10-1


GraphWorX64 Tools Review GENESIS64 Core Training Manual

10.3 Terms
De-cluttering Layers Reference Object
Web Publishing Wizard WPF

10.4 Test Your Knowledge


In this chapter, we discussed how to use GraphWorX64 to edit display in the 2D-
and 3D-workspace. Before continuing to the next chapter, make sure you can
answer the questions below:

1. True or False: A GraphWorX64 display can hold one or more viewers (for
example, an AlarmWorX64 Viewer or TrendWorX64 Viewer).

2. True or False: The Object Explorer shows the item ThisDisplay.

3. True or False: It is a requirement that you create a layer for arranging objects
or controls in a display.

4. True or False: A layer can be dynamically hidden and shown.

5. True or False: Multiple layers inside the same display can have the same name.

6. True or False: A sub-layer can be moved inside the hierarchy of layers in the
Project Explorer by using drag-and-drop.

7. True or False: An object and a control can be aligned to each other in the same
layer.

8. True or False: Objects can be put on top of each other using the Align feature
in the Arrange pane.

9. True or False: Search-and-replace applies to text inside one display only.

10. True or False: GENESIS64 uses ActiveX for making the displays web
enabled.

R10-2 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Server

GenTray and
11
FrameWorX64 Server
11.1 Objectives
After completing this chapter, you should know how to:

• Use GenTray to control local and remote services


• Configure ICONICS FrameWorX64 server

11.2 Introduction to GenTray and FramWorX64


With the shift in G
GENESIS64 to a more service-oriented
oriented approach, the ICONICS
GenTray has also been improved to be a more serviceservice-focused
focused monitoring
application. The new GenTray control
controls ICONICS services,, as well as Windows
services on a local or remote GENESIS64 system. This chapter discusses
GenTray improvements and benefit
benefits.

In GENESIS64,, the architecture of getting data from ICONICS servers and third-
party OPC servers has been improved with a more centralized approach. The
ICONICS FrameWorX64 server now mediates all data. This makes
mak the ICONICS
FrameWorX64 server a very important part of GENESIS64.. Knowing how to
configure it is vital to the success of a GENESIS64 project. This chapter also
discusses the various functions of the ICONICS FrameWorX64
FrameWorX server and
outlines the areas tha
that can be configured.

11.3 Interfacing with GenTray


GenTray is accessible through the Workbench, ICONICS’ centralized
configuration utility. In the Workbench, click on the GenTray icon to launch it,
then expand localhost to view the services categorized as Iconics Services and
Others Services as shown in Figure 11.1. Iconics Services contains all ICONICS
services while Others Services contains all non-ICONICS
ICONICS Windows services.

ICONICS, Inc 11-1


GenTray and FrameWorX64 Server GENESIS64 Core Training Manual

Figure 11.1 - GenTray

Expand either folder to see the services; an icon indicates the service’s status.
The running icon (with a green arrow) indicates that the service is running and
the stopped icon (with a red square) indicates that it is stopped.

Open the service’s propertie


properties by double-clicking
clicking on the service. A tab that looks
like Figure 11.2 appears on the right.

Figure 11.2 - Service control

In this dialog, the Startup Type determines how this service behaves. An
Automatic service starts up when Windows starts up without requiring any login.
A Manual service must be started manually, as needed. A Disabled service is a
service that is not needed; it will be prevented from starting up.

You can start and stop the service by clicking on the Start and Stop buttons.

11.4 ICONICS FrameWorX64 Server Configuration


Config
The ICONICS FrameWorX64 server is configured in the Workbench. The
FramWorX64 Configuration icon launches the FrameWorX64 configuration, as
shown in Figure 11
11.3.

Figure 11.3 - FrameWorX64 Configuration

11-2 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Server

11.4.1 GenEvents
GenEvents are messages generated by a GENES
GENESIS64
IS64 component. They can be
error messages or general operation messages. These messages can be published
to the NT Event Log on Windows and can be viewed using the Windows NT
Event Viewer.

To configure GenEvents, double


double-click on GenEvents under localhost to open the
GenEvents tab, shown in Figure 11.4.

Figure 11.4 - GenEvents

Specify the Severity Level of the messages that you want published to the NT
Event Log. The higher the number, the higher the message’s severity must be in
order to be published to the NT EveEvent Log. Setting it to 0 (zero) publishes all
event messages; setting it to 1000 publishes no event messages.

Messages can also be published using the local time stamp by checking the Use
local time stamp checkbox. If this checkbox is not checked, event messages
mes are
published using UTC time stamp.

In addition, in the NT Event Log Applications box, put a checkmark next to each
component whose messages you want published. Then save the configuration.
Messages from the selected components that meet the severity criteria will be
published to the NT Event Log as they happen.

ICONICS, Inc 11-3


GenTray and FrameWorX64 Server GENESIS64 Core Training Manual

11.4.2 GenBroker
GenBroker is a proprietary ICONICS communication protocol that is the
preferred communication protocol between ICONICS GENESIS64 and other non-
non
OPC UA ICONICS products. ICONICS GenBro GenBroker
ker technology allows the
communication of legacy OPC information through TCP/IP or SOAP/XML.

To configure GenBroker, double


double-click on GenBroker under localhost to open up
the GenBroker tab, shown in Figure 11.5 with the Channels tab on top.

Figure 11.5 - GenBroker Configuration

11.4.2.1 Channels
By default, legacy OPC communication is done over the TCP/IP Direct channel.
On the GenBroker Channels tab, you can configure a different default channel by
right-clicking
clicking on the desired channel and then selecting Set ass Default.
Default

A new TCP, SOAP or DCOM channel can be added with a mediator node
specified so that legacy OPC communication will be mediated through that node.
To configure this, click the TCP Channel, SOAP Channel, or DCOM Channel
button to add the channel for a mediato
mediator node.

A specific node can be configured to use a particular channel so that all


communication to that node goes through that channel. To configure this, right
click the desired channel, and then click Add Node.

11.4.2.2 Tag Syntax


The GenBroker Tag Syntax tab containstains the syntax for various OPC connection
functions used in GENESIS64. Each syntax invokes its respective OPC function
when it is contained in an OPC tag address.

A user can change the characters to avoid issues if their standard OPC tag
addresses contain
in any of these symbols.

11-4 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Server

11.4.2.3 Miscellaneous
The GenBroker Miscellaneous tab contains various settings that affect
performance of an OPC tag connection. Client Side Cache forces GENESIS64 to
cache an OPC item for the specified amount of time.

Tag retry rate specifies the rate at which GENESIS64 will retry an OPC
connection when a previous connection attempt failed.

Sync call timeout specifies the time at which GENESIS64 will stop waiting for a
response from an OPC connection and will decide that the connection attempt
failed and will try to reconnect.

11.4.2.4 OPC Engine


The GenBroker OPC Engine tab contains settings that pertain to an OPC
connection in general. OPC Versions determines which version of the OPC
specification GENESIS64 is to use when connecting to a legacy OPC server. This
setting may need to be tweaked for connections to legacy OPC servers that were
created with a specific version of the OPC specification.

OPC DA group names define the group name format for an OPC server.

Miscellaneous contains settings that affect the runtime queue and status.

11.4.2.5 Advanced GenBroker Configuration


The GenBroker Optimization and Connection tabs are advanced configurations
whose default values have been carefully chosen for the best performance. To
understand them better and to tweak them, please refer to the GenBroker
Advanced guide.

11.4.3 Advanced FrameWorX64 Server Configuration


Web Client, Local Client and Local Server configuration items belongs to
advanced configuration. They influence communication between the client and
the server and they should be changed very cautiously if needs to be.

11.5 Changing the Default FrameWorX64 Server


Because of its client-server architecture, a GENESIS64 system can get its data
from a remote FrameWorX64 server. When a remote FrameWorX64 server is set
as the default server, all GENESIS64 communication is mediated by the remote

ICONICS, Inc 11-5


GenTray and FrameWorX64 Server GENESIS64 Core Training Manual

FrameWorX64 server. This means that all licensing, security, and data
communication come from the remote FrameWorX64 server. Furthermore, all
local connections are local to the F
FrameWorX64
rameWorX64 server, not local to the client.

To set a remote FrameWorX64 server as the mediator server, open the


FrameWorX64 server location setup tool from Start  All Programs 
ICONICS Genesis64  Tools.. The Default Server Location dialog box appears,
as shown in Figure 11.6.

Figure 11.6 - FrameWorX64 Server Location Setup Tool

Type the URL for the remote FrameWorX64 server and click on Apply. Once
you do this, all GENESIS64 communication is mediated by this remote
rem
FrameWorX64 server.

11.6 Remote Access


There are two ways to access GenTray or FrameWorX64 server remotely. Use the
Workbench from an existing GENESIS64 system, or configure it using Internet
Explorer. Each method is described here and both of them will allow you to
manage the remote machine configuration and services.

11.6.1 Using the Workbench


To access GenTray or FrameWorX64 server remotely using the Workbench, a
connection to the remote GenTray or FrameWorX64 server web service needs to
be made from the Work
Workbench.

11.6.2 Adding Remote


emote Servers to the Workbench
To add a remote Workbench server connection, go to the Workbench and select
Project  Connect to Server
Server, as shown in Figure 11.7.

11-6 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Server

Figure 11.7 - Connect to a Server

Click on Servers  Add then fill in the server name or IP address, display name,
and the port to communicate on, as shown iin Figure 11.8.

Figure 11.8 - Connecting to a Remote Server

Click on OK and the new entry is added to the servers list, as shown in Figure
11.9.

Figure 11.9 - Server List

Close the Add/Remove Project Server dialog. In the Change Project Server dialog
box, put a checkmark next to Remote Server, as shown in Figure 11.10.

Figure 11.10 - Changing Project Server

Click on OK.. When the FrameWorX64 Configuration is opened, a connection to


the remote server is made.
ICONICS, Inc 11-7
GenTray and FrameWorX64 Server GENESIS64 Core Training Manual

11.6.3 Using Internet Explorer


Accessing GenTray or FrameWorX64 server over Internet Explorer is possible
because GENESIS64 is built using .NET and communication is based on web
services. The Internet Explorer client can either be 32-bit or 64-bit.

11.6.3.1 .NET Framework Installation and Security Settings


During installation, GENESIS64 adds some websites to IIS and sets all necessary
security settings on the server to allow configuration over Internet Explorer. So
that you can open these websites from Internet Explorer on a client
machine, .NET framework 3.0 must be present on the client machine and some
security settings may need to be set.

Download and install the latest .NET Framework 3.0 from Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-
4A14-83F5-25634C3BF043&displaylang=en

After .NET Framework is successfully installed, open the command prompt


window from Start  Run. In the dialog box that displays, type cmd and press
Enter.

In the command window, change the directory to


C:\Windows\Microsoft.NET\Framework\v2.0.50727, then execute the
following command: caspol –cg Trusted_Zone FullTrust.

11.6.3.2 Setting Internet Explorer Security Settings on the Client


The website that provides remote configuration of a GENESIS64 system must be
added to the Trusted Sites list. Do so in Internet Explorer by clicking Options 
Security and then adding the website. For example, type: http://Genesis64server
where Genesis64server is the name of the machine that has GENESIS64 installed.
Only the server name needs to be added, meaning that any website from
Genesis64server is trusted.

11.6.3.3 Navigate to Workbench from Internet Explorer


The following URL opens the Workbench on Internet Explorer :

http://Genesis64server/GENESIS64/WebSites/PubDisplay/Workbench.htm

where Genesis64server is the name of the machine where GENESIS64 is


installed.

11-8 ICONICS, Inc


GENESIS64 Core Training Manual Lab 11: Remote Configuration

Lab: Remote
11
Configuration
11.1 Lab Overview
In today's globalized business environment, companies need to provide a window
into production information that transcends geographical boundaries. It is
extremely important for icTonics’ personnel to be able to view and control the
production from a remote location as their personnel travels frequently. They
would also like to allow the managers to view and control the plant at home in
case emergencies arise late at night. We will provide them with this ability by
publishing our displays, allowing it to work on remote computers.

Estimated time to complete this lab: 20 Minutes

11.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Publish displays
• View displays in Internet Explorer

11.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsHome.gdfx
• icTonicsTankMonitor.gdfx
• icTonicsTrends.gdfx

ICONICS, Inc L11-1


Lab 11: Remote Configuration GENESIS64 Core Training Manual

11.2 Viewing Displays in Internet Explorer


In order to view displays remotely over the internet, we will need to publish the
displays to a web server first. In this section, we will publish a display and then
try to view it on the local computer
computer.

1. Open Workbench if you closed it from the previous la


lab,
b, then open the
icTonicsHome display.

2. Click on the GraphWorX64 button (the big round button on the upper-left-
upper
hand corner of the application) and select Publish.

3. In the Web Publishing Wizard that opens, click on “Next >” to proceed.

4. In the Select a file ssection,


ection, click on the “Browse…” button and select the
icTonicsHome.gdfx display.

5. Checked the “Enable Multiple Display Support” checkbox and click on


“Next >”

Figure L11.1 - Web Publishing Wizard: Select a File

6. It will then show you a progress window. Notice that although we’ve only
selected to publish the icTonicsHome.gdfx display, it published the
icTonicsTankMonitor.gdfx and icTonicsTrends.gdfx. This is because we’ve
checked the “Enable Multiple Display SupSupport”
port” option. This allows you to
publish displays that have links (load display pick action) to the files being
published.

7. Click on “Next >” to select the web server to publish the three files.

L11-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 11: Remote Configuration

8. In the Select a Web Server dialog, click on “New…” to create a new web
server.

9. In the Web Server Configuration, change the Protocol to ftp and type in your
computer name in the Host Name or IP Address section.

10. In the Remote Directory Section, point it to ““\icTonics”,


icTonics”, and FTP site has
already been setup for you.

11. Check the “Use Descriptive Name option and type in “icTonics Web Server”.
The next time we publish the displays, we can just choose this one. Your
finished configuration should look similar to Figure L11.2.

Figure L11.2 - Web Server Configuration

12. Click on OK to finish the server configuration. You should now be in the
Select a Web Server dialog. Click on “Nex
“Next >” to proceed.

13. In the user name and password dialog, enter a local administrator user and its
password, and then click on “Publish >”.

14. It may take a bit to publish, but once it finishes, you should see a dialog
indicating the status of the publishing as shown in Figure L11
11.3.

Figure L11.3 - Publishing Wizard

ICONICS, Inc L11-3


Lab 11: Remote Configuration GENESIS64 Core Training Manual

15. You can view your displays in Internet Explorer by going to


http://ServerName/GENESIS64/websites/PubDisplay/icTonics/icTonicsHome
.htm. Feel free to navigate it as you would with a regular display.

11.3 Advanced Lab


In some cases, engineers may need to travel to different places, leaving the
environment where they created the displays. In such cases, the engineers can use
the remote configuration capability to continue their work. They can even use a
32-bit machine. This section will walk you through the necessary setup to
configure your project on a remote 32-bit machine.

1. Checked that you have .Net Framework 3.0 installed on the client machine.
You can do this by going to the Add/Remove Programs (or Programs and
Features) in the Control Panel. Depending on the OS, it could be under the
installed program list or in the Windows Features list.

2. Open the command prompt, by going to Start  Run and type in “cmd”
(without quotes).

3. Change directory to \Windows\Microsoft.NET\Framework\v2.0.50727 by


using the cd command.

4. In the command line, type in: caspol -cg Trusted_Zone FullTrust, and hit enter
to run the command. It will ask you to acknowledge the change of settings.

5. Open an internet explorer page, and add your server to the list of trusted sites.

6. If you were using a 64-bit machine, you can go to


http://ServerName/GENESIS64/websites/PubDisplay/Workbench.htm where
ServerName is the name of your server machine to bring up the workbench
and start configuring. If you are using a 32-bit machine, go to the site any
ways and allow IE to download the .config files.

7. Once it is done downloading, find the applicationHost.config (usually in


\Windows\System32\inetsrv\config and open it with a text editor.

8. Find the line: <add fileExtension=".config" allowed="false" /> and change


the allowed to true. The changed line should look like: <add
fileExtension=".config" allowed="true" />

9. Go to back to the site, and you should now be able to use your Workbench on
a remote server in the 32-bit system.

L11-4 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Review

GenTray and
R11
FrameWorX64 Review
11.1 Objectives Review
You should now know and understand the following topics:

• Use ICONICS GenTray to control local and remote services


• Configure ICONICS FrameWorX64 server

11.2 Summary
ICONICS GenTray is a tool that can be used to control all ICONICS and non-
ICONICS Windows services. Any Windows service can be started and stopped
from GenTray. A service’s startup type can also be modified from GenTray.
GenTray is accessed from the Workbench.

FrameworX64 server is a central mediating server for all GENESIS64


communications. Configuration of the FrameWorX64 server is done using the
Workbench. By default, the communication channel is TCP/IP, but this can be
changed to SOAP or OPC Direct. The default FrameWorX64 server can be
changed using the FrameWorX64 server location setup tool.

Both GenTray and FrameWorX64 server can be accessed remotely through


Workbench or Internet Explorer. A remote web service connection can be
configured in the Workbench to access a remote GENESIS64 system. To access
the Workbench remotely using Internet Explorer, .NET Framework 3.0 needs to
be installed.

11.3 Terms
FrameWorX64 GenBroker GenEvent
GenTray

ICONICS, Inc R11-1


GenTray and FrameWorX64 Review GENESIS64 Core Training Manual

11.4 Test Your Knowledge


In this chapter, you learned about GenTray and FrameWorX64. Before you
continue, make sure you can answer the following question.

1. Which Windows services can ICONICS GenTray control?

a. All Windows services


b. Services that are running
c. None

2. True or False: A service startup type can be changed from GenTray?

3. True or False: A service’s logon user can be changed from GenTray?

4. How can you access GenTray remotely?

a. Using Internet Explorer


b. Using Workbench
c. All of the above
d. None of the above

5. What communication does the ICONICS FrameWorX64 server mediate?

a. All communication
b. Local only
c. Remote only

6. What is the default communication channel for ICONICS FrameWorX64


Server?

a. TCP/IP
b. DCOM
c. SOAP/SML

7. What tool should be used to change the default ICONICS FrameWorX64


Server?

a. The Workbench
b. FrameWorX64 Enterprise Workbench
c. A command window
d. FrameWorX64 Server Location setup tool

8. True or False: You do NOT need .NET framework to be installed to access


Workbench using Internet Explorer.

R11-2 ICONICS, Inc


GENESIS64 Core Training Manual GenTray and FrameWorX64 Review

9. Which version of .NET framework should be installed?

a. .NET framework 3.0


b. .NET framework 2.0
c. .NET framework 2.0 and 3.0
d. Any version

10. Does Internet Explorer need to be 64-bit to access the GENESIS64


Workbench?

a. Yes, a 64-bit Internet Explorer is required


b. No, a 32-bit Internet Explorer will do
c. It depends on your license

ICONICS, Inc R11-3


GenTray and FrameWorX64 Review GENESIS64 Core Training Manual

R11-4 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

Unified Data Manager 12

12.1 Objectives
After completing this chapter, you should know how to:

• Create items in the Unified Data Manager that you can use throughout
GENESIS64
• Simplify application development using expressions, value sets, groups,
registers, and triggers.

12.2 Introduction
The Unified Data Manager (UDM) provides a centralized approach for managing
and configuring commonly used items. You can configure expressions, value sets,
tag groups, triggers, and registers by using the Unified Data Manager
configuration interface, shown in Figure 12.1, in the Workbench. All of the items
and their settings are stored in a dedicated SQL database. These items are exposed
as OPC items and can be accessed from ICONICS applications via the Data
Browser. By using the UDM, you can reduce development time and eliminate
redundant work.

You can open the UDM within the Workbench or the Start menu command in the
GENESIS64 Tools folder.

The purpose of this chapter is to familiarize you with the capabilities of the
Unified Data Manager. You will start by learning the operations that are common
to all objects: creating items, folders, editing, etc. Then this lesson will proceed to
each node in the UDM navigation tree. In turn, you will learn what an expression,
group, value set, register, and trigger is, what capabilities each one has, and how
you can use each in your work.

ICONICS, Inc 12-1


Unified Data Manager GENESIS64 Core Training Manual

Figure 12.1 - Unified Data Manager Configuration

12.3 Working with Objects in the UDM


The layout of the Unified Data Manager configuration dialog consists of a tree
control on the left and a property dialog that opens on the right when you start
editing an item from the tree. The hierarchy of the tree explorer starts at the level
of your host machine
machine, and then proceeds down from the database object to the
nodes representing your item collections. Item collections can contain both
folders and items.

As mentioned earlier, the configuration is stored in a SQL database. This


configuration database can be created using the SQL Create Database dialog box.
You can also use the SQL Attach Database dialog box to attach additional UDM
SQL
QL databases. Both of the
these dialog boxes can be launched from the Edit section
of the Home tab in the ribbon. Alternatively, you can launch them by right-
clicking the host machine item in the tree view, and then selecting New Database
or Attach Database from the popup menu, as shown in Figure 12.2. Keep in
mind that although you may see additional databases, only one database may be
active at any time. Use the Edit tab group on the ribbon or the popup menu to
work with databases.

12-2 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

Figure 12.2 - Launching the Database Wizard

In the UDM navigation tree, tthe nodes called Expressions, Groups,


Groups Value Sets,
Registers, and Triggers are all at the same organizational level. You cannot add
any new type of node at their level, but you can expand them and add sub-items.

You can create as many folders as you wish, and give them names that are
meaningful to you. Folders are listed alphabetically, followed by items that are
contained within a folder. You can also create as many items as you wish, up to
the limits of your dat
database.

To create an item in the navigation tree hierarchy go to the object just above that
item and use the menu items found on the context (right
(right-click)) menu:

• To create a folder
folder, select the Folder command from the data type node
• To create an item
item, select the Add <data type> command from the data
type node or folder. The command varies based on the data type (for (
example, Add Expression
Expression, Add Register, etc.)
• To edit or modify an itemitem, select a command from the item’s context
menu.

Figure 12.3 shows these two pop-up menus.

Nearly all of the work done in the UDM is found in the configuration forms, the
remainder of this chapter focuses on these different forms. Note that the
configuration forms for folders have one and only one text field in which you can
assign or edit the name.

ICONICS, Inc 12-3


Unified Data Manager GENESIS64 Core Training Manual

Figure 12.3 - Folder and Item Context Menus

12.4 Expressions
An expression is a function that takes input, performs a specified calculation, and
returns an output. The calculation is carried out periodically
periodically, at a user-configured
rate. The user can use parameters and make the expressions writable. Such
expressions can be accessed from a large variety of ICONICS products as single
tags.

Thanks to their writable nature


nature, expressions are convenient for unit conversions.
conversion
Consider the user
user-created function called celsius_to_fahrenheit, shown in Figure
12.4. It takes a thermometer reading in degrees Celsius and converts the value to
degrees Fahrenheit.
enheit. This function will read every input and trigger tag every 100
milliseconds,s, and will return a Short data type. Because this function might be
used with different thermometers, there is a parameter, named Thermometer
defined, which stand
stands for the currently selected thermometer.

Figure 12.4 - Creating Expression

12-4 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

NOTE: Parameters can be easily discer


discerned
ned in expression formula because they
are enclosed by double carets (for example, <<Thermometer>>), as you will
see later.

The essential actions of an expression are contained on the Read Expression and
Write Expression tabs. There are some minor, but important
mportant differences between
the options that you see on each, both of which are shown in Figure 12.5. It is
very important to understand that you do nnot ot need to configure the Write
Expression tab at all unless you intend to write values. In such a case, you should
remember that the input value, which an operator writes into the expression tag, is
represented by a special string called {{input}}. Note the different content of
Read and Write expression.

Figure 12.5 - The Read Expression (Left) and Write Expression (R


Right)

The expression for calculating the conversion reads:

x= (<<Thermometer>>*1.8)+32

The Thermometer parameter is surrounded by double carets << and >>. This
parameter will be substituted when the expression is in use.. In this case the
substituted value would be a read/write OPC data point (because in the example,
we are also going to write into the point
point, as you will see later).

Notice that these tabs contain a button called Expression Editor.


Editor The Expression
Editor is a dialog that allows
ws you to create expressions (and other functions),
functions) then
checks for the validity of the expression
expression.

ICONICS, Inc 12-5


Unified Data Manager GENESIS64 Core Training Manual

Figure 12.6 - Expression Editor

Each button in the Expression Editor displays a list of available functions. In


cases such as the Variables button, the OPC tabs of the Unified Data Browser are
opened to allow you to make an assignment based on tag values. The important
thing to remember about the Expression Editor is that although it checks your
expression syntax, it does not check whether the expression is correctly applied.

You do not have to use the Expression Editor at all. Instead, you can write your
expression directly
ectly into the text box on the Read Expression tab.
tab The expression
will be evaluated whenever one of its inputs changes; or you can put a checkmark
in the checkbox Use Trigger tags so that the expression will be calculated
whenever one of the trigger tags becomes true, becomes false, or simply changes
value as specified by the user.

Write expressions require that you check the Enable Expression check box to
have the values calculated. They are configured similar to Read expressions with
two exceptions. First, you should mark a place in your expression, where you
expect an operator’s input. This place is represented by the special string
{{input}}.. For instance the write expression of th
thee thermometer is:

x= ({{input}}*1.8)+32

Second, the Write Expression tab contains an Output tag text box where you
should specify a data point where the result of write expression will be stored. In
cases of conversions, it often makes sense to use the sa
same
me tag as the one used in
the read expression.

Itt is relatively easy to create expression


expressions,, and that the tools provided allow
expressions to be as complex as you need. Using the expressions that you created
is even easier.

12-6 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

As an example of using an express


expression in your work, consider a process point on a
GraphWorX64 display whose data source is set to the celsius_to_fahrenheit
expression. Clicking on tthe ellipsis […] button in the DataSource property of a
process point open
opens the Data Browser. The UDM’s expressions sions can be found
under the Global Expressions folder on the server that holds the Unified Data
Manager configuration. In Figure 12.7, you can see the celsius_to_fahrenheit
expression selected
ed in Data Browser
Browser.

Figure 12.7 - Selecting Expression as a Data Source in Data Browser

Note the string “Thermometer” enclosed by parenthesis is the data point name.
At this point,
nt, it is a good time to substitute the parameter with the name of the real
thermometer OPC data point enclosed in double braces. The resulting syntax may
look similar to this:

@exp64:Units.celsius_to_fahrenheit({{@KEPware.KEPServerEx.V4\
@exp64:Units.celsius_to_fahrenheit({{@KEPware.KEPServerEx.V4
Channel_1.Device_1
Channel_1.Device_1.Tag_1.Value}}).Value

12.5 Groups
A group is a collection of data tags that are manipulated as a single item and is
represented by a single group tag. Each group tag is treated as a READ/WRITE
data type. Any value written to a group tag is written to all the tags included in the
group, such that all of the tags in the Group have the same value. For example,
this feature can be deployed when controlling lights in a building. You can switch
on or off all lights on a particular floor by changing only one single value.
v The

ICONICS, Inc 12-7


Unified Data Manager GENESIS64 Core Training Manual

figures in this section show a group tag that controls lights on floor one of a
building.

Group data tags are organized in a tree structure of folders and group items. Since
each group is represented as a data tag, a group data tag may also be included
i in
other groups. Group items have two configuration forms
forms.

On the Group Properties tab, you can change data type of the tag, add its
description, and create parameters that can be used in the same way as parameters
in expressions or other UDM item
items.

Figure 12.8 - Group Properties Dialog of Group Tag Item

On the Group Tags tab, you can create a list of the tagss to be associated with the
group tag. Whenever a value is written to the group tag, it is automatically written
to all tags in this list.

Figure 12.9 - Group Tags Dialog of Group Tag Item

12-8 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

A group data tag can contain an unlimited number of data tags. Each data tag
consists of the following attributes:

• A fully qualified data tag name (parameters or expressions can also be


used) represented as a string
string.. You can type the name or you can select the
source by using the Data Browser, which opens when you click on the
ellipsis […] button next to the selected field or the Add Multiple Tags
button
utton shown in Figure 12.9.
• If the tag is an array, put a checkmark in the Is Array checkbox, and
specify the lower bound limit and the array length.

GraphWorX64 provides an interface to write values into a group tag. You just
need to insert a process point into a display and browse for your group tag in Data
Browser by clicking
licking the ellipsis […] button to open the UDM and browsing in the
Groups folder, as shown in Figure 12.10, on the server that holds the Unified
Data Manager configuration.

Figure 12.10 - Selecting Groups in Data Browser

12.6 Value Sets


A value setet allows you to write pre
pre-configured
configured sets of values into a group of data
tags. Each sett of values has a reference value. Writing a reference value to a value
set data tag will distribute pre-defined values to all data tags included in the value
set. A value set is different from a group in that each tag in a value
alue set is updated
with a preset
et value
value, which can be different from tag to tag. Value set data tags are
of string data type and are available as READ/WRITE data tags. You can also use

ICONICS, Inc 12-9


Unified Data Manager GENESIS64 Core Training Manual

parameters with vvalue set data tags, just like you can use them with expressions
and groups, which you have already seen.

Anything that requires multiple values to be written to set a meaningful piece of


data is a candidate for a value set. One example is a GPS location, which requires
two or three values: longitude, latitude, and altitude. Another use for a value set is
for setting a color. Individual colors require three values to be written: one for red,
one for green, and one for blue
blue, in the RGB colorr space that computers use. Let usu
see how color value setsets work.

Value sets
ets are created and configu
configured using a three
ree tabbed configuration form. On
the ValueSet Properties tab,, you can create a parameter and define a description.

Add members to the value set by using the ValueSet Tags tab.. For F any individual
color, the color name or ID is written to one tag, then red is written to a second
tag, green is written to a third tag, and blue is written to the fourth.
fourth You can see
the configuration on the ValueSet Tags tab in the figure below.

Figure 12.11 - Associate tags with a value set

Once you associate tags with the value set, you need to add the colors that are part
of the value set
et to the ValueSet Values tab as shown in Figure 12.12.
12

Figure 12.12 - Define Values for Tags

You can use, for instance, GraphWorX64 to write values to a value set tag. You
just need to insert a process point into a display and browse for the value set tag in

12-10 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

the Data Browser in the same wawayy you browse for an expression or group, except
that you select the Value Set folder, as shown in Figure 12.13.

Figure 12.13 - Selecting the Value Sets folder in the Data Browser

12.7 Registers
A register is a named address into which you can store values. In general,
registers
egisters are named variables that all GENESIS
GENESIS64 clients can use.
use In the Unified
Data Manager a register consists of two configuration tabs.

In the Register Properties tab, shown in Figure 12.14,, you define the Data Type
and a Description
Description, and you decide whether the register is read only or Writable.
You can also enable or disable Input Updates Propagation,, which indicates
whether values changed on input tag will be sent to an output tag.

Figure 12.14 - Register Properties Configuration

ICONICS, Inc 12-11


Unified Data Manager GENESIS64 Core Training Manual

How you configure the Register Input/Output depends on the type of the
register you need. The options in the Input Tag area are designed for definition
of an input signal for the register. Enable the Output Tag and define it if you
need values of the register to be propagated to a tag. The Tags Management
section contains only the Release tag when not in use checkbox ckbox which, when
checked, disconnects the input tag as well as the output tag when no client is
connected to the register. This may save points counting toward your license. On
the other hand, it will cost your client time to request the point again, and it will
disallow bridging.

Figure 12.15 - Configuring Input/Output Properties of Register

As mentioned before, there are different types of registers. You can configure a
register to achieve
chieve data aggregation, or provide a mechanism for data bridging
where the value of one tag is written though the intermediate register to another
tag. You can also use the register to pre
pre-fetch
fetch data or hold a value you enter into it.

12.7.1 Bridging Registers


egisters
Iff you need a data point from one hardware device to be sent to a data point on
another hardware device, use data bridging.. Data bridging maps the output of a
device as the input to another device using the UDM Register as a bridge.

12-12 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

Figure 12.16 - Data Bridging

For bridging, you only need to specify an Input OPC Point Tag and an Output
Tag. To select a tag,
ag, click the field’s ellipsis […] button to open the Data Browser.

Figure 12.17 - Bridging configuration

NOTE: Doo not check Release tags when not in use checkbox,, and do not
change Output Propagation style to Disabled. if you do, bridging will not
work.

12.7.2 Aggregation Registers


An aggregation register is where the Input OPC Point Tag is the same as the
Output Tag. It is usually used when you want all clients connect to only one
server even when you have more OPC servers. By connecting them all to one
server you can aggregate data at that server.

You may find that you have hardware devices that cannot handle the volume of
requests that are being sent to them. This happens if a device’s tags are requested

ICONICS, Inc 12-13


Unified Data Manager GENESIS64 Core Training Manual

frequently or from several OPC clients, or if the device has a limited ability to
cope with I/O requests. If the device cannot handle the requests, data becomes
bottlenecked,
cked, and clients must wait for data to be returned.

One way you can overcome this problem is by using data aggregation.
aggregation Data
aggregation collects multiple requests for a tag into one request, reducing network
traffic.

In the example shown in Figure 12.18,, there are three OPC clients that request the
same temperature reading from a device. You can create a UDM register that
handles those requests. The register acts as an intermediary that aggregates the
three incoming client requests, sends one request to the device, gets one return
from the device, which the register then forwards back to the three clients.

Figure 12.18 - Data Aggregation

Using the UDM register, you define one register for each tag whose requests you
want to aggregate. Once you set up the register to aggregate tag requests, the
register intercepts all client requests for the tag and pools them into one request
that it sends to the device. In turn
turn, the device returns one reply, which the register
then broadcasts to the OPC clients that requested the tag.

In order to use this feature enter the OPC tag for the data point you are
aggregating in both the Input OPC Data Tag field and the Output Tag field.
Make sure you also disable input updates propagation under Register Properties
tab, otherwise it may happen that your values could be running in circles.
NOTE: You can also enable/disable the propagation based upon an OPC data
point value.

12-14 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

12.7.3 Data Prefetch Registers


Another way to address problems related to I/O communication and volume is
with data prefetch. Data prefetch is a way of preloading data in anticipation of
client requests.

Data prefetch loads data from a device onto the server even if no clients are
requesting the data. Because the data is preloaded onto the server, the data is
available when a client requests it; the client doesn’t have to wait for the I/O from
the device.

Data prefetch is useful with slower devices or communication networks where


I/Os between clients and devices are typically delayed because, for example:

• Your older or slower devices do not have the capacity to fulfill their I/O
requirements.
• Geographical distance separates clients from the server, or the server from
the device.

For example, a client requests second-by-second polling data from a device that is
located on the other side of the continent, and your limited hardware device
cannot accommodate the requests in a timely way. In this case, data pre-fetch
might provide the solution you are looking for.

Note: There is a downside to using data pre-fetch. The ongoing loading of data
from the device to the server creates a continuous stream of traffic between the
device and the server. For that reason, it is important that you use restraint when
choosing the data points you use pre-fetch for; this is not a solution you want to
overuse. You will have to determine whether the volume of traffic that pre-fetch
creates works to your advantage. For example, even if a hardware device has 30
data points, there may be only one data point on that device where pre-fetch
benefits you.

Also, keep in mind that any register that does data pre-fetch consumes a license
point because the input/output tag is in constant use by the register

The configuration of Data Pre-fetch register is identical to Aggregation register


except make sure the Release tags when not in use checkbox remains empty

12.7.4 Input Registers


If not combined with an output tag, registers usually serve as holding registers or
read only registers connected to another OPC point. In order to get such a register,

ICONICS, Inc 12-15


Unified Data Manager GENESIS64 Core Training Manual

you must uncheck the Enabled checkbox in Output area of the Register
Input/Output tab.

Figure 12.19 - Disabled Output Tag

Now you have a register that you can use to read an OPC point defined as Input
OPC point or you can create a holding register by selecting the None radio
button. If you do so you can decide to define an Initial value.. For the holding
register, you should also go to the Register Properties tab and make the register
Writeable.
NOTE: It is not recommended that you make a register writeable if it has an
input OPC Data Point but no output tag. If you enter a value in such a register,
the value is stored in the register but the input OPC Data Point value does not
change. The entered value is propagated to nowhere because there is no tag
defined as the regis
register’s output.

You can use the UDM registers in the same way as any other OPC points. Hence
they may be selected using the Data Browser as shown in Figure 12.20.
12

Figure 12.20 - Selecting Register in Data Browser

12-16 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager

12.8 Triggers
A trigger is a rule, which defines the conditions
ditions under which an event occurs.
There are two types of triggers: data triggers and time triggers. Which type you
use depends on the application function, but data triggers establish a condition
that is necessary for actions or events while time triggers execute an event based
on the time or sets of times that are part of the time trigger’s definition. Moreover,
each trigger can be scheduled for activity or idle time in its Advanced tab of
Trigger configuration dialog, as shown in Figure 12.21.

Figure 12.21 - Advanced Tab for a Trigger

A data trigger fire


fires on any of the following conditions:

• When data change


changes (event)
• When a data tag changes to TRUE (event)
• When a data tag changes to FALSE (event)
• When a data tag is TRUE (condition)
• When a data tag is FALSE (condition)

An event trigger is a one shot trigger used for triggering an immediate action.
Where you need a continuous rather than single
single-shot
shot action (for instance, for
logging purposes), use a Condition trigger.

To select the data source that must meet the condition so that the trigger fires,
click the Browse button next to the Data Tag field.

Figure 12.22 - Data Trigger Options with Selected Data Tag

ICONICS, Inc 12-17


Unified Data Manager GENESIS64 Core Training Manual

A time trigger execute


executes an event periodically,, in accordance with a user-specified
recurring timeframe
timeframe. The recurring pattern can be a one-time time only event, can
occur at different
nt time intervals, or can be defined by specific dates and times.
The Unified Data Manager
Manager’s time trigger
rigger options change according to your
selection and give you fine control over when the time trigger evaluates to TRUE.
Shown in the figure
igure below is the trigger configuration dialog for a specific date
and time trigger.

Figure 12.23 - Time Triggers Configuration

Date and time triggers are used in Hyper Historian. When you browse for triggers
in Hyper Historian, the dialog box looks like Figure 12.24.

Figure 12.24 - Selecting a Trigger in Hyper Historian

12-18 ICONICS, Inc


GENESIS64 Core Training Manual Lab 12: Recipes

Lab: Recipes 12

12.1 Lab Overview


As you can imagine, icTonics makes a few different beverages, each with a
different recipe. They have given us these recipes and would like us to create a
scenario where the operator can change the production recipe on a click of the
button. This will help them with transitions from making one beverage to another.

Estimated time to complete this lab: 20 Minutes

12.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a value set folder


• Create value sets th
that acts as Recipes
• Edit the displays to allow for setting Recipes

12.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsTankMonitor.gdfx

12.2 Value Sets


Value Sets allows you to write different preset values to different OPC tags with a
click of a button. In this section, we will add the recipes as value sets and allow
for change in recipes during runtime.

1. Open the Workbench if you closed it from the previous lab.

2. Select the Unified Data Manager (UDM) in the Project Explorer

ICONICS, Inc L12-1


Lab 12: Recipes GENESIS64 Core Training Manual

3. Create a new database called the icTonicsUDMConfig using the database


creation wizard. You can exclude the Sample Data if you wish.

4. Once the database is created, expand the icTonicsUDMConfig and right-click


right
on Value Sets to select Folder.

5. Name this Folder icTonicsR


icTonicsRecipes
ecipes and click on Apply the save the
configuration.

6. Right-click
click on this folder and select Add Value Set to add an item. Name this
item “Mixers’.

7. Click on the ValueSet Tags tab, in the Alias, type in Syrup. Put the cursor in
the Tag Name field and click oon
n the “…” button to bring up the Data Browser
and select the Syrup tag.

8. Repeat steps 7 for the water and product tags. Your finished configuration
should
hould look similar to Figure L12.1.

Figure L12.1 - ValueSet Tags

9. Click on the ValueSet Values tab. IIn n the Value, type in “Chocobeer”, and give
it the same value in the Name and ProductName field. In the Syrup field, give
it a value of 85, in the water field, a value of 15.

10. Repeat the above steps to insert two more value sets. Your finished
configuration should look like Figure L12.2.

Figure L12.2 - ValueSet Values

11. Set the configuration as the active one.

L12-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 12: Recipes

12.3 Changing Recipes in GraphWorX64


1. Open the icTonicsTankMonitor.gdfx and add a Process Point to it.

2. Select the producing tag in the Data Browser and click on OK.

3. Add a draw label above the process point and give it the text “Now Producing:”

4. Add a button to the display and select Popup Men as the Command.

5. In the MenuItmes field, click on the ellipse button to bring up the Edit menu
Items dialog.

6. Add a menu item for each of the recipe you created and set the DataSource to
point to @vset64:icTonicsRec
@vset64:icTonicsRecipes.Mixers.Value.

7. Change the command to Write Value for each of the command item and enter
the appropriate OnUpValue as well as the MenuText. You should have three
menu items, one of each of the recipes, when you are done.

8. Go to the properties of the butt


button,
on, and change the text to “Select Recipe”.
Your finished display should look similar to Figure L12.3.

9. You can go into runtime and try changing the recrecipe.


ipe. As you change the
recipe, the tag should change to show the beverage type that is currently in
production.

Figure L12.3 - icTonicsTankMonitor Display

ICONICS, Inc L12-3


Lab 12: Recipes GENESIS64 Core Training Manual

12.4 Advanced Lab


If you have some time, you can add a parameter to the Value Set. This way, when
we try to change tanks later, we will be able to use the parameter to set a dynamic
tag value.

1. In the ValueSet Propertie


Propertiess tab, add a parameter named Tank, change the Type
to String.

Figure L12.4 - Parameters

2. On the ValueSet Tags tab, change the part of the tag where it says “Tank1” to
“ <<Tank>>” to use the parameter we set in the Properties tab.

Figure L12.5 - ValueSet Tags with Parameter

3. We will need to change the tags in the GraphWorX64 display to give a


parameter value.

4. In the icTonicsTankMonitor.gdfx display, choose the ““Select


Select Recipe” button,
and click on the MenuItems collections to bring up the Edit Menu Items
dialog

5. Change the data source in each of the menu items to include a parameter value.
You can either reselect the tag, or simply add “(“Tank1”)” at the end of the
tag.

6. Try running the display again, it should work just the same as if you did not
have parameters.

L12-4 ICONICS, Inc


GENESIS64 Core Training Manual Unified Data Manager Review

Unified Data Manager


R12
Review
12.1 Objectives Review
You should now know and understand the following topics:

• How to create items in the Unified Data Manager that you can use
throughout GENESIS64
• Why and how to use expressions, value sets, groups, registers, and triggers

12.2 Summary
The Unified Data Manager (UDM) provides centralized storage of data such as
expressions, groups, value sets, registers, and triggers, that you can benefit from
when developing a project. UDM configuration is stored in an SQL database and
its management is performed in Workbench.

You create items in the UDM by right-clicking nodes in the navigation tree pane
and selecting options from a popup menu. Each node has its own hierarchical tree
into which you can add folders and items.

Items are modified using forms that appear in the UDM when the object is
selected. When you save your changes to the UDM configuration database, those
settings are immediately available to anyone connected to the database.

12.3 Terms
Data Aggregation Data Bridging Data Pre-fetch
UDM Expression UDM Group UDM Register
UDM Trigger UDM Value Set Unified Data Manager

ICONICS, Inc R12-1


Unified Data Manager Review GENESIS64 Core Training Manual

12.4 Test Your Knowledge


In this chapter, we discussed the Unified Data Manager being a centralized
location to configure expressions, registers, etc. Before you continue to the next
chapter, make sure you can answer the following questions.

1. The following data type is NOT configured in the UDM:

a. Sets of values
b. Groups of users
c. Expressions and calculations
d. Triggers that are based on conditions

2. A register can be used for the following purpose(s):

a. To store data
b. To bridge data from one tag to another
c. To aggregate data
d. All of the above
e. None of the above

3. True or False: You can use a UDM group in another UDM group?

4. True or False: You can make use of parameters in value sets, groups, or
expressions?

5. Which of the following statements about triggers is true?

a. A data trigger evaluates an expression periodically and fires when the


condition is true
b. A time trigger can fire at a specific date and time
c. A time trigger can fire at a recurring set of dates and times
d. A data trigger makes use of time trigger features
e. All of the above
f. None of the above

6. Which data type is used for data bridging?

a. Expressions
b. Value sets
c. Groups
d. Registers
e. Triggers

R12-2 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

Global Aliases 13

13.1 Objectives
After completing this chapter, you should be familiar with:

• General uses for global aliases


• How to create and use themes
• How to create and use global aliases

13.2 Introduction to Global Aliases


The Global Aliasing System (GAS) is a powerful referencing feature that can be
used in any GENESIS64 applications to quickly switch between multiple data
sources using a single reference by changing the value of the reference.

When you design a display, any process point can contain one or more global
aliases. The Global Aliasing Server is able to resolve the reference and provide
the correct value for the tag at runtime. That tag is then used to display the current
data being observed or controlled. In practice, you might define a button that
opens a popup menu where you can select one out of ten different data sources.
Each selection will change the value of the global alias reference in the displays.
This in turn changes the data source for a process point in the GraphWorX64
display, so that in runtime, the data changes on your display. With this system in
place, a single process point and a button can do the work of ten process points on
a single display or alternatively the work of ten displays with a single process
point. This is the power of global aliasing.

Global Aliasing System follows a certain structure of values that groups common
objects into categories.

Consider Table 13.1, which demonstrates the global aliasing hierarchy in the left
column on an example of building control in the right column.

ICONICS, Inc 13-1


Global Aliases GENESIS64 Core Training Manual

Table 13.1 - Global Aliasing Mapping

Global Aliasing Building Example


Theme Buildings
Theme value Building A, Building B
Alias Lights, Heating
Alias Value OPC points specific for Building A and B
controlling Lights, Heating

13.3 Architecture
Global aliases are stored and maintained in a SQL Server database and those
aliases can be accessed over the network through the GAS Server.
Server When you
install GENESIS64, the installer creates a GAS server database with a default
configuration.. However, you may want to or need to create and configure your
own GAS databases bbefore
efore you create global aliases configuration.

Figure 13.1 below shows the GAS architecture. Note the role of the FrameWorX
server. If global aliases do not resolve, or connections to the data sources are
missing, make sure the FrameWorX server is functioning correctly and the service
is running.

Figure 13.1 - Global Aliasing System (GAS) Architecture


Architecture:: Configuration (Top) and Runtime (Bottom)

13-2 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

13.4 Definition of Global Alias


A global alias is a data string encapsulated between <# and #> that enables you to
switch between multiple data sources (such as a trend pen in TrendWorX64 or a
process point in GraphWorX64) with one unique name. This feature can be used
to reduce the overall number of individual display files you need to create and the
number of tags that you need to manage.

The Global Aliasing system provides global storage for a string of aliases and
resolves the aliases in runtime. The aliases can be used in OPC tags, menu values,
file names, and almost any other place where you can insert text values. Figure
13.2 shows how a global alias is used to switch between multiple OPC tags in a
GraphWorX64 display. The values that a global alias resolves to are called alias
values. All global aliases and alias values are created and configured in the Global
Aliasing interface in the Workbench.

Figure 13.2 - A Single Global Alias for Multiple Data Sources

A collection of aliases with similar properties is called a theme. Aliases can be


nested, eventually resolving to the value or property you wish. Consider lights in
a building that you monitor, with each individual light reporting its current
condition. Each light is assigned an alias, and that alias is globally available to
GENESIS64 applications. In the scheme shown in the building example,
buildings are divided into individual buildings, floors, rooms, and then the data
sources you want to monitor. The address to a particular data source might be the
following:
@Buildings.Administration.Floor_4.Room_403.Light_08

In this scheme, buildings are divided into individual buildings (Administration),


floors (Floor_4), rooms (Room_403), and then the data sources you want to
monitor (Light_08). Using this scheme, for 3 buildings, each with 6 floors, 34
rooms, and 20 lights you would have to identify 12,240 individual tags in a
display to fully define the namespace.

ICONICS, Inc 13-3


Global Aliases GENESIS64 Core Training Manual

With global aliases, this can be greatly simplified with the following: define a
Building_ID alias for the building; substitution of which into your path would
yield:

@Buildings.<#Building_ID#>.Floor_4.Room_403.Light_08

This single substitution reduces the number of unique tags by a factor of three, to
4,080 tags that you would have to identify in the display. Defining additional
aliases could reduce the path to the following:
@Buildings.<#Building_ID#>.<#Floor_ID#>.<#Room_ID#>.<#Light_ID#>

This leaves you with one unique path to 12,240 individual tags that you can use
anywhere! To accommodate the actual alias values, you would define values for:
the three different buildings, floors 1 through 6, rooms 01 through 34, and lights
01 through 20.

That sums to sixty-three global alias values you need to define along with the four
global aliases. In your display, the process point would use only four global
aliases. As you can reuse global aliases, this becomes a valuable, time-saving
solution.

Global aliases can also aid in display design. For the sake of this example, all
three displays are of the same design. We will look at what you do as the user,
and what happens behind the scenes.

First, at runtime, when you click on the Administration building (which assigns
the value Administration to the Building_ID global alias), the display changes to
show the label “Administration” in the title bar identifying the building you are
looking at.

Then, on the same display, you select the fourth floor (which assigns the value
Floor_4 to the Floor_ID alias and is used for selecting a floor diagram). The
display then shows a diagram of the fourth floor with the rooms it contains. You
only need to have one floor diagram for all of your buildings.

Finally, you click on room number 403 (which assigns the value Room_403 to the
Room_ID alias and is used for selecting a room diagram) and another diagram
appears, showing the lights in that room. Again, you only need to have one room
diagram (as long as all the rooms are similar). The room diagram shows a status
indicator showing each light’s condition.

13-4 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

This solves your design problem. The complete path to each data source is built
using the aliases you supplied. This automated construction of a path to the data
source is a process that is referred to as alias resolution.

NOTE: For examples of how Global Aliasing is used in GraphWorX64


displays, see the example files in GenDemo: FLOOR_CONTROL_GAS.GDFX
and FLOOR_OVERVIEW_GAS.GDFX.

13.5 Alias Resolution


Alias resolution is the process of assigning a specific value to an alias.

Each global alias can be associated with a theme. A theme links a global alias to
one or more data values (e.g. tags). The Global Aliasing engine allows you to
assign different values to aliases based on the currently selected theme value.
Theme values can be selected dynamically; either programmatically through
automation API or by a GENESIS64 pick action.

Figure 13.3 shows how a generic single alias can be used, for example, to link
multiple tags to a single process point in GENESIS64. The Global Aliasing
Server resolves the alias based on the selected theme value, which associates the
alias to the data values (tags).

Figure 13.3 - Alias Resolution

Each theme can have one or more theme values associated with it, and each alias
value is then associated with a theme value. A theme value allows you to switch
between the data values that are linked to the theme, as shown in Figure 13.4. For
example, if you have one theme with three theme values, and each theme value is
associated with a tag, you can toggle between the theme values and therefore the
tags. Thus, you have a single process point associated with three different values,
as shown in Figure 13.4. All themes and theme values are created and configured
in the Global Aliasing configuration interface in the Workbench.

ICONICS, Inc 13-5


Global Aliases GENESIS64 Core Training Manual

In addition, a single alias can be read by many different applications (for example,
GraphWorX64, TrendWorX64, and AlarmWorX64), as shown in Figure 13.4.
You can also associate multiple aliases with a single theme.

Figure 13.4 - Using Theme Values to Switch between Data Values

13.6 Using Themes and Theme Values


A theme can represent any general category, such as equipment, signals, files,
regions, quality controls, departments, and much, much more. The sole purpose of
a theme is to act as a category for the global aliases that use it. You assign alias
values to each theme value when you associate a global alias with a theme.

The power of a theme is in the number of aliases that you associate with it. For
example, the Buildings theme might also be associated with a second global alias
called Floor_ID, a third called Room_ID, and a fourth called Light_ID. Plan the
themes that you create so that by applying a theme at runtime you essentially
enable an effective, efficient system for obtaining global aliases and their values.
Note that one global alias can only be associated with one theme only.

The resolution of aliases is controlled by the theme scope (that is, on what level a
theme is applied to your application). The Global Aliasing system supports three
different levels of aliases:

• Machine-level applies to the entire computer.


• Process-level applies to the current process (such as, GraphWorX64,
TrendWorX64, AlarmWorX64, or EarthWorX64.)
• Document-level applies only to the current document/display and its
embedded controls (for example, a GraphWorX64 pop-up window).

13-6 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

NOTE: Document level aliasing is available only in GraphWorX64. It does not


apply to the TrendWorX64 Viewer and AlarmWorX64 Viewer.

In GraphWorX64 you can have multiple levels of documents or pop-up windows,


as shown in Figure 13.5.

Figure 13.5 - Theme Scope

13.7 Configuring Themes and Global Aliases


Open the Global Aliasing configuration interface in the Workbench to define
themes and global aliases by going to Start  All Programs 
ICONICS GENESIS64  Tools  Global Aliasing. After installation of
GENESIS64, you will find a sample Global Aliasing configuration database,
which demonstrates an example of themes and global aliases.

13.7.1 Configuration Database for Global Aliasing


When configuring global aliasing, first select the database in which you want
themes and global aliases to be stored. Make sure you expand the database node

ICONICS, Inc 13-7


Global Aliases GENESIS64 Core Training Manual

in the Project Explorer to view existing global aliases and themes already created
in the database.

If you modify your configuration da database,


tabase, you should reload it so that all
connected clients are notified of the change and would use the latest values. In
order to reload the database, right
right-click
click on the configuration database and select
Reload Configuration
onfiguration.

Figure 13.6 - Reload Configuration when Modified

13.7.2 Configuring Themes and Theme Values


In the Global Aliasing Configurator, expand the configuration database in the tree
view so you can see the tree nodes called Aliases and Themes.
Themes Right-click
Themes then select Theme from the popup menu. A form for defining a new
theme opens, as shown in Figure 13.7.

Figure 13.7 - Adding a New Theme

Once you have created the theme, you can define theme values for it. From the
tree in the navigation pane, right
right-click the theme, then select Theme Value from
the popup menu.

13-8 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

In Figure 13.8,, a theme value of Building C is being added to the theme called
Buildings.. Note the Default Theme Value checkbox. A checkmark here indicates
that the alias value that gets assigned to that particular theme value will be the
default value for its global alias. For most themes, you will want to identify one
theme value as the default so that, during runtime, when no value is selected, the
global alias resolves to a value in all instances. Tips for easily identifying the
default include:

• Always choosing the first theme value as the default, or


• Including the word DEFAULT in the theme value’s name, or
• Using some other way to make it easy to identify the default value.

In Figure 13.8,, the theme value is enabled and will be listed under the Theme tab
that appears in the Data Browser.

Figure 13.8 - Theme Values for the Theme Buildings

13.7.3 Configuring Global Aliases and Alias Values


Once you have defined a theme, you can define the global aliases that will
associated with that theme, along with the alias values that get used with that
theme. A theme, however, is not required for defining a global alias.

You can use folders to organiz


organizee your global aliases. To create a folder, right-click
right
Aliases in the navigation tree then select Folder from the popup menu, and define
the folder. This adds the folder to the Alias node of the tree. Folders can also have
subfolders.

Once you have a fold


folder
er structure, you can add aliases to these folders. To create a
global alias, right
right-click Aliases (or the alias folder you want to add it to) in the
ICONICS, Inc 13-9
Global Aliases GENESIS64 Core Training Manual

navigation tree then select Alias.. The form for adding aliases, shown in Figure
13.9, appears.

Figure 13.9 - Adding a Global Alias Definition

If you assign a theme, the theme’s values appear in the Alias Values pane at the
bottom of the form. In the Alias Value column, you provide the values that will
be assigned to the global alias when the theme is in use. There are a few things
you should keep in mind when entering alias values:

• You can type an alias value in the field, oorr choose a value such as a
language alias from the Data Browser.
• One of the theme values may be the default value.
• You can nest a global alias in an alias value, as demonstrated in the figure
below. When adding a global alias to the alias value, use the following
f
syntax: <#
#GlobalAlias#>.

Figure 13.10 - Global Aliases Used in Alias Values

13-10 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

Once you have defined your themes, theme values, and global aliases, you can use
them, for example, in GraphWorX64, AlarmWorX64, TrendWorX64, and
EarthWorX64.

13.8 Using Global Aliases


Before you can use a global alias in a display, make sure the configuration
database where it is defined is active. From the navigation tree in the Global Alias
Configurator, right-click the configuration database then select Make Active from
the popup menu.

13.8.1 Using a Global Alias in a GraphWorX64 Display


One way to show or use a Global Alias in a display is to insert a process point for
a tag that uses a global alias in its path; when you browse for and select the tag,
edit its path to replace the part that should be resolved dynamically with the
global alias. For example, this data source:

@Buildings.Administration.Floor_4.Room_403.Light_08

Could become:
@Buildings.<#Building_ID#>.Floor_4.Room_403.Light_08

When you go into runtime, you will see the default value of the Global Alias.
However, GAS enables you to dynamically resolve an alias during runtime and to
simultaneously apply one alias on different scopes.

You have two main options on how to set Global Aliasing themes or Aliases in
GraphWorX64. First, you can automatically set them as your display enters
runtime. Second, you can make use of Pick actions to give the operator control
over current resolution of your Aliases.

13.8.2 Runtime Parameters of GraphWorX64 Display


You can set Global Alias Theme or Alias to be set automatically when your
display enters runtime. Click in the blank area of the display to show the This
Display property, shown in Figure 13.11.

ICONICS, Inc 13-11


Global Aliases GENESIS64 Core Training Manual

Figure 13.11 - Global Aliases Property for ThisDisplay

Put the cursor in the Global Aliases property, and then click the ellipsis button.
The Set Global Themes and Aliases dialog box appears, as shown in Figure 13.12.

Figure 13.12 - Set Global Theme and Aliases Dialog

Use the Set Global Themes and Aliases dialog box to establish the initial setting
of Global Themes and Aliases for the display when going into runtime.
runtime

To set the scope for a theme or theme value, click the Add button in the top
Themes section of the dialog box. This displays the Edit Global Themes dialog

13-12 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

box as shown in Figure 13.13 where you select a theme and its scope for the
display.

Figure 13.13 - Selecting the Display’s Themes

You can apply the Alias theme to the machine, the process, a specified document
level, or relative to the document level that is current during runtime.

Figure 13.14 - Absolute Scope Options

Alternatively, you can dynamically define a global aliases and its value. That is,
defining a global alias that is not in the GAS configuration database. To set the
global alias or value, click the Add button in the bottom Aliases section of the
dialog box. This display
displays the Edit Global Aliases dialog box as shown in Figure
13.15 where you select a global alias, optionally a value, and the scope.

ICONICS, Inc 13-13


Global Aliases GENESIS64 Core Training Manual

Figure 13.15 - Edit a Display's Global Aliases

13.8.3 Pick Actions


ctions in GraphWorX64
You can use global aliases with pick action dynamics to set a state, change a value,
load a different display, or perform any action where variable substitution allows
al
you to generalize the action at runtime. As a result, an operator can set a global
alias to a specific value with a click of a button.

Commands with which global aliases can be associated include:

• Pick action
action-Load display: Sets the global aliases in the newly loaded
display.
• Pick action
action-Set global aliases: Sets the specified global alias theme value
in the currently open display; can apply to the whole display or a specified
object or symbol.
• Display tabs: Each tab can include a set of global aliases.

13.8.4 Global Aliasing with AlarmWorX64


You can use global aliases in OPC alarms in AlarmWorX64 Viewer in the same
way you might use them with displays in GraphWorX64. You can use a global
alias to identify all or part of an OPC tag for an alarm.

An AlarmWorX64 configuration can be set to a particular theme as a runtime


setting. In the AlarmWorX64 Server Configurator, use the database configuration,
as shown in Figure 13.16 to specify the theme using the GAS Theme field.
Clicking on the ellipsis button opens the Set Global Themes and Aliases dialog
box, as shown in Figure 13.12, where you u set Global alias themes and aliases the
same way you did for GraphWorX64.

13-14 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

Figure 13.16 - AlarmWorX64 Server Configurator Sets the Theme

13.8.5 Global Aliasing with TrendWorX64


You can also use global aliases in OPC tags in TrendWorX64 Viewer when you
create a new pen, using global aliases in the data source path just as you would in
GraphWorX64.

13.8.6 Global Aliasing with EarthWorX64


When there are a lot of similar shapes in EarthWorX64, naming those shapes can
be a chore. Creating and maintaining a labeling scheme for a data set can be labor
intensive and prone to error. But by using a global alias in a label or string you
can change all of the data points, shape names, and other variables that are
defined.

To use global
obal aliases in EarthWorX64, click on the Main tab of the shape’s
Properties dialog box and click on the name or description’s ellipsis button to
open the Unified Data Browser.

ICONICS, Inc 13-15


Global Aliases GENESIS64 Core Training Manual

Figure 13.17 - Name and Description boxes for a pushpin

Go to the Global Aliases tab in the Unified Data Browser, and double-click
double on the
global alias you want to use. This adds the global alias to the top of the dialog box.

Type double quotation marks (“) around the alias definition, as shown in Figure
13.18.. The quotation marks indicate that you want actual values to display in the
EarthWorX64 display. Instead of typing, you can select the Treat as a Literal
String checkbox.

Figure 13.18 - Global aliases in the Unified Data Browser

Click OK to confirm the selection. The Main Tab appears as shown Figure 13.19.

13-16 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases

Figure 13.19 - A Global Alias in the Name Field

The {{braces}} that wrap around the Global Alias definition let EarthWorX64
know that the text is an alias definition, not plain text.

In configuration mode, the shape appears as shown in Figure 13.2013 on top, and
the alias definition is shown as the shape name. At runtime, the definition is
substituted with its value, as shown on the bottom of Figure 13.20
20.

Figure 13.20 - A Global Alias in Configuration Mode (Top) and in Runtime Mode (Bottom)

ICONICS, Inc 13-17


Global Aliases GENESIS64 Core Training Manual

13-18 ICONICS, Inc


GENESIS64 Core Training Manual Lab 13: Global Aliasing

Lab: Global Aliasing 13

13.1 Lab Overview


On the production floor, there are many tanks running at the same time producing
different types of drinks. However, we do not need to look at each of the mixer
tanks at the same time, and therefore, we do not need to create different displays
for each of the tanks. Instead, we will use Global Alias to create a dynamics
display that can view all tanks.

Estimated time to complete this lab: 20 Minutes

13.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a global alias configuration database


• Create an alias theme
• Create theme items
• Create a global alias
• Assign values to different theme of the alias
• Activate the global aliasing configuration

13.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsHome.gdfx
• icTonicsTankMonitor.gdfx
• icTonicsTrends.gdfx

ICONICS, Inc L13-1


Lab 13: Global Aliasing GENESIS64 Core Training Manual

13.2 Global Alias Configuration


We will need to define the alias and the corresponding value that the alias should
resolve to during runtime. All this is done through a configuration
configurati file. In this
section, we will configure the alias, the alias value, and a theme that we can
switch to during runtime.

1. Open the Workbench if you closed it after finishing the previous lab.

2. Select Global Aliasing button in the Project Explorer.

3. Right-click
lick on localhost and select “New Database…” to create a new
configuration database

4. Click next in the Create Database wizard. Change the database name to
“icTonicsGAConfig”. Uncheck the Include Sample Data box and click on the
“Finish” button.

5. Expand the configuration


onfiguration once you see it in the Project Explorer

6. Right-click
click on Themes and select Add Theme to create a new theme

7. In the theme tab that comes up, give this theme the name of “Tanks” and click
on Apply.

click on Tanks and select Add Theme Value tto


8. Right-click o add values to the theme

9. Name this theme value “Tank1” and click on “Apply”.

10. Right-click
click on Tank1 and select “Multiply”

11. In the Multiply Options dialog, change the Number items to two. Change the
first number to two and the numeric places to one. Also, change
cha the Base
Value to Tank. Your dialog should look like Figure L13.1.. Click on OK to
start the multiplication.

Figure L13.1 - Theme Value: Multiply Options

L13-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 13:: Global Aliasing

12. Right-click
click on Aliases and select Add Alias to create a new one

13. Call this Alias “Tanks” and choose Tanks as the theme. Notice once you’ve
chosen the theme, the Alias Values expands with the number of theme values.

14. Set the Alias value according to Table L13.1,, and then click on “Apply” to
save the configurations.
Table L13.1 - Alias Values

Theme Value Alias Value


Tank1 Tank1
Tank2 Tank2
Tank3 Tank3

15. Once you are done with the configuration, set the database as the active
configuration by right
right-clicking
clicking on icTonicsGAConfig and select “Make
Active”.

13.3 GraphWorX64 Implementation


Now that we have a Global Alias configuration in place, we’ll need to configure
our displays to use these aliases.

1. Open the icTonicsTrends display and select the Tank1 label.

2. Add a process point dynamic to this label. When the DData


ata Browse comes up,
select the Global Aliases tab, expand Global Aliases on the bottom, select
Tanks, and click on the “Copy Selection to Textbox” button.

3. Check the “Treat the result as a Literal String” box and click on OK.

Figure L13.2 - Browsing for Global Alias

ICONICS, Inc L13-3


Lab 13: Global Aliasing GENESIS64 Core Training Manual

4. Notice that the text changed from “Tank1” to “*.??”. That’s ok; the default
text for a process point looks like that.

5. Double-click
click on the Trend Viewer control to bring up the configuration dialog.
dialog
Click on your real
real-time
time pen, find “Tank1” in the data source, and change it to
<#Tanks#>. “<#” and “#>” are the delimiters for Global Aliases.

6. Do the same thing for the other tags configured in the control.

7. Save and close the display, and then open the iicTonicsTankMonitor
cTonicsTankMonitor display.

8. In the Home tab of the ribbon, locate the text section and click on the down
arrow for the Find action. Select Replace.

9. When the Replace dialog comes up, in the Find Type, select Dynamic Data
Source.

10. In the Find What field, type in “Tank1” and in the replace field, type in
“<#Tanks#>”, then click on Replace All to start the replacement. Your
Replace dialog should look like

Figure L13.3 - Search and Replace

11. Once it is done, you sho


should
uld get a list of the objects that has been replaced in
the results section. Close the dialog and save the display

12. Open the icTonicsHome display. Edit the button on the SecuredLayer called
Mixer Tank 1. In the previous lab, we’ve set this button to open Mixer
Mi Tank1.

13. In the Dynamic Properties of the button, find the GlobalAliases field under the
Command Parameters section and click on the “…” button in the field.

14. In the Select Global Themes and Aliases dialog, click on “Add” button in the
Themes section to bbring up the Edit Global Themes dialog.

L13-4 ICONICS, Inc


GENESIS64 Core Training Manual Lab 13:: Global Aliasing

15. In the Themes dropdown, select Tanks. Select Tank1 in the Theme Items
window and click on OK all the way back to the display.

Figure L13.4 - Edit Global Themes Dialog

16. Duplicate “Mixer Tank 1” button and repeat steps 13-15.. Except, set the
global alias theme value to Tank2 and Tank3 and change the text of the button
accordingly.

17. Go into runtime and load the icTonicsTankMonitor display with the different
buttons. You should see your tags resolve to different paths and showing
showin
different values. Note that you will not see alarms or trend for Tank2 and
Tank3 if you have not configured them by doing the advanced labs.

ICONICS, Inc L13-5


Lab 13: Global Aliasing GENESIS64 Core Training Manual

L13-6 ICONICS, Inc


GENESIS64 Core Training Manual Global Aliases Review

Global Aliases Review R13

13.1 Objectives Review


You should now know and understand the following topics:

• General uses for global aliases


• How to create and use themes
• How to create and use global aliases

13.2 Summary
A global alias is a data string that enables you to reference multiple data sources
with one unique name. Any process point can contain one or more global aliases.
Global aliases are stored and maintained in an SQL database called the Global
Aliasing System (GAS) database, and those aliases can be accessed over the
network by clients. Global aliases, themes, and alias values are created and
configured in the Global Aliasing interface of Workbench.

Each global alias can be associated with a theme. The power of a theme is in the
number of aliases that you associate with it. A theme links Global Aliases
together. The Global Aliasing database allows you to assign to aliases different
values based on the currently selected theme. Themes can change dynamically;
either programmatically through automation API or by a GENESIS64 pick action.

Alias resolution is the process of assigning a specific tag value to an alias. The
resolution of aliases is controlled by the theme scope (that is, on what level a
theme is applied to your application). The Global Aliasing system supports three
different levels of aliases: machine-level, process-level, and document-level.

ICONICS, Inc R13-1


Global Aliases Review GENESIS64 Core Training Manual

13.3 Terms
Global Alias Alias Theme Alias Value

13.4 Test Your Knowledge


In this chapter, we discussed global aliases, themes, and how they are used in
GENESIS64 applications. Before continuing to the next chapter, make sure you
can answer the questions below.

1. True or False: All global aliases must be configured and stored in the GAS
database.

2. True or False: You can use a global alias anywhere in the path of an OPC tag.

3. True or False: Themes do NOT provide any powerful runtime use.

4. True or False: An alias value can contain a global alias.

5. True or False: A dynamically created global alias can be reused in any display
created using any ICONICS viewer.

R13-2 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

Language Aliases 14

14.1 Objectives
After completing this chapter, you should know how to:

• Convert text strings for display in multiple languages


• Use language aliases for converting units of measure by language and
locale

14.2 Introduction to Language Alias


The Language Aliasing System (LAS) provides a way to translate text strings and
to convert measurements for any languages required for use in ICONICS
applications:

• Translation: A specially delimited or tagged string is replaced by an


appropriate value for the selected language.
• Conversion: Different cultures use different units of measurement, so the
conversion system also converts one type of measurement unit to another.

The LAS translates and converts using aliases. An alias is a name for an object
that is different from the object’s “real” name. In English, a rose is “a rose”, but in
Italian a rose is “una rosa”, in German it is “eine rose”, in Dutch “een roos”, and
so forth. Using a language alias, you can define the text string for “a rose” in each
language so that the displays you create can switch to the local client machine’s
language; your Italian users see “una rosa” and your German users see “eine rose”.

There are two major components of the LAS: the centralized database and any
client application that uses the language switching mechanism. All language
variations and conversion expressions are stored in and retrieved from a
centralized database configuration (Microsoft SQL Server or Microsoft SQL
Server Express). The centralized database is maintained using the Language
Aliasing configurator in the GENESIS64 Workbench. Language aliases are stored

ICONICS, Inc 14-1


Language Aliases GENESIS64 Core Training Manual

in the central global database and those aliases can be accessed over the network
by clients. Changes you make to the LAS database are propagated to clients
within roughly 1 to 3 seconds. In this chapter, you will learn to configure
language aliases and use them in client applications.

14.3 Background
The language/locale setting in Windows is based on an ISO standard. A locale is
similar to a culture, differentiating English (United States) from English (United
Kingdom). There are 264 defined settings available in Windows Vista, including
language/locale. When a language is set in Windows on a client machine,
Windows’ user interfaces retrieve the language alias translations for that language
and cache the information locally on the client displaying the translations in the
local display.

In Vista, this language/locale setting establishes the language for the user account.
GENESIS64 uses that same setting to determine the language/locale properties to
be used in GENESIS64 applications at runtime. GENESIS64’s LAS returns
language settings for that language for any alias objects needing it for language
translation. Similarly, GENESIS64 reads the unit binding for the current language
to obtain unit conversions for values in the display.

Although GENESIS64 uses the language setting to determine the program action,
it does not use any other Windows feature or dictionary to supply conversions. In
order for your displays to have the correct language alias support, you must
configure translations and conversions for the languages in which you need them,
by using the LAS configurator.

Language aliases are applied to the client based on the active configuration. Only
one configuration is active at any one time, and that database can use only one
language setting for displaying data on the client. Languages cannot be mixed in a
display. This means that when you use a Pick action to change the language/locale
in a display, all of the language aliases defined in that display change to the
currently selected language.

14.4 Configuring Language Aliasing


There are two ways to configure language aliasing, either from the GENESIS64
Workbench or from Start  ICONICS GENESIS64  Tools  Language
Aliasing, as shown in Figure 14.1.

14-2 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

Figure 14.1 - Language Aliasing Configuration Interface

The LAS configurator contains a tree control in the Project Explorer, where you
select
ct items you want to edit or add. As with all GENESIS64 applications,
whenever you edit or view an item, a configuration form opens in the content area.

You can perform different actions for different types of items in the tree. All
actions allowed for an item appear in the Ribbon when you select an item. You
can also right-click
click an item to pop up a menu, as shown in Figure 14.2.

Figure 14.2 – Performing Actions in the Project Explorer

14.4.1 Configuring Languages


Start configuring the LAS by deciding which languages you are going to use, and
then define them by right
right-clicking
clicking Languages in the Project Explorer tree, and add
each language. These languages will be used for translating text, but will also be

ICONICS, Inc 14-3


Language Aliases GENESIS64 Core Training Manual

used for converting units of measure for the locale. Therefore, both the language
and the locale are important for each language definition.

Adding a language is a simple process where you define the following


information, as shown in Figure 14.3:

• Language InfoInfo: Select the Culture Name (that is, the language and locale)
from the list provided by clicking the Change Language button. Give it
the Display Name you want to use for its identification.
• Properties
Properties: Enable or disable the translation, enter a Description for it,
and indicate whether the language should be the active default language
for clients that access the LAS.

Figure 14.3 - New Language Definition

Once you have defined all of your languages, you can create language aliases.
Remember there are two types of language aliases: translation aliases and
conversion aliases. E
Each
ach type is created in a different way. The following sections
will walk you through both of them.

14.4.2 Configuring Language Aliases for Translating Text


Language alias translation takes an alias string in your text, process point,
point trend
pen, etc., and converts it to a lookup value stored for different languages in the
alias definition based on the current selection or a system's locale. This section
describes how to create and use alias
aliases for translating strings.

Translation Language Aliases are bubundled under Aliases in the Project Explorer
tree. You can create language aliases in the Aliases root folder or you can create
subfolders for them. To add an alias, you need to specify the following
information, as is shown in Figure 14.4:

14-4 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

• Give the alias a name that identifies the text that it translates. Describe the
alias, and specify the Default Translation text that will be used if no
language-specific
specific translation is available for the language that is active
during runtime.
• Then provi
provide
de text to be used for each language you have created. A client
will see only the translation text that corresponds to the currently active
language for the client machine.

Figure 14.4 - Translation Alias Definition

14.4.3 Using Language Aliases


Once a language alias is created, you can use it in any GENESIS64 application.
To use a translation alias, browse for it using the ICONICS Data Browser’s
Language Aliases tab, shown in Figure 14.5.

ICONICS, Inc 14-5


Language Aliases GENESIS64 Core Training Manual

Figure 14.5 - Language Alias Selection in the Data Browser

In the field at the top of the tab, you can easily recognize the language alias by its
special syntax. The language alias name is deli delimited
mited by the characters /+ at the
beginning and +/ at the end. For example, the alias name Title when used in your
application will look like this: /+Title+/ or {{/+Title+/}}.. A language alias is
considered to be a data point; when it is not part of a data source, enclose it in
double braces {{ }}}}.
NOTE: If you are planning a new project, consider the advantages of integrating
translation capabilities as part of the initial project development. Integrating
translation capabilities after a project is done will
ill require a considerable amount
of rework.

14.4.4 Configuring Language Conversions for Units of Measure


Because languages and cultures use varying methods of measurements such as
distance, temperature, and currency, the language aliasing system (LAS) provides
a way to convert unit
units of measure and their expressions.

You define Unit Conversion and Unit Binding objects in the LAS configurator.
Each is described in ththis section using the example of converting a temperature
display in Celsius (formerly Centigrade) to Fahrenheit.

14.4.4.1 Unit Conversion


To define a conversion from Celsius to Fahrenheit, you start by defining unit
conversions, as shown in Figure 14.6.

14-6 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

Figure 14.6 - Unit Conversion Definition

A Unit Conversion definition consists of the following:

• Name: assign a name that describes the conversion direction (such as


Celsius to Fahrenheit)
Fahrenheit).
• Info: a description if you think it is needed
• Expressions: define the read and write expressions for converting the
units. You can use the expression engine, which is available on the
Expression tab in the Data Browser as shown in Figure 14.7.
14

Figure 14.7 - Expression Tab in the Data Browser

ICONICS, Inc 14-7


Language Aliases GENESIS64 Core Training Manual

o The Read Expression specifies the calculation that will be applied


to the original read value – {{<value>}} – in order to display it in
its converted form. For example, the calculation that converts a
read value in Celsius and converts it to Fahrenheit for display.
o The Write Expression specifies the calculation that will be
performed on a value – {{<value>}} – that a user manually inputs
into a converted data point. For example, the calculation for taking
a user-provided value in Fahrenheit and converting the value so
that it can be written in Celsius.
• Unit: specify how the unit of measure will be labeled when it displays. If
no label is needed for the unit, leave the Use Unit Alias checkbox empty;
otherwise, put a check the checkbox. You can type a label in the Unit
Alias field (especially if the label is a symbol that doesn’t require string
translation, such as €). Or you can click the ellipsis button to select a
language alias to be used for the unit. This will allow the label to display
translated for each language. If the label prefixes the unit value (as in €10),
check the Use as Prefix checkbox. Otherwise, the label will be suffixed to
the value (as in 10¢).
• Formatting: if you want to use any of the available formatting for a
converted value, check the Format Numbers checkbox. Then, enter the
number of Decimal Digits, and/or check the Digit Grouping checkbox.
For example, specify that the unit is to appear with one decimal place
(22.7); or, for example for large currency values, that you want them to
appear with commas in the form: $1,500,000.00.

After you define a conversion, make sure you define its reciprocal conversion
(that is, the conversion in the other direction). Using the Celsius-to-Fahrenheit (C-
to-F) conversion as an example, you need to define C-to-F and F-to-C, but you
also need to define F-to-F and C-to-C for situations where no conversion is
performed.

NOTE: The number of conversions you must define is n2 where n is the number
of different units of measure being converted. For example, if you are
performing conversions among the three different types of tonnage – short tons
(ST), long tons (LT), and metric tons (MT) – then you would need definitions
for ST-to-ST, LT-to-LT, MT-to-MT, ST-to-LT, ST-to-MT, LT-to-ST, LT-to-
MT, MT-to-ST, and MT-to-ST – or nine separate conversions.

14.4.4.2 Unit Binding


After defining all the necessary unit conversions, you must assign them to each of
your languages using unit binding. This determines which conversion is used for

14-8 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

a given language. For example, which unit conversion, if any, should take place
plac
while the language Dutch is currently active?

Unit bindings provide


rovide the instructions for unit conversion based
ased on locale. The
unit binding
inding takes values in the current unit of measure and assigns a language-
language
specific unit conversion
onversion for the locale
locale. With this, your unit conversions can
change from locale to locale, if necessary. Unit bindings will set the data type.

For the following example, refer to Figure 14.8.. In this example, the default unit
conversion is C--to-C (no conversion is performed), which means that all
languages/locales use this as default unless otherwise specified. You define two
unit bindingss called FromCelsius and FromFahrenheit. Each contains a table of
languages/locales.
/locales. For FromCelsius, the C-to-C
C default is overridden for only two
language/locales: English (United States) and Chinese (People’s
People’s Republic of
China) where the temperature must be displayed in Fahrenheit
Fahrenheit.

When adding a new unit binding, you have to define the following, as shown in
Figure 14.8:

• Name: the name of this unit binding, more information can be entered in
the Description field.
• Properties
Properties: select the Data Type of the alias and select the Default Unit
Conversion that will be used for all languages/locales unless specified
otherwise in the Language Unit Conversions table.
• Language Unit Conversions table: specify fy the unit conversion to be used
if you do not want the default unit conversion to be used for a particular
language/locale. The unit conversion that will be performed during
runtime will be determined by the language that is currently active.

Figure 14.8 - Defining Unit Bindings

ICONICS, Inc 14-9


Language Aliases GENESIS64 Core Training Manual

14.4.5 Using Unit Conversions


Similar to language aliases, you can use language conversions across
a all
GENESIS64 applications. However, language conversions cannot be used on
their own; they need to be combined with a data source.

For example, this is a data point:

@sim64:Long.Ramp(10,
@sim64:Long.Ramp(10,-50.0,50.0,140).Value

To convert its value using the FromCelsius unit binding conversions located in
Temperature folder, you need to add the following prefix:

=Temperature
=Temperature\FromCelsius:Value=

The final data source will look like this:

=Temperature
=Temperature\FromCelsius:Value=@sim64:Long.Ramp(10,
FromCelsius:Value=@sim64:Long.Ramp(10,-
50.0,50.0,140).Value

Fortunately, you do not have to remember this syntax. Instead, you can use the
Data Browser to create it. To do so, first, select the data point you would like to
use in your application. Next, keep the Data Browser open and go to the
Language Conversions tab and select the conversion you would like to apply for
this data point, as shown in Figure 14.9.

Figure 14.9 - Language Conversions Tab in the Data Browser

Figure 14.9 above has been enlarged so that you can see that the syntax of the
conversion alias is made up of the path and name of the alias as well as a special

14-10 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliases

string delimited by a colon (as in :Value). ). This string signifies the conversion
output type.. You can insert the output type manually or you can select it from the
dropdown menu in the Data Browser, as is shown in Figure 14.10 10.

Figure 14.10 - Selecting a Conversion Output Type

14.5 Language Alias Switching


The easiest way to see a language alias at work in runtime is to use a button with
the Set Language Pick action in a GraphWorX64 display.. In order to create such
a button, you either insert a button object into your GraphWorX64 display or
create any new ob
object
ject and assign it a Pick action, which is one of GraphWorX64
dynamics.

Figure 14.11 shows a selected object (the flag surrounded by squares) with the Set
Language command assigned to it (shown at the right). Clicking on the object in
runtime will change the current active language to the one defined in the Set
Language box (which,
which, in Figure 14.11, is en-US).

Figure 14.11 - Object with the Pick Action Set Language

ICONICS, Inc 14-11


Language Aliases GENESIS64 Core Training Manual

The Set Language box contains a Pick action command parameter. To set a value
for this parameter, you select a language from the list of the languages you
defined earlier, as shown in Figure 14.12.

Figure 14
14.12 - Selecting a Language for Set Language
anguage Command Parameter

NOTE: For demonstration and testing purposes, choose a language other than
the language that will be active on the machine where you are testing.

When you click on the button in runtime, the Pick action for the button changes
the GENESIS64 localization (current language/culture) setting. The display
shows the translated value stored in the language alias database for that alias in
that particular language.

Remember that language aliases are applied to the client based on the active SQL
database. Because only one SQL database is active at any one time, and that
database can use only one language setting for displaying data on the client, only
one language is used in any given display. This means that when you use a Pick
action to change the language/locale in a display, all of the language aliases
defined in that display change to the currently selected language.

14-12 ICONICS, Inc


GENESIS64 Core Training Manual Lab 14: A Multi-Lingual System

Lab: A Multi-Lingual
14
System
14.1 Lab Overview
icTonics is an international company. With facilities in different locations of the
world, it’s crucial that they have dynamic displays where it displays the local
language for the operators. In this lab, we will edit our displays and create
translation file to accommodate for different languages.

Estimated time to complete this lab: 20 Minutes

14.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create a new language configuration database


• Create alias groups
• Create language aliases
• Set translations for language aliases
• Activate the language configuration database

14.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsHome.gdfx

14.2 Language Configuration


In order to use language alias, we’ll need to provide translations to certain phrases
that we will use in a configuration file. In this section, we will setup such a
configuration.

ICONICS, Inc L14-1


Lab 14: A Multi-Lingual
Lingual System GENESIS64 Core Training Manual

1. If you closed the Workbench after the previous lab, reopen it.

2. In the Project Explorer, sel


select Language Aliasing to open it.

3. Right-click
click on localhost and select “New Database…” to create a new
configuration database

4. Change the Database name to “icTonicsLanguageConfig” and click finish to


create the new configuration database.

5. Once it finishes, expand the ictonicsLanguageConfig  Languages.

6. By default, there are nine languages configured as shown in Figure L14.1.


L For
our purposes, we’ll use Chinese, Czech, English, German, Italian, and Spanish.
Since these languages are already there by default, we do not need to add any
extra.

Figure L14.1 - Default Languages

7. Right-click
click on Aliases and select Add Alias Group to add a group; name this
group “icTonics”

8. Right-click
click on the icTonics group and select Alias; name this alias
“Welcome”. You can give it a description if you wish.

9. Give this a default translation of “Welcome”. You can set the language
translation
anslation according to Table L14.1.
Table L14.1 - Translation of Welcome

Language Translation
English Welcome
Czech Vítejte
German Willkommen
Italian Benvenuto
Spanish Bienvenido
Chinese 欢迎

L14-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 14: A Multi-Lingual System

NOTE: If you are using a training image, you can change the language
to Chinese by pressing Left Alt + Shift+1 and type “HuanYing” to
select the correct Chinese characters. You can use Left+Alt+0 to switch
back to English.

10. Repeat steps 8-9, only this time, name the alias “Login” and give it the
translation according to Table L14.2.
Table L14.2 - Translation for Login

Language Translation
English Login
Czech Přihlášení
German Anmelden
Italian Accesso
Spanish Acceso
Chinese 登录

NOTE: You can change the language to Czech by pressing Left Alt +
Shift +2 and type in 5 for ř and 3 for š. You can also change to the
Chinese keyboard and type in “denglu” to select the correct characters.

11. Once you are done configuring, apply the changes. Right-click on the
icTonicsLanguageConfig and select “Make Active” to make this configuration
database active

14.3 Using Language Aliasing in GraphWorX64


In this section, we will change some of our text objects to include language
aliasing. We will also add buttons to our display for language switching.

1. Open the icTonicsHome.gdfx display

2. Change the text of your “Welcome” text label to /+icTonics\Welcome+/. This


is the Welcome alias we created in the previous section. The delimiters /+ and
+/ indicate the beginning and end of a language alias.

3. Select the Login button and change the text of the button to
/+icTonics\Login+/.

4. Create a pick action button and set the command to “Set Langauge”.

5. In the Set Language field in the Command Parameters section, click in the
field and then click on the “…” button. This should bring up the language
selector dialog.

ICONICS, Inc L14-3


Lab 14: A Multi-Lingual System GENESIS64 Core Training Manual

6. Select English and click on OK to close the dialog. Change the text of the
button to “English”

7. Duplicate this button five times and set the language to each of the translated
language we are using. These buttons will allow us to change the language
displayed during runtime.

8. Resize your buttons and align them on the bottom of the display accordingly.

9. Go into runtime and switch to the different languages. You may need to resize
your Welcome message or the login button to show the entire translated
phrase.

10. Notice that date/time dynamic in the template changes language automatically.

L14-4 ICONICS, Inc


GENESIS64 Core Training Manual Language Aliasing Review

Language Aliasing
R14
Review
14.1 Objectives Review
You should now know and understand the following topics:

• Language Aliasing Configuration


• Using Language Aliases

14.2 Summary
Language Aliasing configuration is stored in one central MS SQL database and
is maintained by Language Aliasing interface that can be run from ICONICS
Workbench. The configuration structure holds four items: Languages, Aliases,
Unit Conversions, and Unit Bindings. You will always need to define Languages,
however you may not need to configure an expression or translation depending on
your goal.

If you want to translate strings in your project, you have to add and edit Aliases.
If you need to convert units, you ought to create new Unit Conversions and their
Bindings to your languages. Any change to the database is immediately
propagated to all connected clients.

You can use Language aliases all over the ICONICS product range. Usually you
browse for your Aliases using Data Browser. The appropriate Language Aliasing
tab will always appear if you are allowed to use Language Aliases or Language
Conversions. The easiest way to change the language in runtime is to create a
button with pick action Set Language.

14.3 Terms
Conversion Alias Language Alias Translation Alias
Unit Binding Unit Conversion

ICONICS, Inc R14-1


Language Aliasing Review GENESIS64 Core Training Manual

14.4 Test Your Knowledge


In this chapter, we discussed Language Aliasing. Before you continue, make sure
you can answer the following questions.

1. Where is the configuration of Language Aliasing stored?

a. An SQL database
b. An MS Access database
c. A Proprietary database

2. What do you need to do to notify clients of a LAS configuration change?

a. Nothing.
b. Refresh the database
c. Deactivate and reactivate the database

3. True or False: Two functions of Language aliasing are conversion of units and
translation strings.

4. Where can you use LAS?

a. all over the ICONICS product range.


b. Only in GraphWorX64
c. Only in Process Points

5. How do you easily access the Aliases stored in your configuration when
developing your project?

a. Use the Data Browser.


b. Use the Language Alias Configurator
c. You have to type in the alias

6. Which is the correct format for a language alias?

a. <#LanguageAlias#>
b. “$LanguageAlias$”
c. /+LanguageAlias+/
d. <<LanguageAlias>>
e. ~~LanguageAlias~~

R14-2 ICONICS, Inc


GENESIS64 Core Training Manual Security

Security 15

15.1 Objectives
After completing this chapter, you should know how to:

• Create an Administrative user in GENESIS64 Security Server


• Create standard user accounts with GENESIS64 Security
• Set up security groups and users
• Create account policies
• Set security privileges to define what a user can do
• Log in and log out from the system
• Use Active Directory accounts

15.2 Introduction to ICONICS Security


GENESIS64 uses a security model that is both granular and additive. The system
is installed as part of the GENESIS64 installation, but it is not activated. Before
creating an Administrative user, you do not need to login to run the Security
Configurator.

You can set individual rights and access based on users and groups, create named
policy settings that can be applied to users and groups, and control access to
individual applications, features, systems, and more. These settings can also be
time based.

A security system administrator configures the system by adding users and


assigning them specific privileges. Administrators may also associate a user with
groups that have pre-assigned privileges so that the user has the effective rights of
all the groups to which the user belongs to, in addition to the user’s own
privileges.

ICONICS, Inc 15-1


Security GENESIS64 Core Training Manual

The Security Server offers a powerful way to configure access to your


applications. All actions that can be performed by a user in any GENESIS64
application
on can be controlled via the security server.

15.3 Security System Components


The security system contains two components: the Security Server that manages
user logins and the various clients contained within GENESIS64 (GraphWorX64,
TrendWorX64, AlarmWorX64, and so on). Any user login or logout that causes a
change in security status is immediately posted to the affected clients.

Figure 15.1 - Security Server and Clients Architecture

Security settings for the sserver are set from the Security Server configuration
forms,, an example of which is shown in Figure 15.2.. To launch the Security
Server:

• From the Windows desktop, click Start  All Programs  ICONICS


GENESIS64  Tools, then select the Security command.
• Or, in the GENESIS64 Workbench, click on th the Security Server icon in
the navigation tree button bar, shown circled below.

15-2 ICONICS, Inc


GENESIS64 Core Training Manual Security

Figure 15.2 - The Security Server Configurator

15.4 Global Settings


Global Settings applies to the entire security server regardless of the security
configuration. In the Global Settings, you can configure general settings of how
the security server behaves as well as critical alarms and poi
points.

You can access global security settings by double


double-clicking on Global Settings in
the Security Server’s navigation pane. The Global Settings General tab, shown in
Figure 15.3,, provides control to how you want to display user information when
you log in, how the user logs in (e.g. with Windows), and where the security
system obtains the list of security users. You can choose to take advantage of
already setup users in Windows’ Active Directory instead of creating users in the
security system by providing the necessary domain credentials, and then simply
give these domain users or groups the proper permissions.

Figure 15.3 - General Settings

ICONICS, Inc 15-3


Security GENESIS64 Core Training Manual

The following properties may be set on the General tab:

• Automatically login the current Windows user: A checkmark here


enables the use of the Windows domain services for account login. When
this setting is enabled users with matching user names and domain names
will automatically be logged into the Security Server. This eliminates the
need for users who have already authenticated with their Windows domain
to enter a user name and password a second time to gain access to the
Security Server. The feature is often referred to as Single Sign-On.
• Provide list of existing users in the login dialog: When this box is
checked, the Security Login dialog box displays all users in the User
Name dropdown list. This option is useful for touch-screen systems.
• Show last logged user in login dialog: When this box is checked, the
Security Login dialog box displays the name of the last user that
successfully logged-in in the User Name field.
• Time window for interacting with critical objects: This is the number of
seconds after logging in that a user will be allowed to manipulate a critical
point before being required to log in again. (Critical points are described
in the next section.)
• Security Mode: You can choose to authenticate using either the ICONICS
Security Server database or the Active Directory.

If using the Active Directory mode, it is possible to use groups and users defined
in the domain to create your security settings. The Security Server is able to read
data coming from Active Directory. Since we are connected to the Active
Directory constantly, whenever there is a change in users and groups in the
domain, the Security Server automatically gets the update. To preserve domain
security, you will not be able to add domain users or groups within the
Workbench from a domain node. The Domain Administrator will need to access
the domain controller in order to alter domain accounts.

Clicking on the Settings button next to the Security Mode, allows you to
configure domain connection settings and credentials, as shown in Figure 15.4.

• Domain name: the name of the domain that you wish to synchronize with
• Map username: sAMAccountName or userPrincipleName, as shown in
Figure 15.4. The sAMAccountName is the name of the Windows account
in the domain. The userPrincipleName is the Internet login style based on
the RFC 822 standard, and is typically the e-mail address in the form of
username@domain.com.

15-4 ICONICS, Inc


GENESIS64 Core Training Manual Security

• Domain connection credentials


credentials: Login credentialsls for the domain. You
should enter credentials that can query the Active Directory here.

Figure 15.4 - Active Directory Settings Dialog

15.4.1 Critical Points


On the Critical Points tab of the Global Settings dialog box, shown in Figure
15.5,, you can designate some subset of writable points (OPC data items) as
Critical Points. In order for a user to write a new value to a critical point, the
following two conditions must be met:

1. The user must be granted rights to the critical point via his or her user
configuration or via one of the explicit groups he or she belongs to; rights
cannot be granted from the Default Group.

2. The user must have logged in within the Time window for interacting
with critical
ritical events configured on the General tab of the Global Settings
dialog box.

If condition 1 is met, but not condition 2, the client application (for example,
GraphWorX32) will launch the Security Login dialog, requ
requiring
iring the user to login
again and satisfy condition 2. This identifies and authenticates the user who is
writing the value.

Critical points use the same include/exclude lists with wildcards concept as the
Points configuration (which we will discuss in details
ils in section 15.6.2) in the
user and group properties dialogs. This lets you specify multiple tags without
listing them individually.

ICONICS, Inc 15-5


Security GENESIS64 Core Training Manual

Figure 15.5 - Critical Points Settings

15.4.2 Critical Alarms


In the Critical Alarms tab of the Global Settings dialog box, shown in Figure
15.6,, you can designate a subset of alarms as Critical Alarms. When
acknowledging a critical alarm, a user must login again immediately before
acknowledging it,
t, thus identifying and authenticating the user who acknowledges
the alarm.

Critical alarms use the same include (allow ack)/exclude (deny ack) lists with
wildcards concept as the Alarms configuration (which we will also discuss later in
section 15.6.3)) in the user and group properties dialogs. This allows you to
specify multiple alarms without listing them individually.

Figure 15.6 - Critical Alarms Settings

15-6 ICONICS, Inc


GENESIS64 Core Training Manual Security

15.5 Security Objects and Their Relations


Security is created by adding security objects to the system. There are three types
of security objects: Account Policies, Groups, and Users, as reflected on the
navigation tree.

There is an intricate relationship between these objects. Let us first understand the
difference between a group and a user and how they relate before we talk about
account policies.

15.5.1 Group
A group is a collection of users that share the same privileges. By default, there
are no groups and any newly created group has the least restrictive permissions.
Meaning the group is allowed to do everything. You can edit the security settings
from the various tabs

After a group is created, you can add users as members of the group. You can add
any user to any number of groups, but only users can belong to groups. That
means you cannot have a group belonging to another group. However, you can
duplicate a group and then make changes to the duplicate if you want to create
similar groups.

15.5.2 User
A user is an account that has a name, password, and specific privileges. When you
first open the Security Server, there are no defined users. The first account you
create is the Security System Administrator account. After you apply the
configuration for this account, the Security Server requires you to login to it to
continue, which you should do in order to create additional user accounts.

Like groups, by default, when creating a new user, it has the least restrictive
permissions. Meaning the user is allowed to do everything. You can edit the
security settings from the various tabs.

When you define a user account, first you must fill in the Name field on the
Properties tab, as shown in Figure 15.7. You can use the Properties tab to change
account policies or, by checking the Account locked checkbox, to quickly disable
a user or group account.

ICONICS, Inc 15-7


Security GENESIS64 Core Training Manual

Figure 15.7 - Security Role Properties Tab

Figure 15.7 shows the Properties tab for a user account. A group account would
have a Properties tab with only the Name field for the account showing. Groups
do not have an account policy and they cannot be locked.

Just as in a group,, you can duplicate a user and make changes to it accordingly for
users with similar settings.

15.5.3 Groups and Users


The relationship between groups and users is, as you may have expected, users
belongs to groups. Or in other words, you can a add users to any group. When you
assign a user to a group, you are extending membership to the user. You extend
membership either by altering the user account or by altering the group account.
This is done
one in the Security Server using menu commands from the object's
context menu in the navigation tree control. Shown in Figure 15.8 is the
Membership command
ommand for a group; the same menu would appear for a user.

Figure 15.8 - Membership Command

15-8 ICONICS, Inc


GENESIS64 Core Training Manual Security

Use the Membership command for a group to open the Group Properties dialog
as shown in Figure 15.9.

Figure 15.9 - Users Members Dialog

You can then add users to a group by clicking on the Add button and select one or
more user accounts to add to the group, as shown in Figure 15.10..

Figure 15.10 - Select Users Dialog Box

The procedure for adding groups to a user account is nearly identical. When you
select the Membership command from the user account's context menu, you will
see a dialog box for User Properties that is nearly identical to the Group
Properties dialog shown in Figure 15.9.. Associate groups to a user by clicking
Add and select the groups, as shown in Figure 15.11.

Figure 15.11 - Select Groups Dialog

15.5.3.1 Permissions
When you add a user to a group, the user takes on the additional privileges of the
group, that is, the user inherits the group’s permissions. For example, if the group
has an allow permission to write to a certain process point, the users belonging to

ICONICS, Inc 15-9


Security GENESIS64 Core Training Manual

this group should have permission to write to the point as well, without
specifically specifying the permission again in the user permissions.

The user’s permissions are combined with the group permissions.


permissions This is
important to remember because if you deny a permission from the group, and then
grant the permission for the user, the effective permission is that the user will be
denied. A denied permission is always on top of the permissions hierarchy.

15.5.4 Accountt Policies


Now that we understand groups and users and how they relate, let us go back to
Account Polices. An account policy is a set of rules that you can apply to any a
user. A default policy exists, but you can create additional ones. The Default
Policy sets the base policy and is the one applied to any newly created user.
user You
can create multiple account policies, but you can only apply one policy to any one
user at a time.

Settings on the
he Account Policy form
form, as shown in Figure 15.12
12, determine how
passwords are useusedd and whether user accounts automatically locks out after a
series of incorrect login attempts.

Figure 15.12 - Account Policy Settings

The four sections on the Account Policy tab are very similar to the ones you
would see in a Windows domain
domain-based
based policy. You can use these settings to force
manipulate a user’s password settings, force a user’s password complexity,
complexity set an
automatic logout policy, and to specify password requirement on logout. Users
with access to sensitive data should be subjec
subjected
ted to more stringent policies than

15-10 ICONICS, Inc


GENESIS64 Core Training Manual Security

users who access non-sensitive data. The following policies are recommended for
users with access to sensitive data:

• Enforce a change of passwords after no more than 30 days; fewer for more
sensitive data access.
• Lock the account after three or four failed login attempts, and force the
locked out user to contact an administrator if access is not time-sensitive.
For time-sensitive access, consider an appropriate timeout period in the
Lock account for option.
• For the Auto Logout after option, set a reasonable logout time so that, if a
user leaves a console unattended, the system cannot be compromised.
• Enforce password length and complexity. A password of six characters or
more with mixed characters (alphabetic and numeric) is considered the
minimum required to defeat brute-force attacks.

The table below lists the fields and descriptions for the Account Policy tab.
Table 15.1 - Account Policies

Security Option Purpose


User cannot change If checked, the password can be changed only by an Administrator. If
password unchecked, the user can change it.
User must change If checked, the user must change the password that the account
password at first login starts with. If unchecked, the user does not.
Password expires in If checked, the user must create a new password after the current
(days) password has been used for the number of days specified. If
unchecked, the user can use a password for as long as he or she
wishes.
Allow changing If checked, the user cannot change the password again inside the
password after (days) number of days specified. If unchecked, the user can change the
password again at any time.
Lock account after If checked, the account locks (and cannot be used) after anyone
failed login (N using the account to log in enters the wrong password the number of
attempts) times specified. If unchecked, there is no limit.
Reset login attempt If checked, the number of minutes (1 to 999) that must pass
after (minutes) between any two login attempts to ensure that a lockout will not
occur. If unchecked, the login does not reset after failed attempts.
Lock account forever If selected, when the number of failed logins is reached, the account
(until admin unlocks) is locked and requires a Security Server administrator to unlock the
account.
Lock account for If selected, when the number of failed logins is reached, the account
(mins) is locked and cannot be logged in until this number of minutes has
passed.
Minimum password The minimum number of characters required in the account’s
length password.
Minimum number of The minimum number of numeric characters or symbols (in addition
non-alphanumeric to letters) required in the account’s password. Setting this option to
chars at least 1 is a good idea.

ICONICS, Inc 15-11


Security GENESIS64 Core Training Manual

Security Option Purpose


Password strength A regular expression, which is the pattern describing a certain
regular expression amount of required text of the account’s password. (Its name comes
from the mathematical theory on which it is based.) A few
expressions are provided in the Tip at the end of this table.
Auto Logout after If checked, the number of minutes (1 to 999) from the time of user
(mins) login to the time the system automatically logs the user off. If
unchecked, the user is never automatically logged out. By default,
this feature is enabled and logout occurs after 60 minutes.
Password required to If checked, a password is required to log out. If not checked, no
logout password is required for logout.

Tip! You can use regular expressions to enforce password strength.


Providing detailed information on regular expressions is out of the scope of
this chapter, but you can find more details about regular expressions online.
To get you started, you can try the strings below.

• ^[a-zA-Z''-'\s]{1,40}$
Sets a name up to 40 characters with some extra symbols such as apostrophe or
comma. An example would be John Smith.
• ^\d{3}-\d{2}-\d{4}$
Useful for a social security number. An example would be 123-45-6789.
• (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$
Sets a strong password between 8 and 10 characters which must contain at least
one digit and one alphabetic characters, and must not contain a special character.

15.5.4.1 Time-Based Restrictions


The Time Sheet tab for account policies, shown in Figure 15.13, allows time-of-
day restrictions on an hourly basis for users and groups. For hours that are
selected (highlighted) in the lists, access is allowed. For hours that are not
selected, access is denied. Figure 15.13 shows a configuration that allows access
from 8AM to 6PM for a five-day work week.

You can use the Shift and Ctrl keys to make your selections. When you want to
create a range or extend a range of selected time for inclusion, hold down the
Shift key and click the start and end of the range. If you already have a range
selected, hold down the Shift key then click on the point to which you would like
to extend the selected range. Holding down the Ctrl key allows you to click and
select noncontiguous areas of the time sheet.

15-12 ICONICS, Inc


GENESIS64 Core Training Manual Security

Figure 15.13 - Time Sheet Settings

15.5.5 Account Policies and Users


Each user is tied to an account policy. You may not apply an account policy to the
group. Relationships for Account Polices only apply to user accounts. Each user
account must have an account policy. As you now know, the account policy
dictates how often a password needs to be change, how complex it needs to be, as
well as how to handle multiple login failures. You may need different account
policies for different users, however, each user can only use one account policy.

15.6 Security Privileges


The Security Server organizes users and groups into two separate forms. The
settings for both users and groups are nearly identical. You can apply security
privileges at either the group or the user level
level.. The Security Server uses the
following rules for determining whether a privilege is extended or denied:

1. If a user lacks a privilege and is added to a group that has that privilege,
the privilege is extended to the user.

2. If a user or group has a privilege that is denied, the privilege is denied to


the user even if the user was given that privilege at the user account level.
Denials always take precedence
precedence.

15.6.1 Application Actions


Application Action privileges may be extended or denied to users and groups
based on the client application. The Application Actions tab, shown in Figure
15.14,, is where these privileges are configur
configured.
ed. Each GENESIS64 application
exposes its own set of actions and you have fine control over each particular

ICONICS, Inc 15-13


Security GENESIS64 Core Training Manual

action. When you create a new account, all application actions are enabled. You
should begin the configuration of an account by visiting the Application
Applic Actions
tab and setting the proper application restrictions.

Figure 15.14 - Security Role Application Actions

For example, you can expand the Pick Actions node and uncheck the Run Script
item to prevent the user from bbeing
eing able to execute scripts. This lets you set up
security so that some users can perform actions that others cannot.

15.6.2 Process Points


A GENESIS64 application will be denied access to OPC points if denied by the
Security Server. As with the file names, OPC point addresses with or without
wildcards are placed in the include or exclude lists for each user or group.

Before a GENESIS64 client reads a value from or writes a value to an OPC server,
the OPC point address is sent to the Security Server to determine if the operation
should be allowed based on the currently logged
logged-in
in user(s) and or the groups to
which they belong. Use the Points tab, shown in Figure 15.15,, to configure which
OPC output points are allowed to be read from and written to by the user or group.

Figure 15.15 - Security Role Points Tab

15-14 ICONICS, Inc


GENESIS64 Core Training Manual Security

The Points tab is divided into two sections: Include ((Allow


Allow these operations)
operations and
Exclude (Deny
Deny these operations
operations).
). To add additional criteria, click on the next
blank line and enter the required string. During runtime, when a GENESIS64
client sends an OPC point address to the Security Server for access testing (to see
if it is granted or denied), the Security Server compares the OPC point address to
the include and exclude lists as described below for each active user and an group
until access is granted:

1. Security Server compares the OPC point address with each string in the
include list until a match is found. If no match is found, access is denied.

2. If a match is found in the include list, Security Server compares the OPC
point
oint string with each string in the exclude list. If no match is found in the
exclude list, access to the point is granted, and no further testing of active
groups and users is performed. But if a match is found, access is denied.

Please see section 15.6.6 for more information about Permissions and section
15.6.7 for more information about Wildcards and Performance Optimization.

15.6.3 Alarms
You can also protect individual alarms and groups of alarms by placing alarm
names, with or without wildcards, into tthe he include list (to allow
acknowledgement
acknowledgement) or the exclude list (to deny acknowledgement)
acknowledgement for a user or
group. GENESIS64 applications will query the Security Server for alarm access
before acknowledging an alarm. The Alarms tab, shown in Figure 15.16, is used
to allow or deny user acknowledgement of alarms during runtime.

Figure 15.16 - Security Role Alarms Tab

ICONICS, Inc 15-15


Security GENESIS64 Core Training Manual

The runtime processing and wildcard pattern matching for the Points tab apply
here as well. Please see section 15.6.7 for more information about Wildcards and
Performance Optimization.

15.6.4 Files
You can also protect individual files and groups of files by placing file names,
with or without wildcards
wildcards, into the include list (to allow access) or into the
exclude list (to deny access) for a user or group. When opening a file, Security
Server
erver checks for GENESIS64 permission to see if the user has permission to
read, write, and/or modify the file. Files that are typically secured in this way are
GraphWorX64 display files.

You can grant file permissions for the following actions:

• Read lets a user open existing files in runtime and configuration mode.
• Write lets a user create and save new files.
• Modify lets a user modify and save existing files.

The Files tab, shown in Figure 15.17,, controls access to files that GENESIS64
applications may open at runtime. Entries here would be used to restrict certain
users or groups from viewing, for example, specific GraphWorX64 displays.

Figure 15.17 - Security Role Files tab

The runtime processing and wildcard pattern matching for the Points tab apply
here as well with the following differences:

15-16 ICONICS, Inc


GENESIS64 Core Training Manual Security

• The pattern matching is done on the file extension, separate from the file
name, to match the DOS wildcard semantics. For example, the wildcard
string to indicate all files is *.*
• File names entered without a path are considered a match no matter what
directory they are in.

Please see section 15.6.7 for more information about Wildcards and Performance
Optimization.

15.6.5 Stations
Use the Stations tab, shown in Figure 15.18,, to grant access to (allow
( login) or
restrict access from ((deny login) specific nodes on the network. Each node on a
Microsoft network is identified by a unique computer name.

Figure 15.18 - Security Roles Stations Tab

To add a station to either list, click on the Ellipsis button. This displays the Select
Selec
a Station dialog, as shown in Figure 15.19. Select the Station Name from the
dropdown list, or enter the name or system IP address to define the station sta
criteria. Then click on OK.

Figure 15.19 - Select a Station Dialog Box

ICONICS, Inc 15-17


Security GENESIS64 Core Training Manual

15.6.6 Permissions
Permission to access a certain resource is granted to a user only after a security
check is performed. The security check verifies the user’s permission for the
resource, as well as his or her groups’ permissions on that resource. It is important
that you understand how the system evaluates the permissions so that you set
them up correctly. You should keep in mind the following security behaviors
when setting up permissions.

A group identifies permissions for its user members. When a user, who is a
member of multiple groups, tries to access a resource, the most restrictive
permission in place for that resource is used. For example, group G1 allows write
access to Tag1, while group G2 denies write access to Tag1. If User1 is a member
of only G1, he will be able to write values to Tag1. But if he is member of both
G1 and G2, he will not be able to write values to Tag1 because the denial of
access from G2 (that is, the more restrictive permission) is used.

Explicit permissions set for the user are combined with the user’s group
permissions. Following the example above, if User1 has explicit access that
allows him to write to Tag1 and he is a member of G2, he will be allowed to write
a value to Tag1, because the user setting overrules the group one.

Restrictions posed by the Deny list overrule permissions granted in the Allow list.
This means that if a resource is in both lists, the user will not be allowed to access
the resource. Although it may seem strange that a resource would be in both lists,
this is likely to happen when you use wildcards. For example, if you want to deny
a user access to resource R1 only, you might put ‘R1’ in the Deny list and the
wildcard character ‘*’ in the Allow list (which also matches with R1). As a result,
the system will find R1 in both lists, and will deny access to R1 because the Deny
list overrules the Allow list.

15.6.7 Wildcards and Performance Optimization


The previous sections have described the use of wildcards in place of tag names,
file names, and other strings. Using wildcards lets you represent a swath of
resources with just one string, letting you save time when configuring security.
However, saving time is not the only advantage to using wildcards.

To better understand this, it is important to note that the system will always
perform a security check when a user tries to access a resource. For example,
when a user performs an action to read a tag value, the system uses the
information in the user’s Allow and Deny lists, as well as the Allow and Deny

15-18 ICONICS, Inc


GENESIS64 Core Training Manual Security

lists for the user’s group. A comparison with all the strings in these lists is needed
to check for access permissions. If there are many strings in those lists, the whole
system slows down. Additionally, because access to a tag is granted now may be
denied a second later (because the security privileges may have changed), a
security check is performed each time the user accesses the tag, further slowing
the system.

For this reason, having fewer strings to compare would improve overall
performance. Therefore, it is always a good idea to try to use wildcards and to set
up your system with these limitations in mind. Here are some examples of
wildcard characters:

? Any single character


* Zero or more characters
# Any single digit (0..9)
[charlist] Any single character in charlist
[!charlist] Any single character not in charlist

15.7 Logging-in and Logging-out


After the Security System has been set up, it will be necessary for users to log into
the system to do their work and log out when they have completed their work so
that their access can be authenticated based on the permissions granted to them.
Authentication is handled by the Security Login dialog.

In GENESIS64, it is possible to log in and log out in both GraphWorX64 and the
Workbench. It does not matter where users log in, they will be able to use all the
GENESIS64 applications they have permission to access. The same is true for
logging out; a logout takes effect throughout all GENESIS64 applications.

15.7.1 Security Login Dialog


To authenticate yourself, you must invoke the Security Login dialog, which you
can launch from within the Workbench or GraphWorX64.

Open the Security Login dialog from the Workbench by clicking the Log In\Log
Out button from the Workbench menu as shown in Figure 15.20.

ICONICS, Inc 15-19


Security GENESIS64 Core Training Manual

Figure 15.20 - Opening the Security Login Dialog from the Workbench

Open the Security Login dialog from GraphWorX64 by clicking the


Login/Logout button from the Tools menu in runtime, as shown in Figure 15.21.

Figure 15.21 - Opening the Security Login Dialog from GraphWorX64

Once the Security Login is open, as shown in Figure 15.22,, enter your login
information, and then click on Log In to authenticate. If the information you have
provided is correct, you will be logged in to the system. Otherwise, you will be
notified of that you have entered erroneous information and the Security Login
dialog stays open for you to try again.

Figure 15.22 - The Security Login Dialog

It is also
so possible to show a Keypad window for touch screen systems. This can
be helpful if you do not have a keyboard available.

15-20 ICONICS, Inc


GENESIS64 Core Training Manual Security

You can also use the Security Login dialog to change your password. You will be
asked to type your current password, and then to type a new password twice for
confirmation.

To log out, use the Security Login dialog by clicking on the Log Out button.
Depending on how your security profile is set up, you might be asked to enter
your password to log out as well.

Clicking on the Advanced button


tton lists the users who are currently logged in, the
time at which each logged in, and the time at which each will be automatically
logged out, as shown in Figure 15.23.

Figure 15.23 - The Security Login dialog in Advanced Mode

15.7.2 Multiple Logins


As you may have noticed in Figure 15.23,, it is possible for more than one user to
log in from the same node. This happens when a user logs in while anotherano user
has already logged into the system. It is important to note however, that only the
last user that logged in is the active user, leaving other logged in users in a stand-
stand
by mode.

Using multiple logins is helpful if you need someone with additional permissions
to perform a task you don’t have rights for, or when you are getting help from an
Administrative user. For example, someone with administrative rights may come
to your machine to perform a task that requires administrative permissions. He
wouldd log in with his credentials, do what he needs to do, and then log out,
returning control to you.

ICONICS, Inc 15-21


Security GENESIS64 Core Training Manual

15.8 Advanced Settings


The GENESIS64 Security System also includes some advanced features that you
may find useful when working with GraphWorX64 and other client
clien applications.

15.8.1 Hiding GraphWorX64 Layers Based on Security


In GraphWorX64 displays, layers can contain any type of object and data.
Furthermore, GraphWorX64 displays typically contain data that is accessible to
one employee but not another. Creating diffe
different
rent displays for each user or group
would be time-consuming
consuming and it would be difficult to maintain solutions created
in this way.

To help you in this task, GraphWorX64 allows you to show and hide layers based
on users’ security permissions. In this way, yo
youu can create a single display with
information separated into layers that shows or hides depending on the logged in
credentials.

In the following example, a layer, called SecuredLayer, contains critical


information, as shown in Figure 15.24,, needs to be secured. Non-critical
Non
information resides in a separate layer.

Figure 15.24 - Creating a secured layer

For the SecuredLayer to follow security rules, its HideWhenSecurityDenied


property must be set to True in its Propert
Properties tab, shown in Figure 15.25.

Figure 15.25 - Setting HideWhenSecurityDenied Property

What this achieves is that the critical information will be hidden to a user whose
security denies it from viewing the layer. However, the you still need to configure
the Security
ity Server to allow or deny a user access to the SecuredLayer.

15-22 ICONICS, Inc


GENESIS64 Core Training Manual Security

This can be done in the Files tab of a user or group. By default, one layer is
always accessible to everyone, but you can easily deny a user access to it by
adding the layer to the list of deni
denied points, using custom syntax.

The custom syntax you use in the list of denied files is FileName|LayerName
FileName –
consisting of the file name and the layer name separated by a pipe (|) symbol. In
the security example below, the GraphWorX64 display file is called call
MyDisplay.gdfx, and the layer is called SecuredLayer. Access to this critical layer
is denied to UserA.

Figure 15.26 - Denying a user access to a secured layer

With these settings, when UserA accesses MyDisplay.gdfx, the layer called
SecuredLayer will not display. Restoring access to UserA is as easy as modifying
this Security form.

15.8.2 The ?DataPoint:TAGNAME Feature


We have just seen how to show and hide a layer depending on the Security
permissions for a specific user. This can be a useful feature, but there are details it
does not address. For example:

• Hide an individual object that cannot be part of a layer, such as a 3D


object in a 3D View control

ICONICS, Inc 15-23


Security GENESIS64 Core Training Manual

• Have a specific dynamic to be based on security permissions. For example,


to change the background color to red for a data source that the user can
only read, but to green for a data source that the user can also write values
to
• Use scripting to return information about the user’s security permissions
for certain data sources

To address these needs, GENESIS64 Security System provides an advanced


feature that lets you query the user’s security status of a single point by reading
another point.

Suppose you want to know the current user’s permissions for the following point:
@sim64:Float.Sine(10,0,100,0).Value
@sim64:Float.Sine(10,0,100,0).Value.. If you create a Process Point using that
tag name as the point’s data source, you can see the point’s value in runtime mode.
If you modify the tag name by preceding it with ?DataPoint: you will get a
different value: a bitmask of the user’s permissions ffor or that point. Consider the
following example in Figure 15.27,, which shows the point’s value in the top line
and the security value (that is, the user’
user’ss permissions) in the bottom line:

Figure 15.27 - Accessing Security Information

As you can see, the security value is 3. The possible values are:

• 3:: the user can both read and write to the point (the write bit is set to 1, the
read is bit se
sett to 1, which is ‘11’ in binary, or 3 in decimal).
• 2: the user can only write to the point (the write bit is set to 1, the read is
bit set to 0, which is ‘10’ in binary, or 2 in decimal).
• 1:: the user can only read the point (the write bit is set to 0, the
th read bit is
set to 1, which is ‘01’ in binary, or 1 in decimal).
• 0: the user has no access to the point (both bits are set to 0).

In this example, the value is 3, therefore we know the user has both read and write
permissions to the point.

15-24 ICONICS, Inc


GENESIS64 Core Training Manual Security

Tip! If you would like the process point to show up with meaningful text
instead of numbers that represent the different states, try using state fields.

15.8.3 Hiding or Showing Objects Based on User Permissions


Now that we have seen how to read the security permissions of a user for a
specific point, we will use this information to show and hide a 3D object.

NOTE: You cannot use GraphWorX64 layers to show or hide 3D objects based
on security; instead, you must show and hide them individually. The same is
true of all other GraphWorX64 objects.

Before we begin, it is important to note that a point does not need to exist in any
OPC server in order to set security permissions on it. However, the Security
Server, when asked, will tell us if a certain user has permissions to read or write to
the point.

With this in mind, there are two scenarios to consider:

• Scenario 1: Prevent an object from showing when the user lacks


permissions to access the object’s data sources. For example, you do not
want to show a boiler if the user has no access to its temperature data
source.
• Scenario 2: Set security permissions based on the confidentiality of the
data, and set it independently from other factors.

In the first scenario, you would use an existing data source. However, in the
second scenario, you would use a non-existent point, giving it a custom name that
is meaningful for your application but does not match the name of any existing
data source. For example, you might want to be able to set permissions easily for
highly-secured objects, one type of object is called CriticalObject. You can use
CriticalObject as the custom name of a non-existent data source that you use only
for the purpose of evaluating user permissions to access the object.

Let us take a look at an example of how you might set this up.

First, you set up UserA’s permissions to deny him read/write access to the non-
existent point, which in this example is called CriticalObject. The non-existent
point acts as a real data source, but if you try to read its value, you will not get a
valid value because the point does not exist.

ICONICS, Inc 15-25


Security GENESIS64 Core Training Manual

In Figure 15.28,, you can see the non-existent CriticalObject pointt added to the list
of denied data sources for UserA, and the user is denied both read and write
access. If you refer back to the user permissions values on page 15-24, you will
see this means that this sets the user’s security permissions value for the
CriticalObject point to 0 (zero).

Figure 15..28 - Preventing the User from Reading and Writing to CriticalObject

Next, configure a GraphWorX64 display that contains the 3D objects you will
show or hide depending on the user’s permissions.

In Figure 15.29,, the 3D objects are a don


donut
ut and a sphere. The sphere is selected.
Note the following settings for the sphere, which are shown on the right:

• Its data source is ?DataPoint:CriticalObject.. This means it will retrieve


the user’s security permissions for CriticalObject.
• Its HideWhen dynamicnamic is set to hide the sphere when the data source
value (which in this case is the user’s security permissions) is equal to 0,
which means the user has no read and write permissions.

Figure 15.29 - Using a Hide Dynamic Combined with Security Settings

15-26 ICONICS, Inc


GENESIS64 Core Training Manual Security

If you login with Administrator privileges, you will see that for administrators, the
display shows all of the objects in the 3D View control, as shown in Figure 15.30.

Figure 15.30 - 3D View Control Seen Using an Administrator Account

Now, if you log in as UserA, you can see that the content has changed to reflect
the permissions granted to UserA; the sphere is no longer visible, as shown in
Figure 15.31.

Figure 15.31 - 3D View Control Seen Using UserA Account

This advanced feature gives you very granular control over what users can see in
a GraphWorX64 display. You can use layers for an easy-to to-configure and
powerful security integration, and you can use the ?DataPoint:
?DataPoin feature when
layers are not sufficient.

ICONICS, Inc 15-27


Security GENESIS64 Core Training Manual

15-28 ICONICS, Inc


GENESIS64 Core Training Manual Lab 15: Security

Lab: Security 15

15.1 Lab Overview


Many companies require security to prevent outsiders from looking at and
controlling their displays as well as give different permissions to different people
within the company. There is no exception; icTonics needs some security feature
as well. In this lab, we will secure the icTonics project.

Estimated time to complete this lab: 20 Minutes

15.1.1 Task Checklist


In this lab, you will complete the following tasks:

• Create security users


• Create user group
• Add security user to a security group
• Configure application Actions
• Configure secure layer

15.1.2 Support Files


To complete this lab, you will need the following file:

• icTonicsHome.gdfx

15.2 Security Users


On the icTonics production floor, there are operators and administrators. The
administrators can do anything they want. However, the operators are not allowed
to configure applications or close and exit runtime of the GraphWorX64 display.

ICONICS, Inc L15-1


Lab 15: Security GENESIS64 Core Training Manual

In this section, we will add an administrator that can do everything as well as an


operator, who has limited permission on the system.

1. Open the Workbench if you have closed it from the previous lab.

2. In the Project Explorer, click on the Security Server button

3. Right-click
click on Users and select User to add one

4. In the Properties of the user tab, give the us


user
er a name of “Administrator” and
set “admin” as its password.

5. You’ll see that your configuration now becomes grayed


grayed-out.
out. This is because
once you’ve add a user security immediate applies.

6. Log into the system by clicking on the big round button on the top left-hand
l
corner of the Workbench and then select Log In
In\Log Out

7. This should bring up the login dialog. Enter your user name and password to
log in.

8. Now add another user and call this Operator and use “operator” as the
password.

9. Select the Application Actio


Actions
ns tab, and uncheck EarthWorX and Workbench;
this should limit the user from coming into the Workbench to change
configurations. Under the GraphWorX64 section, uncheck Exit Application so
that he would not be able to close the display. Go under the GraphWorX64
GraphWo 
Menu and uncheck the Exit Runtime option as well.

10. Go to the Files tab, in the Deny these operations section, put in
“*.*|SecuredLayer”. When you log in with operator, you will not see this layer.
Apply and Save the configuration.

11. Open your icTonicsH


icTonicsHome
ome display and go into runtime without anyone logging
in. You should see a screen with locks and the security login dialog comes up
automatically.

12. Click on the Login button and log in as the Operator, you should only see the
welcome message and the Login button.

13. Noticed that when you are logged


logged-in
in as the Operator, you cannot exit the
application. Your configured button is grayed
grayed-out.

L15-2 ICONICS, Inc


GENESIS64 Core Training Manual Lab 15: Security

14. Log in again by clicking on the Login button, and login as the administrator,
you should now see your other navigation buttons on the bottom of the screen.
You should also be able to go back into configuration mode.

15.3 Security Groups


You may have more operators than one and you may want to create individual
logins for each of the user. It would be most inefficient if you need to configure
security settings to each of the users. In this section, we will create a user group,
configured security settings for the group, and associate user to this group. The
users will then inherit the group permission.

1. In the Project Explorer, right-click on Groups and select Role to add a new
role

2. In the Role configuration, give the Role the name Operators

3. In the Application Actions tab, give this group the same Actions that you did
for the user Operator.

4. Create a new user call “Operator2” and use “operator” as the password again.

5. Go to the Application Actions tab and click on the “Unselect All” button so
that there are no application permissions here. Click on Apply. You will get a
message giving you a warning that the user will not have any application
permissions. Click OK to acknowledge the message.

6. Right-click on Groups in the Project Explorer and select “Membership…”;


this will open the Group Properties dialog.

7. Click on the “Add” button, select Opeartor and Operator2 in the Select Users
dialog and click on OK.

8. Exit the Group Properties membership dialog. You can check that the two
users are in the Operators group by right-clicking on each of the user in the
Project Explorer and select “Membership”. The dialog that comes up should
display that the user belongs to the Operators group.

9. To test this functionality, bring up the log in dialog and log out any existing
user.

10. Open the icTonicsHome display and go into runtime. In the security login
dialog, choose Operator2 and type in the password to log in.

ICONICS, Inc L15-3


Lab 15: Security GENESIS64 Core Training Manual

11. You should then see the display as you would if you were logged in with
Administrator, accept you cannot exit the display.

12. Log in with Operator again. Even though we did not deny access to the
Operator group for the secured layer and the user inherits the permissions
form the group, the user still cannot see the layer. That is because we
specifically denied it for Operator.

L15-4 ICONICS, Inc


GENESIS64 Core Training Manual Security Review

Security Review R15

15.1 Objectives Review


You should now know and understand the following topics:

• Create an Administrator user for GENESIS64 Security Server


• Create standard user accounts for use with GENESIS64 Security
• Set up security groups and users
• Create account policies
• Set security privileges to define what a user can do
• Log in and log out from the system
• Use Active Directory accounts

15.2 Summary
GENESIS64 Security System allows you to define users, groups, and policies in
order to determine which users are allowed to use the system, and what they can
do in it.

To set up an efficient Security System you first need to create an Administrator


account that you can use for further security configuration of the system. Once
you create it, you can define additional users and groups for additional employees
who need to access the system.

Security is created by adding account policies, user accounts, and groups of user
accounts to the system.

An account policy is a set of rules that you can apply to a user and group. You can
create multiple policies, but only one policy may be enforced for any one user or
group at a time. This affects aspects like password expiration, account locking,
password strength, and so on. You can also apply restrictions based on different
parameters (for example, time-based parameters) to enforce access to some
specific resources.

ICONICS, Inc R15-1


Security Review GENESIS64 Core Training Manual

You also define permissions for users and groups. Permissions allow or deny the
user or group access to application actions, points, alarms, and so on.

The GENESIS64 Security System also includes advanced features that you may
find useful when working with GraphWorX64 and the other client applications.
You can, for example, prevent a user from visualizing a layer. You can also use a
special syntax to query the security status of a resource like an OPC point. Using
this feature, you can hide individual objects, like a 3D element in a 3D View
control.

15.3 Terms
Account Policy Critical Point Critical Alarm
Membership Regular Expression Security Group
Security Item Security Privilege Security System
Security User

15.4 Test Your Knowledge


In this chapter, we discussed how to configure and use GENESIS64 Security
Server. Before continuing to the next chapter, make sure you can answer the
questions below:

1. In which application can GENESIS64 Security be configured?

a. None; you must use SQL Server


b. Workbench
c. GraphWorX64
d. A command box

2. What special account must you create before you can configure your Security
System?

a. A highly-secured group account


b. The start-up account
c. An Administrator account
d. No special account is needed

R15-2 ICONICS, Inc


GENESIS64 Core Training Manual Security Review

3. What do you need to edit if you want to enforce a specific password format
for a user?

a. The account policy used for that user


b. The group account used for that user
c. The user’s account
d. The account policy used for the user’s group

4. How do you alter the number of failed login attempts that are allowed?

a. On the user account, set the number in the Lock account after failed
login (N attempts) field
b. On the global settings, set the number in the Lock account after failed
login (N attempts) field and check the checkbox
c. On the account policy, set the number in the Lock account after failed
login (N attempts) field and check the checkbox
d. You cannot change it; the number of login attempts allowed is always 3

5. What can be used to enforce a hard-to-crack password?

a. You must use scripting


b. Global Security settings provide a random password mask
c. You must use third-party password tooling
d. Use Regular Expressions to define a password format

6. Is it possible to log in with the current Windows user, rather than having to
manually log in?

a. No, all users must log in manually


b. Yes, use the Automatically login the current Windows user option in
the General tab of the Global Settings
c. Yes, users can click the Automatic login button in the Workbench
d. Both b. and c. are available

ICONICS, Inc R15-3


Security Review GENESIS64 Core Training Manual

7. Which of the following statements about Application Actions are true?

a. Application actions are organized hierarchically.


b. There is an application action for each GENESIS64 product
c. Each GENESIS64 product has a hierarchy of actions that you can control
d. Application actions can be set for groups and for individual users
e. All of the above
f. None of the above

8. What is the name of the property that can be used to secure a layer inside a
GraphWorX64 display?

a. Hide When Security Denied


b. Hide Data
c. Show Data Layer
d. Hide Layer

9. What does the ?DataPoint:TAGNAME feature do?

a. Queries the account policy for user access


b. Redirects data to a user who has access to an OPC point
c. Temporarily allows write permissions
d. Queries the user’s security permissions for an OPC point

R15-4 ICONICS, Inc


GENESIS64 Core Training Manual Glossary

Glossary A
Account Policy is a set of rules that define login and logout policies for set of users and/or
groups.

Address Space is an organizational scheme for objects. One is used in OPC UA for objects,
properties, and relationships.

Alarm Area, or Area for short, is a logical folder grouping option that allows you to categorize
and organize your alarms. You can have any number of areas and subareas. You can also
associate alarms to any number of areas as you wish. Alarm clients can use area for filtering
purposes.

Alarm Filter is a rule that controls which alarms and how they display in the viewer in runtime.

Alarm Logger Columns are defined within an Alarm Logger Configuration. A column
represents an alarm attribute that you would like the log into the database. The name of the
column is the name of the table field.

Alarm Logger Configuration stores information such as the subscription the alarm and/or event
server and the database to which you want to log the alarm information. You can configure as
many alarm logger configuration as you please, but you must add it under an Alarm Logger Node
to make the configuration active. This should not be confused with the Alarm Logger
Configuration Database. You can only have on active alarm logger configuration database at a
time.

Alarm Logger Node refers to a computer where you want to use the Alarm Logger
Configurations. The node is typically the local computer name or IP address where the
AlarmWorX64 Logger is installed.

Alarm Indication Dictionary contains a set of conditions along with symbols or icon to display
when the condition for the alarm becomes true.

Alarm State Value is used by digital alarms to indicate which state to trigger an alarm. Since the
alarm is digital, the two values that this state can have is 1 or 0.

ICONICS, Inc A-1


Glossary GENESIS64 Core Training Manual

Alarm Subscription is the connection between the alarm client and the alarm server. This
determines which alarms the server will send to the client.

AlarmWorX64 is a set of application that can be used to monitor device conditions and events.
The applications are split into the Alarm Server, Alarm Logger, Alarm Viewer. Once alarms are
configured in the server, you can log the data using the Alarm Logger or view it through the
AlarmWorX64 viewer. The AlarmWorX64 viewer can run within the Workbench, or as a viewer
within GraphWorX64.

AlarmWorX64 Server is the application used to generate alarms notifications. It receives OPC
complaint DA or UA data and generates alarms based on configured information. It sends
generated alarms to any subscribed clients.

Alarm Tag is an OPC AE tag that defines an alarm. You can associate an OPC DA or OPC UA
tag to monitor the values. Inside this tag, you can set up the different alarm types.

AlarmWorX64 Viewer is a client application that subscribes to OPC UA or OPC AE serves. The
viewer allows you to view alarms and events based on the Alarm Subscription and properties set
in the viewer.

Alias Theme is a type of classification that links a global alias to one or more data values and
bundle Global Aliases together.

Alias Value is a predefined value for a Global Alias that can resolve to during runtime when the
correct theme is set.

Client Side Filtering is a type of alarm filter. You can create client side filtering from OPC AE
clients to limit the amount of alarm going to the destination. This does not limit the server from
sending the alarms to the alarm client.

Common Object Model (COM) is a Windows communication protocol designed for inter-
application communication.

Configuration Mode is a design mode for GENESIS64 that can display sample data, but not live
or historical data.

Conversion Alias is a type of language alias. This type of alias converts one type of
measurement unit to another. The final real-time value depends on Unit Bindings and Unit
Conversions defined in the Language Alias configuration.

Critical Alarm is defined in the security system. When acknowledging Critical Alarms you must
login again and acknowledge the alarms within a defined period.

A-2 ICONICS, Inc


GENESIS64 Core Training Manual Glossary

Critical Point is defined in the security system. When you try to write to this point, you must
login again and write to the point within a defined period.

Database Group is a hierarchical grouping in the TrendWorX64 configuration that allows you to
connect to a database for storing data. You can also optionally connect to a secondary database
for redundancy.

Data Aggregation is a feature of UDM Registers, which pools together OPC tag requests from
clients to reduce I/O traffic to a hardware device.

Data Bridging is a feature of UDM Registers, which sends a device’ s output to another device.

Data Collection Rate is the rate at which samples are collected (read) from the OPC server.

Data Entry Object is a Process Point Object that allows you to write to during runtime.

Data Pre-fetch is a feature of UDM Registers, which polls and collects output from a hardware
device in anticipation of incoming client requests.

De-cluttering is a method of showing or hiding details of a display based on the zoom level
using Layers.

Deviation Alarms is one of the alarm types. It uses two inputs and takes the absolute value of the
difference between these two inputs. Alarms are generated when this difference exceeds the Hi
and HiHi limit or falls below the Lo and LoLo limit.

Digital Alarm is one of the alarm types. It tags a Boolean tag or expression that evaluates to
either 1 or 0 and triggers an alarm based on the Alarm State Value you entered.

Display Refresh Rate is the rate at which the TrendWorX64 Viewer updates the viewer with
new data. This rate along with the Data Collection Rate determines how much data is in the
viewer buffer.

Distributed Control System (DCS) is a control system whereby the controllers are
geographically distributed and independent. Data from these remote devices are usually collected
by a central server.

Dynamic is an action property of an object that makes the object actionable or changeable.
Dynamic actions include dimension, color, selectors, and other actions available in
GraphWorX64.

EarthWorX64 is a geographical and asset management application based on GIS and


Microsoft’s Virtual Earth. EarthWorX64 can run within the Workbench, or as a viewer within
GraphWorX64.

ICONICS, Inc A-3


Glossary GENESIS64 Core Training Manual

FrameWorX64 is the ICONICS GENESIS64 OPC UA server. All communications between


client applications and OPC data sources go through the FrameWorX64 server.

GENESIS64 Controls is a set of controls that allows you to view other data. The viewers
include: AlarmWorX64, TrendWorX64, GraphWorX64, EarthWorX64, and Smartpins.

GenBroker is a service that uses COM/DCOM to communicate with GENESIS32 clients for
backward compatibility.

GenEvent is an event generated by ICONICS. The event can be, but not limited to, a write to
OPC tag ora startup of a service.

GenTray is an application used to configure the GenBroker service that communicates with
legacy OPC data sources.

Global Alias is a reusable variable that can have one or more values. A global alias is configured
and stored in the Global Aliasing System (GAS) database is available for use with all
GENESIS64 applications and can optionally be assigned to a theme; a global alias created
dynamically in a GENESIS64 file is available only in that file and does not have a theme

GraphWorX64 is the GENESIS64 display technology that allows you to build HMI or SCADA
GUIs. GraphWorX64 is the lone GENESIS64 application that can run as a standalone
application outside the Workbench.

GraphWorX64 Content Area is the defined display space where you can add GraphWorX64
objects. In this area, you can build your HMI display.

GraphWorX64 Template takes a .tdfx extension. You can use this to create displays with
uniformed information in it.

GUI stands for Graphical User Interface, which is the screen that an operator uses to control an
application

HMI stands for Human Machine Interface, a GUI display for automation and control software.

History Refresh Rate is similar to the Data Refresh Rate. However, instead of refreshing and
updating the viewer with real-time data, the History Refresh Rate determines how often the
viewer is updated with historic data.

Home Page is a dedicated space of GENESIS64 Workbench’s content area reserved for a web-
based display of your choosing. You can incorporate contents such as RSS feed or a web site into
this page.

Hyper Historian is a high speed data logger that can store data to disk for later analysis.

IAC stands for Inter-application communication, which are methods for applications to pass data.

A-4 ICONICS, Inc


GENESIS64 Core Training Manual Glossary

ICONICS Viewers includes the GraphWorX64, AlarmWorX64, TrendWorX64, and EarthWorX


viewers. These viewers serve as container, allowing you to view the respective information.

Key Performance Indicator (KPI) is a set of variables used to determine the success of an
operation. For example, managers may use KPIs to indicate if the resources in a plant floor are
used to maximize productivity.

Language Alias is used to substitute one string for another but allows you to define each value
for different languages.

Layer are levels of a display that you can arrange objects into. You can hide or show layers
under specified security or zoom conditions.

Limit Alarm is one of the alarm types available. When configured, it can generate alarms based
on thresholds that you configure. The thresholds for this alarm type are LoLo, Lo, Hi, and HiHi.
Values at LoLo or below generates a LoLo alarm; values between LoLo and Lo, including Lo
generates a Lo alarm; values between lo and Hi (exclusive) are considered normal; values at Hi
or above, but below HiHi generates a Hi alarm; values at HiHi or above generates a HiHi alarm.

Logging Group defines the table structure for the logged data. You can define the data collection
rate, logging rate, and manage the database tables.

Membership refers to the relationship between security groups and users. You can extend
Security Group membership to Security Users by adding the user to the group.

Object Explorer, also known as the “Explorer” or “Project Explorer”, is the panel inside
GraphWorX64 that lists all objects, including hidden ones, in the currently open display. You
may find it easier to select objects within a group using the Object Explorer.

OLE stands for Object Linking and Embedding. This was originally implemented by Microsoft
to allow application communication.

OPC AE stands for OPC Alarms and Events, which is used to monitor devices for conditions and
provide a reporting function.

OPC Client can receive information from OPC Server if both use the OPC Foundation standards.
GraphWorX64, AlarmWorX64, TrendWorX64, etc are all examples of OPC Client.

OPC DA is OPC Data Access, which is used for reading real time data.

OPC HDA is OPC Historical Data Access, which is a format that allows you to log data into data
files either held in memory or written to disk as database files so that the data can be replayed or
analyzed at a later time.

ICONICS, Inc A-5


Glossary GENESIS64 Core Training Manual

OPC Server can communicate with OPC devices through PLC or other I/O channels and can
format the data into something that an OPC client can work with.

OPC stands for OLE for Process Control, which is a standard for connection and communicating
with industrial automation devices based on the specification form OPC Foundation (OPC.org).

Pen Group contains a set of pens that will use the same chart type. In the configuration dialog of
the viewer, it is display as chart in the tree control.

Pick Action is a type of Dynamic used to assign command to a shape or object that can open a
display or a popup, downloads a value to an OPC Tag, runs a script, or performs one of many
other actions as the result of user interactions or other actions.

PLC stands for Programmable Logic Controllers, which are programmable devices used to
provide industrial automation controls. OPC servers can connect to these devices to obtain
human readable data.

Preferences Explorer allows you to configure default settings for various objects and behaviors
for GraphWorX64.

Process Point Object or generally called a Process Point, is a dynamic that connects to an OPC
DA or OPC UA data source to display the value inside a GraphWorX64 display.

Project is the founding concept of the GENESIS64 Workbench. A project is the set of
applications and related resources, such as database configurations, services, and project files
that belongs to a single project and should be available inside the Workbench.

Project Explorer is the navigational component of the GENESIS64 Workbench. You can use the
Project Explorer to navigation to different applications within the GENESIS64 Suite.

Project File is the wrapper for a set of displays and settings in GENESIS64 that can be opened
and worked with as a set.

Properties Explorer allows you to configure properties of each object on your GraphWorX64
display. If there is no object selected, the properties shown are the properties for ThisDisplay.

Rate of Change Alarm is one of the alarm types. This type of alarm is generated when the OPC
value changes faster than the rate you configure. The rate is calculated by taking the absolute
value of the difference between the last two reading of an OPC tag, divided by the change in
time (timestamps) from the last two reading. The rate you enter is the Limit per Second rate.

Reference Object is last object selected among many. When you arrange the selected objects, all
objects are arranged based on the properties of this object

A-6 ICONICS, Inc


GENESIS64 Core Training Manual Glossary

Regular Expression is a syntax that can be used to define the format of a string. This is a
standard syntax whose details can be easily found on the internet.

Ribbon is synonymous to the old style application menu at the top of an application. For many
GENESIS64 applications, you will find a Ribbon at the top with different tabs that groups
different commands. The tabs and command could change depending upon the object you are
working within the application.

Runtime Preview Mode allows you to view how the GraphWorX64 display would look like in
runtime. However, since this is only a preview, you can still edit the display because you are still
in Configuration Mode.

Runtime Mode as oppose to Configuration Mode, allows for viewing live or historical data. You
may not edit data or make configuration changes in this mode in viewers. Some ICONICS
servers, such as the AlarmWorX64 server, allows for updates to the configuration while the
service is running.

SCADA stands for Supervisory Control and Data Access, is a system that provides the means to
observe and control automated systems.

Security Group is any group defined in the security configuration.

Security Item is a resource whose access is allowed only to users authorized by an Administrator.

Security Privilege is a set of permissions granted to a user or group.

Security System defines the security configuration for and prevents unauthorized user access in
GENESIS64 resources.

Security User is any user defined in the security configuration.

Server Side Filtering is a type of alarm filter. You can use this type of filtering to limit the
amount of alarms that the alarm server sent to the client. This is most useful when the alarm
server and the alarm clients are on different machine to reduce network traffic.

Service Oriented Architecture (SOA) is a software architecture whereby each user does not start
the software application individually. Instead, the software is started and managed by the
operating system as services and can serve multiple users concurrently.

Signal Name is the OPC tag path that you choose to log trend data.

Symbol is a saved grouping of GraphWorX64 objects.

Symbols Library is a collection of symbols within GraphWorX64 designed to help you quickly
build a display.

ICONICS, Inc A-7


Glossary GENESIS64 Core Training Manual

Tags, also known as Process Points, are a named data source formatted into an OPC
communications standard.

Text Object allows you to enter static text into the text area. This is similar to a text box or label
in MS Word.

Time Date Object is a dynamic text object that displays the current date and time in a
GraphWorX64 display during runtime.

Transitions are special effects, such as a fade out, applied to a display as it closes or loses focus
when another display is opened in the same window. It is similar to transitions in MS Power
Point.

Translation Alias is a type of language alias, which is replaced by the equivalent string defined
in the Language Alias configuration.

TrendWorX64 is a set of applications used to log numerical data into memory or database for
historical viewing or data analysis. Included in TrendWorX64 is a historical server for logging
data and a graphing and charting module for viewing data. The TrendWorX64 Viewer can run
within the Workbench, or as a control within GraphWorX64.

TrendWorX64 Configuration houses the database groups, logging groups, and data tags for
TrendWorX64. You can only have on active configuration at a time.

TrendWorX64 Logger is the application that collects OPC data and stores the information into a
database. The TrendWorX64 Configuration dictates how the data collection and logging occurs.

TrendWorX64 Viewer is the control that allows you to view real-time or historical trend data in
different chart types.

UDM Expression is a function that takes an input, performs a specified calculation, and returns
an output.

UDM Group is a collection of data tags that are manipulated as a single item, which are
represented by a single group tag.

UDM Register is a named address into which you can store values.

UDM Trigger is a rule that defines conditions under which an event occurs. There are two types
of triggers: data triggers and time triggers.

UDM Value Set allows you to write pre-configured sets of values into a group of data tags.

Unified Data Browser is a utility that can browse OPC data sources, select them, and return their
addresses.

A-8 ICONICS, Inc


GENESIS64 Core Training Manual Glossary

Unified Data Manager (UDM) is a front end to a set of SQL databases that are used to store
information used in the various GENESIS64 applications, including expression, local aliases,
and others.

Unit Binding is a list of languages with specific conversions assigned to each. It is maintained in
the Language Alias configuration.

Unit Conversion uses expressions when converting measurement units. It is maintained in


Language Alias configuration.

UTC Time stands for Universal Coordinated Time. When using this time, you can be worry free
about time zones and daylight saving time.

Web Publishing Wizard is the ICONICS GraphWorX64 tool that publishes displays as standard
HTML pages.

Workbench is a centralized location where you can manage, configure, and run all of
GENESIS64’s applications, and most of its tools.

Workbench Layout stores specific arranged files for the content area in the Workbench. Opening
a layout opens the designated files in a designated arrangement. You can look at it as a
Workbench Template with specific files assigned in the different areas.

Workbench Template stores arrangement information for use with any files in the content area
of the Workbench. Opening a template arranges any open files to fit the template.

Workbench’s Contents Area is the location where you can create, edit, and display different files
in the Workbench. This area can also span a configuration of multiple monitors.

WPF stands for Windows Presentation Foundation. You can insert WPF objects into any
GraphWorX64 display.

Z-order, in GraphWorX64, is the sequence of objects, from front to back, on the display surface.

ICONICS, Inc A-9


Glossary GENESIS64 Core Training Manual

A-10 ICONICS, Inc


GENESIS64 Core Training Manual Test Your Knowledge Answers

Test Your Knowledge


B
Answers
Questions 1 2 3 4 5 6 7 8 9 10
Chapters
Chapter1 D B True D C
Chapter2 True True C B A True False True
Chapter3 E C+D True True C A B D
Chapter4 E False F True
Chapter5 A C D True F
Chapter6 B C A E G E True
Chapter7 D E E True True E C True C True
Chapter8 A B E G True G B
Chapter9 True True True True False True
Chapter10 True False False True False True True False False False
Chapter11 A True False A A A D False A B
Chapter12 B D True True E D
Chapter13 False True False True False
Chapter14 A True A A A C
Chapter15 B C A C D B E A D

ICONICS, Inc B-1


Test Your Knowledge Answers GENESIS64 Core Training Manual

B-2 ICONICS, Inc


GENESIS6464 Core Training Manual
GENESIS64 Core Training Manual

OPC Automation at your fingertips

100 Foxborough Blvd., Foxborough, MA 02035


508.543.8600 • FAX 508.543.1503 • BBS 508.543.3881
www.iconics.com • E-mail info@iconics.com
 2008 ICONICS, Inc. All Rights Reserved.
Specifications subject to change without notice.

You might also like