Hi,
Sorry for my bad english.
On my server OPC UA I have variables OPC UA with only the TimeStampServer changes. This is normal the normal behaviour.
Is it possible from a client UA to be notified on the TimeStampServer change?
Thanks,
Best regards,
Romain
DataChangeFilter on TimeStampServer
Moderator: Support Team
- Support Team
- Hero Member
- Posts: 3072
- Joined: 18 Mar 2011, 15:09
Re: DataChangeFilter on TimeStampServer
Hello Romain,
A DataValue in OPC UA consists of Value, SourceTimestamp, ServerTimestamp and Status.
The default setting for Data MonitoredItems in OPC UA is to send a new DataValue to the client if either Value or Status changed.
A client is able to change this behaviour by setting a DataChange filter for a Data MonitoredItem when calling CreateMonitoredItems. This filter allows to request a new DataValue if the Value, Status or SourceTimestamp changes.
See client sample code in SDK version 1.3.3 in examples\client_cpp_sdk\client_cpp_sdk.cpp line 701.
It is not possible to send a DataValue based on a ServerTimestamp change. This is not possible since it makes no sense.
The SourceTimestamp indicates the last time the value was changed. The ServerTimestamp indicates the last time the server checked for a change.
It makes sense to inform a client about a change, even if the value was changed back to the value that is known to the client. This is indicated through a change in SourceTimestamp.
To tell the client that the server checked for change but nothing was changed is nothing a client is interested in if the client works with MonitoredItems.
Best regards
Support Team
A DataValue in OPC UA consists of Value, SourceTimestamp, ServerTimestamp and Status.
The default setting for Data MonitoredItems in OPC UA is to send a new DataValue to the client if either Value or Status changed.
A client is able to change this behaviour by setting a DataChange filter for a Data MonitoredItem when calling CreateMonitoredItems. This filter allows to request a new DataValue if the Value, Status or SourceTimestamp changes.
See client sample code in SDK version 1.3.3 in examples\client_cpp_sdk\client_cpp_sdk.cpp line 701.
It is not possible to send a DataValue based on a ServerTimestamp change. This is not possible since it makes no sense.
The SourceTimestamp indicates the last time the value was changed. The ServerTimestamp indicates the last time the server checked for a change.
It makes sense to inform a client about a change, even if the value was changed back to the value that is known to the client. This is indicated through a change in SourceTimestamp.
To tell the client that the server checked for change but nothing was changed is nothing a client is interested in if the client works with MonitoredItems.
Best regards
Support Team