2006-09-15-HMI-40
Download
Report
Transcript 2006-09-15-HMI-40
GENESIS32 for Power Users
R. Arnost, B. DeLong, U. Huenichen, A.
Scherpenzeel , R. van der Tas, A. Tupaj
ICONICS Worldwide Customer Summit – September 2006
HMI-40 Agenda
Introduction
Configuration Databases
GENESIS32 Data Mining Facilities
Unified Data Manager
ScriptWorX2006
Custom Command Servers
Aliases – Language, Global, Local, etc.
Recipe handling with Unified Data Manager
MonitorWorX & Unified Data Browser
2
Configuration Databases
Historically configuration stored in Access
• Alarm Server, Logger, Trend Data Logger, etc.
New generation products use SQL Server
• MMX, BridgeWorX, ReportWorX, etc.
Version 9 support SQL Server for all products
3
Benefits of SQL Server
Central Storage
• GENESIS32 configurations stored in a single
database (e.g. Alarm Server, Logger, etc.)
• Can be made highly available with clusters
Makes online/live modifications easier
• Allows for modifications from a different PC
Convenient in redundant solutions
• Both sides can use single (HA) database store
4
Data Mining – Server
Data Mining Server
• Supports access to multiple databases
concurrently
• Create applications to access
-
SQL Server
Oracle
MySQL
Informix (on IBM Mainframes)
and various others using ODBC
5
Data Mining – Client
Data Mining Grid
• ActiveX control
• Provides extensive OLE Automation I/F
Records and columns exposed as OPC Tags
• Also allows access from PDAs
6
Data Mining – Example
Demonstration
7
Unified Data Manager
Global Expressions, Groups,
Value Sets, Recipes, Triggers,
Subscriptions, Filters
8
Unified Data Manager
Global Expressions
9
Unified Data Manager
Global Groups
10
Unified Data Manager
Global Value Sets
11
Unified Data Manager
Global Triggers
Global Subscriptions
Global Filters
12
ScriptWorX2006
Predictive Thread Planning
• ScriptWorX32: 1 Script = Thread
- Max. # of scripts, script queuing → Unpredictable
order of scripts
• ScriptWorX2006: Designer/Thread model
- Scripts organized into VBA Designers
- 1 Designer = 1 Thread
- Script queuing on a per-designer basis
13
ScriptWorX2006
Configurator
• Project → Designer/Thread → Script
• Function, Sub-Routines and Global Variables
- Available to all scripts in a designer
• Script - Associated to a trigger selected from the
Unified Data Manager
14
ScriptWorX2006
ScriptWorX2006 Global Variables
• Available to all scripts within a Designer/Thread
- Share, watch, change values by each script
- Example: Counter of executed scripts within a Designer
- Available to OPC Clients as OPC DA
- Implemented through GenBroker Plug-Ins
- OnVarChange event
- Scan for parameters
» Global Variable name
» Thread ID
- Thread ID as input – possible conditioning on Thread ID
15
ScriptWorX2006
Supported ScriptWorX2006 Events
• OnConnection
- E.g. connect a DB
• OnDisconnection
- E.g. dis-connect a DB
• OnTimer
- Timer inside a script
• OnVarChange
- Global Variable value changes
16
ScriptWorX2006
Trigger Data
• Input parameter of scripts
- Public Sub NewScript(td as TriggerData)
• Triggers are shared with
- All Genesis applications
- All BizViz applications
- E.g. a script and a report can be triggered by one trigger
• Triggers are managed by UDM
17
ScriptWorX2006
Designer/Thread Options
• Priority
- RealTime, High, Above Normal, Normal, Below Normal,
Low, Idle
• StartUp Squelch
• Timer
- No need to re-trigger entire scripts, use timer inside a
script (see also ICONICS Timer ActiveX)
• WatchDog
- Prevents scripts running out of control
• Processing Queue
- “Ignore new” vs. “Remove old”
18
ScriptWorX2006
ScriptWorX2006 and OPC DA
• VBA Global Variables – available as OPC DA data to
any OPC clients
• Status of Designer/Thread as OPC DA – queue length,
WatchDog time, etc.
• Read / Write OPC DA
• NT Service Support
- Genesis32 Tray or manual registration
19
Custom Command Servers
Custom Command Servers and Configurators
• Always existed in GraphWorX32
- Runtime and Configuration Mode
• V9 also adds support in the Alarm Viewer
Aggregate all code into a single component
• All displays automatically use the same code
• Can be used with WebHMI as well
• Protect IP inside compiled object
• Easy to source control and manage versions
20
Architecture
GraphWorX32
Alarm Viewer
IcoOEMSetup.ini
Custom Command Server
(COM Object or .net class with COM interop)
21
Configuration
CCS defined in IcoOEMSetup.ini
• […]
GraphWorX32 supports override in pick field
• Multiple/concurrent Custom Command Servers
supported during runtime operations
Alarm Viewer support added to
• Allow customised acknowledgement dialogs
• Build custom interfaces to maintenance
systems
22
Code Definitions
Alarm Viewer
Public Function CustomCommand(hWndParent As Long, _
ObjectOne As Object, ObjectOneType As String, _
EventId As Integer) As Boolean
…
CustomCommand = True
End Function
GraphWorX32
Public Function CustomCommand(hWndParent As Long, _
ObjectOne As Object, ObjectOneType As String, _
ObjectTwo As Object, ObjectTwoType As String) As Boolean
…
CustomCommand = True
End Function
23
Alarm Viewer Example
Fully customised alarm acknowledge dialog
Allows for custom alarm causes
Integration with Maintenance Systems
24
Aliasing
What is Aliasing?
Aliasing is providing significant cost saving potential by reusing
your:
• Graphical Objects
• Pop Up Display
• Main Displays
• Language Displays
• Trend Viewer
• Alarm Viewer
• Scripts
With Aliasing you can reduce the TCO of your project by 30-60% !
25
Aliasing
“With Aliasing you can reduce the TCO of your project by 30-60% ??”
Why ?
Because:
You can realize a standard symbol library that can be reused many times
You can realize standard displays that can be reused
Use one set of displays to visualize lots of:
• Devices
• Machines
• Subsystems
• Buildings
Every time you change your standard you are saving time!
Your displays can be updated by the software.
26
Aliasing
How does Aliasing work?
Special Variables in the configuration
will be dynamically replaced in runtime:
• OPC Tags or part of the address string
• System names or IP numbers
• Text labels and button labels
• Display names, file names, …
• Multi language labels, alarm messages, …
• Units,
27
Aliasing
There are 4 Types of Aliases
Local Aliases
Global Aliases
Language Aliases
DataWorX Aliases
28
Local Aliases in Symbols
Enables reusable GraphWorX Objects:
Fixed address:
ICONICS.Simulator.1\SimulatePLC.Valve1Open
Alias address:
ICONICS.Simulator.1\SimulatePLC.Valve<<ValveNumber>>Open
Valve 1
Valve 2
Valve 3
29
Local Aliases in displays
Use Aliasing in Symbol Pop Up displays:
30
Global Aliasing
Designed at Core of ICONICS Products
Available throughout all applications
• GraphWorX32, AlarmWorX32, TrendWorX32, …
Centralised configuration
• Server side database
• Client side usage, including WebHMI
Theme based
• Changing one theme can change many aliases
Alias resolution can be scoped
• Local to the application, or machine wide
31
Global Aliasing / Configuration
A Global Alias Variable is like
an one dimensional array of
predefined values.
The Theme defines the
number of indices
These Variables are available
allover the network!
32
Global Alias in Runtime
Theme ID 1
One action sets multiple
Global Alias variables
At the same time to the same
Index!
Hot Water
Set by pick actions
33
Theme Based Aliasing
The themes are in control, aliases follow
All OPC DA, HDA, A/E nodes use
GraphWorX32 Displays
AlarmWorX32 Viewer
TrendWorX32 Viewer
<#Server1#> (PC12, PC32, PC8, …)
<#Server2#> (PC16, PC15, PC1, …)
<#Server3#> (PC14, PC10, PC2, …)
<#Server4#> (PC23, PC18, PC42, …)
Line A
Line B
Line ..
34
Real World Example
Recurring layers appear on each display
• Labels
• Engineering information
• Function Groups
- security, fire, etc
Remember which layers are visible when
switching display
35
Two Options
OPC Tags to control layer visibility
• System wide
• Or requires a set of tags for each person
Global Aliasing to control layer visibility
• Is automatically (local) system aware
• Single set of aliases is sufficient
• Is the better solution
36
International Language Support
37
Why multi-language support ?
Language neutral SCADA/HMI systems
Expand your international business
Minimize costs
• Simplify Internationalized Solutions
Maintenance engineers can connect to the
systems viewing real-time and historical data
in different languages
38
Technical Details
GraphWorX32
TrendWorX32
AlarmWorX32
????
/+alias+/
Configurator
MDB
CSV
DE
En
Language Server
(COM object)
NL
Tables
39
Functionality
Make visual objects multi-lingual
• A language alias is delimited by /+ +/
• /+your_alias_goes_here +/
• The configuration for all Aliases are stored in
database
When changing Language
• Aliased Text is Translated
• Fonts are changed
• Automatic Engineering Unit Conversion
• Process values are properly formatted xx.xxx
40
Configuration mode
41
English Runtime
42
French Runtime
43
GraphWorX32
Text Labels, Buttons, …
Tooltips, Popup Menus,…
State Fields
Process Points
• Format
• Read Scaling Expression
• Write Scaling Expression
44
TrendWorX32
Aliased Pen Descriptions
Aliased Units Labels
Automatic Ranging
Details window header
45
AlarmWorX32
ICONICS Alarm Servers
• Also applies to 3rd party A/E Servers
• Aliased Alarm Tags and Messages
46
Alarm Viewer
ICONICS Alarm Viewer
• Aliased column names
• Aliased alarm content is translated
47
Alarm Logging
ICONICS Alarm Logger
• Subscribes to AE Servers and
- Either translates aliased alarm strings
- Or, stores aliases untranslated for multilanguage by
the alarm reporter
48
Reporting Historical Alarm
ICONICS Alarm Reporter
• Queries alarm database and translates aliased
alarm strings
49
Recipe management
UDM for configuring recipe parameters
Recipe Selection: Tree Control ActiveX
• Or PPT’s, State Fields, Pick Actions
Viewing and Editing recipes: Recipe ActiveX
• Or PPT’s, State Fields, …
Control recipes: Pick actions
• Download, New, Copy
• Save, Delete, Restore
50
Recipe management
UDM for configuring recipe parameters
51
Recipe management
52
MonitorWorX
Collect and Expose Runtime Information
• Through User’s Interface
• As Points available for GraphWorX32 etc.
System Tray Icon
Replacing Gentray and License Monitor
53
MonitorWorX: Runtime Tab
Start Times, Uptime, Version numbers etc.
54
MonitorWorX: License Tab
See licensed nodes on the network
See available points, client units, mobile
clients, …
55
MonitorWorX: Apps &Services Tab
Start/Stop Servers, View version numbers
Enable/Disable events to Windows Event Log
56
MonitorWorX: Redundancy Tab
View Redundancy Node Pairs
• Health & Running hours
• Switch primary node / backup node
57
TraceWorX32
Designed at Core of ICONICS Products
Complete Product Error Tracing
Simple Web Browser GUI
Zip and Email TraceWorX32 Files
• Send to ICONICS engineers
Simplifies Debugging
User-specified Trace Levels
• Logs all Messages at or Above a Trace Level
58
Unified Data Browser
Browse Tags from
• OPC Servers, Databases,
• SNMP Devices
1/5
59
Unified Data Browser
• ScriptWorX 2006 Variables
• UDM: Expressions, Groups, Value Sets, Recipes
2/5
60
Unified Data Browser
License Details:
• Client units, mobile users, points,…
3/5
61
Unified Data Browser
Global Aliases
Local GraphWorX Aliases, Variables and
Simulation tags
4/5
62
Unified Data Browser
Recipe interaction, recipe details
5/5
63