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
Data Subscription without DataChangeFilter
August 11, 2015
17:27, EEST
Avatar
zhencai
Member
Members
Forum Posts: 8
Member Since:
August 11, 2015
sp_UserOfflineSmall Offline

I created a subscription to receive data regularly no matter it is changed or not. Is it possible that I can extend DataChangeFilter to let the data pass through even not changed?

If it is not possible to overwrite the filter, is there a way to know the subscription is still active or simply does not response since there is no data received on the client side?

BTW, I noticed that the value of some node is changed after each browse while the value of some other node is not changed after browse. I wonder which property of the node controls this behavior? I tried to find it in the OPCUA specs but no result.

Thank you for the help.

August 12, 2015
8:03, EEST
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1026
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Do you mean by not changed:
1. That the value stays the same but timestamp changes
2. That both value and timestamp stays the same

In case of 1, you need to use a DataChangeFilter with trigger STATUS_VALUE_TIMESTAMP (i.e. DataChangeTrigger.StatusValueTimestamp), because the default behaviour without any filters is the STATUS_VALUE, i.e. no notifications if only the timestamp changes (see Part 4, Table 130 of the spec). In case of 2, there is no way to get notifications since nothing changes. Anyway extending the filter is meant for “specification level” extension, i.e. something both the client and the server should knowof.

There is a keepalive notification, which does not contain any notifications. This is sent whenever there has not been anything other to send for MaxKeepAliveCount of PublishIntervals. You can add a listener for these events, Subscription.addAliveListener. Also you might want to read spec Part 4: 5.13.1 on how the subscription model works.

For the BTW part, I need a bit more information. The only thing that should be a direct result of a browse is the increase in the Objects/Server/ServerDiagnostics/(uri of the session)/SessionDiagnostics/BrowseCount and that with diagnostics on.

– Bjarne

August 12, 2015
8:07, EEST
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1026
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Also in some cases just doing a normal Read with a timer might be a good enough solution.

August 12, 2015
17:41, EEST
Avatar
zhencai
Member
Members
Forum Posts: 8
Member Since:
August 11, 2015
sp_UserOfflineSmall Offline

Thank you, Bjarne. You answered most of my questions.

The ‘not changed’ I referred is the second case you mentioned. It seems no way to get notifications if nothing is changed. As you said, maybe a normal read with a timer can be an alternative.

For the BTW part, I used UAExpert to connect to an Opcua server. There are some variable nodes, such as one with id “Demo.Dynamic.Scalar.Int32”. Each time I rebrowsed the node in UAExpert, its SourceTimestamp, ServerTimestamp and Value were changed. Actually all variables under “Demo.Dynamic” folder behaves the same. Not sure what makes them ‘dynamic’.

August 13, 2015
6:51, EEST
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 1026
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

I would assume they are test nodes similar to ones we have in our SampleConsoleServer and Simulation Server, just a bit different. Seems the UaDemoServer (unified automation one) has similar nodes (not the exact same ids but behaves similary). It seems that once their values have been read once (e.g. by clicking the node in the tree view), it starts simulating values for that node, if you refresh the attribute view, you should see it changing even if you do not rebrowse (assuming the nodes are that much similar). Other than that, it is probably best to ask the server manufacturer.

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 1919

Currently Online:
20 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Heikki Tahvanainen: 402

hbrackel: 144

rocket science: 88

pramanj: 86

Francesco Zambon: 83

Ibrahim: 78

Sabari: 62

kapsl: 57

gjevremovic: 49

Xavier: 43

Member Stats:

Guest Posters: 0

Members: 738

Moderators: 7

Admins: 1

Forum Stats:

Groups: 3

Forums: 15

Topics: 1524

Posts: 6451

Newest Members:

jonathonmcintyre, fannielima, kristiewinkle8, rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger

Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0

Administrators: admin: 1