Skip to content

SunSpec

Peter Trimmel edited this page Feb 19, 2019 · 2 revisions

SunSpec

The SunSpec library is a helper library for the implementation of a SunSpec complient application. It provides SunSpec specific datatypes with associated type converters and JSON support.

See SunSpec Information Model Specification (SunSpec Alliance Interoperability Specification) - Document #: 12041, Status: Approved, Version 1.9

Datatypes

Standard Data Formats

  • int: signed integer value.
  • uint: unsigned integer value
  • pad: reserved field, used to round a Model to an even number of registers
  • acc: accumulated value, used for ever increasing values that may roll over
  • enum: enumerated value, used for status and state
  • bitfield: a collection of bits, multi-valued alarms or state
  • string: a null terminated or fixed length value
  • ip: internet protocol formatted network address

int

int16
Sunspec 16-bit integer values: int16
Range: ­‐32767...32767
Not Implemented: 0x8000
int32
Sunspec 32-bit integer values: int32
Range: ­‐2147483647...2147483647
Not Implemented: 0x80000000
int64
Sunspec 64-bit integer values: int64
Range: ­‐9223372036854775807...9223372036854775807
Not Implemented: 0x8000000000000000

uint

uint16
Sunspec 16-bit integer values: uint16
Range: ­0...65534
Not Implemented: 0xFFFF
uint32
Sunspec 32-bit integer values: uint32
Range: 0...4294967294
Not Implemented: 0xFFFFFFFF
uint64
Sunspec 64-bit integer values: uint64
Range: ­0...18446744073709553214
Not Implemented: 0xFFFFFFFFFFFFFFFF

pad

Sunspec 16-bit integer values: pad
Range: 0x8000

acc

acc16
Sunspec 16-bit integer values: acc16
Range: 0...65535
Not Accumulated: 0x0000
acc32
Sunspec 32-bit integer values: acc32
Range: 0...4294967295
Not Accumulated: 0x00000000
acc64
Sunspec 64-bit integer values: acc64
Range: Range: 0...9223372036854775807
Not Accumulated: 0x0000

enum

enum16
Sunspec 16-bit integer values: enum16
Range: ­0...65534
Not Implemented: 0xFFFF
enum32
Sunspec 32-bit integer values: enum32
Range: 0...4294967294
Not Implemented: 0xFFFFFFFF

bitfield

bitfield16
Sunspec 16-bit integer values: bitfield16
Range: ­0...0x7FFF
Not Implemented: 0xFFFF
bitfield32
Sunspec 32-bit integer values: bitfield32
Range: ­0...0x7FFFFFFF
Not Implemented: 0xFFFFFFFF

string

Not yet implemented...

ip

ipaddr
Sunspec 32-bit integer values: ipaddr
32-bit IPv4 address
Not Configured: 0x00000000
ipv6addr
Sunspec 128-bit integer values: ipv6addr
128-bit IPv6 address
Not Configured: 0

sunssf

Sunspec 16-bit integer values: sunssf
Range: ­‐10...10
Not Implemented: 0x8000