IEC60870.Types.BCR (ExIEC60870 v0.1.0)

Copy Markdown View Source

Binary Counter Reading (BinaryCounterReading, 5 bytes) according to IEC 60870-5-101 7.2.6.9. Matches cs101_bcr.c.

Byte layout:

  • Bytes 0..3: 32-bit signed integer counter value (little-endian)
  • Byte 4:
    • bits 0..4: sequence_number (0..31)
    • bit 5 (0x20): carry (CY)
    • bit 6 (0x40): adjusted (CA)
    • bit 7 (0x80): invalid (IV)

Summary

Types

t()

@type t() :: %IEC60870.Types.BCR{
  adjusted: boolean(),
  carry: boolean(),
  invalid: boolean(),
  sequence_number: 0..31,
  value: integer()
}

Functions

decode(arg1)

@spec decode(binary()) :: {:ok, t(), binary()} | {:error, :insufficient_data}

encode(bcr)

@spec encode(t()) :: <<_::40>>

new(value, sequence_number \\ 0, opts \\ [])

@spec new(integer(), non_neg_integer(), keyword()) :: t()