1 / 25

OPC .NET 3.0

OPC .NET 3.0. Technical Overview. OPC .NET 3.0 or Xi. OPC Xi was renamed to OPC .NET 3.0 to better reflect its purpose – to provide a .NET interface for OPC

Download Presentation

OPC .NET 3.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OPC .NET 3.0 Technical Overview

  2. OPC .NET 3.0 or Xi • OPC Xi was renamed to OPC .NET 3.0 to better reflect its purpose – to provide a .NET interface for OPC • Xi is still used informally as an abbreviated name, especially in drawings where space is at a premium. In these uses, the “X” now stands for “.NET” and the “i” for “interface. • Xi is also used in the source code since names cannot start with a ‘.’

  3. What is OPC .NET 3.0? A simple Microsoft.NET interface for securely wrapping industrial automation systems, for both local and remote access. Xi Client Xi Client Xi Client Xi Client Existing Client Xi Secure Messaging Xi Interface Xi Secure Messaging OPC COM Server

  4. Why was OPC .NET 3.0 developed? New Microsoft-based client developments have moved to .NET => These application need a native .NET interface to talk to OPC COM servers, instead of each having to develop its own. Before Xi (need a custom adapter for each type of OPC server) .NET Interface “A” COM/DCOM .NET Client Application “A” Custom Adapter OPC COMServer Custom Adapter .NET Interface “B” COM/DCOM .NET Client Application “B” Custom Adapter .NET Interface “C” COM/DCOM .NET Client Application “C” With Xi (Xi Wrapper is common to all types of OPC Servers) OPC COM Server .NET Client Application “A” COM/ DCOM Xi .NET Interface Xi Wrapper .NET Client Application “B” .NET Client Application “C”

  5. Is OPC .NET 3.0 a common interface? Yes - OPC .NET 3.0 provides access to runtime and historical data, events, and alarms, all in one interface Xi Integrated Client Xi Integrated Client Xi DA Client Xi Alarm Client Xi History Client Xi Interface OPC DA Server OPC A&E Server OPC HDA Server

  6. Security model Limited Access (e.g. no Writes) Full Access Full Access

  7. Performance model Remote Access Performance Higher Performance Highest Performance

  8. Platform model Open – Any platform using web services Open – Generally Windows Windows

  9. OPC .NET 3.0 Interface Architecture Multi-layer architecture to reduce interoperability problems Client Interface Server Interface Standard code for OPC Wrappers OPC COM Server Client Base Server Base I/F Ext OPC Wrapper WCF Client App Alternate Server Implementation Developer-specific code Standard code for the client Standard code for the server Developer-specific code

  10. Robustness • Automatic recovery from connection failure • No loss of client configuration in the server (client context) DA X OPC .NETServer .NET Client Application A&E HDA

  11. Security & Firewall Friendliness • Two ports to open: DA HTTP TCP .NET Client Application OPC .NETServer A&E Encryption HDA

  12. Security concepts Base user privileges defined by access control list Base encryption and authentication provided by .NET WCF Read, write, and subscribe privileges for the user can be restricted based on location of the user and the client application being used (e.g. only approved client apps can write). Patent pending (royalty-free license for use with OPC .NET 3.0)

  13. Security architecture Resource Management Endpoint Read Endpoint List of Resources List of Resources List of Resources List of Resources Write Endpoint Subscribe Endpoint One per system Server Discovery Endpoint (may be redundant) Client Application Secure List of Resource Discovery Endpoints One per server Access Controls • Dynamically opened • Multiple endpoints per client • Multiple lists per endpoint • Known only to the client Opened only if authorized Poll or Callback

  14. Server and endpoint discovery PNRP Enabled Clients PNRP Enabled Servers PNRP Discovery of Servers PNRP Discovery of Discovery Servers Xi Discovery of Server Endpoints Xi Discovery Server Xi Discovery of Xi Server Endpoints Manual Configuration of Server Address Manual Configuration of Discovery Server Address Non-PNRP Enabled Servers Non-PNRP Enabled Clients PNRP = Peer Name Resolution Protocol (Microsoft)

  15. OPC .NET 3.0 Functional Architecture Clients select resources (data/alarms/events) into lists, and add lists to endpoints for access System Resources Common to all clients Client App Manage Historical Alarms & Events filter filter Runtime. Data Historical Data Alarms & Events Read Write Client-specific Context Subscribe

  16. Endpoint interfaces Used to: discover resources of a server, create lists of resources, create endpoints, and assign lists to endpoints Used to locate servers ServerDiscovery ResourceManagement Used to read the value of list entries Read Write Used to update the value of list entries Subscribe Used to receive updates (changes) to list entries Callback Poll

  17. Obtaining information about the server Server Management Info Base (MIB) Server capabilities and settings accessed by the GetStandardMib() method Standard MIB Objects Vendor MIB Object descriptions Server-specific management object values accessed via Read/Write/Subscribe endpoints Vendor MIB Objects (optional)

  18. Finding objects (filtered browsing) • Browsing follows path from root • Client can build path from root if known - no need to always start from root or change browse position • Built-in generic filtering mechanism • Object attributes returned – no need to separately ask for properties Objects located by their path (e.g. A/C/G) Object Hierarchy A Object Attributes InstanceId B C Name Description ObjectTypeId DataTypeId ListDimensions D E F G Flags IsLeaf IsReadable IsWritable IsCollectingHistory FastestScanRate Roles

  19. Data lists • Data lists select data objects that are to be accessed via read/write/subscribe • Data lists can be created by the client or the server Object Hierarchy Data Lists A B C E F G D data objects

  20. Historical data lists • Historical data lists are data lists that contain historical values • Historical lists are updated as new values are received into the Data Journal Object Hierarchy Historical Data Lists A B C E F G D Historical values

  21. Alarm and event lists • Alarms and events, like data, are accessed via lists, but membership in the list is defined by filters • Events are in lists only long enough for them to be reported via a subscription • Alarms stay in lists until they are acked/inactive • Alarms and event lists can be created by the client or the server Event/Alarm List Filter Criteria Area Hierarchy Alarms and Events Areas Alarm/Event Sources

  22. Historical alarm and event lists • Historical alarm/event list membership is defined by filters • Historical lists are updated as new alarms/events are received into the Event Journal Historical Event/Alarm List Filter Criteria Event Journal Areas Alarm/Event Sources Historical Alarms and Events

  23. Interface summary

  24. Example specification page

  25. Conclusion Additional security layered on top of traditional security mechanisms Additional robustness features added to recover dropped connections with the server Supports runtime and historical data, events, and alarms. Additionally supports passthroughs and historical alarms/events Provides: Local access via NamedPipe bindings LAN access via NetTcp bindings Web access and off-platform access via REST interface & Http bindings

More Related