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