best practices for building process graphics ww...

110
Best Practices for Building Process Graphics WW HMI SCADA-13 ArchestrA Graphics offer the most powerful tools in the market for process visualization. In this session you will learn about techniques for designing your symbols, achieving optimal performance, reusing engineering, leveraging advanced controls and much more for your InTouch applications.

Upload: builien

Post on 25-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Best Practices for

Building Process

Graphics

WW HMI SCADA-13

ArchestrA Graphics offer the most powerful

tools in the market for process visualization.

In this session you will learn about

techniques for designing your symbols,

achieving optimal performance, reusing

engineering, leveraging advanced controls

and much more for your InTouch

applications.

2014 Software Global Client Conference

Today’s Presenters

Brian Martin

Technical System Consultant

Wonderware Brand

[email protected]

Jeff Tapia

Technical System Consultant

Wonderware Brand

[email protected]

Best Practices for Building

Process Graphics ArchestrA Graphics offer the most powerful

tools in the market for process

visualization. In this session you will learn

about techniques for designing your

symbols, achieving optimal performance,

reusing engineering, leveraging advanced

controls and much more for your InTouch

applications.

2014 Software Global Client Conference

How many have a QR Code reader on

your phone? (Ex. RedLaser for iOS)

●QR Code for shared

content

2014 Software Global Client Conference

Poll

●How many using

InTouch? Please raise

your hand.

Of this group…

●How many NOT using

ArchestrA Graphics?

2014 Software Global Client Conference

ArchestrA Graphics Features & Value

Vector Based

great esthetic improvement

more elements, more animations

resolution independant

Object Oriented

standardization

high reusability

easy to update and maintain

.NET Based

more integration and ready for

the future

.NET scripting in addition to

QuickScripts

Support for .NET controls

Advanced Editor

new features for your application

more dynamic HMI

configurable HMI

save tags!

Quality & Status

safe and reliable

2014 Software Global Client Conference

Vector Based

●Why is this important?

• Runtime - Resolution Independence

• Configuration – Lossless resizing

2014 Software Global Client Conference

Standardization

●ArchestrA graphics make having common graphic

assets across multiple projects easy to accomplish

and manage.

2014 Software Global Client Conference

.NET Extensibility –

Built on .NET – means:

●Access to a wealth of

additional script functions: 1.Entire .NET Framework

2.SQL Access Functions

3.Custom Script Function

libraries (Write your own!)

4.Etc.

.NET Controls – means:

●do not require installation.

●expose all methods.

●cleanly expose all events.

●support a wider set of data

types.

2014 Software Global Client Conference

ArchestrA Graphics Editor – just a

sampling of improvements…

• A2 graphics are mini-apps with self-contained scripts, variables…

• Add named scripts to any symbol.

• Edit Groups (cells) without having to break the cell.

• Extreme reusability by embedding symbols into other symbols.

• Manipulate graphic element properties through scripts.

• All elements can now be rotated on the canvas.

• Alternate color choices; Gradients, Textures, and Patterns.

• Improved Alignment Tools, more image types (GIF, JPG, PNG),

• Many more….

2014 Software Global Client Conference

In 2014 ArchestrA Graphics Get Better!

• Situational Awareness Library – Use best practices out of the box!

• Symbol Wizards – Use ours or build you own, no toolkit needed!

• Many new Animations – Sweep Angle, Points, Trend Pen…

• Element Styles – Manage all colors centrally!

2014 Software Global Client Conference

Technology is moving forward!

Old Nokia works

fine...

...but new smart phones

are better!

2014 Software Global Client Conference

Technology is moving forward!

Old InTouch

Graphic works

fine...

...but is your HMI modern and

effective?

2014 Software Global Client Conference

Old HMI design, the Past

2014 Software Global Client Conference

New High Performing HMI, the future

Situational Awareness

2014 Software Global Client Conference

Opportunity: Situational Awareness

• Enhance the operator’s Situational

Awareness of current process conditions.

• Leverage a variety of visual techniques

within the HMI.

• Increase contrast between normal

operating conditions and alarm states

requiring action.

• Generally monochrome

• Vivid colored alarm states

• Graphics purposely not photo realistic.

• Just enough visual detail to deliver

functional purpose without showing

extraneous information to operators.

2014 Software Global Client Conference

Color and Attention ● Situational Awareness focused displays take advantage

of the “pop out” effect to guide operators’ attention to

values that are in alarm.

Click and

watch for the

alarm border…

2014 Software Global Client Conference

Key Principles Distracting and Irrelevant Detail

● Although pleasant to

see, much of this graphic

is irrelevant to control the

process.

2014 Software Global Client Conference

Key Principles Distracting and Irrelevant Detail

● Although pleasant to see,

much of this graphic is

irrelevant to control the

process.

● These are the only objects

providing information to the

operator:

2014 Software Global Client Conference

New Paradigm in HMI Design

2014 Software Global Client Conference

Provide SAL display

in every project

Hopefully immediate benefits,

however…

Even if your first application isn’t

perfect, it can get people:

●To understand the concept

●Thinking, finding better and better

applications

2014 Software Global Client Conference

2014 Software Global Client Conference

Check out this session for more SAL

●WW HMI SCADA-12

●Best Practices for

Situational Awareness

●John Krajewski

Symbol Wizards

2014 Software Global Client Conference

Wizard Agenda

●What is a Symbol Wizard

●Review ArchestrA Graphics

●Who Should Use Symbol Wizards

●Symbol Wizard Use Cases

● Examples

●Why Symbol Wizards Make Sense

●The Future…

2014 Software Global Client Conference

WHAT IS A SYMBOL WIZARD Description

2014 Software Global Client Conference

Symbol? Wizard?

●Symbol

● Picture

● Represents Something

●Wizards

● Install

● Configuration

● Update

● Something is AutoMAGIC

2014 Software Global Client Conference

Specifics

●Symbol Wizards Allow

● Options to be enabled or disabled

● Scripts enabled or disabled

● Graphics turned on or turned off

●Built by users (Developer)

●Consumed by users (Consumer)

ON

OFF

Enable

Disable

2014 Software Global Client Conference

What, Actors?

●Developer

● This User’s Profile

●System Platform User, experience developing ArchestrA graphics and

Application objects.

●System Integrator, Controls Engineer, Interface Developer

●Consumer\Application Configurer

● This User’s Profile

●Application Developer User, experience assembling InTouch\System

Platform Applications

●Junior Engineer at SI, Junior….

*

* My made up word

2014 Software Global Client Conference

ARCHESTRA GRAPHICS A Review

2014 Software Global Client Conference

The IDE ArchestrA Graphic Editor

●Graphics Have

● Elements

●Animations

● Custom Properties

● Scripts

2014 Software Global Client Conference

Assembled Graphics

●Single Graphic

● Assembled from

other graphics

● Embedded

graphics to save

time

● All graphics

options resolved

at runtime.

●This is Heavy

2014 Software Global Client Conference

Light Graphics

●And Lots of Them

2014 Software Global Client Conference

Heavy Graphic

●Multi-Purpose Graphic

● Example Value Indicator

●Process Variable

●Setpoint

●Alarm Limits

●Alarm States

●Mode

●Button for Trending

●Button for Alarming

2014 Software Global Client Conference

Why is it Heavy

●Lots of Graphical Elements

●Lots and Lots of Custom Properties

●Lots of Scripts

2014 Software Global Client Conference

WHO Symbol Wizard Usage

2014 Software Global Client Conference

Already Established

Individuals… (Actors)

2014 Software Global Client Conference

What Customer Personas

2014 Software Global Client Conference

OK More Detail

●OEMs

●System Integrators

●Corporate Users

2014 Software Global Client Conference

USE CASES How Can They Be Used

2014 Software Global Client Conference

System Platform 2014

●Visualization Enhancements

● Symbol Wizards

Rules Rules

2014 Software Global Client Conference

Symbol Wizards Provide Options!

2014 Software Global Client Conference

Air Handler Example

●Customer Order – Redo Critical Areas HVAC

● Air Handlers for Three Distinct Spaces

●Space 1-Office Area

●Space 2-Warehouse

●Space 3-Fabrication

2014 Software Global Client Conference

Space 1

●Office Area

● Simple Unit Normal Temperature Control

2014 Software Global Client Conference

Space 2

●Warehouse

● Simpler Unit Normal Temperature Control no Filter

2014 Software Global Client Conference

Space 3

●Fabrication

● Comprehensive Unit Temperature\Humidity Multiple Coils

2014 Software Global Client Conference

The Configurer

Build Model Use Toolbox Templates

2014 Software Global Client Conference

Assembles Unit

2014 Software Global Client Conference

AHU2, AHU3, AHU4….

2014 Software Global Client Conference

WHY Why They Make Sense

2014 Software Global Client Conference

Efficiency

●Standardized

●Faster

●Easier to Assemble

●Easier to Maintain

2014 Software Global Client Conference

THE FUTURE What’s Next

2014 Software Global Client Conference

Objects and Graphics…

Graphics Performance

2014 Software Global Client Conference

Causes of ArchestrA Graphic

Performance Issues

●Retrieve Definition

●Render

●Bind Data

●Continuous Updates

●Close

●Will be grey if not relevant.

Call-Up Time

Graphic Call-up Time

Static CPU Load

Memory Utilization

Retrieve Render Bind Continuous Close

2014 Software Global Client Conference

Gradient Usage

• The definition of gradients are the colors and the type of gradients.

• All of the individual colors are calculated at runtime when initially rendered and

any time an animation changes the gradient.

•When large numbers of graphic elements (1000’s) using gradients are used the

impact can be severe.

• This information consumes more memory than a solid fill.

• Be careful of a larger number of small graphic elements using gradients. The

effect may be minimal visually but severe in terms of performance.

• Transparencies have a similar performance impact.

Retrieve Render Bind Continuous Close

2014 Software Global Client Conference

Gradient Usage Example

• Same Embedded

Symbol (just

resized)

• Same Detail

• Same Calculations

• Same Cost

• Different Visual

Value

2014 Software Global Client Conference

Custom Property Density

● Custom Properties have been greatly optimized in InTouch 2012 which has

resulted a much lower performance impact.

● Some customers have ended up with 20,000 plus custom properties on a

symbol.

● Typically an impact of embedding many symbols at many levels.

● Should consider necessity of the variables and consider if they should reside

server side.

•Is it needed for graphic presentation?

•Is the value specific to only this workstation?

Retrieve Render Bind Continuous Close

2014 Software Global Client Conference

Multi-Variable Expressions

Retrieve Render Bind Continuous Close

● Each variable must be subscribed, bound and published individually.

•Can the calculation be done server side?

• Is the value specific to this specific workstation?

● Expressions are ad-hoc scripts and require execution.

•The AppEngine is better suited to executing volumes of scripts and should be used to handle

load where possible.

2014 Software Global Client Conference

Script Utilization

Retrieve Render Bind Continuous Close

● ArchestrA Graphics are extremely flexible in their ability to

execute scripts. (On Show, While Showing, On Close, Data

Change, Condition)

● Carefully plan the usage of scripts that will cyclically

execute.

•If you are setting a script to run every 50ms? Why?

•Is every execution needed? Is the same result be

calculated over and over?

•How many scripts are on the symbol?

•How many of this symbol will be used?

•Can the script be server side?

2014 Software Global Client Conference

Element Grouping

Retrieve Render Bind Continuous Close

●When using the Grouping mechanism in graphics

there is an optimization done for groups with no

animation. The group is handled as an image.

The Tank on the

right opens in half

the time with half

the static CPU load

of the tank on the

right.

2014 Software Global Client Conference

ArchestrA Graphics in InTouch

● Avoid Assembling ArchestrA Graphics in the InTouch Window

– Create an ArchestrA Graphics Toolset For InTouch “Windows”

– For Each InTouch Window Create an ArchestrA Symbol For It

» Assemble the Graphics in the Symbol for the Window

» It is now reusable across InTouch Applications and WIS

» You will be Better Prepared for the ArchestrA Window Object

– Object Graphics must be Assembled in an Object

» Candidate Objects for this organization

» Area Objects

» View Engine Objects

– Once Laid out the InTouch app does not need to be opened in WindowMaker

● InTouch View Application Instances

– Provide a DI Gateway to the InTouch Tag Dictionary

– InTouch: is the Relative name from ArchestrA Graphics

– Galaxy: is the Relative name from InTouch

2014 Software Global Client Conference

Graphic Performance Indication

2014 Software Global Client Conference

1st Time Call Up Performance Resolving

References

Performance Problem:

●The 1st Time Call Up of graphics is taking crazy long (like 15+ seconds)

● GR network connectivity or availability is poor

This is a rare scenario that 99% of installations don’t encounter.

Call-Up Time

Retrieve Render Bind Continuous Close

2014 Software Global Client Conference

1st time call up performance of graphics

- Where does this apply? Only if…

●you have poor or non-existent connectivity to your galaxy repository

●You have an object-based system

●AND 1st time call up performance isn’t meeting expectations

●This is not common but has been found in low quality networking environments, as can be the case with radio, satellite networks

It applies to:

● InTouch native graphics

●ArchestrA graphics

●Directly using instances of graphics

●Or reassigning graphics using “.OwningObject” or SetCustomPropertyValue()

2014 Software Global Client Conference

Steps involved in resolving the Objects

Have they been?

Ask next known

computer…

Ask next known

computer Ask GR

Running locally

Resolved previously

2014 Software Global Client Conference

Performance Considerations

- 1st time call up performance of graphics

● Keeping GR accessible and on reliable

network

● Using graphical caching features

introduced in v2012

● Show/hide high priority graphics on startup

● Reference in script on graphic

dim s as string;

s = Tank_001.Tagname;

s = Tank_002.Tagname;

s = Tank_003.Tagname;

s = Tank_004.Tagname;

s = Tank_005.Tagname;

Call-Up Time

Retrieve Render Bind Continuous Close

2014 Software Global Client Conference

Element Grouping When using the Grouping mechanism in graphics there is an optimization done for

groups with no animation. The group is handled as an image.

The Tank on the left

opens in half the

time with half the

static CPU load of

the tank on the right.

Top Performance

Configuration:

• 1 Base Group

Animations

• 1 Base Group

Static elements. Clos

e

Retrieve Render Bind Waiting Data… Expression

Evaluation Render

Tips And Tricks

2014 Software Global Client Conference

Where can A2 graphics be assembled?

In Graphic Toolbox On Template On Instance In InTouch (WM)

Reusability

2014 Software Global Client Conference

Graphics as function

Our simple demonstration example:

●Graphic Initialization Delay Timer

2014 Software Global Client Conference

If we create “OurInitializationDelay”

Graphic as a Function

●Does nothing more than

sets it’s Complete bit true 1

second after it is displayed.

●Logic not shown:

●On Show: complete=false;

●WhileFalse for 1 second

complete = true;

2014 Software Global Client Conference

Functions often don’t need any visible display

components but insert a 1x1 invisible pixel

2014 Software Global Client Conference

Drop OurInitializationDelay in another

graphic

2014 Software Global Client Conference

In this case animate visibility using the

delayed complete bit

2014 Software Global Client Conference

Use this common function across other

graphics by dropping and tying it in

2014 Software Global Client Conference

The benefits of using “graphics as

functions”

●Provide a single place to make changes

●Provide consistency across multiple graphics

●Allow you to identify everywhere that logic is used

2014 Software Global Client Conference

Applications where we have used

Graphics as Functions

●Adding debug logic or LogMessages

●Creating animation timers

●Storing parameters to & retrieving from the AppDomain

●Encode/decode bit mapping to bytes, integers, etc.

●Parsing comma separated variables to individual values

●Associating equipment colors with product names

●Etc.

2014 Software Global Client Conference

When might you consider using a

graphic as a function?

Ask yourself?

● Is the need for the function display oriented?

● Is it needed in multiple places?

Planning For The Future

2014 Software Global Client Conference

Challenges, trends & direction in design

What is the standard

resolution to guide you

customers to design for

the future?

●1280x1024?

2014 Software Global Client Conference

Challenges, trends & direction in design

What is the standard

resolution to guide you

customers to design for

the future?

●1920x1080?

2014 Software Global Client Conference

Challenges, trends & direction in design

What is the standard

resolution to guide you

customers to design for

the future?

●1600x900

2014 Software Global Client Conference

2014 Software Global Client Conference

Challenges, trends & direction in design

●iPad

●iPhone

●4, 5, ?6?

●Android

●Portrait/Landscape

●Portrait Monitors

●Pinch / Zoom

2014 Software Global Client Conference

New “layouts” planned for

InTouch with A2 graphics

Location 1

Location 2

Location 3

Location 4

Location 5

2014 Software Global Client Conference

How do we design for this?

(What are others doing?)

2014 Software Global Client Conference

So what do you design for?

2014 Software Global Client Conference

Be thinking

●1:1 aspect ratio

●It’s OK to use a space

factor of 2x1, 2x2, etc.

for some displays but…

●be thinking 1:1 as the

base unit

●Tablet/Touch even with

non-tablet applications

2014 Software Global Client Conference

Future Navigation &

QuickClient today

2014 Software Global Client Conference

What if many aspects of the InTouch

HMI “Built itself”?

It just works

• Alarming, Trending, Navigation, etc.

• Functional “Out of the Box”

• Minimize touch points

• Keeps working

2014 Software Global Client Conference

Why QuickClient

● Canned navigation entirely using IDE,

Graphics Toolbox & Object Model.

● No need to develop in WindowMaker

● “Out-of-the-box” Alarming, Historian

Client Trending, Embedded

Information Server access

● The InTouch app has 1 tag, 1 script,

& never needs to be touched

●Great application to

start/test/demo

●Be more prepared for the future of standardized navigation.

●can be added to any

InTouch or WSP system

●works in 2012 R1, R2 & 2014, etc.

2014 Software Global Client Conference

Using QuickClient v 2014

●Formerly

known as

ThinView

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

1. Import QuickClient aaPKG

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

2. Update settings in ArchestrA Graphics

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

3. On $QuickClient InTouchApp

Turn on “Include all galaxy graphics…”

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

4. Configure Model and/or Graphic Toolset(s) for whatever you want to see

=

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

4. Configure Model and/or Graphic Toolset(s) for whatever you want to see

=

2014 Software Global Client Conference

QuickClient Introduction

●How to use it?

1. Import QuickClient aaPKG

2. Update settings in ArchestrA Graphics

3. Turn on “Include all galaxy graphics…” on $QuickClient InTouch App

4. Configure Model and/or Graphic Toolset(s) for whatever you want to see

5. Go into Runtime

2014 Software Global Client Conference

QuickClient download

●WDN.WONDERWARE.COM

2014 Software Global Client Conference

What is there?

●Contains zipped folder with:

1.QuickClient v1.7 for 2012R1.aaPKG

2.QuickClient v1.7 for 2012R2.aaPKG (also use for 2014, no change)

3.QuickClient v1.7 MES Additions.aaPKG – DON’T USE

4.QuickClient User Guide

●Download it!

2014 Software Global Client Conference

Wonderware InTouch QuickClient v2014

V2014 via skydrive Focus

●Aspect Ratio

●Bottom bar only (eliminated

upper bar)

●Applied Galaxy Styles

●Misc cleanup

2014 Software Global Client Conference

Coming version v2014R2

●Planned for 2014R2

release soon after User

Conference

●Further Simplification:

●4 basic settings

●Platform required w/hist

●Allowed autoID of:

● GalaxyName, Historian,

GRNode

●Remove MES

●16:10 Aspect Ratio

●Misc features & cleanup

2014 Software Global Client Conference

2014 Software Global Client Conference

Why QuickClient

● Canned navigation entirely using IDE,

Graphics Toolbox & Object Model.

● No need to develop in WindowMaker

● “Out-of-the-box” Alarming, Historian

Client Trending, Embedded

Information Server access

● The InTouch app has 1 tag, 1 script,

& never needs to be touched

●Great application to

start/test/demo

●Be more prepared for the future of standardized navigation.

●can be added to any

InTouch or WSP system

●works in 2012 R1, R2 & 2014, etc.

2014 Software Global Client Conference

QC

It’s a Wrap

2014 Software Global Client Conference

Ready, aim, fire…

●QR Code for shared

content

110 ©2014 Schneider Electric. All Rights Reserved.

All trademarks are owned by Schneider Electric Industries SAS or its affiliated companies or their respective owners.