23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

57-4 Industrial Communication Systems<br />

OPC-UA client<br />

Client application<br />

Requests to<br />

send service<br />

requests<br />

Delivery of<br />

received<br />

service<br />

responses<br />

Requests to<br />

send<br />

publishing<br />

requests<br />

Delivery of<br />

received<br />

notifications<br />

OPC UA client API<br />

OPC-UA stack<br />

Req Msg Rsp Msg Publ Msg Notif Msg<br />

To OPC-UA<br />

server<br />

From OPC-UA<br />

server<br />

To OPC-UA<br />

server<br />

From OPC-UA<br />

server<br />

FIGURE 57.5<br />

UA client architecture.<br />

57.2.1 UA Client Application Architecture<br />

To write an OPC UA client application, one typically needs to use the OPC UA client application<br />

programming interface (API), which exposes standard services that should be used to send and receive<br />

OPC UA service requests and responses to the OPC UA server, as shown in Figure 57.5. The API isolates<br />

the client application code from an OPC UA <strong>communication</strong> stack that may be chosen between different<br />

flavors: UA Binary over TCP and SOAP XML/Text over HTTP. The OPC UA <strong>communication</strong> stack<br />

converts OPC UA Client API calls into messages and sends them through the underlying <strong>communication</strong>s<br />

entity to the server at the request of the client application. The OPC UA <strong>communication</strong> stack also<br />

receives responses and notification messages from the underlying <strong>communication</strong>s entity and delivers<br />

them to the client application through the OPC UA Client API, as shown in Figure 57.5.<br />

57.2.2 UA Server Architecture<br />

The realization of an UA server application requires more efforts. One has to implement the UA<br />

AddressSpace, as defined in Part 3 of the UA specifications. UA AddressSpace is used to represent real<br />

objects, their definitions and their references to each other. Real objects are physical (i.e., physical<br />

devices) or software objects (e.g., alarm counters) that are accessible by the OPC UA server application<br />

or that it maintains internally (e.g., internal data objects). The UA AddressSpace is modeled as a set of<br />

Nodes accessible by UA client applications using OPC UA services (interfaces and methods). A View is<br />

a subset of the AddressSpace. Views are used to restrict the Nodes that the server makes visible to the<br />

client, thus restricting the size of the AddressSpace for the service requests submitted by the client. The<br />

default View is the entire AddressSpace. Servers may optionally define other Views. Views hide some of<br />

the Nodes or References in the AddressSpace. Views are visible via the AddressSpace and clients are able<br />

to browse Views to determine their structure. Views are often hierarchies, which are easier for clients to<br />

navigate and represent in a tree.<br />

UA server application uses the OPC UA Server API to send and receive OPC UA Messages from OPC<br />

UA client applications. The OPC UA Server API isolates the server application code from an OPC UA<br />

<strong>communication</strong> stack, as shown in Figure 57.6.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!