24 #ifndef DYNAMIC_MODEL_H_ 25 #define DYNAMIC_MODEL_H_ 138 uint8_t triggerOptions,
int arrayElements, uint32_t sAddr);
161 dataSetName, uint32_t confRef, uint8_t trgOps, uint8_t options, uint32_t bufTm, uint32_t intgPd);
181 LogControlBlock_create(
const char* name, LogicalNode* parent,
char* dataSetName,
char* logRef, uint8_t trgOps,
182 uint32_t intgPd,
bool logEna,
bool reasonCode);
193 Log_create(
const char* name, LogicalNode* parent);
206 SettingGroupControlBlock*
226 GSEControlBlock_create(
const char* name, LogicalNode* parent,
char* appId,
char* dataSet, uint32_t confRev,
227 bool fixedOffs,
int minTime,
int maxTime);
246 SVControlBlock_create(
const char* name, LogicalNode* parent,
char* svID,
char* dataSet, uint32_t confRev, uint8_t smpMod,
247 uint16_t smpRate, uint8_t optFlds,
bool isUnicast);
268 PhyComAddress_create(uint8_t vlanPriority, uint16_t vlanId, uint16_t appId, uint8_t dstAddress[]);
318 DataSetEntry_create(DataSet* dataSet,
const char* variable,
int index,
const char* component);
DataObject * DataObject_create(const char *name, ModelNode *parent, int arrayElements)
create a new data object and add it to a parent model node
GSEControlBlock * GSEControlBlock_create(const char *name, LogicalNode *parent, char *appId, char *dataSet, uint32_t confRev, bool fixedOffs, int minTime, int maxTime)
create a new GSE/GOOSE control block (GoCB)
Definition: iec61850_common.h:41
LogicalNode * LogicalNode_create(const char *name, LogicalDevice *parent)
Create a new logical mode and add it to a logical device.
IedModel * IedModel_create(const char *name)
create a new IedModel instance
LogicalDevice * LogicalDevice_create(const char *name, IedModel *parent)
Create a new logical device model and add it to the IED model.
void IedModel_destroy(IedModel *model)
destroy a dynamically created data model
SettingGroupControlBlock * SettingGroupControlBlock_create(LogicalNode *parent, uint8_t actSG, uint8_t numOfSGs)
create a setting group control block (SGCB)
void GSEControlBlock_addPhyComAddress(GSEControlBlock *self, PhyComAddress *phyComAddress)
int DataSet_getSize(DataSet *self)
returns the number of elements (entries) of the data set
PhyComAddress * PhyComAddress_create(uint8_t vlanPriority, uint16_t vlanId, uint16_t appId, uint8_t dstAddress[])
create a PhyComAddress object
Definition: iec61850_model.h:236
SVControlBlock * SVControlBlock_create(const char *name, LogicalNode *parent, char *svID, char *dataSet, uint32_t confRev, uint8_t smpMod, uint16_t smpRate, uint8_t optFlds, bool isUnicast)
create a new Multicast/Unicast Sampled Value (SV) control block (SvCB)
DataAttributeType
Definition: iec61850_model.h:89
void SVControlBlock_addPhyComAddress(SVControlBlock *self, PhyComAddress *phyComAddress)
DataSetEntry * DataSetEntry_getNext(DataSetEntry *self)
ReportControlBlock * ReportControlBlock_create(const char *name, LogicalNode *parent, char *rptId, bool isBuffered, char *dataSetName, uint32_t confRef, uint8_t trgOps, uint8_t options, uint32_t bufTm, uint32_t intgPd)
create a new report control block (RCB)
DataAttribute * DataAttribute_create(const char *name, ModelNode *parent, DataAttributeType type, FunctionalConstraint fc, uint8_t triggerOptions, int arrayElements, uint32_t sAddr)
create a new data attribute and add it to a parent model node
Log * Log_create(const char *name, LogicalNode *parent)
create a log (used by the IEC 61850 log service)
void IedModel_setIedNameForDynamicModel(IedModel *self, const char *name)
Set the name of the IED (use only for dynamic model!)
DataSetEntry * DataSetEntry_create(DataSet *dataSet, const char *variable, int index, const char *component)
create a new data set entry (FCDA)
DataSetEntry * DataSet_getFirstEntry(DataSet *self)
FunctionalConstraint
Definition: iec61850_common.h:202
LogControlBlock * LogControlBlock_create(const char *name, LogicalNode *parent, char *dataSetName, char *logRef, uint8_t trgOps, uint32_t intgPd, bool logEna, bool reasonCode)
create a new log control block (LCB)
DataSet * DataSet_create(const char *name, LogicalNode *parent)
create a new data set