NTCIP1203 V 03 F
NTCIP1203 V 03 F
National Transportation
Communications for ITS Protocol
Published by
© 2014 by the American Association of State Highway and Transportation Officials (AASHTO), the
Institute of Transportation Engineers (ITE), and the National Electrical Manufacturers Association
(NEMA). All intellectual property rights, including, but not limited to, the rights of reproduction, translation,
and display are reserved under the laws of the United States of America, the Universal Copyright
Convention, the Berne Convention, and the International and Pan American Copyright Conventions.
Except as licensed or permitted, you may not copy these materials without prior written permission from
AASHTO, ITE, or NEMA. Use of these materials does not give you any rights of ownership or claim of
copyright in or to these materials.
Visit www.ntcip.org for other copyright information, for instructions to request reprints of excerpts, and to
request reproduction that is not granted below.
To the extent that these materials are distributed by AASHTO / ITE / NEMA in the form of an Adobe®
Portable Document Format (PDF) electronic data file (the “PDF file”), AASHTO / ITE / NEMA authorizes
each registered PDF file user to view, download, copy, or print the PDF file available from the authorized
Web site, subject to the terms and conditions of this license agreement:
a) you may download one copy of each PDF file for personal, noncommercial, and intraorganizational
use only;
b) ownership of the PDF file is not transferred to you; you are licensed to use the PDF file;
c) you may make one more electronic copy of the PDF file, such as to a second hard drive or burn to a
CD;
d) you agree not to copy, distribute, or transfer the PDF file from that media to any other electronic
media or device;
e) you may print one paper copy of the PDF file;
f) you may make one paper reproduction of the printed copy;
g) any permitted copies of the PDF file must retain the copyright notice, and any other proprietary
notices contained in the file;
h) the PDF file license does not include: 1) resale of the PDF file or copies, 2) republishing the content in
compendiums or anthologies, 3) publishing excerpts in commercial publications or works for hire,
4) editing or modification of the PDF file except those portions as permitted, 5) posting on network
servers or distribution by electronic mail or from electronic storage devices, and 6) translation to other
languages or conversion to other electronic formats;
i) other use of the PDF file and printed copy requires express, prior written consent.
To the extent that these materials are distributed by AASHTO / ITE / NEMA in the form of a Data
Dictionary (“DD”) or Management Information Base (“MIB”), AASHTO / ITE / NEMA extend the following
permission:
You may make or distribute unlimited copies, including derivative works, of the DD or MIB, including
copies for commercial distribution, provided that:
a) each copy you make or distribute contains the citation “Derived from NTCIP 0000 [insert the standard
number]. Used by permission of AASHTO / ITE / NEMA.”;
b) the copies or derivative works are not made part of the standards publications or works offered by
other standards developing organizations or publishers or as works-for-hire not associated with
commercial hardware or software products intended for field implementation;
c) use of the DD or MIB is restricted in that the syntax fields may be modified only to reflect a more
restrictive subrange or enumerated values;
d) the description field may be modified but only to the extent that: 1) only those bit values or
enumerated values that are supported are listed; and 2) the more restrictive subrange is expressed.
These materials are delivered “AS IS” without any warranties as to their use or performance.
AASHTO / ITE / NEMA and their suppliers do not warrant the performance or results you may
obtain by using these materials. AASHTO / ITE / NEMA and their suppliers make no warranties,
express or implied, as to noninfringement of third party rights, merchantability, or fitness for any
particular purpose. In no event will AASHTO / ITE / NEMA or their suppliers be liable to you or any
third party for any claim or for any consequential, incidental or special damages, including any
lost profits or lost savings, arising from your reproduction or use of these materials, even if an
AASHTO / ITE / NEMA representative has been advised of the possibility of such damages.
Some states or jurisdictions do not allow the exclusion or limitation of incidental, consequential, or special
damages, or the exclusion of implied warranties, so the above limitations may not apply to a given user.
Use of these materials does not constitute an endorsement or affiliation by or between AASHTO, ITE, or
NEMA and the user, the user’s company, or the products and services of the user’s company.
If the user is unwilling to accept the foregoing restrictions, he or she should immediately return these
materials.
To the extent that these materials are distributed by AASHTO / ITE / NEMA in the form of a Profile
Requirements List (“PRL”) or a Requirements Traceability Matrix (“RTM”), AASHTO / ITE / NEMA extend
the following permission:
a) you may make or distribute unlimited copies, including derivative works of the PRL (then known as a
Profile Implementation Conformance Statement (“PICS”)) or the RTM, provided that each copy you
make or distribute contains the citation “Based on NTCIP 0000 [insert the standard number] PRL or
RTM. Used by permission. Original text © AASHTO / ITE / NEMA.”;
b) you may only modify the PRL or the RTM by adding: 1) text in the Project Requirements column,
which is the only column that may be modified to show a product’s implementation or the project-
specific requirements; and/or 2) additional table columns or table rows that are clearly labeled as
ADDITIONAL for project-unique or vendor-unique features; and
c) if the PRL or RTM excerpt is made from an unapproved draft, add to the citation “PRL (or RTM)
excerpted from a draft standard containing preliminary information that is subject to change.”
This limited permission does not include reuse in works offered by other standards developing
organizations or publishers, and does not include reuse in works-for-hire, compendiums, or electronic
storage devices that are not associated with procurement documents, or commercial hardware, or
commercial software products intended for field installation.
A PICS is a Profile Requirements List which is completed to indicate the features that are supported in an
implementation. Visit www.ntcip.org for information on electronic copies of the MIBs, PRLs, and RTMs.
A Testing Requirements Form (“TRF”) may be a Testing Requirements Traceability Table and/or Test
Procedures. To the extent that these materials are distributed by AASHTO / ITE / NEMA in the form of a
TRF, AASHTO / ITE / NEMA extend the following permission:
a) you may make and/or distribute unlimited electronic or hard copies, including derivative works of the
TRF, provided that each copy you make and/or distribute contains the citation “Based on NTCIP 0000
[insert the standard number] TRF. Used by permission. Original text © AASHTO / ITE / NEMA.”;
b) you may not modify the logical flow of any test procedure, without clearly noting and marking any
such modification; and
c) if the TRF excerpt is made from an unapproved draft, add to the citation “TRF excerpted from a draft
standard containing preliminary information that is subject to change.”
The information in this publication was considered technically sound by the consensus of persons
engaged in the development and approval of the document at the time it was developed. Consensus
does not necessarily mean that there is unanimous agreement among every person participating in the
development of this document.
AASHTO, ITE, and NEMA standards and guideline publications, of which the document contained herein
is one, are developed through a voluntary consensus standards development process. This process
brings together volunteers and seeks out the views of persons who have an interest in the topic covered
by this publication. While AASHTO, ITE, and NEMA administer the process and establish rules to
promote fairness in the development of consensus, they do not write the document and they do not
independently test, evaluate, or verify the accuracy or completeness of any information or the soundness
of any judgments contained in their standards and guideline publications.
AASHTO, ITE, and NEMA disclaim liability for any personal injury, property, or other damages of any
nature whatsoever, whether special, indirect, consequential, or compensatory, directly or indirectly
resulting from the publication, use of, application, or reliance on this document. AASHTO, ITE, and NEMA
disclaim and make no guaranty or warranty, express or implied, as to the accuracy or completeness of
any information published herein, and disclaims and makes no warranty that the information in this
document will fulfill any of your particular purposes or needs. AASHTO, ITE, and NEMA do not undertake
to guarantee the performance of any individual manufacturer or seller’s products or services by virtue of
this standard or guide.
In publishing and making this document available, AASHTO, ITE, and NEMA are not undertaking to
render professional or other services for or on behalf of any person or entity, nor are AASHTO, ITE, and
NEMA undertaking to perform any duty owed by any person or entity to someone else. Anyone using this
document should rely on his or her own independent judgment or, as appropriate, seek the advice of a
competent professional in determining the exercise of reasonable care in any given circumstances.
Information and other standards on the topic covered by this publication may be available from other
sources, which the user may wish to consult for additional views or information not covered by this
publication.
AASHTO, ITE, and NEMA have no power, nor do they undertake to police or enforce compliance with the
contents of this document. AASHTO, ITE, and NEMA do not certify, test, or inspect products, designs, or
installations for safety or health purposes. Any certification or other statement of compliance with any
health or safety-related information in this document shall not be attributable to AASHTO, ITE, or NEMA
and is solely the responsibility of the certifier or maker of the statement.
Trademark Notice
NTCIP is a trademark of AASHTO / ITE / NEMA. All other marks mentioned in this standard are the
trademarks of their respective owners.
< This page intentionally left blank. >
NTCIP 1203 v03.05
Page i
ACKNOWLEDGEMENTS
NTCIP 1203 v03 was prepared by the NTCIP Dynamic Message Sign Working Group (DMS WG), a
subdivision of the Joint Committee on the NTCIP. The Joint Committee is organized under a
Memorandum of Understanding among the American Association of State Highway and Transportation
Officials (AASHTO), the Institute of Transportation Engineers (ITE), and the National Electrical
Manufacturers Association (NEMA). The NTCIP development effort is guided by the Joint Committee on
the NTCIP, which consists of six representatives from each of the above organizations.
When NTCIP 1203 v03 was prepared, the following individuals were active members of the NTCIP DMS
WG:
In addition to the many volunteer efforts, recognition is also given to those organizations who supported
the efforts of the working groups by providing comments and funding for the standard, including:
The U.S. Department of Transportation Joint Program Office provided funding assistance for the
development of NTCIP 1203 v03.
FOREWORD
NTCIP 1203 v03 identifies and defines how a management station may wish to interface with a field
device to control and monitor dynamic message signs (DMS). NTCIP 1203 v03 defines requirements that
are applicable to all NTCIP DMS and it also contains optional and conditional sections that are applicable
to specific environments for which they are intended.
NTCIP 1203 v03 is an NTCIP Device Data Dictionary Standard. Device Data Dictionary Standards
provide formal definitions of data elements for use within NTCIP systems.
For more information about NTCIP standards, visit the NTCIP Web Site at www.ntcip.org .
Approvals
NTCIP 1203 v03 was separately balloted and approved by AASHTO, ITE, and NEMA after
recommendation by the Joint Committee on the NTCIP. Each organization has approved this standard as
the following standard type, as of the date:
History
The first version of NTCIP 1203 was published as NTCIP 1203:1997 and was also known as NEMA
TS 3.6. In 2001, Amendment 1 was accepted by the Joint Committee on the NTCIP and subsequently
Jointly Approved by all three SDOs. The Amendment did not add additional functionality but provided
clarifications on object definitions and MULTI tags which have been detected by actual implementations.
NTCIP 1203 v02 was developed to reflect lessons learned, to update the document to the new
documentation formats, and to add new features such as the colors, graphics, and a 3-tiered equipment
management structure. NTCIP 1203 v02 also follows an established ‘systems engineering’ approach.
Several new sections were added to relate user needs identified in a concept of operations, functional
requirements, interface specifications and a requirements traceability matrix to the existing sections.
This Version 03 of the NTCIP 1203 standard adds test procedures that satisfy the functional requirements
that has been provided. These test procedures, provided in Annex C of this standard, allows agencies
procuring dynamic message signs to consistently test for conformance to this standard. Minor corrections
and clarifications to the standard are also included. All changes are shown and explained in Annex D
(Documentation of Revisions) of this standard.
The term “User Comment” includes any type of written inquiry, comment, question, or proposed revision,
from an individual person or organization, about any part of this standards publication’s content. A
“Request for Interpretation” of this standards publication is also classified as a User Comment. User
Comments are solicited at any time. In preparation of this NTCIP standards publication, input of users
and other interested parties was sought and evaluated.
All User Comments are referred to the committee responsible for developing and/or maintaining NTCIP
1209 v02. The committee chairperson, or their designee, may contact the submitter for clarification of the
User Comment. When the committee chairperson or designee reports the committee’s consensus opinion
related to the User Comment, that opinion is forwarded to the submitter. The committee chairperson may
report that action on the User Comment may be deferred to a future committee meeting and/or a future
revision of the standards publication. Previous User Comments and their disposition may be available for
reference and information at www.ntcip.org.
NTCIP Coordinator
National Electrical Manufacturers Association
1300 North 17th Street, Suite 900
Rosslyn, Virginia 22209-3801
e-mail: [email protected]
Compatibility of Versions
To distinguish NTCIP 1203 v03 (as published) from previous drafts, NTCIP 1203 v03 also includes
NTCIP 1203 v03.05 on each page header. All NTCIP Standards Publications have a major and minor
version number for configuration management. The version number syntax is "v00.00a," with the major
version number before the period, and the minor version number and edition letter (if any) after the
period.
NTCIP 1203 v03 is designated, and should be cited as, NTCIP 1203 v03. Anyone using NTCIP 1203 v03
should seek information about the version number that is of interest to them in any given circumstance.
The MIB, the PRL, and the PICS should all reference the version number of the standards publication that
was the source of the excerpted material.
Conformant systems based on later, or higher, version numbers MAY NOT be compatible with
conformant systems based on earlier, or lower, version numbers. Anyone using NTCIP 1203 v03 should
also consult NTCIP 8004 v02 for specific guidelines on compatibility.
INTRODUCTION
NTCIP 1203 v03 provides definitions of data elements for use with dynamic message signs. The data is
defined using the Simple Network Management Protocol (SNMP) object-type format as defined in RFC
1212 and would typically be exchanged using one of the NTCIP recognized Application Layers (e.g.,
SNMP). The content of one object, the dmsMessageMultiString object, uses a complex syntax called the
Mark-Up Language for Transportation Information (MULTI) format, also defined in NTCIP 1203 v03.
The following keywords apply to this document: AASHTO, ITE, NEMA, NTCIP, DMS, VMS, CMS, data,
data dictionary, object, message sign, message board, sign, MULTI.
In 1992, the NEMA 3-TS Transportation Management Systems and Associated Control Devices Section
began the effort to develop the NTCIP. The Transportation Section’s purpose was to respond to user
needs to include standardized systems communication in the NEMA TS 2 standard, Traffic Controller
Assemblies. Under the guidance of the Federal Highway Administration’s NTCIP Steering Group, the
NEMA effort was expanded to include the development of communications standards for all
transportation field devices that could be used in an Intelligent Transportation Systems (ITS) network.
Message signs were identified as one of the highest priority expansion areas. As a result, in August 1995,
NEMA created the DMS Technical Subcommittee to standardize DMS equipment. Their first task was the
development of this document.
In September 1996, an agreement was executed among AASHTO, ITE, and NEMA to jointly develop,
approve, and maintain the NTCIP standards. One of the first tasks of this joint effort was to finalize the
work that NEMA had already begun on the object definitions for dynamic message signs.
CONTENTS
FIGURES
TABLES
Table 1 Relationship between Main User Needs Groups and National ITS Architecture Flows ................ 29
Table 2 Conformance Symbols ................................................................................................................... 31
Table 3 Predicate Notations ........................................................................................................................ 32
Table 4 Predicate to NTCIP 1203 v03 Section Mapping ............................................................................ 32
Table 5 Support/Project Requirement Column Entries ............................................................................... 33
Table 6 MULTI Tags ................................................................................................................................. 225
Table 7 Field Descriptions......................................................................................................................... 230
Table 8 Line Justification Codes ............................................................................................................... 235
Table 9 Page Justification Codes ............................................................................................................. 236
Table 10 Requirements to Test Case Traceability Table .......................................................................... 299
Table 11 Section Heading Revisions ........................................................................................................ 649
Section 1
General [Informative]
1.1 Scope
NTCIP 1203 v03 specifies the logical interface between Dynamic Message Signs (DMS) and the host
systems that control them (commonly referred to as “central” systems). NTCIP 1203 v03 describes the
supported DMS functionality in terms of user needs and requirements; however, the nature of the
interface is determined in part by the operational nature of the devices being controlled, and therefore
NTCIP 1203 v03 touches on such operational issues on occasion.
NTCIP 1203 v03 assumes a model of DMS operation in which DMS controllers possess intelligence, and
the data used for message display and sign configuration is resident at the DMS controller. In particular,
data elements such as fonts, graphics, message text, time-based schedules, and so forth may reside at
the DMS controller, and the controller renders messages on the sign face based on this data (This model
is typical of existing DMS applications, and may be contrasted with an alternate model in which, for
example, the DMS controller only knows how to display static bitmaps, and all message layout and
composition is performed by the central system.). We refer to the DMS controller’s status, control, and
configuration data as the “controller database”; NTCIP 1203 v03 specifies interfaces whereby this data
can be manipulated by the central system. There are no imperative commands such as “Display a
message” or “Report status”; the central system controls the behavior of the DMS purely through queries
of and changes to the controller database using a suite of communication protocols appropriate for the
underlying communications infrastructure. These communications protocols are defined in the NTCIP
23xx series (Application Layer protocols), NTCIP 22xx series (Transport Layer protocols), and NTCIP
21xx series (Subnetwork Layer protocols).
1.2 References
For approved amendments, contact:
NTCIP Coordinator
National Electrical Manufacturers Association
1300 North 17th Street, Suite 900
Rosslyn, Virginia 22209-3806
e-mail: [email protected]
For draft amendments of this document, which are under discussion by the relevant NTCIP Working
Group, and recommended amendments of the NTCIP Joint Committee, visit the World Wide Web at
http://www.ntcip.org.
The following standards (normative references) contain provisions which, through reference in this text,
constitute provisions of this Standard. Other documents and standards (other references) are referenced
in these documents, which might provide a complete understanding of the entire protocol and the
relations between all parts of the protocol. At the time of publication, the editions indicated were valid. All
standards are subject to revision, and parties to agreements based on this Standard are encouraged to
investigate the possibility of applying the most recent editions of the standards listed below.
IAB STD 16 (RFC 1155) Structure and Identification of Management Information for TCP/IP
based Internets, M. Rose, K. McCloghrie, May 1990, (RFC 1212)
Concise MIB Definitions, M. Rose and K. McCloghrie, March 1991
AASHTO / ITE / NEMA Structure and Identification of Management Information (SMI)
NTCIP 8004 v02 published in June 2010
RFC 1155 Structure and Identification of Management Information for TCP/IP-
based Internets. K. McCloghrie; M. Rose; May 1990
RFC 1212 Concise MIB Definitions. K. McCloghrie; M. Rose; March 1991
AASHTO / ITE / NEMA Transportation Management Protocols (TMP)
NTCIP 1103 v02 published July 2010
AASHTO / ITE / NEMA Subnetwork Profiles
NTCIP 21xx series published December 2001
AASHTO / ITE / NEMA Transport Profiles
NTCIP 22xx series
AASHTO / ITE / NEMA Profile Framework
NTCIP 8003:2001
AASHTO / ITE / NEMA The NTCIP Guide
NTCIP 9001 v04 published July 2009
National ITS Architecture, National ITS Architecture, FHWA, 2010
Version 6.1
OMG Unified Modeling OMG Unified Modeling Language Specification, Object
Language Specification, Management Group, 2003
Version 1.5
Note: NTCIP 2001, which was referenced previously, has been rescinded and superseded by
NTCIP 2301, NTCIP 2201, and NTCIP 2101/2102.
Note: NTCIP 1101, which was referenced by a previous version of this standard, is being
rescinded and superseded by NTCIP 1102, NTCIP 1103, and NTCIP 8004.
1.4 Terms
The following glossary exhibits many DMS-related terms and abbreviations used in the ITS industry in an
attempt to support the standardization of DMS-related terms. Terms NOT directly referenced in this
document are indented. The development of this glossary was closely coordinated with the NEMA TS4
development effort.
activate The action of placing a message in the current buffer and performing
the logic of running the message. Contrast with 'Display', which
manipulates the sign display to make the current message visible to
the driving public.
Activate Message The command to direct the sign controller to display the message on
the sign face.
Activation priority A numeric value between 1 and 255 that the controller compares to
the Run-time Priority of the current message. If the Activation Priority
is greater than or equal to the Run-time Priority of the current
message, the controller can replace the message. If the Activation
Priority of the new Message is less than Run-time priority of the
current message the controller rejects the activation of the new
message.
Alternating Message A message that contains more than one page of information/text.
Ambient Light Level The amount of light surrounding the sign location.
ASCII American Standard Code for Information Interchange, a 7-bit wide
code used to represent a character set.
attribute Shorthand notation for Message Attribute. Defines how a Message is
displayed. See Message Attribute.
Axial Intensity The brightness of light on the axis horizontally and vertically
perpendicular to the sign face.
Backup Lamp In a two lamp system, the secondary lamp that is used when the
Primary Lamp has failed. Also, it may be turned on with the
primary/normal lamp to create an over-bright illumination of the
message.
beacon A device that directs light in one direction and flashes (Similar to a
one-section traffic intersection signal head). The device is intended to
increase a driver’s attention to a message. The color is undefined
(see also Strobe Lights).
bitmap A digital representation of an image having bit reference pixels.
BITMAP A subset of the SYNTAX type OCTET STRING where every bit is a
representation of a part or function (e.g. lamp 1 = bit 1, lamp 2 = bit
2).
BITMAP16 BITMAP with 16 bits.
BITMAP32 BITMAP with 32 bits.
BITMAP8 BITMAP with 8 bits.
Blank Message A message that is devoid of informational content (blank) and the
sign face is clear (all pixels off, or shutters closed depending on the
display technology).
Blank Sign A command or condition caused by a user command, error or fault
condition, or default state in which a sign is not displaying a message,
and depending on the display technology of the sign, has turned off
lamps, LED drivers, etc.
Blank-Out Sign A type of DMS that has the capability to show a blank message or
one fixed message.
border The blank area between the outer most edge of the sign face and the
outermost edge of the sign housing.
brightness See Luminance.
Brightness Control A term that defines how the light intensity of a sign is determined/set.
Automatic control uses local detection of ambient light to determine
the brightness level of the sign, whereas manual control defines the
brightness level by a control command.
Brightness Level The intensity of the light used to form a message or that would be
used to form a message if one is not currently displayed. Usually
selected in one of several ways. Some examples:
NONE
ON / OFF
DAY / NIGHT/ OVERBRIGHT
x of y levels
a percent of maximum brightness output level
Bulb Matrix See Lamp Matrix
cabinet An enclosure that protects the device's controller from the elements.
Candela (cd) An SI unit of measure for luminance abbreviated cd.
Central Computer A computer system that operates as a control source for one or more
signs in the signage system. A computer/server that is host to its
signs, also referred to as the host or central computer. The signage
system may be controlled by central computers installed in more than
one location. Or, it may be a remotely located central computer
capable of managing the operation of one or more signs.
Abbreviation is CC.
Central Control Computer See Central Computer.
Central Control Mode A state whereby control of the sign from the Central Computer.
Preferred term for remote control mode.
Central Override Mode A state whereby commands from Local Control Panel are ignored.
Central System (Sign The software that operates on the central computer
Management Software) controlling/monitoring signs.
Changeable Memory A generic term for a type of memory that allows a user to modify the
content. The content of the memory is not lost when power is turned
off. See also ‘Permanent Memory, Non-Volatile Memory’ and ‘Volatile
Memory’.
Changeable Message Sign A sign that is capable of displaying one of two or more predefined
messages, or a blank message. Abbreviated CMS. The capabilities
associated with a CMS are:
- drum sign with several faces, or pixel matrix
- several predefined message
- downloading of new messages, graphics or fonts not possible
- uploading of messages and graphic definition possible
- blank message possible
- all messages are defined
- may support more than a monochrome color scheme (each drum
face may have a different color scheme, each face may have multi-
color text)
- error report capabilities similar to VMS
- exercising of pixels
Changeable Messages A library of messages stored in non-volatile, memory/storage devices.
See also Permanent Messages and Volatile Messages.
character One symbol from a specific alphabet, font or character set.
Character Font See Font.
Character Group See Character Module.
Character Height The vertical pitch times the number of pixels in the column of pixels.
Character Matrix Sign A DMS sign that uses character matrixes with a fixed amount of blank
space (no pixels present) between character matrixes to achieve the
inter-character spacing. There is also blank space (no pixels present)
between lines of characters to achieve the inter-line spacing.
Character Module, N Component required to display N characters. This includes, but is not
limited to, a subset of the following items based on the display
technology of the sign: lamps, fiber, shutter, color filter, LED’s, and
frame to hold all of the above parts together as one unit.
Character Size See Character Height.
Character Spacing The spacing, in pixels, between two characters in line matrix or full
matrix signs. The fixed amount of space between two characters on a
character matrix sign.
Character Width The horizontal pitch times the number of pixels in the row of pixels.
Characters Per Line The number of characters that can be displayed on one line. Used in
character oriented signs. Line matrix and full matrix signs are
described as n columns (pixels) wide.
checksum A data error-detection scheme. The result of an algorithm performed
on a block of data.
Climate-Contol The ability to control the temperature and other factors affecting the
environment in which the DMS electronics operates.
color The chromaticity specified in terms of the CIE 1931 Colorimetric
System. A visually perceived characteristic of light, specified at a
particular wavelength in nanometers.
Display Activation Time The length of time required to display a page of text on the sign once
the complete command has been received by the controller.
Display Module See Character Module.
Display Technology The means used to present a message, e.g., shuttered fiber, LED, flip
disk, lamp matrix, combination of the two, etc.
Display Times The time parameters within a message attribute.
DMS Controller See Sign Controller.
DMS Housing The enclosure that environmentally protects the components of the
Dynamic Message Sign.
DMS Manufacturer The company that maintains a factory and staff that develops,
engineers, and manufacturers the complete DMS sign assembly and
DMS Controller from raw materials and components.
dot One pixel in a display matrix.
download To transfer information from the central computer into the referenced
field device.
drum The multifaceted cylinder, with associated lighting, motor/brake drive
unit and position sensing switches that rotates to display one face to
the motorist.
Drum Sign A type of CMS using one or more drums to display a message.
Dynamic Message Sign Any sign system that can change the message presented to the
viewer such as VMS, CMS and BOS. It includes the following major
components: sign face, sign housing, controller, and, if present, the
controller cabinet. Abbreviated DMS.
Electrically Erasable . A variation of an EPROM chip in that instead of erasing the memory
Programmable Read Only by placing it under UV light, portions of the chip can be erased
Memory (EEPROM) electrically, and thus does not need to be removed from the circuit,
provided the circuit supports erasing the chip.
Electromagnetic Shutter A device that can be positioned via a pulse of electricity, and stay in
the desired position due to an internal magnet.
Environmental Controls Equipment to control the temperature and/or humidity within an
enclosure, typically the sign housing and/or controller cabinet. This
can include fans, heaters, thermostats, humidistats, override timers,
motorized louvers, filters, ducting.
Erasable Programmable Read Erasable Programmable Read Only Memory. A variation of a PROM
Only Memory (EPROM) chip where the contents can be changed by erasing the chip with a
UV light eraser and then programming the chip again.
external device A component that is not normally considered part of a DMS, but is
connected to the DMS by some interface.
External Illumination A light source shining on the face of the sign so that its message may
be read by the motorist.
External Input The communication interface with an external device.
Extinguishable Message Sign See Blank-Out Sign.
(EMS)
Feature A service provided by / behavior of the device.
Fiber Optic A slender thread-like strand of material used to carry light.
Fiber Optic Bundle Many fiber optic strands combined into one larger group. A fiber optic
bundle terminates at one end on the sign face, the other end
terminates at the light source.
Fiber Optic Harness A number of fiber optic bundles grouped together with one common
end. The common end is inserted in the lamp module.
Fiber Optic Sign A light emitting sign whose pixels are made of ends of fiber optic
bundles.
Fiber Optic/Flip Disk Hybrid A reflective flip-disk type of sign that employs a fiber optic display
technology in addition to the reflective flip disk.
interchangeability A condition which exists when two or more items possess such
functional and physical characteristics as to be equivalent in
performance and durability, and are capable of being exchanged one
for the other without alteration of the items themselves, or adjoining
items, except for adjustment, and without selection for fit and
performance. (National Telecommunications and Information
Administration, U.S. Department of Commerce)
interoperable The ability of two or more systems or components to exchange
information and use the information that has been exchanged (IEEE
Std. 610.12-1990: IEEE Standard Glossary of Software Engineering
Terminology).
interface An interface is a named set of operations that characterize the
behavior of an element (Unified Modeling Language Specification)
Inter-Line Spacing The amount of vertical space between two lines. The distance from
the bottom of the bottom pixel on a line to the top of the top pixel on
the line immediately below. On full matrix signs, it is measured as the
number of pixel rows between lines of characters.
Internal Illumination A light source within the sign housing that shines through the front of
the sign, so that its message may be read by the motorist.
Internal Lighting The lighting used for maintenance inside an enclosure or housing,
independent of message illumination.
interoperability The ability of two or more systems or components to exchange
information and use the information that has been exchanged (IEEE
Std. 610.12-1990: IEEE Standard Glossary of Software Engineering
Terminology).
lamp A light source used to illuminate the utilized pixels other than on a
pixel-by-pixel basis. Fiber optics technology uses lamps to illuminate
bundles of pixels.
Lamp Control Module The device used to control the power going to the lamps.
Lamp Driver Module An electronic board that directly supplies or disconnects power to the
lamps to turn them on or off.
Lamp Driver System See Lamp Control Module.
Lamp Matrix A type of display technology where an incandescent light source is
used for each pixel.
Lamp Status The feedback data which indicates the operational status and
condition of the lamp circuit.
LAN Local Area Network – An intelligent control network that facilitates
communication between devices that sense, monitor, communicate
and control.
Lane-Use Control Sign Overhead sign having displays that permit or prohibit the use of a
lane or that indicate impending prohibitions of use [excerpted from
MUTCD, clause 4E-8]. A sign that contains multiple symbols to
indicate the permissive use of the lane in the direction of travel.
Abbreviated LCS.
LED Driver Module An electronic board that contains the control and memory elements to
provide the signals to switch the LED pixel state, and which detects
the operation of each individual pixel that it controls.
LED Sign A sign with pixels made from LED’s.
LED/Flip-Disk Hybrid A type of VMS display technology that forms pixels with a
combination of LED and flip disk technology. The LED is used for
night viewing and the flip disk is used for daytime viewing.
legend Unchangeable text on a sign face.
Legibility Distance The 85 percentile distance at which people with 20/20 corrected
vision can read the display.
Light Emitting Diode A type of display technology using a semi-conductor device that emits
a point of light in a controllable manner. The characteristics of the
point of light are determined by the type of LED used, e.g. color, cone
of vision, luminance, etc. Abbreviated LED.
Light Output Level See Brightness Level.
line A horizontal row of character modules (character or line matrix signs)
or number of rows of pixels (full matrix signs) used to display text.
Line Matrix A type of VMS sign that has no hardware defined blank spaces (no
pixels) between characters. The entire line contains columns of pixels
with a constant horizontal pitch across the entire line.
Local Control Mode One of several possible control modes to control a DMS. Local
control mode is the primary control mode from the local control point
(this could be a Local Control Panel or a locally connected device
such as a laptop or a Personal Digital Assistant (PDA)).
Local Control Panel A system of switches or a keyboard located at the DMS that allows a
person on-site control of the DMS, as opposed to control from a
remote location via external communication.
Locally Activated Messages Stored messages, which are activated from the local control panel.
Lumen The unit of luminous flux emitted in a solid angle of one steradian by
a uniform point source that has an intensity of one candela.
Luminance The intensity of light per unit area at its source. Usually measured in
candela per square foot or candela per square meter.
Lux A measurement of light. A unit of luminance produced on a surface
area of one square meter by a luminous flux of one lumen uniformly
distributed over the surface. (1 lux = 1 lumen per sq. meter)
Magnetic Memory Memory based on magnetic power to keep an object in a desired
position without the use of continuous electrical power.
Maintenance Computer See Portable Maintenance Computer.
Maintenance Portable See Portable Maintenance Computer.
Computer
Manage To monitor, command, and/or control.
Management Information Base Set of object definitions that define the attributes, properties and
controllable features of devices on a network, which can be remotely
monitored, configured and controlled. The information is provided in a
format called Abstract Syntax Notation. 1 (ASN.1), which is an
international standard for defining objects.
Management Station A computer or computer network that can interact with the device via
the defined interface to realize the features of the device.
Management System See Management Station
Mark Up Language for Name of format of the textual part of a message. The format is
Transportation Information defined in Section 6 of NTCIP Standard 1203 version 2 (Section 3 of
NTCIP 1203: 1997). Abbreviated MULTI.
Master Computer See Central Computer.
Master Computer Software See Central Computer.
Master Controller Obsolete term for central computer.
Master/Slave The master is the controlling entity on a data link. It can give
permission to any slave on the same link to transmit data. A slave
transmits data only in response to permission from the master and it
returns control to the master after finishing a transmission.
Matrix An array of pixels that can display an image.
Matrix Sign A DMS that uses an array of pixels to display a message or part of a
message (e.g., a line or character). Matrix signs are typically VMS
because the pixel array allows for a large variety of possible displays.
Abbreviated PMC.
Portable Remote Computer A portable computer running as a remote computer.
Primary Lamp In a two-lamp system, the lamp that is turned on first.
Primary/Secondary See Master/Slave.
PROM Programmable Read Only Memory. A semiconductor device, memory
chip that can be programmed once with a specific data set via a
specialized electronic instrument, PROM programmer. The data
programmed into the chip cannot be altered once it has been
programmed.
Protocol A specific set of handshaking rules, procedures and conventions
defining the format, sequence and timing of data transmissions
between devices that must be accepted and used to understand each
other.
Random Access Memory Memory that can be independently accessed at any location in a
sequential or non-sequential order. Depending on the technology, the
content of memory may be lost when power is turned off. Abbreviated
RAM.
Recovery The action(s) performed by a controller to restore normal operation
after an interruption disrupts or terminates the controller’s normal
operation.
Remaining Message Display The amount of time before the message currently being displayed is
Time turned off.
Remote Computer A computer that can access the central computer from a remote
location.
Remote Computer Software The application software that runs on the remote computer enabling it
to communicate with the central computer’s software.
Remote Control Mode See Central Control Mode.
requirement A requirement describes a condition or capability to which a system
must conform; either derived directly from user needs, or stated in a
contract, standard, specification, or other formally imposed document.
A desired feature, property, or behavior of a system.
Requirements Traceability The ability to follow or study the logical progression among the
needs, requirements and design details in a step-by-step fashion.
reset See Controller Reset.
Resident Software The software located in the controller. See also firmware.
Sign Controller A device used to control and monitor the operations of a sign. It can
have a variety of control interfaces, such as a local control panel, a
local portable maintenance computer, or a central computer. The
equipment within the controller is not specified by this term.
Sign Erasure The act of clearing a message from the sign face.
Sign Face The portion of the sign that can be controlled by the user or a
management station.
Sign Height The vertical dimension of the sign face.
Sign Housing The sign face enclosure.
Sign Off The state in which the sign is not displaying a message and all
message drivers (lamps, LED drivers, etc.) are turned off. This is
different from a display that contains all spaces.
Sign Status The feedback data returned from the sign controller that indicates the
operational condition of the sign, or the sign’s components.
Sign Subsystem A primary component of the DMS that can be separately monitored.
Sign Width The horizontal dimension of the sign face.
Sign Writing The process of changing a sign from its previous state to displaying a
message.
Spacing The blank area between 2 adjacent characters. This is a hardware
defined fixed distance in character matrix signs. In a line matrix sign,
the horizontal (inter-character) spacing is variable and controlled by
the controller software and the pixel spacing of the sign. In a full
matrix sign, both horizontal inter-character and vertical inter-line
spacing is variable and controlled by the controller software and pixel
spacing of the sign.
Specification The project-specific detailed requirements for a DMS to be purchased
by an agency or a statement by a manufacturer defining the detailed
features provided by the DMS. Within NTCIP 1203 v03, 'specification'
often refers to the text contained in the 'Additional Project
Requirements' column of the PRL.
Start-up State Either a blank message, a default message or the last valid display
before the start-up.
Static Display A message that uses only one page of text.
Static Message Panel See Legend.
Status The current condition of a referenced function or device.
Stored Messages All messages loaded in a sign controller’s memory.
Strobe A form of a Beacon.
Strobe-Light See Strobe.
Stroke Width The width or diameter of a pixel.
Sub-feature A service that is part of a larger service. A specialization of a more
generic feature.
Supplemental Beacon See Beacon.
Temperature Sensor A device used to measure the temperature and report it to another
device.
Temporary Memory A sign controller’s storage area, or memory, that contains a message
or message library that can be manipulated while the controller is
operating on-line. This feature enables a central computer to
download and update a message or message library into the sign
controller.
Text (Sign Text) The characters used to create a message, without any information on
how the characters are displayed.
Traffic Management Center The location of the central computer and equipment which allows
(TMC) operations staff to monitor and manage traffic through roadside field
devices (e.g. vehicle detectors, VMS, etc.). Abbreviated TMC.
1.5 Abbreviations
The abbreviations used in NTCIP 1203 v03 are defined as follows:
IP Internet Protocol
ISO International Organization for Standardization
ITS Intelligent Transportation Systems
LCS Lane Use Control Sign
LED Light Emitting Diode
LUS Lane-Use Control Sign
MIB Management Information Base
MULTI Mark Up Language for Transportation Information
OID OBJECT IDENTIFIER
OER Octet Encoding Rules
PMPP Point to Multi-Point Protocol
PRL Profile Requirements List
PROM Programmable Read Only Memory
RAM Random Access Memory
RFC Request for Comments
RPM Revolutions Per Minute
RTM Requirements Traceability Matrix
SNMP Simple Network Management Protocol
STMF Simple Transportation Management Framework
T2 Transportation Transport Profile
TCP Transmission Control Protocol
TMC Traffic Management Center
TMP Transportation Management Protocol
TOC Traffic Operations Center
UDP User Datagram Protocol
VMS Variable Message Sign
WG Working Group
Section 2
Concept of Operations [Normative]
Section 2 defines the user needs that subsequent sections within NTCIP 1203 v03 addresses. Accepted
system engineering processes detail that requirements are developed to fulfill well-defined user needs.
The first stage in this process is to identify the ways in which the system is used. In NTCIP 1203 v03, this
entails identifying the various ways in which transportation operations personnel may use DMS
information to fulfill their duties.
The first three categories of readers find this section useful to understand how DMS equipment can be
used in their system. For this audience, this section serves as the starting point in the procurement
process. They become familiar with each feature covered by NTCIP 1203 v03 and determine whether
that feature is appropriate for their implementation. If it is, then the agency specification requires the
feature and all of the mandatory requirements related to that feature.
The last two categories of readers find this section useful to gain a more thorough understanding as to
why the more detailed requirements (as specified in later sections of NTCIP 1203 v03) exist.
A concept of operations describes a proposed system from the users' perspective. Typically, a concept of
operations is used on a project to ensure that the system developers understand the users' needs. Within
the context of NTCIP standards, it is used to document the intent of each feature for which the standard
supports a communications interface. It also serves as the starting point for users to select which features
may be appropriate for their project.
The concept of operations starts with a discussion of the current situation and problems that have led to
the need to deploy systems covered by the scope of the standard and to the development of the standard
itself. This discussion is presented in layman's terms such that both the potential users of the system and
the system developers can understand and appreciate the situation.
The concept of operations then documents key aspects about the proposed system, including the:
a) Reference physical architecture – The reference physical architecture defines the overall context of
the proposed system and defines which specific interface is addressed by NTCIP 1203 v03. The
reference physical architecture may be supplemented with one or more samples that describe how
the reference physical architecture may be realized in an actual deployment.
b) Architectural Needs – The architectural needs section discusses the issues and needs relative to the
system architecture that have a direct impact on NTCIP 1203 v03.
c) Features – The features identify and describe the various functions that users may want the device to
perform. These features are derived from the high level user needs identified in the problem
statement but are refined and organized into a more manageable structure that form the basis of the
traceability tables contained in Section 3 and Annex A.
The architectural needs and features are collectively called the user needs. Section 3 uses these user
needs in the analysis of the system to define the various functional requirements of a DMS. Each user
need must be traced to one or more functional requirements and each functional requirement must be
derived from at least one user need. This traceability is shown in the Protocol Requirements List (PRL) as
provided in Section 3.3.
While NTCIP 1203 v03 standardizes communications across a wide range of deployments, it is not
intended to mandate support for every feature for every deployment. Therefore, the PRL also defines
each user need and requirement as mandatory, optional, or conditional. The only items marked
mandatory are those that relate to the most basic functionality of the device. To obtain a device that
meets specific needs, the user first identifies which optional needs are necessary for the specific project.
Each requirement identified is then presented in the Requirements Traceability Matrix (RTM) in Annex A,
which defines how the requirement is fulfilled through the standardized dialogs and data element
definitions provided in Sections 4 and 5.
The concept of operations concludes by describing the degree to which security issues have been
addressed by NTCIP 1203 v03 and by providing a description of how NTCIP 1203 v03 relates to the
National ITS Architecture.
As for limitations, NTCIP 1203 v03 defines the data that could be transmitted between a central system
and a conformant DMS, but it does not define the functionalities and functions available within a DMS or a
central system. Also, NTCIP 1203 v03 does not claim to address all potential capabilities of a DMS or a
controlling/monitoring Central System; if NTCIP 1203 v03 would make this claim, no progress could be
made (e.g., if NTCIP 1203 v03 would not allow for the possibility of defining extensions, no additional
functionalities could be added, by either NTCIP 1203 v03 itself or by vendors or agencies).
It is also of utmost importance for the reader to understand that not all of the functionalities have to be
supported by a DMS (or a Central System) to claim conformance. Instead, the project-specific
specifications that do reference and incorporate desired applicable functionalities from NTCIP 1203 v03
(also sometimes represented as NTCIP 1203v3) are the guiding requirements that determine compliance.
a) You have heard about the National Transportation Communications for ITS Protocols (NTCIP) and
are interested in its applicability for deploying variable message signs, changeable message signs
(drum signs), or blank out signs.
b) You are involved in writing the specifications to procure these types of signs.
c) You are involved in reviewing submittals to procure these types of signs.
d) You are involved in the software development, be it the firmware of a sign or the software of a central
system.
e) You are involved in testing the signs and/or the central system.
f) You are involved in the operational use of these types of signs.
a) Section 1 – Overview – This section provides the user with references, table of contents, glossary,
and other information.
b) Section 2 - Concept of Operations – This section provides a description of user needs (needs for
feaures and needs related to the operational environment) applicable to DMS systems.
c) Section 3 – Functional Requirements - This section defines the functional requirements that address
the user needs identified in the Concept of Operations. It includes a Profiles Requirements List (PRL)
Table that defines conformance requirements thereby allowing users to select the desired options for
a particular project. An additional table identifies supplemental requirements that show requirements
that are used more than once by different main functional requirements. A third table identifies the
supplemental requirements for the MULTI tags and provides an indication of the functional
requirement that a particular MULTI tag fulfills.
d) Section 4 – Dialogs and Interface Specificaitons – This section describes how each functional
requirement is fulfilled. The dialogs define the standardized procedures for a central system to
manage a sign. The interface specifications define the operations that are allowed by the sign and
how data elements are inter-related.
e) Section 5 – Management Information Base - This section defines the data elements (object
definitions) exchanged during communications (an update of NTCIP 1203:1997 Section 2).
f) Section 6 – Mark-Up Language for Transportation Information (MULTI) – This section defines the
language used to communicate to the sign how a message is to be displayed. Similar to HTML, tags
are included to specify the attributes of a message and how it is displayed on a sign (an update of
NTCIP 1203:1997 Section 3).
g) Annex A - Requirements Traceability Matrix – This annex provides two tables. The first table traces
each requirement to a dialog, one or more interfaces, and its associated list of objects. The second
table identifies supplemental traces for requirements that are used more than once for various
requirements.
There are an additional seven annexes containing mostly informational data. These are:
a) Annex B is informative and provides a depiction of the high-level object tree showing the nodes and
some of the scalar objects. The purpose of this object tree is to provide the user with a high-level
orientation tool to navigate the data elements.
b) Annex C is standardized test procedures that address the needs and requirements first defined in
NTCIP 1203 v02. The test procedures are a normative annex to NTCIP 1203 v03
c) Annex D is informative and documents the (significant) revisions in NTCIP 1203 v03 that have been
made since the previous version, NTCIP 1203 v02.
d) Annex E is informative and provides answers to potential questions that a user of this document
might have (FAQ)
e) Annex F is informative and provides ASCII tables and the descriptions of the ASCII characters used.
The provision here was made to avoid any ambiguities of particularly the extended ASCII character
set, since different versions exist.
f) Annex G is NORMATIVE and defines the functionalities associated with the Simple Network
Management Protocol (SNMP). This annex is frequently referenced throughout the body of NTCIP
1203 v03.
g) Annex H is informative and serves as a placeholder to define certain details pertaining to the Global
Object Definitions (NTCIP 1201) that are likely to be moved to NTCIP 1201 at a future date.
Additionally, you might want to have some understanding and/or documentation with you depending on
your function within your organization: If you are a Specification Writer / Purchaser, you need a good
understanding of the functional and operational requirements and the contexts for which the overall
technical requirements of the signs are to be used. If you are a Submittal Reviewer, a Firmware/Software
Developer, and/or a Tester, you need the project-specific specifications (or Technical Provisions).
a) General Interest Users: Review Sections 1, 2, and the Frequently Asked Questions (FAQ) annex.
b) Specifications Writers / Purchasers: Review Sections 1, 2, 3, and the FAQ annex
c) Submittal Reviewers: Review Sections 1, 2, 3, the FAQ annex, and the Requirements Traceability
Matrix (RTM) annex.
d) Firmware/Software Developers: Review all Sections and Annexes
e) Testers: Review all Sections and Annexes
f) Operators: Review Sections 1, 2, and the Frequently Asked Questions (FAQ) annex.
a) Advisory, such as information about transit vehicle arrival times, road closures, traffic congestion,
estimated travel times, and weather warnings,
b) Regulatory, such as regulations about speed limits, mandatory detour information, or availability of
high occupancy vehicle (HOV) lane access requirements.
Dynamic Message Signs (DMS) are one tool that can be used to convey this information to the traveling
public. Based upon their perceived needs, transportation system managers decide what capabilities they
may need within their DMS and where these DMS are deployed.
Depending on the needs and the budgets available, the DMS may be deployed in a network to provide
coordinated operations or as stand-alone devices to provide information to travelers in areas where no
integrated network capability exists.
DMS can be deployed in both stationary deployments, such as the roadside (overhead or side mounted)
or on transit platforms, or portable on moveable vehicles. Additionally, different communications
technologies such as dial-up (e.g., via land-lines for stationary signs or to portable signs placed on
permanent pads where dial-up lines have been provided), serial (mostly provided to stationary signs), or
Ethernet (e.g., via hardwire or even over wireless networks) are used to communicate with DMS.
a) Central computer – this type of operation configures and manages DMS from a computer located at a
traffic management location, such as a Traffic Management Center (TMC). This is known as either
‘central’ control or ‘remote’ operation.
b) Local computer – this type of operation performs the same functions as a central computer does, but
uses a portable (e.g., laptop) computer connected directly to a port at the DMS sign controller. This is
a form of ‘local’ control.
c) Locally – this type of operation uses the control devices (e.g., keyboard, switches) at the DMS sign
controller to perform the functions of configuring and managing the DMS. This is another form of
‘local’ control.
The connection between the central computer and the DMS runs over a telecommunications network,
which can be either wireline or wireless in nature. Figure 1depicts the physical architecture of the key
components related to a typical DMS system controlled from a central location.
NTCIP 1203 v03 is only concerned with the interface between an external computer and the DMS sign
controller. To fulfill all of the end-user services, additional requirements may be necessary for the external
computer.
Note: A specification can allow for any of several types, technologies, or display matrix configurations
by leaving the selection of these items as optional while noting that the support of the option is left to
the manufacturer but that the manufacturer must choose at least one. For example, a specification
could allow for either a line matrix or a full matrix sign by:
a) Blank-out Sign (BOS) – this type of DMS can only show one fixed message or nothing.
b) Changeable Message Sign (CMS) – this type of DMS can display one of two or more predefined
messages, or be blank.
c) Variable Message Sign (VMS) – this type of DMS is one in which the message to be displayed can be
created after the sign is installed in the field. It can also have predefined messages in its library of
stored messages. By policy and/or system design, the management system may restrict the rights of
selected operators to ensure that only authorized personnel can modify or create messages “on-the-
fly”.
a) Fiber Optic
b) Light emitting diode (LED)
c) Flip disk or Shutter
d) Lamp matrix
e) Drum (rotating, multifaceted cylinder)
Note: Typically, matrix signs are VMS and VMS are matrix signs, but this is not always true; for
example, the term VMS would also include: 7-segment displays, electronic ink displays, etc.
needs to establish a communication system that links the DMS with a management station. For some
systems, the cost of communications may be minimal and as such the system may be designed for
constant polling; other systems may encounter significant costs for communicating with the DMS and as
such the system may be designed to minimize data exchanges.
When deploying a DMS, the system designer must consider which of the following operational
environments need to be supported.
2.5 Features
This section identifies and describes the various standardized user needs addressed by and features that
may be offered by a DMS. Section 3 uses these features in the analysis of the system to define the
various functional requirements of a DMS.
Each font supported by the DMS should support a common set of characters (e.g., ASCII codes) to
improve interoperability, including letters numbers and various special characters that are frequently used
on DMS.
When activating the message the operator will need to specify the desired duration for the display and the
relative priority for the proposed message to override the currently displayed message.
Note: Activating a message that is stored in a central system library can be achieved by first
downloading the message to the sign controller and then activating the message per this section.
A user can also display a message defined "on-the-fly" by the same process.
a) Perform Diagnostics
b) Monitor the Current Message
a) Power sources
b) Power supplies
c) External Devices such as HOV Gates or external environmental sensors but controlled via the DMS
sign controller
d) Lamps
e) Pixels
f) Light level sensors (commonly referred to as ‘Photocells’)
g) Sign Controller
h) Temperature Sensors
i) Humidity
j) Internal Environmental Systems (Fans and/or Heaters)
k) Drum sign rotors
It is only necessary for the DMS to support information about subsystems actually present in the DMS.
For example, a matrix sign need not provide the drum-rotor status items, and a drum sign need not
provide the pixel status items. A DMS that contains both matrix and drum display elements should
provide both the drum-rotor and pixel status items.
a) Central computer
b) DMS time-based scheduler
c) An individual physically present at the DMS site
a) Allow a DMS to obtain the number of fan failures using the method defined in NTCIP 1203v1
b) Allow a DMS to initiate the fan test using the method defined in NTCIP 1203v1
c) Allow a DMS to utilize a control mode of 'simulation' as defined in NTCIP 1203v1
2.6 Security
NTCIP 1203 v03 does not address any security issues. Any security pertaining to protecting the
communications with a DMS should be implemented either physically by protecting the communications
access points, or logically by enabling security features associated with the underlying communications
protocols.
If assumptions pertaining to the operations of a DMS have been made, they have been stated clearly at
the locations where they apply.
a) Driver Information
b) Roadway Information System Status
c) Roadway Information System Data
The Driver Information flow deals with the message the driver sees on the sign. The other two flows deal
with configuring, controlling, and monitoring the DMS.
Each Architecture Flow is associated with one or more interfaces identified within the National ITS
Architecture as:
a) Between the DMS (Roadway Subsystem (RS)) and the Maintenance and Construction Management
Subsystem (MCMS)
b) Between the DMS (Roadway Subsystem (RS)) and the Traffic Management Subsystem (TMS)
The National ITS Architecture also identifies the interface between the driver to the DMS (Roadway
Subsystem (RS)). This interface is not described in NTCIP 1203 since the focus of NTCIP 1203 is on the
electronic interface between a center and the device.
The main user need groups (features), are related to the National ITS Architecture Flows as indicated in
Table 1:
Section 3
Functional Requirements [Normative]
This section defines the Functional Requirements based on the user needs identified in the Concept of
Operations (see Section 2). This section includes:
a) A tutorial
b) The Protocol Requirements List – A Functional Requirement is a requirement of a given function and
therefore is only required to be implemented if the associated functionality (e.g., user need) is
selected through the use of the Protocol Requirements List (PRL). The PRL also indicates which of
the items are mandatory, conditional, or optional. The PRL can be used by procurement personnel to
specify the desired features of a DMS or can be used by a manufacturer to document the features
supported by their implementation.
c) Operational Environment Requirements – These are requirements related to the Operational
Environment User needs defined in Section 2.4.2.
d) Data Exchange Requirements – These are requirements related to the features identified in Section
2.5 that can be realized through a data exchange. For example, this includes the requirement to be
able to activate a message on a DMS.
e) Supplemental Requirements – These are additional requirements derived from the Concept of
Operations that do not fall into one of the above two categories. For example, they include
requirements related to the content of the message to be displayed on a DMS, which may be a
supplemental requirement to activating a message, defining a message, etc.
The first three categories of readers will find this section useful to understand the details of what NTCIP
1203 v03 requires of a DMS. For this audience, Sections 3.3.3 and 3.3.4 are likely to be particularly
useful in preparing agency (procurement) specifications and in mapping the various rows of this table to
the more detailed text contained within the other sections.
For the last two categories of readers, this section is likely to be useful in fully understanding what is
required of equipment conformant with NTCIP 1203 v03. For these readers, the table in Sections 3.3.3
and 3.3.4 is also useful to document the capabilities of implementations.
a) Architectural Requirements – These requirements define the required behavior of the system in
exchanging data across the communications interface, including any restrictions to general
architectural requirements, based upon the architectural needs identified in the Concept of
Operations.
b) Data Exchange Requirements – These requirements define the required behavior of the system in
exchanging data across the communications interface based upon the features identified in the
Concept of Operations.
c) Supplemental Requirements – These requirements define additional requirements of the system that
are derived from the architectural and/or data exchange requirements, but are not themselves
architectural or data exchange requirements. A given supplemental requirement may relate to
multiple architectural and/or data exchange requirements. Supplemental requirements frequently
include range capabilities of the equipment (e.g., how many messages a VMS is required to support
or what the message shall be on a blank-out sign).
The O.# (range) notation is used to show a set of selectable options (e.g., O.2 (1..*) would indicate that
one or more of the option group 2 options must be implemented. Two character combinations are used
for dynamic requirements. In this case, the first character refers to the static (implementation) status, and
the second refers to the dynamic (use); thus "MO" means "mandatory to be implemented, optional to be
used."
The <predicate>: notation means that the status following it applies only when the PRL states that the
feature or features identified by the predicate are supported. In the simplest case, <predicate> is the
identifying tag of a single PRL item. The <predicate>:: notation may precede a table or group of tables in
a section or subsection. When the group predicate is true then the associated section shall be completed.
The symbol <predicate> also may be a Boolean expression composed of several indices. "AND", "OR",
and "NOT" shall be used to indicate the Boolean logical operations.
The predicates used in NTCIP 1203 v03 map to the sections in Table 4.
Predicate Section
Time 3.6.6.2.13.1 / 3.6.6.2.13.2 / 3.6.6.2.13.3
Year 3.6.6.2.13.9
If a conditional requirement is inapplicable, use the Not Applicable (NA) choice. If a mandatory
requirement is not satisfied, exception information must be supplied by entering a reference Xi, where i is
a unique identifier, to an accompanying rationale for the non-conformance. When the status is expressed
as a two-character combination (as defined in 0 above), the response shall address each element of the
requirement; e.g., for the requirement "mo," the possible compliant responses are "yy" or "yn."
The reason that the PRL provides two tables is because the supplemental requirements may relate to
multiple architectural and/or data exchange requirements (contained in the first table). This split reduces
the amount of repetition that would otherwise increase the size of the first table.
Note: A user might fill out the first table first before proceeding to the second table. However, it
will likely be easier to complete the corresponding rows in the second table when considering a
specific items in the first table.
Note: A specification can allow for flexibility in a deliverable by leaving the selection in the Project
Requirement column blank for a given row. For example, a specification could require the
supporting of graphics by selecting ‘Yes’ on Row 2.5.1.4, and leaving rows 3.5.1.4.1 thru
3.5.1.4.7 as well as 3.6.11 blank (if no additional project requirements needed to be stated).
Note: The reader and user of NTCIP 1203 v03 is advised that 'conformance' to NTCIP 1203 v03
should not be confused with 'compliance' to a specification. NTCIP 1203 v03 is as broad as
possible to allow a very simple device such as a blank-out sign to be 'conformant' to NTCIP 1203
v03. A specification will need to identify the requirements of a particular project and needs to
require the support of those requirements. A specification writer is advised to match the
requirements of a project with the corresponding standardized requirements defined in NTCIP
1203 v03 to achieve interoperability. This means that functions and requirements defined as
'optional' in NTCIP 1203 v03 might need to be selected in a specification (in effect made
'mandatory' for the project-specific specification).
A conformant device may offer additional features, as long as they are conformant with the requirements
of NTCIP 1203 v03 and the standards it references (e.g., NTCIP 1201:2005, NTCIP 2301 v02, and
NTCIP 8004 v02). For example, a device may support data that has not been defined by NTCIP 1203
v03; however, when exchanged via one of the NTCIP 2301 protocols, the data must be properly
registered with a valid OBJECT IDENTIFIER under the Global ISO Naming Tree.
Note: Off-the-shelf interoperability and interchangeability can only be obtained through well
documented features broadly supported by the industry as a whole. Designing a system that uses
features not defined in a standard or not typically deployed in combination with one another will
inhibit the goals of interoperability and interchangeability, especially if the documentation of these
features is not available for distribution to system integrators. The standards allow the use of
additional features to support innovation, which is constantly needed within the industry; but users
should be aware of the risks involved with using such features.
For example, version 1 of NTCIP 1203 contained a set of objects that defined how two devices needed to
communicate with each other when exchanging data pertaining to auxiliary input/output devices. These
version 01 objects, which were defined as experimental objects, were moved to the global object
definition set when version 2 for both NTCIP 1201 and NTCIP 1203 were created, because the
functionality is applicable to other field device communications besides DMS. In the process, an alias of
each of these objects was created to locate the functionality under a non-experimental node.
to provide maximum backwards compatibility, a field device that is required to support the auxiliary
input/output (auxIO) functionality and that wants to claim conformance to NTCIP 1203 v03 is required to
support the objects defined in both, version 01 and version 02.
However, a specification writer might determine that support of (an) older version(s) is not required and
may state this within the following PRL table (the table contains within the ‘additional specifications
requirements’ column statements where a user can de-select the support of any existing version).
† Designates that this requirement is composed of several more detailed requirements as defined in the second half of the PRL contained in
Section 3.3.9.
Supplemental
H.2.6 † Requirements for Event M Yes
Monitoring
Determine Current
3.4.2.1 Configuration of Logging M Yes
Service
Configure Logging
3.4.2.2 M Yes
Service
3.4.2.3 Retrieve Logged Data M Yes
3.4.2.4 Clear Log M Yes
Determine Capabilities of
3.4.2.5 M Yes
Event Logging Service
Determine Total Number
3.4.2.6 M Yes
of Events
Exception Reporting is not yet supported
2.4.2.3 Exceptional Condition Reporting X No
by NTCIP.
2.5 Features M Yes
2.5.1 Manage the DMS Configuration M Yes
H.2.2.4 Verify Current Time H.2.2.1:O Yes / No Place a checkmark below, if the DMS is
NOT required to support the major version
that is checked."
Version v01____
Version V02____
Supplemental
3.6.1 † Fonts: M Yes / NA
Requirements for Fonts
Supplemental
3.6.6 † Requirements for M Yes
Message Definition
Supplemental
3.6.7 † Requirements for Locally M Yes
Stored Messages
Determine Maximum
H.2.3.1 M Yes
Number of Schedules
H.2.3.2 Monitor Current Schedule M Yes
Supplemental
Requirements for
3.6.5 † M Yes
Message Activation
Request
Supplemental
3.6.10 † Requirements for M Yes
Scheduling
Supplemental
H.2.5 † Requirements for M Yes
Scheduling
2.5.2.3.6 Change Message Display based on an Internal Event O Yes / No
Configure Message for
3.5.2.3.5.1.1 Short Power Loss O.4 (1..*) Yes / No
Recovery Event
Configure Message for
3.5.2.3.5.1.2 Long Power Loss O.4 (1..*) Yes / No
Recovery Event
Configure Message for Flip/Shutter OR
3.5.2.3.5.1.3 Yes / No / NA
Power Loss Event Drum:O.4 (1..*)
Note: Access Levels are the not the same as number of users, because several users might
share the same access level. Access levels are managed within this function (and within the sign
controller), while users might be managed within either or both, the sign controller and the central
system. For the purpose of this function, the access level definitions manage the access to
functions within the sign controller.
In the Concept of Operations (Section 2), each of these major areas has been broken down into sub-
items. The Data Exchange Requirements also follow this structure.
Note: It is recognized that the message display on the sign could be unpredictable during the
download of a font. Those specifying authorities or application developers who are sensitive to
this issue can blank the display during a font download.
Note: Reverse video in monochrome signs may be achieved by setting a color rectangle to the
'on' color and setting the foreground color to 'black'.
flashing text or graphics. The specification will identify the range of values that the DMS shall support. If
the specification does not indicate the ranges for the flashing rates, the DMS shall at least support all on
and off values ranging from 0.0 seconds to 10.0 seconds in 0.5 second increments, inclusive.
a) Permanent memory (content cannot be edited and will not be lost upon power failure)
b) Volatile memory (content is editable but will be lost upon power failure)
c) Changeable memory (content is editable but will not be lost upon power failure)
The DMS shall allow a management station to upload any message definition from the sign controller.
Note: This feature is not applicable to certain DMS technologies that require constant power to
display messages such as pure LED, pure fiber optics, or bulb technologies.
Note: Every message is associated with a duration when it is activated, which may be infinite. If
the duration expires, the message referenced by this configuration parameter defines the
message to display next.
Note: Generally, the following requirements are applicable to DMS conforming to either Version 1
or Version 2 of NTCIP 1203. However, one object was added in Version 2 and the object
identifiers were modified. Any requirements not applicable to Version 1 have been pointed out
below, in the PRL, as well as other sections.
devices via any configured port, if the port is configured for bi-directional data exchange in the DMS being
monitored.
Note: The difference between these two manual modes ('manual direct-control' and 'manual
index-control') is that a DMS might support 200 different brightness levels but only has three
defined within the brightness table. For these three brightness levels, thresholds to switch from
one level to another are defined in the brightness table; however, the DMS offers the possibility to
define up to 200 brightness levels within the brightness table.
Note: The previously available control mode 'manual' has been retired to address an ambiguity
within NTCIP 1203:1997 and its amendment (2001). Instead the above two manual modes have
been introduced to address this ambiguity. See Annex D for further information regarding this
change from v1 to v2 of NTCIP 1203.
Note: The control mode 'manual' was used in Version 1, but has been retired in Version 2. This
replacement was due because two different non-interoperable interpretations of this value were
developed and deployed. Should a user require the use of the 'manual' value to address
backwards compatibility issues, it should be noted that the user will need to specify in detail how
this operations is supposed to work (likely one of the 2 methods defined above: manual-direct or
manual-indexed). See Annex D for further information regarding this change from v1 to v2 of
NTCIP 1203.\
Note: See Section 3.6.2 for Supplemental Requirements related to brightness control modes.
a) Communications Error
b) Power Error
c) Attached Device Error, if any attached devices are present
d) Lamp Error, if lamp technology is used
e) Pixel Error, if a pixel matrix is used
f) Light Sensor Error, if light sensors are present
g) Message Error
h) Controller Error
i) Temperature Warning, if temperature sensors are present in the sign housing or controller cabinet
j) Climate-Control System Error, if there is a climate control system
k) Critical Temperature Error, if temperature sensors are present in the sign housing or controller
cabinet
l) Drum Sign Error, if drum technology is used
m) Open Door Warning, if door sensors are present
n) Humidity Warning, if humidity sensors are present
Note: Allowing the use of vendor defined errors may lead to interoperability problems.
failed/failed). The potential equipment includes AC Power supplies, DC power supplies, UPSs, Solar
Power supplies, and batteries.
The DMS shall be accompanied with documentation that maps each individual bit to a specific piece of
power equipment.
The DMS shall be accompanied with documentation that maps each individual bit to a specific lamp.
The DMS shall be accompanied with documentation that maps each individual bit to a specific pixel.
The DMS shall be accompanied with documentation that maps each individual bit to a specific light
sensor.
Note: Allowing the use of vendor defined errors may lead to interoperability problems.
The DMS shall be accompanied with documentation that maps each individual bit to a specific piece of
climate-control system equipment.
The DMS shall be accompanied with documentation that maps each individual bit to a specific
temperature sensor.
The DMS shall be accompanied with documentation that maps each individual bit to a specific humidity
sensor.
The DMS shall be accompanied with documentation that maps each individual bit to a specific drum rotor.
The DMS shall be accompanied with documentation that maps each individual bit to a specific door.
a) Lamp description
b) Lamp status
c) Location of the topmost row of pixels served by the lamp
d) Location of the leftmost column of pixels served by the lamp
e) Location of the bottommost row of pixels served by the lamp
f) Location of the rightmost column of pixels served by the lamp
sign housing.
If the controller is located in the sign housing without its own distinct cabinet, the values reported by the
DMS shall be the same as for the sign housing.
a) Shutdown Power
b) AC Line
c) Generator
d) Solar
e) Battery - UPS
f) Other power source
exceeded in either the sign housing or the controller cabinet, shall generate a critical temperature alarm
and cause the sign to turn off.
Note: Selecting the requirements for the version 1 approach below does not mean interoperability
with Version 2 or Version 3. It does mean that the device or central system that is required to
support these requirements will (likely) be able to interface with v1-compatible central systems or
devices (the parenthetical statement is added because compatibility for certain functions cannot
be guaranteed).
Note: A ‘local’ interface may include any of the following: a touch panel on the sign controller, a laptop
connected directly to a 'local' port on the sign controller, or any other mounted or non-mounted panel that
can be used to select a message for display.
Note: An implementation may preclude the use of the "central override" mode, if it would pose a
safety risk.
Note: This allows the display of non-Latin-based characters using their standardized UNICODE
values, assuming that support for these characters have also been specified by the Supplemental
Requirements for Character Sets.
The DMS shall allow the message content to include field(s) indicating the current date of the month.
Note: An operator or user of a DMS may want to display information based on data received from
a device that has a direct interface with the DMS Controller. This is accomplished via fields within
the displayed message, where the fields within the message being displayed change based on
the data (typically real-time) from the other device. The device could be a clock calendar, a
weather station, a speed station, etc. Fields can be defined as time, date, year, day of week,
temperature, or speed.
Note: A procurement specification should specify the minimum number of permanent messages
that the DMS is required to support and their details (e.g., identification number, MULTI string
including MULTI tags, beacon status, etc.).
Unless otherwise specified in a specification, the DMS may fulfill the requirements of this section by
providing additional changeable messages and additional changeable memory. If the DMS implements
this option, the total number of changeable messages supported by the DMS shall be at least the sum of
the required changeable messages and the required volatile messages; likewise, the total changeable
memory supported by the DMS shall be at least the sum of the required changeable memory and the
required volatile memory.
a) black
b) red
c) yellow
d) green
e) cyan
f) blue
g) magenta
h) white
i) orange
j) amber
a) Communications
b) Power Supply
c) Attached Device, if any attached devices are present (See Section 3.5.2.4)
d) Photocell, if any photocells are present (See Section 3.5.2.5)
e) Message
f) Controller
g) Temperature, if temperature sensors are present (See Sections 3.5.3.1.4.7 and 3.5.3.1.4.9)
h) Humidity, if humidity sensors are present (See Section 3.5.3.1.4.8 and 3.5.3.1.4.10)
i) Drum Sign Rotor, if drum technology is used (See Section 3.5.3.1.3.9)
j) Door, if door-open sensors are present (See Section 3.5.3.1.3.10)
If the specification does not specify the frequency at which these tests shall be performed, they are
performed at least once every minute.
Note: An action is defined as being a unique command that might be called by a day plan event.
For example, displaying changeable message number 1 would be one action, displaying
changeable message number 2 would be a second action and blanking the sign would be a third
action.
Section 4
Dialogs [Normative]
This section is intended for product developers such as DMS manufacturers and system integrators.
Other parties might find this section and the following two sections (Object Definitions and MULTI
Definitions) helpful to gain a full understanding of the design details of NTCIP 1203.
This section presents the standardized dialogs (i.e., sequence of data exchanges) that fulfill various
requirements. As SNMP communications are largely driven by the management station, most of the
requirements define how the device must respond to the various possible actions a management station
might take.
The NTCIP standards effort is based on SNMP. This protocol offers a high degree of flexibility as to how
the management station structures its requests. For example, with SNMP, the management station can
do any of the following:
a) Send only those requests that are critical at the current time, whereas a standardized dialog typically
sends requests relating to all associated data, regardless of whether it is critical for current purposes
b) Combine a number of requests in a single packet, whereas a standardized dialog dictates the exact
contents of each packet
c) Separate a group of requests into multiple packets, whereas a standardized dialog dictates the exact
contents of each packet
d) Interweave requests from multiple dialogs, whereas a standardized dialog dictates the exact ordering
of messages, which are not interrupted with other messages.
This flexibility can be a powerful tool allowing a management system to optimize the use of
communication facilities, which is the primary reason that SNMP was chosen as the core NTCIP protocol.
However, the flexibility also means that there are numerous allowable variations in the management
process that a management station may choose to use.
Unfortunately, this flexibility presents a challenge to ensuring interoperability. While a conformant DMS is
required to support any allowed sequence within NTCIP 1203 v03, ensuring that a given DMS actually
supports every possible combination would be impractical. Instead, most agencies will only require that
the device be tested to a standard set of procedures, which would use standardized dialogs (as defined in
Section 4.2, Annex G, and Annex H). To improve communications efficiency, management stations may
use non-standard dialogs (e.g., a combination of GET and/or SET requests that is not defined as a
standardized dialog, but which a conformant device is required to support according to the ACCESS and
SetConstraint rules defined in Section 4.3 and Section 5). Because these more efficient dialogs may not
be known until the acquisition of the management station, which may be years after the acquisition of the
device, there is a potential for an interoperability problem to arise.
To overcome this complication, this section defines a lowest common denominator approach to
communications between a management station and a DMS. It defines the standardized dialog for each
Data Exchange Requirement. Management stations may support other dialogs to fulfill these same
requirements, as long as these dialogs are consistent with the rules defined in NTCIP 1203 v03. Such a
management station is termed a ‘consistent management station’. A consistent management station will
interoperate with any ‘conformant’ device. However, since an agency can not be certain that a device is
100% conformant to every possible scenario (given practical constraints), interoperability problems could
still arise.
A ‘conformant management station’ is required to offer a mode in which it will only use the standardized
dialogs as defined in this section. With this limited definition, there is relatively little variability in what
constitutes a conformant management station. Thus, fully testing a management station for conformance
is a relatively straight forward process that can be done within the practical constraints faced by most
procuring agencies. Thus, a conformant management station will provide an agency with a much greater
chance of achieving interoperability with off-the-shelf devices that have been tested against NTCIP 1203
and the designation of such a system is intended to provide a guaranteed base level of interoperability.
a) The dialogs are defined by a sequence of GET or SET requests. These requests shall equate to the
GET and SET operations defined in Annex G.1 and Annex G.3 and shall be transmitted as a single
message.
b) The contents of each request are identified by an object name. Each object name consists of an
object type and an instance identifier. Formal definitions of each object type are provided in Section 5
of NTCIP 1203 v03 and NTCIP 1201. The meaning of the instance identifier is provided by these
same definitions coupled with standard SNMP rules (see RFC 1212).
c) Each message shall contain all of the objects as shown, unless otherwise indicated
d) A message shall not contain any other objects
e) The contents of each message sent by the management station may appear in any order
Note: Ideally, the order of objects should match the order as shown in NTCIP 1203 v03 to provide for
the highest probability of interoperability. However, it is recognized that many implementations may
use off-the-shelf software, which may prevent the designation of an exact ordering of objects and as a
result, this ordering is not a requirement of NTCIP 1203 v03.
f) After sending a message, the management station shall not transmit any other data across the
communications channel until the earlier of:
g) The management station receiving a response from the device or
h) The expiration of the response time.
i) If the response indicates an error occurred in the operation, the management station shall exit the
process, unless specific error-handling rules are specified by the dialog.
j) Dialogs containing a sequence of only GET requests may request objects in any order.
However, since consistent management stations can alter the order of requests, NTCIP 1203 v03 defines
rules for when certain data exchanges are allowed. Unless otherwise indicated, a conformant device shall
allow an object to be retrieved (through a GET request) or altered (through a SET request, if the object is
write-able) at any time. However, the access to some data is associated with a state machine and Section
4.3 defines the various rules that apply to these state machines.
Finally, Section 4.4 presents an overview of all of the data defined by NTCIP 1203 v03, prior to presenting
the complete definition for each piece of data in Section 5.
This section defines the standardized dialogs for the more complicated data exchange requirements.
Each of these dialogs is defined by a number of steps. Many of the steps reference data elements that
are defined in Section Section 5. These data elements are also shown in the corresponding row of the
RTM along with their precise section number.
The dialogs may also be accompanied by an informative figure that provides a graphical depiction of the
normative text. The figures conform to the Unified Modeling Language and depict the management
station as an outside actor sending a series of messages to the device and the device returning
responses. If there is any conflict between the figure and the text, the text takes precedence.
Section 4.2 defines how the system is designed to work for a given data exchange requirement. It
indicates the sequence of actions that a management station must follow to provide the specific service.
Section 4.3 defines specific state-machine mechanisms used within NTCIP 1203 v03. It describes which
states may be present, which transitions are or are not allowed.
Whereas Section 4.2 describes the sequence of actions that must be performed by a management
station to use a feature, Section 3.53.5 provides a formal definition of DMS requirements, specifically:
The section is divided into three major subsections. The first major subsection provides a class diagram
depicting the relationships among the various data concepts involved in the topic area of the section. The
second major subsection indicates major groupings of data that are referenced by the RTM (see Section
Annex A) to indicate which data must be supported and what operations may be performed upon this
data. The third major subsection defines any special rules for the configuration of the subject data.
a) Let us assume that the content of the message text to be displayed is "[jp3]TEST [fl]Flashing[/fl]"
(=MULTI String content), that the message is to be stored in volatile memory, in slot number 5, and
that the sign does not support any beacons and no pixel service.
b) The resulting message ID Code is "04 00 05 95 F9" (see below for details).
c) Let us further assume that this message is to be activated from IP address 103.8.9.10 and is to be
displayed for 267 minutes with activation priority 55.
d) Using this and the above information, the resulting message Activation Code is
"01 0B 37 04 00 05 95 F9 67 08 09 0A"
Where:
01 0B 2-byte duration value of '267' in hex
37 1-byte priority value of '55' in hex
04 1-byte message type value of 'volatile (4)' in hex
00 05 2-byte message number value of '5' in hex
95 F9 2-byte checksum value for a MULTI-string value of '[jp3]TEST [fl]Flashing[/fl]' in hex
67 08 09 0A 4-byte IP address value of '103.8.9.10' in hex
a) (Precondition) The management station shall be aware of the number of fonts supported by the DMS,
the character set supported by the DMS, and which font definition is being requested.
b) The management station shall GET the fontStatus.x and verify the value is 'inUse', 'readyForUse',
'permanent', or 'unmanaged' or returns a ‘noSuchName’ error. If the value is any other value, the
management station shall exit this process as the font is not valid.
c) The management station shall GET the following objects:
1) fontNumber.x,
2) fontName.x,
3) fontHeight.x,
4) fontCharSpacing.x,
5) fontLineSpacing.x,
6) fontVersionID.x,
7) fontStatus.x.
d) For each character of the font, the management station shall GET the following objects:
1) characterNumber.x.y
2) characterWidth.x.y
3) characterBitmap.x.y.
Where:
x = font index
y = character number
Note: Since the character table may be sparsely populated, it is impossible to know which
character numbers are supported without custom designing the management station to device
documentation, doing an exhaustive search until all characters are found (and receiving SNMP
noSuchName errors for entries that did not exist), or using GET-NEXT operations. The
recommended solution for management stations that have to support this feature is to use a
series of GET-NEXT operations to poll the device for each row until all rows of the table are
retrieved.
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.1.
a) (Precondition) The management station shall be aware of the number of fonts supported by the
DMS, the characters supported by the DMS, the font to be configured, and the characters within the
font to be configured.
b) The management station shall GET fontStatus.x. If its value is 'inUse' or 'permanent', the
management station shall exit the process. The management station may then change the message
and restart this process from the beginning.
c) The management station shall SET fontStatus.x to 'modifyReq' to put the selected font in the
'modifying' state.
d) The management station shall GET fontStatus.x. If its value is 'modifying', it is now safe to modify the
font data. If its value is not 'modifying', exit the process. (See Section 4.3.1 for a complete state chart
diagram for font status).
e) The management station shall SET fontHeight.x to the new value desired to ensure the font is deleted
if height changes.
f) The management station shall SET the following data to the desired values:
1) fontNumber.x,
2) fontName.x,
3) fontCharSpacing.x, and
4) fontLineSpacing.x.
g) The management station shall SET the following data to the desired values for the subject font and
the subject character (Repeat for each character to be modified):
1) characterWidth.x.y and
2) characterBitmap.x.y.
h) The management station shall SET fontStatus.x to 'readyForUseReq' to allow messages using the
font to be displayed successfully.
Where:
x = font index
y = character number
Note: NTCIP 1203:1997 did not include a fontStatus object. Thus, management stations should
be designed to gracefully recover if Step b) results in a noSuchNameError by skipping Steps c),
d), and h).
Note: The DMS WG recognizes that the message display on the sign could be unpredictable
during the download of a font. Those specifying authorities or application developers who are
sensitive to this issue can blank the display during a font download.
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.1.
Preconditions:
The management station shall be aware of the number of
fonts supported by the DMS, the characters supported by
the DMS, the font to be configured, the characters within
Management the font to be configured DMS
Station
Get()
fontStatus.x
Set()
fontStatus.x = modifyReq
Get()
fontStatus.x
Set()
fontHeight.x
Set()
fontNumber.x
fontName.x
fontCharSpacing.x
fontLineSpacing.x
Repeat for
each character
to be defined
Set()
characterWidth.xy
characterBitmap.xy
Set()
fontStatus.x = readyForUse
Where
x = font index
y = character number
a) (Precondition) The management station will know which font is to be deleted and should ensure that
the DMS supports this font.
b) The management station shall GET dmsFontStatus.x. If the value is equal to 'inUse' or 'permanent',
the management station shall exit this process as fonts cannot be deleted.
c) The management station shall SET dmsFontStatus.x to 'notUsedReq'.
d) The management station shall GET dmsFontStatus.x and ensure this value is equal to 'notUsed'.
e) The management station shall SET dmsFontStatus.x to 'modifyReq'.
f) The management station shall SET dmsFontHeight.x to zero (0).
g) The management station shall SET dmsFontStatus.x to 'notUsedReq'.
Where:
x = dmsFontIndex
Note: NTCIP 1203:1997 did not include a fontStatus object. Thus, management stations should
be designed to gracefully recover if Step b) results in a noSuchNameError by skipping Steps c),
d), and e).
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.1.
a) (Precondition) The management station shall be aware of which font it wants to validate and shall
ensure that the device supports this font.
b) (Precondition) The management station shall be aware of the expected CRC value for the subject
font. The expected CRC value may be based on a previously retrieved value when the font was in a
known state, or may be determined directly by calculating the CRC based on the expected font
configuration.
c) The management station shall GET fontStatus.x.
d) The management station shall ensure that fontStatus.x equals 'permanent', 'readyForUse',
'unmanaged', or 'inUse'. If fontStatus.x is any other value, the value for fontVersionID.x may not
reflect the currently stored data and the management system shall exit this process.
e) The management station shall GET fontVersionID.x.
f) The management station shall compare the expected value for fontVersionID.x to the newly retrieved
value. If the values match, the font configuration is (within a very high degree of probability) as
expected. If the values are different, the font has changed.
Where:
x = font index
Note: If the fontVersionID values are different, the management station may want to delete the
font or download the font again.
Note: NTCIP 1203:1997 did not include a fontStatus object. Thus, management stations should
be designed to gracefully recover if Step c) results in a noSuchNameError by skipping Step d).
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.1.
a) (Precondition) The management station shall ensure that the sign supports the graphic to be
retrieved.
b) (Precondition) The management station shall ensure that it has the value of dmsGraphicBlockSize so
that it can decode the bitmap blocks properly.
c) The management station shall GET dmsGraphicStatus.x. If the value is 'notUsed', 'modifying', or
'calculatingID', exit the process as the graphic is not defined.
d) The management station shall GET the following objects:
1) dmsGraphicNumber.x
2) dmsGraphicName.x
3) dmsGraphicHeight.x
4) dmsGraphicWidth.x
5) dmsGraphicType.x
6) dmsGraphicTransparentEnabled.x,
7) dmsGraphicTransparentColor.x
Note: Repeat Step d) for number of bitmap blocks that is contained within the index of this entry.
Where:
x = dmsGraphicIndex, and dmsGraphicBitmapIndex
y = dmsGraphicBlockNumber
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.2.
a) (Precondition) The management station shall ensure that the row of the graphic table to be changed
is within the range of the maximum graphics the DMS can store.
b) (Precondition) The management station shall ensure that it has the value of dmsGraphicBlockSize so
that it can encode the bitmap blocks properly.
c) The management station shall GET dmsGraphicStatus.x. If its value is 'inUse', 'permanent', or
'calculatingID', the management station shall exit the process. It may then change the message and
then restart this process.
d) The management station shall SET dmsGraphicStatus.x to 'modifyReq' to put the selected graphic in
the 'modifying' state.
e) The management station shall GET dmsGraphicStatus.x. If its value is 'modifying', it is now safe to
modify the graphic data. If its value is anything other than 'modifying', exit the process. (See Section
4.3.2 for a complete state chart diagram for graphic status.)
f) The management station shall SET the following objects to the desired values:
1) dmsGraphicNumber.x,
2) dmsGraphicName.x,
3) dmsGraphicHeight.x,
4) dmsGraphicWidth.x,
5) dmsGraphicType.x,
6) dmsGraphicTransparentEnabled.x,
7) dmsGraphicTransparentColor.x.
g) The management station shall SET dmsGraphicBlockBitmap.x.y (as required to store entire graphic).
h) The management station shall SET dmsGraphicStatus.x to 'readyForUseReq' to allow messages
using the graphic to be displayed successfully.
Where:
x = dmsGraphicIndex and dmsGraphicBitmapIndex
y = dmsGraphicBlockNumber
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.2.
Preconditions:
The management station shall be aware of the
number of graphics supported by the DMS.
Management DMS
Station
Get()
graphicStatus.x
Set()
graphicStatus.x = modifyReq
Get()
graphicStatus.x
Set()
graphicHeight.x
Set()
dmsGraphicNumber.x
dmsGraphicName.x
dmsGraphicHeight.x
dmsGraphicWidth.x
dmsGraphicType.x
dmsGraphicTransparentEnabled.x
dmsGraphicTransparentColor.x
Set()
dmsGraphicBlockBitmap.xy
Set()
dmsGraphicStatus.x = readyForUseReq
Where
x =dmsGraphicIndex and dmsGraphicBitmapIndex
y = dmsGraphicBlockNumber
a) (Precondition) The management station will know which graphic is to be deleted and should ensure
that the DMS supports this graphic.
b) The management station shall GET dmsGraphicStatus.x. If the value is equal to 'inUse' or
'permanent', the management station shall exit this process as graphics can not be deleted when they
are in use.
c) The management station shall SET dmsGraphicStatus.x to 'notUsedReq'.
d) The management station shall GET dmsGraphicStatus.x and ensure this value is equal to 'notUsed'.
Where:
x = dmsGraphicIndex
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.2.
a) (Precondition) The management station shall be aware of which graphic it wants to validate and shall
ensure that the device supports this graphic.
b) (Precondition) The management station shall be aware of the expected CRC value for the graphic.
The expected CRC value may be based on a previously retrieved value when the graphic was in a
known state, or may be determined directly by calculating the CRC based on the expected graphic.
c) The management station shall GET dmsGraphicStatus.x and dmsGraphicID.x
d) The management station shall ensure that dmsGraphicStatus.x is equal to 'permanent',
'readyForUse', or 'inUse'. If dmsGraphicStatus.x indicates any other value, the dmsGraphicID.x value
may not be valid for the stored information and the management station should exit this process.
e) The management station shall ensure that the retrieved value for dmsGraphicID.x is equal to the
expected value. If the values match, the graphic information is (within a very high degree of
probability) as expected. If the values are different, the graphic information has changed.
f) (Postcondition) If the values are different, the management station may wish to delete the graphic or
download the graphic again.
Where:
x = dmsGraphicIndex
This dialog is being used in conjunction with the State Machine Diagram as defined in Section 4.3.2.
a) (Precondition) The management station shall be aware of the maximum number of photocell levels
supported by the device and the desired photocell curve to be stored in the device, which must not
contain photocell levels above that supported by the device.
b) The management station shall SET dmsIllumBrightnessValues.0 to the desired value (see Section
5.8.7 for example values).
c) If the response indicates a genErr, the management station shall GET
dmsIllumBrightnessValuesError.0 to determine the cause of the error.
: Management : DMS
Station
Set( )
dmsIllumBrightnessValuesError.0
a) (Precondition) The management station shall ensure that the desired message is supported by the
DMS. This may entail downloading the desired message contents to the DMS. (See Section 4.2.3.2)
b) The management station shall SET dmsActivateMessage.0 to the desired value. This will cause the
controller to perform a consistency check on the message. (See Section 4.3.5 for a description of this
consistency check.)
Note: dmsActivateMessage.0 is a structure that contains the following information: message type
(permanent, changeable, blank, etc.), message number, duration, activation priority, a CRC of the
message contents, and a network address of the requester.
c) If the response indicates 'noError', the message has been activated and the management station
shall GET shortErrorStatus.0 to ensure that there are no errors preventing the display of the message
(e.g. a 'criticalTemperature' alarm). The management station may then exit the process.
d) If the response from Step 2 indicates an error, the message was not activated. The management
station shall GET dmsActivateMsgError.0 and dmsActivateErrorMsgCode.0 to determine the type of
error.
e) If dmsActivateMsgError equals 'syntaxMULTI' then the management station shall GET the following
data to determine the error details:
1) dmsMultiSyntaxError.0
2) dmsMultiSyntaxErrorPosition.0
f) If dmsActivateMessageError equals “syntaxMULTI(8)” and dmsMultiSyntaxError equals “other(1)”
then the management station shall GET dmsMultiOtherErrorDescription.0 to determine the vendor
specific error.
This process is depicted in Figure 5. This dialog is being used in conjunction with the following State
Machine Diagrams as defined in Sections 4.3.4 and 4.3.5.
: DMS
: Management
Station
See Clause
4.4.6.4
If the response indicates 'noError'
Get( )
shortErrorStatus.0
Exit Process
Otherwise
Get( )
dmsActivateMsgError.0
dmsActivateErrorMsgCode.0
Get( )
dmsMultiOtherErrorDescription.0
Preconditions:
The management station shall ensure that the DMS supports the
desired volatile or changeable message number and the tags
within the messages. The management station should not
attempt this procedures for any other message type.
Preconditions:
: Management The management station shall ensure that there is sufficient : DMS
Station storage space remaining for the message to be downloaded.
Set()
dmsMessageStatus.xy = modifyReq
Get()
dmsMessageStatus.xy
Set()
dmsMessageMultiString.xy
dmsMessageOwner.xy
dmsMessageRunTimePriority.xy
Set()
dmsMessageBeacon.xy
Set()
dmsMessageStatus.xy = ‘validateReq’
Perform
Consistency
Check ()
Get()
dmsMessageStatus.xy
Where
x = message type
y = message number
a) (Precondition) The management station shall ensure that the DMS supports the desired volatile or
changeable message number and the tags within the message. The management station should not
attempt this procedure for any other message type.
b) (Precondition) The management station shall ensure that there is sufficient storage space remaining
for the message to be downloaded.
c) The management station shall SET dmsMessageStatus.x.y to 'modifyReq'.
d) The management station shall GET dmsMessageStatus.x.y.
e) If the value is not 'modifying', exit the process. In this case, the management station may SET
dmsMessageStatus.x.y to 'notUsedReq' and attempt to restart this process from the beginning. (See
Section 4.3.4 for a complete description of the Message Table State Machine.)
f) The management station shall SET the following data to the desired values:
1) dmsMessageMultiString.x.y
2) dmsMessageOwner.x.y
3) dmsMessageRunTimePriority.x.y
g) (Required step only if Requirement 3.6.6.5 Beacon Activation Flag is selected as Yes in PRL) The
management station shall SET dmsMessageBeacon.x.y to the desired value.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
h) (Required step only if 2.3.2.2.1 Fiber or 2.3.2.2.3 Flip/Shutter is selected as Yes in PRL) The
management station shall SET dmsMessagePixelService.x.y to the desired value.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
i) The management station shall SET dmsMessageStatus.x.y to 'validateReq'. This will cause the
controller to initiate a consistency check on the message. (See Section 4.3.5 for a description of this
consistency check.)
j) The management station shall repeatedly GET dmsMessageStatus.x.y until the value is not
'validating' or a time-out has been reached.
k) If the value is 'valid', exit the process. Otherwise, the management station shall GET
dmsValidateMessageError.0 to determine the reason the message was not validated.
l) If the value is 'syntaxMULTI', the management station shall GET the following data to determine the
error details:
1) dmsMultiSyntaxError.0
2) dmsMultiSyntaxErrorPosition.0
m) If the value is 'other', the management station shall GET the following data to determine the error
details:
1) dmsMultiOtherErrorDescription.0
Where:
x = message type
y = message number
Note: If, at the end of this process, the value of dmsMessageStatus.x.y is 'valid', the message can
be activated.
This dialog is being used in conjunction with the State Machine Diagram as defined in Sections 4.3.4.
Preconditions:
The management station shall ensure that the DMS supports the
desired volatile or changeable message number and the tags
within the messages. The management station should not
attempt this procedures for any other message type.
Preconditions:
: Management The management station shall ensure that there is sufficient : DMS
Station storage space remaining for the message to be downloaded.
Set()
dmsMessageStatus.xy = modifyReq
Get()
dmsMessageStatus.xy
Set()
dmsMessageMultiString.xy
dmsMessageOwner.xy
dmsMessageRunTimePriority.xy
Set()
dmsMessageBeacon.xy
Set()
dmsMessageStatus.xy = ‘validateReq’
Perform
Consistency
Check ()
Get()
dmsMessageStatus.xy
Where
x = message type
y = message number
a) (Precondition) The management station shall ensure that the DMS supports the desired message
type and number.
b) The management station shall GET the following data:
1) dmsMessageMultiString.x.y
2) dmsMessageOwner.x.y
3) dmsMessageRunTimePriority.x.y
4) dmsMessageStatus.x.y
c) The management station shall GET dmsMessageBeacon.x.y.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
d) The management station shall GET dmsMessagePixelService.x.y.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
Where:
x = message type
y = message number
a) (Precondition) The management station shall ensure the message(s) to be scheduled for display are
downloaded to the DMS ( See Section 4.2.3.2)
b) (Precondition) The management station shall ensure that there are sufficient rows in the action, day
plan, and time base schedule tables to download the proposed schedule.
c) For each message to be displayed, the management station shall SET dmsActionMsgCode.a to the
desired value.
d) For each event within each day plan, the management station shall SET the following data to the
desired values:
1) dayPlanHour.b.c
2) dayPlanMinute.b.c
3) dayPlanActionNumberOID.b.c
Note: A day plan specifies a static message schedule for a 24-hour period (see NTCIP 1201 v03
Section 2 for object descriptions).
e) For each time-base schedule entry, the management station shall SET the following data to the
desired values:
1) timeBaseScheduleMonth.d
2) timeBaseScheduleDay.d
3) timeBaseScheduleDate.d
4) timeBaseScheduleDayPlan.d
Note: A time-base schedule entry specifies which day plan to use for a particular month, date, and
day of the week (see NTCIP 1201 v03 Section 2 for object descriptions).
Where:
a = Action Index
b = Day Plan Number
c = Day Plan Event Number
d = Time Base Schedule Number
Note: After the actions, day plans, and time-base schedule entries have been downloaded to the
DMS, the DMS's scheduler function may be enabled using the "activate message" dialog (see
Section 4.2.3.1) to set the message to the scheduler (e.g., dmsActivateMessage = { duration= as
appropriate, priority= as appropriate, messageMemoryType=0x06, messageNumber=1,
CRC=0x0000, sourceAddress= as appropriate }). The scheduler may also be activated by an
event-activated message such as the dmsEndDurationMessage.
: DMS
: Management
Station
Set( )
timeBaseScheduleMonth.d
timeBaseScheduleDay.d
timeBaseScheduleDate.d
timeBaseScheduleDayPlan.d
Where:
a = Action Index
b = Day Plan Number
c = Day Plan Event Number
d = Time Base Schedule Number
a) (Precondition)The management station shall be aware of the number of brightness levels supported
by the DMS and is shall be aware of the manual control mode that the DMS supports (either direct or
indexed).
b) The management station shall SET dmsIllumControl.0 to 'manualDirect' or 'manualIndexed'
depending what is supported by the DMS. The management station shall set this value in a separate
data packet (VarBindList) before executing Step c).
Note: Per the definition of dmsIllumControl, this step causes the value stored in dmsIllumManLevel to
change to the current brightness level.
c) The management station shall SET dmsIllumManLevel.0 to the desired level ranging from 0 (off) to
maximum number of brightness levels supported by the DMS (if 'manualDirect' is the dmsIllumControl
mode) or to the maximum number of brightness levels defined in the dmsBrightnessValues talbe (if
'manualIndexed' is the dmsIllumControl mode).
Note: The difference between the two manual control modes is due to the fact that different vendors
implemented the original 'manual' mode differently pointing either to the number of brightness levels
defined in the brightness values table or to the number of brightness levels that the DMS does
support (but may not have defined in the brightness level table). To provide maximum backwards
compatibility, these new two different values of the dmsIllumControl object was introduced.
Note: The DMS may implement the new brightness level over a period of time to prevent a visible
flicker effect.
a) The management station shall SET vmsPixelServiceTime.0 to the time when the first pixel service is
to occur during each day.
b) The management station shall SET the vmsPixelServiceDuration.0 to the length of time the pixel
service is to last every time it is initiated. If this value is zero, the pixel service is disabled.
c) The management station shall SET vmsPixelServiceFrequency.0 to the time between pixel services.
Set this value to zero for continuous exercising.
d) (Postcondition) The management station shall activate a message that is defined to allow pixel
service (e.g., the dmsMessagePixelService object for the message has been set to a value of 1).
(See Section 4.2.3.2)
a) (Precondition) The management station shall follow the steps 1 through 2 within the section 4.2.3.1
"Activating a Message".
b) If the response indicates 'noError', the message may or may not be activated
c) The management station shall GET dmsActivateMessageState.0.
d) If the response from step 3 indicates 'slowActivating(4)', the DMS is in the process of activating the
message. Goto step 3.
e) If the response from step 3 indicates 'slowActivatedError(3)', the management station shall GET
shortErrorStatus.0 to determine the source of the error.
f) If the response from step 3 indicates 'fastActivationSign(1)', the message is activated continue with
step 8.
g) If the response from step 3 indicates 'slowActivatedOK(2)', the message is activated continue with
step 8.
h) The message has been activated and the management station shall GET shortErrorStatus.0 to
ensure that there are no errors preventing the display of the message (e.g. a 'criticalTemperature'
Note: The information is only applicable to the manual activation command, if the Source is
'externalActivation' and the dmsActivateErrorMsgCode was identical to the activation code sent to the
device.
where
x = dmsClimateCtrlIndex
a) (Precondition) The management station shall be aware of which power supplies are currently failed.
b) For the desired failed power supply, the management station shall GET the following data:
1) dmsPowerDescription.x
2) dmsPowerMfrStatus.x
3) dmsPowerStatus.x
4) dmsPowerVoltage.x
5) dmsPowerType.x
Where:
x = power index.
a) (Precondition) The management station shall execute lamp testing. (See Section 4.2.4.1)
b) (Precondition) The management station shall be aware of which lamps are currently failed on or failed
off.
c) For the desired failed lamp, the management station shall GET the following data:
1) dmsLampDescription.x
2) dmsLampMfrStatus.x
3) dmsLampStatus.x
4) dmsLampPixelTop.x
5) dmsLampPixelLeft.x
6) dmsLampPixelBottom.x
7) dmsLampPixelRight.x
Where:
x = lamp index.
a) (Precondition) The management station shall execute pixel testing. (See Section 4.2.4.2)
b) (Precondition) The management station shall be aware of which pixels are currently failed on or failed
off.
c) For the desired failed pixel, the management station shall GET the following data:
1) pixelFailureXLocation.x.y
2) pixelFailureYLocation.x.y
3) pixelFailureStatus.x.y
Where:
x = failure detection type
y = pixel failure index
a) (Precondition) The management station shall be aware of which light sensors are currently failed.
b) For the desired failed light sensor, the management station shall GET the following data:
1) dmsLightSensorDescription.x
2) dmsLightSensorCurrentReading.x
3) dmsLightSensorStatus.x
Where:
x = light sensor index.
a) (Precondition) The management station shall execute climate control equipment testing. (See Section
4.2.4.3.)
b) (Precondition) The management station shall be aware of which climate control subsystems are
currently failed.
c) For the desired failed climate control subsystem, the management station shall GET the following
data:
1) dmsClimateCtrlDescription.x
2) dmsClimateCtrlMfrStatus.x
3) dmsClimateCtrlErrorStatus.x
4) dmsClimateCtrlOn.x
5) dmsClimateCtrlType.x
Where:
x = climate control index.
a) (Precondition) The management station may wish to determine which humidity sensors are reporting
warnings.
b) For the desired humidity sensor, the management station shall GET the following data:
1) dmsHumiditySensorDescription.x
2) dmsHumiditySensorCurrentReading.x
3) dmsHumiditySensorStatus.x
Where:
x = dmsHumiditySensorIndex
a) (Precondition) The management station may wish to determine which humidity sensors are reporting
warnings.
b) For the desired humidity sensor, the management station shall GET the following data:
1) dmsHumiditySensorDescription.x
2) dmsHumiditySensorCurrentReading.x
3) dmsHumiditySensorStatus.x
Where:
x = humidity sensor index.
a) (Precondition) The management station shall be aware of which sign rotors are currently failed.
b) For the desired failed rotor, the management station shall GET the following data:
1) dmsDrumDescription.x
2) dmsDrumMfrStatus.x
3) dmsDrumStatus.x
Where:
x = drum index.
a) The management station shall GET the following data to determine the number of auxiliary ports
supported by the device:
1) maxAuxIOv2TableNumDigitalPorts.0
2) maxAuxIOv2TableNumAnalogPorts.0
b) For each attached device, the management station shall GET the following data:
1) auxIOv2PortDescription.x.y
2) auxIOv2PortResolution.x.y
3) auxIOv2PortValue.x.y
4) auxIOv2PortDirection.x.y
5) auxIOv2PortLastCommandedState.x.y
Where:
x = auxiliary I/O port type
y = auxiliary I/O port number
Note: A device might need to support the version 1 definitions for the auxiliary I/O functionality.
However, if required, the specification writer will need to clarify within the specification how this
version 1 functionality is to be implemented.
a) The management station shall GET dmsMsgTableSource.0 to determine the message number,
message type, and message CRC of the currently displayed message.
b) The management station shall GET dmsMessageTimeRemaining.0.
c) The management station shall GET dmsMsgRequesterID.0 to determine the source address of the
controller that activated the currently displayed message.
d) The management station shall GET dmsMsgSourceMode.0 to determine the source from which the
message was generated (e.g., default message, communications port, scheduler, etc.).
e) The management station shall GET the following data:
1) dmsMessageMultiString.5.1
2) dmsMessageOwner.5.1
3) dmsMessageRunTimePriority.5.1
Note: Instance "5.1" is the currentBuffer row of the Message Table.
f) The management station shall GET dmsMesagePixelService.5.1.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
g) The management station shall GET dmsMessageBeacon.5.1.
Note: The response to this request may be a noSuchName error, indicating that the DMS does not
support this optional feature. This error will not affect the sequence of this dialog, but the
management station should be aware that the CRC will be calculated with this value defaulted to zero
(0).
h) The management station shall GET the following data:
1) dmsIllumBrightLevelStatus.0
2) dmsIllumLightOutputStatus.0
a) The management station shall GET statMultiFieldRows.0 to determine the number of dynamic fields
used within the current message.
b) For each dynamic field, the management station shall GET the following data:
1) statMultiFieldCode.x
2) statMultiCurrentFieldValue.x
Note: If statMultiFieldRows.0 equals zero (0), step 2 should be skipped.
Where:
x = MULTI Field Index
“State-transition diagrams describe all of the states that an object can have, the events under which an
object changes state (transitions), the conditions that must be fulfilled before the transition will occur
(guards), and the activities undertaken during the life of an object (actions).” (Reference: State-
Transition Diagrams: Testing UML Models, Part 4 by Lee Copeland)
The following subsections define the states for various object classes that may be supported by the
device.
Font Status can never be changed from a value of 'permanent (6)' to any other state. If attempted, a
BadValue is returned.
At any time it shall be possible to set the dmsFontStatus object to a value of 'notUsedRequest (9)' except
when the dmsFontStatus object has a value of 'permanent (6)' or 'inUse (5)'. A value of 'inUse (5)'
indicates that the font is used within the currently displayed message on the sign. The first exception case
is covered in the previous paragraph, while in the latter two exception cases, a GenError will be returned .
The dmsFontStatus object can only be commanded to 'unmanagedReq (10)', when the current value of
this object is either 'modifying (2)' or 'notUsed (1)' or ‘unmanaged (11)’, otherwise a badValue will be
returned.
A managing device shall only be allowed to activate a message if the dmsFontStatus object has a value
of 'unmanaged (11)', 'permanent (6)', or 'readyForUse (4)', otherwise a GenError shall be returned
and.the dmsActivateMsgError object shall be changed to a value of 'syntaxMULTI' and the
dmsMultiSyntaxError object shall be changed to a value of 'fontNotDefined'.
a) The DMS shall allow the management station to SET the subject fontStatus object to 'notUsedReq',r
'modifyReq', or 'unmanagedReq'.
b) The DMS shall return a badValue error for a request to SET the subject fontStatus object to any other
value.
c) The DMS shall return a genErr error for any request to SET any other settable font information for the
subject font.
d) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject font and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'fontNotDefined'.
a) The DMS shall allow the management station to SET the subject fontStatus object to 'notUsedReq',
'modifyReq', 'readyForUseReq', or 'unmanagedReq'.
b) If the management station SETs the fontStatus to 'readyForUseReq', the DMS shall automatically
update the value of fontVersionID prior to setting the state to 'readyForUse' and set the value of the
the subject fontStatus object to 'calculatingID'.
c) If the management station SETs the fontStatus to 'readyForUseReq', if the corresponding fontNumber
is not unique among all fonts with fontStatus set to ‘permanent’, ‘readyForUse’, ‘inUse’, or
‘unmanaged’, a badValue error will be returned and the fontStatus will change to ‘notInUse’.
d) The DMS shall return a badValue error for a request to SET the subject fontStatus object to any other
value.
e) The DMS shall allow a management station to SET any other settable font information for the subject
font.
f) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject font and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'fontNotDefined'.
g) If the management station SETs the fontHeight to a different value, the DMS shall set all
corresponding characterWidth objects to zero (0) and all corresponding characterBitmap objects to
zero length.
a) The DMS shall update the fontVersionID and then transition to the 'readyForUse' state.
b) The DMS shall allow the management station to SET the subject fontStatus object to 'notUsedReq'.
c) The DMS shall return a badValue error for a request to SET the subject fontStatus object to any other
value.
d) The DMS shall return a genErr error for any request to SET any other settable font information for the
subject font.
e) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject font and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'fontNotDefined'.
a) The DMS shall allow the management station to SET the subject fontStatus object to 'notUsedReq',
'modifyReq', or 'readyForUseReq'.
b) The DMS shall return a badValue error for a request to SET the subject fontStatus object to any other
value.
c) The DMS shall return a genErr error for any request to SET any other settable font information for the
subject font.
d) The DMS shall allow the font to be used in a message being activated.
e) Upon the successful activation of a message using the font, the subject fontStatus object shall
change to 'inUse'.
a) The DMS shall return a badValue error for a request to SET the subject fontStatus object.
b) The DMS shall return a genErr error for any request to SET any other settable font information for the
subject font.
c) Upon the activation of another message using the subject font, the subject fontStatus object shall
remain in the 'inUse' state.
d) Upon the successful activation of another message that does not use the subject font, the subject
fontStatus object shall change to the 'readyForUse' state.
a) The DMS shall return a badValue error for any request to SET the subject fontStatus object.
b) The DMS shall return a genErr error for any request to SET any other settable font information for the
subject font.
c) The DMS shall allow the font to be used in a message being activated.
d) Upon the successful activation of a message using the font, the fontStatus shall remain 'permanent'.
e) Upon successful activation of a message that does not use the font, the fontStatus shall remain
'permanent'.
a) The DMS shall allow the management station to SET the subject fontStatus object to 'notUsedReq',
'modifyReq', or 'unmanagedReq'.
b) The DMS shall return a badValue error for a request to SET the subject fontStatus object to any other
value.
c) When requesting to SET any other settable font information for the subject font, the DMS is assumed
to be a Version 1 sign and to react accordingly, i.e., manufacturer-specific.
d) When requesting to activate a message using this font, the DMS is assumed to be a Version 1 sign
and to react accordingly, i.e., manufacturer-specific.
The DMS shall not impose any restrictions on the operations of a subject font based on the status of any
other font supported by the DMS (e.g., Font 1 shall not be disabled because Font 2 is being modified).
The contents of the fontVersionID object shall only be considered valid when the fontStatus is
readyForUse, inUse, permanent, or unmanaged (i.e., DMS is assumed to be a Version 1 sign).
Note: Modifying a font that is associated with a permanent message should be performed with
extreme caution to prevent undesirable results.
Note: DMS conforming to NTCIP 1203:1997 or its Amendment 1 do not support the fontStatus
state machine. Further, the exact time at which the fontVersionID is calculated in such devices is
not formally defined, but as the correct value was required upon any poll, most manufacturers
updated the fontVersionID upon each change to either the font or the character table.
notUsed
modif y ing
ready ForUse
inUse
Permanent
a) The DMS shall allow the management station to SET the subject dmsGraphicStatus object to
'notUsedReq' or 'modifyReq'.
b) The DMS shall return a badValue error for a request to SET the subject dmsGraphicStatus object to
any other value.
c) The DMS shall return a genErr error for any request to SET any other settable graphic information for
the subject graphic.
d) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject graphic and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'graphicNotDefined'.
a) The DMS shall allow the management station to SET the subject dmsGraphicStatus object to
'notUsedReq', 'modifyReq', or 'readyForUseReq'.
b) If the management station SETs the dmsGraphicStatus to 'readyForUseReq', the DMS shall
automatically update the value of dmsGraphicID prior to setting the state to 'readyForUse'.
c) The DMS shall return a badValue error for a request to SET the subject dmsGraphicStatus object to
any other value.
d) The DMS shall allow a management station to SET any other settable graphic information for the
subject graphic.
e) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject graphic and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'graphicNotDefined'.
f) If the management station SETs the graphicHeight, graphicWidth, or graphicType to a different value,
the corresponding dmsGraphicBlockBitmap objects shall be set to zero length.
a) The DMS shall update the dmsGraphicID and then transition to the readyForUse state.
b) The DMS shall allow the management station to SET the subject dmsGraphicStatus object to
'notUsedReq'.
c) The DMS shall return a badValue error for a request to SET the subject dmsGraphicStatus object to
any other value.
d) The DMS shall return a genErr error for any request to SET any other settable information for the
subject graphic.
e) The DMS shall reject any attempt (internal event or external request) to activate a message using the
subject graphic and shall change the dmsActivateMsgError object to a value of 'syntaxMULTI' and
change the dmsMultiSyntaxError object to a value of 'graphicNotDefined'.
a) The DMS shall allow the management station to SET the subject dmsGraphicStatus object to
'notUsedReq', 'modifyReq', or 'readyForUseReq'.
b) The DMS shall return a badValue error for a request to SET the subject dmsGraphicStatus object to
any other value.
c) The DMS shall return a genErr error for any request to SET any other settable graphic information for
the subject graphic.
d) The DMS shall allow the graphic to be used in a message being activated.
e) Upon the successful activation of a message using the graphic, the dmsGraphicStatus shall change
to 'inUse'.
a) The DMS shall return a badValue error for a request to SET the subject dmsGraphicStatus object.
b) The DMS shall return a genErr error for any request to SET any other settable graphic information for
the subject graphic.
c) Upon the activation of another message using the subject graphic, the dmsGraphicStatus shall
remain in the 'inUse' state.
d) Upon the successful activation of another message that does not use the subject graphic, the
a) The DMS shall return a badValue error for any request to SET the subject dmsGraphicStatus object.
b) The DMS shall return a genErr error for any request to SET any other 'settable' graphic information
for the subject graphic.
c) The DMS shall allow the graphic to be used in a message being activated.
d) Upon the successful activation of a message using the graphic, the dmsGraphicStatus shall remain
'permanent'.
e) Upon successful activation of a message that does not use the graphic, the dmsGraphicStatus shall
remain 'permanent'.
The DMS shall not impose any restrictions on the operations of a subject graphic based on the status of
any other graphic supported by the DMS. (e.g., Graphic 1 shall not be disabled because Graphic 2 is
being modified).
The contents of the dmsGraphicID object shall only be considered valid when the dmsGraphicStatus is
readyForUse, inUse, or permanent.
Note: Modifying a graphic that is associated with a permanent message should be performed with
extreme caution to prevent undesirable results.
Note: DMS conforming to NTCIP 1203:1997 or its Amendment 1 do not support the graphic
feature.
switchLocal
local
centralOverride
switchCentral
switchMove( local )
central
a) If the Local Control Switch is switched to the 'switchLocal' state, the DMS controlMode shall transfer
to the 'local' state.
b) The DMS shall return a badValue error for a request to SET the controlMode to any value.
c) The DMS shall allow a management station to GET any information stored in the DMS.
d) The DMS shall process any SET request from a management station connected via a central port.
e) The DMS shall return a 'genErr' error for any SET request from a management station connected via
a local port. If the request included a SET on dmsActivateMessage.0, the DMS shall also update the
value of dmsActivateMsgError to 'centralMode', shall update the value of dmsActivateErrorMsgCode
to the message code sent in the request, and update the value of dmsMultiSyntaxError to 'none'.
a) If the Local Control Switch is switched to the 'switchCentral' state, the DMS controlMode shall transfer
to the 'central' state.
b) The DMS shall allow a management station (either local or central) to SET the controlMode to
'centralOverride'.
c) The DMS shall return a badValue error for a request to SET the controlMode to any other value.
d) The DMS shall allow a management station to GET any information stored in the DMS.
e) The DMS shall process any SET request from a management station connected via a 'local' port.
f) The DMS shall return a genErr error for any SET request from a management station connected via a
'central' port, except for SETting controlMode to 'centralOverride'. If the request included a SET on
dmsActivateMessage.0, the DMS shall also update the value of dmsActivateMsgError to 'localMode',
shall update the value of dmsActivateErrorMsgCode to the message code sent in the request, and
update the value of dmsMultiSyntaxError to 'none'.
a) If the Local Control Switch is switched to the 'switchCentral' state, the DMS controlMode shall transfer
to the 'central' state.
b) The DMS shall allow a management station connected through a 'central' port to SET the
controlMode to 'centralOverride'.
c) The DMS shall return a badValue error for a request to SET the controlMode to any other value.
d) The DMS shall allow a management station to GET any information stored in the DMS.
e) The DMS shall process any SET request from a management station connected via a central port.
f) The DMS shall return a genErr error for any SET request from a management station connected via a
local port. If the request included a SET on dmsActivateMessage.0, the DMS shall also update the
value of dmsActivateMsgError to 'centralOverrideMode', shall update the value of
dmsActivateErrorMsgCode to the message code sent in the request, and update the value of
dmsMultiSyntaxError to 'none'.
notUsed
Entry may discard row data
Event set( any data for row) / genErr
Event set( status = notUsedReq)/
Event set( status = modifyReq) [insufficient memory] / genErr
Event set( status = any other value) / badValue
modifying
Event set( any data for row) / process as normal
Event set( status = modifyReq) /
Event set( status = any other value) / badValue
validating
do / Consistency Check
Set (notUsedReq) Event set( any data for row) / genErr
Event set( status = any other value) / badValue
Set (modifyReq)
valid
Event set( any data for row) / genErr
Event set( status = any other value) / badValue
error
Event set( any data for row) / genErr
Event set( status = any other value) / badValue
Diagram is only valid for ‘volatile’, ‘changeable’, and ‘schedule’ messages. All
other message types shall always be in the valid state and return a badValue
error for any set command to the dmsMessageStatus object.
a) Upon entry into this state, the DMS may discard any data for the message.
b) The DMS shall allow the management station to SET the subject dmsMessageStatus object to
'notUsedReq'.
c) If the management station attempts to SET the the subject dmsMessageStatus object to 'modifyReq',
the DMS shall ensure that there is sufficient memory to store at least a minimal message. If the check
indicates that there is sufficient memory, the state shall transfer to the 'modifying' state; otherwise it
shall remain in the 'notUsed' state and the DMS shall respond with a genErr.
d) The DMS shall return a badValue error for a request to SET the subject dmsMessageStatus object to
any other value.
e) The DMS shall return a genErr error for any request to SET any other settable message information
for the subject message.
a) The DMS shall allow the management station to SET the subject dmsMessageStatus object to
'notUsedReq', 'modifyReq', or 'validateReq'.
b) The DMS shall return a badValue error for a request to SET the subject dmsMessageStatus object to
any other value.
c) The DMS shall process any SET request for settable message information for the subject message.
a) Upon entry into this state, the DMS shall perform the following consistency check:
1) If the requested message type is not supported by the sign, the DMS shall return a genErr and
shall set the dmsActivateMsgError to 'memoryType'.
2) If the requested message number is not supported by the sign, the DMS shall return a genErr and
shall set the dmsActivateMsgError to messageNumber.
3) If the object dmsMessageMultiString contains MULTI tags that are not supported by the sign or if
the resulting message text (text and/or graphics) could not be displayed on the display panel due
excess size, excess length, and/or formatting of the text, the dmsMessageStatus shall
automatically transfer to the 'error' state and the DMS shall set the dmsValidateMessageError
object to a value of 'syntaxMULTI'. In addition, the DMS shall set proper values for the following
objects to the appropriate values: dmsMultiSyntaxError, dmsMultiSyntaxErrorPosition, and
dmsMultiOtherErrorDescription.
4) If object dmsMessageMultiString contains text and/or graphics that can not be supported by the
DMS, the DMS shall set the dmsValidateMessageError object to 'syntaxMULTI' and shall set
proper values for the dmsMultiSyntaxError, dmsMultiSyntaxErrorPosition, and
dmsMultiOtherErrorDescription objects.
5) If the message is not validated for any other reason, the DMS shall set the
dmsValidateMessageError object to 'other'.
6) Otherwise, the consistency check for this object passes, the dmsMessageStatus shall
automatically transfer to the 'valid' state, and the DMS shall: set the dmsValidateMessageError
object to 'none', set the dmsMultiSyntaxError object to a value of 'none', and set the
dmsMultiSyntaxErrorPosition object to a value of zero (0).
b) The DMS shall allow the management station to SET the subject dmsMessageStatus object to
'notUsedReq'. Upon the receipt of such a request, the DMS shall terminate the validation process and
transfer to the 'notUsed' state.
c) The DMS shall return a badValue error for a request to SET the subject dmsMessageStatus object to
any other value.
d) The DMS shall return a genErr error for any request to SET any other settable message information
for the subject message.
a) The DMS shall allow the management station to SET the subject dmsMessageStatus object to
'notUsedReq' or 'modifyReq'.
b) The DMS shall return a badValue error for a request to SET the subject dmsMessageStatus object to
any other value.
c) The DMS shall return a genErr error for any request to SET any other settable message information
for the subject message.
a) The DMS shall allow the management station to SET the subject dmsMessageStatus object to
'notUsedReq' or 'modifyReq'.
b) The DMS shall return a badValue error for a request to SET the subject dmsMessageStatus object to
any other value.
c) The DMS shall return a genErr error for any request to SET any other settable message information
for the subject message.
The DMS shall not impose any restrictions on the operations of a subject message based on the status of
any other message supported by the DMS.
The contents of the dmsMessageCRC object shall only be considered valid when the dmsMessageStatus
is 'valid'.
a) If the request is valid and received from a 'central' communications port, and the object
dmsControlMode has a value of 'local', the DMS shall return a genErr and shall set the
dmsActivateMsgError to 'localMode'.
b) If the request is valid and received from a 'local' communications port, and the object
dmsControlMode has a value of 'central', the DMS shall return a genErr and shall set the
dmsActivateMsgError to 'centralMode'.
c) If the request is valid and received from a 'local' communications port, and the object
dmsControlMode has a value of 'centralOverride', the DMS shall return a genErr and shall set the
dmsActivateMsgError to 'centralOverrideMode'.
d) If the requested message type is not supported by the sign, the DMS shall return a genErr and shall
set the dmsActivateMsgError to 'memoryType'.
e) If the requested message number is not supported by the sign, the DMS shall return a genErr and
shall set the dmsActivateMsgError to messageNumber.
f) If the requested message is supported by the sign but is not currently in the valid state, the DMS shall
return a genErr and shall set the dmsActivateMsgError to messageStatus.
g) If the requested message is in the valid state but has a different CRC value than indicated in the set
request, the DMS shall return a genErr and shall set the dmsActivateMsgError to messageCRC.
h) If the request is valid, but has insufficient priority to override the current message, the DMS shall
return a genErr and shall set the dmsActivateMsgError to priority.
i) If the request is valid and has sufficient priority to override the current message, but cannot be
displayed due to some error in presenting the MultiString on the display panel, the DMS shall return a
genErr and shall set the dmsActivateMsgError to 'syntaxMULTI'. In addition, the DMS shall set proper
values for the dmsMultiSyntaxError, dmsMultiSyntaxErrorPosition, dmsMultiOtherErrorDescription,
and dmsActivationErrorMsgCode objects.
j) If the request does not result in activating the requested message for any other reason, the DMS shall
return a genErr and shall set the dmsActivateMsgError to 'other'.
k) Otherwise, the consistency check for this object passes and the DMS shall set the
dmsActivateMsgError to 'none'.
Section 5
Management Information Base (MIB) [Normative]
Section 5 defines those objects which are expected to be used by dynamic message signs (DMS). The
objects are presented using the OBJECT-TYPE macro as specified in RFC 1212 and NTCIP 8004. The
text provided from Section 5.1 through the end of the section (except the section headings) constitutes
the NTCIP1203-2005 MIB.
The sections below generally present the objects in lexigraphical order of their OBJECT IDENTIFIERS
which correspond to their physical location within the global naming tree. Most of the objects defined in
this document reside under the “dms” node of the global naming tree. To aid in object management, the
“dms” node has been subdivided into logical categories, each defined by a node under the “dms” node.
The individual objects are then located under the appropriate node.
Conformance requirements for any object are determined by the use of the Requirements Traceability
Matrix (RTM) in Annex A. To support any defined Requirement, an implementation shall support all
objects to which the Requirement traces in the RTM. The value of the STATUS field for every object in
the MIB is "mandatory", and indicates that it is mandatory if any associated Requirement is selected.
For all bitmapped objects, if a bit is zero (0), then the referenced function is disabled or not supported,
and if a bit is one (1), then the referenced function is enabled or supported.
The full standardized range of all objects defined within NTCIP 1203 v03 shall be supported, except as
otherwise noted. This MIB is managed by the NTCIP DMS Working Group and proprietary features
should be defined through vendor-specific nodes in vendor-specific extensions to this MIB. All values not
explicitly defined (e.g., enumerated values not listed, bits not defined, etc.) are reserved for future use by
the DMS Working Group.
A computer readable format of this information, called a Management Information Base, is available from
NEMA ([email protected]). The MIB has been verified using SMICng Version 2.2.07 (Book).
Previous versions of NTCIP 1203 v03 defined data elements that have been replaced to resolve
ambiguities; however, central systems may need to interoperate with older equipment and support such
data elements. Annex D documents the reason that the WG decided to deprecate the various objects.
--***************************************************************************
-- Filename: 1203v0305.MIB
-- Source:
-- Description: This MIB defines the object definitions for dynamic
-- message signs (DMS)
-- MIB Revision History:
-- 03/31/97 NEMA TS 3.6 approved
-- 12/01/99 Changed filename to 1203 (from NEMA TS 3.6)
-- 07/03/01 Amendment 1 approved
-- 11/30/06 Changed filename and updated copyright years
-- Modified header format and wording of copyright and MIB
-- Distribution Notice
-- Incorporated NTCIP 8004 format
-- 9/30/2014 Published NTCIP 1203 v03.05 with revisions
--
--
-- (i) you may make and/or distribute unlimited copies (including derivative
--works) of the MIB, including copies for commercial distribution, provided
--that (a) each copy you make and/or distribute contains this Notice and (b)
--each derivative work of the MIB uses the same module name followed by "-",
--followed by your Internet Assigned Number Authority (IANA)-assigned
--enterprise number;
--(ii) use of the MIB is restricted in that the syntax field may be modified
--only to reflect a more restrictive sub-range or enumerated values;
--(iii) the description field may be modified but only to the extent that:
--(a) only those bit values or enumerated values that are supported are
--listed; and (b) the more restrictive subrange is expressed.
--
--These materials are delivered "AS IS" without any warranties as to their
-- use or performance.
--
--AASHTO/ITE/NEMA AND THEIR SUPPLIERS DO NOT WARRANT THE PERFORMANCE OR
--RESULTS YOU MAY OBTAIN BY USING THESE MATERIALS. AASHTO/ITE/NEMA AND THEIR
--SUPPLIERS MAKE NO WARRANTIES, EXPRESS OR IMPLIED, AS TO NONINFRINGEMENT OF
--THIRD PARTY RIGHTS, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE.
--IN NO EVENT WILL AASHTO, ITE OR NEMA OR THEIR SUPPLIERS BE LIABLE TO YOU OR
--ANY THIRD PARTY FOR ANY CLAIM OR FOR ANY CONSEQUENTIAL, INCIDENTAL OR
--SPECIAL DAMAGES, INCLUDING ANY LOST PROFITS OR LOST SAVINGS, ARISING FROM
--YOUR REPRODUCTION OR USE OF THESE MATERIALS, EVEN IF AN AASHTO, ITE, OR
--NEMA REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
--Some states or jurisdictions do not allow the exclusion or limitation of
--incidental, consequential or special damages, or the exclusion of implied
--warranties, so the above limitations may not apply to you.
--
--Use of these materials does not constitute an endorsement or affiliation by
--or between AASHTO, ITE, or NEMA and you, your company, or your products and
--services.
--
--NTCIP is a trademark of AASHTO/ITE/NEMA.
--
****************************************************************************
IMPORTS
IpAddress, Counter
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC-1212
DisplayString
FROM RFC1213-MIB
OwnerString, dms
-- Deleted displayString to reference from RFC 1213
-- and modified references to dms and OerString
FROM NTCIP8004 v02;
-- desired message.
--
-- messageCRC (16 bits) shall indicate the dmsMessageCRC of the
-- desired message.
--
-- sourceAddress (32 bits) shall indicate the 4-byte IP address of the
-- device which requested the activation.
--
-- For example, given the MULTI string ‘[jp3]TEST [fl]Flashing[/fl]’,
-- stored in volatile memory slot 5 with no beacons and no pixel
-- service, the message ID Code is ‘04 00 05 95 F9’. If this message
-- is to be displayed for 267 minutes with activation priority 55 from
-- IP address 103.8.9.10, the message Activation Code is
-- ‘01 0B 37 04 00 05 95 F9 67 08 09 0A’.
--
-- The dmsActivateMsgError object shall be used to indicate the success
-- or failure of activating any message requested by an object with a SYNTAX
-- of MessageActivationCode.
-- This node is an identifier used to group all objects for DMS sign
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the sign height in millimeters including the border
(dmsVerticalBorder).
<Unit>millimeter
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.1.3"
::= { dmsSignCfg 3 }
Bit 5- Bulb,
Bit 6- Drum
If a bit is set to one (1), then the associated feature exists; if the bit is
set to zero (0), then the associated feature does not exist.
-- This node is an identifier used to group all objects for DMS font
-- configurations that are common to DMS devices.
fontEntry OBJECT-TYPE
SYNTAX FontEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition>Parameters of the Font Table.
"
INDEX {fontIndex}
::= {fontTable 1}
fontLineSpacing INTEGER,
fontVersionID INTEGER,
fontStatus INTEGER
}
CRC = 0x52ED
fontVersionID = 0xED52
Clarifications:
a) characterNumber is a two-byte unsigned integer.
b) characterBitmap is defined as OCTET STRING without a size constraint.
(the length octets shall be present)
c) CharacterInfoList is defined as SEQUENCE-OF that requires a quantity
field (unconstrained unsigned integer) ‘with a value equal to the number of
times the componentType is repeated within the value field’.
0000110
0000110
and
011110
110011
110011
111111
110011
110011
110011
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.3.2.1.7"
::= { fontEntry 7 }
to manage the font as in NTCIP 1203 v1. Note: attempts to modify permanent
fonts while in this state shall generate SNMP GenErr.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.3.2.1.8"
DEFVAL {unmanaged}
::= { fontEntry 8 }
-- The Default Value of 'unmanaged' needs to be supported by a version 2
-- signs because a version 1 central did not implement the
-- fontStatus object since it was not defined in version 1 (NTCIP 1203:1997).
-- This default value is needed to ensure that a version 1 central can
-- download and upload font definitions a version 2 sign without using
-- this object. The only exceptions are permanent fonts, which must default
-- to a value of 'permanent'.
characterEntry OBJECT-TYPE
SYNTAX CharacterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Character Configuration Table.
"
INDEX {fontIndex, characterNumber}
::= {characterTable 1}
the character giving the bitmap of 'A' would be characterNumber 65 (41 hex).
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.3.4.1.1"
::= { characterEntry 1 }
The octet string is treated as a binary bit string. The most significant bit
defines the state of the pixel in the upper left corner of the rectangular
region. The rectangular region is processed by rows, left to right, then top
to bottom. The size of the rectangular region is defined by the fontHeight
and characterWidth objects; any remaining bits shall be ignored, except for
use in the calculation of the CRC.
This object shall be subranged by the device to the maximum number of bytes
as indicated by fontMaxCharacterSize.
The largest value of this object must be equal or smaller than the total
number of pixels of the sign.
<Unit>byte
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.3.5"
::= { fontDefinition 5 }
Each of the colors on a sign should map to one of the colors listed. If a
color is requested that is not supported, then a genErr shall be returned.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.4.2"
::= { multiCfg 2 }
the time of activation. The value shall be created (overwritten) at the time
when the message was copied into the currentBuffer.
<Unit>tenth of seconds
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.4.18"
::= { multiCfg 18 }
right(4),
full(5) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the value of defaultJustificationLine at activation
of the currently active message for the purpose of determining what the value
was at the time of activation. The value shall be created (overwritten) at
the time when the message was copied into the currentBuffer.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.4.20"
::= { multiCfg 20 }
<Unit>tenth of seconds
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.4.8"
DEFVAL {30}
::= { multiCfg 8 }
returned.
This object may be sub-ranged by an implementation; see Section 3.5.2.3.2.2
for more information.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.4.13"
::= { multiCfg 13 }
<Unit>message
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.5.1"
::= { dmsMessage 1 }
dmsMessageEntry OBJECT-TYPE
SYNTAX DmsMessageEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Message Table.
"
INDEX {dmsMessageMemoryType, dmsMessageNumber}
::= {dmsMessageTable 1}
dmsMessageBeacon INTEGER,
dmsMessagePixelService INTEGER,
dmsMessageRunTimePriority INTEGER,
dmsMessageStatus INTEGER
}
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the CRC-16 (polynomial defined in ISO/IEC 3309) value
created using the values of the dmsMessageMultiString (MULTI-Message), the
dmsMessageBeacon, and the dmsMessagePixelService objects in the order listed,
not including the OER type or length fields. Note that the calculation shall
assume a value of zero (0) for the dmsMessageBeacon object and/or for the
dmsMessagePixelService object if they are not supported. For messages of the
'blank' message type, the above algorithm shall be ignored and the
dmsMessageCRC value shall always be zero (0). For messages of the 'schedule'
message type, the CRC value of the currently scheduled message shall always
be returned (regardless whether this message is actually being displayed).
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.5.8.1.5"
::= { dmsMessageEntry 5 }
DESCRIPTION
"<Definition> A code indicating the active message. The value of this object
may be SET by a management station or modified by logic internal to the DMS
(e.g., activation of the end duration message, etc.).
If a GET is performed on this object, the DMS shall respond with the value
for the last message that was successfully activated.
The dmsActivateMsgError object shall be updated appropriately upon any
attempt to update the value of this object, whether from an internal or
external source.
reset (11),
commLoss (12),
powerLoss (13),
endDuration (14)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the source that initiated the currently displayed
message. The enumerations are defined as:
other (1) - the currently displayed message was activated based on a
condition other than the ones defined below. This would include any
auxiliary devices.
local (2) - the currently displayed message was activated at the sign
controller using either an onboard terminal or a local interface.
external (3) - the currently displayed message was activated from a locally
connected
device using serial (or other type of) connection to the sign controller
such as a laptop or
a PDA. This mode shall only be used, if the sign controller is capable of
distinguishing
between a local input (see definition of 'local (2)') and a serial
connection.
central (8) - the currently displayed message was activated from the
central
computer.
timebasedScheduler (9) - the currently displayed message was activated from
the timebased scheduler as configured within the sign controller.
powerRecovery (10) - the currently displayed message was activated based
on the settings within the dmsLongPowerRecoveryMessage,
dmsShortPowerRecoveryMessage, and the
dmsShortPowerLossTime objects.
reset (11) - the currently displayed message was activated based on the
settings within the dmsResetMessage object.
commLoss (12) - the currently displayed message was activated based on
the settings within the dmsCommunicationsLossMessage object.
powerLoss (13) - the currently displayed message was activated based on
the settings within the dmsPowerLossMessage object. Note: it may not be
possible to point to this message depending on the technology, e.g. it
may
not be possible to display a message on pure LED or fiber-optic signs
DURING power loss.
endDuration (14) - the currently displayed message was activated based on
the settings within the dmsEndDurationMessage object.
ACCESS read-write
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the message that shall be activated after a Reset
(either software or hardware) of the device (see dmsActivateMessage). This
assumes that the device can differentiate between a reset and a power loss.
The message shall be activated with
- a duration of 65535 (infinite) (if this object points to a value of
'currentBuffer', the duration is determined by the value of the
dmsMessageTimeRemaining object minus the power outage time);
- an activation priority of 255;
- a source address of '127.0.0.1'.
Upon activation of the message, the run-time priority value shall be obtained
from the message table row specified by this object.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.6.11"
-- DEFVAL MessageIDCode = messageMemoryType = 7, messageNumber = 1,
-- messageCRC = 0
::= { signControl 11 }
be ignored.
The countdown timer associated with this parameter shall be suspended while
the sign control parameter has a value of 'local (2)', e.g., the sign is in
local control. The countdown timer shall be restarted (reset and started
again) once the sign control parameter value is switched to 'central (4)' or
'centralOverride (5)'.
<Unit>minute
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.6.13"::= { signControl 13 }
-- This timer differs from the Data Link Layer timers (T1 to T4). A dial-up
-- circuit may have short time-outs at the DL Layer, but central might
-- only dial up once a month to confirm operation, in which case this
-- object would be set to ~ 35 days.
Note: Not all technologies support the means to display a message while the
power is off.
If the end duration message does not activate because this object is an
invalid value, the sign shall blank with the default value of this object.
STATUS mandatory
DESCRIPTION
"<Definition> This is the offset from the first character (e.g. first
character has offset 0, second is 1, etc.) of the MULTI string where the
SYNTAX error occurred.
<Unit>character
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.6.19"
::= { signControl 19 }
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the base time at which the first pixel service shall
occur. Time is expressed in minutes from the epoch of Midnight of each day.
<Unit>minute
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.6.23"
DEFVAL {1}
::= { signControl 23 }
A sign with fast activation uses this object only to indicate that it is a
fast activation sign. Such a sign shows an immediate response to a SET of
dmsActivateMessage that is either noError or a genErr. In the case of a
genErr the specific error is found in dmsActivateMsgError.
With a slow activation sign there are two opportunities to detect an error.
The first comes when the SET of dmsActivateMessage is performed, just as in
the fast activation sign. It could be a bad message number or other error. If
such an error is received, the message change does not occur and therefore
this object can be ignored. If the SET of dmsActivateMessage succeeds, then
the central must wait for either slowActivatedOK or slowActivatedError in
this object. If the sign detects an error, it shall set this object to
slowActivatedError and set the ‘message error’ bit in the shortErrorStatus
object. When a central receives slowActivatedError, it shall examine other
status objects specific to the sign, such as the rotary drum status objects,
to determine the precise error.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.6.25"
::= { signControl 25 }
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the maximum value given by the
dmsIllumPhotocellLevelStatus-object.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.7.2"
::= { illum 2 }
If the sign does not support photocell and the dmsIllumControl object value
is set to 'manualIndexed', then the values for the 'photocellLevelDown' and
'photocellLevelUp' still need to be entered that the table does not cause any
errors as defined in the dmsIllumBrightnessValuesError object. However, since
no photocell is supported, the entered values for 'photocellLevelDown' and
'photocellLevelUp' for the various 'lightOutputs' are meaningless.
dmsActionEntry OBJECT-TYPE
SYNTAX DmsActionEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the DMS Action Table.
"
INDEX {dmsActionIndex}
::= {dmsActionTable 1}
SYNTAX MessageIDCode
ACCESS read-write
STATUS mandatory
DESCRIPTION
"<Definition> A number indicating the message memory type, the message number
and the associated message-specific CRC as indicated within the message
table.
Setting the CRC portion of this object to all zeros allows a message to
become activated without the CRC validation process.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.8.2.1.2"
DEFVAL {'0000000000'h}
::= { dmsActionEntry 2 }
statMultiFieldEntry OBJECT-TYPE
SYNTAX StatMultiFieldEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Status Multi Field Table.
"
INDEX {statMultiFieldIndex}
::= {statMultiFieldTable 1}
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the current speed limit in kilometers per hour
(km/h).
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.4"
::= { dmsStatus 4 }
Bit 2- power error - this bit shall be set if any error associated with the
power supply to any component occurs (see the objects
dmsPowerFailureStatusMap and lowFuelThreshold).
Bit 3- attached device error - this bit shall be set if any error
associated with attached (supported, and enabled) external
devices occurs.
Bit 4- lamp error - this bit shall be set if any errors associated with any
lamp occurs (see the objects lampFailureStuckOn and
lampFailureStuckOff). This bit is only applicable to devices that
support lamps such as fiber optic signs or front-illuminated
reflective signs. This bit is not applicable to lamps or fluorescent
lights illuminating the housing or cabinet.
Bit 5- pixel error - this bit shall be set if any errors associated with any
pixel occurs (see the objects pixelFailureTableNumRows for NTCIP 1203v1
deployments, and pixelFailureTableNumRows, and/or
dmsPixelFailureTestRows and dmsPixelFailureMessageRows for NTCIP 1203v2
deployments.).
This bit is only applicable to devices
that support illumination of individual pixels, but not to drum signs.
Note that certain sign technologies such as flip disk only sign may
not be able to determine pixel errors.
Bit 6- photocell error - this bit shall be set if any errors associated with
the supported light sensors occurs (see the object
dmsLightSensorStatusMap).
Bit 7- message error - this bit shall be set if any errors associated with
activating and/or displaying a message occurs (see the object
dmsActivateMsgError).
Bit 8- controller error - this bit shall be set if any errors associated
with the controller occurs (see the controllerErrorStatus object)
Bit 9- temperature warning - this bit shall be set if any of the
temperature values detected by the device exceed
non-standardized temperature values (see the object
tempSensorWarningMap). This bit is included to allow
vendors or agencies to define vendor- or agency-specific
threshold objects that indicate temperature changes that are of
interest but not dangerous to the life-expectancy of the device
(see also the 'critical temperature' bit)
Bit 10- climate-control system error - this bit shall be set if any errors
associated with the climate control systems such as fans and/or
heaters occurs (see the object dmsClimateCtrlStatusMap).
Bit 11- critical temperature error - this bit shall be set if the critical
temperature as defined by the value of the critical temperature
objects have been exceeded. (see the object
dmsTempSensorHighCriticalTemperature
and dmsTempSensorLowCriticalTemperature).
Bit 12- Drum-sign Rotor error - This bit shall be set if any errors
associated with the rotor of a drum sign occurs.
Bit 13- This bit shall be set if any door to any DMS field component
(cabinet or housing) is open(see the object
dmsStatDoorOpen).
Bit 14- Humidity warning - This bit shall be set if any humidity sensor
sensor is reporting a humidity warning (see the object
dmsHumiditySensorStatusMap).
STATUS mandatory
DESCRIPTION "<Definition> A table containing status information for each
power supply within a DMS.
<Table Type> static
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.13"
::= {statError 13}
dmsPowerStatusEntry OBJECT-TYPE
SYNTAX DmsPowerStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the power status table.
"
INDEX { dmsPowerIndex }
::= {dmsPowerStatusTable 1}
DESCRIPTION
"<Definition> Indicates whether each climate-control subsystem within the
sign has failed. If a subsystem has failed, its associated bit is set to one
(1). The size of this object shall always present one bit for each climate
control-subsystem supported by the system, but shall not contain more than
seven bits that are not associated with any climate-control subsystem.
Further information about each failed subsystem may be found in the
dmsClimateCtrlStatusTable. If any bit within this object is set, then the
'climate-control system error' bit within the shortErrorStatus object shall
also be set.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.14"
::= { statError 14 }
dmsClimateCtrlStatusEntry OBJECT-TYPE
SYNTAX DmsClimateCtrlStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the climate-control status table.
"
INDEX { dmsClimateCtrlIndex }
::= {dmsClimateCtrlStatusTable 1}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Index of the climate control table. This index corresponds to
the bit position within the dmsClimateCtrlStatusMap bitmap: the row with
index 1 corresponds to the low-order bit of the dmsClimateCtrlStatusMap, etc.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.17.1.1"
::= { dmsClimateCtrlStatusEntry 1 }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the type of the climate control device described in
this row of the table.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.17.1.8"
::= { dmsClimateCtrlStatusEntry 8 }
pixelFailureEntry OBJECT-TYPE
SYNTAX PixelFailureEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Pixel Failure Table. The
detection of pixel failures during message displays shall be appended to the
end of the table.
"
INDEX { pixelFailureDetectionType, pixelFailureIndex}
::= {pixelFailureTable 1}
DESCRIPTION
"<Definition> Indicates the Y location of the failed pixel. The Y direction
is the vertical direction. The Y location is counted from the top-most pixel
in number of pixels.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.3.1.4"
::= { pixelFailureEntry 4 }
-- interoperability.
pixelStatusEntry OBJECT-TYPE
SYNTAX PixelStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Pixel Status Table.
"
INDEX { dmsPixelStatusIndex}
::= {pixelStatusTable 1}
Indicates the status of each pixel within the sign. Each bit within this
object is associated with an individual pixel. If a pixel has an error the
associated bit shall be one (1). If a pixel has no error, the associated bit
shall be zero (0).
The lowest-order bit corresponds to the top-left pixel of the sign face; the
next bit corresponds to the next pixel to the right, etc. At the end of a
pixel row, the next bit corresponds to the leftmost bit of the row below. If
any bit within this object is set, then the 'pixel error' bit within the
shortErrorStatus object shall also be set. This object value is changed when
any type of pixel test within pixelTestActivation has completed.
Each row entry of this table contains a maximum of 400 octets which is
equivalent to 3200 pixels per row entry. The last entry of this table does
not need to be 400 octets but the preceding entries do. Any remaining bits
within the final byte of the last entry of this table shall be zero.
dmsLampStatusEntry OBJECT-TYPE
SYNTAX DmsLampStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the lamp status table.
"
INDEX { dmsLampIndex }
::= {dmsLampStatusTable 1}
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the current manufacturer-defined status of the lamp.
This object allows a vendor to provide the operator with additional
information.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.24.1.3"
::= { dmsLampStatusEntry 3 }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the rightmost column of pixels served by this lamp.
The left-most column on the sign face is column 1.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.24.1.8"
::= { dmsLampStatusEntry 8 }
dmsDrumStatusEntry OBJECT-TYPE
SYNTAX DmsDrumStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the drum status table.
"
INDEX { dmsDrumIndex }
::= {dmsDrumStatusTable 1}
dmsLightSensorStatusEntry OBJECT-TYPE
SYNTAX DmsLightSensorStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the light sensor status table.
"
INDEX { dmsLightSensorIndex }
::= {dmsLightSensorStatusTable 1}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the current status of the indicated light sensor.
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.7.30.1.4"
::= { dmsLightSensorStatusEntry 4 }
dmsHumiditySensorStatusEntry OBJECT-TYPE
SYNTAX DmsHumiditySensorStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the humidity sensor status table.
"
INDEX { dmsHumiditySensorIndex }
::= { dmsHumiditySensorStatusTable 1}
dmsTempSensorStatusEntry OBJECT-TYPE
SYNTAX DmsTempSensorStatusEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> An entry in the temperature sensor status table.
"
INDEX { dmsTempSensorIndex }
::= { dmsTempSensorStatusTable 1}
dmsTempSensorHighWarningTemperature INTEGER,
dmsTempSensorLowWarningTemperature INTEGER,
dmsTempSensorHighCriticalTemperature INTEGER,
dmsTempSensorLowCriticalTemperature INTEGER,
dmsTempSensorStatus INTEGER }
generator: indicates that the sign and the controller are powered by
a generator;
solar: indicates that the sign and the controller are powered by solar
equipment;
battery-UPS: indicates that the sign and controller are powered by
battery or UPS with no significant charging occurring.
ACCESS read-only
STATUS mandatory
DESCRIPTION
"<Definition> Indicates the current outside ambient temperature (single
sensor) or the current maximum outside ambient temperature (multiple sensors)
in degrees Celsius.
<Unit>degrees Celsius
<Object Identifier> 1.3.6.1.4.1.1206.4.2.3.9.9.4"
::= { statTemp 4 }
STATUS mandatory
DESCRIPTION
"<Definition> Indicates whether each temperature sensor has exceeded the
dmsTempSensorHighCriticalTemperature or the
dmsTempSensorLowCriticalTemperature threshold. If a temperature sensor has
exceeded the defined value, the bit corresponding to the temperature sensor
is set to 1; otherwise 0. The mapping of bits to individual sensors is
manufacturer specific. This bitmap of this object shall be configured as
defined in the dmsTempSensorStatusTable in that the first bit of this object
shall correspond to the first row in that table, the second bit shall
correspond to the second row, and so forth.
-- This node is an identifier used to group all objects for DMS graphic
-- configurations that are common to DMS devices.
dmsGraphicEntry OBJECT-TYPE
SYNTAX DmsGraphicEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Graphic Table.
"
INDEX {dmsGraphicIndex}
::= {dmsGraphicTable 1}
Examples:
Given the 10x6 bitmap - 84 92 63 08 C2 48 A1 70 =
@OOOO@OO@O
O@OO@OO@@O
OO@@OOOO@O
OO@@OOOO@O
O@OO@OOO@O
@OOOO@O@@@
OOOO
1) dmsGraphicNumber = 3
dmsGraphicHeight = 6
dmsGraphicWidth = 10
dmsGraphicType = 1
dmsGraphicTransparentEnabled = 0
dmsGraphicTransparentColor = 1
dmsGraphicBitmap = 84 92 63 08 C2 48 A1 70
GraphicInfoList = 03 00 06 00 0A 01 00 01 00 00 84 92 63 08 C2 48 A1 70
dmsGraphicID = 0xB95A
where 03 = dmsGraphicNumber
00 06 = dmsGraphicHeight
00 0A = dmsGraphicWidth
01 = dmsGraphicType (monochrome1bit)
00 = dmsGraphicTransparentEnabled
01 00 00 = dmsGraphicTransparentColor
84 92 63 08 C2 48 A1 70 = dmsGraphicBitmap
2) dmsGraphicNumber = 4
dmsGraphicHeight = 6
dmsGraphicWidth = 10
dmsGraphicType = 1
dmsGraphicTransparentEnabled = 0
dmsGraphicTransparentColor = 0
dmsGraphicBitmap = 84 92 63 08 C2 48 A1 70
GraphicInfoList = 04 00 06 00 0A 01 00 00 00 00 84 92 63 08 C2 48 A1 70
dmsGraphicID = 0xBFF5
where 04 = dmsGraphicNumber
00 06 = dmsGraphicHeight
00 0A = dmsGraphicWidth
01 = dmsGraphicType (monochrome1bit)
00 = dmsGraphicTransparentEnabled
00 00 00 = dmsGraphicTransparentColor
84 92 63 08 C2 48 A1 70 = dmsGraphicBitmap
dmsGraphicNumber = 5
dmsGraphicHeight = 4
dmsGraphicWidth = 4
dmsGraphicType = 3
dmsGraphicTransparentEnabled = 1
dmsGraphicTransparentColor = 7
dmsGraphicBitmap = 01 01 01 01 07 07 01 07 07 01 07 07 01 01 01 01
GraphicInfoList = 05 00 04 00 04 03 01 07 00 00 01 01 01 01 07 07 01 07 07 01
07 07 01 01 01 01
dmsGraphicID = 0x8FE0
where 05 = dmsGraphicNumber
00 04 = dmsGraphicHeight
00 04 = dmsGraphicWidth
03 = dmsGraphicType (colorClassic)
01 = dmsGraphicTransparentEnabled
07 00 00 = dmsGraphicTransparentColor (white)
01 01 01 01 07 07 01 07 07 01 07 07 01 01 01 01 = dmsGraphicBitmap
4) -- a 2x2 pixel square RGB graphic with green as the transparent color in
the lower left pixel
dmsGraphicNumber = 7
dmsGraphicHeight = 2
dmsGraphicWidth = 2
dmsGraphicType = 4
dmsGraphicTransparentEnabled = 1
dmsGraphicTransparentColor = 00 FF 00
dmsGraphicBitmap = FFFFFF FF00FF 00FF00 FF00FF
where 07 = dmsGraphicNumber
00 02 = dmsGraphicHeight
00 02 = dmsGraphicWidth
04 = dmsGraphicType (color24bit)
01 = dmsGraphicTransparentEnabled
00 FF 00 = dmsGraphicTransparentColor (green)
FFFFFF FF00FF 00FF00 FF00FF = dmsGraphicBitmap
STATUS mandatory
DESCRIPTION "<Definition> A table containing the bitmap information for the
graphic entries within the dmsGraphicTable. The values of a columnar object
in this table cannot be changed when the 'dmsGraphicStatus' object of the
corresponding row (row with the same index) in the dmsGraphicTable is any
value other than 'modifying'.
All rows of the bitmap data Table must always logically exist (that is, under
no circumstances shall a controller produce a noSuchName error when asked for
a row of the dmsGraphicBitmapTable where
dmsGraphicIndex<=dmsGraphicsMaxEntries and
dmsGraphicBlockNumber<=dmsGraphicMaxSize/dmsGraphicBlockSize). If a GET
request is received for a block for which no corresponding SET request has
been accepted, then the controller shall return a block of length
dmsGraphicBlockSize, each octet of which has the value 0 (zero). Similarly,
when displaying a bitmap, the contents of any block within the bitmap image
that has not been defined by a SET operation shall be assumed to be a
sequence of octets with the value 0 (zero) and length dmsGraphicBlockSize.
--Data Examples
-- 'monochrome1bit' Example 1
--
-- Example 1 shows a graphic of an arrow as it would be shown on the
-- DMS display.
-- Since the graphic size is 24x7 pixels (which is divisible by 8),
-- the bitwise layout below represents how it appears on the display.
--
-- 765432107654321076543210
--
-- BYTE1..3 000000000000110000000000
-- BYTE4..6 000000000000011100000000
-- BYTE7..9 000000000000000111100000
-- BYTE10..12 001111111111111111111000
-- BYTE13..15 000000000000000111100000
-- BYTE16..18 000000000000011100000000
-- BYTE19..21 000000000000110000000000
--
-- The following represents the byte stream of the graphic above. The
-- 24 by 7 pixel graphic takes 21 bytes to define.
-- 00 0C 00 00 07 00 00 01 E0 3F FF F8 00 01 E0 00 07 00 00 0C 00
--
--
-- 'monochrome1bit' Example 2
-- The following pattern is what would be displayed. The graphic is
-- 10 pixels wide by 6 pixels high. The general appearance of the
-- sample graphic is an X followed by a 1.
--
-- 1000010010
-- 0100100110
-- 0011000010
-- 0011000010
-- 0100100010
-- 1000010111
--
-- Byte stream of example 2
--
-- Example 2 graphic is 8 bytes in length. Only 60 of the 64 bits
-- make up the graphic. The last 4 bits are buffer
-- 7654321076543210
--
-- BYTE1..2 1000010010010010
-- BYTE3..4 0110001100001000
-- BYTE5..6 1100001001001000
-- BYTE7..8 1010000101110000
--
-- The following represents the byte stream of the graphic above. The
-- 10 by 6 pixel graphic takes 8 bytes to define.
-- 84 92 63 08 C2 48 A1 70
--
--
-- 'color24bit' Example
--
-- Using the same graphic of an multi-colored arrow as the first example,
-- below is how it would
-- appear on the display. A legend is listed below for color reference.
--
-- 0-black, R-red, W-white, B-blue, G-green, P-purple
--
-- 0000RW00000000
-- 00000RRW000000
-- 0000000RRRW000
-- GGGGGGGPPPPPW0
-- 0000000PPPB000
-- 00000PPB000000
-- 0000PB00000000
--
-- The following represents the byte stream of the graphic above. The
-- 14 by 7 pixel graphic takes 294 bytes to define. The bytes below
-- are and red, green, blue representation of the pixels to be displayed.
-- In hexadecimal each grouping below represents a pixel.
-- BBGGRR where BB represents a byte of blue in hexadecimal
-- and GG represents a byte of green in hexadecimal
-- and RR represents a byte of red in hexadecimal
--
-- 000000 000000 000000 000000 0000FF FFFFFF 000000 000000 000000 000000
-- 000000 000000 000000 000000 000000 000000 000000 000000 000000 0000FF
-- 0000FF FFFFFF 000000 000000 000000 000000 000000 000000 000000 000000
-- 000000 000000 000000 000000 000000 0000FF 0000FF 0000FF FFFFFF 000000
-- 000000 000000 00FF00 00FF00 00FF00 00FF00 00FF00 00FF00 00FF00 FF33CC
-- FF33CC FF33CC FF33CC FF33CC FFFFFF 000000 000000 000000 000000 000000
-- 000000 000000 000000 FF33CC FF33CC FF33CC FF0000 000000 000000 000000
-- 000000 000000 000000 000000 000000 FF33CC FF33CC FF0000 000000 000000
-- 000000 000000 000000 000000 000000 000000 000000 000000 FF33CC FF0000
-- 000000 000000 000000 000000 000000 000000 000000 000000
dmsGraphicBitmapEntry OBJECT-TYPE
SYNTAX DmsGraphicBitmapEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "<Definition> Parameters of the Graphic Bitmap Table.
"
INDEX {dmsGraphicBitmapIndex, dmsGraphicBlockNumber}
::= {dmsGraphicBitmapTable 1}
DmsGraphicBitmapEntry::= SEQUENCE {
dmsGraphicBitmapIndex INTEGER,
dmsGraphicBlockNumber INTEGER,
dmsGraphicBlockBitmap OCTET STRING}
"<Definition> The contents of the given block of the bitmap of the graphic
image. Each dmsGraphicBlockBitmap value is a sequence of dmsGraphicBlockSize
octets. If a SET request for dmsGraphicBlockBitmap contains less than
dmsGraphicBlockSize octets, then the supplied data shall be loaded into the
beginning of the block, and the remainder of the block shall be filled with
octets with the value 0 (zero). If a SET request for dmsGraphicBlockBitmap
contains more than dmsGraphicBlockSize octets, the device shall return a SNMP
badValue error. If a GET request is received for a dmsGraphicBlockBitmap
entry for which no SET request has been accepted, then the controller shall
respond with a successful GET reply, and the value returned to the central
system shall be an OCTET STRING of dmsGraphicBlockSize octets, all of which
have the value 0 (zero).
Section 6
Markup Language for Transportation Information (MULTI) [Normative]
6.1 Scope
The scope of this section includes the identification and description of the “Markup Language for
Transportation Information” (MULTI). MULTI is a language (not an object) used to convey a Message
(Text and Message Attributes) between two entities. An object that makes use of MULTI has a syntax of
octet string. The octet string shall conform to the MULTI language.
6.2.1 Definition
The Markup Language for Transportation Information (MULTI) is similar to HTML where text is
transmitted, and tags define how the text appears (is displayed). Tags are enclosed within delimiters,
contain an ID (one or more characters), and any optional parameters necessary for the tag.
MULTI currently uses 8-bit characters, but there is consideration and planning to allow the selection of
either 8-bit or 16-bit characters. The null character (0x00) is not allowed within MULTI strings. All of the
MULTI tags are defined in ASCII, 8-bit characters with the most significant bit set to 0.
Each MULTI tag begins with a left bracket ([), and ends with a right bracket (]). The tag ID appears after
the left bracket ([), and is one or more case-insensitive letters. If the tag has any parameters, they
immediately follow the tag ID and are case-insensitive (except where specified). No space or other
separating character shall appear between the tag ID and the parameters.
Some tags may operate in pairs, in which case the standard tag notation is defined as the opening tag.
The opening tag defines where the tag's functionality begins. The closing tag defines where the
functionality of the tag ends, and is defined as an opening tag with a forward slash preceding the tag ID
e.g., the opening flash tag is “[fl],” and the closing flash tag is “[/fl].”
A tag does not need to have all or any of its parameters specified. When this occurs, the Sign Controller
uses stored default values to determine the complete attributes of the Message. The default parameter
values are determined when the message is activated, not when it is stored. Thus, a message could
change if the default attributes it uses are changed between the time the message is stored and the time
it is activated. Changes to the default MULTI attributes do not affect the currently displayed message.
However, the currently displayed message could be reactivated to reflect the changes.
The left bracket ( [ ) and right bracket ( ] ) are restricted for tag delimiters. To display either of these
symbols, two brackets, e.g., “[[“ or “]],” must appear together and is interpreted as a single bracket that
shall be displayed. If a single right bracket is encountered, the device shall return a syntax error with a
value of "unsupportedTag". If a single left bracket without a valid MULTI tag attribute is encountered, the
device shall return a syntax error with a value of "unsupportedTag".
MULTI allows tags within the text field of another tag (e.g. flashing within moving text), however there are
limitations as to the number of tags, use of tags, and complexity of a Message due to the Display
Technology of the Sign and the sign manufacturer.
c) An opening tag shall apply until the end of the message or until it is changed, meaning that the
attribute traverses new line breaks and new page breaks.
d) A message implicitly begins with all attribute tags set to their default states.
e) Any tag transmitted without the parameter value shall use the default parameter value for that tag.
f) Activation of stored messages shall use the values of the MULTI default objects at the time the
message is activated and not at the time the message is stored.
1) Any tag may be placed between the opening and the closing tag of any attribute.
This tag indicates the background color of the Message. This is the color of the “closed” or “off” pixels.
The color for the background color code is defined by the enumerated listing of colors in the
defaultBackgroundColor object. The default background color is specified by the defaultBackgroundColor
object.
NTCIP 1203 v03 does not require the sign to be able to change the background color; however the
Controller must recognize the tag. If the controller can change the background color, but does not support
the selected color scheme (as defined in the dmsColorScheme object), then a syntaxMULTI error shall be
generated with a dmsMultiSyntaxError value of unsupportedTagValue. If the controller cannot change the
background color at all, then a syntaxMULTI error shall be generated with a dmsMultiSyntaxError value of
unsupportedTag.
6.4.1.1 EXAMPLES
To display the Message “THIS IS A TEST WITH COLOR CHANGE” where the first two words are
displayed in the default background color (black, code 0), the next two words have a background color is
green (code 3), and the remaining words use the default color, the MULTI string could read:
where r is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color red as defined within section 5.5.22
Color Scheme Parameter.
where g is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color green as defined within section
5.5.22 Color Scheme Parameter.
where b is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color blue as defined within section
5.5.22 Color Scheme Parameter.
This tag indicates the page background color of the message before the addition of any text, graphics, or
color rectangles. It also specifies the color for bits with a value of zero in ‘monochrome1Bit’ graphics. The
default page background color is specified by the defaultBackgroundRGB object. See the
dmsColorScheme object for the definition of color codes (section 5.5.22).
If there is more than one Page Background Color tag on a page, the last one specified will take
precedence. The effect of the Page Background Color tag continues across message pages. All Page
Background Color tags within a page must appear before any text, graphics or color rectangle
specifications for that page. If a Page Background Color tag is specified after text, graphics or color
rectangles appear on a page, the controller shall return a syntaxMULTI/tagConflict error.
NTCIP 1203 v03 does not require the sign to be able to change the page background color; however the
Controller must recognize the tag. If the controller can change the page background color, but does not
support the selected color scheme (as defined in the dmsColorScheme object), then a syntaxMULTI error
shall be generated with a dmsMultiSyntaxError value of unsupportedTagValue. If the controller cannot
change the page background color at all, then a syntaxMULTI error shall be generated with a
dmsMultiSyntaxError value of unsupportedTag
6.4.2.1 Examples
To display a two-page message with a green (code 3) background on the first page and a black (code 0)
background on the second page (and assuming a dmsColorScheme value of 'colorClassic (3)'), the
MULTI string could read:
If the defaultBackgroundRGB object specified black, the previous example can be write as:
where x is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 9 when using the colorClassic color scheme, between 0 and 1 when
using the monochrome1Bit color scheme, or between 0 and 255 when using the
monochrome8Bit color scheme (see 5.5.22 Color Scheme Parameter for definitions)..
where r is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color red as defined within section 5.5.22
Color Scheme Parameter.
where g is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color green as defined within section
5.5.22 Color Scheme Parameter.
where b is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color blue as defined within section
5.5.22 Color Scheme Parameter.
This tag indicates the foreground color of font characters or ‘monochrome1Bit’ graphics in the message.
This is the color of the pixels with a ‘1’ bit in the characterBitmap object. The default foreground color is
specified by the defaultForegroundRGB object. See the dmsColorScheme object for the definition of color
codes (Section 5.5.22).
NTCIP 1203 v03 does not require the sign to be able to change the foreground color, however the
Controller must recognize the tag. If the controller can change the foreground color, but does not support
the selected color scheme (as defined in the dmsColorScheme object), then a syntaxMULTI error shall be
generated with a dmsMultiSyntaxError value of unsupportedTagValue. If the controller cannot change the
foreground color at all, then a syntaxMULTI error shall be generated with a dmsMultiSyntaxError value of
unsupportedTag.
6.4.3.1 Examples
To display the Message “THIS IS A TEST WITH COLOR CHANGE” where the first two words are
displayed in the in white (code 7), the next two words use the default foreground color (Amber, code 9),
and the remaining words use the color green (code 3), the MULTI string could read:
where x is the left pixel coordinate (beginning with 1) of the upper left corner of a rectangle to
receive the color specified in the “rgb” parameters.
where y is the top pixel coordinate (beginning with 1) of the upper left corner of a rectangle to
receive the color specified in the “rgb” parameters.
where w is the width in pixels of a rectangle to receive the color specified in the “rgb”
parameters. A value of zero (0) specifies that the width is all the pixels from the
specified x coordinate to the right edge of the sign. The value range is zero (0) to the
width of the sign (as defined in 5.3.4 Sign Width in Pixels parameter.
where h is the height in pixels of a rectangle to receive the color specified in the “rgb”
parameters. A value of zero (0) specifies that the height is all the pixels from the
specified y coordinate to the bottom edge of the sign. The value range is zero (0) to
the height of the sign (as defined in 5.3.3. Sign Height in Pixels parameter).
where r is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color red as defined within section 5.5.22
Color Scheme Parameter.
where g is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color green as defined within section
5.5.22 Color Scheme Parameter.
where b is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 255 selecting a shade of the color blue as defined within section
5.5.22 Color Scheme Parameter.
where z is an octet string up to three characters in length. The string shall be a numeric value
between 0 and 9 when using the colorClassic color scheme, between 0 and 1 when
using the monochrome1Bit color scheme, or between 0 and 255 when using the
monochrome8Bit color scheme (see 5.5.22 Color Scheme Parameter for definitions).
This tag indicates a background color for a rectangular area of the current page of a message. There can
be multiple instances of this tag on a single page. This tag applies only to the current page of the
message, it has no further effect after a new page tag. For rules on the order to display overlapping
graphics, text rectangles and color rectangles see “Overlaying Graphics, Text Rectangles and Color
Rectangles” in the “Text Rectangle” tag description. If a specified rectangle does not fully fit on the sign or
if the specified color is not supported by the sign, the controller shall return a
syntaxMULTI/unsupportedTagValue error.
6.4.4.1 Examples
Assume a full-matrix 100 by 27 pixel sign. To display a message with the left half of the sign background
being red (code 1) and the right half background being blue (code 5), the MULTI string could read:
Assume a full-matrix 100 by 27 pixel sign. To create a message with a green (code 3) background for the
entire sign along with a white (code 7) rectangle in the middle with black (code 0) text on the white
rectangle, the MULTI string could read:
“[cb3][cr10,10,65,11,7][tr10,10,65,11][cf0]EXIT NOW”
6.4.5 Fields
Tag format: [fx,y]
where x is an octet string up to two characters in length, indicating the field ID.
where y is an octet string up to two characters in length, indicating the number of characters
used to display the data.
An operator or user of a DMS may want to display information based on data received from a device that
has a direct interface with the DMS Controller. This is accomplished via the field tag, where the Message
being displayed changes based on the data (typically real-time) from the other device. The device could
be a clock calendar, a weather station, a speed station, etc.
The first parameter, x, is an ID to indicate the type of information. Table 7 shows the information to be
displayed for each field ID.
Fill Character
Overflow Fill
Default Field
Justification
Allowable
Example
ID Description Section
Widths
Width
The second parameter, y, is optional and, if included, must be in the range of ‘Allowable Widths’. This
defines the width, or number of characters used to display the data.
If the Default Field Width parameter is supplied, and the data requires fewer characters than specified,
the data is right justified and the indicated Fill Character (4th column in Table above) will be used to make
up the missing characters (e.g., if the local time, 12 hour format is 8:00 and the Default Field Width for
Field Tag ID 1 is ‘5’, then the value of this field value would be expressed as ‘_8:00’). If the Default Field
Width parameter is supplied, and the data requires more characters than specified, the indicated
Overflow Fill character (6th column in Table above) is used for all characters (e.g., if the speed is larger
than 100 km/h (assume 114 km/h), but the Default Field Width for Field Tag ID is ‘2’, then the field value
would be expressed as ‘--’).
If the width parameter is not supplied and there are more than one allowable widths, only the characters
actually present in the data will be used. Overflow Fill characters will be used if the data is larger than the
variable range, for example –100 degrees for field tag 3 or 4.
Specifying widths other than the default width should only be used when you wish to force the fill
character to be used, or when you wish to limit the range of displayed data, e.g. to display detected
speeds of only 99 miles or kilometers per hour or less.
There is no default object for the field tag. No fields exist in a Message unless explicitly defined in the
MULTI Message.
NTCIP 1203 v03 does not require the sign to be able to implement all field IDs, however the Controller
must recognize the tag and take appropriate action by implementing the associated functionality or by
generating a dmsMultiSyntaxError with a value of unsupportedTag.
If a character immediately precedes or follows a field tag, the current character spacing shall be inserted
between the character and the field.
6.4.5.1 Examples
To display the Message “YOUR SPEED IS aa MPH,” where aa is filled with the real-time speed (limited to
a maximum of 99 mph) from a local device, the MULTI string could read:
To display the Message “TIME IS aa:aa TEMPERATURE IS bbb F,” aa:aa is filled with the current time
and bbb is filled with the current temperature (using no fill characters), the MULTI string could read:
where t is a fixed parameter code to indicate following number is the flash on time.
where x follows the parameter code “t” and is an octet string up to two characters in length,
and indicating the flash on time in tenths (1/10ths) of a second.
where o is a fixed parameter code to indicate following number is the flash off time.
where y follows the parameter code “o” and is an octet string up to two characters in length,
and indicating the flash off time in tenths (1/10ths) of a second.
Both strings, x and y, shall be a numeric value between 0 and 99. If either value is zero (0),
flashing is turned off.
This tag controls the flashing of a Message or part of a Message. The default of this tag is its non-
existence, meaning that each time a message or parts of it are to be flashed, this tag needs to be
indicated.
The flashing order, on then off or off then on, is performed in the order the tx and oy parameters appear.
In the absence of the t and o parameters (no “t” and “o” codes within the tag), the default flashing order is
always on then off with their respective default values. If the order of sequence is to be changed, then the
parameters t and o can appear without any time values, in which case the default times (specified by the
defaultFlashOn- and defaultFlashOff objectss) are used. If time parameters are indicated, the associated
“t” and/or “o” code must appear.
NTCIP 1203 v03 does not require what, if anything, a sign can or cannot flash: a specific character, word,
line, or page. However, the Controller must recognize the tag and take appropriate action by
implementing functionality or by generating a dmsMultiSyntaxError with a value of unsupportedTag.
A graphic shall be flashing using the specified parameters (or the default flashing parameters) when
MULTI graphic tag occurs within a flashing MULTI tag. Also, see the rules and limitations defined under
‘Overlaying Graphics, Text Rectangles and Color Rectangles’.
6.4.6.1 Examples
To display the Message “THIS IS A TEST,” where “IS A” is flashing with an on-time of 1.0 seconds and
then an off-time of 0.5 seconds (defaults of on- and off-times are set to 0), the MULTI string could read:
To display the Message “THIS IS A TEST,” where “THIS IS A TEST” is flashing with an on-time of 1.0
seconds and then an off-time of 0.5 seconds (defaults: on-time = 1.0; off-time = 0.5), the MULTI string
could read:
To display the Message “THIS IS A TEST,” where “THIS” is flashing, on 1.0 seconds, then off 1.0
seconds, “TEST” is flashing, off 1.0 seconds, then on 1.0 seconds, with the default on and off times set to
0, the MULTI string could read:
6.4.7 Font
Tag format: [fox] or [fox,cccc]
where x is an octet string up to three characters in length, and indicates the fontNumber. “X”
shall be a numeric value between 1 and 255.
where cccc is an optional 4-digit hexadecimal number indicating the fontVersionID from the
font table. Each ‘c’ in “cccc” shall be an ASCII character in the range from 0-9 or A-F.
This tag controls the selection of the font used to display a message. The font is selected using the
fontNumber, not the fontIndex object from the fontTable. The default font is indicated in the defaultFont-
object. When fonts of different heights are displayed on the same line, the bottom-most pixel of each font
shall be aligned.
The optional “cccc” is used to compare its value with that of the fontVersionID from the fontTable while
dmsMessageStatus is in the validating state, and when the message is activated for display. The “cccc”
from the tag and the fontVersionID from the fontTable must match for a successful operation. The
fontVersionID from the message table is ignored during these operations when the “cccc” is not included
in the tag.
NTCIP 1203 v03 does not require how many fonts are to be supported. If a non-existing font is selected,
either the dmsValidateMessageError or dmsActivateMsgError object (depending on whether
dmsMessageStatus or dmsActivateMessage is set) must be set to a value of ‘syntaxMULTI’ and the
dmsMultiSyntaxError object must be set to a value of ‘fontNotDefined’. If the “cccc” field is included, and
its value does not match the value of fontVersionID for that font, then either dmsValidateMessageError or
dmsActivateMsgError must be set to a value of ‘syntaxMULTI’ and the dmsMultiSyntaxError object must
be set to a value of ‘fontVersionID’. Understanding and acting upon the “cccc” field is required for all
devices, but the field does not have to be included in the tag.
6.4.7.1 Examples
To display the Message “THIS IS A TEST,” where “IS A” uses the user font number 2, with the default
font set to 1, the MULTI string could read:
6.4.8 Graphic
Tag format: [gn] or [gn,x,y] or [gn,x,y,cccc]
where x specifies the horizontal displacement in pixels of the graphic image from the left
edge of the sign. A value of 1 specifies that the left edge of the graphic image is in the left-most
pixel column of the sign. “x” shall be a numeric value ranging from 1 to the width of the sign minus
the width of the graphic plus 1.
where y specifies the vertical displacement in pixels of the graphic image from the top
edge of the sign. A value of 1 specifies that the top edge of the graphic image is in the top-most
pixel row of the sign. “y” shall be a numeric value ranging from 1 to the height of the sign minus
the height of the graphic plus 1.
where cccc is an optional 4-digit hexadecimal number indicating the graphicVersionID from
the graphic table. Each ‘c’ in “cccc” shall be an ASCII character in the range from 0-9 or A-F.
If the tag format [gn] is used, it is assume that the graphic will start at location 1.1 (upper left hand
corner).
This tag controls the selection of a graphic image to insert into a message. The image is selected from
the dmsGraphicTable using the dmsGraphicNumber, not the dmsGraphicIndex object.
The “cccc” is compared to the dmsGraphicID from the dmsGraphicTable while dmsMessageStatus is in
the validating state, and when the message is activated for display. The “cccc” from the tag and the
dmsGraphicID from the dmsGraphicTable must match for a successful operation. If this match is
incorrect, the device shall return a syntaxMULTI / graphicID error. The dmsGraphicID from the
dmsGraphicTable is ignored during these operations when the “cccc” is not included in the tag.
NTCIP 1203 v03 does not require how many graphic images are to be supported.
For rules on the order to display overlapping graphics, text rectangles and color rectangles see
“Overlaying Graphics, Text Rectangles and Color Rectangles” in the “Text Rectangle” tag description.
If a nonexistent image is selected by defining a message and validating via the dmsMessageStatus
object, dmsValidateMessageError must be set to a value of ‘syntaxMULTI’ and dmsMultiSyntaxError
object must be set to a value of ‘graphicNotDefined’.
If the optional “cccc” field is included, and its value does not match the value of dmsGraphicID for that
image, then the dmsValidateMessageError or dmsActivateMsgError object (depending whether the
message is stored in the message table => dmsValidateMessageError or activated =>
dmsActivateMsgError) must be set to a value of ‘graphicID’ and the dmsMultiSyntaxError object must be
set to a value of ‘graphicID’.
6.4.8.1 Examples
To display a message with a graphic (assume graphic #5) on the left and the word “DETOUR” in the
middle (assume default line justification is center for the first example), the MULTI string could read:
“[g5,1,1]DETOUR”
“[jl3][g5,1,1]DETOUR”
“[jl3][g5,1,1,E19C]DETOUR”
If the graphic were to be placed on the right side of the sign (assume a sign width of 105 pixels and a
graphic width of 25 pixels), the MULTI string could read:
“[g5,81,1]DETOUR”
“DETOUR[g5,81,1,E19C]”
where x is an octet string up to four characters in length, and indicates the character from
the current font using the hexadecimal value of the character code to be displayed. “X” shall be a
hexadecimal (0-9, A-F) value between 1 and FFFF.
This tag is intended as a method to select a character from a font that cannot be typed on a keyboard
(characters 0 through 31 and 128 through 65535.
If this tag is not supported, but is encountered during a message validation, then dmsMultiSyntaxError
shall be set to ‘unsupportedTag’. If this tag is supported, but it contains an unrecognized character, then
dmsMultiSyntaxError shall be set to ‘characterNotDefined’.
6.4.9.1 Examples
To display the Message “THIS IS * A TEST,” where “*“ is the hexadecimal code 8A to have all pixels of
the character ON, the MULTI string could read:
6.4.10 Justification—Line
Tag format: [jlx]
where x is a single octet character, and indicates the type of line justification. “X” shall be
a have value between 1 and 5, inclusive.
This tag allows the selection of line justification for the text or portion of the text selected. The value of x
shall define the justification according to Table 8.
The centering of text shall be positioned to have the extra space AFTER the text, when exact centering is
not possible because of an odd number of remaining spaces. For example, to center NEMA on a seven
(7) character sign, the result would be “_ NEMA _ _”, one space before the word NEMA and two spaces
after the word NEMA.
The default value for this tag is indicated in the defaultJustificationLine- object.
The line justification tag must be used in logical order (from left, center, right), otherwise
dmsMultiSyntaxError will be set to “tagConflict”. Overlapping of text results in a “textTooBig” value for
dmsMultiSyntaxError. No other justification tag may be used in conjunction with full justification on the
same line.
If an unsupported justification code is selected, the Controller must recognize the tag and take
appropriate action by generating a dmsMultiSyntaxError with a value of unsupportedTagValue.
6.4.10.1 Examples
To display the Message “THIS IS A TEST”, left justified with the default line justification being center, the
MULTI string could read:
“[jl2]THIS IS A TEST”
To display the Message “THIS IS A TEST”, with “THIS IS” left justified and “A TEST” right justified and the
default line justification being left, the MULTI string could read:
To display the Message “THIS IS A TEST”, with “THIS IS” left justified and “A TEST” right justified and the
default line justification being right, the MULTI string could read:
To display the Message “THIS IS A TEST”, with center justified and the default line justification being
center, the MULTI string could read:
“THIS IS A TEST”
“[jl3]THIS IS A TEST”
“[jl]THIS IS A TEST”
To display the message “LFT _ _ _ _ CNTR _ _ RIGHT” on an 18 character sign (or text rectangle), with
left, center, and right justified text, the MULTI string can read:
“[jl2]LFT[jl3]CNTR[jl4]RIGHT]”
Note that the center-justified text is centered in the sign (or text rectangle), not in the remaining space
between the left and right justified text.
6.4.11 Justification—Page
Tag format: [jpx]
where x is a single octet character, and indicates the type of line justification. “X” shall be
a have value between 1 and 4, inclusive.
This tag allows the selection of page justification for the text or portion of the text selected. The value of x
shall define the justification according to the Table 9.
The centering of text shall be positioned to have the extra line BELOW the text, when exact centering is
not possible because of odd number of unused lines. For example, to center
NTCIP
BY NEMA
NTCIP
BY NEMA
One line would be above the word NTCIP and two lines would be below the words BY NEMA.
The default value for this tag is indicated in the defaultJustificationPage- object.
For multiple page justification tags, the tags must be used in logical order (from top, middle, bottom),
otherwise dmsMultiSyntaxError will be set to “tagConflict”. Overlapping of text results in a “textTooBig”
value for dmsMultiSyntaxError.
Any page justification tag on a text line must appear before any plain text, hex character tag, or field tag
specifications on that line. If a page justification tag appears on a text line after any plain text, hex
character tag, or field tag specifications on that line, the controller shall return a
dmsMultiSyntaxError=tagConflict error.
When an unsupported justification code is selected, the controller must generate a dmsMultiSyntaxError
with a value of unsupportedTagValue.
6.4.11.1 Examples
To display the Message “THIS IS[nl]A TEST”, top justified with the default page justification being middle,
the MULTI string could read:
To display the Message “THIS IS[nl]A TEST”, middle justified with the default page justification being
middle, the MULTI string could read:
TOP
LINE 2
LINE 3
-
MIDDLE
-
-
-
BOTTOM
Note that the middle-justified line is placed on the middle line of the sign (or text rectangle), not in the
middle of the empty lines between the top and bottom justified lines.
where x is an ASCII number, and indicates the number assigned by NEMA to a specific
manufacturer.
where t is a character(s) indicating the type of the moving tag. Two types are available:
c = circular,
lx = linear with “x” optionally indicating the delay in tenths of a second between
the end of linear motion and the restarting of the linear motion from the initial
state. If x is not present, there shall be no delay.
where d is a character indicating the direction in which the text is moving with the following
possibilities:
l = left moving text
r = right moving text
where w is a number indicating the width, in pixels, of the window in which the ‘text’ is to
be moved/scrolled.
where s is a number indicating the number of pixels that the text shall move at the defined rate ‘r.’
where r is a number indicating the time, in tenths of a second, between two steps ‘s.’
where text is the array of characters that is to be moved/scrolled. The text shall be case-
sensitive.
This tag allows the moving (or scrolling) of the text indicated within the brackets. The different parameters
indicate different functions that can be associated with the moving/scrolling of text.
For left moving/scrolling, the window shall be initialized with the first character of the text aligned with the
left edge of the window.
For right moving/scrolling, the window shall be initialized with the last character of the text aligned with the
right edge of the window.
Circular moving/scrolling is the continuous display of the indicated text, including all spaces shown within
the text. In this case, the text will appear moving across the window as though multiple copies of the text
were appended to itself. The character spacing is applied between the apparent multiple copies of text.
Linear moving/scrolling is the intermittent display of the indicated text, including all spaces shown within
the text. In this case, the window initialized with beginning of the text appearing in the window, then
moving across the window until all characters have been displayed. The process will repeat again after
the indicated delay time defined by the value x when the t-parameter is lx.
The text can only be moved over one line. If text is supposed to be moved over more than one line, then
this tag needs to be indicated for each line.
If this tag is unsupported, or if the display would appear incorrect for the selected parameters (e.g., using
a value of ‘s’ equals one (1) on a character matrix sign), the sign should report an unsupportedTagValue
error.
If a character immediately precedes or follows a moving text tag, the current character spacing shall be
inserted between the character and the moving text window.
If necessary, the number of pixel columns in the final shift of a linear move (before repeating) will be
reduced such that the last column of the moving text will appear in the rightmost column of the window for
left moves or in the leftmost column of the window for right moves.
6.4.13.1 Examples
Although the printed examples show the text moving by whole character positions, the text displayed on
the sign will shift by the amount in the MULTI tag (in the following examples, 1 pixel at a time).
To display the moving text “THIS IS A TEST” which moves circularly to the right within a window of 50
pixels and a rate of 1 pixel per 3 tenths of a second, the MULTI string could read:
“[mvcr50,1,3,THIS IS A TEST]”
[ IS A TEST]
[S IS A TES]
[IS IS A TE]
[HIS IS A T]
[THIS IS A ]
[TTHIS IS A]
[STTHIS IS ]
[ESTTHIS IS]
[TESTTHIS I]
[ TESTTHIS ]
[A TESTTHIS]
and so on..
Note: The text string does not include any spaces (character 0x20) between the words THIS and
TEST; however, the display will show inter-character spacing between TEST and THIS.
To display the moving text “THIS IS A TEST” (no spaces before and after the text) which moves linearly
(with a delay of 0.5 seconds) to the left within a window of 50 pixels and a rate of 1 pixel per 3 tenths of a
second, the MULTI string could read:
“[mvl5l50,1,3,THIS IS A TEST]”
[THIS IS A ]
[HIS IS A T]
[IS IS A TE]
[S IS A TES]
[ IS A TEST]
<0.5 sec delay occurs here>
[THIS IS A ]
[HIS IS A T]
and so on..
The following is an example of what occurs when the text field is smaller than the specified window for a
left moving linear effect. Because all of the text in the MULTI string has been displayed, the text does not
move.
“[mvl5l50,1,3,TEST]”
[TEST ]
<0.5 sec delay occurs here>
[TEST ]
The following is an example of what occurs when the text field is smaller than the specified window for a
right moving linear effect.
“[mvl5r50,1,3,TEST]”
[ TEST]
<0.5 sec delay occurs here>
[ TEST]
The following is an example of how to move text where a small string of characters is to be scrolled
through a larger window. For readability in this example an asterisk represents the space character.
“[mvl5r50,1,3,********TEST****]”
Linear right scrolling:
[TEST****]
[*TEST***]
[**TEST**]
[***TEST*]
[****TEST]
[*****TES]
[******TE]
[*******T]
[********]
<0.5 sec delay occurs here>
[TEST****]
[*TEST***]
and so on…
where x is an ASCII number, and indicates the spacing, in pixels, between two lines. If “x”
is not present, the spacing shall be defined by the result of the font line spacing algorithm.
This tag defines the end of one line of Text and the start of a new line of Text. It can optionally allow the
default line spacing to be changed (valid only for this line break). All Text that appears after the [nlx] tag
appears on the next line of the sign. There is no closing tag for new line tag.
NTCIP 1203 v03 currently does not allow word wrapping. Each line of Text must be limited to the
allowable space for the line. The Controller must recognize the tag and return an error should too many
characters appear on a line.
6.4.14.1 Examples
To display the Message “THIS IS A TEST,” with “THIS IS” on the top line and “A TEST” on the next line,
the MULTI string could read:
To display the Message “THIS IS A TEST,” with “THIS IS” on the second line and “A TEST” on the next
line, the MULTI string could read:
To display another example utilizing different line spacing (assuming that the default is 3 pixels, and the
selected new line spacing should be 5 pixels), the MULTI string could read:
To use another example with 3 lines and different line spacing between the first and the second (spacing
of 5 pixels), and the second and the third line (default spacing of 3 pixels), the MULTI string could read:
This tag defines the end of one Page of Text and the start of a new Page of Text. All text that appears
after the [np] tag appears on the next Page of the Message. There is no closing tag for new page tag.
If the number of pages used exceeds the number of pages identified by the dmsMaxNumberPages object
the Controller must recognize the tag and set dmsMultiSyntaxError object to a value of
tooManyPages(12).
6.4.15.1 Examples
To display the Message “THIS IS A TEST,” with “THIS IS” on the first page and “A TEST” on the next
page, the MULTI string could read:
To display the Message “THIS IS A TEST,” with “THIS IS” on the second page and “A TEST” on the next
page, the MULTI string could read:
where t is a fixed parameter code to indicate following number is the page on time.
where x follows the parameter code “t” and is an octet string up to three characters in
length, and indicating the page on time in tenths (1/10ths) of a second. This shall be a numeric
value from 1 to 255. The non-existence of a value indicates that the on-time is the default value.
where o is a fixed parameter code to indicate following number is the page off time.
where y follows the parameter code “o” and is an octet string up to three characters in
length, and indicating the page off time in tenths (1/10ths) of a second. This shall be a numeric
value from 0 to 255. The non-existence of a value indicates that the on-time is the default value.
This tag controls the amount of time each Page of Text is displayed and turned off before switching to the
next Page of Text. The t and/or o parameters can appear without any time values, when the default page
times (specified by the defaultPageOnTime and defaultPageOffTime objects) are to be used. If time
parameters are indicated, the associated “t” and/or “o” code must appear.
If multiple page on and off times are sent for one page, the value of the last indication shall be used.
NTCIP 1203 v03 does not limit page time values, however, the Controller must recognize the tag and
take appropriate action by implementing functionality or by generating a dmsMultiSyntaxError with a value
of unsupportedTag.
6.4.16.1 Examples
To display the Message “THIS IS A TEST,” where “THIS IS” is on a page with an on-time of 3.0 seconds
and an off-time of 0.5 seconds, “A TEST” is on a second page with an on-time of 2.0 seconds and an off-
time of 1.0 seconds, with the default page on-time set to 3.0 seconds and page off-time set to 1.0, the
MULTI string could read:
To display the Message “THIS IS A TEST,” where “THIS IS” is on a page with an on-time of 3.0 seconds
and an off-time of 0.5 seconds, “A TEST” is on a second page with a page on-time of 2.0 seconds and an
off-time of 1.0 seconds, with the default page on-time set to 3.0 seconds and page off-time set to 0.5, the
MULTI string could read:
To display the Message “THIS IS A TEST,” where “THIS IS” is on a page with an on-time of 3.0 seconds
and an of- time of 0.5 seconds, “A TEST” is on a second page with a page on-time of 2.0 seconds and an
off-time of 1.0 seconds, with the default page on-time set to 2.0 seconds and page off-time set to 1.0, the
MULTI string could read:
where x is an octet string up to two characters in length, and indicates the number of
pixels between the characters. “x” is a mandatory parameter and shall be a numeric value
between 0 and 99.
This tag controls the spacing between any two adjacent characters. The tag will override the character
spacing defined by the result of the font character spacing algorithm.
The default spacing for a character is the default spacing of that character’s font. A closing tag shall be
required to return to the character’s font spacing.
The space indicated shall apply to the space between the last character of the previous spacing and the
first character of the new spacing.
NTCIP 1203 v03 does not require support of spacing character values. However, the Controller must
recognize the tag and take appropriate action by implementing functionality or by generating a
dmsMultiSyntaxError with a value of unsupportedTag.
6.4.17.1 Examples
To display the Message “THIS IS A TEST,” where “IS A” uses a different spacing between each
character, with an assumed font character spacing of 1 pixel, the MULTI string could read:
“THIS_[sc2]IS_A_[/sc]TEST”
“T*H*I*S*_**I**S**_**A**_*T*E*S*T”
where x is the left pixel coordinate (beginning with 1) of the upper left corner of a
where y is the top pixel coordinate (beginning with 1) of the upper left corner of a
rectangle to receive text (font characters).
where w is the width in pixels of a rectangle to receive text (font characters). A value of
zero (0) specifies that the width is all the pixels from the specified x coordinate to the right edge of
the sign. The value range is zero (0) to the width of the sign (as defined in 5.3.4 Sign Width in
Pixels parameter).
where h is the height in pixels of a rectangle to receive text (font characters). A value of
zero (0) specifies that the height is all the pixels from the specified y coordinate to the bottom
edge of the sign. The value range is zero (0) to the height of the sign (as defined Section 5.3.3.
Sign Height in Pixels parameter).
When text (comprised of font characters) is drawn on a message page, it is drawn within a predefined
rectangle of pixel coordinates. By default, that rectangle is the entire face of the sign. This tag allows
specification of a different rectangle. Any line justification or page justification tags justify the text relative
to the currently specified rectangle.
If specified text does not fully fit within the text rectangle, the controller shall return a
syntaxMULTI/textTooBig error.
If the specified text rectangle does not match character boundaries (of a character matrix signs) or line
boundaries (of a line matrix sign), the controller shall return a syntaxMULTI/unsupportedTagValue error.
Multiple text rectangles can be specified within a message page. All text following a text rectangle tag is
drawn within that rectangle. Text rectangles only apply to the message page in which they are specified.
In other words, when a new page tag is encountered, any current text rectangle specification is discarded
and the new page begins with the default rectangle of the entire sign face.
If a specified text rectangle does not fully fit on the sign, the controller shall return a syntaxMULTI/
unsupportedTagValue error.
Because graphics, text rectangles and color rectangles can be placed at any specified location on a
message page, specific rules must be applied if any of these items are supposed to overlap. The order for
adding these items to a message is as follows:
a) The default background color or the color specified by a color background tag is applied to all pixels
of the message page (sign face).
b) As graphics and color rectangles are encountered, they are added to the message page. Color
rectangles overlay or fill the specified color into the entire specified rectangle without regard to what
has been previously drawn there. Graphics also overlay any previously drawn pixels unless a portion
of the graphic is transparent (see the dmsGraphicTransparentEnabled and
dmsGraphicTransparentColor objects).
c) Text shall not be drawn into the message, until a text rectangle (the whole sign, if no rectangle is
defined) is ended by one of the following:
1) End of a page;
2) New text rectangle tag;
3) End of a message.
This is done by coloring the foreground of the text with the foreground color while leaving the
background unchanged.
d) At the end of a page, go back to step a). At the end of a text rectangle, go back to step b).
Note: Graphics and color rectangles are not placed within the area of a text rectangle—they are
placed relative to the entire sign face, not a text rectangle.
No portion of a region of text or graphic that flashes or moves (MULTI flash or moving tag) shall be
overlaid by other graphics, text rectangles or color rectangles; otherwise the controller shall return a
syntaxMULTI/tagConflict error. This flashing or moving region may be only a part of a text rectangle that
contains the flashing or moving text.
6.4.18.1 Examples
Assume a full-matrix 105 by 27 pixel sign. To display a 27 by 27 graphic (assume it is graphic #4) on the
left side of the sign and place three lines of centered text in the area to the right of the graphic, the MULTI
string could read:
“[g4,1,1][tr28,1,78,27]LEFT[nl]EXIT[nl]AHEAD”
“[g4,1,1][tr28,1,0,0][jl3]LEFT[nl]EXIT[nl]AHEAD”
To put the same graphic on the right side of the sign with the text area to its left, the MULTI string could
read:
“[g4,79,1][tr1,1,78,27]LEFT[nl]EXIT[nl]AHEAD”
“[tr1,1,78,27][g4,79,1]LEFT[nl]EXIT[nl]AHEAD”
“[tr1,1,78,27]LEFT[nl]EXIT[nl]AHEAD[g4,79,1]”
To create a one-page message with the graphic placed in the middle of the sign with a text area on either
side of it, the MULTI string could read:
“[g4,40,1][tr1,1,39,27]LEFT[nl]SIDE[tr67,1,39,27]RIGHT[nl]SIDE”
To place the graphic on the right side of the sign and place the text “65” (5x7 font) over the top and center
of the graphic, the MULTI string could read:
“[g4,79,1][tr79,11,27,7]65”
“[g4,79,1][tr79,1,27,27][jl3][jp3]65”
Annex A
Requirements Traceability Matrix (RTM) [Normative]
The Requirements Traceability Matrix (RTM) links the Functional Requirements as presented in Section 3 with the corresponding Dialogs (Section
4.2) on the same (gray) line. Each Functional Requirement/Dialog relates/uses one or more groups of Objects. The Objects (also known as Data
Elements) are listed to the side; the formal definition of each object is contained within Section 5. Using this table, each Functional Requirement
can thus be traced in a standardized way.
Note: The INDEX objects into any of the tables are not explicitly exchanged but are used as index values for other objects that are
exchanged.
The audience for this table is implementers (vendors and central system developers) and conformance testers. Additionally, other interested
parties might use this table to determine how particular functions are to be implemented using the standardized dialogs, interfaces, and object
definitions.
To conform to a Functional Requirement, a DMS shall implement all Objects and Dialogs traced from that Functional Requirement; a Management
Station shall implement all Dialogs traced from the Functional Requirement. to be consistent with a Functional Requirement, a Management
Station shall be able to fulfill the Functional Requirement using only Objects and Dialogs that a conforming DMS is required to support.
Section 3 defines Supplemental Requirements, which are refining other functional requirements. These functional requirements in turn are
generally traced to design elements (e.g., rather than being directly traced to design elements). The Supplemental RTM in Section A.4 below
identifies and traces the implied relationships between supplemental requirements and direct requirements.
Section 6 defines the ‘Mark-Up Language for Transportation Information’ (MULTI), which defines tags that can be used within the text of a DMS
message to define its display on the face of the DMS display. The Multi Field Traceability Matrix in Section A.5 below identifies and traces the
implied relationships between MULTI tags and direct requirements.
5.2.1 dmsSignAccess
5.2.7 dmsLegend
Determine Matrix
3.5.1.2.2
Capabilities
Determine Sign Face
3.5.1.2.2.1 G.1
Size in Pixels
5.3.3 vmsSignHeightPixels
5.3.4 vmsSignWidthPixels
Determine Character
3.5.1.2.2.2 G.1
Size in Pixels
5.5.25 dmsMaxMultiStringLength
Determine Supported
3.5.1.2.3.3 G.1
Color Schemes
5.5.22 dmsColorScheme
5.3.7 monochromeColor
Determine Message
3.5.1.2.3.4 G.1
Display Capabilities
5.5.23 dmsSupportedMultiTags
Delete All Messages of
3.5.1.2.4 a Message Type with G.3
One Command
5.7.16 dmsMemoryMgmt
The following mapping is Only applicable to Note: The only difference is that
NTCIP 1203 v02. NTCIP 1203 v02 has a
3.5.1.3 Manage Fonts
(Further below is the mapping for NTCIP fontStatus object that is used to
1203:1997 (version v01). manage the font table.
Determine Maximum
3.5.1.3.1 Number of Fonts G.1
Supported
5.4.1 numFonts
Annex B
Object Tree [Informative]
Figure 11 is a representation of the DMS Object Tree Structure, identifying how object definitions are
combined under specific nodes.
dms (3) Note: objects shown in red/italics were ‘deprecated’
dmsSignCfg (1)
dmsSign dmsSign dmsSign dmsSign dmsHorizontal dmsVertical dmsLegend dmsBeacon dmsSignTechnology
Access Type (2) Height Width (4) Border (5) Border (6) (7) Type (8) (9)
(1) (3)
vmsCfg (2)
vmsCharacter vmsCharacter vmsSignHeigth vmsSignWidth vmsHorizontal vmsVertical monochrome
HeightPixels WidthPixels (2) Pixels (3) Pixels (4) Pitch (5) Pitch (6) Color (7)
(1)
fontDefinitions (3)
numFonts fontTable maxFont character fontMax
(1) (2) Characters Table (4) Character
(3) Size (5)
multiCfg (4)
defaultBack defaultFore defaultFlash defaultFlash defaultFlash defaultFlashOff default defaultFont defaultJustification
groundColor groundColor On (3) OnActivate Off (4) Activate (18) Font (5) Activate Line (6)
(1) (2) (17) (19)
statError (7)
tempMinSign tempMaxSign
Housing (5) Housing (6)
graphicDefinition (10)
dmsGraphic dmsGraphic dmsGraphic availableGraphic dmsGraphic dmsGraphic dmsGraphic
MaxEntries NumEntries MaxSize (3) Memory (4) BlockSize (5) Table (6) BitmapTable
(1) (2) (7)
Annex C
Test Procedures [Normative]
C.1 Purpose
This annex defines the detailed, but generic, test procedures for testing an implementation of this
standard.
C.1.1 Scope
Annex C defines test procedures in a format that is consistent with NTCIP 8007 v01 and that covers the
entire scope of NTCIP 1203 v03. It includes tests of some of the features defined in NTCIP 1201 v03, but
only to the extent that these features have been incorporated by reference in NTCIP 1203 v03.
These test procedures are intended to be used as a portion of the overall set of tests that would be
performed during component testing of a management station.
C.1.2 Keywords
Keywords are words that are presented in all capital letters within the test procedures. Definitions of
keywords are presented below. Keywords that are not defined below are defined in NTCIP 8007 v01.
Keyword Definition
IF This keyword shall cause the user (or application) to perform a comparison and take
one action if the comparison evaluates to true and another action if the comparison
evaluates to false. It is comparable to the “if…else…” expression in C.
FOR EACH This keyword causes the user (or application) to begin a looping process that shall
increment through a series of values. It is comparable to the “for…next” expression
in C.
GOTO This keyword shall cause the user (or application) to immediately jump to the
indicated location in the test procedure (e.g., to another Step).
These test procedures frequently use the "SET-UP" and "VERIFY" keywords as defined in NTCIP 8007
v01 in the definition of a single step. When used jointly in these procedures, the failure logic of the "SET-
UP" keyword shall override that of the "VERIFY" keyword. In other words, a failure of a step that uses
both the "SET-UP" and "VERIFY" keywords shall mean that the test case neither passes nor fails, the test
case shall EXIT, and the user shall correct the problem and restart the test case.
A given test procedure may entail multiple steps that may require multiple interactions between the user
and the management station to fulfill the complete test procedure. For example, a single test procedure
may transfer the definition of a message to the device and then retrieve the contents of the message to
ensure that the values were updated; this might require two user interface operations.
All Test Cases covered by this Testing Requirements documentation require the Device Under Test
(DUT) to be connected to a test application as depicted in Figure 12. A data analyzer may also be used to
capture the data exchanged between the two components. The test environment should be designed to
minimize any complicating factors that may result in anomalies unrelated to the specific test case. Failure
to isolate such variables in the test environment may result in false results to the test. For example, the
device may be conformant with the standard, but communication delays could result in timeouts and be
misinterpreted as failures.
COMMUNICATIONS
DATA
ANALYZE
R
TEST
SOFTWAR
E
Optional
The following pre-conditions apply to all test cases unless otherwise defined:
a) All components should be turned on and be provided sufficient time to start up prior to starting
any test case
b) The test software should be connected to the central port of the DUT and the DUT should be set
for central control
c) The test software, data analyzer, and DUT should all be configured to use a common set of
communication settings, including data rates, lower layer protocols, community names, etc.
d) The DUT should be exposed to a medium amount of ambient light so that tests can increase or
decrease the amount of light as needed
e) The DUT should have definitions for all font sets that it supports
f) The DUT should have a valid illumination brightness curve defined with a positive slope.
To confirm that an implementation fulfills a requirement, the DUT shall successfully pass all test cases
that trace to that requirement.
Additional
Step Test Procedure Results
References
Note: Valid enumerated values are defined in Section 5.2.2 (Sign Type
Parameter).
4 VERIFY that the RESPONSE VALUE for dmsSignType.0 is equal to Pass / Fail
Required_Sign_Type. (PRL 2.3.2.1 and
2.3.2.3)
5 VERIFY that the RESPONSE VALUE for dmsSignTechnology.0 is equal Pass / Fail
to Required_Sign_Technology. (PRL 2.3.2.2)
Additional
Step Test Procedure Results
References
6 VERIFY that the RESPONSE VALUE for dmsSignHeight.0 is equal to Pass / Fail
Required_Sign_Height. (PRL 2.3.2.3)
7 VERIFY that the RESPONSE VALUE for dmsSignWidth.0 is equal to Pass / Fail
Required_Sign_Width. (PRL 2.3.2.3)
8 VERIFY that the RESPONSE VALUE for dmsSignHeight.0 is equal to Pass / Fail
Actual_Sign_Height. (Section 3.5.1.2.1.1)
9 VERIFY that the RESPONSE VALUE for dmsSignWidth.0 is equal to Pass / Fail
Actual_Sign_Width. (Section 3.5.1.2.1.1)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
4 VERIFY that the RESPONSE VALUE for dmsBeaconType.0 is equal to Pass / Fail
Required_Beacon_Type. (PRL 2.3.2.4)
5 VERIFY that the RESPONSE VALUE for dmsBeaconType.0 is equal to Pass / Fail
Actual_Beacon_Type. (Section 3.5.1.2.1.3)
Additional
Step Test Procedure Results
References
Note: Valid bitmapped values are defined in Section 5.2.1 (Sign Access
Parameter). The sign access should be defined in the hardware
specification and is not contained within the PRL.
6 VERIFY that the RESPONSE VALUE for dmsSignAccess.0 is equal to Pass / Fail
Required_Sign_Access. (Per the hardware
specification)
7 VERIFY that the RESPONSE VALUE for dmsLegend.0 is equal to Pass / Fail
Required_Legend. (Per the hardware
specification)
8 VERIFY that the RESPONSE VALUE for dmsSignAccess.0 is equal to Pass / Fail
Actual_Sign_Access. (Section 3.5.1.2.1.4)
9 VERIFY that the RESPONSE VALUE for dmsLegend.0 is equal to Pass / Fail
Actual_Sign_Legend. (Section 3.5.1.2.1.4)
Additional
Step Test Procedure Results
References
7 VERIFY that the RESPONSE VALUE for vmsSignWidthPixels.0 is equal Pass / Fail
to Required_Sign_Pixel_Width. (PRL 2.3.2.3.2.1-
2.3.2.3.2.3)
9 VERIFY that the RESPONSE VALUE for vmsSignWidthPixels.0 is equal Pass / Fail
to Actual_Pixel_Width. (Section 3.5.1.2.2.1)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
7 VERIFY that the RESPONSE VALUE for vmsVerticalPitch.0 is greater Pass / Fail
than or equal to Required_Vertical_Pitch. (PRL 2.3.2.3.2)
8 VERIFY that the RESPONSE VALUE for vmsHorizontalPitch.0 is equal Pass / Fail
to Actual_Horizontal_Pitch. (Section 3.5.1.2.2.3)
9 VERIFY that the RESPONSE VALUE for vmsVerticalPitch.0 is equal to Pass / Fail
Actual_Vertical_Pitch. (Section 3.5.1.2.2.3)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Description: Note: NTCIP 1203 v03 requires all signs to support the monochrome1bit color
scheme and allows signs to optionally support one additional scheme. The
dmsColorScheme object identifies the additional scheme, if it is supported and
identifies monochrome1bit otherwise.
Required_Color_Scheme PRL Supp. 3.6.8
Variables:
Required_Monochrome_Color From Specification
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
Note: All devices are required to support the monochrome1bit scheme and
may support one (and only one) other more advanced color scheme.
Note: -Valid octet values are defined in Section 5.3.7 (Monochrome Color
Parameter).
4 VERIFY that the RESPONSE VALUE for dmsColorScheme.0 is equal to Pass / Fail
Required_Color_Scheme. (PRL Supp.
3.6.8)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
GOTO Step 6.
GOTO Step 6.
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Note: Valid bitmapped values are defined in Section 5.4.2.8 (Font Status
Parameter).
8.2 RECORD the RESPONSE VALUE for each of the objects retrieved in
Step 8.1 as:
»Character_Number[N]
»Character_Width[N]
»Character_Bitmap[N]
11 VERIFY that the RESPONSE VALUE for fontVersionID.Subject_Font is Pass / Fail Section 4.2.2.4
equal to Expected_CRC. (Section 3.5.1.3.7) Step f
Note; The font index is limited to those supported by the DMS, and
whose associated font status is not 'permanent'.
Note: Valid enumerated values for Message Type are defined in Section
5.6.8.1 (Message Memory Type Parameter).
Note: Rules for the creation of a valid MULTI string are defined in Section
6. In order for this test to be valid, either (1) the Character(s) shall be
preceded by a MULTI font tag ([fo]) that calls out the New_Font_Number
or (2) the default font object (e.g., see Section 5.5.7) shall be set to the
Font_Number and the Characters shall not be preceded by a conflicting
MULTI font tag.
Note: Valid bitmapped values are defined in Section 5.4.2.8 (Font Status
Parameter).
Note: The purpose of this step is to make sure that the font we are Pass / Fail
attempting to configure is not currently in use by a message being
displayed.
14 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal Pass / Fail
to ‘notUsed’ (1). (Section 3.5.1.3.5)
17 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal Pass / Fail Section 4.2.2.2
to 'modifying' (2). (Section 3.5.1.3.5) Step d
18 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.2
»fontHeight.Font_Index = New_Font_Height (Section 3.5.1.3.5) Step e
Note: If the device remains in this state for a prolonged period, the test
case should be considered failed. Consult the manufacturer's
documentation on what may constitute an abnormally long time.
24 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal Pass / Fail
to 'readyForUse' (4). (Section 3.5.1.3.5)
»Expected_Multi_Error_Pos_Min = 0
»Expected_Multi_Error_Pos_Max = 0
25.3 VERIFY that the characters displayed on the sign agree with the font that Pass / Fail
has been transferred to the sign. (Section 3.5.1.3.5)
25.5 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal Pass / Fail
to 'inUse' (5). (Section 3.5.1.3.5)
25.6 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
27 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal Pass / Fail
to 'readyForUse' (4). (Section 3.5.1.3.4)
30 VERIFY that the RESPONSE VALUE for fontName.Font_Index is equal Pass / Fail
to New_Font_Name. (Section 3.5.1.3.4)
31 VERIFY that the RESPONSE VALUE for fontHeight.Font_Index is equal Pass / Fail
to New_Font_Height. (Section 3.5.1.3.4)
2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display at least one character of the subject font. RECORD
this information as:
»Font_Msg_Type (the memory type used to store the message)
»Font_Msg_Number (the message number used to store the
message)
»Font_Msg_Multi (the MULTI string containing the character(s))
Note: Either the default font shall be set to the Subject_Font or the
message shall contain a font tag referencing the Subject Font.
10 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.2
»fontStatus.Subject_Font = 'modifyReq' (7) (Section 3.5.1.3.5) Step c
11 VERIFY that the set fails and the RESPONSE ERROR is equal to Pass / Fail Section 4.2.2.2
'badValue' (3). (Section 3.5.1.3.5) Step b
15 VERIFY that the RESPONSE ERROR is equal to 'genError'. Pass / Fail Section 4.2.2.2
(Section 3.5.1.3.5) Step b
18 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Note: Valid enumerated values are defined in Section 5.4.2.8 (Font Status
Parameter).
8 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display at least one character of the font to be deleted.
RECORD this information as:
»Deleted_Font_Msg_Type (the memory type used to store the
message)
»Deleted_Font_Msg_Number (the message number used to store the
message)
»Deleted_Font_Msg_Multi (the MULTI string containing the
character(s))
Note: The MULTI string is required to start with a font tag referencing the
font number of the font to be deleted followed by a character or
characters referenced in the font (e.g., '[fo1]A').
13 IF the sign is a Version 1 sign, GOTO Step 13.1. IF the sign is a Version
2 sign, GOTO Step 14.
13.1 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontHeight.Deleted_Font = 0 (Section 3.5.1.3.6) Step f
16 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontStatus.Deleted_Font = 'notUsedReq' (9) (Section 3.5.1.3.6) Step c
18 VERIFY that the RESPONSE VALUE for fontStatus.Deleted_Font is Pass / Fail Section 4.2.2.3
equal to 'notUsed' (1). (Section 3.5.1.3.6) Step d
19 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontStatus.Deleted_Font = 'modifyReq' (7) (Section 3.5.1.3.6) Step e
20 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontHeight.Deleted_Font = 0 (Section 3.5.1.3.6) Step f
21 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontStatus.Deleted_Font = 'notUsedReq' (9) (Section 3.5.1.3.6) Step g
28 CONFIGURE: Determine the first and last positions in the MULTI string
where the font error might be flagged. RECORD this information
as: »Font_Error_Position_Min
»Font_Error_Position_Max
12 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.3
»fontStatus.Font_Index = 'notUsedReq' (9) (Section 3.5.1.3.6) Step c
13 VERIFY that the set fails and the RESPONSE ERROR is equal to Pass / Fail Section 4.2.2.3
‘badValue’ (3). (Section 3.5.1.3.6) Step b
15 VERIFY that the RESPONSE VALUE for fontStatus.Font_Index is equal to Pass / Fail Section 4.2.2.1
'inUse' (5). (Section 3.5.1.3.4) Step b
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Note: The specification should specify the size of graphics and block
size that the sign should support; however, the PRL does not request
this information.
19 VERIFY that the RESPONSE VALUE for dmsGraphicStatus.N is equal to Pass / Fail
‘notUsed’ (1). (Section 3.5.1.4.6)
Ntoe: See Section 5.12.7 (Graphics Bitmap Table Parameter) for the
rules on how to calculate the number of blocks.
12 Calculate what the graphic should look like based on the retrieved values
(in plain text). RECORD this information as:
»Expected_Graphic
13 RECORD the Message Type, Message Number and MULTI string that
shall display the graphic as:
»Msg_Type
»Msg_Number
»Graphic_Multi
15 VERIFY that the graphic displayed on the sign is consistent with Pass / Fail
Expected_Graphic. (Section 3.5.1.4.4)
16 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
7 VERIFY that the graphic is properly displayed on the DMS sign face. Pass / Fail
(Section 3.5.1.4.5)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the index of the graphic to be tested (from the
test plan). RECORD this information as:
»Test_Graphic_Index
6 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.6
»dmsGraphicStatus.Test_Graphic_Index = 'modifyReq' (7) (Section 3.5.1.4.5) Step d
7 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail
(Section 4.3.2.5 Rule
a)
12 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
2 SET-UP: IF the graphic has not been stored in the controller, PERFORM
the test case labeled 'Store a Graphic Definition' (C.3.3.5) Section 4.2.2.7
Step a
Note: This step ensures a graphic is stored in memory.
3 SET-UP: PERFORM the test case labeled 'Blank the Sign' (C.3.7.15).
Pass / Fail
Note: This step ensures that the graphic is not displayed on the sign face (Section 3.5.2.3.1)
so that it may be deleted.
10 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.7
»dmsGraphicStatus.Test_Graphic_Index = 'notUsedReq' (9) (Section 3.5.1.4.6) Step c
12 VERIFY that the RESPONSE VALUE for Pass / Fail Section 4.2.2.7
dmsGraphicStatus.Test_Graphic_Index is equal to 'notUsed' (1). (Section 3.5.1.4.6) Step d
17 SET-UP: Calculate the message CRC value for the following information:
MultiString = Graphic_Message_Multi, Beacon = 0, Pixel Service = 0.
RECORD this information as:
»Msg_CRC
Note: Rules for calculating the CRC are defined in Section 5.6.8.5
(Message CRC Parameter).
19 SET-UP: Calculate the activation code for the message. RECORD this
information as:
»Msg_Activation_Code
Note: Rules for calculating the activation code are defined in Section 5.1
(Dynamic Message Sign Objects).
2 SET-UP: IF the graphic has not been stored in the controller, PERFORM
the test case labeled 'Store a Graphic Definition' (C.3.3.5)
7 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail (Section
4.3.2.5 Rule a)
11 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail (Section
4.3.2.5 Rule a)
18 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the graphic to be stored (e.g., from the test
plan). RECORD this information as:
»Test_Graphic_Index (the index of the graphic to be stored,)
»Test_Graphic_Number (the number used to reference the graphic
within a message,)
»Test_Graphic_Name (the name of the graphic,)
»Test_Graphic_Height (the height of the graphic in pixels,)
»Test_Graphic_Width (the width of the graphic in pixels,)
»Test_Graphic_Type (the enumerated value indicating the type of the
graphic,)
»Test_Graphic_Transparent (0 if there is no transparent color; 1 if
there is a transparent color,)
»Test_Graphic_Transparent_Color (The encoded transparent color, if
transparency is enabled,)
»Test_Graphic_Image (the encoded byte stream of the graphic
according to the encoding rules defined for the Test_Graphic_Type)
8 VERIFY that the RESPONSE VALUE for Pass / Fail Section 4.2.2.8
dmsGraphicID.Test_Graphic_Index is equal to Test_Graphic_CRC. (Section 3.5.1.4.7) Step e
where,
Msg_Type is any valid message type
Msg_Number is any valid message number for the selected message
type
Msg_Multi_String is a valid MULTI string
Note: This step allows the sign to adjust its brightness output as needed to
accommodate the current lighting levels.
Note: Allows the sign to adjust its light output level to the new lighting
conditions.
14 SET-UP: Uncover the photocell and shine a bright light upon the photocell.
Note: Allows the sign to adjust its light output level to the new lighting
conditions.
16 VERIFY by visual inspection that the sign display has become brighter. Pass / Fail
(Section 3.6.3.1)
20 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
where,
Msg_Type is any valid message type
Msg_Number is any valid message number for the selected message
type
Msg_Multi_String is a valid MULTI string
13 IF the sign is a Version 1 sign, GOTO Step 13.1. IF the sign is a Version
2 sign, GOTO Step 13.2.
13.2 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.5
»dmsIllumControl.0 = 'manualDirect' (5) (Section 3.5.2.5.3) Step b
16 VERIFY that the RESPONSE VALUE for dmsIllumManLevel.0 is equal to Pass / Fail
Orig_Level. (Section 3.5.2.5.3 or
3.5.2.5.5)
19 VERIFY that the light output level of the sign display changed to the value
of Dim_Level.
Pass / Fail
Note: The mechanism used to perform this step is outside the scope of
(Section 4.2.3.5)
this test procedure. Sign brightness may be determined by specialized
light meters, by visual observation (if light levels are sufficiently different),
or by other means.
23 VERIFY that the light output level of the sign display became brighter to
the value of Bright_Level.
Pass / Fail
Note: The mechanism used to perform this step is outside the scope of
(Section 4.2.3.5)
this test procedure. Sign brightness may be determined by specialized
light meters, by visual observation (if light levels are sufficiently different),
or by other means.
26 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine a relatively dim brightness level for the sign
between 0 and the number of rows in dmsIllumBrightnessValues.0 (per the
test plan). RECORD this information as:
»Dim_Level
4 RECORD the number of rows in the table (the one byte integer value at the
beginning of dmsIllumBrightnessValues.0) as:
»Num_Brightness_Values
where,
Msg_Type is any valid message type
Msg_Number is any valid message number for the selected message
type
Msg_Multi_String is a valid MULTI string
16 VERIFY that the RESPONSE VALUE for dmsIllumManLevel.0 is equal to Pass / Fail
Orig_Level. (Section 3.5.2.5.4
or 3.5.2.5.5)
19 VERIFY that the light output level of the sign display changed to the value of
Dim_Level.
Pass / Fail
Note: The mechanism used to perform this step is outside the scope of this (Section 3.5.2.5.4
test procedure. Sign brightness may be determined by specialized light or 3.5.2.5.5)
meters, by visual observation (if light levels are sufficiently different), or by
other means.
23 VERIFY that the light output level of the sign display became brighter to the
value of Bright_Level.
Pass / Fail
Note: The mechanism used to perform this step is outside the scope of this (Section 3.5.2.5.4
test procedure. Sign brightness may be determined by specialized light or 3.5.2.5.5)
meters, by visual observation (if light levels are sufficiently different), or by
other means.
26 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Note: For example, one may want to use a two-point curve with the first
setting at half brightness to cover the bottom half of photocell readings and
the second setting at full brightness to address the top half of photocell
readings. This would be encoded as:
» Number of Levels: 2 = 0x02
» Light Output 1: half of maximum brightness = 0x7F FF
» photocellLevelDown 1: 0x00 00
» photocellLevelUp 1: dmsIllumMaxPhotocellLevel.0 / 2, e.g., if
dmsIllumMaxPhotocellLevel.0 is 65535, then the value would be 0x7F FF
» Light Output 2: full brightness = 0xFF FF
» photocellLevelDown 2: the photocellLevelUp 1 value + 1 = e.g., 0x80
00
» photocellLevelUp 2: dmsIllumMaxPhotocellLevel.0 = e.g., 0xFF FF
» Thus, the full byte stream might be: 0x02 7F FF 00 00 7F FF FF FF 80
00 FF FF
4 SET-UP: VERIFY that the brightness curve does not contain any photocell
levels greater than the RESPONSE VALUE for
dmsIllumMaxPhotocellLevel.0.
where,
Msg_Type is any valid message type
Msg_Number is any valid message number for the selected message
type
Msg_Multi_String is a valid MULTI string
10.4 VERIFY that the sign display dims compared to step 10. Pass / Fail
(Section 3.6.3.1)
11 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Brightness_Curve (Section 3.5.1.5.2) Step b
12.2 VERIFY that the sign display becomes brighter. Pass / Fail
(Section 3.6.3.1)
12.4 VERIFY that the sign display dims compared to step 12. Pass / Fail
(Section 3.6.3.1)
13 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Orig_Curve (Section 3.5.1.5.2) Step b
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine a brightness curve that contains a gap in the
range of photocell readings (per the test plan). RECORD this information
as:
»Brightness_Gap_Curve
Note: For example, the following string contains a gap between the two light
output levels:
» Number of Levels: 0x02
» Light Output 1: 0x00 C0
» photocellLevelDown 1: 0x00 00
» photocellLevelUp 1: 0x0A 00
» Light Output 2: 0x01 00
» photocellLevelDown 2: 0x0B 00 (i.e., a gap exists between 0x0A 00
and 0x0B 00)
» photocellLevelUp 2: 0xFF FF
» The entire byte stream would be: 0x02 00 C0 00 00 0A 00 01 00 0B 00
FF FF
Additional
Step Test Procedure Results
References
Note: For example, the following string contains a negative slope between
the two light output levels because the first (dim) output level is used when
ambient conditions are brighter:
» Number of Levels: 0x02
» Light Output 1: 0x00 A0
» photocellLevelDown 1: 0x0A 00
» photocellLevelUp 1: 0xFF FF
» Light Output 2: 0x01 00
» photocellLevelDown 2: 0x00 00
» photocellLevelUp 2: 0x0A 00
» The entire byte stream would be: 0x02 00 A0 0A 00 FF FF 01 00 00
00 0A 00
7.1 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Brightness_Negative_Curve (Section 3.5.1.5.2) Step b
7.5.2 VERIFY that the sign illumination has become dimmer. Pass / Fail
(Section 3.5.1.5.2)
7.5.4 VERIFY that the sign illumination has become brighter. Pass / Fail
(Section 3.5.1.5.2)
8.1 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Brightness_Negative_Curve (Section 3.5.1.5.2) Step b
8.2 VERIFY that the RESPONSE ERROR is equal to 'genError'. Pass / Fail
(Section 3.5.1.5.2)
8.5 SET the following object(s) to the value(s) shown: Pass / Fail
»dmsIllumBrightnessValues.0 = Original_Curve (Section 3.5.1.5.2)
8.7 VERIFY that the RESPONSE VALUE for dmsIllumBrightnessValues.0 is Pass / Fail
equal to Original_Curve. (RFC 1157)
Additional
Step Test Procedure Results
References
Note: For example, the following string contains 3 levels and is required to
be rejected by a sign that only supports 2 levels:
» Number of Levels: 0x03
» Light Output 1: 0x01 00
» photocellLevelDown 1: 0x00 00
» photocellLevelUp 1: 0x01 00
» Light Output 2: 0x02 00
» photocellLevelDown 2: 0x01 01
» photocellLevelUp 2: 0x02 00
» Light Output 3: 0x03 00
» photocellLevelDown 3: 0x02 01
» photocellLevelUp 3: 0xFF FF
» The entire byte stream would be: 0x03 01 00 00 00 01 00 02 00 01 01
02 00 03 00 02 01 FF FF
6 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Brightness_Too_Many_Curve (Section 3.5.1.5.2) Step b
Additional
Step Test Procedure Results
References
6 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Brightness_Overlap_Curve (Section 3.6.3.2) Step b
9 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.9
»dmsIllumBrightnessValues.0 = Orig_Curve (Section 3.5.1.5.2) Step b
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the maximum period of time that the pixel test
should require (based on manufacturer documentation). RECORD this
information as:
»Pixel_Test_Time
3 SET-UP: Ensure that all pixels are functioning prior to this test.
Note: If the RESPONSE VALUE remains at ‘test’ (3) for more than
Pixel_Test_Time seconds, this test fails.
10 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 5 Pass / Fail
(pixel error) cleared. (Section 3.5.3.1.2)
11 PERFORM the test case labeled 'Activate a Message' (C.3.7.6). Pass / Fail
(Section 3.5.2.3.1)
17 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 5 Pass / Fail
(pixel error) cleared. (Section 3.5.3.1.2)
18 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the maximum period of time that the pixel test
should require (based on manufacturer documentation). RECORD this
information as:
»Pixel_Test_Time
Note: If the RESPONSE VALUE remains at ‘test’ (3) for more than
Pixel_Test_Time seconds, this test fails.
8 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 5 Pass / Fail
(pixel error) set. (Section 3.5.3.1.2)
11 Calculate the number of pixels in the sign. RECORD this information as:
»Total_Pixels
15 VERIFY that the number of bits set in all of the Pixel_Status[N] Pass / Fail
parameters equals Pixel_Failure_Test_Rows. (Section 3.5.3.1.3.3)
16.2 Determine the X and Y location of the pixel. RECORD this information
as:
»X
»Y
16.3 Calculate the text string describing the location of the failed pixel.
RECORD this information as:
»Failed_Pixel_Location
16.5 VERIFY that the RESPONSE VALUE for pixelFailureStatus.2.N is not Pass / Fail
equal to 0. (Section 3.5.3.1.4.3)
16.6 Calculate the unique pixel number of the failed pixel. RECORD this
information as:
»Subject_Pixel
Note: The unique pixel number is defined by its position on the sign,
where the top and left-most pixel is pixel 0, the next one to the right is
pixel 1, etc. Assuming a perfectly rectangular matrix sign, the pixel
number can be calculated by multiplying the (Y position minus 1) by the
sign width in pixels and adding the X position minus 1.
16.7 VERIFY that the bit corresponding to the Subject_Pixel in Pass / Fail
Pixel_Status[N] is set to one. (Section 3.5.3.1.4.3)
21 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 5 Pass / Fail
(pixel error) set. (Section 3.5.3.1.2)
»pixelFailureYLocation.3.N
»pixelFailureStatus.3.N
24.2 Determine the X and Y location of the reported pixel failure. RECORD
this information as:
»X
»Y
24.3 Calculate the text string describing the location of the failed pixel.
RECORD this information as:
»Failed_Pixel_Location
24.5 VERIFY that the RESPONSE VALUE for pixelFailureStatus.3.N is not Pass / Fail
equal to 0. (Section 3.5.3.1.4.3)
24.6 Calculate the unique pixel number of the failed pixel. RECORD this
information as:
»Subject_Pixel
Note: The unique pixel number is defined by its position on the sign,
where the top and left-most pixel is pixel 1, the next one to the right is
pixel 2, etc. Assuming a perfectly rectangular matrix sign, the pixel
number can be calculated by multiplying the (Y position minus 1) by the
sign width in pixels and adding the X position minus 1.
24.7 VERIFY that the bit corresponding to the Subject_Pixel in Pass / Fail
Pixel_Status[N] is set to one. (Section 3.5.3.1.4.3)
25 SET-UP: Reconnect the power or signal to the pixels from which it was
removed.
27 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 5 Pass / Fail
(pixel error) cleared. (Section 3.5.3.1.2)
28 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
8.2 VERIFY that the (Climate_Test_Unit minus 1) bit of the RESPONSE Pass / Fail
VALUE for dmsClimateCtrlStatusMap.0 is equal to 0. (Section 3.5.3.1.3.6)
8.4 VERIFY that the bit 10 (climate-control system error) of the RESPONSE Pass / Fail
VALUE for shortErrorStatus.0 is zero (0). (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
6.2 VERIFY that the (Climate_Test_Unit minus 1) bit of the RESPONSE Pass / Fail
VALUE for dmsClimateCtrlStatusMap.0 is equal to 1. (Section 3.5.3.1.3.6)
6.4 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 10 Pass / Fail
(climate-control system error) equal to one (1). (Section 3.5.3.1.2)
9 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 10 Pass / Fail
(climate-control system error) equal to zero (0). (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
6 VERIFY that bit 2 (power error) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 equals 1. (Section 3.5.3.1.2)
9.4 VERIFY that the RESPONSE VALUE for dmsPowerType.N reflects the
type of power source for the subject power supply.
Pass / Fail
(Section 3.5.3.1.4.1)
Note: Valid enumerated values are defined in Section 5.11.2.2.3.6
(Power Status Type Parameter).
9.5 IF N equals an index of one of the power supplies that was unplugged,
then GOTO Step 9.5.1; otherwise, GOTO Step 9.6.1.
9.6.1 VERIFY that the RESPONSE VALUE for dmsPowerStatus.N is equal to Pass / Fail
'noError' (2). (Section 3.5.3.1.4.1)
Additional
Step Test Procedure Results
References
3.1 SET-UP: Unplug one or more light sensors to simulate light sensor
failures to detect within this test procedure.
3.2 Determine the index(es) of the light sensor(s) that were unplugged
(enter in the format of '{1,2,3}'). RECORD this information as:
»Unplugged
3.5 VERIFY that bit 6 (photocell error) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 equals 1. (Section 3.5.3.1.2)
3.8.3 IF N equals an index of one of the light sensors that was unplugged,
then GOTO Step 3.8.3.1; otherwise, GOTO Step 3.8.4.1.
3.8.4.1 VERIFY that the RESPONSE VALUE for dmsLightSensorStatus.N is Pass / Fail
equal to 'noError' (2). (Section 3.5.3.1.4.4)
Additional
Step Test Procedure Results
References
11 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 8 Pass / Fail
(controller error) set to zero (0). (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
4 Determine whether the DMS supports temperature sensors. RECORD Pass / Fail
this information as: (PRL 2.5.3.1.2 /
»Temperature_Support 3.5.3.1.3.7)
8.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is greater Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
8.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less than Pass / Fail
or equal to Current_Reading. (Section 3.5.3.1.7)
9.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
9.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.4.7)
10.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
10.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.1 Alter the temperature of the Temp_Sensor using a heat gun or other
methods of simulating a rise in temperature past the RESPONSE
VALUE for dmsTempSensorHighWarningTemperature.Temp_Sensor.
Note: Care should be taken to ensure that the temperature does not
exceed levels that may cause a permanent hardware failure.
21.2.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is greater Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
21.2.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less than Pass / Fail
or equal to Current_Reading. (Section 3.5.3.1.7)
21.3.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.3.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.4.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.4.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.4.9)
Note: If the user is unable to raise the temperature sufficiently, the user
shall EXIT without passing or failing the test.
Additional
Step Test Procedure Results
References
8.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
8.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
9.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
9.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
10.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
10.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.1 Alter the temperature of the Temp_Sensor using ice or other methods
of simulating a lowering of the temperature beyond the RESPONSE
VALUE for dmsTempSensorLowWarningTemperature.Temp_Sensor.
Note: Care should be taken to ensure that the temperature does not
fall below levels that may cause a permanent hardware failure.
21.2.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
21.2.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
21.3.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.3.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.4.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.4.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
Additional
Step Test Procedure Results
References
8.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
8.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
9.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
9.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
10.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
10.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.1 Alter the temperature of the Temp_Sensor using a heat gun or other
methods of simulating a rise in temperature past the RESPONSE
VALUE for dmsTempSensorHighCriticalTemperature.Temp_Sensor.
Note: Care should be taken to ensure that the temperature does not
exceed levels that may cause a permanent hardware failure.
21.2.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
21.2.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
21.3.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.3.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.4.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.4.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
Additional
Step Test Procedure Results
References
8.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
8.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
9.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
9.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
10.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
10.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.1 Alter the temperature of the Temp_Sensor using ice or other methods
of simulating a lowering of the temperature beyond the RESPONSE
VALUE for dmsTempSensorLowCriticalTemperature.Temp_Sensor.
Note: Care should be taken to ensure that the temperature does not
fall below levels that may cause a permanent hardware failure.
21.2.3 VERIFY that the RESPONSE VALUE for tempMaxAmbient.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.7)
21.2.4 VERIFY that the RESPONSE VALUE for tempMinAmbient.0 is less Pass / Fail
than or equal to Current_Reading. (Section 3.5.3.1.7)
21.3.3 VERIFY that the RESPONSE VALUE for tempMaxSignHousing.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.3.4 VERIFY that the RESPONSE VALUE for tempMinSignHousing.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.7)
21.4.3 VERIFY that the RESPONSE VALUE for tempMaxCtrlCabinet.0 is Pass / Fail
greater than or equal to Current_Reading. (Section 3.5.3.1.4.9)
21.4.4 VERIFY that the RESPONSE VALUE for tempMinCtrlCabinet.0 is Pass / Fail
less than or equal to Current_Reading. (Section 3.5.3.1.4.9)
Additional
Step Test Procedure Results
References
1 Determine whether the DMS supports humidity sensors. RECORD Pass / Fail
this information as: (PRL 2.5.3.1.2 /
»Humidity_Support 3.5.3.1.3.8)
8 VERIFY that BIT 14 (humidity warning) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 has a value of zero (0). (Section 3.5.3.1.2)
20 VERIFY that Bit 14 (humidity warning) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 has a value of one (1). (Section 3.5.3.1.2)
Additional
Step Test Procedure Device
References
1 Determine whether the DMS supports door sensors. RECORD this Pass / Fail
information as: (PRL 2.5.3.1.2 /
»Door_Support 3.5.3.1.3.10)
8 VERIFY that Bit 13 (door status) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 has a value of zero (0). (Section 3.5.3.1.2)
14 VERIFY that Bit 13 (door status) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 has a value of one (1). (Section 3.5.3.1.2)
16 VERIFY that the bit associated with Door_Num of the RESPONSE Pass / Fail
VALUE for dmsStatDoorOpen.0 is equal to one (1). (Section 3.5.3.1.3.10)
Additional
Step Test Procedure Results
References
information as:
»Fuel_Level_Support
10 VERIFY that the RESPONSE VALUE for powerSource.0 is equal to Pass / Fail
Selected_Power_Source. (Section 3.5.3.1.6.1)
11.3 SET the following object(s) to the value(s) shown: Pass / Fail
»lowFuelThreshold = New_Low_Fuel_Threshold (Section 3.5.1.7)
11.5 VERIFY that the RESPONSE VALUE for lowFuelThreshold is equal to Pass / Fail
New_Low_Fuel_Threshold. (Section 3.5.1.7)
11.8 VERIFY that bit 2 (power error) of the RESPONSE VALUE for
shortErrorStatus.0 equals 0.
11.12 VERIFY that bit 2 (power error) of the RESPONSE VALUE for
shortErrorStatus.0 equals 1.
11.13 SET the following object(s) to the value(s) shown: Pass / Fail
»lowFuelThreshold = Orig_Lowfuelthreshold (Section 3.5.1.7)
12.2 VERIFY that the RESPONSE VALUE for signVolts.0 and lineVolts.0
Pass / Fail
agree with the current voltages, in accordance with the manufacturer’s
(Section 3.5.3.1.6.2)
documentation.
13.2 VERIFY that the RESPONSE VALUE for fuelLevel.0 is approximately Pass / Fail
equal to the current level of fuel available. (Section 3.5.3.1.6.3)
14.4 VERIFY that the RESPONSE VALUE for engineRPM.0 is equal to 0. Pass / Fail
(Section 3.5.3.1.6.4)
14.8 VERIFY that the RESPONSE VALUE for engineRPM.0 is approximately Pass / Fail
equal to the RPM of the generator. (Section 3.5.3.1.6.4)
Additional
Step Test Procedure Results
References
6 VERIFY that the RESPONSE VALUE for dmsSWReset.0 is equal to 0. Pass / Fail
(Section 5.7.2)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the pixel service time to begin the pixel service
for this test (from the test plan). RECORD this information as:
»Pixel_Service_Start_Time
»Msg_Type
»Msg_Number
»Msg_Multi_String
4 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.6
»vmsPixelServiceTime.0 = Pixel_Service_Start_Time (Section 3.5.2.6) Step a
5 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.6
»vmsPixelServiceDuration.0 = Pixel_Service_Duration (Section 3.5.2.6) Step b
6 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.6
»vmsPixelServiceFrequency.0 = Pixel_Service_Frequency (Section 3.5.2.6) Step c
10 VERIFY that the DMS exercises the pixels for Pixel_Service_Duration Pass / Fail
length of time. (Section 3.5.2.6)
11 VERIFY that the DMS performs a second pixel service Pass / Fail
Pixel_Service_Frequency minutes after the start of the first pixel service. (Section 3.5.2.6)
12 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
6.2 VERIFY that the RESPONSE VALUE for auxIOv2PortDescription.2.X Pass / Fail
contains only valid DisplayString characters. (Section 3.5.2.4.1.2)
6.3 VERIFY that the RESPONSE VALUE for auxIOv2PortResolution.2.X Pass / Fail
is greater than or equal to 1. (Section 3.5.2.4.1.1)
6.4 VERIFY that the RESPONSE VALUE for auxIOv2PortResolution.2.X Pass / Fail
is less than or equal to 32. (Section 3.5.2.4.1.1)
6.6 VERIFY that the RESPONSE VALUE for auxIOv2PortValue.2.X does Pass / Fail
not exceed the value defined by the formula [(2^Resolution) - 1]. (Section 3.5.2.4.2.1 or
3.5.2.4.4.1)
6.8 VERIFY that the RESPONSE VALUE for auxIOv2PortDirection.2.X is Pass / Fail
greater than or equal to 1. (Section 3.5.2.4.1.1)
6.9 VERIFY that the RESPONSE VALUE for auxIOv2PortDirection.2.X is Pass / Fail
less than or equal to 3. (Section 3.5.2.4.1.1)
7.2 VERIFY that the RESPONSE VALUE for auxIOv2PortDescription.3.X Pass / Fail
contains only valid DisplayString characters. (Section 3.5.2.4.1.2)
7.3 VERIFY that the RESPONSE VALUE for auxIOv2PortResolution.3.X Pass / Fail
is greater than or equal to 1. (Section 3.5.2.4.1.1)
7.4 VERIFY that the RESPONSE VALUE for auxIOv2PortResolution.3.X Pass / Fail
is less than or equal to 32. (Section 3.5.2.4.1.1)
7.6 VERIFY that the RESPONSE VALUE for auxIOv2Value.3.X does not Pass / Fail
exceed the value defined by the formula [(2^Resolution) - 1]. (Section
3.5.2.4.2.1 or
3.5.2.4.4.1)
7.8 VERIFY that the RESPONSE VALUE for auxIOv2PortDirection.3.X is Pass / Fail
greater than or equal to 1. (Section 3.5.2.4.1.1)
7.9 VERIFY that the RESPONSE VALUE for auxIOv2PortDirection.3.X is Pass / Fail
less than or equal to 3. (Section 3.5.2.4.1.1)
Additional
Step Test Procedure Results
References
GO TO Step 11.
Additional
Step Test Procedure Device
References
Note: Valid enumerated values are defined in NTCIP 1201 v03, Section
2.9.3.1 (Auxiliary Port Type Parameter).
2 CONFIGURE: Determine the index of the input port to test (from the test
plan). RECORD this information as:
»In_Port_Index
3 CONFIGURE: Determine the value to which the test shall attempt to set
the port (from the test plan). RECORD this information as:
»In_Port_Value
GO TO Step 8.
Note: Valid enumerated values are defined in NTCIP 1201 v03, Section
2.9.3.6 (Auxiliary Port Direction Parameter).
Note: This is not 100% reliable, but it is likely that there is an error if this Pass / Fail
step fails. While we ensured that the two values were different earlier in (Section 3.5.2.4.3.1)
the test, it is conceivable that the input independently changed to match
the value used in the invalid set operation, which would cause this test
to fail because it would appear that the change was due to the set
operation. If a device repeatedly fails this step, there is likely an error.
C.3.5.20 Verify Error for Changing Port Value with Larger Resolution
Test Title: Verify Error for Changing Port Value with Larger Resolution
Case: This test case verifies that the DMS returns an error when attempting to change
5.20 Description:
the output value of a port with a value that is larger than the port supports.
Port_Type From the Test Plan
Port_Index From the Test Plan
Variables:
Port_Value From the Test Plan
Port_Description From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Device
References
Note: Valid enumerated values are defined in NTCIP 1201 v03, Section
2.9.3.1 (Auxiliary Port Type Parameter).
2 CONFIGURE: Determine the index of the port to test (from the test
plan). RECORD this information as:
»Port_Index
3 CONFIGURE: Determine the value this test shall attempt to set for the
port. The value is required to be greater than that supported by the port
(from the test plan). RECORD this information as:
»Port_Value
GO TO Step 8.
Note: Valid enumerated values are defined in NTCIP 1201 v03, Section
2.9.3.6 (Auxiliary Port Direction Parameter)
Additional
Step Test Procedure Results
References
3 SET-UP: VERIFY that all lamps are functioning prior to this test.
Note: If this loops for an excessively long time, the test should fail.
7 VERIFY that Bit 4 (lamp error) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 is equal to zero (0). (Section 3.5.3.1.2)
11 VERIFY that the RESPONSE VALUE for dmsLampNumRows.0 is equal Pass / Fail
to Num_Lamps. (Section 3.5.3.1.3.2)
12.3 VERIFY that the RESPONSE VALUE for dmsLampMfrStatus.N Pass / Fail
contains only valid DisplayString characters. (Section 3.5.3.1.4.2)
12.4 VERIFY that the RESPONSE VALUE for dmsLampStatus.N is equal to Pass / Fail
'noError' (2). (Section 3.5.3.1.4.2)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the index of the lamp(s) to test (from the test
plan). RECORD this information as:
»Lamp_Index
Note: If this loops for an excessively long time, the test should fail.
8 VERIFY that Bit 4 (lamp error) of the RESPONSE VALUE for Pass / Fail
shortErrorStatus.0 is equal to one (1). (Section 3.5.3.1.2)
12 VERIFY that the RESPONSE VALUE for dmsLampNumRows.0 is equal Pass / Fail
to Num_Lamps. (Section 3.5.3.1.3.2)
13.3 VERIFY that the RESPONSE VALUE for dmsLampMfrStatus.N Pass / Fail
contains only valid DisplayString characters. (Section 3.5.3.1.4.2)
13.4 IF N equals one of the defined Lamp_Index values, then GOTO Step
13.4.1; otherwise, GOTO Step 13.5.
13.5 VERIFY that the RESPONSE VALUE for dmsLampStatus.N is equal to Pass / Fail
'noError' (2). (Section 3.5.3.1.4.2)
Additional
Step Test Procedure Results
References
6 SET-UP: VERIFY that all drums are functioning prior to this test.
9 VERIFY that Bit 12 (drum sign rotor error) of the RESPONSE VALUE Pass / Fail
for shortErrorStatus.0 is equal to zero (0). (Section 3.5.3.1.2)
13.3 VERIFY that the RESPONSE VALUE for dmsDrumMfrStatus.N Pass / Fail
contains only valid DisplayString characters. (Section 3.5.3.1.4.11)
13.4 VERIFY that the RESPONSE VALUE for dmsDrumStatus.N is equal Pass / Fail
to 'noError' (2). (Section 3.5.3.1.4.11)
Additional
Step Test Procedure Results
References
10 VERIFY that Bit 12 (drum sign rotor error) of the RESPONSE VALUE Pass / Fail
for shortErrorStatus.0 is equal to one (1). (Section 3.5.3.1.2)
14.3 VERIFY that the RESPONSE VALUE for dmsDrumMfrStatus.N Pass / Fail
contains only valid DisplayString characters. (Section 3.5.3.1.4.11)
14.4 IF N equals one of the defined Drum_Index values, then GOTO Step
14.4.1; otherwise, GOTO Step 14.5.1.
14.5.1 VERIFY that the RESPONSE VALUE for dmsDrumStatus.N is equal Pass / Fail
to 'noError' (2). (Section 3.5.3.1.4.11)
Additional
Step Test Procedure Results
References
1 By having a car drive past the sign or by means of simulating the speed,
generate a valid speed input.
3 VERIFY that the RESPONSE VALUE agrees with the speed of the Pass / Fail
vehicle or the simulated speed input. (Section 3.5.3.1.9)
Additional
Step Test Procedure Results
References
4 VERIFY that the RESPONSE VALUE for dmsCurrentSpeedLimit.0 is equal Pass / Fail
to Test_SpeedLimit. (Section 3.5.1.6)
7 VERIFY that the RESPONSE VALUE for dmsCurrentSpeedLimit.0 is equal Pass / Fail
to Orig_SpeedLimit. (Section 3.5.1.6)
Additional
Step Test Procedure Results
References
4 VERIFY that Bit 3 of the RESPONSE VALUE for shortErrorStatus.0 is not Pass / Fail
set. (Section
3.5.4.1)
5 Disconnect the power or signal from one fan, causing it to fail. Wait for the
fan to stop turning.
Note: If the RESPONSE VALUE does not return to ‘noTest’ (2) after a
reasonable period of time, the test fails.
9 VERIFY that the RESPONSE VALUE for fanTestActivation.0 is equal to Pass / Fail
‘noTest’ (2). (Section
3.5.4.2)
10 VERIFY that the proper bit associated with the disable fan is set to 1 in the
Pass / Fail
RESPONSE VALUE for fanFailures.0. Refer to the manufacturer’s
(Section
documentation to determine the mapping of the fans to the bits in
3.5.4.2)
fanFailures.0.
11 VERIFY that Bit 3 of the RESPONSE VALUE for shortErrorStatus.0 is set Pass / Fail
to 1. (Section
3.5.4.2)
Additional
Step Test Procedure Results
References
4 VERIFY that the RESPONSE VALUE for dmsColorScheme.0 is less Pass / Fail
than or equal to 4. (3.5.1.2.3.3)
6.1 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.17)
6.2 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 is Pass / Fail
between 0 and 1, inclusive, when converted to an integer. (Section 5.5.17)
6.3 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.19)
6.4 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 is Pass / Fail
between 0 and 1, inclusive, when converted to an integer. (Section 5.5.19)
7.1 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.17)
7.2 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.19)
8.1 VERIFY that the RESPONSE VALUE for defaultBackgroundColor.0 is Pass / Fail
between 0 and 9, inclusive. (Section 5.5.1)
8.2 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.17)
8.3 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 is Pass / Fail
between 0 and 9, inclusive, when converted to an integer. (Section 5.5.17)
8.4 VERIFY that the RESPONSE VALUE for defaultBackgroundRGB.0 is Pass / Fail
equal to the RESPONSE VALUE for defaultBackgroundColor.0. (Section 5.5.17)
8.5 VERIFY that the RESPONSE VALUE for defaultForegroundColor.0 is Pass / Fail
between 0 and 9, inclusive. (Section 5.5.2)
8.6 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 has Pass / Fail
a length of 1 byte. (Section 5.5.19)
8.7 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 is Pass / Fail
between 0 and 9, inclusive, when converted to an integer. (Section 5.5.19)
8.8 VERIFY that the RESPONSE VALUE for defaultForegroundRGB.0 is Pass / Fail
equal to the RESPONSE VALUE for defaultForegroundColor.0. (Section 5.5.19)
11 VERIFY that the RESPONSE VALUE for defaultFlashOn.0 is less than Pass / Fail
or equal to 255. (Section 5.5.3)
13 VERIFY that the RESPONSE VALUE for defaultFlashOff.0 is less than Pass / Fail
or equal to 255. (Section 5.5.5)
15 VERIFY that the RESPONSE VALUE for defaultFont.0 is less than or Pass / Fail
equal to 255. (Section 5.5.7)
Note: Valid values are defined in NTCIP 1203 v03, Section 5.5.13
21 VERIFY that the RESPONSE VALUE for defaultPageOnTime.0 is less Pass / Fail
than or equal to 255. (Section 5.5.13)
23 VERIFY that the RESPONSE VALUE for defaultPageOffTime.0 is less Pass / Fail
than or equal to 255. (Section 5.5.15)
25 VERIFY that the RESPONSE VALUE for defaultCharacterSet.0 is less Pass / Fail
than or equal to 2. (Section 5.5.21)
31 VERIFY that the RESPONSE VALUE for defaultFontActivate.0 is less Pass / Fail
than or equal to 255. (Section 5.5.8)
Additional
Step Test Procedure Results
References
Note: Rules for encoding values are defined in Section 5.5.17 (Default
Background Color RGB Parameter).
Note: Rules for encoding values are defined in Section 5.5.19 (Default
Foreground Color RGB Parameter).
9 VERIFY that the background of the displayed message is the color Pass / Fail
specified by Orig_Background. (Section 3.5.2.3.2.1)
10 VERIFY that the foreground of the displayed message (i.e., the text) is Pass / Fail
the color specified by Orig_Foreground. (Section 3.5.2.3.2.1)
22 VERIFY that the background of the displayed message is the color Pass / Fail
specified by Test_Background. (Section 3.5.2.3.2.2)
23 VERIFY that the foreground of the displayed message (i.e., the text) is Pass / Fail
the color specified by Test_Foreground. (Section 3.5.2.3.2.2)
35 VERIFY that the background of the displayed message is the color Pass / Fail
specified by Orig_Background. (Section 3.5.2.3.2.2)
36 VERIFY that the foreground of the displayed message (e.g., the text) is Pass / Fail
the color specified by Orig_Foreground. (Section 3.5.2.3.2.2)
40 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
17 VERIFY that the flash off time is as defined by Flash_Off_Orig. Pass / Fail
(Section 3.5.2.3.2.3)
26 VERIFY that the RESPONSE VALUE for defaultFlashOn.0 is equal to Pass / Fail
Flash_On_Current. (Section 3.5.2.3.2.3)
27 VERIFY that the RESPONSE VALUE for defaultFlashOff.0 is equal to Pass / Fail
Flash_Off_Current. (Section 3.5.2.3.2.3)
31 VERIFY that the flash off time is as defined by Flash_Off_Orig. Pass / Fail
(Section 3.5.2.3.2.3)
34 VERIFY that the flash off time is as defined by Flash_Off_Current. Pass / Fail
(Section 3.5.2.3.2.3)
36 VERIFY that the RESPONSE VALUE for defaultFlashOn.0 is equal to Pass / Fail
Flash_On_Current. (Section 3.5.2.3.2.3)
37 VERIFY that the RESPONSE VALUE for defaultFlashOff.0 is equal to Pass / Fail
Flash_Off_Current. (Section 3.5.2.3.2.3)
41 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
14 VERIFY that the message is displayed using the Orig_Font. Pass / Fail
(Section 3.5.2.3.2.1)
16 VERIFY that the RESPONSE VALUE for defaultFont.0 is equal to Pass / Fail
Orig_Font. (Section 3.5.2.3.2.1)
17 VERIFY that the RESPONSE VALUE for defaultFontActivate.0 is equal Pass / Fail
to Orig_Font. (Section 3.5.2.3.2.1)
21 VERIFY that the RESPONSE VALUE for defaultFont.0 is equal to Pass / Fail
Test_Font_Number. (Section 3.5.2.3.2.4)
22 VERIFY that the RESPONSE VALUE for defaultFontActivate.0 is equal Pass / Fail
to Orig_Font. (Section 3.5.2.3.2.4)
24 VERIFY that the message is displayed using the Test_Font_Number Pass / Fail
font. (Section 3.5.2.3.2.4)
26 VERIFY that the RESPONSE VALUE for defaultFont.0 is equal to Pass / Fail
Test_Font_Number. (Section 3.5.2.3.2.4)
27 VERIFY that the RESPONSE VALUE for defaultFontActivate.0 is equal Pass / Fail
to Test_Font_Number. (Section 3.5.2.3.2.4)
31 VERIFY that the RESPONSE VALUE for defaultFont.0 is equal to Pass / Fail
Orig_Font. (Section 3.5.2.3.2.4)
32 VERIFY that the RESPONSE VALUE for defaultFontActivate.0 is equal Pass / Fail
to Test_Font_Number. (Section 3.5.2.3.2.4)
33 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
11 VERIFY that the message is displayed using the Orig_Justification. Pass / Fail
(Section 3.5.2.3.2.1)
12 IF Left is equal to 1, then GOTO Step 12.1; otherwise, GOTO Step 13.
12.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationLine.0 = 'left' (2) (Section 3.5.2.3.2.5)
12.3 VERIFY that the RESPONSE VALUE for defaultJustificationLine.0 is Pass / Fail
equal to 'left' (2). (Section 3.5.2.3.2.5)
»Msg_Multi_String = Default_Line_Just_Msg
»Msg_Beacon_State = 0 (disabled)
»Msg_Pixel_Service = 0 (disabled)
»Msg_Activation_Priority = 255
»Msg_Duration = 65535 (forever)
»Expected_Error_Code = 2 (none)
»Expected_Multi_Error_Code = 2 (none)
»Expected_Multi_Error_Pos_Min = 0
»Expected_Multi_Error_Pos_Max = 0
12.7 VERIFY that the message is displayed using left justification. Pass / Fail
(Section 3.5.2.3.2.5)
13.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationLine.0 = 'center' (3) (Section 3.5.2.3.2.5)
13.3 VERIFY that the RESPONSE VALUE for defaultJustificationLine.0 is Pass / Fail
equal to 'center' (3). (Section 3.5.2.3.2.5)
13.7 VERIFY that the message is displayed using center justification. Pass / Fail
(Section 3.5.2.3.2.5)
14 IF Right is equal to 1, then GOTO Step 14.1; otherwise, GOTO Step 15.
14.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationLine.0 = 'right' (4) (Section 3.5.2.3.2.5)
14.3 VERIFY that the RESPONSE VALUE for defaultJustificationLine.0 is Pass / Fail
equal to 'right' (4). (Section 3.5.2.3.2.5)
14.7 VERIFY that the message is displayed using right justification. Pass / Fail
(Section 3.5.2.3.2.5)
15 IF Full is equal to 1, then GOTO Step 15.1; otherwise, GOTO Step 16.
15.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationLine.0 = 'full' (5) (Section 3.5.2.3.2.5)
»defaultPageOnTime.0
»defaultPageOffTime.0
»defaultCharacterSet.0
»defaultFlashOnActivate.0
»defaultFlashOffActivate.0
»defaultFontActivate.0
»defaultJustificationLineActivate.0
»defaultJustificationPageActivate.0
»defaultPageOnTimeActivate.0
»defaultPageOffTimeActivate.0
»defaultBackgroundRGBActivate.0
»defaultForegroundRGBActivate.0
15.3 VERIFY that the RESPONSE VALUE for defaultJustificationLine.0 is Pass / Fail
equal to 'full' (5). (Section 3.5.2.3.2.5)
15.7 VERIFY that the message is displayed using left justification. Pass / Fail
(Section 3.5.2.3.2.5)
20 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
10 VERIFY that the message is displayed using the Orig_Justification. Pass / Fail
(Section 3.5.2.3.2.1)
11 IF Top is equal to 1, then GOTO Step 11.1; otherwise, GOTO Step 12.
11.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationPage.0 = 'top' (2) (Section 3.5.2.3.2.6)
11.3 VERIFY that the RESPONSE VALUE for defaultJustificationPage.0 is Pass / Fail
equal to 'top' (2). (Section 3.5.2.3.2.6)
11.7 VERIFY that the message is displayed using top justification. Pass / Fail
(Section 3.5.2.3.2.6)
12.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationPage.0 = 'middle' (3) (Section 3.5.2.3.2.6)
12.3 VERIFY that the RESPONSE VALUE for defaultJustificationPage.0 is Pass / Fail
equal to 'middle' (3). (Section 3.5.2.3.2.6)
12.7 VERIFY that the message is displayed using middle justification. Pass / Fail
(Section 3.5.2.3.2.6)
13.1 SET the following object(s) to the value(s) shown: Pass / Fail
»defaultJustificationPage.0 = 'bottom' (4) (Section 3.5.2.3.2.6)
13.3 VERIFY that the RESPONSE VALUE for defaultJustificationPage.0 is Pass / Fail
equal to 'bottom' (4). (Section 3.5.2.3.2.6)
13.7 VERIFY that the message is displayed using bottom justification. Pass / Fail
(Section 3.5.2.3.2.6)
18 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
15 VERIFY that each page displays for a duration defined by Pass / Fail
Page_On_Orig. (Section 3.5.2.3.2.7)
16 VERIFY that the sign blanks between pages for a duration defined by Pass / Fail
Page_Off_Orig. (Section 3.5.2.3.2.7)
25 VERIFY that the RESPONSE VALUE for defaultPageOnTime.0 is equal Pass / Fail
to Page_On_Current. (Section 3.5.2.3.2.7)
26 VERIFY that the RESPONSE VALUE for defaultPageOffTime.0 is equal Pass / Fail
to Page_Off_Current. (Section 3.5.2.3.2.7)
29 VERIFY that each page displays for a duration defined by Pass / Fail
Page_On_Orig. (Section 3.5.2.3.2.7)
30 VERIFY that the sign blanks between pages for a duration defined by Pass / Fail
Page_Off_Orig. (Section 3.5.2.3.2.7)
32 VERIFY that each page displays for a duration defined by Pass / Fail
Page_On_Current. (Section 3.5.2.3.2.7)
33 VERIFY that the sign blanks between pages for a duration defined by Pass / Fail
Page_Off_Current. (Section 3.5.2.3.2.7)
35 VERIFY that the RESPONSE VALUE for defaultPageOnTime.0 is equal Pass / Fail
to Page_On_Current. (Section 3.5.2.3.2.7)
36 VERIFY that the RESPONSE VALUE for defaultPageOffTime.0 is equal Pass / Fail
to Page_Off_Current. (Section 3.5.2.3.2.7)
40 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
4 VERIFY that the message displays with MULTI string being interpreted Pass / Fail
as a normal 8-bit character string (i.e., not a multi-byte character string). (Section 3.5.2.3.2.8)
5 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
12.2 VERIFY that the RESPONSE VALUE for dmsMaxVolatileMsg.0 is Pass / Fail
greater than or equal to Required_Volatile_Messages. (PRL 3.6.7.3)
21 VERIFY that the RESPONSE VALUE for dmsNumVolatileMsg.0 is equal Pass / Fail
to 0. (Section 3.5.1.2.4)
23.1 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail
greater than or equal to Required_Volatile_Memory. (Section 3.5.1.2.4)
24.1.3 VERIFY that the RESPONSE VALUE for dmsNumChangeableMsg.0 is Pass / Fail
equal to 0. (Section 3.5.2.3.3.2)
24.1.5 VERIFY that the RESPONSE VALUE for dmsNumVolatileMsg.0 is equal Pass / Fail
to 1. (Section 3.5.2.3.3.2)
24.1.6 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail
less than Actual_Volatile_Memory. (Section 3.5.2.3.3.2)
24.1.7 SET the following object(s) to the value(s) shown: Pass / Fail
»dmsMemoryMgmt.0 = 'clearVolatileMessages' (4) (Section 3.5.1.2.4)
24.1.10 VERIFY that the RESPONSE VALUE for dmsNumChangeableMsg.0 is Pass / Fail
equal to 0. (Section 3.5.2.3.3.2)
24.1.12 VERIFY that the RESPONSE VALUE for dmsNumVolatileMsg.0 is equal Pass / Fail
to 0. (Section 3.5.2.3.3.2)
24.1.13 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail
equal to Actual_Volatile_Memory. (Section 3.5.2.3.3.2)
25.3 VERIFY that the RESPONSE VALUE for dmsNumChangeableMsg.0 is Pass / Fail
equal to 1. (Section 3.5.2.3.3.2)
25.5 VERIFY that the RESPONSE VALUE for dmsNumVolatileMsg.0 is equal Pass / Fail
to 0. (Section 3.5.2.3.3.2)
25.6 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail
equal to Actual_Volatile_Memory. (Section 3.5.2.3.3.2)
25.7 SET the following object(s) to the value(s) shown: Pass / Fail
»dmsMemoryMgmt.0 = 'clearChangeableMessages' (3) (Section 3.5.1.2.4)
25.10 VERIFY that the RESPONSE VALUE for dmsNumChangeableMsg.0 is Pass / Fail
equal to 0. (Section 3.5.2.3.3.2)
25.12 VERIFY that the RESPONSE VALUE for dmsNumVolatileMsg.0 is equal Pass / Fail
to 0. (Section 3.5.2.3.3.2)
25.13 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail
equal to Actual_Volatile_Memory. (Section 3.5.2.3.3.2)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Note: The string may be either an invalid MULTI string (e.g., containing an
undefined tag) or a valid MULTI string that is not supported by the DMS
(e.g., containing a defined tag that is not supported by the DMS or a string
that places too many characters on a line). However, in the latter case, the
tester shall ensure that the DMS under test truly does not support the
feature; it is not sufficient to rely on the specification as the DMS may
provide additional features not required in the specification.
9 CONFIGURE: Determine the first and last positions in the MULTI string
where the error might be flagged. RECORD this information as:
»Expected_Error_Position_Min (the lowest valid value that could be
reported to properly identify the position at which the error occurs within the
invalid multi string)
»Expected_Error_Position_Max (the largest valid value that could be
reported to properly identify the position at which the error occurs within the
invalid multi string (is required to be greater than or equal to
Expected_Error_Position_Min))
Additional
Step Test Procedure Results
References
GO TO Step 6.
10 VERIFY that the RESPONSE VALUE for dmsMemoryMgmt.0 is equal to Pass / Fail
'normal' (2). (Section 3.5.1.2.4)
GO TO Step 6.
GO TO Step 6.
GO TO Step 6.
12.1 VERIFY that the RESPONSE ERROR is equal to ‘noError’ or 'noSuchName'. Pass / Fail
(Section
3.5.2.3.3.5)
12.2 IF the RESPONSE ERROR is equal to ‘noSuchName’, then GOTO Step 13. Pass / Fail
14.1 VERIFY that the RESPONSE ERROR is equal to ‘noError’ or 'noSuchName'. Pass / Fail
(Section
3.5.2.3.3.5)
14.2 IF the RESPONSE ERROR is equal to ‘noSuchName’, then GOTO Step 15. Pass / Fail
Note: Rules for calculating the CRC are defined in Section 5.6.8.5 (Message
CRC Parameter).
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Note: This is the first of two messages that are defined for this test case.
Both messages should be text-only without any MULTI tags other than a
new line tag and should be readily identifiable (e.g., the first message
might be "TEST MSG 1", and the second "TEST MSG 2").
»Expected_Multi_Error_Pos_Min = 0
»Expected_Multi_Error_Pos_Max = 0
15 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
»Expected_Multi_Error_Code = 2 (none)
»Expected_Multi_Error_Pos_Min = 0
»Expected_Multi_Error_Pos_Max = 0
Note: Rules for calculating the CRC are defined in Section 5.6.8.5
(Message CRC Parameter).
13 SET-UP: Calculate the activation code for the message. RECORD this
information as:
»Msg_Activation_Code
Note: Rules for calculating the activation code are defined in Section
5.1.
22 VERIFY that the RESPONSE VALUE for dmsActivateMsgError.0 equals Pass / Fail
'messageStatus' (4). (Section 3.5.2.3.1)
25 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 7 Pass / Fail
set to one (1) ‘message error’. (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
Note: Rules for calculating the CRC are defined in NTCIP 1203 v03,
Section 5.6.8.5.
7 SET-UP: Calculate the activation code for the message, based on the
previously defined values and an activation priority of 255 and a
duration of 65535. RECORD this information as:
»Msg_Activation_Code
Note: Rules for calculating the activation code are defined in NTCIP
1203 v03, Section 5.1
13 VERIFY that the RESPONSE VALUE for dmsActivateMsgError.0 equals Pass / Fail
'messageMemoryType' (5). (Section 3.5.2.3.1)
16 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 7 Pass / Fail
set to one (1) ‘message error’. (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine a message type that the DMS supports (e.g., per
the test plan). RECORD this information as:
»Msg_Type
Note: Rules for calculating the CRC are defined in Section 5.6.8.5
(Message CRC Parameter).
7 SET-UP: Calculate the activation code for the message, based on the
previously defined values and an activation priority of 255 and a duration
of 65535. RECORD this information as:
»Msg_Activation_Code
Note: Rules for calculating the activation code are defined in Section 5.1.
13 VERIFY that the RESPONSE VALUE for dmsActivateMsgError.0 equals Pass / Fail
'messageNumber' (6). (Section 3.5.2.3.1)
16 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 7 set Pass / Fail
to one (1) “message error’. (Section 3.5.3.1.2)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
Note: The message is required to be too large to fit on the display (e.g., too
many characters on a line or too many lines).
Additional
Step Test Procedure Results
References
6 VERIFY that the message is properly displayed, with each field tag
Pass / Fail
replaced with field values in accordance with Section 6.4.5.
8 VERIFY that the RESPONSE VALUE for statMultiFieldRows.0 is equal Pass / Fail
to Field_Multi_String_Tags. (Section 3.5.3.2.2)
10.2 VERIFY that the RESPONSE VALUE for statMultiFieldCode.N is equal Pass / Fail
to one of the field codes within Field_Multi_String. (Section 3.5.3.2.2)
11 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
3 SET-UP: VERIFY that the device hardware is set for central control and
that the test application computer is connected to the central port.
7 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail Section 4.3.3.1
(Section 3.5.2.1) Rule b
9 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail Section 4.3.3.1
(Section 3.5.2.1) Rule b
11 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail Section 4.3.3.1
(Section 3.5.2.1) Rule b
13 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'central' (4). (Section 3.5.3.1.5)
16 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.1
»controllerStandardTimeZone.0 = New_Time_Zone (Section 3.5.2.1) Rule d
25 VERIFY that the RESPONSE ERROR is equal to ‘genError’. Pass / Fail Section 4.3.3.1
(Section 3.5.2.1) Rule e
27 VERIFY that the first message remains displayed on the sign. Pass / Fail
(Section 3.5.2.1)
28 SET-UP: Switch the DMS to local control using the Local Control Switch
30 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail Section 4.3.3.1
'local' (2). (Section 3.5.3.1.5) Rule a
30.4 VERIFY that the RESPONSE VALUE for dmsMsgSourceMode.0 is equal Pass / Fail
to local (2). (Section 3.5.3.2.1)
31 SET-UP: Switch the DMS to central control using the Local Control Switch
33 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'central' (4). (Section 3.5.3.1.5)
34 SET-UP: Switch the DMS to local control using the Local Control Switch
35 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.2
»dmsControlMode.0 = 'local' (2) (Section 3.5.2.1) Rule c
36 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail
(Section 3.5.2.1)
38 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail Section 4.3.3.2
(Section 3.5.2.1) Rule c
40 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'local' (2). (Section 3.5.3.1.5)
42 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.2
»controllerStandardTimeZone.0 = Time_Zone (Section 3.5.2.1) Rule e
50 VERIFY that the second message remains on the sign. Pass / Fail
(Section 3.5.2.1)
51 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.2
»dmsControlMode.0 = ‘centralOverride’ (5). (Section 3.5.2.1) Rules b and f
53 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'centralOverride' (5). (Section 3.5.3.1.5)
54 SET-UP: Switch the DMS to central control using the Local Control Switch
56 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'central' (4). (Section 3.5.3.1.5)
57 SET-UP: Switch the DMS to local control using the Local Control Switch
59 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.2
»dmsControlMode.0 = ‘centralOverride’ (5). (Section 3.5.2.1) Rule b
61 VERIFY that the RESPONSE VALUE for dmsControlMode.0 is equal to Pass / Fail
'centralOverride' (5). (Section 3.5.3.1.5)
63 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.3
»dmsControlMode.0 = 'central' (4) (Section 3.5.2.1) Rule c
64 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail
(Section 3.5.2.1)
65 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.3
»dmsControlMode.0 = 'local' (2) (Section 3.5.2.1) Rule c
66 VERIFY that the RESPONSE ERROR is equal to 'badValue' (3). Pass / Fail
(Section 3.5.2.1)
67 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.3
»dmsControlMode.0 = 'centralOverride' (5) (Section 3.5.2.1) Rule b
69 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.3
»controllerStandardTimeZone.0 = New_Time_Zone. (Section 3.5.2.1) Rule e)
74 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.3.3.2
»controllerStandardTimeZone.0 = Time_Zone (Section 3.5.2.1) Rule f
77 VERIFY that the second message remains on the sign. Pass / Fail
(Section 3.5.2.1)
78 SET-UP: Switch the DMS to central control using the Local Control Switch
83 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
5 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 is equal to Pass / Fail
zero. (Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
30.1 VERIFY that the RESPONSE VALUE for dmsMessagePixelService.5.1 Pass / Fail
is equal to Msg_Pixel_Service. (Section 3.5.3.2.1)
33.1 VERIFY that the RESPONSE VALUE for dmsMessageBeacon.5.1 is Pass / Fail
equal to Msg_Beacon_State. (Section 3.5.3.2.1)
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
GO TO Step 3.7.
3.9 IF the RESPONSE ERROR is equal to noError, then GOTO Step 3.9.1;
otherwise, GOTO Step 3.10.
GO TO Step 3.11.
3.11 PERFORM the Test Procedure labeled 'Activate a Message' (C.3.14.2) Pass / Fail
4 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
3 SET-UP: VERIFY that the device hardware is set for central control and
that the test application computer is connected to the central port.
5 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
10 VERIFY that the message is NOT displayed on the sign. Pass / Fail
(Section 3.5.4.3)
12 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
8.2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
8.3 PERFORM the Test Procedure labeled 'Define a Message' (C.3.14.1) with
the following parameters:
»Msg_Type = Msg_Type
»Msg_Number = Msg_Number
»Msg_Multi_String = MULTI_String_Pages_N
»Msg_Owner = “OWNER” Pass / Fail
»Msg_Beacon_State = 0 (disabled) (Section
»Msg_Pixel_Service = 0 (disabled) 3.5.2.3.3.3)
»Msg_Run_Time_Priority = 255
»Expected_Validate_Error_Code = 2 (none)
»Expected_Multi_Error_Code = 2 (none)
»Expected_Multi_Error_Pos_Min = 0
»Expected_Multi_Error_Pos_Max = 0
8.5 VERIFY that all pages of the message display on the sign. Pass / Fail
(Section
3.6.6.2.1)
10 Define a message to display on the sign that contains one more page than
the number of pages recorded in Actual_Max_Pages. RECORD this
information as:
»MULTI_String_Error_Too_Many_Pages
11 Calculate the position of the first character after the close bracket of the
final [np] tag. RECORD this information as:
»MULTI_Length_Plus_Tag
13 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The page justification tag is required to appear before any text. For
example: "[jp2]THIS IS[nl]A TEST". If the sign supports multiple pages, the
message is required to include multiple pages to verify that the justification
is properly applied to all pages of the message.
2 CONFIGURE: Determine the message (e.g., from the test plan) that is
intended to be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
4 VERIFY that Bit 7 of the RESPONSE VALUE for dmsSupportedMultiTags.0 Pass / Fail
is equal to one. (Section
3.6.6.2.2)
7 VERIFY that the message is displayed in accordance with Section 6.4.11 Pass / Fail
(Justification – Page). (Sections
3.6.6.2.2.1,
3.6.12.1)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The page justification tag is required to appear before any text.
For example: "[jp3]THIS IS[nl]A TEST". If the sign supports multiple
pages, the message is required to include multiple pages to verify that
the justification is properly applied to all pages of the message.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed in accordance with Section Pass / Fail (Sections
6.4.11 (Justification – Page). 3.6.6.2.2.1, 3.6.12.2)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The page justification tag is required to appear before any text. For
example: "[jp4]THIS IS[nl]A TEST". If the sign supports multiple pages, the
message is required to include multiple pages to verify that the justification
is properly applied to all pages of the message.
2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
4 VERIFY that Bit 7 of the RESPONSE VALUE for dmsSupportedMultiTags.0 Pass / Fail
is equal to one. (Section
3.6.6.2.2)
7 VERIFY that the message is displayed in accordance with Section 6.4.11 Pass / Fail
(Justification – Page). (Sections
3.6.6.2.2.1,
3.6.12.3)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The message is required to contain at least one new page tag and is
required to use two page-justifications, although one could be implicit and
use the default justification. For example: "THIS IS[nl]A
TEST[np][jp2]TEST PAGE 2", would use the default justification on page 1
and be top justified on page 2.
2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed in accordance with Section 6.4.11 Pass / Fail
(Justification – Page). (3.6.6.2.2.2)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the number of lines per page that the sign is
required to support per the specification (PRL 3.6.6.2.3) RECORD this
information as:
»Required_Max_Lines
3 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
8 VERIFY that the message is displayed with Required_Max_Lines number Pass / Fail
of lines. (Section 3.6.6.2.3)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The tag is required to include at least one instance of the new line
tag that includes a number indicating the required line spacing. For
example: "THIS IS[nl3]A TEST"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed with the selected number of Pass / Fail (Section
blank rows between lines. 3.6.6.2.3)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 For character-matrix signs, VERIFY that the text is displayed on the sign
center-justified, with either an even number of blank modules to the left
and right of the text, or an additional blank module to the right of the
text. Pass / Fail (Section
For line and full matrix signs, VERIFY that the text is displayed on the 3.6.6.2.4)
sign center-justified, with either an even number of blank columns to the
left and right of the text, or an additional blank column to the right of the
text.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The message is required to contain at least one full justification tag.
For example "[jl5]THIS IS A TEST"
2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
4 VERIFY that Bit 6 of the RESPONSE VALUE for dmsSupportedMultiTags.0 Pass / Fail
is equal to one. (Section
3.6.6.2.4)
7 For character-matrix signs, VERIFY that the left and right-most characters
of the text are displayed on the sign in the left and right-most modules, Pass / Fail
respectively. For line and full matrix signs, VERIFY that the left and right- (Section
most columns of the text are displayed on the sign in the left and right-most 3.6.6.2.4)
columns of pixels.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section
3.5.2.3.1)
Additional
Step Test Procedure Device
References
Note: The message is required to contain only one line justification tag,
which is required to occur before any text. For example: "[jl4]THIS
IS[nl]A TEST[np]TEST PAGE 2", results in text being right-justified on all
pages and on all lines.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the text is properly justified on each page. Refer to Section Pass / Fail (Section
6.4.11 (Justification – Page). 3.6.6.2.4.1)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The message is required to contain one line justification tag at the
start of each page in the message. For example: "[jl4]THIS IS[nl]A
TEST[np][jl2]TEST PAGE 2", results in right-justified text on the first
page for all lines and left-justified text on page 2.
2 CONFIGURE: Determine the message (e.g., from the test plan) that is
intended to be used to display the message. RECORD this information
as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the text is properly justified on each page. Refer to Section Pass / Fail (Section
6.4.11 (Justification – Page). 3.6.6.2.4.2)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The message is required to contain one line justification tag at the
start of each line in the message. For example: "[jl4]THIS IS[nl][jl3]A
TEST[np][jl2]TEST PAGE 2", results in right-justified text for the first line
of the first page, center-justified text for the second line of the first page,
and left-justified text on page 2.
2 CONFIGURE: Determine the message (e.g., from the test plan) that is
intended to be used to display the message. RECORD this information
as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the text is properly justified on each line of all pages. Pass / Fail (Section
3.6.6.2.4.3)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain color tags at the start of
the MULTI string. For example: "[cb9][cf0]THIS IS A TEST"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain color tags at the start of
each page of the MULTI string.
EXAMPLES:
colorClassic:
"[cb9][cf0]THIS IS A TEST - 1[np][cb0][cf9]THIS IS A TEST - 2"
"[pb9][cf0]THIS IS A TEST - 1[np][pb0][cf9]THIS IS A TEST - 2"
monochrome1Bit:
"[pb1][cf0]THIS IS A TEST - 1[np][pb0][cf1]THIS IS A TEST - 2"
monochrome8Bit:
"[pb100][cf0]THIS IS A TEST - 1[np][pb0][cf100]THIS IS A TEST - 2"
color24bit:
"[pb0,0,255][cf255,0,0]THIS IS A TEST –
1[np][pb50,50,50][cf200,200,200]THIS IS A TEST - 2"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain color tags prior to each
character of the MULTI string. The particular area of the sign that is to
be displayed using the background color is not clearly defined by the
standard. For this reason, the color rectangle tag was implemented in
Version 2.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
EXAMPLES:
colorClassic:
"[cr1,1,18,25,7][cr19,1,80,25,0]THIS IS A TEST"
monochrome1Bit:
“[cr5,5,15,20,1][cr20,5,15,20,1][cf0]THIS IS A TEST”
monochrome8Bit:
“[cr5,5,15,20,25][cr20,5,15,20,50][cf0]THIS IS A TEST”
color24bit:
“[cr5,5,15,20,255,0,0][cr20,5,15,20,0,255,0][cf0,0,255]THIS IS A
TEST”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the color rectangles and text are displayed in accordance
Pass / Fail
with the rules given in Section 6.4.4 (Color Rectangle), and in Section
(Section 3.6.6.2.5.4)
6.4.18 (Overlaying Graphics, Text Rectangles and Color Rectangles).
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
EXAMPLES:
colorClassic:
"[cr1,1,18,25,7][cr10,1,89,20,0]THIS IS A TEST"
monochrome1Bit:
“[cr1,1,25,25,1][cr5,5,15,15,0][cf1]THIS IS A TEST”
monochrome8Bit:
“[cr1,1,25,25,25][cr5,5,15,15,50][cf100]THIS IS A TEST”
color24bit:
“[cr1,1,18,25,255,0,0][cr10,1,89,20,0,255,0][cf0,0,255]THIS IS A
TEST”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
5 VERIFY that the color rectangles and text are displayed in accordance
Pass / Fail
with the rules given in Section 6.4.18 (Overlaying Graphics, Text
(Section 3.6.6.2.5.4)
Rectangles and Color Rectangles).
6 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain a font tag at the start of
the MULTI string. For example: "[fo2]THIS IS A TEST"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed using the selected font. Pass / Fail
(Section 3.6.6.2.6.1)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain font tags at the start of
each page of the MULTI string. For example: "[fo2]THIS IS A TEST -
1[np][fo1]THIS IS A TEST - 2"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 For each page, VERIFY that the message is displayed using the Pass / Fail
selected font. (Section 3.6.6.2.6.2)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain font tags prior to each
character of the MULTI string. For example: "[fo1]T[fo2]H[fo1]I[fo2]S[fo1]
IS A TEST"
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 For each character, VERIFY that the text is displayed using the selected Pass / Fail
font. (Section 3.6.6.2.6.3)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
»Test_Font
8 Calculate the MULTI string containing a font tag for the Test_Font,
including its CRC value, of the format [fox,cccc]. RECORD this
information as:
»Font_CRC_Tag_Msg
9 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
12 VERIFY that the message is displayed using the selected font. Pass / Fail
13 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
8 Calculate the MULTI string containing a font tag of the format [fox,cccc]
for the Test_Font, where the fontVersionID does NOT equal Hex_CRC.
RECORD this information as:
»Font_Incorrect_CRC_Tag_Msg
9 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
10 Determine the first and last positions that the sign may report a MULTI
error. RECORD this information as:
»Font_Error_Pos_Min
»Font_Error_Pos_Max
12 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail (Section
3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the MULTI string of the message (e.g., per the
test plan) to be displayed that includes a circular left moving text tag.
RECORD this information as:
»Circle_Left_Tag_Msg
Note: An example of a MULTI string for circular left moving text would
be [mvcl50,1,5,THIS IS A TEST ], where the window is 50 pixels wide,
the text moves one column per step, and the rate is 0.5 seconds per
step.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY per Section 6.4.13 (Moving Text Tag) that the leftmost column
of the text is initially displayed in the leftmost column of the moving text
Pass / Fail
window and the character spacing is applied between the apparent
(Section 3.6.6.2.7)
multiple copies of text. VERIFY that the text is moved to the left
according to the number of steps selected, and at the rate selected.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the MULTI string of the message (e.g., per the
test plan) to be displayed that includes a circular right moving text tag.
RECORD this information as:
»Circle_Right_Tag_Msg
Note: An example of a MULTI string for circular right moving text would
be [mvcr50,1,5,THIS IS A TEST ], where the window is 50 pixels wide,
the text moves one column per step, and the rate is 0.5 seconds per
step.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY per Section 6.4.13 (Moving Text Tag) that the rightmost column
of the text is initially displayed in the rightmost column of the moving text
Pass / Fail
window and the character spacing is applied between the apparent
(Section 3.6.6.2.7)
multiple copies of text. VERIFY that the text is moved to the right
according to the number of steps selected, and at the rate selected.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the MULTI string of the message (e.g., per the
test plan) to be displayed that includes a linear left moving text tag with
no delay. RECORD this information as:
»Linear_Left_Tag_Msg
Note: An example of a MULTI string for linear left moving text would be
[mvll50,1,5,THIS IS A TEST ], where the window is 50 pixels wide, the
text moves one column per step, and the rate is 0.5 seconds per step.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY per Section 6.4.13 (Moving Text Tag) that the leftmost column
of the text is initially displayed in the leftmost column of the moving text
window. VERIFY that the text is moved to the left according to the Pass / Fail
number of steps selected, at the rate selected, and continues until the (Section 3.6.6.2.7)
rightmost column of the text is displayed, after which the sequence
repeats from the beginning.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the MULTI string of the message (e.g., per the
test plan) to be displayed that includes a linear right moving text tag with
no delay. RECORD this information as:
»Linear_Right_Tag_Msg
Note: An example of a MULTI string for linear right moving text would be
[mvlr50,1,5,THIS IS A TEST ], where the window is 50 pixels wide, the
text moves one column per step, and the rate is 0.5 seconds per step.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY per Section 6.4.13 (Moving Text Tag) that the rightmost column
of the text is initially displayed in the rightmost column of the moving text
window. VERIFY that the text is moved to the right according to the Pass / Fail
number of steps selected, at the rate selected, and continues until the (Section 3.6.6.2.7)
leftmost column of the text is displayed, after which the sequence
repeats from the beginning.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: An example of a MULTI string for linear left moving text with a
delay would be [mvl5l50,1,5,THIS IS A TEST ], where the delay
between traverses is 0.5 seconds, the window is 50 pixels wide, the text
moves one column per step, and the rate is 0.5 seconds per step.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the text moves linear left or right, per the selected type, in
accordance with Section 6.4.13 (Moving Text Tag), and that the text is
displayed for the selected delay period when the final column of text is
displayed before the sequence repeats from the beginning.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed in accordance with Section Pass / Fail
6.4.17 (Spacing – Character). (Section 3.6.6.2.8)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that each page of the the message is displayed with the page Pass / Fail
timing selected. (3.6.6.2.9)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed, with the text enclosed between
Pass / Fail
the flashing tags initially displayed at the beginning of the page time,
(Section 3.6.6.2.11)
and then flashed in accordance with the selected flash on and off times.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed, with the text enclosed between
the flashing tags initially NOT displayed at the beginning of the page Pass / Fail
time, and then flashed in accordance with the selected flash on and off (Section 3.6.6.2.11)
times.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain a font tag at the start of at
least one page and an end flash tag at the end of a subsequent page
with at least one page not included within the tag-pair. For example:
"[fl]THIS IS[np]A TEST[/fl][np]THIS IS A TEST". The flash time is
required to be less than the page display time, so as to allow a full flash
sequence to display before the page time expires.
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed, with the text of the pages that Pass / Fail
are enclosed between the flashing tags flashing in accordance with the (Section
selected flash on and off times. 3.6.6.2.10.3)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed, with the lines of text that are Pass / Fail
enclosed between the flashing tags flashing in accordance with the (Section
selected flash on and off times. 3.6.6.2.10.2)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the message is displayed, with the characters that are
Pass / Fail
enclosed between the flashing tags flashing in accordance with the
(Section 3.6.6.2.10.1
selected flash on and off times.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the selected character is properly displayed as part of the Pass / Fail
message. (Section 3.6.6.2.12)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Note: The MULTI string is required to include a graphic tag. For example:
"[g1]"
2 CONFIGURE: Determine the message (e.g., from the test plan) that shall
be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
5 VERIFY that Bit 4 (graphic tag) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section 3.6.6.2.14)
9 VERIFY that the graphic is displayed with the upper-leftmost pixel of the Pass / Fail
graphic in the upper-leftmost corner of the sign. (Section 3.6.6.2.14)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
5 VERIFY that Bit 4 (graphic tag) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section 3.6.6.2.14)
9 VERIFY that the graphic is displayed with the upper-leftmost pixel of the Pass / Fail
graphic in the specified row and column of the sign. (Section 3.6.6.2.14)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
3 VERIFY that Bit 4 (graphic tag) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section 3.6.6.2.14)
7 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
10 VERIFY that the graphic is displayed with the upper-leftmost pixel of the Pass / Fail
graphic in the specified row and column of the sign. (Section 3.6.6.2.14)
12 Determine the first and last positions that the sign may report a MULTI
error. RECORD this information as:
»Graphic_ID_Error_Pos_Min
»Graphic_ID_Error_Pos_Max
15 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain, at the start of the MULTI
string, Color Foreground tags and, either, Color Background or Page
Background tags, in accordance with the color scheme that the sign
supports:
EXAMPLES:
colorClassic: "[pb9][cf0]BLACK ON AMBER"
monochrome1Bit: “[pb1][cf0]INVERSE”
monochrome8bit: “[pb200][cf45]DARK ON LIGHT”
color24bit: “[pb0,0,255][cf255,0,0]RED ON BLUE”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
EXAMPLES:
colorClassic:
"[pb9][cf0]BLACK ON AMBER[np][pb0][cf9]AMBER ON BLACK"
monochrome1Bit:
“[pb1][cf0]INVERSE[np][pb0][cf1]NORMAL”
monochrome8bit:
“[pb200][cf45]DARK ON LIGHT[np][pb45][cf200]LIGHT ON DARK”
color24bit:
“[pb0,0,255][cf255,0,0]RED ON BLUE[np[pb255,0,0][cf0,0,255]BLUE
ON RED”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
EXAMPLES:
colorClassic:
"[pb9][cf0]0[cf1]1[cf2]2[cf3]3[cf4]4[cf5]5[cf6]6[cf7]7[cf8]8[np][pb0][cf9]9”
monochrome1Bit:
“[pb1][cf0]0[cf1]1[cf0]0”
monochrome8bit:
“[pb25][cf0]0[cf50]50[cf100]100[cf150]150[cf200]200[cf255]255”
color24bit:
“[pb25,25,25][cf0,0,0]B[cf255,0,0]R[cf255,255,0]Y[cf0,255,0]G
[cf0,255,255]C[cf0,0,255]B[cf255,0,255]M[cf255,255,255]W”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
9 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
EXAMPLES:
"[tr1,1,50,7]TOP LINE"
“[tr39,21,0,0]LR”
2 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
7 VERIFY that the text rectangle is located on the sign in accordance with
the rules of Section 6.4.18 (Text Rectangle), and the text is justified in Pass / Fail
the text rectangle in accordance with the line and page justification tags (Section 3.6.6.2.15)
or default values.
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
C.3.8.45 Verify Rejection of a Text Rectangle that is Too Large for the Sign
Test Title: Verify Rejection of a Text Rectangle that is Too Large for the Sign
Case: This test case verifies that the DMS properly rejects a MULTI string that specifies
8.45 Description:
a text rectangle that is too large for the sign.
Text Rectangle_Too Large_Msg From the Test Plan
Msg_Type From the Test Plan
Variables: Msg_Number From the Test Plan
Text_Rectangle_Too_Large_Error_Position_Min From the Test Plan
Text_Rectangle_Too_Large_Error_Position_Max From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to contain a text rectangle tag with
height and/or width parameters that are larger than the respective height
and/or width of the sign. Additional tags (e.g. line justification, page
justification, color foreground, font) may be embedded in the text
following the text rectangle tag in accordance with requirements of the
specifying authority.
EXAMPLES:
For a sign that is 28 pixels high by 48 pixels wide -
"[tr1,1,50,7]TOO WIDE"
“[tr20,20,20,10]TOO LOW”
2 CONFIGURE: Determine the first and last positions in the MULTI string
where the text rectangle error might be flagged. RECORD this
information as:
»Text_Rectangle_Too_Large_Error_Position_Min
»Text_Rectangle_Too_Large_Error_Position_Max
3 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
C.3.8.46 Verify Rejection of Text that is Too Large for a Text Rectangle
Test Title: Verify Rejection of Text that is Too Large for a Text Rectangle
Case: This test case verifies that the DMS properly rejects a MULTI string that specifies
8.46 Description:
text that is too large for the defined text rectangle.
Text Rect_Text_Too Large_Msg From the Test Plan
Msg_Type From the Test Plan
Variables: Msg_Number From the Test Plan
Text_Rect_TTL_Error_Position_Min From the Test Plan
Text_Rect_TTL_Error_Position_Max From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
»Text_Rectangle_Text_Too_Large_Msg
Note: The MULTI string is required to contain a text rectangle tag that
includes text that is too big to fit in the defined parameters of the text
rectangle. Note that the height and width of the font used to display the
text will affect whether the text will properly display within the text
rectangle.
EXAMPLES:
For a sign that is 28 pixels high by 48 pixels wide -
"[tr1,1,14,7]TOO WIDE"
“[tr20,19,48,7]TOO[NL]HIGH”
2 CONFIGURE: Determine the first and last positions in the MULTI string
where the error might be flagged. RECORD this information as:
»Text_Rectangle_TTL_Error_Position_Min
»Text_Rectangle_TTL_Error_Position_Max
3 CONFIGURE: Determine the message (e.g., from the test plan) that
shall be used to display the message. RECORD this information as:
»Msg_Type (the memory type used to store the message)
»Msg_Number (the message number used to store the message)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current time
in the 12-hour format. For example: "THE TIME IS: [f1]"
6 VERIFY that Bit 14 ([f1]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.1)
12 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Expected_Time and is shown in 12 hour format with no am (Section
or pm indicator. 3.6.6.2.13.1)
13 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
15 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Rollover_Time, and is shown in 12 hour format with no am (Section
or pm indicator. 3.6.6.2.13.1)
16 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current time
in the 24-hour format. For example: "THE TIME IS: [f2]"
6 VERIFY that Bit 15 ([f2]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.1)
12 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Expected_Time and is shown in 24 hour format. (Section
3.6.6.2.13.1)
13 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
15 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Rollover_Time, and is shown in 24 hour format. (Section
3.6.6.2.13.1)
16 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
C.3.9.3 Verify Support of Current Time Field (12 hour Uppercase AM/PM)
Test Title: Verify Support of Current Time Field (12 hour Uppercase AM/PM)
Case: This test case verifies that the DMS allows a message to be defined with current
9.3 Description:
time with uppercase am/pm field.
Test_Global_Time From the Test Plan
Test_Time_Zone From the Test Plan
Test_Daylight_Saving From the Test Plan
Variables: Expected_Time From the Test Plan
Rollover_Time From the Test Plan
Time_AMPM_Tag_Msg From the Test Plan
Refresh_Rate PRL 3.6.6.2.13.11
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a current time tag with
AM/PM indications. For example: "THE TIME IS: [f12]"
6 VERIFY that Bit 25 ([f12]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.2)
12 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Expected_Time and is shown with capital AM/PM letters as (Section
appropriate. 3.6.6.2.13.2)
13 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
15 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Rollover_Time, and is shown in with uppercase AM/PM (Section
letters as appropriate. 3.6.6.2.13.2)
16 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
C.3.9.4 Verify Support of Current Time Field (12 hour Lowercase am/pm)
Test Title: Verify Support of Current Time Field (12 hour Lowercase am/pm)
Case: This test case verifies that the DMS allows a message to be defined with current
9.4 Description:
time with lowercase am/pm field.
Test_Global_Time From the Test Plan
Test_Time_Zone From the Test Plan
Test_Daylight_Saving From the Test Plan
Variables: Expected_Time From the Test Plan
Rollover_Time From the Test Plan
Time_ampm_Tag_Msg From the Test Plan
Refresh_Rate PRL 3.6.6.2.13.11
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a current time tag with
am/pm indications. For example: "THE TIME IS: [f13]"
6 VERIFY that Bit 26 ([f13]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.3)
12 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Expected_Time and is shown with lowercase am/pm letters (Section
as appropriate. 3.6.6.2.13.3)
13 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
15 VERIFY that the time displayed on the sign agrees with the value Pass / Fail
recorded in Rollover_Time, and is shown in with lowercase AM/PM (Section
letters as appropriate. 3.6.6.2.13.3)
16 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current day of
week. For example: "TODAY IS: [f7]"
6 VERIFY that Bit 20 ([f7]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.6)
14 VERIFY that the day of week displayed on the sign agrees with the Pass / Fail
value recorded in Expected_Day. (Section
3.6.6.2.13.6)
16 VERIFY that the field has updated to the value recorded in Pass / Fail
Rollover_Day. (Section
3.6.6.2.13.6)
21 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current day of
the month. For example: "THE DATE IS: [f8]"
6 VERIFY that Bit 21 ([f8]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.7)
15 VERIFY that the sign displays the value corresponding to Pass / Fail
Expected_Date. (Section
3.6.6.2.13.7)
17 VERIFY that the field has updated to the value corresponding to Pass / Fail
Rollover_Date. (Section
3.6.6.2.13.7)
22 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current
month. For example: "THE MONTH IS: [f9]"
6 VERIFY that Bit 22 ([f9]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.8)
14 VERIFY that the sign displays the value corresponding to Pass / Fail
Expected_Month. (Section
3.6.6.2.13.8)
16 VERIFY that the field has updated to the the value corresponding to Pass / Fail
Rollover_Month. (Section
3.6.6.2.13.8)
21 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current year
in the 2-digit format. For example: "THE YEAR IS: [f10]"
6 VERIFY that Bit 23 ([f10]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.9)
14 VERIFY that the sign displays the last two digits of the value Pass / Fail
corresponding to Expected_Year. (Section
3.6.6.2.13.9)
16 VERIFY that the field has updated to the last two digits of the the value Pass / Fail
corresponding to Rollover_Year. (Section
3.6.6.2.13.9)
21 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current year
in the 4-digit format. For example: "THE TIME IS: [f11]"
6 VERIFY that Bit 24 ([f11]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.9)
14 VERIFY that the sign displays all four digits of the value corresponding Pass / Fail
to Expected_Year. (Section
3.6.6.2.13.9)
16 VERIFY that the sign displays all four digits of the the value Pass / Fail
corresponding to Rollover_Year. (Section
3.6.6.2.13.9)
21 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current
temperature in Celsius. For example: "THE TEMPERATURE IS: [f3,2]
C"
4 VERIFY that Bit 16 ([f3]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.4)
8 VERIFY that the temperature displayed on the sign is consistent with the Pass / Fail
RESPONSE VALUE for tempMinAmbient.0 and tempMaxAmbient.0. (Section
3.6.6.2.13.4)
9 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current
temperature in Fahrenheit. For example: "THE TEMPERATURE IS: [f4]
F"
4 VERIFY that Bit 17 ([f4]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.4)
8 VERIFY that the temperature displayed on the sign is consistent with the Pass / Fail
RESPONSE VALUE for tempMinAmbient.0 and tempMaxAmbient.0. (Section
3.6.6.2.13.4)
9 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current speed
in kph. For example: "YOUR SPEED IS: [f5,3]"
4 VERIFY that Bit 18 ([f5]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.4)
8 VERIFY that the speed displayed on the sign is consistent with the Pass / Fail
RESPONSE VALUE for dmsCurrentSpeed.0. (Section
3.6.6.2.13.5)
9 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
Note: The MULTI string is required to include a tag for the current speed
in mph format. For example: "YOUR SPEED IS: [f6,2]"
4 VERIFY that Bit 19 ([f6]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section
3.6.6.2.13.5)
8 VERIFY that the speed displayed on the sign is consistent with the Pass / Fail
RESPONSE VALUE for dmsCurrentSpeed.0. (Section
3.6.6.2.13.5)
9 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
10 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
5 VERIFY that the field is properly displayed in accordance with the Pass / Fail
requirements defined by the manufacturer. (Section
3.6.6.2.13.10)
6 VERIFY that the field refreshes at a rate that is no slower than Pass / Fail
Refresh_Rate. (Section
3.6.6.2.13.11)
7 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
4 VERIFY that Bit 8 ([msx,y]) of the RESPONSE VALUE for Pass / Fail
dmsSupportedMultiTags.0 is equal to one. (Section 3.6.6.2.17)
7 VERIFY that the message is displayed in accordance with the Pass / Fail
parameters specified in the manufacturer-specific tag. (Section 3.6.6.2.17)
8 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
3.2 VERIFY that Bits 0 and 13-15 in the RESPONSE VALUE for Pass / Fail
timeBaseScheduleMonth.Schedule are equal to zero (0). (Section 3.5.2.3.4.1)
3.3 VERIFY that Bit 0 in the RESPONSE VALUE for Pass / Fail
timeBaseScheduleDate.Schedule is equal to zero (0). (Section 3.5.2.3.4.1)
4.1.2 VERIFY that the RESPONSE VALUE for dayPlanHour.Day_Plan.Event Pass / Fail
is less than or equal to 23. (Section 3.5.2.3.4.1)
5.3 RECORD the second and third octets of the RESPONSE VALUE for
dmsActionMsgCode.Action as:
»Message_Number
5.4 RECORD the fourth and fifth octets of the RESPONSE VALUE for
dmsActionMsgCode.Action as:
»Message_CRC
Additional
Step Test Procedure Results
References
Note: Valid bit-mapped values are defined in Sections 2.4.3.2.2 (Time Base
Schedule Month of Year Parameter), 2.4.3.2.3 (Time Base Schedule Day
of Week Parameter), and 2.4.3.2.4 (Time Base Schedule Date Parameter)
respectively.
5.1 CONFIGURE: Determine the times when scheduled actions are to occur
and the actions themselves (e.g., per the test plan). RECORD this
information as:
»Event_Hours[N] (the local times when the messages are intended to
begin displaying)
»Event_Minutes[N] (the local times when the messages are intended to
begin displaying)
»Action_Codes[N] (the action codes identifying the messages to be
displayed as a part of the schedule)
Note: The formats for these parameters are defined in Sections 2.4.4.3.3
(Day Plan Hour Parameter), 2.4.4.3.4 (Day Plan Minute Parameter), and
5.9.2.2 (Action Message Code Parameter), respectively. Note that the
Action Codes can reference any message supported by the DMS and
currently valid within the message table.
12.1 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.4
»dmsActionMsgCode.N = Action_Codes[N] (Section 3.6.10.2) Step c
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the UTC time to which to set the clock to monitor
the schedule. RECORD this information as:
»Schedule_UTC_Time
11 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 equals Pass / Fail
Schedule_UTC_Time + Schedule_Timezone (+ 1 hour if in DST). (Section H.2.2.4)
15 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 bit 7 Pass / Fail
(message error) is equal to 0. (Section 3.5.3.1.2)
16 VERIFY that the messages display on the sign per the events defined for Pass / Fail
the Expected_Day_Plan. (Section 3.6.10.3)
19 VERIFY that the RESPONSE VALUE for dayPlanStatus.0 is equal to Pass / Fail
Expected_Day_Plan. (Section H.2.3.2)
21 VERIFY that the RESPONSE VALUE for dmsMsgSourceMode.0 is equal Pass / Fail
to timeBasedScheduler. (Section 3.5.3.2.1)
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
4 PERFORM the test procedure labeled 'Activate a Schedule' (C.3.14.4). Pass / Fail
6 VERIFY that the message remains on the sign face and is not
overridden by any scheduled messages.
Pass / Fail
(Section 3.5.2.3.1)
Note: The tester shall wait long enough to observe at least two
subsequent message activations according to the schedule.
Additional
Step Test Procedure Results
References
7 VERIFY that the RESPONSE VALUE for maxDayPlans.0 is greater than or Pass / Fail
equal to Required_Day_Plans. (Section H.2.5.3)
8 VERIFY that the RESPONSE VALUE for maxDayPlanEvents.0 is greater Pass / Fail
than or equal to Required_Day_Plan_Events. (Section H.2.5.2)
Additional
Step Test Procedure Results
References
Note: The additional minute ensures that the message displays after the
reboot.
16 Briefly disconnect the power from the controller and then reconnect the
power.
18 VERIFY that that the sign displays the Short_Power_Loss_Msg. Pass / Fail
(Section
3.5.2.3.5.1.1)
21 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
13 PERFORM the test case labeled 'Activate a Message' (C.3.7.6) to Pass / Fail
activate the message defined in Step 5 (Section 3.5.2.3.1)
14 Disconnect the power from the controller for a period of time greater
than Power_Loss_Time and then reconnect the power.
16 VERIFY that that the sign displays the Long_Power_Loss_Msg. Pass / Fail
(Section
3.5.2.3.5.1.2)
19 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
5 SET-UP: PERFORM the test case labeled 'Define a Message' (C.3.7.2). Pass / Fail
(Section 3.5.2.3.3.3)
12 PERFORM the test case labeled 'Activate a Message' (C.3.7.6) to Pass / Fail
activate the message defined in Step 5. (Section 3.5.2.3.1)
15 VERIFY that that the sign displays the Reset_Msg. Pass / Fail
(Section
3.5.2.3.5.1.4)
17 VERIFY that the RESPONSE VALUE for dmsSWReset.0 is equal to 0. Pass / Fail
(Section 5.7.2)
20 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
16 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 1 Pass / Fail
(communications error) cleared. (Section 3.6.9)
21 VERIFY that the sign continues to display the Comm_Loss_Msg. Pass / Fail
(Section 5.7.12)
24 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 1 Pass / Fail
(communications error) set. (Section 3.6.9)
26 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
16 VERIFY that that the sign displays the End_Duration_Msg. Pass / Fail
(Section
3.5.2.3.5.1.6)
19 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
(Section 3.5.2.3.1)
Additional
Step Test Procedure Results
References
19 PERFORM the test case labeled 'Blank the Sign' (C.3.7.15). Pass / Fail
Additional
Step Test Procedure Results
References
5 VERIFY that the RESPONSE VALUE for maxEventClasses.0 is greater Pass / Fail
than or equal to Required_Event_Classes. (Section H.2.6.2)
6 VERIFY that the RESPONSE VALUE for maxEventLogConfigs.0 is greater Pass / Fail
than or equal to Required_Event_Configurations. (Section H.2.6.3)
7 VERIFY that the RESPONSE VALUE for maxEventLogSize.0 is greater Pass / Fail
than or equal to Required_Event_Log_Size. (Section H.2.7)
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the event class to utilize for this test (e.g., per
the test plan). RECORD this information as:
»Class_Index
2 CONFIGURE: Determine the log size limit to be imposed for this test on
the class (e.g., per the test plan). RECORD this information as:
»Class_Size_Limit
3 CONFIGURE: Determine the time from which all earlier logs are to be
cleared (e.g., per the test plan). RECORD this information as:
»Class_Clear_Time
4 CONFIGURE: Determine the description to be used for the log class (e.g.,
per the test plan). RECORD this information as:
»Class_Description
6 CONFIGURE: Determine the mode for the event (e.g., the comparison
operator) (e.g., per the test plan). RECORD this information as:
»Event_Mode
7 CONFIGURE: Determine the first comparison value for the event (e.g., per
the test plan) (value may need to be changed by event mode). RECORD
this information as:
»Event_Compare_Value1
8 CONFIGURE: Determine the second comparison value for the event (e.g.,
per the test plan) (value may need to be changed by event mode).
RECORD this information as:
»Event_Compare_Value2
12 SET-UP: VERIFY that the RESPONSE VALUE for maxEventClasses.0 is Section H.3.1.2
greater than or equal to Class_Index. Step a
13 SET-UP: VERIFY that the RESPONSE VALUE for maxEventLogConfigs.0 Section H.3.1.2
is greater than or equal to Event_Index. Step a
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the information about the final log entry; if known
(otherwise enter zeros). RECORD this information as:
»Last_Log_Time (the time at or before which the last event to be logged
occurred)
»Last_Log_ID (the ID of the last event to be logged)
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the time from which all earlier logs shall be
cleared (e.g., per the test plan). RECORD this information as:
»Class_Clear_Time
6 FOR EACH value, N, from 1 to Rows, perform Steps 6.1 through 6.2.
6.2 VERIFY that the RESPONSE VALUE for eventLogTime.Class_Index.N is Pass / Fail
greater than Class_Clear_Time. (Section 3.4.2.4)
Additional
Step Test Procedure Results
References
6 VERIFY that the RESPONSE VALUE for numEvents.0 is equal to the lower
2-bytes of Total_Events.
Pass / Fail
(Section 3.4.2.6)
Note: If an event occurred during this process, this condition does not hold
true.
Additional
Step Test Procedure Results
References
2 CONFIGURE: Determine the log size limit that the test shall impose on
the class (e.g., per the test plan). RECORD this information as:
»Class_Size_Limit
5 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2). Pass / Fail
10 VERIFY that the RESPONSE VALUE for numEvents.0 is equal to Pass / Fail (Section
Num_Events plus Class_Size_Limit. 3.4.2.6)
15 FOR EACH value, N, from 1 to Rows, perform Steps 15.1 through 15.2.
GO TO Step 15.
16 Create conditions to cause the device to log the event one more time.
18 VERIFY that the RESPONSE VALUE for numEvents.0 is equal to Pass / Fail
Num_Events plus 1. (Section 3.4.2.6)
22 FOR EACH value, N, from 1 to Rows, perform Steps 22.1 through 22.2..
22.2 IF N is equal to 1, then GOTO Step 22.2.1; otherwise, GOTO Step 22.
24 POST-CONDITION: The event log has been filled for subject event
class.
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with
the following parameters:
»Event_Mode = ‘onChange’ (2) Pass / Fail
(Section H.2.6.4.1)
Note: Valid enumerated values are defined in NTCIP 1103, Section
A.7.5.1.3 (Event Log Configuration Parameter).
6 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with
the following parameters: Pass / Fail
»Last_Log_Time = Time (Section H.2.6.4.1)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with
Pass / Fail
the following parameters:
(Section H.2.6.4.2)
»Event_Mode = 3 (greaterThanValue)
8 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with
the following parameters: Pass / Fail
»Last_Log_Time = Time (Section H.2.6.4.2)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with Pass / Fail
the following parameters: (Section H.2.6.4.3)
»Event_Mode = 4 (smallerThanValue)
8 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with
the following parameters: Pass / Fail
»Last_Log_Time = Time (Section H.2.6.4.3)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
4 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with
Pass / Fail
the following parameters:
(Section H.2.6.4.4)
»Event_Mode = 5 (hysteresisBound)
20 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with
the following parameters: Pass / Fail
»Last_Log_Time = Time (Section H.2.6.4.4)
»Last_Log_ID = Event_Index
32 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with
the following parameters: Pass / Fail
»Last_Log_Time = Time (Section H.2.6.4.4)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with the Pass / Fail
following parameters: (Section
»Event_Mode = 6 (periodic) H.2.6.4.5)
6 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with the
Pass / Fail
following parameters:
(Section
»Last_Log_Time = Time
H.2.6.4.5)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
2 PERFORM the test case labeled 'Configure Event Log' (C.3.12.2) with the Pass / Fail
following parameters: (Section
»Event_Mode = 7 (andedWithValue) H.2.6.4.6)
5 SET-UP: Either SET the Event_Watch_Object to a value such that the AND
operation of Event_Compare_Value1 with Event_Watch_Object equals zero,
or produce a condition such that Event_Watch_Object is changed by the
controller to a value such that the AND operation of Event_Compare_Value1
with Event_Watch_Object equals zero.
6 SET-UP: Either SET the Event_Watch_Object to a value such that the AND
operation of Event_Compare_Value1 with Event_Watch_Object does NOT
equal zero, or produce a condition such that Event_Watch_Object is changed
by the controller to a value such that the AND operation of
Event_Compare_Value1 with Event_Watch_Object does NOT equal zero.
8 PERFORM the test case labeled 'Retrieve Logged Data' (C.3.12.3) with the
Pass / Fail
following parameters:
(Section
»Last_Log_Time = Time
H.2.6.4.6)
»Last_Log_ID = Event_Index
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
3.3 VERIFY that the RESPONSE VALUE for moduleMake.N indicates Pass / Fail
the manufacturer's name of the device or component. (Section H.2.1 Item b)
3.4 VERIFY that the RESPONSE VALUE for moduleModel.N indicates Pass / Fail
the model number of the device or component. (Section H.2.1 Item c)
3.5 VERIFY that the RESPONSE VALUE for moduleVersion.N indicates Pass / Fail
the correct version number for the component moduleType.N. (Section H.2.1 Item d)
3.6 VERIFY that the RESPONSE VALUE for moduleType.N correctly Pass / Fail
indicates the type of module (i.e., hardware or software). (Section H.2.1 Item e)
Additional
Step Test Procedure Results
References
Additional
Step Test Procedure Results
References
1 Determine the time the test started according to the test computer.
RECORD this information as:
»Test_Time
7 Calculate UTC_Time plus 7200 plus the amount of time that has elapsed
since Step 1. RECORD this information as:
»Expected_Time
9 VERIFY that the RESPONSE VALUE for globalTime.0 is roughly equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
10 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is roughly Pass / Fail
equal to Expected_Time plus Time_Diff. (Section H.2.2.4)
13 VERIFY that the RESPONSE VALUE for globalTime.0 is roughly equal to Pass / Fail
Expected_Time plus 15 seconds. (Section H.2.2.4)
14 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is roughly Pass / Fail
equal to Expected_Time plus Time_Diff plus 15 seconds. (Section H.2.2.4)
15 Calculate the time to set in the agent to restore the original value. RECORD
this information as:
»Restore_UTC_Time
Additional
Step Test Procedure Results
References
1 Determine the time the test started according to the test computer.
RECORD this information as:
»Test_Time
6 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Correct_Local_Time or Correct_Local_Time plus 3600, if DST is active. (Section H.2.2.2)
7 Calculate the value of Time_Zone plus 7200. RECORD this information as:
»New_Time_Zone
9 Determine the amount of time that has elapsed since the start of the test.
RECORD this information as:
»Time_Diff
11 VERIFY that the RESPONSE VALUE for globalTime.0 is roughly equal to Pass / Fail
UTC_Time plus Time_Diff. (Section H.2.2.4)
C.3.13.5 Verify Change into Daylight Savings Period (US DST Enabled)
Test Title: Verify Change into Daylight Savings Period (US DST Enabled)
Case: This test case verifies that the DMS properly adjusts the time due to time
13.5 Description: changing from non-daylight savings period to daylight savings period when
daylight savings is enabled on the DMS.
Variables: DST_Year From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the year for which the daylight savings operation
shall be performed (e.g., per the test plan). RECORD this information as:
»DST_Year
Note: The periods during which DST is in effect were changed in 2007.
This test procedure is only valid for years 2007 and higher.
5 Calculate the local time in seconds for 1:58 am, for the 2nd Sunday in
March for the DST_Year, then subtract Time_Zone (2 minutes prior to
rollover). RECORD this information as:
»Spring_DST
9 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
13 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
C.3.13.6 Verify Change out of Daylight Savings Period (US DST Enabled)
Test Title: Verify Change out of Daylight Savings Period (US DST Enabled)
Case: This test case verifies that the DMS properly adjusts the time due to time
13.6 Description: changing from daylight savings period to non-daylight savings period when
daylight savings is enabled on the DMS.
Variables: DST_Year From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the year for which the daylight savings operation
shall be performed (e.g., per the test plan). RECORD this information as:
»DST_Year
Note: The periods during which DST is in effect were changed in 2007.
This test procedure is only valid for years 2007 and higher.
5 Calculate the local time in seconds for 1:58 am (Daylight Time), first
Sunday in November for the DST_Year, then subtract Time_Zone and 3600
(for daylight saving time) (2 minutes prior to rollover). RECORD this
information as:
»Fall_DST
9 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
13 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
C.3.13.7 Verify Change into Daylight Savings Period (US DST Disabled)
Test Title: Verify Change into Daylight Savings Period (US DST Disabled)
Case: This test case verifies that the DMS does not adjust the time due to time changing
13.7 Description: from non-daylight savings period to daylight savings period when daylight savings
is disabled on the DMS.
Variables: DST_Year
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the year for which the daylight savings operation
shall be performed (e.g., per the test plan). RECORD this information as:
»DST_Year
Note: The periods during which DST is in effect were changed in 2007.
This test procedure is only valid for years 2007 and higher.
5 Calculate the local time in seconds for 1:58 am, 2nd Sunday in March for the
DST_Year then subtract Time_Zone (2 minutes prior to rollover). RECORD
this information as:
»DST_Spring
9 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
13 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
C.3.13.8 Verify Change out of Daylight Savings Period (US DST Disabled)
Test Title: Verify Change out of Daylight Savings Period (US DST Disabled)
Case: This test case verifies that the DMS does not adjust the time due to time changing
13.8 Description: from daylight savings period to non-daylight savings period when daylight savings
is disabled on the DMS.
Variables: DST_Year From the Test Plan
Pass/Fail The DUT shall pass every verification step included within the Test Case to pass
Criteria: the Test Case.
Additional
Step Test Procedure Results
References
1 CONFIGURE: Determine the year for which the daylight savings operation
shall be performed (e.g., per the test plan). RECORD this information as:
»DST_Year
Note: The periods during which DST is in effect were changed in 2007.
This test procedure is only valid for years 2007 and higher.
5 Calculate the time in seconds for 12:58 am (Standard Time), first Sunday in
November for the DST_Year then subtract Time_Zone (2 minutes prior to
rollover). RECORD this information as:
»DST_Fall
9 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
13 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 is equal to Pass / Fail
Expected_Time. (Section H.2.2.4)
14 Calculate the local time in seconds for 1:58 am (Standard Time), first
Sunday in November for the DST_Year then subtract Time_Zone (2
minutes prior to rollover). RECORD this information as:
»DST_Fall
Additional
Step Test Procedure Results
References
2.2 VERIFY that the RESPONSE ERROR is equal to ‘noError’ or Pass / Fail
‘noSuchName’. (RFC 1157)
2.4 VERIFY that the RESPONSE ERROR is equal to ‘noError’. Pass / Fail
(RFC 1157)
2.5 VERIFY that the OID of the returned object is lexicographically larger than Pass / Fail
the OID contained in the request. (RFC 1157)
2.6 DETERMINE the OID of the retrieved object. RECORD this information as:
»Last_Object
3 VERIFY that the returned OID is identical to that sent in the request. Pass / Fail
(RFC 1157)
4 VERIFY that all supported objects have been returned in Steps 2.1-2.7 Pass / Fail
(Section
3.4.1.3)
Additional
Step Test Procedure Results
References
6.2 VERIFY that the RESPONSE VALUE for communityNameIndex.N is NTCIP 1103,
Pass / Fail
equal to N. Section
(Section 3.4.4.1)
A.8.3.1.1
6.3 VERIFY that the RESPONSE VALUE for communityNameUser.N NTCIP 1103,
Pass / Fail
consists of an octet string of at least 6 but not more than 16 octets. Section
(Section 3.4.4.1)
A.8.3.1.2
Additional
Step Test Procedure Results
References
6 Configure the test program to use New_User for the ‘community’ field of
the SNMP message.
8 VERIFY that the RESPONSE VALUE for globalTime.0 is valid. Pass / Fail
(RFC 1157)
12 VERIFY that the RESPONSE VALUE for globalTime.0 is valid, Pass / Fail
incremented by the time that has elapsed between Steps 7 and 11. (RFC 1157)
15 Configure the test program to use New_User for the ‘community’ field of
the SNMP message.
20 VERIFY that the RESPONSE VALUE for globalTime.0 is 100000000 Pass / Fail
plus the time that has elapsed between Steps 18 and 20. (RFC 1157)
33 Configure the test program to use Saved_User for the ‘community’ field
of the SNMP message.
Additional
Step Test Procedure Results
References
4.2 VERIFY that the RESPONSE VALUE for dmsMaxChangeableMsg.0 Pass / Fail Section 4.2.3.2
is greater than or equal to Msg_Number. (Section 3.5.2.3.3.3) Step a
5.2 VERIFY that the RESPONSE VALUE for dmsMaxVolatileMsg.0 is Pass / Fail Section 4.2.3.2
greater than or equal to Msg_Number. (Section 3.5.2.3.3.3) Step a
5.3 VERIFY that the RESPONSE VALUE for dmsFreeVolatileMemory.0 is Pass / Fail Section 4.2.3.2
greater than or equal to the length of the Msg_Multi_String. (Section 3.5.2.3.3.3) Step b
9 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.2
»dmsMessageStatus.Msg_Type.Msg_Number = 'modifyReq' (6) (Section 3.5.2.3.3.3) Step c
18 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.2
»dmsMessageStatus.Msg_Type.Msg_Number = 'validateReq' (7) (Section 3.5.2.3.3.3) Step i
Note: If the DMS stays in the 'validating' state for an excessively long
time, the DMS may be considered to fail this test case.
21.7 VERIFY that the RESPONSE VALUE for dmsValidateMessageError.0 Pass / Fail
is equal to 'none'. (Section 3.5.2.3.3.3)
21.16 EXIT.
22.2 VERIFY that Expected_Multi_Error_Code is not equal to ‘none’ (2). Pass / Fail
(Section 3.5.2.3.3.3)
22.4 VERIFY that the RESPONSE VALUE for dmsValidateMessageError.0 Pass / Fail
is equal to Expected_Validate_Error_Code. (Section 3.5.2.3.3.3)
22.5.2 VERIFY that the RESPONSE VALUE for dmsMultiSyntaxError.0 is Pass / Fail
equal to Expected_Multi_Error_Code. (Section 3.5.2.3.3.3)
Additional
Step Test Procedure Results
References
Note: Rules for calculating the CRC are defined in Section 5.6.8.5
(Message CRC Parameter).
5 SET-UP: Calculate the activation code for the message. RECORD this
information as:
»Msg_Activation_Code
Note: Rules for calculating the activation code are defined in Section 5.1
6 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.3.1
»dmsActivateMessage.0 = Msg_Activation_Code (Section 3.5.2.3.1) Step b
9.3 IF the RESPONSE VALUE indicates ‘slowActivatedError’ (3), GOTO Section 4.2.3.7
Step 11.1. Step e
9.4 IF the RESPONSE VALUE indicates ‘slowActivatedOK’ (2), GOTO Step Section 4.2.3.7
10.1. Step g
10.3 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 bits 7 and Section 4.2.3.1
Pass / Fail
12 (message error and drum-sign rotor error) are both equal to 0. Step c or 4.2.3.7
(Section 3.5.3.1.2)
Step h
10.5 VERIFY that the message is visible on the sign face. Pass / Fail
(Section 3.5.2.3.1)
10.6 EXIT.
11.1 VERIFY that the sign display did not change. Pass / Fail -
11.4 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 has bit 7
Pass / Fail
set to one (1), indicating “message error’.
11.6 VERIFY that the RESPONSE VALUE for dmsActivateErrorMsgCode.0 Pass / Fail
is equal to Msg_Activation_Code. (Section
3.5.3.1.4.5)
11.8.5.2 VERIFY that the RESPONSE VALUE agrees with the error that
Pass / Fail
occurred.
Additional
Step Test Procedure Results
References
3 SET-UP: PERFORM the test case labeled 'Blank the Sign' (C.3.7.15).
Note: This step ensures that the graphic and message are not in use
and can be edited.
7 Calculate the size of the sample graphic. RECORD this information as:
»Test_Graphic_Size
15 VERIFY that the RESPONSE VALUE for Pass / Fail Section 4.2.2.6
dmsGraphicStatus.Test_Graphic_Index is equal to 'modifying' (2). (Section 3.5.1.4.5) Step e
16 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.6
»dmsGraphicHeight.Test_Graphic_Index = Test_Graphic_Height (Section 3.5.1.4.5) Step f
18.1 Calculate the number of blocks for the graphic. RECORD this
information as:
»Number_Of_Blocks
Note: See Section 5.12.7 (Graphics Bitmap Table Parameter) for the
rules used to determine this value.
18.2.1 Calculate the byte stream to be stored for the Nth block of the graphic.
RECORD this information as:
»Graphic_Block
18.2.2 SET the following object(s) to the value(s) shown: Pass / Fail Section 4.2.2.6
»dmsGraphicBlockBitmap.Test_Graphic_Index.N = Graphic_Block (Section 3.5.1.4.5) Step h
GO TO EXIT.
Additional
Step Test Procedure Results
References
5 VERIFY that the RESPONSE VALUE for controllerLocalTime.0 equals Pass / Fail
Schedule_UTC_Time + Schedule_Timezone (+ 1 hour if in DST). (Section H.2.2.4)
9 VERIFY that the RESPONSE VALUE for shortErrorStatus.0 bit 7 Pass / Fail
(message error) is equal to 0. (Section 3.5.3.1.2)
12 VERIFY that the RESPONSE VALUE for dayPlanStatus.0 is equal to Pass / Fail
Expected_Day_Plan. (Section H.2.3.2)
Annex D
Documentation of Revisions [Informative]
Annex D identifies the changes that have been made to NTCIP 1203 v02 to develop NTCIP 1203 v03.
The primary purpose of NTCIP 1203 v03 is to provide detailed, but generic test procedures for testing an
implementation of this standard. Several minor changes and corrections were also made. Annex D
identifies the changes between NTCIP 1203 v02 and NTCIP 1203 v03, and why each of these changes
have been made.
Requirement 3.6.8.4 – Support Single Color is now mandatory. Logically, all signs must be able to
support the monochrome 1bit scheme, thus in Section 3.3.4 Protocol Requirements List - Supplemental
Table, Requirement ID 3.6.8.4 is now mandatory.
When a font is deleted by changing its fontStatus to ‘notUsed’ the fontNumber remains, and, according to
Section 5.4.2.2, values for this object must be unique across all entries, not just valid entries. Thus, for
dialog 4.3.1.4, added the following step after Step B, "If the management station SETs the fontStatus to
'readyForUseReq', if the corresponding fontNumber is not unique among all fonts with fontStatus set to
permanent, readyForUse, inUse, or unmanaged, a badValue error will be returned and the fontStatus will
change to notInUse." Also, removed the last sentence, “A device shall return a badValue error if this
value is not unique.” from Section 5.4.2.2, fontNumber.
A change was made to dialog 4.3.5, Message Activation Consistency Check Definition. Steps e-g were
moved to the beginning of the dialog so a management station can verify it has permission to set the
value before attempting to validate the activation of a message.
Added clarifications to the description for object 5.5.22, Color Scheme Parameter.
Corrected the reference in the description for object 5.6.1, Number of Permanent Messages Parameter.
Clarified the description for object 5.7.15, End Duration Message Parameter. Previously, reference is
made to assigning a new message to replace the previous method, but NTCIP does not support this
functionality – only one message may be active at a time. Changed to description to clarify the intent.
A change was made to object 5.7.16, Memory Management Parameter. As the graphic table contents
are changeable by the user and must survive a controller reset, by definition, graphics are stored in
changeable memory. To preclude ambiguous interpretation of the description of the dmsMemoryMgmt
object, this change provides a clear distinction between clearing all changeable memory and clearing
messages in changeable memory.
Corrected the formula for calculating the direct manual light output in object 5.8.6, Illumination Manual
Level Parameter.
Annex E
Frequently Asked Questions [Informative]
Annex E addresses questions that readers of NTCIP 1203 v02 or , in future, NTCIP 1203 v03 might ask.
The intent is to clarify issues in NTCIP 1203 v02 and NTCIP 1203 v03 that are not easily understood and
to point out features that are intentionally not covered by NTCIP 1203 v02 or NTCIP 1203 v03.
E.1 Does NTCIP 1203 v02 include a feature to automatically blank a sign (or take other action)
in the event that the sign becomes illegible due to pixel errors?
The idea here is to have the sign monitor the number of pixel errors and, through some non-standardized,
non-defined, vendor-specific algorithm, determine whether the sign is considered “legible.” If illegible, the
sign could automatically blank itself or take another action. This is conceptually a good idea, but
practically very difficult to effectively implement and therefore not recommended by the NTCIP DMS
Working Group (WG). The difficulty comes in determining what constitutes illegibility. The WG determined
that purely basing illegibility on a percentage or number of failed pixels is not sufficient. For example,
consider the following cases:
a) A hundred (100) failed pixels in an unused portion of the sign face and the maximum allowable
number of pixels is defined as ninety (90) pixels. The message would still be legible, but the number
of failed pixels would have been exceeded. However, another message might not be legible
depending on line and/or page justification, characters used, etc.
b) Consider an “8” character that appears as a “3” by failing only four pixels in the left column. A more
complicated algorithm may be possible, but the computational requirements would likely exceed
typical sign controllers.
From a larger perspective, if the displayed message is important, it is not desirable to arbitrarily blank the
sign, when the intent of the message may still be discernable even with a large number of failed pixels.
However, there is a solution to this potential user need, which may not be executed via the interface
between the central computer and the sign controller (the content of NTCIP 1203 v02), but instead be
determined via the central computer software. Such a feature could be implemented in the central (with
no interface to the sign) by examining pixel error information that is already provided by NTCIP 1203 v02.
Alternatively, the legibility feature could be implemented in a sign without requiring any interface between
central and sign. However, this implementation would necessitate the need for additional (vendor-
specific) objects so that the operator at the central computer is alerted, when a sign controller takes a
non-operator-recommended action based on the results of a sign controller-internal legibility algorithm.
E.2 Does NTCIP 1203 v02 include a feature to automatically dim an LED sign at a defined high
temperature in an attempt to reduce internal heat?
The NTCIP DMS WG does not believe that implementing this feature necessarily requires any interaction
between the central and the sign; therefore, no additional MIB objects are defined.
Since dimming a sign will reduce the sign’s legibility by some degree, there is a concern that arbitrarily
doing so—with no guarantee that the sign’s temperature will NOT continue to increase to the point of a
sign display shutdown due to exceeding the critical temperature (see
dmsTempSensorHighCriticalTemperature and dmsTempSensorLowCriticalTemperature object)—could
be counterproductive.
E.3 Does NTCIP 1203 v02 include a feature to control multiple physical signs from a single
controller?
The NTCIP DMS WG has decided that there is no need for additions to NTCIP 1203 v02 to address this
issue. It is expected that in such a setup, the controller would respond to multiple addresses with each
appearing as a complete, independent sign to the central. In theory, there would be an entirely unique
MIB database for each sign, but in practice portions of the MIB data may be shared. However, due to the
multitude of possible combinations of the various data elements that could be shared, the WG believes
that any attempt to standardize this feature would fail in real-life implementations.
E.4 Does NTCIP 1203 v02 include a testing/training mode whereby a central can operate signs
without any messages appearing on the face of the sign?
The NTCIP DMS Working Group does not recommend such a mode, which is the reason why the
‘simulation’ mode as previously defined within the dmsControlMode object was deprecated. The main
concern is that with such a mode, the operator could easily forget that a sign was in the testing/training
mode and falsely believe s/he was activating a real message on the face of the sign. It was also decided
that there was insufficient demand for such a mode to warrant the time required to carefully defining such
a mode and how it would impact all other operations and data in the sign.
E.5 Does NTCIP 1203 v02 include a feature to control external devices such as HOV lane
gates?
The NTCIP DMS WG has decided that this functionality is already defined via the ‘auxiliary input output’
object definitions defined in NTCIP 1201 v2.
E.6 Wouldn't it be useful to have an object to report back the version of NTCIP 1203 v02/MIB
that is implemented in the device (e.g. DMS)?
This has to do with compatibility between version 1 and version 2 of the objects. This way the central
system would know, without the MIB of the device, what version is implemented in the device.
The NTCIP DMS WG decided to address this functionality in NTCIP 1201 version 2 (Global Objects),
because this capability should be universally available. The name of this object definition is 'controller-
BaseStandards' defined under NTCIP 1201 v2 Section 2.2.4.
E.7 Does NTCIP 1203 v02 support the control of Lane Use Signals.
NTCIP 1203 v02 allows addressing Lane Use Signals by defining each Signal Head basically as a DMS.
Each possible indication (Red X, Green ↓, and potentially other indications) would be defined as a
message in the dmsMessageTable.
While the NTCIP DMS WG understands that this is not the most efficient implementation and that
coordinated activation of subsequent signal heads over a particular lane cannot be managed via this
method, the decision was made not to further complicate NTCIP 1203 v02 by attempting to address this
advanced function. Additionally, the coordinated activation could potentially be addressed by a Central
System managing the LUS.
E.8 Why is the range of the "brightness output" in the dmsIllumBrightnessValues table
0..65535 instead of 0..dmsIllumNumBrightLevels?
This question points out one confusing aspect of the illumination objects, and their usage. That is the
relationship between 'Brightness Levels', 'Light Output' and the brightness table defined by
'dmsIllumBrightnessValues'. Brightness level refers to the values used by the objects
dmsIllumNumBrightLevels, dmsIllumBrightLevelStatus and dmsIllumManLevel. There is no direct
correlation between the Brightness Level and the amount of light actually used to illuminate the sign
(except for level 0, which indicates no illumination, and that numerically higher Brightness levels do not
have a Light Output lower than the previous level). The actual amount of light, or Light Output, used for a
given Brightness Level is defined using the dmsIllumBrightnessValues (in the fields labeled lightOutput x)
and is reported to the user in the dmsIllumLightOutputStatus object. In addition to defining the light output
for a given lightOutput n, the dmsIllumBrightnessValues object also defines the photocell readings used
to move up or down to other levels when dmsIllumControl is set to photocell (2). When defining the light
output for the different lightOutput values, it is important to note that the range for these values is always
0 (off) to 65536 (Full brightness), and cannot be sub ranged, thus providing for interoperability and
interchangeability. The brightness control system in the DMS can map these values to whatever the
hardware requires to generate the selected illumination levels. The table that used to exist within the MIB
follows.
-- 0 1 2 3
-- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-- +-+-+-+-+-+-+-+-+
-- |NumEntries = n |
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-- | lightOutput 1 | Photocell-Level-Down point 1 |
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-- | Photocell-Level-Up point 1 | lightOutput 2 |
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-- | Photocell-Level-Down point 2 | Photocell-Level-Up point 2 |
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
--
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-- | Photocell-Level-Down point n | Photocell-Level-Up point n |
-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
E.9 What is the correct way to interpolate a brightness table, and why would you do it?
A system may be designed to interpolate a brightness table when the DMS supports more Brightness
Levels than NTCIP 1203 v02 supports, or when the dmsIllumBrightnessValues object specifies fewer
Brightness Levels than the DMS supports. This may be done for several reasons, such as making
changes to the illumination less visible to the viewer. If a DMS supports fewer levels than what the
management station attempts to set, interpolation should not occur and dmsBrightnessValuesError
should be set to tooManyLevels (5). The actual method to interpolate the data is manufacturer specific.
However, if a system is designed to interpolate the Brightness Table defined by the
dmsIllumBrightnessValues object, this interpolation should not be discernable by inspecting the DMS
Illumination objects. That is to say that the DMS should 'un-interpolate' data before setting values to the
status objects, should not modify the value of dmsIllumBrightnessValues, and should select the correct
'interpolated' level when a level is selected manually. The only exception to this is the
dmsIllumLightOutputStatus object, which should report the actual Light Output mapped from the
hardware to the 0 to 65535 range.
E.10 Why does NTCIP 1203 v02 not address NTCIP-specific traps?
The main reason is that NTCIP traps (following the scheme defined in SNMP) are not addressed in this
standard is that the NTCIP community at large needs to first lay out the framework for traps in general.
Traps cannot just be developed in isolation by a particular working group, but need to be considered from
an ITS systems point of view. Currently, the NTCIP BSP2 WG is working on such a framework as part of
NTCIP 1103, but it is neither clear nor foreseeable when the final solution will be available. From the
perspective of NTCIP 1203 v02, it would be dangerous to address traps at this point, since we need to
avoid standardizing one method in one standard, and then ask for a change based on the definitions in
another, later-developed/upgraded standard.
However, the NTCIP 1103 standard will likely standardize on a method that will allow any implementation
to utilize the trap mechanism without the need for device-specific traps. Current plans call for a method
that will allow any object/data element standardized to be effectively assignable as a trap. However, we
need to wait until NTCIP 1103 included that trap mechanism.
E.11 Does NTCIP 1203 v02 support the capability to provide moving graphics (similar to moving
text or arrows)?
At the present time and for this version, the DMS WG did not receive any user needs to provide a
standardized approach to such a feature. Therefore, this function is not addressed within NTCIP 1203
v02.
Another method is to create another font with zero character spacing and zero line spacing; but this is not
the preferred method.
E.13 In the User Comment Drafts of NTCIP 1203 v02, there was a mechanism to allow triggers to
activate actions. In this version, it has been removed. Why?
During the development of version 2, the WG considered adding a mechanism to provide a mechanism to
use certain triggers (both internal and external inputs) to allow activation of actions (again, internal and
external outputs). However, after receiving many comments regarding the resulting complexity and
subsequent WG discussions, it was concluded that the mechanism will either remain as complex as it
was proposed or it will become so simple that it looses the originally desired flexibility. After much
discussion, the WG decided to not include this mechanism in NTCIP 1203 v02. Users desiring this
functionality may still acquire and implement it by using manufacturer-specific object definitions.
Annex F
ASCII Table and Description [Informative]
Annex F is provided as a Recommendation. The information was copied from the following homepage:
http://www.ecsu.ctstateu.edu/personal/faculty/whiter/Csc100/ASCII-code/ascii.htm
7
F.1 Standard ASCII Chart (7 bit = 2 )
Dec Hx Oct Char Dec Hx Oct Char Dec Hx Oct Char Dec Hx Oct Char
--------------- --------------- --------------- ---------------
0 00 000 NUL (null) 32 20 040 SPACE 64 40 100 @ 96 60 140 `
1 01 001 SOH (start of heading) 33 21 041 ! 65 41 101 A 97 61 141 a
2 02 002 STX (start of text) 34 22 042 " 66 42 102 B 98 62 142 b
3 03 003 ETX (end of text) 35 23 043 # 67 43 103 C 99 63 143 c
4 04 004 EOT (end of transmission) 36 24 044 $ 68 44 104 D 100 64 144 d
5 05 005 ENQ (enquiry) 37 25 045 % 69 45 105 E 101 65 145 e
6 06 006 ACK (acknowledge) 38 26 046 & 70 46 106 F 102 66 146 f
7 07 007 BEL (bell) 39 27 047 ' 71 47 107 G 103 67 147 g
8 08 010 BS (backspace) 40 28 050 ( 72 48 110 H 104 68 150 h
9 09 011 TAB (horizontal tab) 41 29 051 ) 73 49 111 I 105 69 151 i
10 0A 012 LF (NL line feed,new ln) 42 2A 052 * 74 4A 112 J 106 6A 152 j
11 0B 013 VT (vertical tab) 43 2B 053 + 75 4B 113 K 107 6B 153 k
12 0C 014 FF (NP form feed,new pg) 44 2C 054 , 76 4C 114 L 108 6C 154 l
13 0D 015 CR (carriage return) 45 2D 055 - 77 4D 115 M 109 6D 155 m
14 0E 016 SO (shift out) 46 2E 056 . 78 4E 116 N 110 6E 156 n
15 0F 017 SI (shift in) 47 2F 057 / 79 4F 117 O 111 6F 157 o
16 10 020 DLE (data link escape) 48 30 060 0 80 50 120 P 112 70 160 p
17 11 021 DC1 (device control 1) 49 31 061 1 81 51 121 Q 113 71 161 q
18 12 022 DC2 (device control 2) 50 32 062 2 82 52 122 R 114 72 162 r
19 13 023 DC3 (device control 3) 51 33 063 3 83 53 123 S 115 73 163 s
20 14 024 DC4 (device control 4) 52 34 064 4 84 54 124 T 116 74 164 t
21 15 025 NAK (negative acknowledge)53 35 065 5 85 55 125 U 117 75 165 u
22 16 026 SYN (synchronous idle) 54 36 066 6 86 56 126 V 118 76 166 v
23 17 027 ETB (end of trans. block) 55 37 067 7 87 57 127 W 119 77 167 w
24 18 030 CAN (cancel) 56 38 070 8 88 58 130 X 120 78 170 x
25 19 031 EM (end of medium) 57 39 071 9 89 59 131 Y 121 79 171 y
26 1A 032 SUB (substitute) 58 3A 072 : 90 5A 132 Z 122 7A 172 z
27 1B 033 ESC (escape) 59 3B 073 ; 91 5B 133 [ 123 7B 173 {
28 1C 034 FS (file separator) 60 3C 074 < 92 5C 134 \ 124 7C 174 |
29 1D 035 GS (group separator) 61 3D 075 = 93 5D 135 ] 125 7D 175 }
30 1E 036 RS (record separator) 62 3E 076 > 94 5E 136 ^ 126 7E 176 ~
31 1F 037 US (unit separator) 63 3F 077 ? 95 5F 137 _ 127 7F 177 DEL
th 8
F.2 Extended ASCII Codes (8 bit => 2 )
These were added later, and are not true ASCII. There are different extended sets, but this is the most
common.
Annex G
SNMP Interface [Normative]
The DMS shall conform to the requirements for the Simple Network Management Protocol (SNMP) as
defined in NTCIP 1103 v02. Annexes G.1 through G.4 provide a description of the key services offered by
SNMP assuming no errors. Precise rules and procedures are defined in NTCIP 1103 v02. Annex G.5
extends the requirements of NTCIP 1103 v02 by providing additional requirements that supplement, but
do not replace any requirements of NTCIP 1103 v02.
Note: To promote interoperability and to reflect marketplace realities, NTCIP requires support for
SNMP. Use of other protocols defined in NTCIP 1103 v02 (e.g., the Simple Transportation
Management Protocol and the Simple Fixed Message Protocol) is discouraged for DMS as these
have not been widely implemented in DMS and thus would likely result in decreased
interoperability, limited competition, and increased resources for testing, integration, and
maintenance.
: Controller
: Management
Station
Get(varBindingList)
GetResponse(varBindingList)
This generic process is customized by subsequent sections of NTCIP 1203 v03, by referencing the ‘GET’
operation, and directly by the RTM, by section number, to fulfill a wide range of the requirements defined
in Section 3.
: Controller
: Management
Station
GetNext(varBindingList)
GetResponse(varBindingList)
: Controller
: Management
Station
Set(varBindingList)
GetResponse(varBindingList)
Note: The response message issued to an SNMP Set request is the same message structure as
used to respond to an SNMP Get request. The SNMP standard calls this response message a
GetResponse, but it is in fact a response to either a GET or a SET.
This generic process is customized by subsequent sections of this standard, by referencing the ‘SET’
operation, and directly by the RTM, by section number, to fulfill a wide range of the requirements defined
in Section 3. Additional rules for SETs are defined by the Control Mode State Machine. (See Section
4.3.3.)
The DMS shall not associate any semantics to the ordering of objects within the varBindingsList. As
required by RFC 1157, Section 4.1.5, each object shall be affected “as if simultaneously set with respect
to all other assignments specified in the same message.”
G.5.5 Performance
The DMS shall process the Get, GetNext, or Set request in accordance with all of the rules of NTCIP
1103 v02, including updating the value in the database and initiating the transmission of the appropriate
response (assuming that the DMS has permission to transmit) within 1 second of receiving the last byte of
the request.
Note: If a user desires a shorter response time, s/he will need to specify this in the specifications.
Annex H
NTCIP 1201 v03 Derived User Needs, Functional Requirements, and Dialogs
[Informative]
The annex content serves as a reference for NTCIP 1203 v02. Eventually this reference information may
be moved to successors of NTCIP 1201 v03 and NTCIP 1103 v02.
Note: At the time, the DMS WG needed to reference certain information from NTCIP 1201 (Global
Object Definitions) such as user needs, functional requirements, and dialogs, NTCIP 1201 did not
contain this type of information to the extent necessary NTCIP 1201 v2 does contain a Concept of
Operations for 3 relevant functions that might be used in conjunction with DMS). The DMS WG,
with support from the NTCIP BSP2 WG and from NEMA, decided to develop and provide the
following temporary references within an annex in this standard (NTCIP 1203 v03). Annex H wiill
be deleted when NTCIP 1201 supports the information contained within.
H.1 Introduction
Content in Annex H exists to serve as a reference for NTCIP 1203 v02. Eventually this information
needed for reference may exist within the standard referenced.
Note: A day selection pattern is a mechanism that selects a day plan to run based on the given
day matching a pattern for months, days of week, and dates of month.
Note: This allows a user to monitor an event based on the value of any data.
a) (Precondition) The management station shall be aware of the number of classes and event
configurations supported by the DMS. (See Annex A for Requirement 3.4.2.5)
b) For each row of the event class table, the management station shall GET the following data:
1) eventClassLimit.x
2) eventClassClearTime.x
3) eventClassDescription.x
c) For each row of the event configuration table, the management station shall GET the following data:
1) eventConfigClass.y
2) eventConfigMode.y
3) eventConfigCompareValue.y
4) eventConfigCompareValue2.y
5) eventConfigCompareOID.y
6) eventConfigLogOID.y
7) eventConfigAction.y
8) eventConfigStatus.y
Where:
x = event class number
y = event configuration identifier
a) (Precondition) The management station shall ensure that there are sufficient rows in the event
configuration and event class tables to download the proposed configuration.
b) The management station shall SET the following data to the desired values to configure each desired
event class:
1) eventClassLimit.x
2) eventClassClearTime.x
3) eventClassDescription.x
NOTE—Each event type to be monitored is classified into one event class. For example, critical
events may be grouped into Class 1 events and warnings may be grouped into Class 2 events. This
step, defines the structure of each class of events.
c) The management station shall SET the following data to the desired values to configure each desired
event to be monitored:
1) eventConfigClass.y
2) eventConfigMode.y
3) eventConfigCompareValue.y
4) eventConfigCompareValue2.y
5) eventConfigCompareOID.y
6) eventConfigLogOID.y
7) eventConfigAction.y
Note: Depending on the value of eventConfigMode, not all other objects may be necessary for the
event to be defined, however, they shall always be SET as a part of the standardized dialog.
d) The management station shall GET eventConfigStatus.y to ensure that there is not an error in the
configuration.
Where:
x = event class number
y = event configuration identifier
a) (Precondition) The management station shall be aware of the number of events that had previously
been reported for the device for the subject event class (e.g., from the previous performance of this
operation).
b) The management station shall GET the following data:
1) eventClassNumRowsInLog.x
2) eventClassNumEvents.x
c) If eventClassNumEvents.x has not changed since the previous reading, the management station shall
exit the process. Otherwise, the management station shall determine the additional number of events
that have occurred since the last read.
Note: This is generally determined by subtracting the previous number of events from
eventClassNumEvents; however, since this object wraps at 65535, the management station should
be prepared to determine the differential if eventClassNumEvents is less than the previous number.
d) The management station shall determine the lesser of eventClassNumRowsInLog and the additional
number of events that have occurred since the last read. This number shall be termed the Events to
Read.
e) Starting with y = eventClassNumRowsInLog and working down until y = (eventClassNumRowsInLog -
Events to Read), the management station shall GET the following data:
1) eventLogID.x.y
2) eventLogTime.x.y
3) eventLogValue.x.y
f) Repeat the same GET operation with y decremented by one (1) for each set of duplicated values
(until y reaches a value of zero (0)).
Note: If the event class is full and another event occurs, the new event is recorded in the last entry
and all previously logged data is moved to one index lower with index 1 being deleted from the table.
Thus, if a duplicate row is detected (e.g., same event at same time), it is likely an indication that the
same event is being read and that a new event was added to the log.
Note: The management station may wish to clear the event log after the read to minimize the above
problem.
Where:
x = event log class
y = event log number
Where:
x = module number.
DMS
DMS