Question about how to read back monitored items in Server|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Question about how to read back monitored items in Server
Avatar
Deepankar Chakraborty
New Member
Members
Forum Posts: 2
Member Since:
04/07/2022
sp_UserOfflineSmall Offline
1
04/07/2022 - 22:29
sp_Permalink sp_Print

We have a setup where OPC UA client subscribe to some nodes (monitored items) in OPC UA server (inside PLC).

The client also occasionally write to the same monitored items and gets the change notification from server.

The issue is, under certain conditions, when the client writes to a monitored node and the PLC logic at server revert the value to previous state.

This revert operation happens so fast that the OPC UA server do not detect this change and do not send  any change notification to client.

The client assumes that the node was updated successfully but actually it was not. 

One solution is that the client should read the server node after every write operation to confirm if the write operation was successful.

Another solution is that the client wait for change notification from server to confirm if the write was successful.

My question is if there any OPC UA service request (or any other way) that can be sent to OPC UA server to send back value of a specific monitored item?

I know that client can read any node in the server by sending a read request but here I want that the server should send current value of a monitored item. 

Avatar
Randy Armstrong
Admin
Forum Posts: 1579
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
04/08/2022 - 21:36
sp_Permalink sp_Print

What you need to do is use a SamplingInterval that is much faster than PublishingInterval AND set a QueueSize large enough to ensure that all changes within the PublishingInterval are reported.

i.e. PublishingInterval=1000ms, SamplingInterval=100ms, QueueSize=11

So when you do a write that is immediately reverted you should get 2 data changes on the next publish for a single monitored item provided the revert takes longer to happen than the SamplingInterval.

Avatar
Deepankar Chakraborty
New Member
Members
Forum Posts: 2
Member Since:
04/07/2022
sp_UserOfflineSmall Offline
3
04/09/2022 - 01:02
sp_Permalink sp_Print

Randy Armstrong said
What you need to do is use a SamplingInterval that is much faster than PublishingInterval AND set a QueueSize large enough to ensure that all changes within the PublishingInterval are reported.

i.e. PublishingInterval=1000ms, SamplingInterval=100ms, QueueSize=11

So when you do a write that is immediately reverted you should get 2 data changes on the next publish for a single monitored item provided the revert takes longer to happen than the SamplingInterval.

  

Thank you Randy!

I will try this approach and reply you back.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 38
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1445
Posts: 4889