G32-103_GENESIS32 for Power Users

Download Report

Transcript G32-103_GENESIS32 for Power Users

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
Visualisation
GraphWorX32
Viewers (Alarm/Trend)
GenBroker
WebHMI
Aggregation/Common Functions
DataWorX32
Unified Data Mgr.
ICONICS Servers
AlarmWorX32
TrendWorX32
OPC DA Servers
OPC Servers
Data Mining Server
Data Distribution
Visualisation
GraphWorX32
Viewers (Alarm/Trend)
GenBroker
WebHMI
Aggregation/Common Functions
DataWorX32
Unified Data Mgr.
ICONICS Servers
AlarmWorX32
TrendWorX32
OPC DA Servers
OPC Servers
Data Mining Server
Data Distribution
SQL Server Time
Useful for connection time measuring
Persistent Parameter/Value
Storage
Demonstration
Define a table
in SQL Server/SQL Express
PersistentTag
PersistentValue
nvarchar(50) PrimaryKey
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\G32103.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
 Separation of Administrative
Servers
& 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
GraphWorX32
Alarm Viewer
Pick Field
Custom
Command
Server
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
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