Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
UAClient Missing AddressSpace Changes of connected Server
April 20, 2015
18:05, EEST
Avatar
hbrackel
Member
Members
Forum Posts: 135
Member Since:
February 21, 2014
sp_UserOfflineSmall Offline

My UaClient is connected to an OPC UA server, whose addressSpace is changing based on some conditions. While the changes can easily be observed by other UA clients, such as UAExpert after rebrowsing, my client does not pick up the changes after rebrowsing the addressSpace or re-reading the uaNodes. The cache.setNodeMaxAge has been set to “0”.
I used addressSpace.browse calls as well as usNode.getReferences, addressSpace.getNode() etc. All do not pick up the changes. Any suggestion would be much appreciated.

Thanks, HU

April 21, 2015
9:36, EEST
Avatar
Jouni Aro
Moderator
Moderators
Forum Posts: 1010
Member Since:
December 21, 2011
sp_UserOfflineSmall Offline

Sorry, but I cannot think of anything useful, if the server is not providing the data that you expect. The client does not perform any magic that could affect this.

Have you ensured that the server is really providing the correct data for the client. You can turn DEBUG (or even TRACE)-level logging on the SDK to examine the data that it’s providing for the client.

April 21, 2015
9:38, EEST
Avatar
Jouni Aro
Moderator
Moderators
Forum Posts: 1010
Member Since:
December 21, 2011
sp_UserOfflineSmall Offline

Of the methods that you tried, addressSpace.browse always makes the call to the server. getNode() also rereads the complete node, if cache is turned off as you have done. UaNode.getReferences() is never refreshed, so it will not change before the complete node is read again (using getNode()).

April 21, 2015
10:16, EEST
Avatar
Jouni Aro
Moderator
Moderators
Forum Posts: 1010
Member Since:
December 21, 2011
sp_UserOfflineSmall Offline

And the final clarification: the old node that was read with getNode() will not be refreshed, of course, so you need to use the new node object. But I don’t think that you assumed that either, do you?

April 22, 2015
11:50, EEST
Avatar
hbrackel
Member
Members
Forum Posts: 135
Member Since:
February 21, 2014
sp_UserOfflineSmall Offline

As in most cases, also this one is a “user (aka programmer’s) error”.
As you explained, UaNode. getReferences() does not automatically refresh after an addressSpace change. So when I fell back to browsing “manually” (addressSpace.browse()), I browsed for the wrong NodeClass…. and thus did not see the changes.

UaNode uaNode = …getNode(uaNode.getNodeId()) and a subsequent uaNode.getReferences() also succeeded.

Thanks for your patience.

-HU

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 518

Currently Online:
18 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

hbrackel: 135

pramanj: 86

Francesco Zambon: 81

rocket science: 77

Ibrahim: 76

Sabari: 62

kapsl: 57

gjevremovic: 49

Xavier: 43

fred: 41

Member Stats:

Guest Posters: 0

Members: 683

Moderators: 16

Admins: 1

Forum Stats:

Groups: 3

Forums: 15

Topics: 1467

Posts: 6261

Newest Members:

digitechroshni, LouieWreve, Kickbiche, karrimacvitie5, graciela2073, sagarchau, elviralangwell4, Donnavek, Eddiefauth, DonaldPooma

Moderators: Jouni Aro: 1010, Otso Palonen: 32, Tuomas Hiltunen: 5, Pyry: 1, Petri: 0, Bjarne Boström: 983, Heikki Tahvanainen: 402, Jukka Asikainen: 1, moldzh08: 0, Jimmy Ni: 26, Teppo Uimonen: 21, Markus Johansson: 42, Niklas Nurminen: 0, Matti Siponen: 321, Lusetti: 0, Ari-Pekka Soikkeli: 5

Administrators: admin: 1