libiec61850  1.6.0
Macros | Functions
Helper functions to create common data classes (CDC) using the dynamic model API

Helper functions to create compliant common data classes (CDC) using the dynamic model API. More...

Macros

#define CDC_OPTION_PICS_SUBST   (1 << 0)
 optional parts of CDCs More...
 
#define CDC_OPTION_BLK_ENA   (1 << 1)
 
#define CDC_OPTION_DESC   (1 << 2)
 
#define CDC_OPTION_DESC_UNICODE   (1 << 3)
 
#define CDC_OPTION_AC_DLNDA   (1 << 4)
 
#define CDC_OPTION_AC_DLN   (1 << 5)
 
#define CDC_OPTION_UNIT   (1 << 6)
 
#define CDC_OPTION_FROZEN_VALUE   (1 << 7)
 
#define CDC_OPTION_ADDR   (1 << 8)
 
#define CDC_OPTION_ADDINFO   (1 << 9)
 
#define CDC_OPTION_INST_MAG   (1 << 10)
 
#define CDC_OPTION_RANGE   (1 << 11)
 
#define CDC_OPTION_UNIT_MULTIPLIER   (1 << 12)
 
#define CDC_OPTION_AC_SCAV   (1 << 13)
 
#define CDC_OPTION_MIN   (1 << 14)
 
#define CDC_OPTION_MAX   (1 << 15)
 
#define CDC_OPTION_AC_CLC_O   (1 << 16)
 
#define CDC_OPTION_RANGE_ANG   (1 << 17)
 
#define CDC_OPTION_PHASE_A   (1 << 18)
 
#define CDC_OPTION_PHASE_B   (1 << 19)
 
#define CDC_OPTION_PHASE_C   (1 << 20)
 
#define CDC_OPTION_PHASE_NEUT   (1 << 21)
 
#define CDC_OPTION_PHASES_ABC   (CDC_OPTION_PHASE_A | CDC_OPTION_PHASE_B | CDC_OPTION_PHASE_C)
 
#define CDC_OPTION_PHASES_ALL   (CDC_OPTION_PHASE_A | CDC_OPTION_PHASE_B | CDC_OPTION_PHASE_C | CDC_OPTION_PHASE_NEUT)
 
#define CDC_OPTION_STEP_SIZE   (1 << 22)
 
#define CDC_OPTION_ANGLE_REF   (1 << 23)
 
#define CDC_OPTION_DPL_HWREV   (1 << 17)
 
#define CDC_OPTION_DPL_SWREV   (1 << 18)
 
#define CDC_OPTION_DPL_SERNUM   (1 << 19)
 
#define CDC_OPTION_DPL_MODEL   (1 << 20)
 
#define CDC_OPTION_DPL_LOCATION   (1 << 21)
 
#define CDC_OPTION_AC_LN0_M   (1 << 24)
 
#define CDC_OPTION_AC_LN0_EX   (1 << 25)
 
#define CDC_OPTION_AC_DLD_M   (1 << 26)
 
#define CDC_CTL_MODEL_NONE   0
 Control model types. More...
 
#define CDC_CTL_MODEL_DIRECT_NORMAL   1
 
#define CDC_CTL_MODEL_SBO_NORMAL   2
 
#define CDC_CTL_MODEL_DIRECT_ENHANCED   3
 
#define CDC_CTL_MODEL_SBO_ENHANCED   4
 
#define CDC_CTL_MODEL_HAS_CANCEL   (1 << 4)
 
#define CDC_CTL_MODEL_IS_TIME_ACTIVATED   (1 << 5)
 
#define CDC_CTL_OPTION_ORIGIN   (1 << 6)
 
#define CDC_CTL_OPTION_CTL_NUM   (1 << 7)
 
#define CDC_CTL_OPTION_ST_SELD   (1 << 8)
 
#define CDC_CTL_OPTION_OP_RCVD   (1 << 9)
 
#define CDC_CTL_OPTION_OP_OK   (1 << 10)
 
#define CDC_CTL_OPTION_T_OP_OK   (1 << 11)
 
#define CDC_CTL_OPTION_SBO_TIMEOUT   (1 << 12)
 
#define CDC_CTL_OPTION_SBO_CLASS   (1 << 13)
 
#define CDC_CTL_OPTION_OPER_TIMEOUT   (1 << 14)
 
#define CDC_OPTION_61400_MIN_MX_VAL   (1 << 10)
 
#define CDC_OPTION_61400_MAX_MX_VAL   (1 << 11)
 
#define CDC_OPTION_61400_TOT_AV_VAL   (1 << 12)
 
#define CDC_OPTION_61400_SDV_VAL   (1 << 13)
 
#define CDC_OPTION_61400_INC_RATE   (1 << 14)
 
#define CDC_OPTION_61400_DEC_RATE   (1 << 15)
 
#define CDC_OPTION_61400_SP_ACS   (1 << 16)
 
#define CDC_OPTION_61400_CHA_PER_RS   (1 << 17)
 
#define CDC_OPTION_61400_CM_ACS   (1 << 18)
 
#define CDC_OPTION_61400_TM_TOT   (1 << 19)
 
#define CDC_OPTION_61400_COUNTING_DAILY   (1 << 20)
 
#define CDC_OPTION_61400_COUNTING_MONTHLY   (1 << 21)
 
#define CDC_OPTION_61400_COUNTING_YEARLY   (1 << 22)
 
#define CDC_OPTION_61400_COUNTING_TOTAL   (1 << 23)
 
#define CDC_OPTION_61400_COUNTING_ALL   (CDC_OPTION_61400_COUNTING_DAILY | CDC_OPTION_61400_COUNTING_MONTHLY | CDC_OPTION_61400_COUNTING_YEARLY | CDC_OPTION_61400_COUNTING_TOTAL)
 

Functions

LIB61850_API DataAttribute * CAC_AnalogueValue_create (const char *name, ModelNode *parent, FunctionalConstraint fc, uint8_t triggerOptions, bool isIntegerNotFloat)
 
LIB61850_API DataAttribute * CAC_ValWithTrans_create (const char *name, ModelNode *parent, FunctionalConstraint fc, uint8_t triggerOptions, bool hasTransientIndicator)
 create a ValWithTrans constructed data attribute More...
 
LIB61850_API DataAttribute * CAC_Vector_create (const char *name, ModelNode *parent, uint32_t options, FunctionalConstraint fc, uint8_t triggerOptions)
 
LIB61850_API DataAttribute * CAC_Point_create (const char *name, ModelNode *parent, FunctionalConstraint fc, uint8_t triggerOptions, bool hasZVal)
 
LIB61850_API DataAttribute * CAC_ScaledValueConfig_create (const char *name, ModelNode *parent)
 
LIB61850_API DataAttribute * CAC_Unit_create (const char *name, ModelNode *parent, bool hasMagnitude)
 
LIB61850_API DataAttribute * CDA_OperBoolean (ModelNode *parent, bool isTImeActivated)
 
LIB61850_API DataObject * CDC_SPS_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_DPS_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_INS_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_ENS_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_BCR_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_VSS_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_SEC_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 create a new SEC (Security violation) CDC instance (data object) More...
 
LIB61850_API DataObject * CDC_MV_create (const char *dataObjectName, ModelNode *parent, uint32_t options, bool isIntegerNotFloat)
 create a new MV (Measured value) CDC instance (data object) More...
 
LIB61850_API DataObject * CDC_CMV_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 
LIB61850_API DataObject * CDC_SAV_create (const char *dataObjectName, ModelNode *parent, uint32_t options, bool isIntegerNotFloat)
 create a new SAV (Sampled analog value) CDC instance (data object) More...
 
LIB61850_API DataObject * CDC_LPL_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 create a new LPL (Logical node name plate) CDC instance (data object) More...
 
LIB61850_API DataObject * CDC_DPL_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 create a new DPL (Device name plate) CDC instance (data object) More...
 
LIB61850_API DataObject * CDC_HST_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint16_t maxPts)
 
LIB61850_API DataObject * CDC_ACD_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Directional protection activation information (ACD) More...
 
LIB61850_API DataObject * CDC_ACT_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Protection activation information (ACT) More...
 
LIB61850_API DataObject * CDC_SPG_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Single point setting (SPG) More...
 
LIB61850_API DataObject * CDC_VSG_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Visible string setting (VSG) More...
 
LIB61850_API DataObject * CDC_ENG_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Enumerated status setting (ENG) More...
 
LIB61850_API DataObject * CDC_ING_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Integer status setting (ING) More...
 
LIB61850_API DataObject * CDC_ASG_create (const char *dataObjectName, ModelNode *parent, uint32_t options, bool isIntegerNotFloat)
 Analogue Setting (ASG) More...
 
LIB61850_API DataObject * CDC_WYE_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Phase to ground/neutral related measured values of a three-phase system (WYE) More...
 
LIB61850_API DataObject * CDC_DEL_create (const char *dataObjectName, ModelNode *parent, uint32_t options)
 Phase to phase related measured values of a three-phase system (DEL) More...
 
LIB61850_API DataObject * CDC_SPC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions)
 Controllable single point (SPC) More...
 
LIB61850_API DataObject * CDC_DPC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions)
 Controllable double point (DPC) More...
 
LIB61850_API DataObject * CDC_INC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions)
 Controllable integer status (INC) More...
 
LIB61850_API DataObject * CDC_ENC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions)
 Controllable enumerated status (ENC) More...
 
LIB61850_API DataObject * CDC_BSC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, bool hasTransientIndicator)
 Controllable enumerated status (ENC) More...
 
LIB61850_API DataObject * CDC_ISC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, bool hasTransientIndicator)
 Integer controlled step position information (ISC) More...
 
LIB61850_API DataObject * CDC_APC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, bool isIntegerNotFloat)
 Controllable analogue process value (APC) More...
 
LIB61850_API DataObject * CDC_BAC_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, bool isIntegerNotFloat)
 Binary controlled ananlogue process value (BAC) More...
 
LIB61850_API DataObject * CDC_SPV_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasChaManRs)
 
LIB61850_API DataObject * CDC_STV_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasOldStatus)
 
LIB61850_API DataObject * CDC_CMD_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasOldStatus, bool hasCmTm, bool hasCmCt)
 
LIB61850_API DataObject * CDC_ALM_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasOldStatus)
 
LIB61850_API DataObject * CDC_CTE_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasHisRs)
 
LIB61850_API DataObject * CDC_TMS_create (const char *dataObjectName, ModelNode *parent, uint32_t options, uint32_t controlOptions, uint32_t wpOptions, bool hasHisRs)
 

Detailed Description

Helper functions to create compliant common data classes (CDC) using the dynamic model API.

Currently supports CDCs from IEC 61850-7-3:2010 (Edition 2)

Macro Definition Documentation

◆ CDC_CTL_MODEL_DIRECT_ENHANCED

#define CDC_CTL_MODEL_DIRECT_ENHANCED   3

◆ CDC_CTL_MODEL_DIRECT_NORMAL

#define CDC_CTL_MODEL_DIRECT_NORMAL   1

◆ CDC_CTL_MODEL_HAS_CANCEL

#define CDC_CTL_MODEL_HAS_CANCEL   (1 << 4)

◆ CDC_CTL_MODEL_IS_TIME_ACTIVATED

#define CDC_CTL_MODEL_IS_TIME_ACTIVATED   (1 << 5)

◆ CDC_CTL_MODEL_NONE

#define CDC_CTL_MODEL_NONE   0

Control model types.

◆ CDC_CTL_MODEL_SBO_ENHANCED

#define CDC_CTL_MODEL_SBO_ENHANCED   4

◆ CDC_CTL_MODEL_SBO_NORMAL

#define CDC_CTL_MODEL_SBO_NORMAL   2

◆ CDC_CTL_OPTION_CTL_NUM

#define CDC_CTL_OPTION_CTL_NUM   (1 << 7)

◆ CDC_CTL_OPTION_OP_OK

#define CDC_CTL_OPTION_OP_OK   (1 << 10)

◆ CDC_CTL_OPTION_OP_RCVD

#define CDC_CTL_OPTION_OP_RCVD   (1 << 9)

◆ CDC_CTL_OPTION_OPER_TIMEOUT

#define CDC_CTL_OPTION_OPER_TIMEOUT   (1 << 14)

◆ CDC_CTL_OPTION_ORIGIN

#define CDC_CTL_OPTION_ORIGIN   (1 << 6)

◆ CDC_CTL_OPTION_SBO_CLASS

#define CDC_CTL_OPTION_SBO_CLASS   (1 << 13)

◆ CDC_CTL_OPTION_SBO_TIMEOUT

#define CDC_CTL_OPTION_SBO_TIMEOUT   (1 << 12)

◆ CDC_CTL_OPTION_ST_SELD

#define CDC_CTL_OPTION_ST_SELD   (1 << 8)

◆ CDC_CTL_OPTION_T_OP_OK

#define CDC_CTL_OPTION_T_OP_OK   (1 << 11)

◆ CDC_OPTION_61400_CHA_PER_RS

#define CDC_OPTION_61400_CHA_PER_RS   (1 << 17)

Time periodical reset (hourly/daily/weekly/monthly)

◆ CDC_OPTION_61400_CM_ACS

#define CDC_OPTION_61400_CM_ACS   (1 << 18)

Command access level

◆ CDC_OPTION_61400_COUNTING_ALL

All counting data

◆ CDC_OPTION_61400_COUNTING_DAILY

#define CDC_OPTION_61400_COUNTING_DAILY   (1 << 20)

Daily counting data

◆ CDC_OPTION_61400_COUNTING_MONTHLY

#define CDC_OPTION_61400_COUNTING_MONTHLY   (1 << 21)

Monthly counting data

◆ CDC_OPTION_61400_COUNTING_TOTAL

#define CDC_OPTION_61400_COUNTING_TOTAL   (1 << 23)

Total counting data

◆ CDC_OPTION_61400_COUNTING_YEARLY

#define CDC_OPTION_61400_COUNTING_YEARLY   (1 << 22)

Yearly counting data

◆ CDC_OPTION_61400_DEC_RATE

#define CDC_OPTION_61400_DEC_RATE   (1 << 15)

Rate of decrease

◆ CDC_OPTION_61400_INC_RATE

#define CDC_OPTION_61400_INC_RATE   (1 << 14)

Rate of increase

◆ CDC_OPTION_61400_MAX_MX_VAL

#define CDC_OPTION_61400_MAX_MX_VAL   (1 << 11)

Maximum measured value

◆ CDC_OPTION_61400_MIN_MX_VAL

#define CDC_OPTION_61400_MIN_MX_VAL   (1 << 10)

Minimum measured value

◆ CDC_OPTION_61400_SDV_VAL

#define CDC_OPTION_61400_SDV_VAL   (1 << 13)

Standard deviation of data

◆ CDC_OPTION_61400_SP_ACS

#define CDC_OPTION_61400_SP_ACS   (1 << 16)

Setpoint or parameter access level (low/medium/high)

◆ CDC_OPTION_61400_TM_TOT

#define CDC_OPTION_61400_TM_TOT   (1 << 19)

Total time duration of a state

◆ CDC_OPTION_61400_TOT_AV_VAL

#define CDC_OPTION_61400_TOT_AV_VAL   (1 << 12)

Total average value of data

◆ CDC_OPTION_AC_CLC_O

#define CDC_OPTION_AC_CLC_O   (1 << 16)

◆ CDC_OPTION_AC_DLD_M

#define CDC_OPTION_AC_DLD_M   (1 << 26)

◆ CDC_OPTION_AC_DLN

#define CDC_OPTION_AC_DLN   (1 << 5)

Add dataNs (data namespace) required for extended CDCs

◆ CDC_OPTION_AC_DLNDA

#define CDC_OPTION_AC_DLNDA   (1 << 4)

Add cdcNs and cdcName required when a CDC is an extension to the standard

◆ CDC_OPTION_AC_LN0_EX

#define CDC_OPTION_AC_LN0_EX   (1 << 25)

◆ CDC_OPTION_AC_LN0_M

#define CDC_OPTION_AC_LN0_M   (1 << 24)

Add mandatory data attributes for LLN0 (e.g. LBL configRef)

◆ CDC_OPTION_AC_SCAV

#define CDC_OPTION_AC_SCAV   (1 << 13)

◆ CDC_OPTION_ADDINFO

#define CDC_OPTION_ADDINFO   (1 << 9)

◆ CDC_OPTION_ADDR

#define CDC_OPTION_ADDR   (1 << 8)

◆ CDC_OPTION_ANGLE_REF

#define CDC_OPTION_ANGLE_REF   (1 << 23)

◆ CDC_OPTION_BLK_ENA

#define CDC_OPTION_BLK_ENA   (1 << 1)

◆ CDC_OPTION_DESC

#define CDC_OPTION_DESC   (1 << 2)

Add d (description) data attribute

◆ CDC_OPTION_DESC_UNICODE

#define CDC_OPTION_DESC_UNICODE   (1 << 3)

Add dU (unicode description) data attribute

◆ CDC_OPTION_DPL_HWREV

#define CDC_OPTION_DPL_HWREV   (1 << 17)

Options that are only valid for DPL CDC

◆ CDC_OPTION_DPL_LOCATION

#define CDC_OPTION_DPL_LOCATION   (1 << 21)

◆ CDC_OPTION_DPL_MODEL

#define CDC_OPTION_DPL_MODEL   (1 << 20)

◆ CDC_OPTION_DPL_SERNUM

#define CDC_OPTION_DPL_SERNUM   (1 << 19)

◆ CDC_OPTION_DPL_SWREV

#define CDC_OPTION_DPL_SWREV   (1 << 18)

◆ CDC_OPTION_FROZEN_VALUE

#define CDC_OPTION_FROZEN_VALUE   (1 << 7)

◆ CDC_OPTION_INST_MAG

#define CDC_OPTION_INST_MAG   (1 << 10)

◆ CDC_OPTION_MAX

#define CDC_OPTION_MAX   (1 << 15)

◆ CDC_OPTION_MIN

#define CDC_OPTION_MIN   (1 << 14)

◆ CDC_OPTION_PHASE_A

#define CDC_OPTION_PHASE_A   (1 << 18)

◆ CDC_OPTION_PHASE_B

#define CDC_OPTION_PHASE_B   (1 << 19)

◆ CDC_OPTION_PHASE_C

#define CDC_OPTION_PHASE_C   (1 << 20)

◆ CDC_OPTION_PHASE_NEUT

#define CDC_OPTION_PHASE_NEUT   (1 << 21)

◆ CDC_OPTION_PHASES_ABC

#define CDC_OPTION_PHASES_ABC   (CDC_OPTION_PHASE_A | CDC_OPTION_PHASE_B | CDC_OPTION_PHASE_C)

◆ CDC_OPTION_PHASES_ALL

◆ CDC_OPTION_PICS_SUBST

#define CDC_OPTION_PICS_SUBST   (1 << 0)

optional parts of CDCs

◆ CDC_OPTION_RANGE

#define CDC_OPTION_RANGE   (1 << 11)

◆ CDC_OPTION_RANGE_ANG

#define CDC_OPTION_RANGE_ANG   (1 << 17)

◆ CDC_OPTION_STEP_SIZE

#define CDC_OPTION_STEP_SIZE   (1 << 22)

◆ CDC_OPTION_UNIT

#define CDC_OPTION_UNIT   (1 << 6)

Add the unit data attribute

◆ CDC_OPTION_UNIT_MULTIPLIER

#define CDC_OPTION_UNIT_MULTIPLIER   (1 << 12)

Function Documentation

◆ CAC_AnalogueValue_create()

LIB61850_API DataAttribute* CAC_AnalogueValue_create ( const char *  name,
ModelNode *  parent,
FunctionalConstraint  fc,
uint8_t  triggerOptions,
bool  isIntegerNotFloat 
)

◆ CAC_Point_create()

LIB61850_API DataAttribute* CAC_Point_create ( const char *  name,
ModelNode *  parent,
FunctionalConstraint  fc,
uint8_t  triggerOptions,
bool  hasZVal 
)

◆ CAC_ScaledValueConfig_create()

LIB61850_API DataAttribute* CAC_ScaledValueConfig_create ( const char *  name,
ModelNode *  parent 
)

◆ CAC_Unit_create()

LIB61850_API DataAttribute* CAC_Unit_create ( const char *  name,
ModelNode *  parent,
bool  hasMagnitude 
)

◆ CAC_ValWithTrans_create()

LIB61850_API DataAttribute* CAC_ValWithTrans_create ( const char *  name,
ModelNode *  parent,
FunctionalConstraint  fc,
uint8_t  triggerOptions,
bool  hasTransientIndicator 
)

create a ValWithTrans constructed data attribute

Parameters
hasTransInd

◆ CAC_Vector_create()

LIB61850_API DataAttribute* CAC_Vector_create ( const char *  name,
ModelNode *  parent,
uint32_t  options,
FunctionalConstraint  fc,
uint8_t  triggerOptions 
)

CDC_OPTION_AC_CLC_O

◆ CDA_OperBoolean()

LIB61850_API DataAttribute* CDA_OperBoolean ( ModelNode *  parent,
bool  isTImeActivated 
)

◆ CDC_ACD_create()

LIB61850_API DataObject* CDC_ACD_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Directional protection activation information (ACD)

Allowed parent types are LogicalNode and DataObject.

possible options: CDC_OPTION_PHASE_A CDC_OPTION_PHASE_B CDC_OPTION_PHASE_C CDC_OPTION_PHASE_NEUT CDC_OPTION_PHASES_ABC CDC_OPTION_PHASES_ALL standard (include standard optional elements like extension namespaces and descriptions (d, dU).

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements

◆ CDC_ACT_create()

LIB61850_API DataObject* CDC_ACT_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Protection activation information (ACT)

◆ CDC_ALM_create()

LIB61850_API DataObject* CDC_ALM_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasOldStatus 
)

◆ CDC_APC_create()

LIB61850_API DataObject* CDC_APC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
bool  isIntegerNotFloat 
)

Controllable analogue process value (APC)

CDC_OPTION_IS_TIME_ACTICATED

CDC_OPTION_MIN CDC_OPTION_MAX

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
controlOptionsspecify which control model to set as default and other control specific options
isIntegerNotFloat

◆ CDC_ASG_create()

LIB61850_API DataObject* CDC_ASG_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
bool  isIntegerNotFloat 
)

Analogue Setting (ASG)

possible options: CDC_OPTION_UNIT CDC_OPTION_MIN CDC_OPTION_MAX CDC_OPTION_STEP_SIZE standard (include standard optional elements like extension namespaces and descriptions (d, dU).

◆ CDC_BAC_create()

LIB61850_API DataObject* CDC_BAC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
bool  isIntegerNotFloat 
)

Binary controlled ananlogue process value (BAC)

CDC_OPTION_IS_TIME_ACTICATED

CDC_OPTION_MIN CDC_OPTION_MAX CDC_OPTION_STEP_SIZE

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
controlOptionsspecify which control model to set as default and other control specific options
isIntegerNotFloat

◆ CDC_BCR_create()

LIB61850_API DataObject* CDC_BCR_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_BSC_create()

LIB61850_API DataObject* CDC_BSC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
bool  hasTransientIndicator 
)

Controllable enumerated status (ENC)

CDC_OPTION_IS_TIME_ACTICATED

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
controlOptionsspecify which control model to set as default and other control specific options
hasTransientIndicatorspecifies if the step position information contains the transient indicator

◆ CDC_CMD_create()

LIB61850_API DataObject* CDC_CMD_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasOldStatus,
bool  hasCmTm,
bool  hasCmCt 
)

◆ CDC_CMV_create()

LIB61850_API DataObject* CDC_CMV_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

CDC_OPTION_INST_MAG CDC_OPTION_RANGE

◆ CDC_CTE_create()

LIB61850_API DataObject* CDC_CTE_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasHisRs 
)

◆ CDC_DEL_create()

LIB61850_API DataObject* CDC_DEL_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Phase to phase related measured values of a three-phase system (DEL)

possible options: CDC_OPTION_ANGLE_REF

◆ CDC_DPC_create()

LIB61850_API DataObject* CDC_DPC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions 
)

Controllable double point (DPC)

CDC_OPTION_IS_TIME_ACTICATED

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
defaultControlModelspecify which control model to set as default.

◆ CDC_DPL_create()

LIB61850_API DataObject* CDC_DPL_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

create a new DPL (Device name plate) CDC instance (data object)

Allowed parent type is LogicalNode

possible options: CDC_OPTION_DPL_HWREV (includes "hwRev") CDC_OPTION_DPL_SWREV (includes "swRev") CDC_OPTION_DPL_SERNUM (includes "serNum") CDC_OPTION_DPL_MODEL (includes "model") CDC_OPTION_DPL_LOCATION (includes "location") standard options: CDC_OPTION_AC_DLNDA (include "cdcNs" and "cdcName") CDC_OPTION_AC_DLN (includes "dataNs")

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
Returns
new DataObject instance

◆ CDC_DPS_create()

LIB61850_API DataObject* CDC_DPS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_ENC_create()

LIB61850_API DataObject* CDC_ENC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions 
)

Controllable enumerated status (ENC)

CDC_OPTION_IS_TIME_ACTICATED

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
defaultControlModelspecify which control model to set as default.

◆ CDC_ENG_create()

LIB61850_API DataObject* CDC_ENG_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Enumerated status setting (ENG)

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements

◆ CDC_ENS_create()

LIB61850_API DataObject* CDC_ENS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_HST_create()

LIB61850_API DataObject* CDC_HST_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint16_t  maxPts 
)

◆ CDC_INC_create()

LIB61850_API DataObject* CDC_INC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions 
)

Controllable integer status (INC)

CDC_OPTION_IS_TIME_ACTICATED

CDC_OPTION_MIN CDC_OPTION_MAX CDC_OPTION_STEP_SIZE

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
defaultControlModelspecify which control model to set as default.

◆ CDC_ING_create()

LIB61850_API DataObject* CDC_ING_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Integer status setting (ING)

possible options: CDC_OPTION_UNIT CDC_OPTION_MIN CDC_OPTION_MAX CDC_OPTION_STEP_SIZE standard (include standard optional elements like extension namespaces and descriptions (d, dU).

◆ CDC_INS_create()

LIB61850_API DataObject* CDC_INS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_ISC_create()

LIB61850_API DataObject* CDC_ISC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
bool  hasTransientIndicator 
)

Integer controlled step position information (ISC)

CDC_OPTION_IS_TIME_ACTICATED

substitution options CDC_OPTION_BLK_ENA standard description and namespace options

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
controlOptionsspecify which control model to set as default and other control specific options
hasTransientIndicatorspecifies if the step position information contains the transient indicator

◆ CDC_LPL_create()

LIB61850_API DataObject* CDC_LPL_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

create a new LPL (Logical node name plate) CDC instance (data object)

Allowed parent type is LogicalNode

possible options: CDC_OPTION_AC_LN0_M (includes "configRev") CDC_OPTION_AC_LN0_EX (includes "ldNs") CDC_OPTION_AC_DLD_M (includes "lnNs") standard options: CDC_OPTION_DESC (includes "d") CDC_OPTION_DESC_UNICODE (include "du") CDC_OPTION_AC_DLNDA (include "cdcNs" and "cdcName") CDC_OPTION_AC_DLN (includes "dataNs")

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
Returns
new DataObject instance

◆ CDC_MV_create()

LIB61850_API DataObject* CDC_MV_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
bool  isIntegerNotFloat 
)

create a new MV (Measured value) CDC instance (data object)

Allowed parent types are LogicalNode and DataObject.

possible options: CDC_OPTION_INST_MAG CDC_OPTION_RANGE CDC_OPTION_PICS_SUBST standard (include standard optional elements like extension namespaces and descriptions (d, dU).

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
isIntegerNotFloatif true the AnalogueValue instance have integer instead of float

◆ CDC_SAV_create()

LIB61850_API DataObject* CDC_SAV_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
bool  isIntegerNotFloat 
)

create a new SAV (Sampled analog value) CDC instance (data object)

Allowed parent types are LogicalNode and DataObject.

possible options: CDC_OPTION_UNIT CDC_OPTION_AC_SCAV CDC_OPTION_MIN CDC_OPTION_MAX standard (include standard optional elements like extension namespaces and descriptions (d, dU).

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements
isIntegerNotFloatif true the AnalogueValue instance have integer instead of float

◆ CDC_SEC_create()

LIB61850_API DataObject* CDC_SEC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

create a new SEC (Security violation) CDC instance (data object)

Allowed parent types are LogicalNode and DataObject.

options: standard (include standard optional elements like extension namespaces and descriptions (d, dU).

CDC_OPTION_ADDR (address of the client causing the security violation) CDC_OPTION_ADDINFO (additional info text)

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements

◆ CDC_SPC_create()

LIB61850_API DataObject* CDC_SPC_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions 
)

Controllable single point (SPC)

Parameters
controlOptionsspecify which control model to set as default and other control related options

◆ CDC_SPG_create()

LIB61850_API DataObject* CDC_SPG_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Single point setting (SPG)

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements

◆ CDC_SPS_create()

LIB61850_API DataObject* CDC_SPS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_SPV_create()

LIB61850_API DataObject* CDC_SPV_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasChaManRs 
)

◆ CDC_STV_create()

LIB61850_API DataObject* CDC_STV_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasOldStatus 
)

◆ CDC_TMS_create()

LIB61850_API DataObject* CDC_TMS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options,
uint32_t  controlOptions,
uint32_t  wpOptions,
bool  hasHisRs 
)

◆ CDC_VSG_create()

LIB61850_API DataObject* CDC_VSG_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Visible string setting (VSG)

Parameters
dataObjectNamethe name of the new object
parentthe parent of the new data object (either a LogicalNode or another DataObject)
optionsbit mask to encode required optional elements

◆ CDC_VSS_create()

LIB61850_API DataObject* CDC_VSS_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

◆ CDC_WYE_create()

LIB61850_API DataObject* CDC_WYE_create ( const char *  dataObjectName,
ModelNode *  parent,
uint32_t  options 
)

Phase to ground/neutral related measured values of a three-phase system (WYE)

possible options: CDC_OPTION_ANGLE_REF