objects: - group: 1 variation: 1 packed: true fields: - type: uint8 name: state width: 1 - group: 1 variation: 2 fields: - type: bstr8 fields: - type: uint8 name: online width: 1 - type: uint8 name: restart width: 1 - name: comm_lost type: uint8 width: 1 - name: remote_forced type: uint8 width: 1 - name: local_forced type: uint8 width: 1 - name: chatter_filter type: uint8 width: 1 - name: reserved type: uint8 width: 1 - name: state type: uint8 width: 1 - group: 2 variation: 1 fields: - type: uint8 name: state width: 1 - group: 2 variation: 2 fields: - type: bstr8 fields: - type: uint8 name: online width: 1 - type: uint8 name: restart width: 1 - name: comm_lost type: uint8 width: 1 - name: remote_forced type: uint8 width: 1 - name: local_forced type: uint8 width: 1 - name: chatter_filter type: uint8 width: 1 - name: reserved type: uint8 width: 1 - name: state type: uint8 width: 1 - type: dnp3time name: timestamp - group: 2 variation: 3 fields: - type: bstr8 fields: - type: uint8 name: online width: 1 - type: uint8 name: restart width: 1 - name: comm_lost type: uint8 width: 1 - name: remote_forced type: uint8 width: 1 - name: local_forced type: uint8 width: 1 - name: chatter_filter type: uint8 width: 1 - name: reserved type: uint8 width: 1 - name: state type: uint8 width: 1 - type: uint16 name: timestamp - group: 3 variation: 1 packed: true fields: - type: uint8 name: state width: 2 - group: 3 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: chatter_filter width: 1 - name: state width: 2 - group: 4 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: chatter_filter width: 1 - name: state width: 2 - group: 4 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: chatter_filter width: 1 - name: state width: 2 - type: dnp3time name: timestamp - group: 4 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: chatter_filter width: 1 - name: state width: 2 - type: uint16 name: relative_time_ms - group: 10 variation: 1 packed: true fields: - type: uint8 name: state width: 1 - group: 10 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - name: state width: 1 - group: 11 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - name: state width: 1 - group: 11 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - name: state width: 1 - type: dnp3time name: timestamp - group: 12 variation: 1 fields: - type: bstr8 fields: - name: op_type type: uint8 width: 4 - name: qu type: uint8 width: 1 - name: cr type: uint8 width: 1 - name: tcc type: uint8 width: 2 - name: count type: uint8 - name: ontime type: uint32 - name: offtime type: uint32 - type: bstr8 fields: - name: status_code type: uint8 width: 7 - name: reserved type: uint32 width: 1 - group: 12 variation: 2 fields: - type: bstr8 fields: - name: op_type type: uint8 width: 4 - name: qu type: uint8 width: 1 - name: cr type: uint8 width: 1 - name: tcc type: uint8 width: 2 - name: count type: uint8 - name: ontime type: uint32 - name: offtime type: uint32 - type: bstr8 fields: - name: status_code type: uint8 width: 7 - name: reserved type: uint32 width: 1 - group: 12 variation: 3 packed: true fields: - type: uint8 name: point width: 1 - group: 13 variation: 1 fields: - type: bstr8 fields: - type: uint8 width: 7 name: status_code - type: uint8 width: 1 name: commanded_state - group: 13 variation: 2 fields: - type: bstr8 fields: - type: uint8 width: 7 name: status_code - type: uint8 width: 1 name: commanded_state - type: dnp3time name: timestamp - group: 20 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint32 name: count - group: 20 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint16 name: count - group: 20 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - group: 20 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - group: 20 variation: 5 fields: - type: uint32 name: count - group: 20 variation: 6 fields: - type: uint16 name: count - group: 20 variation: 7 fields: - type: uint32 name: count - group: 20 variation: 8 fields: - type: uint16 name: count - group: 21 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint32 name: count - group: 21 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint16 name: count - group: 21 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - group: 21 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - group: 21 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved1 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 21 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved1 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 21 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 21 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 21 variation: 9 fields: - type: uint32 name: count - group: 21 variation: 10 fields: - type: uint16 name: count - group: 21 variation: 11 fields: - type: uint32 name: count - group: 21 variation: 12 fields: - type: uint16 name: count - group: 22 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint32 name: count - group: 22 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint16 name: count - group: 22 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - group: 22 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - group: 22 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 22 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 22 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 22 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 23 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint32 name: count - group: 23 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - group: 23 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - group: 23 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - group: 23 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 23 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: discontinuity width: 1 - name: reserved0 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 23 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint32 name: count - type: dnp3time name: timestamp - group: 23 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: rollover width: 1 - name: reserved0 width: 1 - name: reserved1 width: 1 - type: uint16 name: count - type: dnp3time name: timestamp - group: 30 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 30 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 30 variation: 3 fields: - type: int32 name: value - group: 30 variation: 4 fields: - type: int16 name: value - group: 30 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 30 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 31 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 31 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 31 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - type: dnp3time name: timestamp - group: 31 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - type: dnp3time name: timestamp - group: 31 variation: 5 fields: - type: int32 name: value - group: 31 variation: 6 fields: - type: int16 name: value - group: 31 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 31 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 32 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 32 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 32 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - type: dnp3time name: timestamp - group: 32 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - type: dnp3time name: timestamp - group: 32 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 32 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 32 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - type: dnp3time name: timestamp - group: 32 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 # XXX Spec says FLT32, pretty sure its FLT64 and OpenDNP uses a 64 bit # float as well. - type: flt64 name: value - type: dnp3time name: timestamp - group: 33 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 33 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 33 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - type: dnp3time name: timestamp - group: 33 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - type: dnp3time name: timestamp - group: 33 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 33 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 33 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - type: dnp3time name: timestamp - group: 33 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 # XXX Spec says FLT32, I think its FLT64. - type: flt64 name: value - type: dnp3time name: timestamp - group: 34 variation: 1 fields: - type: uint16 name: deadband_value - group: 34 variation: 2 fields: - type: uint32 name: deadband_value - group: 34 variation: 3 fields: - type: flt32 name: deadband_value - group: 40 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 40 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 40 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 40 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 41 variation: 1 fields: - type: int32 name: value - type: uint8 name: control_status - group: 41 variation: 2 fields: - type: int16 name: value - type: uint8 name: control_status - group: 41 variation: 3 fields: - type: flt32 name: value - type: uint8 name: control_status - group: 41 variation: 4 fields: - type: flt64 name: value - type: uint8 name: control_status - group: 42 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - group: 42 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - group: 42 variation: 3 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int32 name: value - type: dnp3time name: timestamp - group: 42 variation: 4 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: int16 name: value - type: dnp3time name: timestamp - group: 42 variation: 5 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - group: 42 variation: 6 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - group: 42 variation: 7 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt32 name: value - type: dnp3time name: timestamp - group: 42 variation: 8 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: over_range width: 1 - name: reference_err width: 1 - name: reserved0 width: 1 - type: flt64 name: value - type: dnp3time name: timestamp - group: 43 variation: 1 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: int32 name: commanded_value - group: 43 variation: 2 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: int16 name: commanded_value - group: 43 variation: 3 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: int32 name: commanded_value - type: dnp3time name: timestamp - group: 43 variation: 4 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: int16 name: commanded_value - type: dnp3time name: timestamp - group: 43 variation: 5 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: flt32 name: commanded_value - group: 43 variation: 6 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: flt64 name: commanded_value - group: 43 variation: 7 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: flt32 name: commanded_value - type: dnp3time name: timestamp - group: 43 variation: 8 fields: - type: bstr8 fields: - type: uint8 name: status_code width: 7 - type: uint8 name: reserved0 width: 1 - type: flt64 name: commanded_value - type: dnp3time name: timestamp - group: 50 variation: 1 fields: - type: dnp3time name: timestamp - group: 50 variation: 2 fields: - type: dnp3time name: timestamp - type: uint32 name: interval - group: 50 variation: 3 fields: - type: dnp3time name: timestamp - group: 50 variation: 4 fields: - type: dnp3time name: timestamp - type: uint32 name: interval_count - type: uint8 name: interval_units - group: 51 variation: 1 fields: - type: dnp3time name: timestamp - group: 51 variation: 2 fields: - type: dnp3time name: timestamp - group: 52 variation: 1 fields: - type: uint16 name: delay_secs - group: 52 variation: 2 fields: - type: uint16 name: delay_ms # 1815-2012: New DNP3 implementation should avoid using this object. - group: 70 variation: 1 fields: - type: uint16 name: filename_size - type: uint8 name: filetype_code - type: uint8 name: attribute_code - type: uint16 name: start_record - type: uint16 name: end_record - type: uint32 name: file_size - type: dnp3time name: created_timestamp # XXX Actually bit flags. - type: uint16 name: permission - type: uint32 name: file_id - type: uint32 name: owner_id - type: uint32 name: group_id - type: uint8 name: file_function_code - type: uint8 name: status_code - type: chararray name: filename size: 65535 len_field: filename_size - type: uint16 name: data_size - type: chararray name: data size: 65535 len_field: data_size - group: 70 variation: 2 fields: - type: uint16 name: username_offset - type: uint16 name: username_size - type: uint16 name: password_offset - type: uint16 name: password_size - type: uint32 name: authentication_key - type: chararray name: username size: 65535 len_field: username_size - type: chararray name: password size: 65535 len_field: password_size - group: 70 variation: 3 fields: - type: uint16 name: filename_offset - type: uint16 name: filename_size - type: dnp3time name: created # XXX Break out to bit flags. - type: uint16 name: permissions - type: uint32 name: authentication_key - type: uint32 name: file_size - type: uint16 name: operational_mode - type: uint16 name: maximum_block_size - type: uint16 name: request_id - type: chararray name: filename size: 65535 len_field: filename_size # Checked. - group: 70 variation: 4 constraints: require_size_prefix: true extra_fields: - type: uint8 name: optional_text_len fields: - type: uint32 name: file_handle - type: uint32 name: file_size - type: uint16 name: maximum_block_size - type: uint16 name: request_id - type: uint8 name: status_code - type: chararray name: optional_text size: 0xff len_from_prefix: true len_field: optional_text_len # Checked. - group: 70 variation: 5 constraints: require_size_prefix: true extra_fields: - type: uint8 name: file_data_len fields: - type: uint32 name: file_handle - type: uint32 name: block_number # Includes "last" flag. - type: chararray name: file_data size: 0xff len_from_prefix: true len_field: file_data_len # Checked. - group: 70 variation: 6 constraints: require_size_prefix: true extra_fields: - type: uint8 name: optional_text_len fields: - type: uint32 name: file_handle - type: uint32 name: block_number # Includes "last" flag. - type: uint8 name: status_code - type: chararray name: optional_text size: 0xff len_from_prefix: true len_field: optional_text_len # Checked. - group: 70 variation: 7 fields: - type: uint16 name: filename_offset - type: uint16 name: filename_size - type: uint16 name: file_type - type: uint32 name: file_size - type: dnp3time name: created_timestamp - type: uint16 name: permissions - type: uint16 name: request_id - type: chararray name: filename size: 0xffff len_field: filename_size # Checked. - group: 70 variation: 8 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: file_specification_len fields: - type: chararray name: file_specification size: 0xffff len_from_prefix: true len_field: file_specification_len # Checked. - group: 80 variation: 1 packed: true fields: - type: uint8 name: state width: 1 # Checked. - group: 81 variation: 1 fields: - type: bstr8 fields: - type: uint8 width: 7 name: fill_percentage - type: uint8 width: 1 name: overflow_state - type: uint8 name: group - type: uint8 name: variation - group: 82 variation: 1 unimplemented: object header types not yet supported - group: 83 variation: 1 fields: - type: vstr4 name: vendor_code - type: uint16 name: object_id - type: uint16 name: length - type: bytearray name: data_objects len_field: length - group: 83 variation: 2 unimplemented: set objects not yet supported - group: 85 variation: 1 unimplemented: set objects not yet supported - group: 86 variation: 1 unimplemented: set objects not yet supported # Checked. - group: 86 variation: 2 fields: - type: bstr8 fields: - name: rd width: 1 - name: wr width: 1 - name: st width: 1 - name: ev width: 1 - name: df width: 1 - name: padding0 width: 1 - name: padding1 width: 1 - name: padding2 width: 1 - group: 86 variation: 3 unimplemented: set objects not yet supported - group: 87 variation: 1 unimplemented: set objects not yet supported - group: 88 variation: 1 unimplemented: set objects not yet supported - group: 90 variation: 1 unimplemented: set objects not yet supported - group: 91 variation: 1 unimplemented: set objects not yet supported - group: 100 variation: "*" unimplemented: obsolete object type - group: 101 variation: 1 unimplemented: bcd types not yet supported - group: 101 variation: 2 unimplemented: bcd types not yet supported - group: 101 variation: 3 unimplemented: bcd types not yet supported # Checked. - group: 102 variation: 1 fields: - type: uint8 name: value - group: 110 variation: "*" unimplemented: variation all not yet supported - group: 111 variation: "*" unimplemented: variation all not yet supported - group: 112 variation: "*" unimplemented: variation all not yet supported - group: 113 variation: "*" unimplemented: variation all not yet supported # Checked. - group: 120 variation: 1 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: challenge_data_len fields: - type: uint32 name: csq - type: uint16 name: usr - type: uint8 name: mal - type: uint8 name: reason - type: bytearray name: challenge_data len_from_prefix: true len_field: challenge_data_len - group: 120 variation: 2 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: mac_value_len fields: - type: uint32 name: csq - type: uint16 name: usr - type: bytearray name: mac_value len_from_prefix: true len_field: mac_value_len # Checked. - group: 120 variation: 3 fields: - type: uint32 name: csq - type: uint16 name: user_number # Checked. - group: 120 variation: 4 fields: - type: uint16 name: user_number # Checked. - group: 120 variation: 5 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: mac_value_len fields: - type: uint32 name: ksq - type: uint16 name: user_number - type: uint8 name: key_wrap_alg - type: uint8 name: key_status - type: uint8 name: mal - type: uint16 name: challenge_data_len - type: bytearray name: challenge_data len_field: challenge_data_len - type: bytearray name: mac_value len_from_prefix: true len_field: mac_value_len # Checked. - group: 120 variation: 6 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: wrapped_key_data_len fields: - type: uint24 name: ksq - type: uint16 name: usr - type: bytearray name: wrapped_key_data len_from_prefix: true len_field: wrapped_key_data_len # Checked. - group: 120 variation: 7 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: error_text_len fields: - type: uint32 name: sequence_number - type: uint16 name: usr - type: uint16 name: association_id - type: uint8 name: error_code - type: dnp3time name: time_of_error - type: chararray name: error_text size: 65535 len_from_prefix: true len_field: error_text_len # Checked. - group: 120 variation: 8 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: certificate_len fields: - type: uint8 name: key_change_method - type: uint8 name: certificate_type - type: bytearray name: certificate len_from_prefix: true len_field: certificate_len # Checked. - group: 120 variation: 9 extra_fields: - type: uint16 name: mac_value_len fields: - type: bytearray name: mac_value len_from_prefix: true len_field: mac_value_len # Checked. - group: 120 variation: 10 constraints: require_prefix_code: 0x5 fields: - type: uint8 name: key_change_method - type: uint8 name: operation - type: uint32 name: scs - type: uint16 name: user_role - type: uint16 name: user_role_expiry_interval - type: uint16 name: username_len - type: uint16 name: user_public_key_len - type: uint16 name: certification_data_len - type: chararray name: username size: 65535 len_field: username_len - type: bytearray name: user_public_key len_field: user_public_key_len - type: bytearray name: certification_data len_field: certification_data_len # Checked. - group: 120 variation: 11 constraints: require_prefix_code: 0x5 fields: - type: uint8 name: key_change_method - type: uint16 name: username_len - type: uint16 name: master_challenge_data_len - type: chararray size: 65535 name: username len_field: username_len - type: bytearray name: master_challenge_data len_field: master_challenge_data_len # Checked. - group: 120 variation: 12 constraints: require_prefix_code: 0x5 fields: - type: uint32 name: ksq - type: uint16 name: user_number - type: uint16 name: challenge_data_len - type: bytearray name: challenge_data len_field: challenge_data_len # Checked. - group: 120 variation: 13 constraints: require_prefix_code: 0x5 fields: - type: uint32 name: ksq - type: uint16 name: user_number - type: uint16 name: encrypted_update_key_len - type: bytearray name: encrypted_update_key_data len_field: encrypted_update_key_len # Checked. - group: 120 variation: 14 constraints: require_prefix_code: 0x5 extra_fields: - type: uint16 name: digital_signature_len fields: - type: bytearray name: digital_signature len_from_prefix: true len_field: digital_signature_len # Checked. - group: 120 variation: 15 constraints: require_prefix_code: 0x5 extra_fields: - type: uint32 name: mac_len fields: - type: bytearray name: mac len_field: mac_len len_from_prefix: true # Checked. - group: 121 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: discontinuity width: 1 - name: reserved1 width: 1 - type: uint16 name: association_id - type: uint32 name: count_value # Checked. - group: 122 variation: 1 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: discontinuity width: 1 - name: reserved1 width: 1 - type: uint16 name: association_id - type: uint32 name: count_value # Checked. - group: 122 variation: 2 fields: - type: bstr8 fields: - name: online width: 1 - name: restart width: 1 - name: comm_lost width: 1 - name: remote_forced width: 1 - name: local_forced width: 1 - name: reserved0 width: 1 - name: discontinuity width: 1 - name: reserved1 width: 1 - type: uint16 name: association_id - type: uint32 name: count_value - type: dnp3time name: timestamp