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

Post on 25-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

GENESIS32 for Power Users

Advanced uses

Novel uses

Unexpected uses

Application Sizing/Scoping

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)

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

Data Mining OPC Server

Data Mining OPC Server

SQL Server Time

Useful for connection time measuring

Persistent Parameter/Value Storage

Demonstration

Persistent Parameter Values

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

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

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

AlarmWorX32

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

Alarm Viewer Show Header?

Show: No show:

AlarmWorX32 Server

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

environment

Allow Configuration Changesthrough GraphWorX32

ICONICS.AlarmServer_\<<alarmTag>>.Enabled

LIM_HIHI_Limit

LIM_Acked

LIM_HIHI_Severity

LIM_HIHI_MsgText

Realtime Aggregated AlarmWorX32 data

OPC DA about areas and alarm objects

Trigger Level Alarm

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

Rate Level Alarm

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

Related ValuesDowntime and Production Monitoring

AlarmWorX32 Server Related Values

Click to edit Master title styleRelated ValuesDowntime and Production Monitoring

AlarmWorX32 Server Related Values

DataWorX32

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

Input propagation

Avoid oscillation of

input/output when input and

output point at the same OPC

tag

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

Unified Data Manager

Unified Data Manager

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”

UDM Expression

Globally available to all

products

Parameterized

Read and Write Expressions

UDM groups

Logically group tags Write action to group distributes writes to

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

Value Sets

Allow users to select a set of

values from a list of available

sets

GenBroker, WebHMI & Security

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

GenBroker – Server Security

Overall Read OnlyRestricted Functions OPC Protocols ICONICS Protocols ICONICS/OPC

FunctionsCredentials Force logon for the

channel

GenBroker – Client IDs

Specific Nodes

Specific Security Servers

Specific License Servers

Specific Versions

GenBroker – License Restrictions

Specify the preferred nodes

Specify the reserved licenses

for the preferred nodes

Custom Security

Use within VBA in GraphWorX32

Validate currently logged-on user rights using logical security properties

rather than user or group name

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

WebHMI

Sizing Methodologies Connection Count Methodology Memory Usage Methodology

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

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

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

GraphWorX32 & Trend Viewer

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

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

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

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

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

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

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

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

Changing Aliases

Call SetAliasDefinition for the aliases

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

symbol.SetAliasDefinition "TAG", "TAG1023"

GENESIS32 for Power Users

QuestionsExam

≈Cityview Room: Break & Expo

ICONICS 2008 Worldwide Customer Summit

Boston, MA

top related