OPC .NET 3.0 simplifies client access to industrial automation systems like DeltaV by providing a secure .NET interface for both local and remote access. It standardizes a WCF interface and common client API to access OPC Classic servers and UA servers. OPC .NET includes a standard wrapper and client proxy to allow .NET applications to securely access OPC Classic servers via WCF. It also provides firewall friendly security, improved robustness against connection failures, and the ability for both OPC .NET and Classic clients and servers to coexist.
1. OPC .NET 3.0 Simplifies
Client Access to DeltaV
Lee Neitzel, Senior Technologist
Chris Felts, DeltaV Product Strategist
2. OPC .NET 3.0
November, 2010, Slide 2
OPC .NET 3.0 Defined
A simple Microsoft.NET interface for securely wrapping industrial
automation systems, for both local and remote access.
OPC .NET
Client
OPC .NET
Client
OPC .NET
Client
OPC
Classic
Client
OPC .NET
Client
OPC COM Server
OPC .NET Secure
Messaging
OPC .NET Secure
Messaging
OPC .NETOPC Classic Server
3. OPC .NET 3.0
November, 2010, Slide 3
OPC .NET Development Goal
New Microsoft-based client developments have moved to .NET
=> These application need a native .NET interface to talk to OPC
Classic (COM) servers, instead of each having to develop its own
Before OPC .NET (need a custom adapter for each type of OPC server)
OPC Classic
Server
.NET
Interface “A”
.NET Client Application “A”
COM/DCOM
.NET
Interface “B”
.NET Client Application “B”
COM/DCOM
Custom Adapter
Custom Adapter
Custom Adapter
.NET
Interface “C”
.NET Client Application “C”
COM/DCOM
With OPC .NET (OPC .NET Wrapper is common to all types of OPC Servers)
OPC Classic
Server
.NET Client Application “A”
.NET Client Application “B”
COM/
DCOM
OPC .NET
Wrapper
.NET Client Application “C”
OPC .NET
Interface
4. OPC .NET 3.0
November, 2010, Slide 4
OPC Xi has been rebranded to OPC .NET 3.0 to make its
intention and use more apparent
With OPC .NET 3.0:
– OPC standardizes a WCF interface for OPC Classic servers
– OPC standardizes a standard OPC Client API for accessing both
OPC Classic servers via WCF and for accessing UA servers via
the UA protocol
– OPC provides a standard OPC .NET wrapper for OPC Classic
servers in the form of source code to allow it to be adapted to any
.NET platform
– OPC provides a standard OPC .NET Client Proxy for WCF that
supports the standard OPC Client API for access
– OPC will begin development of a standard UA Client Proxy that
supports the standard OPC Client API for access and that can
coexist with the OPC .NET Client Proxy
OPC .NET and OPC Xi
5. OPC .NET 3.0
November, 2010, Slide 5
Security Holes Persist With OPC Classic
Servers and PCs in the
office domain
OPC Clients
OPC Classic follows the “Swiss Cheese
Model” due to DCOM security flaws
6. OPC .NET 3.0
November, 2010, Slide 6
OPC .NET Provides Security – By Design
Built in Security
Firewall ports may assigned
Port 80 can be disabled
Unused ports locked tight
Individual client connections
may be specifically configured
Encryption can be used
OPC .NET
Server
OPC .NET
Client
Servers and PCs in the
office domain
OPC .NET
Client
OPC .NET
Client
7. OPC .NET 3.0
November, 2010, Slide 7
OPC .NET Provides Security – By Design
Security & Firewall Friendliness (two ports to open)
OPC .NET
Server
HTTP
TCP
DA
HDA
A&EEncryption
.NET Client
Application
8. OPC .NET 3.0
November, 2010, Slide 8
OPC .NET Provides Robustness –
By Design
Improved Robustness
Long DCOM timeouts and
dropped sessions eliminated
Retains the current state of the
connection
Allows client to re-establish
communications without losing
configuration
OPC .NET
Server
OPC .NET
Client
Servers and PCs in the
office domain
OPC .NET
Client
OPC .NET
Client
9. OPC .NET 3.0
November, 2010, Slide 9
OPC .NET Provides Robustness –
By Design
Robustness – automatic recovery from connection failure
.NET Client
Application
OPC .NET
Server
X
DA
HDA
A&E
10. OPC .NET 3.0
November, 2010, Slide 10
OPC .NET Delivers Same Servers As OPC
Classic
OPC .NET
Client
OPC .NET
Client
OPC .NET
Server
Plant LAN
DeltaV Control
Network
OPC .NET
Server
Single OPC .NET interface allows access to:
OPC .NET Data Access (DA)
OPC .NET Alarms and Events (AE)
OPC .NET Historical Data Access (HDA)
Easy Secure
OPC .NET
Client
11. OPC .NET 3.0
November, 2010, Slide 11
OPC .NET Provides a Common Interface
OPC .NET provides access to runtime and historical
data, events, and alarms, all in one interface
OPC .NET
Alarm Client
OPC .NET Interface
OPC .NET DA
Client
OPC DA
Server
OPC HDA
Server
OPC A&E
Server
OPC .NET
History Client
OPC .NET
Integrated Client
OPC .NET
Integrated Client
12. OPC .NET 3.0
November, 2010, Slide 12
OPC .NET and OPC Classic Servers /
Clients Coexist
OPC .NET
Server
OPC .NET
Client
Servers and PCs in the
office domain
OPC .NET
Client
OPC .NET
Client
OPC Classic
Client
OPC Classic
Server
No upgrade concerns.
EASY!
13. OPC .NET 3.0
November, 2010, Slide 13
Like OPC Classic
– Client server data exchange between levels 2 and 3
– Supports the same servers - OPC DA, HDA and AE
Unlike OPC Classic,
– Secure real-time and historical data transfer
– Firewall friendly
– Secure web services
– Common interface
– Easy to implement
OPC .NET and OPC Classic
Security made easy. Done.
14. OPC .NET 3.0
November, 2010, Slide 14
OPC Specification Comparison
Functionality Classic OPC OPC .NET OPC UA
Real-time process data
Real-time alarm & event data
Historical process data
Historical alarm & event data
Secure access
Firewall friendly
Common interface
Efficient inter-process communications
Operating system platform independence
Embedded device operation
17. OPC .NET 3.0
November, 2010, Slide 17
Server and Endpoint Discovery
PNRP Enabled
Servers
Non-PNRP Enabled
Servers
PNRP Enabled Clients
Non-PNRP Enabled
Clients
OPC .NET
Discovery
Server
Manual
Configuration of
Discovery Server
Address
Manual
Configuration of
Server Address
PNRP Discovery
of Servers
OPC .NET
Discovery of
Server Endpoints
OPC .NET
Discovery of
Server Endpoints
PNRP Discovery
of Discovery
Servers
18. OPC .NET 3.0
November, 2010, Slide 18
Security model
Full Access
Limited Access
(e.g. no Writes)
Full Access
20. OPC .NET 3.0
November, 2010, Slide 20
Platform Model
Open
– Generally
Windows
Open – Any platform
using web services
Windows
21. OPC .NET 3.0
November, 2010, Slide 21
Interface Architecture
Multi-layer architecture to reduce interoperability problems
Client Interface
Client
Base
Server
Base
OPC
Wrapper
OPC COM
Server
Server Interface
WCF
Alternate Server
Implementation
Standard code
for the client
Standard code
for the server
Developer-
specific code
Standard code for
OPC Wrappers
Class
API
Ad-hoc
Client
Ad-
hoc
API
Class API
Client
Generic
Client
22. OPC .NET 3.0
November, 2010, Slide 22
Functional Architecture
Clients select resources (data/alarms/events) into
lists, and add lists to endpoints for access
Client
App
System Resources
Client-specific Context
Historical.
Data
Alarms &
Events
Historical
Alarms &
Events
Runtime.
Data
Common to all
clients
filter
filter
Read
Write
Subscribe
Manage
23. OPC .NET 3.0
November, 2010, Slide 23
Base user privileges defined by access control
list
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)
Security Concepts
24. OPC .NET 3.0
November, 2010, Slide 24
Read Endpoint
Resource
Discovery Endpoint
Security Architecture
List of Resource
Discovery
Endpoints
Server Discovery
Endpoint
List of Resources
Write Endpoint
Secure
One per
server
One per system
•Dynamically opened
•Multiple lists per endpoint
•Known only to the client
Only if
authorized
List of Resources
List of Resources
Subscribe Endpoint
List of Resources
Poll or Callback
(may be redundant)
Access Controls
Client
Application
25. OPC .NET 3.0
November, 2010, Slide 25
Endpoint interfaces
ServerDiscovery
ResourceManagement
Callback Poll
Read
Write
Used to locate servers
Used to get the value of list entries
Used to update the value of list entries
Subscribe
Used to discover resources of a server, create lists of
resources, create endpoints, and assign lists to
endpoints
26. OPC .NET 3.0
November, 2010, Slide 26
Obtaining Information About the Server
Standard
MIB Objects
Vendor
MIB Objects
(optional)
Server Management
Info Base (MIB)
Server capabilities and settings
Server-specific management
object values
Vendor MIB Object descriptions
27. OPC .NET 3.0
November, 2010, Slide 27
Finding objects (filtered browsing)
A
B C
D E F G
Object
Hierarchy
Objects located by their path (e.g. A/C/G)
Object
Attributes
InstanceId
Name
Description
IsLeaf
ObjectTypeId
DataTypeId
ListDimensions
IsReadable
IsWritable
FastestScanRate
Roles
IsCollectingHistory
Flags
28. OPC .NET 3.0
November, 2010, Slide 28
Data Lists
Data Lists
A
B C
E F G
Object
Hierarchy
data objects
D
• 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
29. OPC .NET 3.0
November, 2010, Slide 29
Historical Data Lists
Historical
Data Lists
A
B C
E F G
Object
Hierarchy
data objects
D
• Historical data lists are data lists that contain historical
values
• Historical lists are updated as new values are received
into the Data Journal
30. OPC .NET 3.0
November, 2010, Slide 30
Alarm and Event Lists
Event/Alarm
List
Filter
Criteria
Alarms
and
Events
Alarm/Event
Sources
Area
Hierarchy
• 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
Areas
31. OPC .NET 3.0
November, 2010, Slide 31
Historical Alarm and Event Lists
Historical
Event/Alarm
List
Filter
Criteria
Historical Alarms
and Events
Alarm/Event
Sources
Event Journal
• Historical alarm/event list membership is defined by filters
• Historical lists are updated as new alarms/events are
received into the Event Journal
Areas
34. OPC .NET 3.0
November, 2010, Slide 34
Open and secure
Maintained by the OPC Foundation
Additional security layered on top of traditional
security mechanisms
Supports runtime and historical data, events, and
alarms
Compatible with OPC Classic
Provides:
– Local access
– LAN access
– Web access
Summary
35. OPC .NET 3.0
November, 2010, Slide 35
Books, articles, electronic sources
http://www.opcfoundation.org/Default.aspx/dotnet3/Default.asp?MID=AboutOPC
http://www.expressinterface.com
http://www2.emersonprocess.com/en-
US/brands/deltav/datasheets/Pages/datasheets.aspx
– PDS_OPC.NET3.0.pdf
Question about OPC .NET:
lee.neitzel@emerson.com
chris.felts@emerson.com
Where To Get More Information