Set SourceTimstamp when load a variable from UANodeSet.xml

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
franck.etienne
Sr. Member
Sr. Member
Posts: 16
Joined: 01 Jun 2016, 13:08

Set SourceTimstamp when load a variable from UANodeSet.xml

Post by franck.etienne »

Hi,
I want to know if it is possible to set SourceTimestamp when a variable is loaded from UANodeSet.xml

Here is my variable declaration from UANodeSet.xml:
<UAVariable DataType="Float" NodeId="ns=1;s=var-XQ01" BrowseName="1:var-XQ01" UserAccessLevel="1" AccessLevel="1">
<DisplayName locale="en">var-XQ01</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=63</Reference>
<Reference ReferenceType="Organizes" IsForward="false">ns=1;s=KER</Reference>
</References>
<Value>
<uax:Float>10.5</uax:Float>
</Value>
</UAVariable>

Here we could see that value is set to float 10.5.
Is it possible to set SourceTimestamp to a specific value in past ?

Thank's in advance for suggestions.
Franck.

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re: Set SourceTimstamp when load a variable from UANodeSet.xml

Post by Support Team »

Hi,

first to your question: no, you can not set the SourceTimestamp in the Nodeset file.

Explanation: the NodeSet is not designed (and not intended) to be used like that (see schema). The NodeSet is intended to hold the "types", but not the "instances" of a system. Even though it is possible to have instances in the Nodeset file, it gets very slow and very large when being used for instances. The "value" in the Nodeset is intended for initial value on a type (e.g. enum value) and is intended for arguments of methods (e.g. input argument). But as you can see the "value" in the Nodeset is just a variant, hence can not hold similar information like a full "UA-Data-Value". Therefore it is not possible to set a source timestamp within the Nodeset file. The instance of a variable is intended to represent some real existing process value, such data-value is coming from the underlying source, but not from the (type)-configuration file of the server.

But again if you try to set timestamp, it is probably a misunderstanding of what the Nodeset is intended to be used for.
Best regards
Unified Automation Support Team

Post Reply