ANSI C12.19 Conformance Tests

Document Sample
ANSI C12.19 Conformance Tests Powered By Docstoc
					AMERICAN NATIONAL STANDARD                                                      WG3, ANSI C12.23



                                                                       Contribution #: [CT0107-004-3]

                                        CONTRIBUTION
Project:                 Compliance Testing for
                         ANSI C12.19-1997,IEEE 1377-1997, MC-Requirements

Title:                   NERTEC Standards Conformance Tests

Author(s):               Michel Veillette

Contact:                 Name:                  Michel Veillette
                         Organization:          NERTEC Design Inc.
                         Address:               950 Cowie Street, Granby, Québec, J2J 1P2
                         Phone Number:          450 375-0556
                         Fax Number:            450 375-8746
                         E-Mail Address:        michel@nertec.com

Related Document(s):        ANSI Std C12.23-200x “COMPLIANCE TESTING FOR STANDARD
                             PROTOCOLS AND TABLES (C12.18, C12.19, C12.21, C12.22)
                            ANSI Std C12.19-1997
                            ANSI Std C12.18-1996
                            TF0009-048-4-2001, Event-Logger Implementation Model –
                             Terminology
                            Utility Industry Standard Tables User’s Guide , Part I, Ch 11, “C1219-
                             Standard-event-log-tables”, 2001

Supersedes               None

Submission Date:         July 2, 2001

Distribution:               Industry Canada Task Force members
                            ANSI C12 SC17 members
                            IEEE SCC31 members

Abstract:                This contribution is a collection of compliance test procedures that were
                         developed by NERTEC Design Inc. aimed to validate the implementation
                         correctness of an ANSI C12.19-1997/IEEE-1377 end device.
                         The test suite outlined in this contribution performs an assessment of the
                         ANSI Std C12.19-1997 table construction correctness as transmitted using
                         ANSI Std C12.18-1996 communication protocol. The tests proposed do not
                         include end device accuracy, reliability tests, hardware interface quality,
                         signalling strengths, factory configuration, set-up or assessment of
                         implementation logic.

Objectives addressed     It is the intention of NERTEC Design Inc. to submit these procedures to the
and/or introduced:       ANSI C12.17 Work Group 3 for incorporating them into the Standard. It is
                         also hoped that the processes described within shall act as a reference of
                         acceptance criteria for Measurement Canada approval of type testing.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                       WG3, ANSI C12.23




                         ANSI C12.19 over ANSI C12.18
                         Standards Conformance Tests


1. Scope
This document is a collection of compliance test procedures that were developed by NERTEC Design Inc.
aimed to validate the implementation correctness of an ANSI C12.19-1997/IEEE-1377 device that
communicates using the ANSI C12.18-1996 Standard communication protocol.

NERTEC Design Inc designed the bulk of the procedures described in this document. However, significant
portions include derived concepts and extensions based on the work of the ANSI C12.17 Work Group 3,
consultations with Measurement Canada and references derived from Measurement Canada's published
“Utility Industry Standard Tables User’s Guide”.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                                                               WG3, ANSI C12.23




                                                              Table of Content
1.      SCOPE ............................................................................................................................................................ 2

2.      GENERAL CONFORMANCE STATEMENT .......................................................................................... 6
     2.1. THE TEST APPLICATION ........................................................................................................................... 6
     2.2. THE TEST APPLICATION AS A REFERENCE ANSI C12.19/IEEE-1377 IMPLEMENTATION ......................... 6
     2.3. TEST RESULTS AND RANKING CATEGORIES ............................................................................................. 6
        2.3.1.  Not Applicable ................................................................................................................................. 6
        2.3.2.  Not Tested ........................................................................................................................................ 6
        2.3.3.  Conforming ...................................................................................................................................... 7
        2.3.4.  Conforming with Discrepancy ......................................................................................................... 7
        2.3.5.  Non-conforming ............................................................................................................................... 7
        2.3.6.  Non-conforming, Rejected ............................................................................................................... 7
        2.3.7.  Test Remarks.................................................................................................................................... 7
     2.4. THE APPROACH TO TESTING .................................................................................................................... 7
        2.4.1.  What Is Assessed .............................................................................................................................. 7
        2.4.2.  What Is Not Assessed ....................................................................................................................... 8
     2.5. DEFINITIONS ............................................................................................................................................. 8
        2.5.1.  ANSI ................................................................................................................................................. 8
        2.5.2.  Application Layer ............................................................................................................................ 9
        2.5.3.  AMR ................................................................................................................................................. 9
        2.5.4.  Baud Rate ........................................................................................................................................ 9
        2.5.5.  Catastrophic Failure a.k.a. Fatal Failure ....................................................................................... 9
        2.5.6.  CRC ................................................................................................................................................. 9
        2.5.7.  Data Link Layer ............................................................................................................................... 9
        2.5.8.  Decade ............................................................................................................................................. 9
        2.5.9.  Device Under Test ........................................................................................................................... 9
        2.5.10. DST ................................................................................................................................................ 10
        2.5.11. DUT ............................................................................................................................................... 10
        2.5.12. FLC ................................................................................................................................................ 10
        2.5.13. Function Under Test ...................................................................................................................... 10
        2.5.14. FUT................................................................................................................................................ 10
        2.5.15. GMT ............................................................................................................................................... 10
        2.5.16. Half Duplex ................................................................................................................................... 10
        2.5.17. Load Profile ................................................................................................................................... 10
        2.5.18. Manufacturer Supplied Tables ...................................................................................................... 10
        2.5.19. Meter Under Test ........................................................................................................................... 11
        2.5.20. Metrological Element (parameter) ................................................................................................ 11
        2.5.21. MUT ............................................................................................................................................... 11
        2.5.22. Octet .............................................................................................................................................. 11
        2.5.23. Packet ............................................................................................................................................ 11
        2.5.24. Packet Envelope ............................................................................................................................ 11
        2.5.25. Program Sequence ......................................................................................................................... 11
        2.5.26. PSEM ............................................................................................................................................. 11
        2.5.27. Retrieve .......................................................................................................................................... 11
        2.5.28. Test ................................................................................................................................................ 12
        2.5.29. Test Application ............................................................................................................................. 12
        2.5.30. TOU Metering................................................................................................................................ 12
        2.5.31. UOM .............................................................................................................................................. 12
        2.5.32. Write .............................................................................................................................................. 12
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                                                       WG3, ANSI C12.23



3.      STANDARDS VALIDATION CRITERIA USED ................................................................................... 13
     3.1. ANSI STANDARD C12.19-1997 / IEEE-1377 “UTILITY INDUSTRY STANDARD TABLES” ....................... 13
        3.1.1. Type of Tables................................................................................................................................ 13
        3.1.2. Manufacturer Tables ..................................................................................................................... 13
        3.1.3. Table Data ..................................................................................................................................... 13
        3.1.4. Operations on Tables..................................................................................................................... 13
     3.2. ANSI STANDARD C12.18-1996 “PROTOCOL SPECIFICATION FOR ANSI TYPE 2 OPTICAL PORT” .......... 15
        3.2.1. Basic Implementation Assumptions ............................................................................................... 15
        3.2.2. States and Services ........................................................................................................................ 15
4.      TEST PROCEDURES FOR ANSI STANDARD C12.18-1996 ............................................................... 17
     4.1. TEST PROCEDURES FOR THE DATA LINK LAYER..................................................................................... 17
        4.1.1.  Pre-Test General Set-up Requirements ......................................................................................... 17
        4.1.2.  Basic Sanity Check ........................................................................................................................ 17
        4.1.3.  Immunity to Random Noise ............................................................................................................ 18
        4.1.4.  ACK Returned Due to Reception of a Duplicated Packet .............................................................. 18
        4.1.5.  NACK Returned Due to CRC Error ............................................................................................... 19
        4.1.6.  NACK Returned Due to Inter-Character Timeout (Short Packet) ................................................. 19
        4.1.7.  NACK Returned Due to Long Packet ............................................................................................ 20
        4.1.8.  NACK Returned Due to Invalid Multi-Packet Flag Setting ........................................................... 21
        4.1.9.  NACK Returned Due to Invalid First-Packet Flag Setting ............................................................ 21
        4.1.10. NACK Returned Due to an Invalid Sequence Number .................................................................. 21
        4.1.11. Retransmission Triggered by a Response Timeout ........................................................................ 22
        4.1.12. Retransmission Triggered by a NACK ........................................................................................... 22
        4.1.13. Link Termination After Third Retry Attempt (NACK) .................................................................... 23
        4.1.14. Link Termination After Third Retry Attempt (Response Timeout) ................................................. 24
        4.1.15. Link Termination Due to Channel Traffic Timeout ....................................................................... 25
        4.1.16. Sensitivity to the Initial State of the Toggle Bit.............................................................................. 25
        4.1.17. Default Packet Size Validation (Read) .......................................................................................... 26
        4.1.18. Default Packet Size Validation (Write) .......................................................................................... 26
     4.2. PSEM TEST PROCEDURES ...................................................................................................................... 28
        4.2.1.  PSEM Service Transaction ............................................................................................................ 28
        4.2.2.  Identification Service (Response) .................................................................................................. 28
        4.2.3.  Negotiate Service (Change Baud Rate) ......................................................................................... 29
        4.2.4.  Negotiate Service (Number of Packets and Packet Size) ............................................................... 29
        4.2.5.  Negotiate Service (Honors Negotiated Limits) .............................................................................. 30
        4.2.6.  Negotiate Service (Establish Maximum Packet Limits) ................................................................. 31
        4.2.7.  Wait Service Working .................................................................................................................... 31
        4.2.8.  Terminate Service Working ........................................................................................................... 32
        4.2.9.  Service Sequence State .................................................................................................................. 32
5.      TEST PROCEDURES FOR ANSI C12.19 ................................................................................................ 34
     5.1. SELF CONSISTENCY VALIDATION PROCEDURES ..................................................................................... 34
        5.1.1. Table 0 – General Configuration Table (Validity) ........................................................................ 34
        5.1.2. Table 0 – General Configuration Table (Directory) ..................................................................... 35
        5.1.3. Table Self-Consistency (As Delivered) .......................................................................................... 36
        5.1.4. FLC Self-Consistency (Programmed) ............................................................................................ 37
     5.2. DUT DATA RETRIEVAL USING TABLES ................................................................................................. 38
        5.2.1. Device Identity Table Element (Tables 5, 6) .................................................................................. 38
        5.2.2. Manufacturer information retrieval (Table 1) ............................................................................... 40
        5.2.3. Nameplate information retrieval (Table 2) .................................................................................... 40
        5.2.4. Retrieval of Operating Modes and Status (Table 3) ...................................................................... 41

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                                                       WG3, ANSI C12.23



        5.2.5.  Pending status retrieval (Table 4) ................................................................................................. 41
        5.2.6.  Retrieval of Register Readings (Decades 1,2) .............................................................................. 42
        5.2.7.  Retrieval of Load Profile Data (Decades 1,6) ............................................................................... 44
        5.2.8.  History Logger Data (Tables 73,74).............................................................................................. 46
        5.2.9.  Event Log Data (Tables 75,76) ...................................................................................................... 46
        5.2.10. Retrieval of the clock and conversion to Local Time (Tables 52,55) ............................................. 47
        5.2.11. Retrieval of the clock and conversion to GMT (Tables 52,55) ...................................................... 49
     5.3. OPERATION AND MANAGEMENT ............................................................................................................ 51
        5.3.1.  List Management (Monitors) ........................................................................................................ 51
        5.3.2.  List Management (Overflow Control) ........................................................................................... 52
        5.3.3.  List Management (Update Last Read Entry) ................................................................................ 53
        5.3.4.  List Management (Reset List Pointers) ......................................................................................... 53
        5.3.5.  Reset Data Registers (Tables 23, 24, 25, 26) ................................................................................. 54
        5.3.6.  Change Device Mode (Procedure. 6) ............................................................................................ 58
        5.3.7.  Clear Status (Procedure 7) ............................................................................................................ 58
        5.3.8.  Set Time (Procedure 10, Table 52) ................................................................................................ 60
        5.3.9.  Access Validation for Tables and Procedures (Tables 42,43,44) .................................................. 62
        5.3.10. Forced Activation of Pending Tables (Procedures 12,13)............................................................. 63
        5.3.11. Clear Activation of Pending Tables (Procedures 14,15) ............................................................... 64
        5.3.12. Start and Stop Load Profile (Procedures 16,17) ........................................................................... 65
     5.4. DUT PROGRAMMING ............................................................................................................................. 67
        5.4.1.  Device Identification Programming (Table 5) ............................................................................... 67
        5.4.2.  Utility Information Programming (Table 6) .................................................................................. 67
        5.4.3.  Demand Control Programming (Table 13) ................................................................................... 68
        5.4.4.  Data Registers Selection (Table 22) .............................................................................................. 69
        5.4.5.  Present Registers Selection (Table 27) .......................................................................................... 70
        5.4.6.  Display Sequence Programming (Tables 33,34) ........................................................................... 71
        5.4.7.  Password Programming (Table 42) .............................................................................................. 72
        5.4.8.  Table Access Control Programming (Tables 43,44) ..................................................................... 73
        5.4.9.  Procedure Access Control Programming (Tables 43 and 44) ....................................................... 74
        5.4.10. Clock programming (Procedure 10, Tables 52,53) ....................................................................... 75
        5.4.11. Calendar Programming (Table 54) ............................................................................................... 76
        5.4.12. Profiler Channels and Data Sources Selection (Table 62) ............................................................ 77
        5.4.13. History Logger Selections (Tables 72,73,74) ................................................................................ 77
        5.4.14. Event Logger Selections (Tables 72,75,76) ................................................................................... 78
        5.4.15. User Defined Tables Programming (Table 82,83) ........................................................................ 79
6.      TEST REPORTS ......................................................................................................................................... 81
     6.1. TESTS SUMMARY SHEET ........................................................................................................................ 81
     6.2. DETAIL RESULTS OF “TEST PROCEDURES FOR ANSI STANDARD C12.18-1996” .................................... 82
        6.2.1. Results of “Test procedures for the Data Link Layer” ................................................................. 82
        6.2.2. Results of “PSEM Test Procedures” ............................................................................................ 82
     6.3. DETAIL RESULTS OF THE “TEST PROCEDURES FOR ANSI C12.19” ......................................................... 83
        6.3.1. Results of “Self Consistency Validation Procedures” .................................................................. 83
        6.3.2. Results of “DUT Data Retrieval Using Tables” ........................................................................... 83
        6.3.3. Results of “Operation and Management” .................................................................................... 83
        6.3.4. Results of “DUT Programming” .................................................................................................. 84
     6.4. COMMENTS ............................................................................................................................................ 85




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                WG3, ANSI C12.23




2. General Conformance Statement

   2.1. The Test Application
       The test application is a software application built to enable Manufacturers, Utilities and meter
       verifiers to migrate their AMR and testing environment to ANSI C12.19 Standard-based technology.
       It can read and program any ANSI C12.19-based device, which uses ANSI C12.18, ANSI C12.19 or
       ANSI C12.22 Standard communication protocols. It also accepts and creates table definition files,
       which describe the architecture and state of any ANSI C12.19 device. It is also a diagnostic and test
       tool, which is a reference application used to validate device design assumptions and
       implementation details.


   2.2. The Test Application as a Reference ANSI C12.19/IEEE-1377
        Implementation
       The test application will be designed to communicate the data tables according to the ANSI
       Standard C12.19-1997 / IEEE-1377, “Utility Industry Standard Tables”. It shall implement ANSI
       Standard C12.18-1996, “Protocol Specification for ANSI Type 2 Optical Port”, ANSI Standard
       C1212.21-1999, “Protocol Specification for Telephone Modem Communication”, and the emerging
       ANSI Standard C12.22-200x, “Protocol Specification for Interfacing to Data Communication
       Networks”.

       The software compliance tests described in this Standard shall validate a Device Under Test (DUT)
       ability’s to communicate correctly and reliably with the test application being the reference ANSI
       Standard C12.19-1997 / IEEE-1377 application.


   2.3. Test Results and Ranking Categories
       Tests performed on the DUT, based on the compliance procedures, shall rank DUTs or on a per
       Function Under Test (FUT) basis according to the following scheme:


       2.3.1.     Not Applicable
             A “not applicable” reported result is one that cannot be carried or should not be carried given
             the configuration or test settings of the DUT. The tester does a determination of inapplicability
             during the initial evaluation of the DUT features when preparing the DUT for the tests.


       2.3.2.     Not Tested
             A “not tested” reported result is one that was not be carried or should not be carried, a
             determination of non-testability is done during any of the following stages:

                (a) Customer initiated request prior to test initiation during acceptance of test procedures.

                (b) Initial evaluation of the DUT features, in preparation for test, by the tester.

                (c) Subsequent evaluation by the tester of the DUT ability to be subjected to a test.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



       2.3.3.     Conforming
             The DUT was found fully compliant with the Test Application reference implementation
             according to the test procedure applied in a given test and the expected results for the related
             FUT.


       2.3.4.     Conforming with Discrepancy
             The DUT was found to be partially, marginally or non-compliant with Test Application
             reference implementation according to the procedure applied in a given test and expected
             results for the related FUT. The discrepancy is considered a non-fatal failure of the DUT for
             the FUT.


       2.3.5.     Non-conforming
             The DUT was found to be partially, marginally or non-compliant with Test Application
             reference implementation according to the procedure applied in a given test and expected
             results for the related FUT. The discrepancy is considered a fatal failure of the DUT for the
             FUT.


       2.3.6.     Non-conforming, Rejected
             The DUT was rated non-conforming in a qualification test.


       2.3.7.     Test Remarks
             For each of the “Conforming with Discrepancy” or “Non-conforming” test results, the tester
             shall enter informative remarks in the test report comment column to indicate the cause of
             conformance discrepancy.

             The tester shall not disclose, as part of the test report, the reason for a “Not Tested”, when it is
             customer initiated. Such explanations shall be provided as an attachment to the report or as
             directed by the customer.


   2.4. The Approach to Testing
        It shall be required to obtain manufacturer consent to each compliance procedure for the FUT.
        Test procedures that do not meet with manufacturer approval, or are withdrawn by the
        manufacturer, prior to test initiation, shall be entered as “Not Tested”, and an explanation for the
        result shall be entered in the exception field of the report.

        The test suite outlined in this document performs an assessment of the DUT and its ability to
        conform to the said reference test application. The following is a summary of the general
        components that will, and will not be assessed as part of these conformance tests.


        2.4.1. What Is Assessed
              The tester shall perform an assessment of the following:

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



                (a) Completeness of submission of DUT for testing (e.g. meter, connectors, accessories,
                    manuals, supporting electronic files, etc.)

                (b) Configuration and state disclosure of the DUT prior to testing (passwords, encryption
                    codes, special processes, jumper settings, mode settings, etc.)

                (c) Readiness of the DUT for testing (e.g. is it in metering state, is it sealed, does it need to
                    be set-up? If so how?).

                (d) Compatibility with Test Application communication reference interfaces (C12.18,
                    C12.21 or C12.22) at the physical layer.

                (e) Compatibility with Test Application communication reference implementation (C12.18,
                    C12.21 or C12.22) at the data link layer.

                (f) Compatibility with Test Application protocol reference implementation (C12.18, C12.21
                    or C12.22) at the application layer (PSEM).

                (g) Compatibility with Test Application table set reference implementation (C12.19)

                (h) General assessment of firmware stability, solely derived from performing the tests
                    describes above.


       2.4.2.     What Is Not Assessed
             The tester shall not perform an assessment of the following:

                (a) DUT accuracy tests (including time, interval, and metrological registers).

                (b) DUT reliability tests (drop test, vibration test, electromagnetic susceptibility, weather,
                    temperature, etc.).

                (c) Hardware interface quality, accuracy and signaling strengths (except where is clearly
                    does not work reliably).

                (d) Device factory configuration and setup.

                (e) Implementation logic (assessment of device functions implemented, their delivery logic
                    or value to customer).

                (f) Evaluation of device performance, efficiency and effective delivery of advertised
                    functionality to the marketplace.


   2.5. Definitions

       2.5.1.     ANSI
             American National Standards Institute. The primary organization for fostering the development
             of technology standards in the United States. ANSI works with industry groups and is the U.S.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



             member of the International Standards Organization (ISO) and the International
             Electrotechnical Commission (IEC).


       2.5.2.    Application Layer
             The application layer (OSI layer 7) Is the layer at which a user application interfaces with a
             communication network.


       2.5.3.    AMR
             AMR is an acronym for automated meter reading.


       2.5.4.    Baud Rate
             Baud was the prevalent measure for data transmission speed until replaced by a more
             accurate term, bps (bits per second). One baud is one electronic state change per second.
             Since a single state change can involve more than a single bit of data, the bps unit of
             measurement has replaced it as a better expression of data transmission speed. The
             Standards use the terms Baud, Baud Rate, bps and bits per second interchangeably.


       2.5.5.    Catastrophic Failure a.k.a. Fatal Failure
             A failure that results in temporary or permanent disruption of communication, corruption of
             protocol, delivery of wrong data, misrepresentation of data format, incorrect placement of data
             in accordance to the Test Application reference model.


       2.5.6.    CRC
             CRC is an acronym for “Cyclic Redundancy Check”. The CRC is used to validate the integrity
             of the transmitted packets.


       2.5.7.    Data Link Layer
             The data link layer (OSI layer 2) provides the synchronization of data, error detection and
             correction procedures used during data transmission.


       2.5.8.    Decade
             A functional application grouping of 10 ANSI C12.19 tables. The tables are numbered “x0”
             through “x9”, with “x” representing the decade number.


       2.5.9.    Device Under Test
             A C12.19 Utility Industry Standard Tables driven device, using C12.18, C12.21 or optionally
             C12.22 in any combination. This device and its accessories are being tested for successful
             communication and data exchange with Test Application. The tests are carried in a sequence,
             one Function Under Test at a time.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



       2.5.10. DST
             DST is an acronym for “Daylight Saving Time”.


       2.5.11. DUT
             DUT is an acronym for “Device Under Test”.


       2.5.12. FLC
             ANSI C12.19/IEEE-1377 Function Limiting Control tables (x0/x1, where x is the decade
             number 0-240).


       2.5.13. Function Under Test
             A software, firmware, hardware or protocol component test that is applied to a Device Under
             Test in order to validate the correct performance of a component. The test will establish
             whether the component is meets or does not meet interface, state, timing, data values, data
             representation, data placement, protocol or implementation parameters requirements in
             reference to the Test Application. A “Conforming”, “Conforming with Discrepancy”, “Non-
             Conforming” or “Non-conforming, Rejected” grade shall be assigned following the test of each
             Function Under Test.


       2.5.14. FUT
             FUT is an acronym for “Function Under Test”.


       2.5.15. GMT
             GMT is an acronym for “Greenwich Mean Time” zone, which is synonymous with Universal
             Time Coordinate (UTC), 0 minutes west of Greenwich, England.


       2.5.16. Half Duplex
             Half-duplex data transmission means that data can be transmitted in both directions on a
             signal carrier, but not at the same time. One station can send data on the line and then shortly
             after receiving data on the line from the same direction in which data was just transmitted.


       2.5.17. Load Profile
             The recording, storage and analysis of consumption data over a period of time for a particular
             installation is a load profile recording operation.


       2.5.18. Manufacturer Supplied Tables
             Table descriptions using tables description format. These tables shall be accepted by the Test
             Application and incorporated into the DUT configuration and optionally into the FUT
             procedures.
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



       2.5.19. Meter Under Test
             A Device Under Test that is a sensor measuring water, gas or electricity.


       2.5.20. Metrological Element (parameter)
             A metrological element (parameter) is any constant, factor or algorithm used by metering
             device to produce results for the purpose of billing.


       2.5.21. MUT
             MUT is an acronym for “Meter Under Test”.


       2.5.22. Octet
             An octet (from the Latin “octo” or “eight”) is a sequence of eight bits. An octet is an eight-bit
             byte.


       2.5.23. Packet
             A packet is the unit of data that is routed between an origin and a destination. In an ANSI
             C12.18 DUT, the individual packets may be fragments of a given service request. When they
             have all arrived, they are reassembled into the original message at the receiving end.

             An ANSI C12.18 packet begins with the start of packet octet, <stp> = 0xEE, and ends with a
             two octets CRC, based on the CCITT CRC Standard polynomial (x16+ x12 + x5 + 1).


       2.5.24. Packet Envelope
             The packet’s start of packet octet, <stp>, and the end of packet CRC.


       2.5.25. Program Sequence
             A Write operation to the DUT that causes the DUT to modifies its setup, configuration or the
             state. DUT program tables do not contain sensory information, state information or logs that
             may be volatile and change in the normal course of operation of the DUT.


       2.5.26. PSEM
             PSEM is an acronym for “Protocol Specification for Electric Metering” – USA.

             PSEM is an acronym for “Protocol Specification for Electronic Metering” – Canada.


       2.5.27. Retrieve
             To cause the transmission from the DUT to the test application of an entire or partial DUT
             table. The act of data retrieval may require the invocation of some or all the following PSEM
             services: Identification, Negotiate, Logon, Wait, Security, Read and Logoff.
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



       2.5.28. Test
             A test is the execution of one element of a FUT procedure by the test application.


       2.5.29. Test Application
             The test application is a software application built to enable Manufacturers, Utilities and meter
             verifiers to migrate their AMR and testing environment to ANSI C12.19 Standard-based
             technology. It can read and program any ANSI C12.19-based device, which uses ANSI
             C12.18, ANSI C12.19 or ANSI C12.22 Standard communication protocols. It also accepts and
             creates table definition files, which describe the architecture and state of any ANSI C12.19
             device. It is also a diagnostic and test tool, which is a reference application used to validate
             device design assumptions and implementation details.


       2.5.30. TOU Metering
             TOU is an acronym for “Time of Use” metering. TOU metering equipment records metered or
             measured quantities according to a time schedule into separate registers (collection bins or
             tiers).


       2.5.31. UOM
             UOM is an acronym for “Unit of Measure”. The unit of measure provides a method for
             describing or selecting data source attributes. Some of the attributes include the physical
             quantity measured, the time base used for averaging, the scaling constants, direction of flow,
             method of measurement and harmonic component indication.


       2.5.32. Write
             To cause the transmission from the test application to DUT of an entire or partial DUT table.
             The act of data writing may, in addition to the above, require the invocation of some or all the
             following PSEM services: Identification, Negotiate, Logon, Wait, Security, Read, Write and
             Logoff. The DUT may require the invocation of the Procedure 2, “Save Configuration”, prior to
             Logoff for it to retain the changes.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23




3. Standards Validation Criteria Used

   3.1. ANSI Standard C12.19-1997 / IEEE-1377
       “Utility Industry Standard Tables”
       The primary objective of this Standard is to establish an interoperable data format for gas, water and
       electricity meters for the purpose of control and transport of data records between the utility and a
       metering device. The Standard aims to maximize the degree of interoperability, recognizing that it is
       not possible to define a universal data format that is suitable for all devices. It defines mechanisms
       for the promotion and establishment of interoperability at the test application level through the
       introduction pre-defined data structures, also known as Tables.


       3.1.1.     Type of Tables
             The tables are transferred to and from the DUT. These are grouped into two major types
             “Standard Tables” and “Manufacturer Tables”. Each type is capable of having up to 2040
             tables. The “Standard Tables” are in turn organized by function into groups of 10 tables,
             known as decades. The Standard decades include configuration tables, data source selection
             tables, metrological register tables, display control tables, access security tables, clock & time-
             of-use tables, load profile tables, history & event-log tables and user defined tables.


       3.1.2.     Manufacturer Tables
             Manufacturer Tables do not have a Standard defined structure. These have been reserved for
             use by the manufacturers in those cases where it is not possible to provide the desired
             functionality using Standard Tables; or when the manufacturer desires to introduce new
             innovation.


       3.1.3.     Table Data
             The table structures are described in terms of a well-defined syntax. The Test Application
             recognizes this syntax and it uses it to describe the manufacturer tables structure of the DUT.
             In addition, the syntax provides concise definitions of all data structure specification down to
             the bit level. The Test Application uses this to validate all data placement, structures and
             placement of DUT data records.


       3.1.4.     Operations on Tables
             The tables are structured in such a way for them to simplify the interface of the test application
             using only Table Read and Table Write services. The Test Application shall exclusively utilize
             the read/write services to set-up the DUT, if necessary, and perform the tests.

           3.1.4.1.     Table 0, General Configuration Table
                The Standard aims to collect tables into functional groups beginning with Table 0, General
                Configuration Table. The Test Application shall be used to verify the presence of table 0,
                validate its content, confirm the presence of other tables and their write access modes. All
                standard and manufacturer tables implemented by the DUT shall be specified in table 0.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           3.1.4.2.     Function Limiting Control Tables
               In addition to table 0, the Standard defines rules for the implementation of function limiting
               tables. When Standard or Manufacturer tables supported by the DUT are numbered x0/x1
               they shall be interpreted as FLC tables by The Test Application.

           3.1.4.3.     Special Function, Placement and Control
               The Standard defines certain test application process management, interpretation
               mechanisms and placeholders for device specific functions. Test procedures shall validate
               these special functions for correct implementation.

               In making the assessment, The Test Application shall ensure that:

               (a) Manufacturer tables supported by the DUT where the Standard provides Standard
                   tables, as a placeholder for those functions shall be located in the Standard designated
                   areas.

               (b) List management facilities shall be validated for correct function. This includes self-read
                   tables, history tables, event-logger tables, profile tables and alike.

               (c) Calendar and clock programming shall be verified. Although the accurate operation of
                   the clock or calendar shall not be tested.

               (d) Security table shall be used if a security policy is implemented.

               (e) Register tables shall reflect correct readings as advertised in Data Sources tables.

               (f) Data types, source identification, scaling and application are correctly implemented.

               (g) Control and presentation of pending tables is correctly implemented.

               (h) Procedure invocation and procedure status reporting work correctly.

               (i) Access control is consistent with the Standard model and is operational.

           3.1.4.4.     Miscellaneous
               In addition to the above the following will be validated:

               (a) Reserved fields shall be tested for zero or space values, subject to their data type.

               (b) Protected fields shall read as blanks (e.g. passwords).

               (c) Default sets are implemented correctly (when FLC tables not present)

               (d) Limited variables operate within their limits.

               (e) Hidden tables or procedures do not exist.

               (f) Uniformity of data type implementation in all tables present in the DUT including
                   manufacturer tables.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



   3.2. ANSI Standard C12.18-1996
       “Protocol Specification for ANSI Type 2 Optical Port”

       3.2.1.     Basic Implementation Assumptions
             The ANSI C12.18-1996 Standard describes the protocol mechanism used to exchange table
             data (ANSI C12.19-1997) between a DUT and the test application. The ANSI C12.18-1996
             Standard specifies the physical interface, data link layer interface and application layer.

             The physical interface is a simple light emitting diode (LED) transmitting a logical zero (0)
             when the LED is “on” and a logical one (1) when the LED is “off”. The wavelength of the
             radiated signal is between 800nm and 1000nm. The data link layer closely resembles
             conventional EIA-232 systems. It is limited to asynchronous half-duplex data.

             At the data link layer the data bits are grouped into octets that are transmitted as a serial bit
             stream, least significant bit first. Each octet is preceded by a start bit (logical zero) and
             followed by a stop bit (logical one). The default bit transmission rate is 9,600 bits per second
             (used to initiate all tests). Other bit rates between 300 and 56,200 bits per second may be
             supported.

             Information is interchanged as variable length packets (default value is 64 octets in length).
             Packet header parameters used within the application layer and the data link layer are
             transmitted most significant octet first. However, table data is transmitted in accordance with
             the DATA_ORDER table element defined in Table 0, the General Configuration Table.

             The protocol is based on the OSI model. It utilizes layer 7 (application), layer 2 (data link) and
             layer 1 (physical) of the 7-layer OSI stack. Layers 6 (presentation), 5 (session), 4 (transport)
             and 3 (network) are not used.


       3.2.2.     States and Services
           Layer 7 of ANSI C12.18-1996 is also known as “Protocol Specification for Electric Metering”
           (PSEM). The test application shall assess the correct implementation of PSEM protocol follows:

           3.2.2.1.     Base State
                The Base State is an idle state, where the DUT awaits for the establishment of a
                communication link, followed by the initiation of the Identify Service by the test application.

           3.2.2.2.     Identify Service
                The Identify Service establishes the identity of the end device by returning the revision and
                version numbers of the protocol implementation. The identification service is provided to
                assist the test application identity the DUT PSEM protocol Standard compliance level.

                Being the only valid service available in the Base State, it implies that the Identify Service
                can be the only first service requested after the establishment of a physical connection or
                after the execution of the Terminate Service request or when the DUT reenters the Base
                State.



Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           3.2.2.3.    Base State Initial Channel Setting
               The test application expects the DUT to have its channel parameters set as follows, while in
               the Base State.

                Chart 1 : ANSI C12.18-1996 Base State default communication settings
                Description                                              Value
                Data rate                                                9600 bits per second
                Packet size (Data Link layer)                            64 octets
                Maximum number of Data Link packets per Application      1 packet
                layer message
                Channel traffic time-out                                 6 seconds
                Transmission retries                                     3 retries


               Upon entry into the Base State, all DUTs are expected to reset their communication
               settings to the defaults above.

           3.2.2.4.    Identify State
               The Identify (ID) State is entered from the Base State following the DUT successfully
               completing of the Identify Service. This service request is initiated by the test application.

               The ID State is an intermediate communication state bridging the Base State and the
               Session State. While in the ID State, the test application will negotiate or re-negotiate the
               communication link characteristics. The services a DUT is expected to support services are
               Negotiate, Wait and Terminate.

               The Session State is initiated with a Logon request from the test application.

           3.2.2.5.    Session State
               The Session State is entered from the ID State or as a result of a test application initiated
               Logon request. A session represents an environment where a set of requests is exchanged
               between the test application and a DUT. These requests are expected to have something
               in common, such as user ID and security clearance. PSEM provides facilities for changing
               the access permission using the Security Service and terminating the session by invoking
               the Logoff Service. The Session State supported services are Read, Write, Security, Wait,
               Terminate and Logoff.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23




4. Test procedures for ANSI Standard C12.18-1996

   4.1. Test procedures for the Data Link Layer

       4.1.1.     Pre-Test General Set-up Requirements
             The DUT is accepted for test shall be minimally configured as follows:

                (a) It shall be programmed, configured and ready for metering.

                (b) If a physical seal is used to prohibit tampering with the DUT internal working
                    mechanisms then the DUT shall be sealed.

                (c) The clock shall be set to track time correctly in the time zone where the verifications
                    take place.

                (d) Data sources, demand-registers, cumulative registers and profile-recording functions
                    shall be active and ready for test.

                (e) History loggers and Event loggers shall be active and ready for test.

                (f) When DUT programming is not possible, while in “metering mode”, Standard
                    Procedure 6, “Change End Device Mode” shall be used by the test application to
                    alternate between “metering mode” and “metering mode + meter-shop mode” to
                    enable DUT programming. Otherwise, the test application shall use the mechanisms
                    provided by the manufacturer to change its operating mode so that the DUT can be
                    programmed in preparation for test. However, this will result in a Non-Conforming
                    classification for Change Mode FUT.

                (g) The presence of Standard Procedure 2, “Save Configuration”, is an indication to the
                    test application that a “Save Configuration” procedure needs to be requested following
                    DUT programming and prior to Logoff. Otherwise, its presence shall result in an implied
                    Conforming with discrepancy rating of this FUT.

                (h) The clock shall be set using Standard Procedure 10, “Set Date and/or Time” or by
                    writing directly to Table 52, “Clock”, when Standard Procedure 10 is not available.

                (i) A procedure shall be provided by the Manufacturer to re-establish the initial, “as
                    delivered”, configuration for use by the tester. This procedure shall utilize Standard or
                    Manufacturer tables only.


       4.1.2.     Basic Sanity Check
           4.1.2.1.     Objective
                This is a DUT qualification procedure.

                The procedure verifies that the device can complete a simple test application transaction. A
                test application transaction is initiated of sending an Identification request to the DUT.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           4.1.2.2.     Description
                With the DUT in Base State the test application initiates an Identification request to the DUT
                and records the transaction results.

           4.1.2.3.     Possible Test Results

                 Result Description                                  Classification
                 The identification request completes with no        Conforming
                 errors
                 The Identification request does not complete or     Non-conforming, Rejected
                 it completes with an error.


       4.1.3.     Immunity to Random Noise
           4.1.3.1.     Objective
                Validate the capacity of the DUT to reject faulty data. This test establishes the behavior of
                the DUT upon receipt of invalid octets outside the packet envelope. Invalid octets values
                range from 0x00 to 0xFF except for 0x06, 0x15 and 0xEE.

           4.1.3.2.     Description
                With the DUT in Base state or following receipt of an ACK or a valid response, a random
                collection of invalid octets is send by the test application to the DUT. The response channel
                is monitor for a NACK or any other code.

           4.1.3.3.     Possible Test Results
                 Result Description                                  Classification
                 DUT does not respond at all.                        Conforming
                 DUT responds with a NACK or any other               Non-conforming
                 code.

       4.1.4.     ACK Returned Due to Reception of a Duplicated Packet
           4.1.4.1.     Objective
                Affirm that the DUT returns an ACK upon receipt of a duplicated packet from the test
                application.

           4.1.4.2.     Description
                Two consecutive packets are issued by the test application. Both packets are constructed
                to be identical having a same CRC, reserved byte value and toggle bit state. The DUT
                response channel is monitored for one ACK in response to each of the packets.

           4.1.4.3.     Possible Test Results
                 Result Description                                  Classification
                 DUT responds with two ACKs.                         Conforming
                 DUT does not respond with two ACKs                  Non-conforming



Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



           4.1.4.4.     Caveats
                The request or data received in the first packet shall be processed by the DUT. The DUT
                shall ignore the request or data received in the second.


       4.1.5.     NACK Returned Due to CRC Error
           4.1.5.1.     Objective
                Validate that the DUT issues a NACK to the test application upon receipt of a packet that is
                corrupt with a bad CRC.


           4.1.5.2.     Description
                Two consecutive packets are sent by the test application to the DUT. The first packet sent
                contains an invalid CRC. The second packet sent is valid and contains no corruption of
                any kind. The DUT response channel is monitored by the test application for NACK
                followed by an ACK.

                This test is performed twice, once with a corruption in the data payload of the packet and a
                second time with a corruption of the CRC itself.

           4.1.5.3.     Possible Test Results
                 Result Description                                 Classification
                 DUT issues a NACK in response to the first         Conforming
                 packet, then an ACK in response to the
                 second packet.
                 All other responses.                               Non-conforming

       4.1.6.     NACK Returned Due to Inter-Character Timeout (Short Packet)
           4.1.6.1.     Objective
                Confirm that the inter-character timeout is implemented correctly.

           4.1.6.2.     Description
                A short packet is sent by the test application to the DUT. The DUT response channel is
                monitored for a NACK.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



           4.1.6.3.     Possible Test Results
                 Result Description                                 Classification
                 DUT issues a NACK to the test application after    Conforming
                 500 to 2000 msec following the receipt of the
                 last octet.
                 DUT does not issue a NACK to the test              Non-conforming
                 application after 500 to 2000 msec following the
                 receipt of the last octet.
                 DUT issues a NACK to the test application          Non-conforming
                 earlier than 500 msec following the receipt of
                 the last octet.
                 DUT issues a NACK to the test application after    Non-conforming
                 than 2000+100 msec following the receipt of
                 the last octet.
           4.1.6.4.     Caveats
                This procedure partially validates the acknowledgement timeout, which is set to 2 seconds
                by the Standard.


       4.1.7.     NACK Returned Due to Long Packet
           4.1.7.1.   Objective
                   Validate the behavior of the DUT when it receives a packet that is larger than expected
                   according to the packet’s length field.

           4.1.7.2.   Description
                A packet with a payload size greater than one octet is composed by the test application.
                The test application then sets the payload length field to a value that is smaller than the
                actual payload size, then it computes the correct CRC so that all other fields remain valid.
                The test application sends the long packet to the DUT and it monitors the DUT response
                channel for a NACK is generated.

           4.1.7.3.     Possible Test Results
                 Result Description                                 Classification
                 DUT issues a NACK to the test application after    Conforming
                 0.175 msec following the receipt of the bad
                 CRC field, but not later than 2000 msec
                 following the receipt of the last octet of the
                 corrupt test packet.
                 Any other response.                                Non-conforming
           4.1.7.4.     Caveats
                For this procedure to work, near the 0.175 msec range, the test application may need to
                utilize a full duplex ANSI type II optical probe.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



       4.1.8.     NACK Returned Due to Invalid Multi-Packet Flag Setting
           4.1.8.1.   Objective
                Validate that the multiple-packet flag of the packet segmentation algorithm operates
                correctly.

           4.1.8.2.   Description
                The test application sends one packet (or the first packet in a multi-packet transmission) to
                the DUT with the multiple-packet flag (bit 7 of the Control field) set to 1 and the first-packet
                flag (bit 6 of the Control field) set to 0. The test application then monitors the DUT
                response channel for a NACK.

           4.1.8.3.      Possible Test Results
                 Result Description                                   Classification
                 DUT responds with a NACK                             Conforming
                 Any other response.                                  Non-conforming




       4.1.9.     NACK Returned Due to Invalid First-Packet Flag Setting
           4.1.9.1.   Objective
                Validate that the first-packet flag of the packet segmentation algorithm operates correctly.

           4.1.9.2.   Description
                The test application sends one packet (or the first packet in a multi-packet transmission) to
                the DUT with the multiple-packet flag (bit 7 of the Control field) set to 0 and the first-packet
                flag (bit 6 of the Control field) set to 1. The test application then monitors the DUT
                response channel for a NACK.

           4.1.9.3.      Possible Test Results
                 Result Description                                   Classification
                 The DUT responds with a NACK                         Conforming
                 Any other response.                                  Non-conforming

       4.1.10. NACK Returned Due to an Invalid Sequence Number
           4.1.10.1. Objective
                Confirm that a NACK is returned to the test application from the DUT when a packet with
                an invalid sequence number is received by the DUT in a multi-packets transmission
                sequence.

           4.1.10.2. Description
                The test application initiates a multi-packet transmission to the DUT. The sequence of
                packets is constructed as such that the second packet in the sequence contains an invalid
                sequence number; the third and all subsequent packets in the same sequence contain
                correct sequence number. The DUT response channel is monitored for a NACK on the
                second packet in the sequence and an ACK for all others.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           4.1.10.3.    Possible Test Results
                Result Description                                   Classification
                The DUT responds with an ACK on the first            Conforming
                packet, NACK for the second packet, an ACK
                on the third packet and all other packets in the
                sequence and the entire transaction completes
                without errors.
                Any other ACK/NACK combination or if the             Non-conforming
                transaction completes with error.




       4.1.11. Retransmission Triggered by a Response Timeout
           4.1.11.1.    Objective
               Demonstrate the ability of the DUT to retry packet transmission within the correct response
               time-out limits upon loss an ACK response from the test application.

           4.1.11.2.    Description
               The test application initiates a transaction that triggers the transmission of a packet from the
               DUT. Upon receipt of the valid packet from the DUT, the test application does not respond
               with an expected ACK. The test application then monitors the DUT response channel for 2
               second (±250 msec), awaiting the retransmission of the unacknowledged packet. Upon
               receipt of the retransmitted packet, it completes the transaction.

           4.1.11.3.    Possible Test Results
                Result Description                                   Classification
                The DUT retransmits the unacknowledged               Conforming
                packet within the allotted time frame. The
                retransmitted packet is an exact duplicate of the
                first unacknowledged packet. The transaction
                completes without error.
                Any other ACK/NACK combination, failure to           Non-conforming
                retransmit or if the transaction completes with
                error.

       4.1.12. Retransmission Triggered by a NACK
           4.1.12.1. Objective
               Confirm that the DUT handles the reception of NACK from the test application correctly.

           4.1.12.2. Description
               The test application initiates a transaction that triggers the transmission of a packet from the
               DUT. Upon receipt of the valid packet from the DUT, the test application responds with a
               NACK. The test application then monitors the DUT response channel for 500 msec,
               awaiting the retransmission of the negatively acknowledged packet. Then it completes the
               transaction.



Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



           4.1.12.3.   Possible Test Results
                Result Description                                 Classification
                The DUT retransmits the negatively                 Conforming
                acknowledge packet within the allotted time
                frame. The retransmitted packet is an exact
                duplicate of the negatively acknowledged
                packet. The transaction completes without
                error.
                Any other ACK/NACK combination, failure to         Non-conforming
                retransmit, or if the transaction completes with
                error.

       4.1.13. Link Termination After Third Retry Attempt (NACK)
           4.1.13.1. Objective
               Establish the DUT ability to terminate the link and return to the Base State after the third
               failed transmission retry attempt due to the receipt of a NACK.

           4.1.13.2.   Description
               The test application performs two tests: one while the DUT is in the ID State (following an
               Identify service request) and another test while the DUT in the Session State (following
               Identify and Logon service requests).

               a) ID State Tests

                   While the DUT is in the ID State, the test application initiates a Wait request, it then
                   responds four times with a NACK (one for each received packet from the DUT).
                   Following the fourth NACK the test application issues an Identify request, then it
                   monitors the DUT response channel for an <ok>.

               b) Session State Tests

                   While the DUT is in the Session State, the test application initiates a Read table 0
                   request, it then responds four times with a NACK (one for each received packet from
                   the DUT). Following the fourth NACK, the test application issues an Identify request,
                   then it monitors the DUT response channel for <ok>.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           4.1.13.3.   Possible Test Results
                Result Description                                  Classification
                The DUT does not retry transmission three           Non-conforming
                times (it does not send four packets in total)
                DUT does not respond with an <ok> to the final      Non-Conforming
                Identify request.
                DUT processes the final Identify request without    Conforming
                error.

       4.1.14. Link Termination After Third Retry Attempt (Response Timeout)
           4.1.14.1. Objective
               Establish the DUT ability to terminate the link and return to the Base State after the third
               failed transmission retry attempt following response timeout.

           4.1.14.2.   Description
               The test application performs two tests. One test, while the DUT is in the ID State (following
               an Identify service request) and another test while the DUT in the Session State (following
               an Identify and Logon service requests).

               (a) ID State Tests

                   While the DUT is in the ID State, the test application initiates a Wait service request, it
                   then sits idle and it monitors the DUT attempts to retransmit the unacknowledged
                   response packet three times. Following the third retry attempt, the test application waits
                   2 seconds then it issues an Identify request and monitors the DUT response channel
                   for an <ok>.

               (b) Section State Tests

                   While the DUT is in the Session State, the test application initiates a Read table 0
                   request, it then sits idle and it monitors the DUT attempts to retransmit the
                   unacknowledged response packet three times. Following the third retry attempt the test
                   application waits 2 seconds then it issues an Identify request and monitors the DUT
                   response channel for <ok>.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           4.1.14.3.    Possible Test Results
                 Result Description                                  Classification
                 The DUT does not retry transmission three           Non-conforming
                 times (it does not send four packets in total)
                 DUT does not respond with an <ok> to the final      Non-Conforming
                 Identify request.
                 DUT processes the final Identify request without    Conforming
                 error.

       4.1.15.          Link Termination Due to Channel Traffic Timeout
           4.1.15.1.    Objective
               Validate the DUT ability to terminate the link and return to the Base State as a result of
               channel traffic timeout. This test is performed while the DUT is in the ID and Session
               States.

           4.1.15.2.    Description
               (a) ID State Tests

                   The test application initiates an Identify service request to the DUT. Then it remains idle
                   for a period 6 seconds (the channel traffic timeout). Following that, it issues a Wait
                   service request to the DUT. The DUT response channel is monitored for an “invalid
                   service sequence state” error code <isss>.

               (b) Session State Tests

                   The test application initiates an Identify service request to the DUT followed by a Logon
                   service request. Then it idles by not initiating any more transactions for a period of 6
                   seconds (the channel traffic timeout). It then issues a Read table 0 request to the DUT.
                   The DUT response channel is monitored for an “invalid service sequence state” error
                   code <isss>.

           4.1.15.3.    Possible Test Results
                 Result Description                                  Classification
                 The DUT processes the Identify request without      Conforming
                 error, but rejects the Wait request with an
                 <isss> error code.
                 The DUT does not process the Identify request,      Non-conforming
                 or it accepts the Wait request without error.

       4.1.16.          Sensitivity to the Initial State of the Toggle Bit
           4.1.16.1.    Objective
               Confirm that the DUT is performing correctly and equivalently when receiving a first packet
               with its toggle bit (bit 5 of the Control field) arbitrarily set to 0 or 1.

           4.1.16.2.    Description
               The test application initiates an Identify service request to the DUT immediately followed by
               a Terminate request. This sequence is initiated twice; the first time the test application sets
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                 WG3, ANSI C12.23



               the toggle bit of the first packet to 1. Subsequent packets have their toggle bit successively
               toggled (flipped from 0 to 1 or from 1 to 0) relative to the state of the toggle bit of the
               previous packet. The test application monitors the DUT response channel is monitored to
               verify for errors.

               The test is repeated, but this time with the toggle bit of the first packet set to 0.

           4.1.16.3.    Possible Test Results
                 Result Description                                    Classification
                 The DUT processes the Identify and Terminate          Conforming
                 requests without error.
                 The DUT fails to processes the Identify or            Non-conforming
                 Terminate requests without error.




       4.1.17.          Default Packet Size Validation (Read)
           4.1.17.1.    Objective
               Establish the capability of the DUT to assume and honor the default values of the number
               of packets and packet size (64 octets per packet, 1 packet per request or response) using a
               Read request.

           4.1.17.2.    Description
               The test application initiates a Login sequence to the DUT without invoking the Negotiate
               service (does not adjust the channel parameters). Following Logon, a Read service is
               issued for a table that contains more octets than the default packet size of 64 octets can
               accommodate. The test application monitors the DUT response channel for the reception of
               either a maximum of 55 octets of data, or an <onp> error code.

           4.1.17.3.    Possible Test Results
                 Result Description                                    Classification
                 The DUT returns exactly 55 octets.                    Conforming
                 The DUT responds with a <onp> error.                  Conforming
                 The DUT deliver the table using either more           Non-conforming
                 than one packet or a larger packet.

       4.1.18.          Default Packet Size Validation (Write)
           4.1.18.1.    Objective
               Establish the capability of the DUT to assume and enforce the default values of the number
               of packets and packet size (64 octets per packet, 1 packet per request or response) for a
               Write request.

           4.1.18.2.    Description
               The following test is performed twice.

               (a) The test application initiates a Login sequence to the DUT without invoking the
                   Negotiate service (does not adjust the channel parameters). Following Logon, a Write
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



                   service is initiated on a table that cannot be contained inside one packet using the
                   default values. In the first test the application generates a packet that is larger than the
                   default. The test application monitors the DUT response channel for the reception of a
                   NACK.

               (b) The test application generates more than one packet to accommodate the excess size.
                   The test application monitors the DUT response channel for the reception of a NACK.

           4.1.18.3.   Possible Test Results
                Result Description                                   Classification
                The DUT returns NACK.                                Conforming
                The DUT processes the requests.                      Conforming with discrepancy




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23




   4.2. PSEM Test Procedures

       4.2.1. PSEM Service Transaction
           4.2.1.1.    Objective
               This is a DUT qualifying test procedure.

               The procedure tests the general “sanity” of the DUT and that it can handle a typical PSEM
               sequence of service requests.

           4.2.1.2.    Description
               The following sequence of PSEM services is executed: Identification, Negotiate, Logon,
               Security, Read-table, Write-table, Logoff then Terminate.

               The test application communicates with the DUT. Throughout the communication
               sequence it monitors PSEM responses looking for the reception of error codes or
               improperly format responses.

           4.2.1.3.    Possible Test Results
                Result Description                                  Classification
                No errors were triggered by DUT or test             Conforming
                application
                An errors condition was triggered by DUT or         Non-conforming, rejected
                test application
           4.2.1.4.    Caveats
               For this procedure to work, the test application needs to know a DUT password.
               Alternatively, the tables selected need to be accessible at the default security level.


       4.2.2. Identification Service (Response)
           4.2.2.1.    Objective
               Verify the validity of information returned by the DUT Identification response.

           4.2.2.2.    Description
               The test application initiates an Identification request to the DUT and processes the
               response from the DUT to contain valid information that is consistent with C12.19-1997
               Standard/Revision numbers.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           4.2.2.3.    Possible Test Results
                Result Description                                  Classification
                Identification responds indicates that              Conforming
                <std> = 0,
                <ver> = 1,
                <rev> = 0 and
                <rsvd> = 0
                Anything else.                                      Non-conforming

       4.2.3. Negotiate Service (Change Baud Rate)
           4.2.3.1.    Objective
               Validate the capability to change the baud rate without side effects synchronization
               problems.

           4.2.3.2.    Description
               The baud rate change test is repeated for each possible transmission bit rates identified in
               the Standard. These include 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800 and
               56200 bits per second.

               The test application shall attempt to negotiate each of the above bit rates using the
               Negotiate service. The DUT shall return in its negotiated response the baud rate it will use
               in all subsequent transactions. If the baud rate responded is different than the one used to
               communicate, the Negotiate request (first Negotiation is communicated at 9600 bits per
               second), the channel speed shall be adjusted accordingly by the test application prior to the
               initiation of the next service request (which will be the next Negotiate service request). The
               channel is monitored by the test application for errors or channel noise.

           4.2.3.3.    Possible Test Results
                Result Description                                  Classification
                No errors were triggered by DUT or test             Conforming
                application following baud rate change
                Negotiate service resulted in errors codes.         Conforming with discrepancy
                Cannot communicate following baud rate              Non-conforming
                change.
           4.2.3.4.    Caveats
               The 14400 and 28800 are not considered standard computer bit rates. They are common
               in MODEM communications. As such, the test application may not test the DUT for these
               rates.


       4.2.4. Negotiate Service (Number of Packets and Packet Size)
           4.2.4.1.    Objective
               Validate the capability of he DUT to accept minimal changes to the number of packets and
               packet size used in the data link layer to transfer data payloads.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           4.2.4.2.       Description
               DUT transmission channel limits are tested after the completions of a Logon sequence,
               which includes a Negotiation service request (while in ID State), settings a limit of 2
               packets, each having a maximum length 65 of octets.

           4.2.4.3.       Possible Test Results
                Result Description                                    Classification
                DUT responds with actual number of packets            Conforming
                supported and packet size. These should be
                less or equal to the number and size requested.
                NACK or any other error condition                     Conforming with discrepancy

       4.2.5. Negotiate Service (Honors Negotiated Limits)
           4.2.5.1.       Objective
               Validate the capability of the DUT to honor the negotiated packet limits. During negotiations
               the test application conveys its desired packet size and count limits to the DUT. The DUT
               responds with its own limits, attempting to match the test application limits to the best of its
               designed ability. Thereafter, a real application is expected to honor the DUT limits, and the
               DUT is expected to honor the limits conveyed to it by the real application. The sequence of
               tests validates the DUT packet generation behavior for consistency with the above.

           4.2.5.2.       Description
               Following successful completion of the Negotiate Service (Number of Packets and Packet
               Size) procedure. DUT is tested for honoring the negotiated limits.

               (a) The test application initiates a read to the DUT. The process is repeated three time, so
                   that:

                      (i) The retrieved table size can only be assembled for transmission by the DUT using
                          the smallest (packet-size x number of packet) setting of either the test application
                          or the DUT.

                      (ii) The retrieved table size can only be assembled for transmission by the DUT using
                           the smallest (packet-size x number of packet) setting that is greater that the DUT
                           limits, but less or equals to that of the test application.

                      (iii) The retrieved table size can only be assembled for transmission by the DUT using
                            a larger (packet-size x number of packet) setting than the test application.

               (b) The test application initiates tables write to the DUT. The process is repeated a number
                   of time, so that.

                      (i) The number of packets and packets size are within the DUT conveyed limits.

                      (ii) The number of packets is within the DUT conveyed limits, but the packet size is
                           too large.

                      (iii) The packet size is within the DUT conveyed limits, but the number of packets is
                            too large.
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



                      (iv) Both, the number of packets and packets size equal exactly to the DUT conveyed
                           limits.

           4.2.5.3.       Possible Test Results
                Result Description                                   Classification
                Table Data retrieval from DUT operates within        Conforming
                test application packet limits.
                Table Data retrieval from DUT operates within        Conforming
                DUT packet limits and test application packet
                limits.
                NACK was generated by the DUT when it                Conforming
                receives data payload, which does not fit within
                the negotiated DUT packet limits.
                <onp> was generated by the DUT when the              Conforming
                requested data payload will not fit within the
                negotiated packet limits of the DUT or the test
                application.
                The DUT accepts data payloads that exceed            Conforming with discrepancy
                the DUT limits.
                The DUT delivers data payloads that exceed           Non-conforming
                test application limits.
                Unexpected error code generated.                     Non-conforming


       4.2.6. Negotiate Service (Establish Maximum Packet Limits)
           4.2.6.1.       Objective
               Identify the maximum packet size and maximum number of packet supported by the DUT.

           4.2.6.2.       Description
               DUT transmission channel maximum limits are negotiated by the test application. This
               includes the execution of a Negotiation service (while in ID State) by the test application
               requesting channel settings of a maximum of 255 packets of 8192 octets each.

               The test application repeats test 4.2.5, “Negotiate Service (Honors Negotiated Limits)”,
               above, and reports DUT channel limits negotiated.

           4.2.6.3.       Caveats
               The number of packets and the largest packet size used by the DUT to transmit the large
               table are recorded.


       4.2.7. Wait Service Working
           4.2.7.1.       Objective
               Confirm the Wait service ability to override the default channel traffic timeout.

           4.2.7.2.       Description
                 This procedure invokes four tests:
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



               (a) Initiate an Identity request to put the DUT in the ID State. A Wait service is initiated by
                   the test application requesting a 20-seconds wait period. The test application idles for
                   18 seconds, then it initiates another Wait service request. The DUT response channel
                   is monitored for an unexpected “Invalid Service Sequence State” error code, <isss>.

               (b) Repeat test (a) above, but this time the test application idles for 22 seconds and
                   monitors the response channel for an expected “Invalid Service Sequence State” error
                   code, <isss>.

               (c) Repeat tests (a) and (b) above, except that the initial state is set to the Session State

           4.2.7.3.     Possible Test Results
                Result Description                                  Classification
                The DUT responds with a <isss> after 18             Non-conforming
                seconds of idle time.
                The DUT does not respond with a <isss> after        Non-conforming
                a 22 second of idle time.
                Otherwise                                           Conforming

       4.2.8. Terminate Service Working
           4.2.8.1.     Objective
               Confirm that the Terminate service is accepted in all DUT protocol states, thus placing the
               DUT back into Base State.

           4.2.8.2.     Description
               This test is performed in each of the possible states: the Base, ID, and Session states.

               For each of these states, a Terminate service is initiated. After acceptance of the terminate
               service an Identify Service is initiated. The channel is monitored during the execution of
               both the Terminate and the Identification service of detection of any errors.

           4.2.8.3.     Possible Test Results
                Result Description                                  Classification
                Identify service request executes without error.    Conforming
                The DUT responded with a <isss>.                    Non-conforming

       4.2.9. Service Sequence State
           4.2.9.1.     Objective
             Verify if the services implement correctly the service sequence state diagram.

           4.2.9.2.     Description
               This test is performed in each of the possible states: the Base, ID and Session states.

               In each of these states, the FUT related service is initiated. The channel is monitored for
               reception of error and responses that do not respect the following table are reported.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



                Chart 2 : Valid return codes for associated services and related states

                Service          BASE state         ID state            SESSION state
                Identification   <ok>               <isss>              <isss>
                Wait             <isss>             <ok>                <ok>
                Negotiate        <isss>             <ok>                <isss>
                Terminal         <isss>             <ok>                <ok>
                Logon            <isss>             <ok>                <isss>
                Logoff           <isss>             <isss>              <ok>
                Security         <isss>             <isss>              <ok>
                Read             <isss>             <isss>              <ok>
                Write            <isss>             <isss>              <ok>
                Partial read     <isss>             <isss>              <ok>
                Partial write    <isss>             <isss>              <ok>
           4.2.9.3.    Possible Test Results
                Result Description                                 Classification
                Result codes consistent with the expected          Conforming
                codes listed in Chart 2.
                Result codes inconsistent with expected codes.     Non-conforming




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23




5. Test Procedures for ANSI C12.19

   5.1. Self Consistency Validation Procedures

       5.1.1.     Table 0 – General Configuration Table (Validity)
           5.1.1.1.      Objective
                This procedure validates the ability of the test application to retrieve table 0 and check it for
                self-consistency in content and size. The assessment of the table is performed based on
                values of Table 0 identifiers that are published by the Standard.

                The test application shall confirm that:

                (a) The number of octets received by reading the entire of Table 0 is correct.

                (b) Validate that all data fields in Table 0 are correctly represented according to the
                    published syntax and limits.

                (c) Check the content of the sets STD_TBLS_WRITE and MFG_TBLS_WRITE for
                    corresponding matching entries in the sets STD_TBLS_USED and MFG_TBLS_USED.

                (d) Check the values of MAX_PROC_PARM_LENGTH and MAX_RESP_DATA_LEN for
                    consistency with the limits imposed by the Standard procedure definitions (and
                    manufacture procedures specification if available).

           5.1.1.2.      Description
                The test application initiates a Logon sequence then it issues a Read table 0 request to the
                DUT.

                The returned table 0 from the DUT is validated for size and content based on the
                information retrieved from the DUT and the syntax for Table 0 as defined by the Standard.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



           5.1.1.3.     Possible Test Results
                 Result Description                                 Classification
                 The number of octets received from the DUT is      Non Conforming
                 incorrect
                 Reserved data fields are not set to 0.             Non-conforming
                 Unreserved data fields contain values that are     Non-conforming
                 out of bounds.
                 A bit is set in STD_TBLS_WRITE without the         Non-conforming
                 corresponding bit set it STD_TBLS_USED.
                 A bit is set in MFG_TBLS_WRITE without the         Non-conforming
                 corresponding bit set it MFG_TBLS_USED.
                 MAX_PROC_PARM_LENGTH is smaller that that          Non-conforming
                 required by the Standard for the procedures
                 listed identified in STD_PROC_USED and
                 MFG_PROC_USED.
                 MAX_RESP_DATA_LEN is smaller that that             Non-conforming
                 required by the Standard for the procedures
                 listed identified in STD_PROC_USED and
                 MFG_PROC_USED.

                 Cannot read table 0 using Read (entire) Table      Non-conforming
                 request
                 Otherwise                                          conforming

       5.1.2.     Table 0 – General Configuration Table (Directory)
           5.1.2.1.     Objective
               Verify that tables or procedures that are listed in Table 0, STD_TBLS_USED or
               MFG_TBLS_USED elements exist. It also verifies that tables or procedures that are not listed
               in Table 0, STD_TBLS_USED or MFG_TBLS_USED elements do not exist.

           5.1.2.2.     Description
                The test application initiates a Logon sequence then it issues a Read table 0 request to the
                DUT.

                The returned values of the STD_TBLS_USED and MFG_TBLS_USED elements are
                examined. Thereafter an attempt is made to read all possible tables Standard and
                Manufacturer tables from the DUT (tables 0-2047). For tables that are not listed in
                STD_TBLS_USED or MFG_TBLS_USED the DUT shall return the “Inappropriate Action
                Requested” error code, <iar>. For tables that are listed in STD_TBLS_USED or
                MFG_TBLS_USED the DUT shall return table data or a valid error code.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



           5.1.2.3.      Possible Test Results
                 Result Description                                  Classification
                 DUT returns <iar> error code for tables that are    Conforming
                 not listed in STD_TBLS_USED or
                 MFG_TBLS_USED.
                 DUT returns other error codes on access to          Conforming with discrepancy
                 tables that are not listed in STD_TBLS_USED or
                 MFG_TBLS_USED.
                 DUT returns the requested table, even though it     Non- Conforming
                 is not listed in STD_TBLS_USED or
                 MFG_TBLS_USED.
                 DUT returns the requested table and it is listed    Conforming
                 in STD_TBLS_USED or MFG_TBLS_USED.
                 DUT returns other error code for tables that are    Conforming
                 listed in STD_TBLS_USED or MFG_TBLS_USED
                 that is consistent with the Standard access
                 security and process model.

       5.1.3.     Table Self-Consistency (As Delivered)
           5.1.3.1.      Objective
                This procedure validates the ability of the test application to retrieve all tables (other than
                table 0) and checks them for self-consistency of table content and length against the
                Standard. The assessment of the table is performed based on values in Table 0 and the
                corresponding FLC tables or default-sets as published by the Standard and documented by
                the manufacturer of the DUT.

                The test application shall confirm that:

                (a) The number of octets received by reading the each entire Table is correct.

                (b) Validate that all data fields in each Table are correctly represented according to the
                    published and advertised syntax, capabilities and limits.

                (c) Verify that the information content of table elements consistent with its field type and
                    definition. E.g. the MANUFACTURER field in table 1, General Manufacturer Identification,
                    shall contain the manufacturer ID as defined in Annex A of the ANSI C12.19-1997.

           5.1.3.2.    Description
               This test is repeated for each table listed in STD_TBLS_USED and MFG_TBLS_USED
               elements of Table 0, General Configuration.

                The test application initiates a Logon sequence, sets the Security access permission to one
                that is consistent with the desired table(s) read operation, then it reads each table that can
                be read at that security access permission, concluding with a Logoff. The procedure is
                repeated until all tables have been read.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



           5.1.3.3.      Possible Test Results
                 Result Description                                   Classification
                 DUT returns a requested table, with no error,        Non-Conforming
                 and with a non-standard table length.
                 DUT returns a requested table with error.            Non-Conforming
                 DUT does not return a requested table.               Non-Conforming
                 One or more table elements are not consistent        Non-Conforming
                 with FLC limits, reserved values, Standard
                 imposed limits or manufacturer stated limits.
                 All table elements are consistent with FLC           Conforming
                 limits, reserved values, Standard imposed limits
                 or manufacturer stated limits.




       5.1.4.     FLC Self-Consistency (Programmed)
           5.1.4.1.      Objective
                This procedure validates the ability of the test application to program FLC tables then
                retrieve all tables (other than table 0) they affect. It checks them for self-consistency with
                the Standard in data content and length. The assessment of the table is performed based
                on values in Table 0 and the corresponding FLC tables or default-sets as published by the
                Standard, documented by the manufacturer of the DUT or programmed by the test
                application.

                The test application shall confirm that:

                (a) The FLC tables retain correctly limited element values.

                (b) The number of octets received by reading the each entire Table is correct.

                (c) All data fields in each Table are correctly represented according to the published and
                    advertised syntax, capabilities and limits in the FLC tables.

                (d) Table elements remain consistent with their type and definition.

           5.1.4.2.      Description
                This test is performed once for each the following FLC settings:

                (a) FLC tables actual limit sizes set to zero and feature enabling flags set to “off”.

                (b) FLC tables actual limit sizes set to their maximum value allowed and feature enabling
                    flags set to “on”.

                (c) FLC tables actual limit sizes set to set to their non-zero minimum value allowed and
                    feature enabling flags set to “on”

                The test application initiate a Logon sequence, sets the Security access permissions to one
                that is consistent with the desired FLC tables write operation (program), then it programs

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



                each FLC table according to one of the specified setups (a), (b), or (c) above, followed by a
                Logoff. The procedure is repeated until all FLC tables are programmed.

                It is important to note that the values retrained in each FLC are not necessary the ones
                programmed. For this reason, verifications are done on the FLC as retrieved from the DUT
                and not those programmed. The validation process is performed in two steps:

                (a) Verification of FLC tables content.

                      The test application initiate a Logon sequence, sets the Security access permissions to
                      one that is consistent with the desired FLC tables read operation. It then verifies that:

                      (i) The FLC+1 tables features (flags) can be set only when the corresponding FLC+0
                          table flags are set.

                      (ii) The numeric limits set in the FLC+1 tables are less or equal to those retrieved from
                           or published for FLC+0 tables.

                (b) Verification of the content of all tables that are affected by FLC tables values. This test
                    is identical to Procedure 5.1.3, “Table Self-Consistency (As Delivered)”

           5.1.4.3.       Possible Test Results
                 Result Description                                   Classification
                 DUT fail to program a write-enabled FLC table.       Non-Conforming
                 DUT retains element values in FLC+1 tables           Non-Conforming
                 that are not within the limits or DUT capabilities
                 advertised in the corresponding FLC+0 tables.
                 DUT returns a requested table, with no error,        Non-Conforming
                 and with a non-standard table length.
                 DUT returns a requested table with error.            Non-Conforming
                 DUT does not return a requested table.               Non-Conforming
                 DUT returns a requested table and a length of        Conforming
                 octets that is consistent with its data structure
                 and associated limiting tables.
                 One or more table elements are not consistent        Non-Conforming
                 with FLC limits, reserved values, Standard
                 imposed limits or manufacturer stated limits.
                 All table elements are consistent with FLC           Conforming
                 limits, reserved values, Standard imposed limits
                 or manufacturer stated limits.

   5.2. DUT Data Retrieval Using Tables

       5.2.1.     Device Identity Table Element (Tables 5, 6)
           5.2.1.1.       Objective
                Confirms that the test application can retrieve the DUT identity element. The identity
                element can be retrieved either from Table 5, “Device Identification: IDENTIFICATION”, or
                from Table 6, “Utility Information: DEVICE_ID”.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



               When both tables are present in the DUT the test application expects that Table 5 element,
               IDENTIFICATION, is identical to Table 6 element, DEVICE_ID.

           5.2.1.2.    Description
               The test application initiates a Logon sequence to the DUT, sets the Security access
               permissions to one that is consistent with read access to tables 5 and 6, then it reads tables
               5 (and 6), which is followed by a Logoff.

               The validation process is performed as follows:

               (a) If both tables are readable and their access modes are set to read-only, the test
                   application compares the IDENTIFICATION element of table 5 to the DEVICE_ID
                   element of table 6, for identity.

               (b) If only one of the tables is write enabled, the test application initiates a write sequence
                   (which may include Login and Security services) then attempts to change the identity
                   element transmitted in that table. Following that the test application re-reads the read-
                   only table and compares the IDENTIFICATION element in table 5 to the DEVICE_ID
                   element in table 6, for identity.

               (c) When both tables 5 and 7 are write enabled the test application initiates a write
                   sequence to the DUT (this may include Login and Security services). It writes the same
                   values for IDENTIFICATION and DEVICE_ID. The test application then re-reads the
                   tables and compares the IDENTIFICATION element in table 5 to the DEVICE_ID
                   element in table 6, for identity.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           5.2.1.3.     Possible Test Results
                 Result Description                                 Classification
                 Tables 5 and 7 are readable, their access          Conforming
                 modes are set to read-only and the
                 IDENTIFICATION element is identical to
                 DEVICE_ID element.
                 Only one table (5 or 6) is write enabled and a     Conforming
                 change to is identity element results in an
                 identical change to the identity element
                 retrieved from the corresponding read-only
                 table.
                 Both tables (5 or 6) are write enabled and the     Conforming
                 IDENTIFICATION field in table 5 and the
                 DEVICE_ID field in table 5 can be set to the
                 same value.
                 Both tables (5 or 6) are write enabled and the     Conforming with exception
                 IDENTIFICATION field in table 5 and the
                 DEVICE_ID field in table 5 can be set to the
                 different value.
                 Cannot write to write-enabled tables 5 or 6.       Non-Conforming

       5.2.2.     Manufacturer information retrieval (Table 1)
           5.2.2.1.     Objective
                   Verify if the manufacturer information can be retrieved from standard table 1.

           5.2.2.2.     Description
                The test application retrieves Table 1, “General manufacturer information”, and validates
                that the information returned is coherent with the model and manufacturer of this DUT.

           5.2.2.3.     Possible Test Results
                 Result Description                                 Classification
                 Table 1 cannot be retrieve or the information      Non-Conforming
                 retrieved is not coherent with the DUT tested.
                 Table 1 information cannot be retrieved without    Conforming with discrepancy
                 password.
                 Table 1 can be retrieve or the information         Conforming
                 retrieved is coherent with the DUT tested.

       5.2.3.     Nameplate information retrieval (Table 2)
           5.2.3.1.     Objective
                   Confirm that the nameplate information can be retrieved from standard table 2.

           5.2.3.2.     Description
                The test application retrieves Table 2, “Device nameplate”, and validates that the
                information returned is coherent with the DUT.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           5.2.3.3.      Possible Test Results
                 Result Description                                  Classification
                 Table 2 cannot be retrieve or the information       Non-Conforming
                 retrieved is not consistent with the DUT
                 nameplate information.
                 Table 2 can be retrieved and the information        Conforming
                 retrieved is consistent with the DUT tested.

       5.2.4.     Retrieval of Operating Modes and Status (Table 3)
           5.2.4.1.      Objective
                Confirm that the DUT present operating mode and status report correctly.

                This is a DUT qualifying test.

           5.2.4.2.      Description
                The test application retrieves Table 3, “End Device Mode Status”, and validates that the
                METERING_FLAG is set and the TEST_MODE is not set.

           5.2.4.3.      Possible Test Results
                 Result Description                                  Classification
                 The METERING_FLAG is set.                           Conforming
                 The METER_SHOP_MODE_FLAG is set.                    Conforming
                 The TEST_MODE_FLAG is set.                          Non-Conforming
                 Cannot retrieve modes and Status table.             Non-Conforming
                 If any of the following flags is set                Non-Conforming.
                  UNPROGRAMMED_FLAG
                  CONFIGURATION_ERROR_FLAG
                  SELF_CHK_ERROR_FLAG
                  RAM_FAILURE_FLAG
                  ROM_FAILURE_FLAG
                  NONVOL_MEM_FAILURE_FLAG
                  CLOCK_ERROR_FLAG
                  MEASUREMENT_ERROR_FLAG
                  LOW_BATTERY_FLAG
                  LOW_LOSS_POTENTIAL_FLAG
           5.2.4.4.      Caveats
                The DUT is expected to operate optimally during all tests. When a status flag indicates a
                DUT mode of failure and when the test is not intended to trigger such a failure or status, the
                DUT may be considered unsuitable for testing.


       5.2.5.     Pending status retrieval (Table 4)
           5.2.5.1.      Objective
                Confirm that the pending information can be retrieved from standard table 4, "Pending
                Status".

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           5.2.5.2.       Description
                The test application retrieves Table 4, “Pending status”.

           5.2.5.3.       Possible Test Results
                 Result Description                                  Classification
                 Table 4 cannot be retrieved.                        Non-Conforming
                 Table 4 can be retrieved.                           Conforming

       5.2.6.     Retrieval of Register Readings (Decades 1,2)
           5.2.6.1.       Objective
                When the DUT is an MUT, the test application expects the DUT to be able to transmit its
                register readings in accordance with the Standard. The test application shall validate that
                the transmitted register tables are consistent in magnitude, placement and type as specified
                in decade 1, “Data Source Tables” and related control tables.

                Specifically, the test application expects that the MUT register elements have the following
                properties:

                (a) All register reading (present, current, previous reset, seasonal, self-read and TOU) are
                    retrieved and their values expressed consistently with the information conveyed by the
                    unit of measure information available for retrieval from decade 1 tables, or decade 1
                    off-line description.

                (b) When the test application has to apply multipliers, ratios and offsets to convert
                    transmitted register raw values to physical units. All necessary conversion factors shall
                    be retrieved from standard table 15 together with related flags, selectors and
                    descriptors from the rest of Standard decade 1.

           5.2.6.2.       Description
                The test application initiates a read sequence (which includes a Login and optionally a
                Security service request) to the DUT in order to read the following tables (where present):

                         Table 0, “General Configuration”
                         Table 11/10, “Actual Sources Limiting”
                         Table 12, “Unit Of Measure”
                         Table 15, “Constants”
                         Table 16, “Source Definition”
                         Table 21/20, “Actual Register”
                         Table 22, “Data Selection”
                         Table 23, “Current Register Data”
                         Table 24, “Previous Season Data”
                         Table 25, “Previous Demand Reset Data”
                         Table 26, “Self Read Data”

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                  WG3, ANSI C12.23



                        Table 27, “Present Register Selection”
                        Table 28, “Present Register Data”
               The test application validates the retrieved values from tables 23, 24, 25, 26 and 28 using
               the programmed values and constants retrieved from tables 0, 11/10, 12, 15, 16, 21/20, 22
               and 27 as shown in Figure 1 below.

              Figure 1 : Test application transformation protocol for converting registers to
                       physical units.


                                        Start
                                  For each Table
                                 Register Element R




                               T16.CONSTANTS_FLAG             True
                                       and
                           T16.CONSTANT_TO_BE_APPLIED
                                        ?
                                                               R  R    * T15.MULTIPLIER
                                                                        + T15.OFFSET
                                              False




                              T11.SET1_PRESENT_FLAG
                                       and                    True
                       T15.SET1_CONSTANTS.SET_APPLIED_FLAG
                                        ?
                                                                R  R   * T15.SET1_CONSTANTS.RATIO_F1
                                                                        * T15.SET1_CONSTANTS.RATIO_P1
                                              False




                              T11.SET2_PRESENT_FLAG           True
                                       and
                       T15.SET2_CONSTANTS.SET_APPLIED_FLAG
                                        ?
                                                                R  R   * T15.SET1_CONSTANTS.RATIO_F2
                                                                        * T15.SET1_CONSTANTS.RATIO_P2
                                              False


                    Validate each data register, R, against
                    T12.UOM_ENTRY for that register and the
                    magnitude of the test load applied for
                    consistency.
                    Note result.




                                        End




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



           5.2.6.3.       Possible Test Results
                 Result Description                                     Classification
                 Cannot transform readings to physical register         Non-Conforming
                 values (real measurements) solely base on the
                 values retrieved from Standard tables.
                 Transformed readings do not agree with test            Non-Conforming
                 load and UOM.
                 Transformed readings agree with test load and          Conforming
                 UOM.

       5.2.7.     Retrieval of Load Profile Data (Decades 1,6)
           5.2.7.1.       Objective
                When the DUT is an MUT, the test application expects the DUT to be able to transmit its
                profile readings in accordance with the Standard. The test application shall validate that the
                transmitted profile tables are consistent in magnitude, placement and type as specified in
                decade 1, “Data Source Tables” and related control tables.

                Specifically, the test application expects that the MUT register elements have the following
                properties:

                (a) Load profile data channels are retrieved and their values expressed consistently with
                    the information conveyed by the unit of measure information available for retrieval from
                    decade 1 tables, or decade 1 off-line description.

                (b) When the test application has to apply multipliers, ratios and offsets to convert
                    transmitted register raw values to physical units. All necessary conversion factors shall
                    be retrieved from standard table 15 and/or 62.

           5.2.7.2.       Description
                The test application initiates a read sequence (which includes a Login and optionally a
                Security service request) to the DUT in order to read the following tables (where present):

                         Table 0, “General Configuration”
                         Table 11/10, “Actual Sources Limiting”
                         Table 12, “Unit Of Measure”
                         Table 15, “Constants”
                         Table 16, “Source Definition”
                         Table 61/60, “Actual Load Profile Limiting”
                         Table 62, “Load Profile Control”
                         Table 63, “Load Profile Status”
                         Table 64, “Load Profile Data Set 1”
                         Table 65, “Load Profile Data Set 2”
                         Table 66, “Load Profile Data Set 3”

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                   WG3, ANSI C12.23



                         Table 67, “Load Profile Data Set 4”
               The test application validates the retrieved values from tables 64, 65, 66 and 67 using the
               programmed values and constants retrieved from tables 0, 11/10, 12, 15, 16, 61/60, 62 and
               63 according to Figure 2 below.

               Figure 2 : Test application transformation protocol from load profiler readings to
                        physical usable units. N =1..4, designates the load profile number and C
                        is the channel number.


                                  Start Processing
                                    Load Profile
                                     Table T63+N




                                                            True
                          T61.SCALAR_DIVISOR_FLAG_SET(N)               For each Channel Interval
                                         ?                              Element R(L,C) in Table
                                                                               T(63+N)
                                               False
                                                                   R(L,C)  R(L,C)
                                                                           T62.SCALARS_SET(L,C)
                                                                           T62.DIVISORS_SET(L,C)


                             Continue processing of
                             Interval elements as per
                             Figure 1, “Test application              No                     Yes
                                                                            More Intervals
                             transformation protocol for
                                                                                  ?
                             converting register readings
                             to physical units”




                                         End




           5.2.7.3.       Possible Test Results
                Result Description                                     Classification
                Cannot transform load profile values to physical       Non-Conforming
                values (real measurements) solely base on the
                values retrieved from Standard tables.
                Transformed load profile values do not agree           Non-Conforming
                with test load, demand interval values and
                UOMs.
                Transformed load profile values agree with test        Conforming
                load and UOM.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



       5.2.8.     History Logger Data (Tables 73,74)
           5.2.8.1.      Objective
                Confirm that test application can retrieve history from the history logger of the DUT. The
                history tables are Table 73, “History Log Control” and Table 74, “History Log Data”.

           5.2.8.2.      Description
                The test application sets (programs) Table 73, “History Log Control” so that the DUT
                creates entries in the history log data table as a result of external impulses or test
                application driven requests (such as table writes). The test application induces the
                necessary impulses or history record creation triggers (this may require the initiation of a
                Table write sequence, changes to DUT operating parameters).

                The test application initiates a Read request for Table 74 to retrieve the history log list
                pointers and data entries. The validation process consists of the following:

                (a) The history log list management record HIST_FLAGS, NBR_VALID_ENTRIES,
                    LAST_ENTRY_ELEMENT, LAST_ENTRY_SEQ_NBR and NBR_UNREAD_ENTRIES
                    indicate that the expected numbers of new records were created.

                (b) The HISTORY_ENTRY_RCD of each entry contains the correct event identifier and
                    associated data.

           5.2.8.3.      Possible Test Results
                 Result Description                                     Classification
                 Cannot retrieve history list management                Non-Conforming
                 pointers or list management pointers do
                 updated correctly.
                 Cannot retrieve history data.                          Non-Conforming
                 The HISTORY_ENTRY_RCD contains invalid or              Non-Conforming
                 unexpected information (invalid
                 HISTORY_TIME, EVENT_NUMBER,
                 HISTORY_SEQ_NBR, USER_ID,
                 HISTORY_CODE or HISTORY_ARGUMENT).
                 Otherwise                                              Conforming

       5.2.9.     Event Log Data (Tables 75,76)
           5.2.9.1.      Objective
                In a regulated market, this is a DUT qualifying test.

                The test application confirms that it can retrieve records from the event logger of the DUT.
                The event log tables are Table 75, “Event Log Control” and Table 74, “Event Log Data”.

                In Canada, or in a regulated market, the event logger shall only react to impulses that result
                in changes to the metrological elements of the DUT. In addition, the mandatory list of
                triggers shall be supplied by the regulatory agency (e.g. in Canada it is The Legal
                Metrology Branch of Measurement Canada).


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



           5.2.9.2.    Description
               The test application sets (programs) Table 75, “Event Log Control” so that the DUT creates
               entries in the event log data table as a result of external impulses or test application driven
               requests (such as table writes). The test application induces the necessary impulses or
               event record creation triggers (this may require the initiation of a Table write sequence,
               changes to DUT operating parameters.

               The test application initiates a Read request for Table 76, “Event Log Data”, to retrieve the
               event log list pointers and data entries. The validation process consists of the following:

               (a) The event log list management record HIST_FLAGS, NBR_VALID_ENTRIES,
                   LAST_ENTRY_ELEMENT, LAST_ENTRY_SEQ_NBR and NBR_UNREAD_ENTRIES
                   indicate that the expected numbers of new records were created.

               (b) The EVENT_ENTRY_RCD of each entry contains the correct event identifiers, date and
                   associated data.

               (c) When the DUT is also subject to a regulation test (such as in Canada) an additional
                   validation shall be performed for the presence of an EVENT_CODE that was not
                   included in the list of allowable events by the regulatory agency.

           5.2.9.3.    Possible Test Results
                Result Description                                  Classification
                Cannot retrieve event list management pointers      Non-Conforming [, reject]
                or list management pointers do updated
                correctly.
                Cannot retrieve event data.                         Non-Conforming [,reject]
                The EVEN_ENTRY_RCD contains invalid or              Non-Conforming [,reject]
                unexpected information (invalid EVENT_TIME,
                EVENT_NUMBER, EVENT_SEQ_NBR, USER_ID,
                EVENT_CODE or EVENT_ARGUMENT).
                Otherwise                                           Conforming
           5.2.9.4.      Caveats
               A non-conforming result for this FUT in a regulated environment shall additionally rank the
               DUT as rejected.


       5.2.10. Retrieval of the clock and conversion to Local Time (Tables 52,55)
           5.2.10.1.   Objective
               Confirm that real-time clock values can be retrieve from table 52, “Clock” or Table 55,
               “Clock State” and that it can be interpreted correctly for conversion to local time zone based
               on the information provided in the TIME_DATE_QUAL field. The time and date are expected
               to track correctly relative to the values preset prior to test initiation.

           5.2.10.2.   Description
               The test application retrieves Table 52, “clock” and Table 55, “Clock State” and converts
               the CLOCK_CALENDAR to local time as shown in Figure 3 below.

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                      WG3, ANSI C12.23



               The test is repeated four times:

               (a) Before entry into DST.

               (b) Within DST period

               (c) Upon exit from DST.

               (d) During DST “spring-back” period.

              Figure 3 : Test application transformation protocol from DUT clock to local time.



                                  Start Processing
                                 T Table 52 or 55



                                C  CLOCK_CALENDAR




                                                                    True
                            (T.DST_FLAG or C in DST)
                                       and
                           T.DST_APPLIED_FLAG = False
                                        ?
                                                                            C  C   + T53.DST_TIME_AMT
                                                False




                                                                    True
                                   T.GMT_FLAG
                                       and
                          T.TM_ZN_APPLIED_FLAG = False
                                        ?
                                                                           C  C + T53.TIME_ZONE_OFFSET
                                                False



                     Validate that C agrees with test application
                     local date and time.




                                          End




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                          WG3, ANSI C12.23



           5.2.10.3.   Possible Test Results
                Result Description                                Classification
                DUT clock tracks test application local time      Conforming
                including DAY_OF_WEEK, DST_FLAG,
                GMT_FLAG and TM_ZN_APPLIED_FLAG,
                DST_APPLIED_FLAG.
                DUT clock does not track the test application     Non-Conforming
                local time
                DUT clock tracks a real-time clock in some        Non-Conforming
                other time zone.



       5.2.11. Retrieval of the clock and conversion to GMT (Tables 52,55)
           5.2.11.1.   Objective
               Confirm that real-time clock values can be retrieve from table 52, “Clock” or Table 55,
               “Clock State” and that it can be interpreted correctly based on the information provided in
               the TIME_DATE_QUAL field for conversion to GMT. The time and date are expected to
               track correctly relative to the values preset prior to test initiation.

           5.2.11.2.   Description
               The test application retrieves Table 52, “clock” and Table 55, “Clock State” and converts
               the CLOCK_CALENDAR to local time as shown in Figure 4 below.

               The test is repeated four times:

               (a) Before entry into DST.

               (b) Within DST period

               (c) Upon exit from DST.

               (d) During DST “spring-back” period.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                          WG3, ANSI C12.23



         Figure 4 : Test application transformation protocol from DUT clock to GMT.

                             Start Processing
                            T Table 52 or 55



                           C  CLOCK_CALENDAR




                                                               True
                               T.DST_FLAG
                                   and
                           T.DST_APPLIED_FLAG
                                    ?
                                                                       C  C   - T53.DST_TIME_AMT
                                           False




                                                               True
                          T.GMT_FLAG = False
                           or (T.GMT_FLAG and
                         T.TM_ZN_APPLIED_FLAG)
                                    ?
                                                                      C  C - T53.TIME_ZONE_OFFSET
                                           False



                Validate that C agrees with test application
                GMT date and time.




                                     End




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                WG3, ANSI C12.23



           5.2.11.3.     Possible Test Results
                 Result Description                                   Classification
                 DUT clock tracks test application time in GMT        Conforming
                 time zone including DAY_OF_WEEK,
                 DST_FLAG, GMT_FLAG,
                 TM_ZN_APPLIED_FLAG and
                 DST_APPLIED_FLAG.
                 DUT clock does not track the test application        Non-Conforming
                 GMT.
                 DUT clock tracks a real-time clock in some           Non-Conforming
                 other time zone.

   5.3. Operation and Management

       5.3.1.     List Management (Monitors)
           5.3.1.1.      Objective
                Confirm that the DUT list management processor maintains correct list state information
                following creation of new list entries or the manipulation of the list pointers.

           5.3.1.2.      Description
                For each tables that used list management, namely:

                (a) Table 26, “Self Read Data”

                (b) Table 64, “Load Profile Data Set 1”

                (c) Table 65, “Load Profile Data Set 2”

                (d) Table 66, “Load Profile Data Set 3”

                (e) Table 67, “Load Profile Data Set 4”

                (f) Table 74, “History Log Data”

                (g) Table 76, “Event Log Data”

                The test application programs (Writes to) the DUT so that it creates entries in the respective
                list being tested based on a schedule and external impulses. The test application induces
                the necessary impulses for list entry creation (this may require the initiation of a Table write
                sequence, changes to DUT operating parameters, or in response to change in supply
                voltage or alike).

                Then the following operational characteristics of the DUT are verified:

                (a) The list management elements NBR_UNREAD_ENTRIES, NBR_VALID_ENTRIES and
                    LAST_ENTRY_SEQ are incremented by one for each new entry that is inserted into the
                    list.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



                (b) When the list is full, the NBR_VALID_ENTRIES and NBR_UNREAD_ENTRIES no longer
                    increment and are fixed to the total number of entries in the list.

                (c) The LAST_ENTRY_ELEMENT always report the position of the last element inserted in
                    the list.

           5.3.1.3.     Possible Test Results
                 Result Description                                Classification
                 List pointers operate as expected                 Conforming
                 List pointers do not operate as expected          Non-Conforming

       5.3.2.     List Management (Overflow Control)
           5.3.2.1.     Objective
                   Validate that the DUT list management overflow protections work.

           5.3.2.2.     Description
                   The test setup is identical to that in 5.3.1, “List Management (Monitors)” on page 51.
                   Except the test is repeated two times. Once the test application sets the
                   INHIBIT_OVERFLOW_FLAG to “true”; then the test is repeated with the
                   INHIBIT_OVERFLOW_FLAG reset to “false”. The test application causes an excess of
                   entries to be created or it initiates an excessive number of impulses to the DUT, in such
                   a manner to create a list overflow condition.

                   The OVERFLOW_FLAG is monitored by the test application when the
                   NBR_UNREAD_ENTRIES equals NBR_VALID_ENTRIES and an attempt is made by the
                   DUT to add a new entry to the list.

                   When INHIBIT_OVERFLOW_FLAG is set to “true” the test application shall validate that
                   NBR_VALID_ENTRIES, NBR_UNREAD_ENTRIES, LAST_ENTRY_ELEMENT and
                   LAST_ENTRY_SEQ_NBR do not increment, thus the new entry was not added to the list.

           5.3.2.3.     Possible Test Results
                Result Description                                 Classification
                OVERFLOW_FLAG is “true” when                       Conforming
                NBR_UNREAD_ENTRIES equals
                NBR_VALID_ENTRIES and an attempt was
                made to add a new entry to the list
                INHIBIT_OVERFLOW_FLAG, when “true”                 Conforming
                prevents list overflow.
                INHIBIT_OVERFLOW_FLAG, when “false”                Conforming
                does not prevent list overflow.
                Otherwise                                          Non-Conforming
           5.3.2.4.    Caveats
           The test application checks that the DUT accepted the new list management parameters and
           validates the result against the actual list flags as retrieved from the DUT after it was
           programmed.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



       5.3.3.     List Management (Update Last Read Entry)
           5.3.3.1.     Objective
                Confirm that the test application can initiate Standard Procedure 5, “Update Last Read
                Entry”, to modify the value of the list element NBR_UNREAD_ENTRIES. It also ensures that
                NBR_UNREAD_ENTRIES is correctly updated.

           5.3.3.2.     Description
                For each tables that used list management, namely:

                (a) Table 26, “Self Read Data”

                (b) Table 64, “Load Profile Data Set 1”

                (c) Table 65, “Load Profile Data Set 2”

                (d) Table 66, “Load Profile Data Set 3”

                (e) Table 67, “Load Profile Data Set 4”

                (f) Table 74, “History Log Data”

                (g) Table 76, “Event Log Data

                The test application initiate Write request to Standard Procedure 5, “Update Last Read
                Entry”, to decrement the value of the list element NBR_UNREAD_ENTRIES repeatedly by an
                amount indicated in the procedure parameter ENTRIES_READ. This retrieved value of the
                element NBR_UNREAD_ENTRIES is expected to be zero limited.

           5.3.3.3.     Possible Test Results
                 Result Description                                 Classification
                 NBR_UNREAD_ENTRIES decrements by the               Conforming
                 procedure parameter ENTRIES_READ or
                 NBR_UNREAD_ENTRIES, whichever is
                 smaller.
                 Otherwise                                          Non-Conforming

       5.3.4.     List Management (Reset List Pointers)
           5.3.4.1.     Objective
                Confirm that a test application can invoke Standard Procedure 4, “Reset List Pointers”. This
                in turn results in the elements NBR_UNREAD_ENTRIES, NBR_VALID_ENTRIES set to zero,
                the OVERFLOW_FLAG is reset and the elements LAST_ENTRY_SEQ_NBR and
                EVENT_NUMBER left unchanged, when the DUT is in metering mode.

           5.3.4.2.     Description
                For each tables that used list management, namely:

                (a) Table 26, “Self Read Data”
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



                (b) Table 64, “Load Profile Data Set 1”

                (c) Table 65, “Load Profile Data Set 2”

                (d) Table 66, “Load Profile Data Set 3”

                (e) Table 67, “Load Profile Data Set 4”

                (f) Table 74, “History Log Data”

                (g) Table 76, “Event Log Data

                The test application initiate a Write request to Standard Procedure 4, “Reset List Pointers”
                then it retrieves the list control and status elements to verify their final values. This test is
                run with the DUT in “Metering Mode”.

           5.3.4.3.      Possible Test Results
                 Result Description                                    Classification
                 The elements NBR_VALID_ENTRIES and                    Non-Conforming
                 NBR_UNREAD_ENTRIES are not reset to zero
                 The elements LAST_ENTRY_SEQ and                       Non-Conforming
                 EVENT_NUMBER (used in Table 74 and 76)
                 reset.
                 When the element LIST_TYPE is a FIFO, the             Non-Conforming
                 element LAST_ENTRY_ELEMENT is not set to
                 zero and it is not set to the value element
                 NBR_XXX_ENTRIES-1 for consistent operation.
                 The OVERFLOW_FLAG is not set to “false”               Non-Conforming
                 Otherwise, list operates consistently.                Conforming

       5.3.5.     Reset Data Registers (Tables 23, 24, 25, 26)
           5.3.5.1.      Objective
                This is a sequence of rather complex procedures that confirm the correct operation of
                Standard Procedure 9, “Remote Reset”. This procedure is expected to perform various
                resets on Table 23, “Current Register Data”. The candidate resets are

                (a) Demand reset

                (b) Self read

                (c) Change of Season

                The test application validates that the pre-reset copy of Table 23 is captured correctly in the
                following tables:

                (a) Table 24, “Previous Season Data”

                (b) Table 25, “Previous Demand Reset Data”

Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



               (c) Table 26, “Self Read Data”

           5.3.5.2.       Description
               The test application initiates a preliminary Read sequence to the DUT Tables 24, 25, 26
               and Table 55, “Clock State” to capture the present values.

               The test application then follows up repeatedly issuing a Standard Procedure 9 write to
               invoke the Remote Reset using various combinations of the procedure parameters
               Boolean DEMAND_RESET_FLAG, SELF_READ_FLAG and SEASON_CHANGE_FLAG
               (including existing and different NEW_SEASON elements). This operation takes into
               consideration the state of the DEMAND_RESET_LOCK_FLAG element and
               RESET_EXCLUSION period in Table 13, “Demand Control”. Following each invocation of
               the remote reset procedure the test application re-reads tables 24, 25, 26 and the SEASON
               element in table 55 to check for changes.

               Specifically the test applications performs the following:

               (a) Initiate a “Remote Reset Procedure” with DEMAND_RESET_FLAG, SELF_READ_FLAG
                   and SEASON_CHANGE_FLAG set to “false”. Re-read tables 24, 25, 26 and the SEASON
                   element in table 55 to affirm that they did not change.

               (b) Initiate a “Remote Reset Procedure” with DEMAND_RESET_FLAG set to “true” and
                   SELF_READ_FLAG and SEASON_CHANGE_FLAG set to “false”. Re-read tables 23, 24,
                   25, 26 and the SEASON element in table 55 to confirm that

                      (i) The content of Tables 23 were copied to table 25, “Previous Demand Reset Data”
                          just prior to the reset.

                      (ii) The DEMAND element of Table 23 was reset to zero.

                      (iii) The CUM_DEMAND element of Table 23 accumulated the corresponding pre-reset
                            maximum demand element.

                      (iv) The CONT_CUM_DEMAND copied to table 25 is the same value as that of
                           corresponding CUM_DEMAND present in table 23 after reset.

                      (v) When the SELF_READ_DEMAND_RESET element of Table 21/20 equals to 1 or 3
                          then the test application validates that Table 26 has been updated correctly,
                          otherwise the test application expects Table 26 to remain unchanged.

                      (vi) Validate that the NBR_DEMAND_RESETS counter increments as expected.

                      (vii) Table 24 is unchanged.

               (c) Initiate a “Remote Reset Procedure” with SELF_READ_FLAG set to “true” and
                   DEMAND_RESET_FLAG and SEASON_CHANGE_FLAG set to “false”. Re-read tables 23,
                   24, 25, 26 and the SEASON element in table 55 to confirm that

                      (i) The content of Tables 23 were copied to table 26, “Self Read Data” just prior to the
                          reset into the correct offset, as indicated by LAST_ENTRY_ELEMENT.
Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



                   (ii) When the SELF_READ_DEMAND_RESET element of Table 21/20 equals to 2 or 3
                        then the test application validates that demand reset has been performed correctly
                        and table 25 was updated, otherwise the test application expects Table 25 to
                        remain unchanged.

                   (iii) Table 24 is unchanged.

               (d) Initiate a “Remote reset procedure” with SEASON_CHANGE_FLAG set to “true” and
                   DEMAND_RESET_FLAG and SELF_READ_FLAG set to “false”. Re-read tables 23, 24,
                   25, 26 and the SEASON element in table 55 (this procedure is repeated once with the
                   NEW_SEASON parameter set to the active season and once with the NEW_SEASON set
                   to a different value) and confirm that:

                   (i) When NEW_SEASON parameter is different that the active season, the content of
                       Tables 23 were copied to table 24, “Previous Season Data”. Otherwise nothing
                       happened.

                   (ii) Tables 25 and 26 are unchanged

               (e) Initiate a “Remote Reset Procedure” with DEMAND_RESET_FLAG, SELF_READ_FLAG
                   and SEASON_CHANGE_FLAG set to “true” and NEW_SEASON parameter set to one
                   different that the active season. Re-read tables 24, 25, 26 and the SEASON
                   element in table 55 to affirm that they consistently as per tests (b), (c) and (d) above.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                         WG3, ANSI C12.23



           5.3.5.3.    Possible Test Results
                Result Description                                Classification
                Demand reset or self read or season changes       Non-Conforming
                are observed with DEMAND_RESET_FLAG,
                SELF_READ_FLAG and
                SEASON_CHANGE_FLAG set to “false”.
                Demand reset or self read or season changes       Non-Conforming
                are not observed with DEMAND_RESET_FLAG,
                SELF_READ_FLAG and
                SEASON_CHANGE_FLAG set to “true” and
                NEW_SEASON is different that the active season.
                Demand reset or self read or season changes       Non-Conforming
                do not take a “snap-shot” of Table 23 as it
                existed prior to the reset.
                Season change takes effect when                   Non-Conforming
                SEASON_CHANGE_FLAG set to “true” and
                NEW_SEASON is identical to the current season
                Demand reset or a self read does/does not         Non-Conforming
                follow the expected logic set by
                SELF_READ_DEMAND_RESET relation.
                CUM_DEMAND, CONT_CUM_DEMAND and                   Non-Conforming
                NBR_DEMAND_RESETS do not track correctly
                on demand reset.
                Self read list management not working correctly   Non-Conforming
                or date stamp and counter not incrementing.
                RESET_EXCLUSION if present in table 13            Non-Conforming
                “Demand control” is not respected.
                Otherwise on no fault.                            Conforming




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23




       5.3.6.     Change Device Mode (Procedure. 6)
           5.3.6.1.     Objective
                Confirm that Standard Procedure 6 “Change End Device Mode” can not set the DUT
                mode to non-metering when the DUT is sealed. This operation is not permitted in Canada
                or in a regulated environment.

           5.3.6.2.     Description
                The test application initiates a Write sequence for Procedure 6, “Change Device Mode
                Procedure”, as follows:

                (a) Establish the present state of the DUT by retrieving Table 3, “End Device Mode and
                    Status” information.

                (b) Invoke Standard Procedure 6, “Change End Device Mode”, with the parameters
                    METERING_FLAG set to “false”, TEST_MODE_FLAG and METER_SHOP_MODE_FLAG
                    set to “true”.

                (c) Re-read Standard Table 3 and confirm that METERING_FLAG did not change its state.
                    The METER_SHOP_MODE_FLAG and TEST_MODE_FLAG read state are recorded.

           5.3.6.3.     Possible Test Results
                 Result Description                                   Classification
                 The METERING_FLAG was reset to “false”               Non-Conforming
                 when the MUT is sealed.
                 The TEST_MODE_FLAG was set to “true” when            Non-Conforming
                 the MUT is sealed.
                 Cannot change METERING_FLAG and                      Conforming
                 TEST_MODE_FLAG.

       5.3.7.     Clear Status (Procedure 7)
           5.3.7.1.     Objective
                Confirm that Standard Procedure 7, “Clear Standard Status Flags”, and Procedure 8,
                “Clear Manufacturer Status Flags”, operate correctly by resetting the correct status bits.

           5.3.7.2.     Description
                The test application induces the necessary impulses for setting each of the supported
                status flags. (This may require the initiation of a Table write sequence, changes to DUT
                operating parameters. It recognize that is not always possible to create the condition to set
                all supported flags, the flags not tested will be reported as such in the result sheet.

                Following DUT excitation the test application initiate the following validation test sequence:

                (a) Retrieve Table 3 information and confirm that the expected status flags are set to
                    “true”.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



               (b) Invoke Standard Procedure 7 to reset the Standard status flags.

               (c) Invoke Standard Procedure 8 to reset the Manufacturer status flags.

               (d) Retrieve Table 3 information and affirm that the expected status flags are set to “false”.

           5.3.7.3.    Possible Test Results
                Result Description                                  Classification
                Cannot retrieve Table 3 or retrieval complete       Non-Conforming
                with errors.
                Retrieved status flags do not set to “true”         Non-Conforming
                following impulses.
                Procedure 7 cannot complete, or it completes        Non-Conforming
                with errors.
                Procedure 8 cannot complete, or it completes        Non-Conforming
                with errors.
                Retrieved status flags do not reset to “false”      Non-Conforming
                following invocation of Procedures 7 and 8.
                Retrieved status flags reset to “false” following   Conforming
                invocation of Procedures 7 and 8.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23




       5.3.8.     Set Time (Procedure 10, Table 52)
           5.3.8.1.      Objective
                Confirm that the test application can set the DUT clock.

           5.3.8.2.      Description
                The test application set the DUT clock as follows:

                (a) Initiate Standard Procedure 10, “Set Date and/or Time”. Alternatively, when procedure
                    10 is not available, the test application writes the clock settings directly to Table 52,
                    “Clock”. The clock is setup with the elements SET_TIME_FLAG, SET_DATE_FLAG and
                    SET_TIME_DATE_QUAL set to “true”; CLOCK_CALENDAR, DAY_OF_WEEK and
                    DST_FLAG derived from the test application clock; and TM_ZN_APPLIED_FLAG and
                    DST_APPLIED_FLAG set to “false”.

                (b) If the DUT responds with an error following the clock programming attempt above, the
                    test application attempts to set the DUT clock a second time, but this time with the
                    GMT_FLAG set to “false”, the TM_ZN_APPLIED_FLAG and the DST_APPLIED_FLAG
                    set to “true”.

                (c) The test application retrieves Tables 52, “Clock” and 55, “Clock State” and confirms
                    that the clock correctly reflects and tracks the values set by the test application. This is
                    done using test procedures 5.2.10 - “Retrieval of the clock and conversion to Local
                    Time (Tables 52,55)” and 5.2.11 – “Retrieval of the clock and conversion to GMT
                    (Tables 52,55)”, on page 47.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



            Figure 5 : CLOCK_CALENDAR preparation for programming algorithm.


                                      Start




                   C  test application time (GMT)




                                                         True
                                  C in DST
                                     and
                              DST_APPLIED_FLAG
                                      ?
                                                                 C  C   + T53.DST_TIME_AMT
                                              False




                                                         True
                             GMT_FLAG = false
                                     or
                     (GMT_FLAG and TM_ZN_APPLIED_FLAG)
                                     ?
                                                                C  C + T53.TIME_ZONE_OFFSET
                                              False



                   C is ready for programming the DUT
                   CLOCK_CALENDAR element.




                                      End




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



           5.3.8.3.     Possible Test Results
                 Result Description                                  Classification
                 Cannot set the time when the DUT is operating       Non-Conforming
                 in metering mode and meter-shop mode.
                 Cannot set the time when the DUT is operating       Non-Conforming
                 in metering mode and not in meter-shop mode,
                 where modification to the clock represent an
                 acceptable time discontinuity.
                 Cannot set the time when the DUT is operating       Conforming
                 in metering mode and not in meter-shop mode,
                 where modification to the clock represent an
                 unacceptable time discontinuity.
                 Cannot retrieve clock settings from table 52 or     Non-Conforming
                 Table 55.
                 Can retrieve clock settings from table 52 or        Conforming
                 Table 55 and the clock values correctly track or
                 micro-adjust toward the values set by the test
                 application.

       5.3.9.     Access Validation for Tables and Procedures (Tables 42,43,44)
           5.3.9.1.     Objective
                Confirm that in the presence of a security policy the DUT security operates consistently
                using the access permissions set in Tables 42, “Security”, Table 43, “Default Access
                Control” and Table 44, “Access Control”.

           5.3.9.2.     Description
                The test application first retrieves from the DUT the configuration of table 42, ”Security
                table”, Tables 43, “Default Access Control” and table 44, “Access Control”.

                For each password and group access association in Table 42, and based on the security
                policy information in tables 43 and 44, the test application establishes access permissions
                for a test, by invoking the PSEM Security service then it performs the following tests:

                (a) Retrieve tables that are accessible according to the security policy.

                (b) Write to tables that are write-enabled according to the security policy.

                (c) Retrieve tables that are not accessible according to the security policy.

                (d) Write to tables that are not write-enabled according to the security policy.

                (e) Invoke procedures that are not executable according to the security policy.

           5.3.9.3.     Possible Test Results




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



                Result Description                                  Classification
                Unable to read readable tables with correct         Non-Conforming
                access permissions.
                Unable to write to write enabled tables with        Non-Conforming
                correct access permissions.
                Can read readable tables with insufficient          Non-Conforming
                access permissions.
                Can write to write enabled tables or invoke a       Non-Conforming
                procedure with insufficient access permissions.
                Can write to read-only tables with sufficient or    Non-Conforming
                insufficient access permissions.
                Can read or write tables only given correct         Conforming
                access permissions and in accordance with the
                enabling flags in table 0.

       5.3.10. Forced Activation of Pending Tables (Procedures 12,13)
           5.3.10.1.   Objective
               Confirm that the Standard Procedure 12 “Activate All Pending Tables”, and Standard
               Procedure 13, “Activate Specific Pending Table(s)” work as expected.

           5.3.10.2.   Description
               The following steps are invoked by the test application:

               (a) Program a pending table target for a future activation.

               (b) Retrieve table 4, “Pending Status”, and verifies that the pending table programmed is
                   present in the PENDING_TABLES array and the PENDING_FLAG is set to “true”.

               (c) Invoke Standard Procedure 12.

               (d) Re-retrieve Table 4 to confirm that the pending table programmed is no longer present
                   in the PENDING_TABLES array or its PENDING_FLAG is now set to “false”.

               (e) Retrieve the corresponding active table and confirm that its content is identical to that
                   of the previously activated pending table.

               (f) The test is repeated using procedure 13 instead of procedure 12.

           5.3.10.3.   Possible Test Results




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



                Result Description                                    Classification
                The pending table programmed is not                   Non-Conforming
                referenced in the PENDING_TABLES array of
                table 4.
                The PENDING_FLAG in table 4 was not set to            Non-Conforming
                “true” after programming the pending table.
                An entry is still reported in table 4 following the   Non-Conforming
                invocation of Standard procedures 12 or 13, or
                the PENDING_FLAG was not set to “false”.
                The active table does not contain the                 Non-Conforming
                information programmed in the corresponding
                pending table following the invocation of
                Standard procedures 12 or 13.
                Otherwise                                             Conforming

       5.3.11. Clear Activation of Pending Tables (Procedures 14,15)
           5.3.11.1.    Objective
               Confirm that Standard Procedure 14, “Clear all pending tables procedure” and Standard
               Procedure 15, “Clear specific pending tables procedure” work as expected.

           5.3.11.2.    Description
               The following steps are initiated by the test application:

               (a) Retrieve the corresponding active table and record its values.

               (b) Programs a pending table for a future activation.

               (c) Retrieve table 4, “Pending Status”, and verifies that the pending table programmed is
                   present in the PENDING_TABLES array and the PENDING_FLAG is set to “true”.

               (d) Invoke procedure 14.

               (e) Re-retrieve Table 4 to confirm that the pending table programmed is no longer present
                   in the PENDING_TABLES array or its PENDING_FLAG is now set to “false”.

               (f) Retrieve the corresponding active table and confirm that its content was not changed.

               (g) The test is repeated using procedure 15 instead of procedure 14.

           5.3.11.3.    Possible Test Results




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                                WG3, ANSI C12.23



                Result Description                                    Classification
                The pending table programmed is not present           Non-Conforming
                in the PENDING_TABLES array of table 4.
                The PENDING_FLAG in table 4 was not set to            Non-Conforming
                “true” after programming the pending table.
                An entry is still reported in table 4 following the   Non-Conforming
                invocation of Standard procedures 14 or 15, or
                the PENDING_FLAG was not set to “false”.
                The content of the active table, which                Non-Conforming
                corresponds to the pending table, changed after
                executing Standard procedure 14 or 15.
                Otherwise                                             Conforming



       5.3.12. Start and Stop Load Profile (Procedures 16,17)
           5.3.12.1.    Objective
               The test application confirms that Standard Procedure 16, “Start load profile procedure” and
               Standard Procedure 17, “Stop Load Profile Procedure”, work as expected.

           5.3.12.2.    Description
               The following steps are initiated by the test application::

               (a) Retrieves table 63 and verify that the ACTIVE_MODE_FLAG is set to “true”.

               (b) Invoke procedure 17, then re-retrieve               table   63   and    confirm   that   the
                   ACTIVE_MODE_FLAG is set to “false”.

               (c) Wait for at least one interval time then re-retrieve table 63 to establish that
                   NBR_VALID_INT, NBR_OF_VALID_BLOCKS and NBR_UNREAD_BLOCKS did not
                   change.

               (d) Invoke procedure 16, re-retrieve table 63 then confirm that the ACTIVE_MODE_FLAG
                   was set to “true”.

               (e) Wait at least one interval time and re-retrieve table 63 to establish that any of
                   NBR_VALID_INT, NBR_OF_VALID_BLOCKS and NBR_UNREAD_BLOCKS was
                   changed.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                        WG3, ANSI C12.23



           5.3.12.3.   Possible Test Results
                Result Description                               Classification
                The ACTIVE_MODE_FLAG reported prior of the       Non-Conforming
                invocation of Standard procedure 17 was not
                set to “true”.
                The ACTIVE_MODE_FLAG reported after              Non-Conforming
                invocation of Standard procedure 17 was not
                set to “false”.
                The ACTIVE_MODE_FLAG reported after              Non-Conforming
                invocation of Standard procedure 16 was not
                set to “true”.
                The NBR_VALID_INT,                               Non-Conforming
                NBR_OF_VALID_BLOCKS or
                NBR_UNREAD_BLOCKS changed following the
                invocation of Standard procedure 17.
                The NBR_VALID_INT,                               Non-Conforming
                NBR_OF_VALID_BLOCKS or
                NBR_UNREAD_BLOCKS did not change
                following the invocation of Standard procedure
                16.
                Otherwise                                        Conforming




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                          WG3, ANSI C12.23




   5.4. DUT Programming

       5.4.1.     Device Identification Programming (Table 5)
           5.4.1.1.     Objective
                Validate that Table 5, “Device Identification” can be programmed successfully by the test
                application.

           5.4.1.2.     Description
                The test application performs the following:

                (a) Initiates a Logon sequence and establishes the access permission necessary to modify
                    Table 5.

                (b) Performs a full table write of Table 5. This operation may require setting the
                    METER_SHOP_MODE of the DUT to “true”, if the DUT can only be programmed while in
                    meter-shop mode.

                (c) Logoff, Login and reacquire the access permission necessary to read Table 5.

                (d) Retrieve Table 5 and compare its modified content for identity with the information
                    programmed in step (b) above.

           5.4.1.3.     Possible Test Results

                 Result Description                                Classification
                 Table 5 is write enabled but it does not accept   Non-Conforming
                 any changes.
                 Table 5 can be programmed and the                 Conforming
                 information retrieved from this table is valid.

       5.4.2.     Utility Information Programming (Table 6)
           5.4.2.1.     Objective
                Validate that Table 6, “Utility Information” can be programmed successfully by the test
                application.

           5.4.2.2.     Description
                Repeat the test procedure 5.4.1, “Device Identification Programming”, described above, but
                this time use table 5 instead of table 6.

           5.4.2.3.     Possible Test Results




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



                 Result Description                                   Classification
                 Table 6 is write enabled but it does not accept      Non-Conforming
                 any changes.
                 Table 6 can be programmed and the                    Conforming
                 information retrieved from this table is valid.


       5.4.3.     Demand Control Programming (Table 13)
           5.4.3.1.      Objective
                Confirm that the elements in Table 13, “Demand Control”, can be programmed in
                accordance with manufacturer MUT operating specifications.

           5.4.3.2.      Description
                To perform this validation, the test application does the following:

                (a) Initiates a Logon sequence then acquires the access permission necessary to modify
                    Table 13.

                (b) Perform a full table write to Table 13. This operation may require setting the
                    METER_SHOP_MODE of the DUT to “true”, if the DUT can only be programmed while
                    in meter-shop mode.

                (c) Logoff, Logon and reacquire the access permission necessary to read Table 13.

                (d) Retrieves Table 13 and compare its content with the information programmed and for
                    consistency with manufacturer device specification.

                The test steps above are performs with two data sets:

                (a) Using demand control element settings that are consistent with DUT manufacturer
                    specifications.

                (b) Using demand control element settings that are outside manufacturer specifications for
                    the DUT. This test may need to be repeated a number of times with different fail mode
                    scenarios.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23



           5.4.3.3.     Possible Test Results
                 Result Description                                 Classification
                 Table 13, is write enabled but it cannot be        Non-Conforming
                 modified.
                 The information retrieved from table 13 is not     Non-Conforming
                 identical to the information programmed when
                 the programmed values are within
                 manufacturer specifications.
                 The information retrieved from table 13 is not     Conforming
                 identical to the information programmed when
                 the programmed values are not within
                 manufacturer specifications, but the retrieved
                 values are within manufacturer specifications.
                 Table 13 can be programmed and the                 Conforming
                 information retrieved from this table is valid
                 based on the program supplied and
                 manufacturer MUT product operating
                 specifications.

       5.4.4.     Data Registers Selection (Table 22)
           5.4.4.1.     Objective
                Confirm that the test application can program the DUT register control tables (decade 2) for
                different sizes, geometry and data source selections, in accordance with the Standard and
                manufacturer allowable configurations based on DUT specifications.

           5.4.4.2.     Description
                The list of sources are retrieved by reading Tables 11/10, 12 (Unit Of Measure) and 16
                (Source Definition). If this information is not directly available from the DUT, an offline
                representation of these tables shall be provided for that DUT model. Based on this
                information and on the FLC tables of decade 2 that were obtained during the FUT
                described in Section 5.1.4, “FLC Self-Consistency (Programmed)” on page 37, the test
                application programs multiple configurations of Table 21, “Actual Register” and Table 22,
                “Data Selection”. For each valid configuration programmed in table 22, table 23’s geometry
                (size and structure) is verified for consistency, while the DUT is subjected to a constant
                known test load.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           5.4.4.3.     Possible Test Results
                 Result Description                                  Classification
                 Tables 10/11, 12 or 16 element definitions are      Non-Conforming
                 not provided what-so-ever.
                 Tables 10/11, 12 or 16 element definitions are      Conforming with discrepancy
                 not retrievable from the MUT but are provided
                 by some other means for that MUT model.
                 Table 21 or 22 are write enabled, but the test      Non-Conforming
                 application cannot modify them.
                 The information retrieved from table 22 is not      Non-Conforming
                 identical to the information programmed when
                 the MUT is programmed within manufacturer
                 specifications.
                 The registers in table 23 are not consistent with   Non-Conforming
                 the selection made in table 22.
                 Tables 21 and 22 can be programmed and the          Conforming
                 information retrieved from table 23 is consistent
                 with manufacturer specifications and
                 programmed values.

       5.4.5.     Present Registers Selection (Table 27)
           5.4.5.1.     Objective
                Confirm that the test application can program the DUT present demand and value registers
                can be selected using data source selections, in accordance with the Standard and
                manufacturer specifications.

           5.4.5.2.     Description
                The list of sources are retrieved by reading Tables 11/10, 12 (Unit Of Measure) and 16
                (Source Definition). If this information is not directly available from the DUT, an offline
                representation of these tables shall be provided for that DUT model. Based on this
                information and on the FLC tables of decade 2 that were obtained during the FUT
                described in Section 5.1.4, “FLC Self-Consistency (Programmed)” on page 37, the test
                application programs multiple configurations of Table 21, “Actual Register” and Table 27,
                “Present Register Selection”. For each valid configuration programmed in Table 27, Table
                28, “Present Register Data” is verified for consistency, while the DUT is subjected to a
                constant known test load.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



           5.4.5.3.      Possible Test Results
                 Result Description                                   Classification
                 Tables 10/11, 12 or 16 element definitions are       Non-Conforming
                 not provided what-so-ever.
                 Tables 10/11, 12 or 16 element definitions are       Conforming with discrepancy
                 not retrievable from the MUT, but are provided
                 by some other means for that MUT model.
                 Table 21 or 27 are write enabled, but the test       Non-Conforming
                 application cannot modify them.
                 The information retrieved from table 27 is not       Non-Conforming
                 identical to the information programmed when
                 the MUT is programmed within manufacturer
                 specifications.
                 The present demands/values in table 28 are not       Non-Conforming
                 consistent with the selection made in table 27.
                 Tables 21 and 27 can be programmed and the           Conforming
                 information retrieved from table 28 is consistent
                 with manufacturer specifications and
                 programmed values.

       5.4.6.     Display Sequence Programming (Tables 33,34)
           5.4.6.1.      Objective
                Confirm that the display sequences, expressed using Table 33, “Primary Display List” and
                Table 34, “Secondary Display List”, can be programmed successfully by the test
                application.

           5.4.6.2.      Description
                The test application performs the following:

                (a) Initiates a Logon sequence then acquires the access permission necessary to modify
                    Table 33.

                (b) Programs the normal, test and alternate display sequences in Table 33.

                (c) Retrieves the normal, test and alternate display sequences in Table 33 to validate that
                    the information was accepted according to programmed values and manufacturer DUT
                    specifications.

                (d) Repeat these test with table 34 and the customer secondary display.

                In addition the tester will verify visually that the DUT displayed information is consistent with
                the configuration retrieved from tables 33 and 34.

           5.4.6.3.      Possible Test Results




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



                 Result Description                                   Classification
                 Write enable Tables 33 or 34 cannot be written.      Non-Conforming
                 The information shown and the sequences              Non-Conforming
                 displayed by the DUT do not correspond to
                 those programmed, when programmed within
                 manufacturer specified limits.
                 The information shown and the sequences              Conforming
                 displayed by the DUT correspond to
                 configuration as retrieved from tables 33 and
                 34.

       5.4.7.     Password Programming (Table 42)
           5.4.7.1.      Objective
                Confirm that passwords can be entered into the DUT by the test application by writing to
                Table 42, “Security” and that passwords retrieved do not compare for identity with those
                originally entered. Correct DUT operation with new passwords is verified.

           5.4.7.2.      Description
                The test application programs Table 42 with new passwords, it then logoffs and validates
                this configuration using the FUT described in Section 5.3.9, “Access Validation” on page
                62.

                A single programming sequence for Table 42 includes the following general steps:

                (a) Set as many as SECURITY_ENTRIES elements as DUT allows (See NBR_PASSWORD
                    element in Table 41, “Actual Security Limiting”). For each SECURITY_ENTRIES, the
                    test application programs the PASSWORD field and the ACCESS_PERMISSIONS flags.

                (b) Logoff (and optionally save configuration prior to logoff).

                (c) Retrieve Table 42 and compare the returned values against programmed values.

                (d) Validate the operation of the DUT for each of the newly programmed passwords using
                    FUT described in Section 5.3.9, “Access Validation” on page 62.

                Minimally the DUT will be set-up or tested with eleven varying access permission
                combinations:

                (a) Eight combinations, where the test application sets one bit at a time of the
                    GROUP_PERM_x_FLAG to “true”.

                (b) One combination where all of the GROUP_PERM_x_FLAG bits are “true”.

                (c) One combination where all of the GROUP_PERM_x_FLAG bits are “false”.

                (d) One combination where any two to six of the GROUP_PERM_x_FLAG bits are “true”.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23



           5.4.7.3.      Possible Test Results
                 Result Description                                   Classification
                 Write enabled Table 42 cannot be written.            Non-Conforming
                 Non blank PASSWORD elements retrieved from           Non-Conforming
                 Table 42 are identical to those programmed.
                 “Access Validation” tests yield a “Non-              Non-Conforming
                 Conforming” result.
                 ACCESS_PERMISSIONS elements retrieved                Conforming
                 from Table 42 are identical to those
                 programmed and “Access Validation” tests yield
                 a “Conforming” result.

       5.4.8.     Table Access Control Programming (Tables 43,44)
           5.4.8.1.      Objective
                Confirm that the access control can be programmed using table 43 and 44 and it is
                operating correctly.

           5.4.8.2.      Description
                The test application programs Table 43, “Default Access Control”, and Table 44, “Access
                Control”, with valid combinations (see test scenarios below), subject to manufacturer
                featured access permission policies for the DUT. Following each program sequence the
                test application initiates the FUT described in Section 5.3.9, “Access Validation” on page 62
                to verify the correct operation of the DUT with the new security policy set-up, as follows:

                (a) The test application sets the TABLE_DEFAULT element in table 43 using each of the
                    configurations listed in Chart 3: Access policies”. During this test, table 43 is
                    deactivated by setting the NBR_PERM_USED to zero.

                (b) The test application sets table 44 for a selected group of tables to the configurations
                    listed in Chart 3: Access policies”. During this test, table 43 is deactivated by setting all
                    the flags to false.

                (c) Table 43 is set to a random value and test (b) is repeated.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                          WG3, ANSI C12.23



                 Chart 3 : Access policies settings for security FUT
                              Read access                                  Write access
                          Element Name             Value               Element Name        Value
                 All flags                          false    All flags                     false
                 ANY_READ_FLAG or FLAG1              true    All flags                     false
                 ANY_READ_FLAG or FLAG1              true    ANY_WRITE_FLAG or FLAG2        true
                 GROUP_PERM_0_FLAG                   true    All flags                     false
                 GROUP_PERM_0_FLAG                   true    GROUP_PERM_0_FLAG              true
                 GROUP_PERM_1_FLAG                   true    All flags                     false
                 GROUP_PERM_1_FLAG                   true    GROUP_PERM_1_FLAG              true
                 GROUP_PERM_2_FLAG                   true    All flags                     false
                 GROUP_PERM_2_FLAG                   true    GROUP_PERM_2_FLAG              true
                 GROUP_PERM_3_FLAG                   true    All flags                     false
                 GROUP_PERM_3_FLAG                   true    GROUP_PERM_3_FLAG              true
                 GROUP_PERM_4_FLAG                   true    All flags                     false
                 GROUP_PERM_4_FLAG                   true    GROUP_PERM_4_FLAG              true
                 GROUP_PERM_5_FLAG                   true    All flags                     false
                 GROUP_PERM_5_FLAG                   true    GROUP_PERM_5_FLAG              true
                 GROUP_PERM_6_FLAG                   true    All flags                     false
                 GROUP_PERM_6_FLAG                   true    GROUP_PERM_6_FLAG              true
                 GROUP_PERM_7_FLAG                   true    All flags                     false
                 GROUP_PERM_7_FLAG                   true    GROUP_PERM_7_FLAG              true
                 All GROUP_PERM_x_FLAG               true    All flags                     false
                 All GROUP_PERM_x_FLAG               true    All GROUP_PERM_x_FLAG          true


           5.4.8.3.     Possible Test Results
                 Result Description                                Classification
                 Write enabled Tables 43 or 44 cannot be           Non-Conforming
                 written.
                 The information retrieved from tables 43 and 44   Non-Conforming
                 is not identical to the information programmed,
                 in accordance with DUT operational
                 specifications.
                 FUT “Security access validation” results in a     Non-Conforming
                 “Non-Conforming” report.
                 Tables 43 or 44 were modified and FUT             Conforming
                 “Security access validation” is results in a
                 “Conforming” report after each access policy
                 change.

       5.4.9.    Procedure Access Control Programming (Tables 43 and 44)
           5.4.9.1.     Objective
                Confirm that the access control can be programmed using table 43 and 44 and it is
                operating correctly for procedures.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



           5.4.9.2.    Description
               The test application programs Table 43, “Default Access Control”, and Table 44, “Access
               Control”, with valid combinations for procedure invocations, subject to manufacturer
               featured access permission policies for the DUT. Following each program sequence the
               test application initiates the FUT described in Section 5.3.9, “Access Validation” on page 62
               to verify the correct operation of DUT with the new security policy set-up:

               (a) The test application sets the PROCEDURE_DEFAULT element in table 43 using each of
                   the configurations listed in Chart 3: Access policies”. During this test, table 43 is
                   deactivated by setting the NBR_PERM_USED to zero.

               (b) The test application sets table 44 for a selected group of procedures and tables to the
                   configurations defined in Chart 3: Access policies. During this test, table 43 is
                   deactivated by setting all the flags to false.

               (c) Table 43 is set to a random value and test (b) is repeated.

           5.4.9.3.    Possible Test Results
                Result Description                                  Classification
                Write enabled Tables 43 or 44 cannot be             Non-Conforming
                written.
                The information retrieved from tables 43 and 44     Non-Conforming
                is not identical to the information programmed,
                in accordance with DUT operational
                specifications.
                FUT “Security access validation” results in a       Non-Conforming
                “Non-Conforming” report for affected
                procedures, when the selections are made in
                accordance with DUT operational
                specifications.
                Tables 43 or 44 were modified and FUT               Conforming
                “Security access validation” is results in a
                “Conforming” report after each access policy
                change.

       5.4.10. Clock programming (Procedure 10, Tables 52,53)
           5.4.10.1.   Objective
               Confirm that the DUT clock can be set through the invocation of Procedure 10, “Set Date
               and/or Time” or, when Procedure 10 is not available, by writing directly to Table 52, “Clock”,
               and Table 53, “Time Offset”.

           5.4.10.2.   Description
               The test application sets the DST and time zone offset in Table 53 then it initiates the ”Set
               Time” FUT, described in Section 5.3.8 on page 60.

           5.4.10.3.   Possible Test Results



Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                             WG3, ANSI C12.23



                Result Description                                   Classification
                Procedure 10 is available, but the clock cannot      Non-Conforming
                be set.
                Procedure 10 is not available and write-enabled      Non-Conforming
                Table 53 cannot be modified.
                ”Set Time” FUT, results in a “Non-Conforming”        Non-Conforming
                report, following programming of FUT “Set time”
                fail after setting Table 53.
                Can set the time when the DUT is operating in        Conforming
                metering + meter-shop mode, where
                modification to the clock represent an
                unacceptable time discontinuity.
                Can set the time when the DUT is operating in        Conforming
                metering and not in meter-shop mode, where
                modification to the clock do not represent an
                unacceptable time discontinuity.

       5.4.11. Calendar Programming (Table 54)
           5.4.11.1.    Objective
               Confirms that the Table 54, “Calendar”, can be programmed successfully.

           5.4.11.2.    Description
               To perform this validation, the test application performs the following steps:

               (a) Initiates a Logon sequence then acquires the necessary access permission to modify
                   table 54.

               (b) Performs a full table write request to Table 54 (for this operation to complete it may be
                   required to set the METER_SHOP_MODE of the DUT to “true”.

               (c) Logoff.

               (d) Retrieves Table 54 and compares with the information programmed.

           5.4.11.3.    Possible Test Results
                Result Description                                   Classification
                Write enabled Table 54 cannot be written.            Non-Conforming
                The information retrieved from table 54 is not       Non-Conforming
                identical to the information programmed.
                Table 54 can be programmed and the                   Conforming
                information retrieved from this table is valid.
           5.4.11.4.    Caveats
               This test verifies only that the Calendar table can be programmed. It does not validate the
               ability of the DUT to interpret and apply this configuration correctly.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                            WG3, ANSI C12.23



       5.4.12. Profiler Channels and Data Sources Selection (Table 62)
           5.4.12.1.   Objective
               Confirms interval recorder/profiler tables geometry can be set, recorder channels can be
               enabled and data sources can be selected.

           5.4.12.2.   Description
               The list of sources are retrieved by reading Table 11/10, “Sources Limiting”, Table 12, “Unit
               Of Measure”, and Table 16, “Source Definition”. If this information is not directly available
               from the DUT, an offline representation of these tables must be provided. Based on this
               information and on the FLC of decade 6, “Load Profile Tables”, that were retrieved by the
               “FLC Self-Consistency (Programmed)” FUT described in Section 5.1.4 on page 37, the test
               application programs multiple configurations of table 61, “Actual Load Profile Limiting” and
               table 62, “Load Profile Control”. For each configuration programmed in table 62, table 64,
               65, 66 and 67 (Load Profile Data Sets 1..4), the DUT is subjected to test loads then its
               profile data tables are retrieved and validated for consistency.

           5.4.12.3.   Possible Test Results
                Result Description                                  Classification
                Tables 10/11, 12 or 16 are not provided by the      Conforming with discrepancy
                DUT, but are available externally by other
                means.
                Write enabled Table 61 or 62 cannot be written.     Non-Conforming
                The information retrieved from table 62 is not      Non-Conforming
                identical to the information programmed, when
                the program is consistent with DUT operating
                specifications.
                Tables 61 and 62 can be programmed and the          Conforming
                information retrieved from table 64, 65, 66 and
                67 have consistent geometry, data types, time-
                stamps and block data.

       5.4.13. History Logger Selections (Tables 72,73,74)
           5.4.13.1.   Objective
               Confirms that the test application can make selections form the list of events available for
               this DUT in Table 72, “Event Identification” and that they can be programmed into Table 73,
               “History Log Control”. The resulting history events shall be retrieved from table 74, “History
               Log Data” when they occur as prescribed in Section 5.2.8, “History Logger Data” on page
               46.

           5.4.13.2.   Description
               Reading Tables 71/70 and 72 retrieves the list of events available for this DUT. If this
               information is not readily available from the DUT, an offline representation of these tables
               shall be provided for the DUT model. Based on this information, the test application
               programs multiple configurations of Table 73. For each configuration programmed in table
               73, the procedure described in Section 5.2.8, “History Logger Data” are invoked and the
               retrieved history table (Table 74) is validated for expected content.


Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                              WG3, ANSI C12.23



           5.4.13.3.    Possible Test Results
                Result Description                                     Classification
                Tables 70/71 or 72 are not provided by the             Conforming with discrepancy
                DUT, but are available by other means.
                Write enabled Table 73 cannot be written.              Non-Conforming
                The information retrieved from table 72 is not         Non-Conforming
                identical to the information programmed, when
                the DUT is programmed according to the DUT
                manufacturer specifications.
                The information retrieved from table 73 is not         Non-Conforming
                identical to the information programmed, when
                the DUT is programmed according to the
                content of Table 72.
                The history records that were retrieved from           Non-Conforming
                Table 74 were not consistent with the selections
                made in Table 73.
                Table 72 and 73 can be programmed and                  Conforming
                correct history information can be retrieved from
                Table 74.

       5.4.14. Event Logger Selections (Tables 72,75,76)
           5.4.14.1.    Objective
               In a regulated market, this is a DUT qualifying test.

               Confirm that the test application can make selections form the list of events available for
               this DUT in Table 72, “Event Identification” and that they can be programmed into Table 75,
               “Event Log Control”. The resulting events from audit list are retrieved from table 76, “Event
               Log Data” when they occur as prescribed in Section 5.2.9, “Event Log Data”, on page 46.

           5.4.14.2.    Description
               Tables 71/70 and 72 are read to retrieve the list of events available for this DUT. If this
               information is not readily available from the DUT, an offline representation of these tables
               shall be provided for the DUT model or obtained from the regulatory agency, when
               applicable. Based on this information, the test application may program (if permitted) a
               number of configurations of Table 73. This part of the test may require that the DUT be
               unsealed. For each configuration programmed (or available) in table 73, the procedure
               described in Section 5.2.9, “Event Log Data” is invoked and the retrieved audit log event
               data table (Table 76) is validated for expected content.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                          WG3, ANSI C12.23



           5.4.14.3.   Possible Test Results
                Result Description                                 Classification
                Tables 70/71 or 72 are not provided by the         Conforming with discrepancy
                DUT, but are available by other means.
                Write enabled Table 75 cannot be written with      Non-Conforming
                the DUT unsealed.
                The information retrieved from table 72 is not     Non-Conforming
                identical to the information programmed, when
                the DUT is programmed according to the DUT
                manufacturer specifications and local regulation
                constraint.
                The information retrieved from table 75 is not     Non-Conforming
                identical to the information programmed, when
                the DUT is programmed according to the
                content of Table 72.
                The event audit records that were retrieved        Non-Conforming
                from Table 76 were not consistent with the
                selections made in Table 75 (and in Canada
                with Measurement Canada Supplementary
                Event Logger Requirements)
                Table 72 and 75 can be programmed and              Conforming
                correct event audit log information can be
                retrieved from Table 76.


           5.4.14.4.   Caveats
               In Canada, the content of tables 72, and 75 may be dictated in part by Measurement
               Canada. The event log management may be further subjected to additional restrictions on
               selections and use.


       5.4.15. User Defined Tables Programming (Table 82,83)
           5.4.15.1.   Objective
               Confirm that user-defined tables can build by writing to Table 82, “List”, and Table 83,
               “Selection”. The user defined data tables (84-89) are then validated for correct geometry
               and size.

           5.4.15.2.   Description
               The test application programs table 82 and 83 to select a combination of elements from
               various Standard defined tables. Within the same session, the test application retrieves all
               table elements that are referenced in Table 82, and all of the User Defined Tables (84-89).
               The contents of Tables 84-89 are compared element-by-element for identity against the
               corresponding elements in the source tables that were identified in Table 82.




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                          WG3, ANSI C12.23



           5.4.15.3.   Possible Test Results
                Result Description                                Classification
                Write enabled Tables 82 and 83 cannot be          Non-Conforming
                written.
                The information retrieved from tables 84, 85,     Non-Conforming
                86, 87, 88 or 89 is not coherent with the
                information selected by table 82 and 83. The
                inconsistency implies that table size, element
                placement and values are not exactly as
                expected.
                Table 82 and 83 were programmed and the           Conforming
                information retrieved from user defined tables
                are consistent with the selections made and the
                values retrieved from the referenced tables.
           5.4.15.4.     Caveats
               This test assumes that the DUT does not alter table element values within one session. If
               the DUT does not support this feature then the identity tests shall be limited only to non-
               sensory elements (elements that will not change dynamically as a result of a change in
               sense value or DUT internal status).




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                   WG3, ANSI C12.23




6. Test Reports

   6.1. Tests Summary Sheet
        Test request information
                     Test report number:
                           Requested by:
                   Date device received:
        Date device accepted for testing:
                    Date test completed:

        Device information
                    Manufacturer name:
                         Device model:
          Hardware version and revision
          Firmware version and revision:
              C12.19 NEMA device class:

        Customer contact
        information
                                 Name:
                               Address:


                  Office phone number:
                  Pager phone number
                  Mobile phone number
                           Fax number:
                         Email address:

        Result Scores Summary               Code
                           Comforting:        C
           Conforming with discrepancy      CWD
                      Non conforming:        NC
                        Not applicable:      NA
                            Not tested:      NT

        General comments




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                           WG3, ANSI C12.23




    6.2. Detail Results of “Test procedures for ANSI Standard C12.18-1996”

          6.2.1.   Results of “Test procedures for the Data Link Layer”
 Section     Test name                                                       Result Code   Comment #
 4.1.2       Basic Sanity Check
 4.1.3       Immunity to Random Noise
 4.1.4       ACK Returned Due to Reception of a Duplicated Packet
 4.1.5       NACK Returned Due to CRC Error
 4.1.6       NACK Returned Due to Inter-Character Timeout (Short Packet)
 4.1.7       NACK Returned Due to Long Packet
 4.1.8       NACK Returned Due to Invalid Multi-Packet Flag Setting
 4.1.9       NACK Returned Due to Invalid First-Packet Flag Setting
 4.1.10      NACK Returned Due to an Invalid Sequence Number
 4.1.11      Retransmission Triggered by a Response Timeout
 4.1.12      Retransmission Triggered by a NACK
 4.1.13      Link Termination After Third Retry Attempt (NACK)
 4.1.14      Link Termination After Third Retry Attempt (Response Timeout)
 4.1.15      Link Termination Due to Channel Traffic Timeout
 4.1.16      Sensitivity to the Initial State of the Toggle Bit
 4.1.17      Default Packet Size Validation (Read)
 4.1.18      Default Packet Size Validation (Write)

          6.2.2.   Results of “PSEM Test Procedures”
 Section     Test name                                                       Result Code   Comment #
 4.2.1       PSEM Service Transaction
 4.2.2       Identification Service (Response)
 4.2.3       Negotiate Service (Change Baud Rate)
 4.2.4       Negotiate Service (Number of Packets and Packet Size)
 4.2.5       Negotiate Service (Honors Negotiated Limits)
 4.2.6       Negotiate Service (Establish Maximum Packet Limits)
 4.2.7       Wait Service Working
 4.2.8       Terminate Service Working
 4.2.9       Service Sequence State




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                               WG3, ANSI C12.23




    6.3. Detail results of the “Test Procedures for ANSI C12.19”

         6.3.1.   Results of “Self Consistency Validation Procedures”

 Section    Test name                                                            Result Code   Comment #
 5.1.1      Table 0 – General Configuration Table (Validity)
 5.1.2      Table 0 – General Configuration Table (Directory)
 5.1.3      Table Self-Consistency (As Delivered)
 5.1.4      FLC Self-Consistency (Programmed)

         6.3.2.   Results of “DUT Data Retrieval Using Tables”
 Section    Test name                                                            Result Code   Comment #
 5.2.1      Device Identity Table Element (Tables 5, 6)
 5.2.2      Manufacturer information retrieval (Table 1)
 5.2.3      Nameplate information retrieval (Table 2)
 5.2.4      Retrieval of Operating Modes and Status (Table 3)
 5.2.5      Pending status retrieval (Table 4)
 5.2.6      Retrieval of Register Readings (Decades 1,2)
 5.2.7      Retrieval of Load Profile Data (Decades 1,6)
 5.2.8      History Logger Data (Tables 73,74)
 5.2.9      Event Log Data (Tables 75,76)
 5.2.10     Retrieval of the clock and conversion to Local Time (Tables 52,55)
 5.2.11     Retrieval of the clock and conversion to GMT (Tables 52,55)

         6.3.3.   Results of “Operation and Management”
 Section    Test name                                                            Result Code   Comment #
 5.3.1      List Management (Monitors)
 5.3.2      List Management (Overflow Control)
 5.3.3      List Management (Update Last Read Entry)
 5.3.4      List Management (Reset List Pointers)
 5.3.5      Reset Data Registers (Tables 23, 24, 25, 26)
 5.3.6      Change Device Mode (Procedure. 6)
 5.3.7      Clear Status (Procedure 7)
 5.3.8      Set Time (Procedure 10, Table 52)
 5.3.9      Access Validation for Tables and Procedures (Tables 42,43,44)
 5.3.10     Forced Activation of Pending Tables (Procedures 12,13)
 5.3.11     Clear Activation of Pending Tables (Procedures 14,15)
 5.3.12     Start and Stop Load Profile (Procedures 16,17)




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                   WG3, ANSI C12.23




       6.3.4.    Results of “DUT Programming”

 Section   Test name                                                 Result Code   Comment #
 5.4.1     Device Identification Programming (Table 5)
 5.4.2     Utility Information Programming (Table 6)
 5.4.3     Demand Control Programming (Table 13)
 5.4.4     Data Registers Selection (Table 22)
 5.4.5     Present Registers Selection (Table 27)
 5.4.6     Display Sequence Programming (Tables 33,34)
 5.4.7     Password Programming (Table 42)
 5.4.8     Table Access Control Programming (Tables 43,44)
 5.4.9     Procedure Access Control Programming (Tables 43 and 44)
 5.4.10    Clock programming (Procedure 10, Tables 52,53)
 5.4.11    Calendar Programming (Table 54)
 5.4.12    Profiler Channels and Data Sources Selection (Table 62)
 5.4.13    History Logger Selections (Tables 72,73,74)
 5.4.14    Event Logger Selections (Tables 72,75,76)
 5.4.15    User Defined Tables Programming (Table 82,83)




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
AMERICAN NATIONAL STANDARD                                                   WG3, ANSI C12.23




   6.4. Comments
 Comment #      Comment




Disclaimer:
This contribution has been prepared to assist ANSI C12.23 WK 3, II. This document is offered as a
basis for discussion in accordance with the submission rules of NEMA (ANSI C12.23-200x) and
Measurement Canada-Requirements).
                     NERTEC
            Technical Specification                                                           DT-0064B REV. 1.3



                          ANSI C12.19-1997/IEEE-1377 and ANSI C12.18-1996                          January 01, 2010
                                    Standards Conformance Tests                                       Page 86 of 86




                                                                                                       DF-0022D-1.0
NERTEC Design Inc., 950 Cowie Street, Granby, Quebec J2J 1P2 Telephone : 450-375-0556 Fax : 450-375-8746