Ansi C12
Ansi C12
Ansi C12
18-2006
American National Standard
Protocol Specification for ANSI
Type 2 Optical Port
ANSI C12.18-2006
Revision of ANSI C12.18-1996
American National Standard
Protocol Specification for ANSI Type 2 Optical Port
Secretariat:
National Electrical Manufacturers Association
Approved May 2, 2006
American National Standards Institute, Inc.
ANSI C12.18-2006
NOTICE AND DISCLAIMER
The information in this publication was considered technically sound by the consensus of
persons engaged in the development and approval of the document at the time it was
developed. Consensus does not necessarily mean that there is unanimous agreement among
every person participating in the development of this document.
NEMA standards and guideline publications, of which the document contained herein is one,
are developed through a voluntary consensus standards development process. This process
brings together volunteers and/or seeks out the views of persons who have an interest in the
topic covered by this publication. While NEMA administers the process and establishes rules to
promote fairness in the development of consensus, it does not write the document and it does
not independently test, evaluate, or verify the accuracy or completeness of any information or
the soundness of any judgments contained in its standards and guideline publications.
NEMA disclaims liability for any personal injury, property, or other damages of any nature
whatsoever, whether special, indirect, consequential, or compensatory, directly or indirectly
resulting from the publication, use of, application, or reliance on this document. NEMA disclaims
and makes no guaranty or warranty, express or implied, as to the accuracy or completeness of
any information published herein, and disclaims and makes no warranty that the information in
this document will fulfill any of your particular purposes or needs. NEMA does not undertake to
guarantee the performance of any individual manufacturer or seller’s products or services by
virtue of this standard or guide.
In publishing and making this document available, NEMA is not undertaking to render
professional or other services for or on behalf of any person or entity, nor is NEMA undertaking
to perform any duty owed by any person or entity to someone else. Anyone using this document
should rely on his or her own independent judgment or, as appropriate, seek the advice of a
competent professional in determining the exercise of reasonable care in any given
circumstances. Information and other standards on the topic covered by this publication may be
available from other sources, which the user may wish to consult for additional views or
information not covered by this publication.
NEMA has no power, nor does it undertake to police or enforce compliance with the contents of
this document. NEMA does not certify, test, or inspect products, designs, or installations for
safety or health purposes. Any certification or other statement of compliance with any health or
safety–related information in this document shall not be attributable to NEMA and is solely the
responsibility of the certifier or maker of the statement.
ANSI C12.18-2006
i
AMERICAN
NATIONAL
STANDARD
Approval of an American National Standard requires verification by
ANSI that the requirements for due process, consensus, and other criteria for approval have
been met by the standards developer.
Consensus is established when, in the judgment of the ANSI Board of Standards Review,
substantial agreement has been reached by directly and materially affected interests.
Substantial agreement means much more than a simple majority, but not necessarily unanimity.
Consensus requires that all views and objections be considered, and that a concerted effort be
made toward their resolution.
The use of American National Standards is completely voluntary; their existence does not in any
respect preclude anyone, whether he has approved the standards or not, from manufacturing,
marketing, purchasing, or using products, processes, or procedures not conforming to the
standards.
The American National Standards Institute does not develop standards and will in no
circumstances give an interpretation of any American National Standard. Moreover, no person
shall have the right or authority to issue an interpretation of an American National Standard in
the name of the American National Standards Institute. Requests for interpretations should be
addressed to the secretariat or sponsor whose name appears on the title page of this standard.
Caution Notice: This American National Standard may be revised or withdrawn at any time. The
procedures of the American National Standards Institute require that action be taken
periodically to reaffirm, revise, or withdraw this standard. Purchasers of American National
Standards may receive current information on all standards by calling or writing the American
National Standards Institute. Published by
National Electrical Manufacturers Association
1300 North 17th Street, Rosslyn, VA 22209
© Copyright 2006 by National Electrical Manufacturers Association
All rights reserved including translation into other languages, reserved under the Universal
Copyright
Convention, the Berne Convention for the Protection of Literary and Artistic Works, and the
International and Pan American Copyright Conventions.
No part of this publication may be reproduced in any form, in an electronic retrieval system or
otherwise, without the prior written permission of the publisher.
Printed in the United States of America
ii
ANSI C12.18-2006
iii
Contents
Page
1 Scope................................................................................................................................1
2 References........................................................................................................................1
3 Definitions and Syntax.......................................................................................................1
3.1 Definitions ......................................................................................................................1
3.1.1 C12.18 Client...............................................................................................................1
3.1.2 C12.18 Device ............................................................................................................1
3.1.3 Point-to-point Communications ..................................................................................1
3.1.4 Table ...........................................................................................................................2
3.2 Document Syntax ...........................................................................................................2
4 Protocol Details .................................................................................................................2
4.1 Order of Transmission ....................................................................................................3
4.2 Layer 7—Application Layer ............................................................................................3
4.2.1 Data Structure .............................................................................................................3
4.2.2 Protocol Specifications for Electric Metering ...............................................................3
4.2.2.1 Request Codes.............................................................................................................4
4.2.2.2 Response Codes..........................................................................................................4
4.2.2.3 Identification Service ....................................................................................................6
4.2.2.4 Read Service ................................................................................................................9
4.2.2.5 Write Service ..............................................................................................................11
4.2.2.6 Logon Service.............................................................................................................12
4.2.2.7 Security Service..........................................................................................................13
4.2.2.8 Logoff Service.............................................................................................................13
4.2.2.9 Negotiate Service .......................................................................................................14
4.2.2.10 Wait Service ...............................................................................................................15
4.2.2.11 Terminate Service ......................................................................................................15
4.2.2.12 Partial Table Access Using the Index/element-count Method ...................................16
4.2.2.13 Index Count Access Method Examples .....................................................................17
4.2.2.14 Partial Table Access Using the Offset/octet-count Method........................................18
4.3 Layer 6—Presentation Layer .............................................................................................19
4.4 Layer 5—Session Layer ...................................................................................................19
4.5 Layer 4—Transport Layer .................................................................................................19
4.6 Layer 3—Network Layer ...................................................................................................19
4.7 Layer 2—Data Link Layer ..................................................................................................19
4.7.1 Basic Data .....................................................................................................................19
4.7.1.1 Default Settings ..........................................................................................................20
4.7.2 Packet ..........................................................................................................................20
4.7.3 Duplicate packets ...........................................................................................................21
4.7.4 CRC selection ................................................................................................................22
4.7.5 Acknowledgment ............................................................................................................22
4.7.6 Retransmission ...............................................................................................................22
4.7.7 Time-out ....................................................................................................................22
4.7.7.1 Channel Traffic Time-out............................................................................................22
4.7.7.2 Inter-character Time-out.............................................................................................22
4.7.7.3 Response Time-out ....................................................................................................23
4.7.8 Delays ...........................................................................................................................23
4.7.8.1 Turn-around Delay......................................................................................................23
4.8 Layer-1—Physical Layer ................................................................................................23
4.8.1 Physical .......................................................................................................................23
4.8.2 Basic Data ...................................................................................................................24
4.8.3 Light Levels ..................................................................................................................24
4.8.3.1 Optical Characteristics ...............................................................................................24
4.8.3.2 Transmitter Characteristics ........................................................................................24
ANSI C12.18-2006
Iv
v
Foreword (This Foreword is not part of American National Standard C12.18-2006.)
This American National Standard provides an open-platform communications protocol for two-
way communication with a metering device through an ANSI Type 2 Optical Port. The protocol
is written to conform to the OSI seven-layer stack.
Long-time readers of ANSI C12.18 will discover many editing changes to this version of the
Standard.
The Working Group chose to improve the clarity of the text as an aid to the reader while
retaining the Normative elements in the manner of previous publications.
The 2006 revision of this Standard was considered in the context of the so-called “protocol
suite” of ANSI standards: C12.18, C12.19, C12.21 and C12.22 (draft). Changes made were
included only after assuring that existing devices implementing C12.18 would continue to
remain compatible with the 2005 revision.
This revision has corrected an error in the original standard: the impossibility of using index-
count for table access. Other concepts addressed include compliance, backward and forward
compatibility, the use of reserved fields, the Identification Service, packet size and the toggle bit.
Finally, some alignment with the draft C12.22 standard was performed to meet the goal of
producing a coherent suite of protocol standards.
Suggestions for improvement to this Standard are welcome. They should be sent to:
National Electrical Manufacturers Association
Vice President of Engineering
1300 North 17th Street
Suite 1752
Rosslyn, VA 22209
This Standard was processed and approved for submittal to ANSI by Accredited Standards
Committee for Electricity Metering C12. At the time the committee approved this Standard, the
C12 Committee had the following members:
Tom Nelson, Chairman
Paul Orr, Secretary
Michael Anderson
Ed Beroset
Ron Breschini
Curt Crittenden
David Ellis
Cruz Gomez
Bob Hughes
Lawrence Kotewa
Francis Marta
John McEvoy
Herman Millican
James Mining
Avygdor Moise
Tim Morgan
Roy Moxley
D. Young Nguyen
Lauren Pananen
Aaron Snyder
Richard Tucker
Scott Weikel
ANSI C12.18-2006
vi
Working Group 4 of Subcommittee 17 that developed the Standard consisted of:
Aaron Snyder, Chairman
Peter Martin, Vice Chairman
Norbert Balko, Editor
Michael Anderson
Ed Beroset
Martin Burns
Janice Jennings
Lawrence Kotewa
Robert McMichael
Avygdor Moise
Vuong Nguyen
Terry Penn
Bin Qiu
Richard Tucker
Michel Veillette
Virginia Zinkowski
1
AMERICAN NATIONAL STANDARD ANSI C12.18-2006
Protocol Specification for ANSI Type 2 Optical Port
1 Scope
This Standard details the criteria required for communications between a
C12.18 Device and a C12.18
Client via an optical port. The C12.18 Client may be a handheld reader, a
portable computer, a masterstation system or some other electronic
communications device.
This Standard provides details for a complete implementation of an OSI 7-
layer model.
The protocol specified in this document was designed to transport data in
Table format. The Table definitions are in ANSI C12.19 Utility Industry
End Device Data Tables.
2 References
ANSI C12.19, Utility Industry End Device Data Tables
ANSI C12.21, Protocol Specification for Telephone Modem
Communication
ISO/IEC 646 (1991), Information Technology - ISO 7-Bit Coded Character
Set For Information
Interchange
ISO/IEC 7498-1 (1994), Information Technology - Open Systems
Interconnection - Basic Reference
Model: The Basic Model
ISO/IEC 8825-1 (2002), Information Technology - ASN.1 Encoding Rules:
Specification Of Basic
Encoding Rules (BER), Canonical Encoding Rules (CER) And
Distinguished Encoding Rules (DER)
ISO/IEC 13239 (2002), Information Technology - Telecommunications And
Information Exchange
Between Systems - High-Level Data Link Control (HDLC) Procedures
3.1.4. Table
Functionally related data elements, grouped together into a single data structure for
transport asdefined by ANSI C12.19.
Symbol Meaning
< > A string contained inside angle brackets is called a non-terminal. That is, while
itmay be viewed as a single unit, it can and should be redefined as consisting of
one(1) or more simpler elements.
::= This symbol is read as “is defined as.” The non-terminal which occurs on the
lefthand side (LHS) of this symbol consists of the elements (non-terminals,
terminals,or a combination of the two) found on the right hand side (RHS). A
line containing an LHS, ::=, and an RHS is known as a production rule.
| The vertical bar is an “OR” symbol. The OR symbol always occurs on the right
hand side of a production where the left hand side can be defined in more
thanone way. The OR bar separates valid alternative right hand sides.
+n A symbol followed by the Kleene cross and any number “n” represents
“n”occurrences of the symbol.
{} The curly braces are used to enclose comments within the descriptions.
Comments have no impact on the productions.
4. Protocol Details
Following the guidelines established by the OSI seven-layer model, the protocol
described in this Standard provides three (3) functions:
Three (3) layers are used to provide these communication capabilities. These are the
Physical, Data Link and Application layers.With the default conditions established by
this Standard, the communication channel isconsidered always available once the
physical connection has been completed. The required Identification Service is used to
obtain the protocol version and revision in use by the C12.18 Device. Certain
communication parameters may be modified through the use of the Negotiate Service
in the Application Layer. The Negotiate Service is optional and, if not implemented in
the C12.18 Device or not used during actual communications, the communication
cannel parameters shall remain at the default settings specified by this Standard. Device
implementers are strongly encouraged to implement this service.
Once the C12.18 Device identification and communication parameters have been
established, theApplication Layer provides Logon, Security and Logoff services for
session activation, accesscontrol and deactivation, Read and Write services for issuing
data transmission requests, aTerminate service for shutdown of the communication
channel, and a response structure that provides information regarding the success or
failure of the service requests.
Bytes are transmitted in frames. Each frame consists of a start bit, followed by <byte>,
andending with a stop bit. The start bit is transmitted first.
Bits within each byte are transmitted least significant bit first.
<byte> ::= {An eight-bit quantity.}
<msbyte> ::= <byte> {most significant byte}
<lsbyte> ::= <byte> {least significant byte}
<word24> ::= <msbyte> <byte> <lsbyte>
<word16> ::= <msbyte> <lsbyte>
PSEM requests always include a one-byte request code. Code numbers are
represented in hexadecimal format as follows:
00H-1FH Codes shall not be used to avoid confusion with response
codes
20H-7FH Codes in this range signify request codes
80H-FFH Codes shall be reserved for protocol extensions
Responses:
<ok> ::= 00H {AcknowledgeApplication Layer
response indicating no problems, request accepted.}
<err> ::= 01H {Error This Application Layer error
codeis used to indicate rejection of the received service
request. Thereason for the rejection is not provided.}
Response:
The responses <isss>, <bsy>, and <err> indicate a problem with the received service
request.
The response <ok> indicates the Identification Service request was accepted and the
version andrevision are included in the response. Implementers shall ensure that the
response fits within asingle 64-byte packet.
<identity-length>::= <byte>
{Length of number of bytes thatfollow in
<identity>. This valueshall range between 00Hto
7FH.}
Request:
The Read Service request supports both complete and partial Table transfers. The
retrieval of aportion of a Table is possible through the use of both index/element-count
and offset/octet-count methods. The complete rule set for using these methods is
enumerated in Sections 4.2.2.12, Partial Table Access Using the Index/element-count
Method, and 4.2.2.14, Partial Table Access Using the Offset/octet-count Method,
respectively.
Codes 30H–39H , 3EH and 3FH are the Read Service request codes. Request code
30H specifies acomplete Table transfer. Request codes 31H through 39H specify a
partial Table transfer using 1 to 9 indices. Request code 3EH specifies a default Table
transfer. Request code 3FH specifies a partial Table transfer using the offset/octet-
count method.
<pread-default> ::= 3EH {Transfer default Table as definedby the C12.19 Device.}
<offset> ::= <word24> {Offset into data Table in bytes.Offset 0000H is the
offset to thefirst table element of the Tableselected by <tableid>.}
<index> ::= <word16> {Index value used to locate startof data. Index 0000H
is the index ofthe first Table element of theTable selected by
<tableid>.}
Response:
Responses of type <nok> indicate a problem with the received Read Service request.
The response <ok> indicates the Read Service was accepted and the data is part of the
response.
<cksum> ::= <byte> {2's compliment checksum computedonly on the <data> portion
of<table-data>. The checksum is computed by summing the bytes (ignoring overflow)
and negating the result.}
<index> ::= <word16> {Index value used to locate startof data. Index 0000H is the
index ofthe first element of the Tableselected by <tableid>.}
<data> ::= <byte> {The Table data elements includingthe optional pending
header as perANSI C12.19, when requested.}
<cksum> ::= <byte> {2's compliment checksum computedonly on the <data> portion
of<table-data>. The checksum iscomputed by summing the bytes(ignoring overflow)
and negatingthe result.}
Response:
Responses of type <nok> indicate a problem with the received Write Service
request.The response <ok> indicates the Write Service was successfully completed
and the data wassuccessfully transmitted to the requesting device.
The <user-id> may be inserted in the Event and History Logs as defined in ANSI
C12.19. The <user> field provides the name of the operator requesting the access to the
device.
The Logon Service has the following format:
Response:
The responses <isss>, <iar>, <bsy> and <err> indicate a problem with the received
Logon Service request.The response <ok> indicates the Logon Service was
successfully completed and the session was established.
Response:
The responses <sns>, <isss>, <bsy> and <err> indicate a problem with the received
SecurityService request.The response <ok> indicates the Security Service was
successfully completed and the Access permissions associated with the password were
granted.
Response:
The responses <isss>, <bsy>, and <err> indicate a problem with the received Logoff
Servicerequest.The response <ok> indicates the acceptance of the Logoff Service and
the cessation of thesession established by the Logon Service.
<logoff-r> ::= <isss> | <bsy> | <err> |<ok>
Response:
The responses <sns>, <isss>, <bsy> and <err> indicate a problem with the received
NegotiateService request and that the communication channel will maintain its current
settings
The response <ok> indicates the Negotiate Service request was accepted and all new
settingsnow apply to both devices. The data following the <ok> indicates the new
settings. If the targetcannot accept the Negotiate Service request baud rates, the original
baud rate will be echoed inthe response.
<time> ::= <byte> {Suggested wait period in seconds.The value 0 does not affect
the channel settings.}
Response:
The responses <sns>, <isss>, <bsy>, and <err> indicate a problem with the received
WaitService request and time-out is not extended.The response <ok> indicates the
service request was accepted and the time-out is extended to the value requested.
Request:
The Terminate Service may be used to terminate either partially or fully established
communication channels for reasons such a excessive errors, security issues, internal
error conditions, end of session, or other reasons as set by the device manufacturer.
When theTerminate Service is invoked within an open session, any or all session-
oriented transactions may be lost or may be rolled back to values that existed at the start
of session.
<terminate> ::= 21H
Response:
The responses <sns> and <err> indicates a problem with the received Terminate
Service requestand the channel remains open.The response <ok> indicates the service
request was accepted and the channel will return todefault settings as stated in Section
4.7.1.1, Default Settings, upon receipt of a positive acknowledgment.
1.
An index sets up a start of selection into a Table object relative to the beginning of
theTable, where PACKED RECORD, BIT FIELD, SET, ARRAY, STRING, IF and
CASE aredefined in ANSI C12.19, as follows:
• Each member of a PACKED RECORD gets a unique number.
• The positional number of the first element of a PACKED RECORD is assigned the
value zero (0).
•The positional number of the first sub element of a BIT FIELD is assigned the
valuezero (0).
•The positional number of subsequent sub elements in the same BIT FIELD
isincremented by one (1) for each subsequent sub element in the BIT
FIELD,independent of the bit range assigned to the sub element.
• For non-final elements one level of index is appended to the index of the
parent’selement index for use in selections.
•Selection of Boolean members within a SET are referenced in the same manner
asmembers of a single dimensional array.
•For elements of an ARRAY one level of index is appended to the index of the
array’selement for each dimension (as per BNF. dim) for use in selections into entries
of theARRA Y.
2.
Selection based on an index method using <element-count> equal to one (1) will
deliverthe whole selected element.
3.
For the purpose of binary transmission, <index> cannot select into a sub-element or
final elements that are not atomic, with the exception of SETs, where the first octet
selected for transmission is that computed by integer division of the atomic index
number requested by 8, and the number of elements is the number of bits requested.
4.
For the purpose of transmission, an indexed selection into a non-existing element shall
result in an "Inappropriate Action Requested" error. However, it is allowed to append
zero sat the end of an <index>to indicate the desired access level of an indexed
selection within the Table element hierarchy.
5.
When <element-count> is greater than one (1), the application shall return up to
<element-count> elements at the same or lower hierarchical level of the <index> used
to initiate therequest traversing all element types serially.
6.
When <element-count> is greater than the number of elements available for
transmission,the number of elements transmitted will be limited to the maximum
number element savailable at the same or lower hierarchical level of the <index>used
to initiated therequest..
7.
The number of numeric segments that make up the <index> defines the initial
hierarchical level for element serialization and for <element-count> interpretation.
8.
As a part of a Read Service request, <element-count> equal to zero (0) shall be
interpretedas ALL data starting from the <index> to the end of the Table requested.
9.
As a part of a response, <count> equal to zero (0) shall be interpreted as NO data
wasreceived.
10.
As a part of a Write Service request, <count> shall correctly represent the actual
number of bytes to be written, including the optional pending header, at the hierarchical
level of theselection start <index>.
11.
As a part of a Read Service request, <element-count> represents the maximum
number of elements requested.
12.
Any element excluded from the data stream through the use of the IF or CASE
conditionalstatements shall not be a candidate for transmission and not be counted.
13.
Any element excluded from the data stream through the use of zero-length
ARRAYs,SETs, STRINGs, BINARYs shall not be a candidate for transmission and
not be counted.
14.
Any element whose size is zero (0) shall not be a candidate for transmission and not
becounted.
15.
The <element-count> counts elements and not octets.
16.
If the respondent application does not support the transmission elements at the
requestedindex level, or the respondent application cannot deliver the element
requested from anARRAY the respondent application shall assert the error condition
"Inappropriate ActionRequested". The requester may then attempt a retry of the Read
or Write Service request onan <index> of an element that is higher or lower in
hierarchy relative to the <index> of the failed attempt.
1.
An <offset> sets up a start of selection into a Table object relative to the beginning of
theTable
2.
An <offset> zero (0) is the octet offset to the first octet of the first element in the Table
as prescribed by the object data type and the value of DATA_ORDER, found in the
GEN_CONFIG_TBL (Table 00).
3.
When <count> is greater than one (1), the application shall return no more than
<count>octets from <offset> used to initiate the request traversing all element types
serially, whereeach element will be transferred according to its type and the value of
DATA_ORDER, found in the GEN_CONFIG_TBL (Table 00).
4.
When <count> is greater than the number of octets available for transmission, the
numberof octets transmitted will be limited to the maximum number octets available.
The response<count> shall be adjusted to reflect the actual number of octets transferred
in the response.
5.
As a part of a request, <count> equal to zero (0) shall be interpreted as ALL data
startingfrom the <offset> to the end of the Table requested.
6.
As a part of a response, <count> equal to zero (0) shall be interpreted as NO data
wasreceived.
7.
As a part of a Write Service request, <count> shall correctly represent the actual
number of octets requested to be written starting at the Table offset requested including
the optionalpending header.
8.
As a part of a Read Service request, <octet-count> represents the maximum number
of octets.
9.
Elements that are not present in the Table by virtue of them being excluded from the
datastream through the use of zero-length ARRAYs, SETs, STRINGs, BINARYs or
BCDs shall not be candidates for transmission and not be counted.
10.
Any element whose size is zero (0) shall not be a candidate for transmission and not
becounted.
11.
The octet counter counts octets and not elements.
12.
If the respondent application does not support the transmission of octets at the
requestedoffset, the respondent application shall assert the error condition
"Inappropriate ActionRequested”.
DATA POLARITY: LED on, start bit, space, logical zero (0)LED off, stop bit,
mark, logical one (1), quiescent state
<ctrl> ::= <byte> {Control field.Bit 7. If true (01H) then this packet is part of a
multiple packet transmission.
Bit 6. If true (01H), then this packet is the first packet of amultiple
packet transmission, and Bit 7 shall also be true.
Bit 5. Represents a toggle bit toreject duplicate packets. This bit
shall be toggled for each newpacket sent. Retransmitted
packetskeep the same state as the originalpacket sent. It should be
noted that the initial state of the toggle bit is not specified and
could initially be either zero (0) or one (1).
Bits 4 to 2, Reserved. The bitsshall be set to zero (0) by the
transmitter.Bit 0 to 1: DATA_FORMAT0 = C12.18 or C12.211
= C12.222 = Reserved3 = Reserved C12.18 Compliant
implementation sshall set Bits 0 and 1 to zero(0).}
<seq-nbr> ::= <byte> {Number that is decremented by one(1) for each new
packet sent. The first packet in a multiple packettransmission
shall have a <seq-nbr>equal to the total number of packets minus
one (1). A value of zero (0) in this field indicatesthat this packet is
the last packetof a multiple packet transmission.If only one (1)
packet in atransmission, this field shall beset to zero (0), and Bit 7
and Bit6 shall be set to zero (0).}
<data> ::= <byte> {<length> number of bytes of actualpacket data. This value is
limitedby the maximum packet size minusthe packet overhead of
8 bytes.This value can never exceed 8183.}
<crc> ::= <lsbyte><msbyte> {CCITT CRC standard polynomial X16+X12+ X5+ 1.}
4.7.5. Acknowledgment
A positive or negative acknowledgment is used by the communicating devices to
indicate either acceptance or rejection of a single packet.
An <ack> shall be issued by the receiving device to the transmitting device for each
valid packetreceived.
A <nak> shall be issued by the receiving device to the transmitting device for each
packetreceived that:
4.7.6. Retransmission
The same packet shall be transmitted if a <nak> is received, an invalid character is
received, or the acknowledge time-out elapses. After three (3) consecutive retries,
automatic termination shall occur.If a duplicate packet is received by the target, the
target shall disregard the duplicate packet and return an <ack>.
4.7.7. Time-out
4.7.7.1. Channel Traffic Time-out
The C12.18 Device shall terminate communications after waiting some period of time
for a validPSEM Request or PSEM Response. This period of time, defined as the
default Channel TrafficTime-out, shall be six (6) seconds. It may be temporarily
modified by the Wait Service.Termination of communication due to Channel Traffic
Time-out has the same effect of asuccessful invocation of the Terminate Service.
4.7.8. Delays
4.7.8.1. Turn-around Delay
The Turn-around Delay is the minimum delay the recipient must wait after receiving a
packetand before sending a positive or negative acknowledge.
The Turn-around Delay shall be 175microseconds.
5. COMPLIANCE
A C12.18 Device is considered to be in compliance with this Standard if all of the
followingconditions are met:
1.
The C12.18 Device shall:
−accept and act upon all service requests as defined in Section 4.2, Layer
7 -Application Layer;
−respond with a <sns> if a requested service is optional and it is not
supported;
−minimally support Identification, Logon, Logoff and at least one (1)
form of Read.
Any service defined in this Standard, when implemented, shall comply with the
C12.18 service description.
2.
Section 4.7, Layer 2 - Data Link Layer, must be adhered to in its entirety.
3.
The C12.18 Device is compliant with this Standard if zero (0) features (<feature>)
aresupported in the Identification Service.
4.
The physical dimensions defined in Section 4.8.1, Physical, shall be met.
5.
The light levels defined in Section 4.8.3, Light Levels, shall be met.
1) -> EE 00 00 00 00 01 20 13 10
2) <- 06
3) <- EE 00 00 00 0005 00 00 02 00 00 C6 B5
4) -> 06
21) -> EE 00 A0 01
0038363738393A3B3C3D3E3F404142434445464748494A4B4C4D
4E4F505152535455565758595A5B5C5D5E5F60616263646566676
8696A6B6C6DF0 47
22) <- 06
23) <- EE 00 80 00
002A6E6F707172737475767778797A7B7C7D7E7F8081828384858
68788898A8B8C8D8E8F90919293949596 C3 BD B1
24) -> 06
Read and Write Service requests are accepted in the Session State only.
Acceptance of theserequests do not result in any sequence state changes.
These services can originate from either theC12.18 Device or the C12.18
Client.
Logoff Service requests are accepted at the Session State only. Acceptance
of a Logoff Servicerequest, <ok> transitions communications to the ID
State. This service can originate from eitherthe C12.18 Device or the
C12.18 Client.
Terminate Service requests are accepted at the ID and Session States. Acceptance of
aTerminate Service request, <ok> transitions communications to the Base State. This
service canoriginate from either the C12.18 Device or the C12.18 Client.
Figure C-1: Communication State Diagram
ANNEX D – Compatibility
INFORMATIVE
Figure D-1: C12.18 Device Compatibility Diagram
Key:
Path 1 (solid line): Backward compatible for the Reader; Forward
compatible forthe Device.
Path 2 (dashed line) : Forward compatible for the Reader; Backward
compatible forthe Device.
Any future revision of this Standard shall be backward compatible with the
previous two (2)revisions of the Standard as defined by the 5-year ANSI
revision cycle requirement.
1.
The following forward compatibility criteria shall be used when extending
this Standard.Services may be:
1. defined as new;
2. omitted;
3. required where it had been optional;
4. optional where it had been required.
For cases 2 and 4, the response code <sns> shall be generated for any
service that is notsupported.
For case 3, the response code <sns> shall not be generated for any
required service.
Example of case 4:
Assume that the Security Service was originally defined as follows:
It is clear that the change fails to allow for the response code <sns>
(Service NotSupported), then any implementation of <security> may
respond with <security-r> if andonly if there is a condition that can
successfully generate an <ok> response for a given<security> request. If
there is no possibility for the <security> service to operate or bemade to
operate correctly for this device then the <sns> shall be generated.
This enable this Standard to extend another or be modified consistently
where somerequired services in one revision or referenced standard become
inoperative or optional inother.
2.
No tables, procedures or data types shall be introduced or modified by this
Standard. These items are to be instead proposed for ANSI C12.19.