Raymond van der Tas,

levelsordData Management

Nov 20, 2013 (3 years and 10 months ago)

176 views

Raymond van

der Tas
,
Netherlands

Andre Scherpenzeel,
United Kingdom

Mike Hilligas,
Michigan

Nicole Dombeck,
Massachusetts


ICONICS 2008 Worldwide Customer Summit

Boston, MA

Advanced uses

Novel uses

Unexpected uses

Application Sizing/Scoping



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)

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

SQL Server Time


Useful for connection time measuring

Persistent Parameter/Value
Storage


Demonstration

Define a table


in SQL Server/SQL Express

PersistentTag

nvarchar(50)

PrimaryKey

PersistentValue

float


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


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


[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

Show:

No show:

ICONICS.Alarm Server_ OPC DA
Server !


Realtime OPC DA data about A&E
environment

ICONICS.AlarmServer_
\
<<alarmTag>>.
Enabled


LIM_HIHI_Limit


LIM_Acked


LIM_HIHI_Severity


LIM_HIHI_MsgText



OPC DA about areas and alarm
objects

Detect any change in OPC value:

(Return to normal after ACK)

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

AlarmWorX32 Server Related
Values



AlarmWorX32 Server Related Values

[DWX32
\
Options]

BrowseNetwork=0

BrowseRedundancy=1

BrowseMyComputer=1

EditAliasesAsRegs=1

OPCStartsRuntime=1

MonitorRate=1000

SaveSettings=1

ShowSwitchoverDlgs=1

ReloadMode=1

ReloadFile=

OverrideGBC=0

OverrideGBCFile=

DefaultOPCInputScanRate=50

DefaultExpressionScanRate=50

DefaultConditionScanRate=500

RefreshOutputs=0

RefreshOutputRate=60000

ShowOPCTagFailMsgs=0

IgnorePointSecurity=0

ScanRateLimit=0


Avoid oscillation of input/output
when input and output point at the
same OPC tag

Refresh output in case input tag is
different from the output tag


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

UDM can only be used by ICONICS
products


No scaling available


No (redundancy, switch) aliasing available


No automation interface

DWX32 can be used by any OPC client


Scaling available


Aliasing available


Automation interface available


Can be configured to be “always on scan”


Globally available to all products


Parameterized


Read and Write Expressions

Logically group tags


Write action to group distributes writes to
members (eliminate multiple pick actions)


Groups may be grouped as well

Allow users to select a set of values
from a list of available sets

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 channel

Client IDs


Force clients to have a certain configuration

License Restrictions


Specify preferred nodes for licenses

Overall Read Only

Restricted
Functions


OPC Protocols


ICONICS Protocols


ICONICS/OPC
Functions

Credentials


Force logon for the
channel

Specific Nodes

Specific Security
Servers

Specific License
Servers

Specific Versions

Specify the preferred nodes

Specify the reserved licenses for the
preferred nodes

Use within VBA in GraphWorX32

Validate currently logged
-
on user rights
using logical security properties


rather than user or group name

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 If

End Sub

Sizing Methodologies


Connection Count Methodology


Memory Usage 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


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


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


TWXViewer Drag/Drop Example


Supports both DA & HDA tags


Prefix tag with hda. for HDA tags

GraphWorX32 Configuration Builder


GenRegistrar interaction


Symbol Library interaction

Demonstration

Any OPC Tag can be turned into a
drag & drop source

Also expose HDA tags

via the hda. Prefix


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 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

Custom

Command

Server

Advantages

Single 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

Disadvantages

Requires 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


Neutral

Better 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

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

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 into the Display

Dim symbol As GwxSymbol

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

Set symbol = ThisDisplay.GetHeadObject

Call SetAliasDefinition for the aliases


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

symbol.SetAliasDefinition "TAG", "TAG1023"



ICONICS 2008 Worldwide Customer Summit

Boston, MA