While DLMS/COSEM dominates European metering, North America runs on a parallel universe of standards: the ANSI C12 family. If you work with utilities in the United States or Canada, understanding C12 is non-negotiable.
Overview of the ANSI C12 Family
The ANSI C12 series is published by the American National Standards Institute (ANSI) under the authority of the Electricity Metering committee. The series covers physical interfaces, data models, and network protocols — the equivalent of IEC 62056 for the North American market.
ANSI C12.1 — Electric Meters: Code for Electricity Metering
The foundational document. C12.1 defines:
- Accuracy classes for revenue-grade meters (0.1%, 0.2%, 0.5%)
- Test procedures for meter acceptance
- Environmental requirements (temperature, humidity, vibration)
- Voltage and current ranges for residential and commercial meters
C12.1 is to North American electricity metering what IEC 62053 is to European accuracy — the baseline quality document every utility references in procurement specifications.
ANSI C12.18 — Protocol Specification for ANSI Type 2 Optical Port
The North American equivalent of IEC 62056-21. Defines the optical port communication protocol used to read meters locally with a handheld device. Key differences from IEC 62056-21:
- Fixed baud rate negotiation sequence (start at 9600, negotiate up)
- Uses C12.19 table structure for data exchange
- Toggle bit mechanism for reliable packet delivery
- Request/response model: host always initiates
ANSI C12.19 — Utility Industry End Device Data Tables
This is the most important document in the C12 family. C12.19 defines a complete data model for metering devices using a table-based structure.
The Table Model
Every piece of meter data lives in a numbered table. Tables are grouped into categories:
| Table Range | Category | Examples |
|---|---|---|
| 0–64 | General Configuration | Table 0: General config, Table 1: General mfr ID, Table 6: Utility info |
| 1–63 (standard) | Electricity data | Table 23: Current register data (kWh), Table 24: Previous demand resets, Table 64: Load profile |
| 64–127 | Extended electricity | Load profile, event log, TOU data |
| 2048+ | Manufacturer-specific | Vendor extensions (not standardised) |
Key Tables Every Engineer Should Know
| Table | Name | Content |
|---|---|---|
| Table 0 | General Configuration | Data order, size info, feature flags |
| Table 1 | General Manufacturer ID | Manufacturer, model, HW/SW version |
| Table 2 | Device Nameplate | Voltage, current, form factor, kh constant |
| Table 3 | End Device Mode/Status | Current operating mode, error flags |
| Table 12 | Unit of Measure Entry | Units for each quantity (Wh, VAh, VARh…) |
| Table 21 | Actual Register | Number of registers, demands, TOU tiers |
| Table 23 | Current Register Data | Current billing period kWh and demand values |
| Table 24 | Previous Season Data | Last billing period values |
| Table 25 | Previous Demand Reset Data | Values at last demand reset |
| Table 28 | Present Register Selection | Which quantities map to which registers |
| Table 51 | Actual Load Profile | Load profile configuration (interval length, channels) |
| Table 64 | Load Profile Data Set 1 | Interval energy data (the time-series load profile) |
| Table 72 | Actual Log | Event log configuration |
| Table 76 | History Log Data | Timestamped event history |
ANSI C12.20 — Electricity Meters: 0.1, 0.2, and 0.5 Accuracy Classes
Defines the accuracy requirements and test procedures for revenue-grade meters. North American utilities specify C12.20 Class 0.2 for commercial/industrial meters and Class 0.5 for residential.
ANSI C12.21 — Transport Specification for Telephone Modem Communication
The precursor to C12.22 — defines how to carry C12.19 table reads over dial-up telephone modems. Still relevant for legacy AMR systems not yet upgraded to IP networks.
ANSI C12.22 — Protocol Specification for Interfacing to Data Communication Networks
C12.22 is the network layer that carries C12.19 data over IP networks — the backbone of modern North American AMI. Key concepts:
Node Types
- End Device (ED): the smart meter
- Relay: a network repeater or concentrator
- Master Relay: the HES — receives data from the field network
- Communication Module: the radio/cellular module inside the meter
Addressing
C12.22 uses a hierarchical addressing scheme: each end device has a unique ApTitle (application entity title) — an ASN.1 OID that globally identifies the meter. This is analogous to the DLMS meter serial number OBIS code.
Message Types
- Read: request one or more tables from the meter
- Write: push data to the meter (tariff tables, TOU schedules)
- Logon/Logoff: session management with password authentication
- Resolve: discover the route to a specific meter
- Notification: meter-initiated push (alarms, events)
C12 vs DLMS: The Key Differences
| Dimension | ANSI C12 | DLMS/COSEM |
|---|---|---|
| Data model | Table-based (numbered tables) | Object-based (COSEM classes + OBIS) |
| Dominant market | USA, Canada, some Latin America | Europe, Asia, rest of world |
| Network protocol | C12.22 over IP | DLMS/COSEM over TCP/IP (port 4059) |
| Security | Password (Table 42/43), C12.22 crypto | AES-128 GCM (IEC 62056-8-1) |
| Certification | No formal CTT equivalent | DLMS CTT certificate |
| Interoperability | Good within C12 ecosystem | Strong with CTT certification |
| Extension mechanism | Manufacturer tables (2048+) | Vendor-specific COSEM objects |
Further Reading
- ANSI C12.19-2008: Available from ANSI (ansi.org) and NEMA
- ANSI C12.22-2008: Network communication protocol specification
- AEIC Guidelines for C12.19 — American Energy Interchange Committee
- EEI AMI interoperability working group publications