Bulletized Summary of ANSI C12.19 and C12.22 by swp38119

VIEWS: 135 PAGES: 16

									       Bulletized Summary of ANSI C12.19 and C12.22

ANSI C12.22 Functional Requirements
  1. Must support the functions specified in all of the ANSI C12 standards to which the meter
     conforms. We enumerate the major requirements for a meter conforming to ANSI C12.19 and
     C12.22 below.
  2. Must support being connected to an AMI data network, which may or may not be available to
     entities outside of the AMI organization, such as entities on the Internet. [C12.22:12]
  3. Must support being connected to a HAN data network, which is distinct from the AMI data
  4. Must support 13 distinct network services accessible through the AMI network interface.
     1. Identification: Returns information about C12.19 device functionality: standard revision,
        optional features. [C12.22:26]
     2. Read: Causes a partial or complete transfer of table data to the requesting device.
     3. Write: Causes a partial or complete transfer of table data to the meter. [C12.22:28]
     4. Logon: Establishes a session without establishing access permissions. [C12.22:29]
     5. Security: Identical to optical port and modem security services, with the addition of new
        error codes. Transfers a password to the meter, which is used to authorize further actions
        in the session according to password tables on the meter. [C12.22:30]
     6. Logoff: Causes an expected termination of a session. [C12.22:31]
     7. Terminate: Causes an orderly but unexpected termination of a session. [C12.22:32]
     8. Disconnect: Causes an orderly but unexpected termination of a session, followed by a
        transition in the meter to the offline state. [C12.22:33]
     9. Wait: Prevents session timeouts. [C12.22:34]
     10. De/registration: Used to manually update the routing table in a router node. [C12.22:35-36]
     11. Resolve: Used to query routing tables in routing nodes. [C12.22:37]
     12. Trace: Used to obtain the sequence of routers used to forward this request to its specified
         destination. [C12.22:38]
  5. Must support multiple network service requests in a single network transmission. [C12.22:42]
  6. May support multiple security modes:
     1. C12.22 mode: Encrypt and optionally authenticate (with a MAC) all requests in session
        transmitted after authentication. [C12.22:52]
         1. Encryption key selected from meter data table (pre-shared), and uses an IV specified by
            requesting device.
         2. Username and password used to authenticate requesting device, and decrypted
            independently of request data.
     2. May also support C12.21 mode
  7. ACSE routing and all network layers lower than application implemented on communications
     module. [C12.22:78]
  8. All other application-layer services implemented within meter. [C12.22:78]
  9. Each meter must negotiate communication parameters with its attached communication module,
     and can communicate at a rate between 300 and 256000 baud. [C12.22:85]
  10. ANSI C12.18 and/or C12.22 can be used over the meter's optical port if it is so equipped.
  11. ANSI C12.22 datagrams are designed to be recognizable to ANSI C12.18 and C12.21 devices.

ANSI C12.19 Standard Tables
  1. Decade 0: Configuration Tables
     1. Table 0: General Configuration
         1. Endianness
         2. Character, signed integer, and date formats
         3. Implemented standard revision
         4. Specification of tables provided by meter and whether they can be rewritten
     2. Table 1: Manufacturer identification
         1. Hardware, firmware revisions
         2. Serial number
         3. Date of last firmware upgrade
     3. Table 2: Device nameplate
         1. Specifies type of metering device (size of water pipe, frequency of electricity supported,
     4. Table 3: End device mode
         1. Test, meter shop, factory, or regular mode
         2. Programmed vs. unprogrammed
         3. Configuration error
         4. Self check error
         5. RAM, ROM, or NVRAM failure
         6. Clock error
         7. Measurement element error
         8. Low battery
         9. Low loss potential (???)
   10. Demand overload
   11. Power failure
   12. Tamper detection
   13. Reverse rotation
5. Table 4: Pending tables
   1. I think this is used to implement transactional support, so changes can be written to a
      copy of a table, and then it can be committed and activated.
6. Table 5: Device identification
   1. Unique end device specification
7. Table 6: Utility information
   1. Owner name
   2. Utility division number
   3. Service point ID number
   4. Logical electrical address for mapping and study purposes
   5. Hardware device ID
   6. Utility-specified serial number
   7. Customer ID
   8. Vendor that provided configuration/programming software
   9. Configuration/programming software version number
   10. Name of last programmer or programming device
   11. Freeform ID
   12. URI to EDL document for meter
8. Table 7: Procedure initiate table: Enables the execution of commands using the table
   1. Procedure number
   2. Sequence number identifying invocation
   3. Arguments for procedure
   4. Standard procedures:
       1. Cold start: Clear all programing and data values except an event log
       2. Warm start: Restart the device without clearing data
       3. Save active configuration
       4. Clear data values but retain programming fields
       5. Reset list pointers (???)
       6. Update last read entry (???)
       7. Change end device mode (???)
       8. Clear all standard status flags
       9. Clear all manufacturer status flags
       10. Remote reset: Demand reset, change to specific season
       11. Set date and/or time
       12. Execute diagnostics
       13. Activate all pending tables (commit?)
       14. Activate specific pending table
       15. Clear all pending tables (abort?)
       16. Clear specific pending table
       17. Start load profile
       18. Stop load profile
       19. Login: Use a username and password to determine which user will be identified in
           audit logs
       20. Call a specific phone number
       21. Direct load control
       22. Modify remaining prepayment credit
       23. Clear pending call reasons
       24. C12.22 Additions: [C12.22:C4]
          1. Register: maintain routing information
          2. Deregister
          3. Network interface control: activate/deactivate interface, modify other interface
          4. Exception report: used for outage and tamper notifications, etc.
   5. Table 8: Procedure response
       1. Contains the result of a procedure called using table 7
9. Decade 1: Data source tables
   1. Table 10: Dimension limits
   2. Table 11: Actual dimensions for this meter:
       1. Power fail exclusion: Do not use surge currents occurring immediately after an
          outage restoration when calculating customer's maximum demand
       2. Reset exclusion: Prevent device from repeatedly resetting in quick succession
       3. Whether block, sliding, and thermal demand are in use (???)
       4. Offsets and constants, sizes of tables... (???)
   3. Table 12: Defines units, timescales, etc., necessary for interpreting measurements
   4. Table 13: Demand control table (???)
   5. Table 14: Description of data contained in manufacturer-specific tables
   6. Table 15: Definitions of constants: gas pressure, transformer ratios, etc.
   7. Table 16: Source definitions (???)
   8. Table 17: Data description (???)
10. Decade 2: Register tables: Actual measurements
   1. Table 20: Maximum dimensions of measurements
   2. Table 21: Specification of actual measurements that have been collected
   3. Table 22: Selection of data sources from Table 16 that will be returned to requester
   4. Table 23: Current register data table
       1. One block of data for each billing tier:
           1. Summations:
              1. Accumulated measurements
           2. Demands:
              1. Times of minimum and maximum demand
              2. Cumulative demand
              3. Continuous cumulative demand
              4. Minimum and maximum demand
           3. Coincidents:
              1. Data selected by Table 22
   5. Table 24: Snapshot of current register data taken at last season change
   6. Table 25: Snapshot of current register data taken at last demand reset
   7. Table 26: Self read data (???) (Maybe used to store readings when network is
   8. Table 27: Selection of sources from Table 16 used to measure current demand
   9. Table 28: Present register data
11. Decade 3: Local display tables
   1. Table 30: Display dimensions: Used to define a properly-sized human interface for
      displaying meter data (probably the little LCD)
   2. Table 31: Actual display dimensions
   3. Table 32: Display source table (???)
   4. Table 33: Primary display list table (???)
   5. Table 34: Secondary display list table (???)
12. Decade 4: Security tables
   1. Table 40: Maximum security dimensions
       1. Number of passwords (1-255)
       2. Length of passwords (1-20)
       3. Number of keys used by ANSI C12.22 to encrypt data (0-255)
       4. Byte length of keys supported by meter (0-255)
       5. Number of user-defined security access entries (0-65535)
   2. Table 41: Actual security dimensions
   3. Table 42: Actual association from passwords to read, write, and procedure execute
      permission bits
       1. Note: When permission is granted to a procedure that accesses or modifies a table,
          the corresponding permission on that table is also required. This is transitive on
          user-defined tables that propagate accesses to other tables.
       2. There are 8 permission bits that confer access to 8 distinct groups.
   4. Table 43: Default permissions whenever permissions are not specified in Table 44
   5. Table 44: Access control
       1. Array of AC records:
           1. Table definition:
              1. Table or procedure number
              2. Whether read and/or write access is restricted. If so, the respective bitfields
                 specified below are used.
           2. AC bitfields for read and write permissions, as used in Table 42
   6. Table 45: Key table: Stores the keys used by ANSI C12.22 to encrypt and authenticate
   7. Table 46 [C12.22:C5]: Extended key table
       1. Array of keys
           1. Key ID
           2. Cipher code: DES, DES-EDE
           3. Length of key
           4. Key data
13. Decade 5: Time-of-Use tables
   1. A bunch of tables for changing prices daily. Not very interesting from a research
14. Decade 6: Load profile tables: Used to implement interval meters.
   1. Table 60: Load profile maximum dimensions
       1. Determines how many channels are to be maintained, and how many measurements
          can be stored in each.
   2. Table 61: Load profile actual dimensions
   3. Table 62: Data description: Defines the data sources (from Table 16) and formats used
      in the collection of load profile data.
   4. Table 63: Status of each load profile data set (number of measurements, whether
      overflowed, whether in testing mode, etc.)
   5. Table 64: Load profile dataset 1
       1. Whether overflowed
       2. Whether power outage occurred during recording
       3. Actual data measurements
   6. Table 65-67: Load profile datasets 2-4
15. Decade 7: History and event logs
   1. Table 70: Maximum dimensions of log table
   2. Table 71: Actual dimensions of log table
   3. Table 72: Events identification table
       1. Standard events supported
       2. Manufacturer-specific events supported
   4. Table 73: History log control
       1. Determines which events and procedures are logged
   5. Table 74: History log data
       1. Flags
       2. Number of valid and unread entries
       3. Array of entries:
          1. Table or procedure number
          2. Whether standard or manufacturer-defined
          3. Date and time
          4. Event number
          5. History sequence number
          6. User ID
          7. Standard event code, as defined in Annex C of C12.19
          8. Standard event argument, as defined in Annex C of C12.19
   6. Table 75: Event log control
       1. Determines which events and procedures are logged
   7. Table 76: Event log data
       1. Same as Table 74, minus the history-specific stuff
   8. Table 77: Data description
       1. Determines which tables will generate read and write entries in the event log
   9. Table 78: End device program state
   1. Signature algorithm ID: Must support at least one of MD5 or MDC2.
   2. Three signatures:
       1. Metrological signature: Captures the current metrological state of the meter
       2. Event check signature: Used to detect event log discontinuity for the entire life of
          the meter
       3. Program signature: Captures the current state of all tables in the meter
       4. Alternative signature: Application-defined signature
   3. List of signatures for specific tables:
       1. Table ID specification
       2. Whether table was modified since last invocation of Procedure 5
       3. Whether table contains metrological data and is included in computation of
          metrological signature
       4. Whether table is event logable
       5. Whether table is included in the computation of the alternate signature
       6. Signature of this individual table
   4. Table 79: Event counters
       1. Calibration counter: incremented whenever one or multiple calibration
          parameters are modified
       2. Configuration counter: Incremented whenever one or multiple configuration or
          metrological parameters are modified.
10. Decade 8: User-defined tables
   1. Up to five user-defined tables are supported, but we don't discuss them further here
11. Decade 9: Telephone control tables
   1. Controls related to connecting through a telephone.
12. Decade 10: Extended source tables
   1. Configures custom measurement sensors
13. Decade 11: Load control and pricing tables
   1. Table 110: Maximum dimensions of load control decade
   2. Table 111: Actual dimensions of load control decade
       1. Whether load control directives specify duration
       2. Whether meter automatically randomizes load control directives
       3. Whether meter supports manual overrides
       4. Whether meter supports manual turn-on (???)
       5. Whether meter registers the status of its endpoints in Table 112
       6. Whether meter accepts a separate load control schedule anchor date (???)
   7. Whether Table 115 includes a condition based on a source limit
   8. Load control actions are conditional on the currently-active tier
   9. Load control actions are conditional on the time of day and time of year
   10. Number of control points
   11. Number of recurring dates supported in the schedule
   12. Number of event schedules supported
   13. Number of weekly schedules supported
3. Table 112: Actual status of each control point
   1. Array of control point statuses:
       1. Whether control point is adjusted using a binary setting or a continuous
          setting (0 → 100%)
       2. Whether control point Is manually overridden
       3. Whether control point is waiting for manual intervention to turn on
       4. The requested setting of the control point
       5. The actual setting
       6. The setting that was independently sensed. A significant disparity between
          this reading and the previous setting indicates a problem with a sensor or
       7. Duration countdown: When it hits 0, the control point returns to its previous
       8. Randomization countdown: When it hits 0, the control point is adjusted to
          the new setpoint.
4. Table 113: Control point configuration
   1. Array of control point configurations:
       1. Whether control point directive can be manually overridden
       2. Whether control point directive will be directly applied without any manual
       3. Whether control point can be directly applied
       4. Minimum time control point must be left on before being shut off
       5. Minimum time control point must be left off before being turned on
5. Table 114: Data description
   1. Implements scheduled load control actions using recurring or non-recurring dates
      and weekly schedules.
6. Table 115: Load control conditions
   1. Implements load control actions by triggering off of an arbitrary logical condition
      specified based on source limits, demand tiers, times and dates.
7. Table 116: Prepayment status
       1. Remaining credit
       2. Actual rate of consumption in $/hour
       3. History of consumption
   8. Table 118: Prepayment control
       1. Pre-warning limit
       2. Warning limit
       3. Overdraft limit
       4. Directive to apply once overdraft limit is exceeded
   9. Table 119: Billing control
       1. Price of commodity in $/unit
       2. Fixed charge for equipment and service in $/day
       3. Tax percentage
       4. Action to perform when selected source exceeds a specific limit:
          1. Switch to a specific tier
          2. Switch to the next tier
       5. Equation to perform complex billing
       6. Seasonal pricing information
14. Decade 12: Network control tables [C12.22:C1]
   1. Table 120: Maximum dimensions for network table
       1. Whether timestamps are included in statistics table
       2. Whether native address can be set in Table 122
       3. Whether btoadcast addresses can be set in Table 122
       4. Whether local relay native static addresses can be set
       5. Whether meter can be programmed with static ApTitle
       6. Whether association with master relay can be programmed with static ApTitle
       7. Whether Table 122 capable of providing client response control parameters
       8. Number of network interfaces
       9. Concurrent registrations (independent routes to network)
       10. Number of filtering rules
       11. Number of exception hosts supported in Table 123
       12. Number of events supported for each entry in Table 123
       13. Number of statistics supported in Table 122
       14. Number of multicast addresses in Table 127
       15. Length of a native address
   16. Number of characters used as parameter for each filtering condition in Table 124
2. Table 121: Actual settings
3. Table 122: Interface control
   1. Array of interfaces
       1. Native address
       2. Broadcast address
       3. Relay native address for this segment
       4. This node's ApTitle
       5. ApTitle of master relay responsible for this node
       6. Number of retries
       7. Response timeout
   2. Optional electronic serial number used to assist autogeneration of ApTitles
   3. Array of multicast addresses
4. Table 123: Exception report
   1. Event code that triggered exception report (See history and event log codes in
   2. Destination ApTitle of report
   3. Maximum number of retries
   4. Interval in minutes between consecutive retry attempts
   5. Interval in minutes between identical exception reports
   6. List of events reported to the associated ApTitle (???)
   7. Array of ApTitles where reports of associated events should be sent
5. Table 124: Filtering rules
   1. Array of rules for each interface:
       1. Action taken after evaluating rule:
           1. Ignore: continue with next rule
           2. Reject message
           3. Deny: Reject only if subsequent conditions do not accept
           4. Allow message
           5. Goto label
           6. Cond: Continue processing at label if condition matches
       2. Label of rule
       3. Direction of matched packets: Sent, received, any, sent to node on same
          segment (not through relay), send to node through relay
       4. Condition: Match by source and destination ApTitles or native addresses or
           electronic serial number
6. Table 125: Interface status table
   1. Array of statuses for each interface:
       1. Whether connected
       2. Whether comm module automatically registers interface on C12.22 network
       3. Whether node attempts to directly send messages to nodes, in contrast to
          sending all messages through relays
       4. Whether node is a relay
       5. Whether node is a master relay
       6. Whether ANSI C12 software is running on a larger computer or in an
          embedded system
       7. Whether node is a notification host
       8. Whether node is an authentication host
       9. Whether node is an end device (I.e. contains metrology and associated
          C12.19 tables)
       10. Textual description of interface
       11. Last time interface was enabled
       12. Last time interface was disabled
       13. Last time statistics were reset
       14. Last time interface received or transmitted any message
7. Table 126: Registration status
   1. Native address for this route
   2. Physical interface number
   3. ApTitle of master relay responsible for this node
   4. ApTitle assigned to this node
   5. Delay in seconds between power up and issuance of registration request
   6. Time in seconds before registration expires
   7. Remaining time before registration expiration
8. Table 127: Network statistics
   1. Number of:
       1. Octets sent/received
       2. ACSE-PDUs sent/received/forwarded/dropped
       3. Transmission errors
       4. Reception errors
       5. Collisions
           6. Message overruns
           7. Framing errors
           8. Checksum errors
           9. Active associations
           10. Association timeouts
           11. Signal carriers lost
           12. Registrations sent/received/denied/failed
           13. De-registrations requested
       2. Signal strength (percentage or dBm)
15. Decade 13: Relay control tables
   1. Table 130: Maximum dimensions of relay information
       1. Whether relay supports assignment of ApTitles locally
       2. Number of registration entries
       3. Number of static routing rules
       4. Number of dynamic routing rules
       5. Number of different mast relays that can be automatically assigned by this relay
       6. Number of authentication and notification hosts that can be serviced by this relay
   2. Table 131: Actual relay settings
   3. Table 132: Registration list
       1. Array of information for each node registered with this relay:
           1. Whether node is a relay or master relay
           2. Whether node is a C12.22 host
           3. Whether node is a notification or authentication host
           4. Whether node is an end device (with metrology)
           5. Whether node resides on same segment as the relay (???)
           6. Whether ApTitle is statically or dynamically assigned
           7. ApTitle of node
           8. Native address of node
           9. Interface used to access node
           10. Manufacturer ID
           11. Electronic serial number
           12. ApTitle of master relay responsible for node
           13. Registration time out
           14. Countdown until this entry is removed
          15. Messages sent and received to/from node
   4. Table 133: Static routing
       1. Mapping from ApTitle patterns to the interfaces and native addresses of routers
          used to forward matching messages
   5. Table 134: Host notification
       1. Array of authentication and notification host specifications:
          1. ApTitle of host
          2. Type of host
          3. Number of queued notifications waiting for host to become available once
          4. Notification retry count
          5. Notification retry interval
          6. Notification timeout
          7. Minimum interval between reporting two identical notifications
   6. Table 135: Master relay assignment
       1. Array of master relay assignments
          1. Serial number of relay
          2. ApTitle of relay
   7. Table 136: Dynamic routing diagnostic table
       1. Array of routing table entries
16. Decade 14: Extended user defined tables
   1. Note: Used to aggregate values from multiple tables into a new “virtual” table
   2. Table 140: Maximum limits for control parameters used defining new tables
   3. Table 141: Actual limits on those parameters
   4. Table 142: Selections: Used to actually define the virtual tables
   5. Table 143: Constants table
17. Decade 16: One way devices
   1. Table 160: Maximum capabilities for one way control of the meter
       1. Whether capable of always being awake
       2. Whether capable of waking on a defined period
       3. Whether capable of waking in response to a specific RF energy level
       4. Whether capable of waking in response to IR energy
       5. Whether capable of waking in response to PLC energy
       6. Whether capable of waking in response to POTS modem energy
       7. Whether capable of waking in response to LAN/WAN energy
   8. Whether capable of reading register immediately after wake
   9. Whether capable of reading register with time delay after wake
   10. Whether capable of reading register after external stimulus
   11. Whether capable of transmitting data immediately after register read
   12. Whether capable of transmitting data after a chosen time delay after a register
   13. Max number of bytes composing wakeup code
   14. Max number of power outages that can be counted and timed by the meter
   15. Max number of bytes composing telephone number
   16. Max time in hours describing period of no usage
   17. Max time in minutes of no usage which trigger alarm call
2. Table 161: Actual settings
3. Table 162: Control choices controlling waking, register reading, and data
   1. Periodic register read time
   2. Periodic data transmission time
   3. Delay to wait after reading register before transmitting data
   4. Period between automatic wakeups
   5. RF wakeup data:
       1. Frequency of waking device in hertz
       2. Type of modulation (AM, FM, Spread Spectrum)
       3. Wake code
   6. IR wakeup data:
       1. Wake code
   7. PLC wakeup data:
       1. Frequency of waking device in hertz
       2. Type of modulation (AM, FM, SS)
       3. Wake code
   8. POTS wakeup data:
       1. Wake code
   9. LAN/WAN wakeup data:
       1. Wake code
   10. Security mode: Off, Low, Normal, High
       1. Simply indicates how much security was installed with the meter (whether
          the line is encrypted, etc.)
4. Table 163: One way data
   1. Time in seconds between reading registers and transmitting the data
   2. Whether meter communicates bidirectionally
   3. Whether meter communicates via handheld reader vs. LAN/WAN
   4. Whether meter provides relay functionality
   5. Number of power outage events recorded in a day
   6. Duration of each outage in seconds, and time elapsed since its end
   7. Elapsed time since no consumption recorded
   8. Amount of clock drift

To top