raymond van der tas, netherlands andre scherpenzeel, united kingdom mike hilligas, michigan nicole...

51
GENESIS32 for Power Users G32-103 Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer Summit Boston, MA

Upload: beverly-freeman

Post on 25-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GENESIS32 for Power Users G32-103

Raymond van der Tas, NetherlandsAndre Scherpenzeel, United Kingdom

Mike Hilligas, MichiganNicole Dombeck, Massachusetts

ICONICS 2008 Worldwide Customer Summit Boston, MA

Page 2: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GENESIS32 for Power Users

Advanced uses

Novel uses

Unexpected uses

Application Sizing/Scoping

Page 3: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

ICONICS Product Stack

OPC DA Servers

ICONICS Servers

Aggregation/Common Functions

Data Distribution

Visualisation GraphWorX32

GenBroker WebHMI

DataWorX32 Unified Data Mgr.

AlarmWorX32 TrendWorX32

OPC Servers Data Mining Server

Viewers (Alarm/Trend)

Page 4: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Session Focus

GraphWorX32

GenBroker WebHMI

DataWorX32 Unified Data Mgr.

AlarmWorX32 TrendWorX32

OPC Servers Data Mining Server

Viewers (Alarm/Trend)

OPC DA Servers

ICONICS Servers

Aggregation/Common Functions

Data Distribution

Visualisation

Page 5: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Data Mining OPC Server

Page 6: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Data Mining OPC Server

SQL Server Time

Useful for connection time measuring

Persistent Parameter/Value Storage

Demonstration

Page 7: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Persistent Parameter Values

Define a table in SQL Server/SQL ExpressPersistentTag nvarchar(50) PrimaryKeyPersistentValue float

Page 8: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Persistent Parameter Values

Data Mining Server Add a DataConnection to

point to the SQL Server Add a DataSource to point to

the created table Add PersistentTag as a

parameter Enable Writes and Updates

Page 9: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Persistent Parameter Values

OPC Tag Name:

ICONICS.DatabaseOPCServer.3\G32-103.PersistentData<"Tag1">.<PersistentValue>

Tag1 The name of the persistent tag for which to read/write the value

Page 10: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

AlarmWorX32

Page 11: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Interesting Settings V9.1

[AWXVIEW32]Header to flash when in alarm?

NoFlash=1

[AWX32\AWXSvr32]How often should runtime changes be accepted? DbPeriod=20000

What to do with disabled Alarm objects? ScanDisabledTags=1

Change scan time for Data Access tags? DAUpdatePeriod=1000

Post GenEvent Errors for non-communicating DA Tags? NotifyDAErrors=1

C:\Documents and Settings\All Users\Application Data\ICONICS\IcoSetup.ini

Page 12: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Alarm Viewer Show Header?

Show: No show:

Page 13: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

AlarmWorX32 Server

ICONICS.Alarm Server_ OPC DA Server ! Realtime OPC DA data about A&E

environment

Page 14: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Allow Configuration Changesthrough GraphWorX32

ICONICS.AlarmServer_\<<alarmTag>>.Enabled

LIM_HIHI_Limit

LIM_Acked

LIM_HIHI_Severity

LIM_HIHI_MsgText

Page 15: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Realtime Aggregated AlarmWorX32 data

OPC DA about areas and alarm objects

Page 16: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Trigger Level Alarm

Detect any change in OPC value:(Return to normal after ACK)

Page 17: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Rate Level Alarm

Detect change per second in OPC values and alarm the range in which the change falls:

Page 18: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Related ValuesDowntime and Production Monitoring

AlarmWorX32 Server Related Values

Page 19: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Click to edit Master title styleRelated ValuesDowntime and Production Monitoring

AlarmWorX32 Server Related Values

Page 20: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

DataWorX32

Page 21: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

DataWorX32 IcoSetup.ini

[DWX32\Options]BrowseNetwork=0BrowseRedundancy=1BrowseMyComputer=1EditAliasesAsRegs=1OPCStartsRuntime=1MonitorRate=1000SaveSettings=1ShowSwitchoverDlgs=1ReloadMode=1ReloadFile=OverrideGBC=0OverrideGBCFile=DefaultOPCInputScanRate=50DefaultExpressionScanRate=50DefaultConditionScanRate=500RefreshOutputs=0RefreshOutputRate=60000ShowOPCTagFailMsgs=0IgnorePointSecurity=0ScanRateLimit=0

Page 22: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Input propagation

Avoid oscillation of

input/output when input and

output point at the same OPC

tag

Page 23: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Refresh output

Refresh output in case input

tag is different from the output

tag

And it is likely that input devices are switched off and on

Page 24: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Unified Data Manager

Page 25: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Unified Data Manager

Page 26: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

UDM Registers versus DataWorX32

UDM can only be used by ICONICS products No scaling available No (redundancy, switch) aliasing available No automation interfaceDWX32 can be used by any OPC client Scaling available Aliasing available Automation interface available Can be configured to be “always on scan”

Page 27: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

UDM Expression

Globally available to all

products

Parameterized

Read and Write Expressions

Page 28: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

UDM groups

Logically group tags Write action to group distributes writes to

members (eliminate multiple pick actions) Groups may be grouped as well

Page 29: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Value Sets

Allow users to select a set of

values from a list of available

sets

Page 30: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GenBroker, WebHMI & Security

Page 31: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GenBroker

Server Security Limit access to certain OPC or ICONICS

functions Force “Read Only” for all data irrespective of

user security Require user credentials for the channelClient IDs Force clients to have a certain configurationLicense Restrictions Specify preferred nodes for licenses

Page 32: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GenBroker – Server Security

Overall Read OnlyRestricted Functions OPC Protocols ICONICS Protocols ICONICS/OPC

FunctionsCredentials Force logon for the

channel

Page 33: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GenBroker – Client IDs

Specific Nodes

Specific Security Servers

Specific License Servers

Specific Versions

Page 34: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GenBroker – License Restrictions

Specify the preferred nodes

Specify the reserved licenses

for the preferred nodes

Page 35: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Custom Security

Use within VBA in GraphWorX32

Validate currently logged-on user rights using logical security properties

rather than user or group name

Page 36: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Custom Security

Example Script Validates the current custom security

permissions for the token “ShowCustomForm” and shows a form based on that

Sub CustomSecurityTest(o As GwxPick) If (ThisDisplay.TestCustomSecurityItem("ShowCustomForm")) Then ' Show custom form GwxCustomSecurityTest_MainForm.Show Else MsgBox "Security Access Denied", vbCritical Or vbOKOnly, "Security" End IfEnd Sub

Page 37: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

WebHMI

Sizing Methodologies Connection Count Methodology Memory Usage Methodology

Page 38: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Connection Count Methodology

Number of connections per (WebHMI) Client

Type of connections

OPC AE/DA/HDA, Security, Global Aliases, Security, Licensing, UDM Registers/Expressions, etc.

Number of threads supported by GenBroker

1,500 – 2,000 total (Limited by OS)

Typical Range

75 – 150 clients

Page 39: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Memory Usage Methodology

OPC DA Requirements 100 KB / OPC Server

1 KB / OPC Tag

OPC AE Requirements Maximum buffer: 1KB * Maximum Alarm Burst

Allocate maximum buffer for each AE Client

Page 40: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

How to Scale Up

To double or triple the

maximum number of clients

that can be connected to a

single node:

Separation of OPC DA & ICONICS Servers

Separation of Administrative & Data Servers

Page 41: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GraphWorX32 & Trend Viewer

Page 42: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Visualisation

TWXViewer Drag/Drop Example Supports both DA & HDA tags

Prefix tag with hda. for HDA tags

GraphWorX32 Configuration Builder GenRegistrar interaction Symbol Library interactionDemonstration

Page 43: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Drag & Drop Pens on a Trend

Any OPC Tag can be turned into

a drag & drop source

Also expose HDA tags

via the hda. Prefix

Page 44: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Dynamic Drag & Drop Tag List

Define a tag list and appropriate descriptions in an alias file

Show the descriptions in a process point

Use a colour or hide dynamic for the tags

Enable drag/drop for this dynamic

Add buttons to load different alias files as required

Page 45: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Custom Command Servers Principles

Custom Command Server is implemented as a COM object Many programming languages supported: Visual Basic, C++, C#, etc.

User driven using GraphWorX32 pick fields (runtime) Supports use of multiple Custom Command Servers in a single display

User driven using GraphWorX32 custom button (configuration) Available on the property pages of dynamic and static objects

Automatic for Alarm Viewer events Available from GENESIS32 version 9

GraphWorX32

Alarm Viewer

Pick Field

CustomCommandServer

Page 46: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Advantages & Disadvantages

AdvantagesSingle Code Base

VBA code only shared within a single display VBScript/Jscript code defined per object

Protect IP in compiled code

VBA can be protected via password No protection for VBScript/Jscript code

Source Control VBA/VBScript/Jscipt code cannot be easily

source controlled as it is part of the display

Version Management VBA/VBScript/Jscipt code cannot be easily

source controlled as it is part of the display

WebHMI Support VBA cannot be used in WebHMI

DisadvantagesRequires Visual Studio

VBA/VBScript/Jscript programming environment provided by GENESIS32

Requires visual studio to debug

Needs distribution mechanism

VBA/VBScript/Jscript code is part of the display, custom command servers are separate entities

NeutralBetter planning required

As a separate component is created more of a software engineering approach is required

Better understanding As all interaction takes place via OLE automation

and more can happen concurrently a better understanding of the system as a whole is needed for a successful implementation

Page 47: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GraphWorX32 Display Builder

Access GraphWorX32 using GenRegistrar

Also available during configuration by setting:[GWX32\Compatibility Properties] DesignTimeRegistration=1

Use symbols from the library to insert objects onto the display

Configure the object’s properties using local aliases

Page 48: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Using GenRegistrar

Instantiate the GenRegistrar Automation Wrapper

Query the running application(s)

Dim GenReg As New AutoGenRegistrar

Dim count As Long

Dim keys, apps, nodes, dispatches

GenReg.QueryDispatch2 "*", "GWX32", "*", count, keys, apps, nodes, dispatches

Page 49: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Inserting Symbols

Inserting Symbols into the Display

Dim symbol As GwxSymbol

Call ThisDisplay.InsertLibraryObjectByName("1_Water\Static Water Treatment", "R.B.C")

Set symbol = ThisDisplay.GetHeadObject

Page 50: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

Changing Aliases

Call SetAliasDefinition for the aliases

symbol.SetAliasDefinition "OPCServer", "ICONICS.Simulator.1“

symbol.SetAliasDefinition "TAG", "TAG1023"

Page 51: Raymond van der Tas, Netherlands Andre Scherpenzeel, United Kingdom Mike Hilligas, Michigan Nicole Dombeck, Massachusetts ICONICS 2008 Worldwide Customer

GENESIS32 for Power Users

QuestionsExam

≈Cityview Room: Break & Expo

ICONICS 2008 Worldwide Customer Summit

Boston, MA