Class Static
public static class PsemConstants

Namespace: SharpMeter.Core.Protocol

ANSI C12.18 protocol constants.

Fields

NameDescription
CrcLength static CRC length in bytes.
DefaultInterPacketDelay static Default inter-packet delay in milliseconds.
DefaultMaxPacketSize static Default maximum packet size in bytes.
DefaultResponseTimeout static Default response timeout in milliseconds.
DefaultRetryCount static Default number of retries.
ManufacturingTableMax static Manufacturing table ID range: 2048 - 4095.
ManufacturingTableOffset static Manufacturing table ID offset.
MaxNumberOfPackets static Maximum number of packets in a multi-packet transfer.
MaxPacketLength static Maximum negotiable packet length.
ProcedureInitiationTable static Procedure initiation table (ST7).
ProcedureResponseTable static Procedure response table (ST8).
ST0_GeneralConfig static General Configuration Table.
ST1_ManufacturerId static General Manufacturer ID Table.
ST2_DeviceNameplate static Device Nameplate Table.
ST3_ModeStatus static End Device Mode and Status Table.
ST5_DeviceIdent static Device Identification Table.
ST52_Clock static Clock Table.
StandardTableMax static Standard table ID range: 0 - 2047.

CrcLength

int CrcLength

CRC length in bytes.

DefaultInterPacketDelay

int DefaultInterPacketDelay

Default inter-packet delay in milliseconds.

DefaultMaxPacketSize

int DefaultMaxPacketSize

Default maximum packet size in bytes.

DefaultResponseTimeout

int DefaultResponseTimeout

Default response timeout in milliseconds.

DefaultRetryCount

int DefaultRetryCount

Default number of retries.

ManufacturingTableMax

ushort ManufacturingTableMax

Manufacturing table ID range: 2048 - 4095.

ManufacturingTableOffset

ushort ManufacturingTableOffset

Manufacturing table ID offset.

MaxNumberOfPackets

int MaxNumberOfPackets

Maximum number of packets in a multi-packet transfer.

MaxPacketLength

int MaxPacketLength

Maximum negotiable packet length.

ProcedureInitiationTable

ushort ProcedureInitiationTable

Procedure initiation table (ST7).

ProcedureResponseTable

ushort ProcedureResponseTable

Procedure response table (ST8).

ST0_GeneralConfig

ushort ST0_GeneralConfig

General Configuration Table.

ST1_ManufacturerId

ushort ST1_ManufacturerId

General Manufacturer ID Table.

ST2_DeviceNameplate

ushort ST2_DeviceNameplate

Device Nameplate Table.

ST3_ModeStatus

ushort ST3_ModeStatus

End Device Mode and Status Table.

ST5_DeviceIdent

ushort ST5_DeviceIdent

Device Identification Table.

ST52_Clock

ushort ST52_Clock

Clock Table.

StandardTableMax

ushort StandardTableMax

Standard table ID range: 0 - 2047.

View Source
/// <summary>
///     ANSI C12.18 protocol constants.
/// </summary>
public static class PsemConstants
{
#region Frame Constants
    /// <summary>Default maximum packet size in bytes.</summary>
    public const int DefaultMaxPacketSize = 64;
    /// <summary>Maximum negotiable packet length.</summary>
    public const int MaxPacketLength = 0x80;
    /// <summary>Maximum number of packets in a multi-packet transfer.</summary>
    public const int MaxNumberOfPackets = 0xFE;
    /// <summary>CRC length in bytes.</summary>
    public const int CrcLength = 2;
#endregion
#region Table Constants
#pragma warning disable CA1707 // Identifiers should not contain underscores

    /// <summary>General Configuration Table.</summary>
    public const ushort ST0_GeneralConfig = 0;
    /// <summary>General Manufacturer ID Table.</summary>
    public const ushort ST1_ManufacturerId = 1;
    /// <summary>Device Nameplate Table.</summary>
    public const ushort ST2_DeviceNameplate = 2;
    /// <summary>End Device Mode and Status Table.</summary>
    public const ushort ST3_ModeStatus = 3;
    /// <summary>Device Identification Table.</summary>
    public const ushort ST5_DeviceIdent = 5;
    /// <summary>Clock Table.</summary>
    public const ushort ST52_Clock = 52;
#pragma warning restore CA1707
    /// <summary>Standard table ID range: 0 - 2047.</summary>
    public const ushort StandardTableMax = 2047;
    /// <summary>Manufacturing table ID offset.</summary>
    public const ushort ManufacturingTableOffset = 2048;
    /// <summary>Manufacturing table ID range: 2048 - 4095.</summary>
    public const ushort ManufacturingTableMax = 4095;
    /// <summary>Procedure response table (ST8).</summary>
    public const ushort ProcedureResponseTable = 8;
    /// <summary>Procedure initiation table (ST7).</summary>
    public const ushort ProcedureInitiationTable = 7;
#endregion
#region Timing Constants
    /// <summary>Default inter-packet delay in milliseconds.</summary>
    public const int DefaultInterPacketDelay = 500;
    /// <summary>Default response timeout in milliseconds.</summary>
    public const int DefaultResponseTimeout = 5000;
    /// <summary>Default number of retries.</summary>
    public const int DefaultRetryCount = 3;
#endregion
}
Was this page helpful?