OPC UA: SourceTimestamp and ServerTimestamp

I am interested in the OPC UA Timestamp Handling on the B&R PLC:

In the Automation Help Automation Help > OPC UA Foundation Error Codes the description for the error Bad_TimestampNotSupported tells that the ServerTimestamp can’t be used because the OPC UA Server is only supporting SourceTimestamp.
→ This leads to my first questions:
Is the OPC UA Server running on B&R PLC not supporting ServerTimestamp?
Is the Error Code description from Bad_TimestampNotSupported also for others confusing? In my opinion “timestamp format” would relate to how date and time is written (eg. RFC 3339, ISO 8601, …) versus ServerTimestamp relates to the source for the content of the timestamp

So, SourceTimestamp is supported (my assumption):
According to OPCFoundation > 7.7.3 SourceTimestamp the timestamp is applied by the data source und shall be UTC time format. Furthermore, it states

“… only the originator of the data is allowed to apply the sourceTimestamp.”

Which is different compared to the ServerTimestamp.
This leads to the following question:
How is the SourceTimestamp built in B&R PLC? Which timestamp(the source of the timestamp content) is used for the SourceTimestamp? Is somehow the server sampling timer used for the timestamp?

Thanks in advance!

Hi Anna,

I can’t answer your questions to be honest, but I’m sure the’re others here in the community knowing more about it.

At least, I want to agree that the german translated description of Bad_TimestampNotSupported sounds a bit misleading.

At the OPC UA Foundation page it’s documented as:

Bad_TimestampNotSupported
The Client requested history using a TimestampsToReturn the Server does not support (i.e. requested Server Timestamp when Server only supports SourceTimestamp).

The english version of the AS help uses the same wording, so in the end I think that the description in brackets is only meant as one single example that could lead to this error, and the german translation is a bit faulty.

Best regards!

Agree with Alexander. I discussed it internally but we do not know the answer tbh. The server timestamp is the UTC time usually and the source timestamp depends on when the value is requested by the client. The timestamp is also in UTC format. For more detailed answer would be better if you get in contact with local support, they can investigate answer with R&D team.

I neither have a definite answer for this.

As far as I know the Server and Source timestamp are the same in the B&R Automation Runtime OPC UA Server, and there is no possibility to change this. The time source for this is the Automation Runtime clock. The timestamp is updated when the corresponding PLC variable changes.