Opc-UA communication protocol , How does the client understand about available server nodes ?

324 views
Skip to first unread message

salim said

unread,
Dec 19, 2017, 9:36:22 AM12/19/17
to open62541
As am starting out with opc ua , i just wanted to know what happens under the hood of the communication layer of opc ua.

Lets take an example of a very simple server implementation that has 3 nodes in the address space. These nodes present data that can be written and read by an opc-UA client.

From reading a part of the code that comes with open62541, i've learnt that the communication happen via TCP. Meaning the server initiates a socket that a client can connect to and enable the client to 
perform various operations on the nodes.

My question is, how does the client know about available server nodes ? I know it browses through the address space but where exactly does it browse to find available nodes ?
 what exposure mechanism does opc-UA use to present available nodes to the client ?. Does the server write available information & nodes on a some xml file or anywhere else and hence when a clients connects, it tries to read the contents of the file to understand the addressSpace structure ?


Palm, Florian

unread,
Dec 19, 2017, 9:50:54 AM12/19/17
to salim said, open62541

Hey,

just have a look at Part 4. There is a set of standardized services that are used in the interaction of client/server (read, browse, write, call etc.) . All services base on the meta model of nodes and reference. References interconnect nodes. To explore a server, the client uses a combination of browse and read requests. There are standardized nodes, that are always there, e.g., the root node. The node id of this node is well-known and can be used as a starting point for a browse request.

A server answers browse requests with browse responses returning all specific references with target nodes of a requested node. So the client goes through this “web” step-by-step just following the references. It is very similar to a file system where you look into a folder and find other folders (would be a hierarchical references in opc ua).

Attributes of a node, for example, the value of a variablenode can be found out with a simple read request.

You could have a look at a wireshark dump, filtering only opc ua packets (“opcua” filter) if you want to go “deeper”

----------------------------------

Florian Palm

Research Associate

Chair of Process Control Engineering

RWTH Aachen University

 

Turmstrasse 46, 52064 Aachen, Germany

Tel. +49 (0) 241 80-97733

Fax  +49 (0) 241 80-92238

www.plt.rwth-aachen.de

 

--
You received this message because you are subscribed to the Google Groups "open62541" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open62541+...@googlegroups.com.
To post to this group, send email to open...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/open62541/191b113b-8a44-4e58-84f7-c9ed55592e07%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages