OLE for Process Control
OLE for Process Control. Talk 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 Overview Version 2.0, October 1998.
OLE for Process Control
E N D
Presentation Transcript
Talk 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 OverviewVersion 2.0, October 1998 What, Why, Where? Architecture Functionality
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? • First industrial standard • Integration of industrial systems (LHC) • Supported by SCADA systems • Used by Experiments • Input for building our own JavaAPI
GUI(Browser) ControlsApplication SCADA OPCdeviceserver Database Device Where does OPC fit? • Access of • Devices • Databases • Applications (e.g. SCADA) OPC Physical I/O
OPC Architecture • Client Server Paradigm • Client (e.g. browser, control system, SCADA) • OPC server on Windows NT • PLC • ### here goes an image ###
Functionality • 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 AccessVersion 2.0, October 1998 Data Model Interactions
Group item1 item2 item3 OPC 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
OPC Data organization Server OPC/COM Interfaces Group Group Group(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) Item(s) Item(s) Item(s)
OPC Items • Connections to data sources • Information (provided through I/O) • Value • Quality • Timestamp • Attributes (provided by browsing) • Name • Type • Units • Descriptions
OPC 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 AccessVersion 2.0, October 1998 Data Model Interactions
Data 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 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 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 & EventsVersion 1.0, December 1998 Architecture Data related Concepts Interactions
Architecture • Client-Server • Alarm/event server types: • Simple servers, elementary, attached to device • Management servers: intermediate level • ### here goes an image ###
OPC Alarms & EventsVersion 1.0, December 1998 Architecture Data related Concepts Interactions
Data 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") • Condition Attributes • Name, Description • Severity, Quality (=accuracy) • Time of last condition change • Acknowledgement: when and by whom • EventNotification Attributes: • Message • Severity, Quality • Source, Timestamp • Type of event • Acknowledgement: required or not
OPC Alarms & EventsVersion 1.0, December 1998 Architecture Data related Concepts Interactions
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 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 browsing • Client can browse server for: • areas (= groups of equipment) • condition categories ( = types of conditions) • conditions ( = named • condition attributes • available filters
Conclusions • Very interesting concepts • We can learn from them • Needed for industrial system integration • Industrial devices • other SCADA • Many interfaces are only optional • Microsoft dominated • Needs Windows NT near devices • Based on DCOM