07/10/2023
OfflineWe’ve identified a time discrepancy when sending History requests via the OPC library. Specifically, although we are setting the StartTime as 10:10 AM, the OPC library is automatically adjusting this to CDT (-5 hours), which aligns with the time zone of the VM where the request is being executed. This means the actual request being sent is interpreted as 5:10 AM CDT, not the originally intended 10:10 AM UTC. We’re currently looking into ways to handle this adjustment, either by explicitly converting the time to UTC before sending or by configuring the library to respect the intended time zone. Please let me know if anyone has encountered similar behavior or have suggestions on how best to handle this.
Moderators-Specifications
Moderators-Companion
Moderators-Implementation
Moderators-Certification
Moderators-COM
02/24/2014
OfflineIn OPC UA time is always in UTC, so all parameters to methods or services are expecting the time to be provided in UTC. All Servers are expecting parameters and services to provided UTC time. Data value (SourceTimestamp and ServerTimeStamps) are also in UTC Time. In a historian that data is stored as UTC Time.
With this understanding - I'm not sure where your issue is? Also what OPC Library are you using?
A client GUIs may/often allow a user to enter a time in a local time zone and then convert it to UTC for use through out the system, but this would be part of the client functionality. Any data that is returned, if the time stamp is to be displayed, then again the conversion would be perform for the display. i.e. a client GUI may want to display all time in the Local time, but this is only on the client GUI.
Paul Hunkar - DSInteroperability
07/10/2023
OfflineWe are using the .NET Standard OPC Library for this implementation.
Please find the attached screenshots for reference. Up to the point where the client communicates with the OPC Library, the values remain the same as what the client is sending. However, when we trace the request using Wireshark, we notice that the values are automatically converted to the local time zone. This seems to be happening because the client is running in a different time zone.
07/10/2023
OfflineHi Randy,
We have seen this code and found that there is no problem in this.
found that the value is converting from 636188622030000000 to different value in public void WriteDateTime(string fieldName, DateTime value) which is under BinaryEncoder.cs file. which writes the values to m_writer.Write(ticks);.
We are confused if this value conversion is causing any problem.
1 Guest(s)


Log In

Usage Policy