+ All Categories
Home > Documents > OPC.NET 3.0 Technical Overview. OPC.NET 3.0 or Xi OPC Xi was renamed to OPC.NET 3.0 to better...

OPC.NET 3.0 Technical Overview. OPC.NET 3.0 or Xi OPC Xi was renamed to OPC.NET 3.0 to better...

Date post: 28-Dec-2015
Category:
Upload: ralf-oneal
View: 222 times
Download: 2 times
Share this document with a friend
Popular Tags:
25
OPC .NET 3.0 Technical Overview
Transcript
Page 1: 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.

OPC .NET 3.0

Technical OverviewTechnical Overview

Page 2: 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.

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 ‘.’

2

Page 3: 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.

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 ClientExistingClient

Xi Client

OPC COM Server

Xi InterfaceXi SecureMessaging

Xi SecureMessaging

Page 4: 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.

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)

OPC COMServer

.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 Xi (Xi Wrapper is common to all types of OPC Servers)

OPC COM Server

.NET Client Application “A”

.NET Client Application “B”COM/

DCOM

Xi Wrapper

.NET Client Application “C”

Xi .NET

Interface

Page 5: 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.

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 Alarm Client

Xi Interface

Xi DA Client

OPC DAServer

OPC HDAServer

OPC A&EServer

Xi History Client

Xi Integrated Client

Xi Integrated Client

Page 6: 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.

Security model

Full Access

Limited Access (e.g. no Writes)

Full Access

Page 7: 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.

Performance model

Higher Performance

Remote Access Performance

Highest Performance

Page 8: 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.

Platform model

Open – Generally Windows

Open – Any platform using web services

Windows

Page 9: 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.

OPC .NET 3.0 Interface ArchitectureMulti-layer architecture to reduce interoperability problems

Client Interface

Client App

Client Base

Server Base

OPC Wrapper

OPC COM Server

Server Interface

WCF

Alternate Server Implementation

Developer-specific code

Standard code for the client

Standard code for the server

Developer-specific code

Standard code for OPC Wrappers

I/FExt

Page 10: 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.

Robustness

.NET Client Application

OPC .NET

Server

XDA

HDA

A&E

• Automatic recovery from connection failure• No loss of client configuration in the server (client context)

Page 11: 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.

Security & Firewall Friendliness

• Two ports to open:

OPC .NET

Server

HTTP

TCP

DA

HDA

A&EEncryption

.NET Client Application

Page 12: 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.

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)

Page 13: 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.

Read Endpoint

Resource Management

Endpoint

Security architectureServer Discovery

Endpoint

List of Resources

Write Endpoint

Secure

One per server

One per system

•Dynamically opened

•Multiple endpoints per client

•Multiple lists per endpoint

•Known only to the client

Opened only if

authorizedList of Resources

List of Resources

Subscribe Endpoint

List of Resources

Poll or Callback

(may be redundant)

Access Controls

ClientApplication

List of Resource Discovery Endpoints

Page 14: 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.

Server and endpoint discovery

PNRP Enabled Servers

Non-PNRP Enabled Servers

PNRP Enabled Clients

Non-PNRP Enabled Clients

Xi Discovery

Server

Manual Configuration of Discovery Server

Address

Manual Configuration of Server Address

PNRP Discovery of Servers

Xi Discovery of Server Endpoints Xi Discovery of Xi

Server Endpoints

PNRP Discovery of Discovery

Servers

PNRP = Peer Name Resolution Protocol (Microsoft)

Page 15: 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.

OPC .NET 3.0 Functional ArchitectureClients select resources (data/alarms/events) into lists, and add lists to endpoints for access

Client App

System Resources

Client-specific Context

HistoricalData

Alarms & Events

Historical Alarms & Events

Runtime.Data

Common to all clients

filterfilter

Read

Write

Subscribe

Manage

Page 16: 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.

Endpoint interfacesServerDiscovery

ResourceManagement

Callback Poll

Read

Write

Used to locate servers

Used to:• discover resources of a server, • create lists of resources, • create endpoints, and • assign lists to endpoints

Used to receive updates (changes) to list entries

Used to update the value of list entries

Subscribe

Used to read the value of list entries

Page 17: 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.

Obtaining information about the server

Standard MIB Objects

Vendor MIB Objects

(optional)

Server Management Info Base (MIB) Server capabilities and settings accessed

by the GetStandardMib() method

Server-specific management object values accessed via

Read/Write/Subscribe endpoints

Vendor MIB Object descriptions

Page 18: 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.

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

ObjectTypeIdDataTypeIdListDimensions

IsReadable

IsWritable

FastestScanRateRoles

IsCollectingHistory

Flags

• 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

Page 19: 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.

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

Page 20: 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.

Historical data lists

Historical Data Lists

A

B C

E F G

Object Hierarchy

Historical values

D

• Historical data lists are data lists that contain historical values

• Historical lists are updated as new values are received into the Data Journal

Page 21: 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.

Alarm and event lists

Event/Alarm List

Filter Criteria

Alarms and

Events

Alarm/Event Sources

AreaHierarchy

• 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

Page 22: 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.

Historical 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

Page 23: 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.

Interface summary

Page 24: 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.

Example specification pageExample specification page

Page 25: 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.

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


Recommended