3
INSTRUCTION BULLETIN—Reference Guide
CyTime
TM
Sequence of Events Recorder
IB-SER32e-02
Jan-2022
© 2010-2022 Cyber Sciences, Inc. All rights reserved.
Date/Time Conventions
The CyTime SER-32e provides a user-configurable setting for time zone offset: the
time in hours to add to or subtract from Coordinated Universal Time (UTC) to adjust
for local time.
The CyTime SER supports adjustments for Daylight Saving Time (DST) or Summer
Time. However, Cyber Sciences recommends that event timestamps be based
exclusively on UTC or standard time, since discontinuities introduce potential for
confusion and make comparisons of historical values more difficult. If an adjustment
for DST is desired, this should be made by application software at the end point of
consumption (for display or analysis). This topic is discussed in more detail later in
this document.
Three (3) different conventions are used by the SER to store the current date/time,
depending on the context:
●
Expanded (7-register) format, in which each element (year, month, day, hour,
minute, second), is stored in a separate register. Example: present date/time, in
registers 400203 to 400209.
●
Condensed (3 or 4-register) format, in which two elements are stored per
register (month/day in MSB/LSB, year/hour in next register, etc.). The 4th
register (for milliseconds) is optional. See Table 1-1 below for details. Example:
present date/time, condensed, in registers 400210 to 400212.
●
Compressed (2-register, 32-bit unsigned integer) format, in which the
date/time is expressed in seconds since the “epoch” date of Jan 1, 1984.
Example: SER event log, registers 3 and 4 in each event record.
Note: Where applicable, the SER uses “big-endian”
encoding, consistent with Modbus standards. That
is, the most significant byte or word is stored in the
first position, or lowest register. The one exception is
the event log—here encoding is reversed (“little-
endian”) to maintain compatibility with legacy
event recorders.
Byte Order
Modbus protocol is based on 16-bit registers, each of which can contain up to 2
bytes. Unsigned values greater than 65535 are encoded as 32-bit integers using 2
registers, 4 bytes total. The order in which these bytes are stored must therefore be
known for the data to be retrieved and correctly interpreted. Modbus declares itself
as a ‘big-endian” protocol, per Modbus Application Protocol Specification, V1.1.b:
“Modbus uses a ‘big-endian’ representation for addresses and data items. This means
that when a numerical quantity larger than a single byte is transmitted, the most signifi-
cant byte is sent first.”
Following this convention, the SER stores all values as “big-endian” except where
noted otherwise.
A copy of the Modbus protocol specification is available for free download from the
Modbus web site:
www.modbus.org/specs.php
.
High-byte (MSB)
Low-byte (LSB)
register 1
Month (0 - 12)
Day (0 - 31)
register 2
Year (0 - 199) (add 1900)
Hour (0 - 23)
register 3
Minute (0 - 59)
Second (0- 59)
register 4
(optional)
Milliseconds (0 - 999)
Table 1-1 – Condensed Date/Time Format (with optional ms)
Note: To get the year, add 1900 to the value in register 2 high-byte (e.g., a value of 112 in
register 2/high-byte represents 112 + 1900 = the year 2012).