opc .net 3.0 simplifies client access to deltav
DESCRIPTION
Emerson's Lee Neitzel and Chris Felt present OPC .NET 3.0. The presentation was updated from what was presented at the 2010 Emerson Exchange in San Antonio, Texas to reflect the name change from OPC Xi to OPC .NET 3.0.TRANSCRIPT
OPC .NET 3.0 Simplifies Client Access to DeltaVOPC .NET 3.0 Simplifies Client Access to DeltaV
Lee Neitzel, Senior Technologist
Chris Felts, DeltaV Product Strategist
OPC .NET 3.0
November, 2010, Slide 2
OPC .NET 3.0 DefinedOPC .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 ClientOPC Classic
Client
OPC .NET Client
OPC COM Server
OPC .NET Secure
Messaging
OPC .NET Secure
Messaging OPC .NET OPC Classic Server
OPC .NET 3.0
November, 2010, Slide 3
OPC .NET Development GoalOPC .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
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 XiOPC .NET and OPC Xi
OPC .NET 3.0
November, 2010, Slide 5
Security Holes Persist With OPC Classic Security Holes Persist With OPC Classic
Servers and PCs in the office domain
OPC ClientsOPC Classic follows the “Swiss Cheese Model” due to DCOM security
flaws
OPC .NET 3.0
November, 2010, Slide 6
OPC .NET Provides Security – By DesignOPC .NET Provides Security – By DesignBuilt 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 ServerOPC .NET Client
Servers and PCs in the office domain
OPC .NET Client OPC .NET Client
OPC .NET 3.0
November, 2010, Slide 7
OPC .NET Provides Security – By DesignOPC .NET Provides Security – By Design
Security & Firewall Friendliness (two ports to open)
OPC .NE
T
Server
HTTP
TCP
D
A
HD
A
A&
EEncryption
.NET Client
Application
OPC .NET 3.0
November, 2010, Slide 8
OPC .NET Provides Robustness –By DesignOPC .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 ServerOPC .NET Client
Servers and PCs in the office domain
OPC .NET Client OPC .NET Client
OPC .NET 3.0
November, 2010, Slide 9
OPC .NET Provides Robustness –By DesignOPC .NET Provides Robustness –By Design
Robustness – automatic recovery from connection failure
.NET Client
Application
OPC .NE
T
Server
X
D
A
HD
A
A&
E
OPC .NET 3.0
November, 2010, Slide 10
OPC .NET Delivers Same Servers As OPC ClassicOPC .NET Delivers Same Servers As OPC Classic
OPC .NET Client OPC .NET ClientOPC .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
OPC .NET 3.0
November, 2010, Slide 11
OPC .NET Provides a Common InterfaceOPC .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
OPC .NET 3.0
November, 2010, Slide 12
OPC .NET and OPC Classic Servers / Clients CoexistOPC .NET and OPC Classic Servers / Clients Coexist
OPC .NET ServerOPC .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!
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 ClassicOPC .NET and OPC Classic
Security made easy. Done.
OPC .NET 3.0
November, 2010, Slide 14
OPC Specification ComparisonOPC 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
OPC .NET 3.0
November, 2010, Slide 15
Industry Participation to DateIndustry Participation to Date
OPC .NET 3.0
November, 2010, Slide 16
Level 2 Level 3 Made EASY & SECURELevel 2 Level 3 Made EASY & SECURE
OPC .NET 3.0
November, 2010, Slide 17
Server and Endpoint DiscoveryServer 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
OPC .NET 3.0
November, 2010, Slide 18
Security modelSecurity model
Full Access
Limited Access (e.g. no
Writes)
Full Access
OPC .NET 3.0
November, 2010, Slide 19
Performance ModelPerformance Model
Higher Performance
Remote Access
Performance
Highest Performance
OPC .NET 3.0
November, 2010, Slide 20
Platform ModelPlatform Model
Open
– Generally
Windows
Open – Any platform using web
services
Windows
OPC .NET 3.0
November, 2010, Slide 21
Interface ArchitectureInterface 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
OPC .NET 3.0
November, 2010, Slide 22
Functional ArchitectureFunctional 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 &
EventsRuntime.
Data
Common to all clients
filter
filter
Read
Write
Subscribe
Manage
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 ConceptsSecurity Concepts
OPC .NET 3.0
November, 2010, Slide 24
Read Endpoint
Resource Discovery Endpoint
Security ArchitectureSecurity 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
OPC .NET 3.0
November, 2010, Slide 25
Endpoint interfacesEndpoint 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
OPC .NET 3.0
November, 2010, Slide 26
Obtaining Information About the ServerObtaining 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
OPC .NET 3.0
November, 2010, Slide 27
Finding objects (filtered browsing)Finding objects (filtered browsing)
A
B C
D E F G
Object
Hierarchy
Objects located by their path (e.g. A/C/G)
Object
AttributesInstanceId
Name
Description
IsLeaf
ObjectTypeId
DataTypeId
ListDimensions
IsReadable
IsWritable
FastestScanRate
Roles
IsCollectingHistory
Flags
OPC .NET 3.0
November, 2010, Slide 28
Data ListsData 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
OPC .NET 3.0
November, 2010, Slide 29
Historical Data ListsHistorical 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
OPC .NET 3.0
November, 2010, Slide 30
Alarm and Event ListsAlarm 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
OPC .NET 3.0
November, 2010, Slide 31
Historical Alarm and Event ListsHistorical Alarm and Event Lists
Historical Event/Alarm
ListFilter 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
OPC .NET 3.0
November, 2010, Slide 32
Interface SummaryInterface Summary
OPC .NET 3.0
November, 2010, Slide 33
Example Specification PageExample Specification Page
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
SummarySummary
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: [email protected] [email protected]
Where To Get More InformationWhere To Get More Information