360 likes | 543 Views
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.
E N D
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