ole for process control. talk outline u opc overview u what is opc? u why opc at cern? u opc...
TRANSCRIPT
Talk OutlineTalk Outline
OPC Overview What is OPC? Why OPC at CERN? OPC functionality and architecture?
OPC Data Access Access to process data
OPC Alarms & Events Notification of special conditions
Conclusions
OPC OverviewOPC OverviewVersion 2.0, October 1998Version 2.0, October 1998
What, Why, Where? Architecture Functionality
What is OPC?What is OPC?
An industry standard for process control,comprising: A model for interactions and data A set of interfaces
Standards for data access (read/write of propeties) alarms and events
Supported by 150-200 companies Implemented on Windows NT, (D)COM
Why OPC at CERN?Why OPC at CERN?
First industrial standard Integration of industrial systems (LHC) Supported by SCADA systems Used by Experiments
Input for building our own JavaAPI
Where does OPC fit?Where does OPC fit?
Access of Devices Databases Applications (e.g.
SCADA)
GUI(Browser)
SCADA Database
PhysicalI/O
ControlsApplication
OPC
Device
OPC deviceserver
OPC ArchitectureOPC Architecture
Client Server Paradigm Client (e.g. browser, control system, SCADA) OPC server on Windows NT PLC
### here goes an image ###
FunctionalityFunctionality
OPC data server holds process data for clients client can read/write or subscribe to data
OPC event & alarm server administrates events and alarm for clients client can subscribe to event notifications
Both provide meta-information Client can browse available information
OPC Data AccessOPC Data AccessVersion 2.0, October 1998Version 2.0, October 1998
Data Model Interactions
OPC Data ModelOPC Data Model
Data structured in OPC items (~ device properties) OPC groups = collection of items
OPC item connections to data sources triplet: value, quality, timestamp
OPC groups collection of data items exclusive access to data
Group
item1item2item3
OPC Data organizationOPC Data organization
Server
Group
OPC/COMInterfaces
Group Group(s)
OPCItem(s)OPCItem(s)Item(s)OPCItem(s)OPCItem(s)Item(s)OPCItem(s)Item(s)
OPC ItemsOPC Items
Connections to data sources Information (provided through I/O)
Value Quality Timestamp
Attributes (provided by browsing) Name Type Units Descriptions
OPC GroupsOPC Groups
Logical container for clients to organize and manipulate data items
Client accesses data only via groups Group has attributes:
Deadband (minimal variation considered as a change) Update rate (frequency at which cache is updated) ACTIVE flag (whether data is used & updated)
Group can be public or private (“local”) fixed or dynamic
OPC Data AccessOPC Data AccessVersion 2.0, October 1998Version 2.0, October 1998
Data Model
Interactions
Data AccessData Access
Read/write Default: read from cache => efficient cache is updated regularly possible to read from device directly
Subscription-based client registers with group server sends data upon
change in value or change in quality
Group AdministrationGroup Administration
Server administers groups for clients Client tells the server...
to create/delete groups to add/remove items Groups are private (“local”) to one client
Groups can be made “public” => Clients can share groups
Clients can browse available groups items in a group
Meta-Information AccessMeta-Information Access
Look up… groups by name
Browse... items available on the whole server (public) groups defined on a server items defined in a group item properties
OPC Alarms & EventsOPC Alarms & Events Version 1.0, December 1998Version 1.0, December 1998
Architecture Data related Concepts Interactions
ArchitectureArchitecture
Client-Server Alarm/event server types:
Simple servers, elementary, attached to device Management servers: intermediate level
### here goes an image ###
OPC Alarms & EventsOPC Alarms & Events Version 1.0, December 1998Version 1.0, December 1998
Architecture
Data related Concepts Interactions
Data Related ConceptsData Related Concepts
Condition = well-defined, interesting state of a device or subsystem Examples: system health, operational state, special
value of data item(s)###
Event/Alarm = well-defined interesting behavior of device or subsystem 3 Event Types:
Related to condition (e.g. alarm state changed to HighAlarm)
Related to client action (e.g. operator changing data item) Other (e.g. failure of underlying device)
Event Notification: the information passed
Details ("Attributes")Details ("Attributes")
Condition Attributes Name, Description Severity, Quality (=accuracy) Time of last condition change Acknowledgement: when and by whom
Event Notification Attributes: Message Severity, Quality Source, Timestamp Type of event Acknowledgement: required or not
OPC Alarms & EventsOPC Alarms & Events Version 1.0, December 1998Version 1.0, December 1998
Architecture Data related Concepts
Interactions
Subscription Subscription
Subscribe Client tells server to create subscription object Client chooses events to subscribe to
Subscription management Enable/Disable subscriptions Set up filters
End subscription Client: delete subscription object Server: send shutdown request to client
Event notificationEvent notification
Event Notification if a subscribed condition becomes "active"
=> server passes event notification to client Some event notifications require acknowlement
"Refresh event notification" Client actively requests latest condition state
=> server sends #condition-related# notifications Filtering
Events can be filtered based on various criteria
Meta-level browsingMeta-level browsing
Client can browse server for: areas (= groups of equipment) condition categories ( = types of conditions) conditions ( = named condition attributes
available filters