opc .net 3.0 (wcf) getting started

22
Getting Started with OPC .NET 3.0 1

Upload: jozsef-magyari

Post on 20-Oct-2015

42 views

Category:

Documents


2 download

DESCRIPTION

api std

TRANSCRIPT

Page 1: OPC .NET 3.0 (WCF) Getting Started

Getting Started with

OPC .NET 3.0

1

Page 2: OPC .NET 3.0 (WCF) Getting Started

OPC .NET Software

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 all servers Developer-

specific code

Class

API Ad-

hoc

API

GenericApp

Adhoc API

GenericApp

Class API

Client

GenericApp

Page 3: OPC .NET 3.0 (WCF) Getting Started

Step 1: Build the Solution

3

• The OPC .NET 3.0 Solutions are distributed as VS 2008 Solutions set for X86 (32-bit) compilation.

• This format is used to allow developers to convert to VS2010 if desired. Opening the solution in VS2010 will cause Visual Studio to automatically convert the solution.

• Converting from VS2010 back to VS2008 is not supported by Visual Studio, so OPC .NET code is not distributed as VS2010.

Page 4: OPC .NET 3.0 (WCF) Getting Started

Step 2: Configure the Projects

• Open the “Configure and Running”

tutorials for the Discovery Server, the

Wrapper, and the Generic Clients

4

Page 5: OPC .NET 3.0 (WCF) Getting Started

Step 3: Run the Servers

• Run the Discovery Server and the

Wrapper as Console Applications.

• This will provide a console window for you

to see all requests and responses handled

by these servers.

5

Page 6: OPC .NET 3.0 (WCF) Getting Started

“Failed to Start COM Servers”

• Getting the Wrapper message “Failed to Start

COM Servers” indicates that the

CoCreateInstance() call to the wrapped COM

server failed.

• This message will not be shown if the Wrapper

was able to connect to at least one wrapped

server.

• The first place to look is to verify that the

Wrapper’s app.config file has the correct ProgId

for the wrapped server(s) and that the Wrapper

has the privilege to connect. 6

Page 7: OPC .NET 3.0 (WCF) Getting Started

Step 4: Run the

Xi Client GenericApp • Start this program and select or type in the

URL of the Wrapper. “localhost” can be

used as the hostname if the client and

wrapper are on the same machine

• If you are running the Discovery Server,

you can click the Discover Servers button,

and then select a server from the returned

list.

7

Page 8: OPC .NET 3.0 (WCF) Getting Started

Step 5: Get Server Endpoints

• Click the GetEndpoints button. This will

cause the ClientBase to extract the WSDL

from the Wrapper and discover its

connection parameters.

• When it returns, it will update the bindings

(protocols) that can be used to access the

server, sorting them in the most efficient

(performance-wise) order

8

Page 9: OPC .NET 3.0 (WCF) Getting Started

Step 6: Connect to the Wrapper

• Wait for GetEndpoints to return (this could

take a few minutes because of the initial

JIT compiling required).

• Click the Connect button. This will cause

the ClientBase to attempt to connect to the

server.

• Alternatively, select a different binding

from the drop-down box before clicking

Connect 9

Page 10: OPC .NET 3.0 (WCF) Getting Started

Common Connection Problems

• The most frequent problem is the client not

having the proper credentials to connect to

the server. Verify that the client user is

authorized to connect to the Wrapper. This

is a Windows privilege.

• If the Wrapper is running XP, make sure

that the FolderOptions for the Windows

Explorer are not set to “Use Simple File

Sharing” 10

Page 11: OPC .NET 3.0 (WCF) Getting Started

Common Connection Problems

• Verify the clocks in the client and server

machine are within 5 minutes of each other.

Otherwise, WCF will not connect to protect

against playback attempts.

• If the “Failed to Start COM Servers” is

received at this point, it means that the

wrapped COM server failed to authorize the

client user. This could be a privilege level

issue or a licensing issue, depending on the

wrapped server

11

Page 12: OPC .NET 3.0 (WCF) Getting Started

Common Connection Problems

12

• Proxy authentication failure –

– Can be caused by using a proxy server setup

in Internet Options

– Can be caused when a machine name is

used in local machine communications, and

the DNS server invokes the proxy server

during authentication. Use the bypassOnLocal

key in the app.config file of the client.

Page 13: OPC .NET 3.0 (WCF) Getting Started

Step 7: Examine the Server

• Wait for the tabbed dialog to be displayed

• Click the various tree nodes on the Server

Properties Tab and examine the contents

• Note that you can right-click the Status

tree node and click Refresh to get updated

status.

• The status will show you if you were able

to connect to all wrapped servers.

13

Page 14: OPC .NET 3.0 (WCF) Getting Started

Step 8: Browse the Server

• Click the Object Tree tab

• Double-click Root, and wait for the

response

• Continue double-clicking to browse the

returned nodes

14

Page 15: OPC .NET 3.0 (WCF) Getting Started

Step 9: Open Read, Write, or

Subscribe Access to the Wrapper

• Click the Communications Endpoints tab

• Check the boxes for the operations you

want to perform. Select the protocol you

want to use, typically this will be the

protocol that you used to connect to the

server

• The callback rate at the top indicates the

keep-alive time for callbacks. It has no

effect if the callback entry is not checked 15

Page 16: OPC .NET 3.0 (WCF) Getting Started

Step 10: Create a Data List

• Click the Data Lists tab

• Click the New button to create a new Data List

(a DA Group).

• When it returns, the created data list will be

added to the upper list box

• Note that you can set the Update Rate before

you create the list, or you can create the list and

then change the UpdateRate and click the

Modify button at any time

16

Page 17: OPC .NET 3.0 (WCF) Getting Started

Step 11: Enable the Data List

• Select the Data List in the upper list box

• Click the Enable button.

• Check the Read, Write, and/or Subscribe check

boxes.

• The check boxes that will be available

correspond to those that you checked on the

Communications Endpoints tab

• If you fail to check one of these, you will not be

able to access the Data List for that purpose

17

Page 18: OPC .NET 3.0 (WCF) Getting Started

Step 12: Add Items to the Data List

• Click either the Add button or the Add

From File button

• Clicking the Add button will allow you to

browse for the data items to add

• Clicking the Add From File button will

allow you to select a file that contains a list

of DA Item IDs (see the Text Files folder in

the Solution for examples)

18

Page 19: OPC .NET 3.0 (WCF) Getting Started

Step 13: Enable Data Items

• Click either the Selections or All radio

button

• If you clicked Selections, you must select

one or more data items that were added to

the lower list box.

• Click Enable to permit access to the data

items of interest

19

Page 20: OPC .NET 3.0 (WCF) Getting Started

Step 14: Subscribing to

Data Values • If Subscribe was checked for the Data List, the

values should be automatically updated at the

Update Rate.

• If they do not, it is probably because the

Wrapper is being run from the debugger, and

the debugger has set COM Security such that

COM callbacks from the DA server are not

permitted.

• Repeat the above procedures after restarting the

Wrapper outside the debugger

20

Page 21: OPC .NET 3.0 (WCF) Getting Started

Step 15: Read/Write Data Values

• Click the Read button to read the data item

values.

• Click the Write button to write a new value. If

you do not first read the value, the Client Base

may not know the data type of the data item, and

you will have to select the correct data type

• Note that the Write button will not update the

local item’s value. You will have to read the item

value to verify that it was correctly updated.

21

Page 22: OPC .NET 3.0 (WCF) Getting Started

Congratulations

• You have successfully started the

Wrapper and been able to access data

items from it.

22