- CDC helper functions: added helper functions for VSS and VSG CDC

pull/44/merge
Michael Zillgith 8 years ago
parent 0f1afc9718
commit 87c7429281

@ -184,7 +184,8 @@ CDC_ENS_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
DataObject*
CDC_BCR_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
DataObject*
CDC_VSS_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
/**
* \brief create a new SEC (Security violation) CDC instance (data object)
@ -340,6 +341,16 @@ CDC_ACT_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
DataObject*
CDC_SPG_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
/**
* \brief Visible string setting (VSG)
*
* \param dataObjectName the name of the new object
* \param parent the parent of the new data object (either a LogicalNode or another DataObject)
* \param options bit mask to encode required optional elements
*/
DataObject*
CDC_VSG_create(const char* dataObjectName, ModelNode* parent, uint32_t options);
/**
* \brief Enumerated status setting (ENG)
*

@ -379,7 +379,23 @@ CDC_SEC_create(const char* dataObjectName, ModelNode* parent, uint32_t options)
}
DataObject*
CDC_VSS_create(const char* dataObjectName, ModelNode* parent, uint32_t options)
{
DataObject* newSPS = DataObject_create(dataObjectName, parent, 0);
CDC_addStatusToDataObject(newSPS, IEC61850_VISIBLE_STRING_255);
if (options & CDC_OPTION_PICS_SUBST)
CDC_addOptionPicsSubst(newSPS, IEC61850_BOOLEAN);
if (options & CDC_OPTION_BLK_ENA)
DataAttribute_create("blkEna", (ModelNode*) newSPS, IEC61850_BOOLEAN, IEC61850_FC_BL, 0, 0, 0);
CDC_addStandardOptions(newSPS, options);
return newSPS;
}
/**
* CDC_OPTION_INST_MAG
@ -931,6 +947,19 @@ CDC_SPG_create(const char* dataObjectName, ModelNode* parent, uint32_t options)
return newSPG;
}
DataObject*
CDC_VSG_create(const char* dataObjectName, ModelNode* parent, uint32_t options)
{
DataObject* newSPG = DataObject_create(dataObjectName, parent, 0);
DataAttribute_create("setVal", (ModelNode*) newSPG, IEC61850_VISIBLE_STRING_255, IEC61850_FC_SP, TRG_OPT_DATA_CHANGED, 0, 0);
CDC_addStandardOptions(newSPG, options);
return newSPG;
}
DataObject*
CDC_ENG_create(const char* dataObjectName, ModelNode* parent, uint32_t options)
{

Loading…
Cancel
Save