Xybernetics ABB 800xA : Adjust Windows Time

Changing Microsoft Windows system time on a control system is always a bad thing.
It upsets historization trending, scheduled tasks and corrupts the controls system database. Database corruption is never a good thing especially if a facility is regulated and has to report production periodically.
There are fines and such if production cannot be proven. That is not part of this article. This article focus on how we can change the Microsoft Windows system time without causing such an upset in the DCS system.

First of all, you will have to verify which machine is your NTP server and which is the NTP client. The best way to do this is though the windows registry.

There are many ways the NTP server/client architecture can be setup.

For example, the Harmony Connection Server can be setup to be an NTP server and all ABB servers (aspect server, IM server, etc.) and even the domain controller will sync the time with the harmony controller server.

Alternatively, the Domain Controller can be the NTP server and the Harmony Connection Server will be the NTP client. Once the ABB Harmony Connection server system time is update, the update time is propagated to all ABB server (like aspect server, IM server, PLC Connect etc.)

You can validate which one of the machine is the NTP server and NTP client though Windows registry.

For our example, we will RDP into the harmony connection server and open DOS prompt and type regedit.

Xybernetics ABB 800xA : Adjust Windows Time

Expand the following key to verify if the Harmony Connect Server is the NTP server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer
If it is and NTP server, the “Enabled” will be set to 1.

Xybernetics ABB 800xA : Adjust Windows Time

And the key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\Enabled” will be set to zero.

Xybernetics ABB 800xA : Adjust Windows Time

And the following key will be something arbitrary.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters\NtpServer

Xybernetics ABB 800xA : Adjust Windows Time

And the Windows Time service will be showing as “Started” if the harmony Connection server is an NTP server.

Xybernetics ABB 800xA : Adjust Windows Time

Lets RDP into our domain controller and inspect the windows registry and services.
If the domain controller is an NTP client.
The windows registry key for NTPServer enabled will be 1 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer\Enabled)

Xybernetics ABB 800xA : Adjust Windows Time

The windows registry key for NTPClient enabled will be 1 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\Enabled)

Xybernetics ABB 800xA : Adjust Windows Time

And the Windows Time service will be started.

Xybernetics ABB 800xA : Adjust Windows Time

Now that we know that out harmony connect server is the NTP server, we will have to run an ABB tool (called “System Time Adjust”) adjust the Microsoft Windows system time on the Harmony Connection Server, which will propogaret the changed time to the reset of the ABB servers and the comain controller.

Click on Start->All Programs->ABB Industrial IT 800xA->Harmony>-Set Harmony Time

Xybernetics ABB 800xA : Adjust Windows Time

Set the “Deviation” (in seconds) and hit “Apply” button. Note that to apply 60 seconds deviation, it will require 33 minutes. The changes are applied progressively and slowly.

Xybernetics ABB 800xA : Adjust Windows Time

Xybernetics ABB 800xA : Adjust Windows Time

You can check the status of the time sync through the “Engineering Workplace” tool. Select “Service Structure” from the pull down menu at the top.
After that expand Services->Time, Service. Click on the “time Difference” tab to see time difference in all the servers.

Xybernetics ABB 800xA : Adjust Windows Time

Verify your time and the newly adjusted time.

Xybernetics ABB 800xA : Adjust Windows Time

Download the Time Adjustment Tool here.