Remote Automation Solutions Guide: OpenEnterprise Time Zones and DST Reference Guide Manuals & Guides

Reference Guide
D301542X412 April 2012
Remote Automation Solutions
Website: www.EmersonProcess.com/Remote
Reference Guide
D301542X412 APRIL 2012
Time Zones and DST
Contents
1 Time Zones and DST Setup....................................................................................................1
1.1 Time System Terminology ..................................................................................................1
1.2 Setting the Time Zone and DST in the OE Database.........................................................2
1.3 Example SQL Include File ..................................................................................................2
1.3.1 Header Section.............................................................................................................2
1.3.2 DST Information Section ..............................................................................................3
1.3.3 Setting the Timezone....................................................................................................3
1.3.4 Locking the DSTInformation Table...............................................................................3
1.3.5 Create a Timer to Monitor the DST changes................................................................3
1.4 Setting the Time Zone in the Views ....................................................................................4
1.4.1.1 Accessing a Client's Time Zone Page ...................................................................4
1.4.1.2 Configuring a Client's Time Zone...........................................................................4
1.5 Setting the Time Zone on the OE Server............................................................................4
1.6 Server - Workstation Time Synchronization........................................................................4
1.6.1.1.1.1 The Net Time Command............................................................................4
1.6.1.1.1.2 Assigning a SCADA Network Time Server................................................5
1.7 Basic Time Principles Recapped........................................................................................5
1.7.1 Date-Time Values are stored in GMT...........................................................................5
1.7.2 The Time Server converts Date-Time Values at the Workstation................................5
1.7.2.1 Data Received from the Database.........................................................................5
1.7.2.2 Data Sent to the Database.....................................................................................6
2 Index .........................................................................................................................................7
- i -
Reference Guide
D301542X412 APRIL 2012
Time Zones and DST

1 Time Zones and DST Setup

This document is to aid engineers to understand how OpenEnterprise applications deal with the complexity of different time zones and daylight savings time arrangements. An OpenEnterprise application's time set-up depends on three factors: -
1. The OpenEnterprise application's time zone set-up. This is stored in the DatabaseTimeStatus and DSTInformation tables within the OpenEnterprise database;
2. The OpenEnterprise application Client set-up. This is saved in the configuration of the View files on the OpenEnterprise Workstation;
3. The time zone set up of the Windows® operating system on the Server and Workstation (if time data is written to the database from the Workstation).

1.1 Time System Terminology

Term Meaning
DST Daylight Saving Time DST Offset The offset, in minutes, off standard time that is in effect for the purposes of
Daylight saving
Client Local Time Client Local Time is the local time of an View component, based on the
following:
(a) What time zone the View component has been told it is in, from the 'Time Zone' value on the OpenEnterprise\Tasks\TimeServer key. This value can be viewed using the Settings Editor. (b) What DST offset the database says is in effect. Client Local Time is configurable on a per client instance basis. It is possible for three Alarm Views to be running simultaneously on the same Workstation and yet each operating in a different time zone. Hence, each of these Alarm Views would have its own, individual, 'Client Local Time'.
Raw GMT Date/time values in raw GMT are in Greenwich Mean Time and have no
DST offset applied to them
Time System This is the overall design and implementation of time zone and DST
support within OpenEnterprise. Most commonly used to refer to the context in which the user may wish to create applications.
- 1 -
Reference Guide
D301542X412 APRIL 2012
Client Any OpenEnterprise View component.
Time Zones and DST

1.2 Setting the Time Zone and DST in the OE Database

When building the OpenEnterprise Database on an OE Server, there must be an SQL script provided for the Time Zone that the Server will be operating in.
A number of example Time Zone scripts are found in the OpenEnterprise default Data directory, and are named according to each Time Zone with a .sql extension (i.e MountainUS.sql). These example scripts are not exhaustive, and so the installation engineer may need to create a Time Zone file for the application's time zone using the same format.
The Time set-up script must be included by the installation engineer when the database is be i ng built. This is done by typing:-
include 'DSTandTimeZone.sql' ; ...into the SQL Client, where 'DSTandTimeZone.sql' is the SQL script to include, and it is in the
OpenEnterprise Data directory. For exact instructions on building an OpenEnterprise Database, including instructions on when to include the Time set-up script please refer to the OpenEnterprise Installation Guide.
An example of such a script is included in the Example SQL Include File topic.

1.3 Example SQL Include File

SQL script files are used to enter the correct DST and Time Zone information into the OpenEnterprise database. This is then used by the Time Server to satisfy any local time conversion requests made by clients.
This example SQL script for U.S. Mountain Time is broken down below into sections. Any Time Zone script must have these sections (except for the header, which is for information only).

1.3.1 Header Section

This section contains comments about the file. Comments are preceded by two dashes (--).
-- $HeaderL_Include_File.htm-arc 1.0 Feb 24 2003 11:14:50 eddie $
----------------------------------------------------------------------
--
--
-- Module: MountainUS.sql
-- Class: Database load file defining DST changes
--
-- Copyright (C)
-- 1999 Bristol OED.
-- All Rights Reserved
--
-- Description
-- -----------
- 2 -
Reference Guide
D301542X412 APRIL 2012
--Load file containing the DST changes in US Mountain time for the range
--of years between
--1990 and 2010

1.3.2 DST Information Section

Note: In this example the DST change times are seven hours after local time, because when it
is 2AM using US Mountain time, it is 9AM according to GMT. This is because the OpenEnterprise database always works in GMT. There are two entries per year - one which gives the time, date and offset for entering into DST, and one which gives the time and date when normal time is renewed.
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('01-APR-1990 09:00:00.000'),60);
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('28-OCT-1990 08:00:00.000'), 0);
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('07-APR-1991 09:00:00.000'),60);
Time Zones and DST
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('27-OCT-1991 08:00:00.000'), 0);
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('05-APR-1992 09:00:00.000'),60);
insert into DSTInformation_Table (id, ChangeTime, DSTOffset) values (0,datetime('25-OCT-1992 08:00:00.000'), 0);
etc etc....

1.3.3 Setting the Timezone

This statement sets the timezone we are in update DatabaseTimeStatus_Table set TimeZone = 'GMT-07:00';

1.3.4 Locking the DSTInformation Table

This entry locks the table to prevent any casual updates or inserts update DSTInformation_Table set locked = TRUE;

1.3.5 Create a Timer to Monitor the DST changes

This entry will create a timer to monitor the DST changes. It must be created after the entry in the DatabaseTimeStatus table and the DST change schedules, it will set
itself up.
insert into DSTTimer_Table (Id) values (0);
commit;
- 3 -
Reference Guide
D301542X412 APRIL 2012
Time Zones and DST

1.4 Setting the Time Zone in the Views

Every OpenEnterprise View component has a configuration Page which allows the engineer to configure the Time Zone for the View. The View will operate independently from the time zone of the PC on which it is running. This allows engineers to view times in Views as they would appear in a different time zone without having to change the Workstation's time zone.
The Workstation must be time synchronized with the OpenEnterprise Server, although there is no reason why it cannot be configured to be in a different Windows time zone. Please refer to the Server
- Workstation Time Synchronization topic for further details.

1.4.1.1 Accessing a Client's Time Zone Page

The Co whilst the Client is in Configure mode. A Client may be put into configure mode within the OpenEnterprise Desktop by selecting: -
File>>Mode>>Configure from the OE Desktop menu whilst the Client's window has the focus.

1.4.1.2 Configuring a Client's Time Zone

The Time Zo particular OE Client. It provides the engineer with an option to turn Time Zone adjustment off, and a Time Zone selection list.
nfiguration pages for an OpenEnterprise Client are accessed from the Client's context menu
ne configuration page of an OpenEnterprise Client enables the configuration of that

1.5 Setting the Time Zone on the OE Server

Regardless of the Windows time zone settings of the OpenEnterprise Server, the OpenEnterprise database will always store date and time values in GMT.

1.6 Server - Workstation Time Synchronization

It is recommended, for the correct handling of time data within an OpenEnterprise application that the Server(s) and Workstations are all synchronised correctly.

1.6.1.1.1.1 The Net Time Command

- 4 -
Reference Guide
D301542X412 APRIL 2012
To synchronise two PC's using Windows NT or 2000, use the Net Time command. On the command line interface this takes the form: -
Net Time \\OETimeServer /set /y Where
\\OETimeserver is the OE Server PC which has been designated as the main OpenEnterprise Time Server. It is acceptable to use its DNS name or IP address;
/set is the command to synchronise the time to the designated time server;
/y is a parameter which enables the synchronisation to take place without further user input.
The Net Time command should be saved to a *.CMD file. Using the Windows™ Scheduled Tasks program or similar, the Standby Server and Workstations can be scheduled to run the *.CMD file on a regular basis to keep all of the OpenEnterprise PC's synchronised.
"Net Time" provides a very simple level of functionality regarding time synchronisation of computers on a network. There are other applications which could be used also, such as "AboutTime". This is a 'careware' application that has a lot more functionality than "Net Time", including a scheduling feature.
Time Zones and DST

1.6.1.1.1.2 Assigning a SCADA Network Time Server

could be the Standalone Server or one of the Servers on a redundant OpenEnterprise system,
This probably the 'A' label Server. In a redundant system the Standby Server would have to regularly synchronise itself to this Server.
Another solution is to have a dedicated Time Server PC, which is not one of the OpenEnterprise Servers. This would be linked to a reference clock, such as a radio clock. One of the redundant OpenEnterprise Servers should then synchronise itself to this PC, and the other Server would synchronise itself to the synchronised Server.
Workstations should also then regularly synchronise to the dedicated Time Server PC via one of the OpenEnterprise Servers.

1.7 Basic Time Principles Recapped

OpenEnterprise time works on the following principles.

1.7.1 Date-Time Values are stored in GMT

When the OpenEnterprise database is built, there must be an SQL script provided for that Time Zone, which must be included by the installation engineer. A number of such scripts are found in the OpenEnterprise default Schema directory, and are named according to each Time Zone.
These scripts enter the correct DST information for the Time Zone into the DSTInformation table, followed by an entry in the DatabaseTimeStatus table, which informs the application which Time Zone the Server belongs to. Finally the script creates a new timer object in the DSTTimer table. A default TimeZones table lists the Time Zones including the time difference of each with GMT. With this information the OE Database is able to convert times to GMT before storing.

1.7.2 The Time Server converts Date-Time Values at the Workstation

1.7.2.1 Data Received from the Database
Each OpenEnterprise Workstation runs the TimeServer executable. The TimeServer receives time data from the Database in GMT format, and then converts it to the View time setting just before it is displayed.
- 5 -
Reference Guide
D301542X412 APRIL 2012
Note: When using the SQL Client to query the Database rather than one of the View components, the results will be displayed in GMT. This will apply to any "direct access" method of querying the Database (i.e. MsQuery).
1.7.2.2 Data Sent to the Database
Time Zones and DST
Data ente to the user. For example, if the Client Local Time is in use and has the time zone configured to GMT+07:00 (and a 0 DST Offset) the user would see alarms on the OE Alarm Client with time stamps 7 hours ahead of the time stamp values in the database.
If the user then selects 'Timed Suppression' on an alarm and enters a time 3 hours in the future for the end of the suppression, the time value the user entered is assumed to be in Client Local Time. Hence, 7 hours will be subtracted from that time before it gets written to the database.
red by the user is assumed to be in the same format as the data that is being output
- 6 -
Reference Guide
D301542X412 APRIL 2012

2 Index

1
B
Basic Principles Recapped ................................ 7
D
DST.................................................................... 4
E
Example SQL Include File.................................. 4
O
OE Database...................................................... 4
OE Server........................................................... 6
OE Time............................................................. 7
OE Views............................................................ 5
Time Zones and DST
Overview.............................................................3
S
Server .................................................................6
Setting.........................................................4, 5, 6
Time Zone...............................................4, 5, 6
T
Time System Terminology..................................3
Time Zone...................................................4, 5, 6
Setting.....................................................4, 5, 6
W
Workstation Time Synchronization.....................6
- 7 -
Reference Guide
D301542X412 APRIL 2012
DISCLAIMER
Bristol, Inc., Bristol Babcock Ltd, Bristol Canada, BBI SA de CV and the Flow Computer Division , are wholly owned subsidiaries of Emerson Electric Co. doing business as Remote Automation Solutions (“RAS”), a division of Emerson Process Management. ROC, FloBoss, ROCLINK, Bristol, Bristol Babcock, ControlWave, TeleFlow and Helicoid are trademarks of RAS. AMS, PlantWeb and the PlantWeb logo are marks of Emerson Electric Co. The Emerson logo is a trademark and service mark of the Emerson Electric Co. All other marks are property of their respective owners.
The contents of this publication are presented for informational purposes only. While every effort has been made to ensure informational accuracy, they are not to be construed as warranties or guarantees, express or implied, regarding the products or services described herein or their use or applicability. RAS reserves the right to modify or improve the designs or specifications of such products at any time without notice. All sales are governed by RAS’ terms and conditions which are available upon request. RAS does not assume responsibility for the selection, use or maintenance of any product. Responsibility for proper selection, use and maint en ance of any RAS product remains solely with the purchaser and end-user.
Engineered and supported by:
Remote Automation Solutions, Blackpole Road, Worcester, WR3 8YB, UK Registered office: Meridian East, Leicester, LE19 1UX
Registered in England and Wales, Registration No. 00671801
VAT Reg No. GB 705 353 652
Emerson Process Management Remote Automation Solutions
1100 Buckingham St Watertown, CT 06795 T 1 (860) 945 2200 F 1 (860) 945 2278 www.EmersonProcess.com/Remote binfo@EmersonProcess.com
© 2001-2012 Remote Automation Solutions, division of Emerson Process Management. All rights reserved.
Emerson Process Management Remote Automation Solutions
Blackpole Road Worcester, WR3 8YB T 44 (0) 1905 856848 F 44 (0) 1905 856930 www.EmersonProcess.com/Remote oedsupport@EmersonProcess.com
Loading...