87 typedef struct sLog Log;
123 #if (CONFIG_IEC61850_USE_COMPAT_TYPE_DECLARATIONS == 1) 138 OCTET_STRING_64 = 13,
141 VISIBLE_STRING_32 = 16,
142 VISIBLE_STRING_64 = 17,
143 VISIBLE_STRING_65 = 18,
144 VISIBLE_STRING_129 = 19,
145 VISIBLE_STRING_255 = 20,
146 UNICODE_STRING_255 = 21,
151 GENERIC_BITSTRING = 26,
232 typedef struct sDataSetEntry {
490 SettingGroupControlBlock*
Definition: iec61850_model.h:92
LogicalNode * parent
Definition: iec61850_model.h:251
Definition: iec61850_model.h:90
int elementCount
Definition: iec61850_model.h:245
int index
Definition: iec61850_model.h:236
ModelNodeType modelType
Definition: iec61850_model.h:180
LogicalNode * parent
Definition: iec61850_model.h:306
bool LogicalNode_hasBufferedReports(LogicalNode *self)
char * name
Definition: iec61850_model.h:307
Definition: iec61850_model.h:112
char * name
Definition: iec61850_model.h:181
uint16_t smpRate
Definition: iec61850_model.h:328
Definition: iec61850_model.h:266
Definition: iec61850_common.h:41
Definition: iec61850_model.h:115
char * name
Definition: iec61850_model.h:189
char * dataSetName
Definition: iec61850_model.h:255
Definition: iec61850_model.h:100
Definition: iec61850_model.h:96
bool logEna
Definition: iec61850_model.h:277
bool DataObject_hasFCData(DataObject *self, FunctionalConstraint fc)
int minTime
Definition: iec61850_model.h:313
Definition: iec61850_model.h:118
ReportControlBlock * rcbs
Definition: iec61850_model.h:170
uint8_t actSG
Definition: iec61850_model.h:294
ModelNode * firstChild
Definition: iec61850_model.h:192
uint32_t intPeriod
Definition: iec61850_model.h:261
char * logicalDeviceName
Definition: iec61850_model.h:233
Definition: iec61850_model.h:99
Definition: iec61850_model.h:95
PhyComAddress * address
Definition: iec61850_model.h:312
ModelNode * IedModel_getModelNodeByShortAddress(IedModel *self, uint32_t shortAddress)
Lookup a model node by its short address.
int maxTime
Definition: iec61850_model.h:314
char * ModelNode_getObjectReference(ModelNode *self, char *objectReference)
Return the IEC 61850 object reference of a model node.
uint8_t optFlds
Definition: iec61850_model.h:325
ModelNodeType modelType
Definition: iec61850_model.h:214
Definition: iec61850_model.h:160
uint32_t confRev
Definition: iec61850_model.h:310
int IedModel_getLogicalDeviceCount(IedModel *self)
Get the number of logical devices.
SettingGroupControlBlock * LogicalDevice_getSettingGroupControlBlock(LogicalDevice *self)
Get the setting group control block (SGCB) of the logical device.
DataAttribute * IedModel_lookupDataAttributeByMmsValue(IedModel *self, MmsValue *value)
Lookup a DataAttribute instance with the corresponding MmsValue instance.
char * name
Definition: iec61850_model.h:252
uint32_t bufferTime
Definition: iec61850_model.h:260
IEC 61850 data model of setting group control block (SGCB)
Definition: iec61850_model.h:291
SVControlBlock * sibling
Definition: iec61850_model.h:338
DataSet * IedModel_lookupDataSet(IedModel *self, const char *dataSetReference)
Lookup a data set in the IED model.
ModelNodeType
Definition: iec61850_model.h:159
Definition: iec61850_model.h:109
GSEControlBlock * sibling
Definition: iec61850_model.h:315
IEC 61850 data model element of type logical device.
Definition: iec61850_model.h:179
GSEControlBlock * gseCBs
Definition: iec61850_model.h:171
Definition: iec61850_model.h:163
SettingGroupControlBlock * sgcbs
Definition: iec61850_model.h:173
bool buffered
Definition: iec61850_model.h:254
ModelNode * firstChild
Definition: iec61850_model.h:208
uint8_t smpMod
Definition: iec61850_model.h:327
ModelNode * firstChild
Definition: iec61850_model.h:218
char * dataSetName
Definition: iec61850_model.h:323
void(* initializer)(void)
Definition: iec61850_model.h:176
ModelNodeType ModelNode_getType(ModelNode *self)
Get the type of the ModelNode.
Definition: iec61850_model.h:107
bool isUnicast
Definition: iec61850_model.h:334
uint8_t numOfSGs
Definition: iec61850_model.h:295
MmsValue * value
Definition: iec61850_model.h:238
Definition: iec61850_model.h:104
Definition: iec61850_model.h:94
ModelNode * parent
Definition: iec61850_model.h:216
Definition: iec61850_model.h:250
Definition: iec61850_model.h:98
Definition: iec61850_model.h:116
Definition: iec61850_model.h:119
Definition: iec61850_model.h:161
Definition: iec61850_model.h:232
ModelNode * sibling
Definition: iec61850_model.h:207
Definition: iec61850_model.h:108
Definition: iec61850_model.h:120
abstract base type for IEC 61850 data model nodes
Definition: iec61850_model.h:187
FunctionalConstraint fc
Definition: iec61850_model.h:222
char * svId
Definition: iec61850_model.h:322
Definition: iec61850_model.h:283
DataSet * LogicalNode_getDataSet(LogicalNode *self, const char *dataSetName)
get a data set instance
bool reasonCode
Definition: iec61850_model.h:278
char * rptId
Definition: iec61850_model.h:253
char * variableName
Definition: iec61850_model.h:235
SettingGroupControlBlock * sibling
Definition: iec61850_model.h:302
DataSetEntry * fcdas
Definition: iec61850_model.h:246
char * logRef
Definition: iec61850_model.h:272
bool LogicalNode_hasFCData(LogicalNode *self, FunctionalConstraint fc)
bool cnfEdit
Definition: iec61850_model.h:298
char * name
Definition: iec61850_model.h:286
ModelNode * sibling
Definition: iec61850_model.h:183
DataAttributeType type
Definition: iec61850_model.h:223
uint16_t resvTms
Definition: iec61850_model.h:300
bool fixedOffs
Definition: iec61850_model.h:311
ModelNode * ModelNode_getChildWithFc(ModelNode *self, const char *name, FunctionalConstraint fc)
return a child model node with a given functional constraint
int LogicalDevice_getLogicalNodeCount(LogicalDevice *self)
ModelNode * parent
Definition: iec61850_model.h:198
Definition: iec61850_model.h:110
Definition: iec61850_model.h:106
DataAttributeType
Definition: iec61850_model.h:89
ModelNode * parent
Definition: iec61850_model.h:190
PhyComAddress * dstAddress
Definition: iec61850_model.h:332
char * name
Definition: iec61850_model.h:167
Definition: iec61850_model.h:114
LogicalDevice * firstChild
Definition: iec61850_model.h:168
bool isLDNameDynamicallyAllocated
Definition: iec61850_model.h:234
void IedModel_setAttributeValuesToNull(IedModel *self)
unset all MmsValue references in the data model
char * logicalDeviceName
Definition: iec61850_model.h:243
LogicalNode * parent
Definition: iec61850_model.h:284
ModelNode * ModelNode_getChild(ModelNode *self, const char *name)
return a child model node
DataSet * dataSets
Definition: iec61850_model.h:169
Definition: iec61850_model.h:101
char * name
Definition: iec61850_model.h:320
LogControlBlock * sibling
Definition: iec61850_model.h:280
LogicalDevice * IedModel_getDevice(IedModel *self, const char *ldName)
Lookup logical device (LD) by device name.
uint8_t trgOps
Definition: iec61850_model.h:258
LogicalNode * parent
Definition: iec61850_model.h:319
Definition: iec61850_model.h:111
Definition: iec61850_model.h:102
Definition: iec61850_model.h:162
ModelNode * sibling
Definition: iec61850_model.h:217
LogControlBlock * lcbs
Definition: iec61850_model.h:174
ModelNode * firstChild
Definition: iec61850_model.h:184
IEC 61850 data model element of type data attribute.
Definition: iec61850_model.h:213
LogicalNode * parent
Definition: iec61850_model.h:267
LogicalNode * LogicalDevice_getLogicalNode(LogicalDevice *self, const char *lnName)
Lookup a logical node by name that is part of the given logical device.
Definition: iec61850_model.h:242
Definition: iec61850_model.h:105
ModelNode * LogicalDevice_getChildByMmsVariableName(LogicalDevice *self, const char *mmsVariableName)
Log * logs
Definition: iec61850_model.h:175
Definition: iec61850_model.h:117
uint8_t trgOps
Definition: iec61850_model.h:274
MmsValue * mmsValue
Definition: iec61850_model.h:227
char * name
Definition: iec61850_model.h:269
ReportControlBlock * sibling
Definition: iec61850_model.h:263
uint32_t confRev
Definition: iec61850_model.h:330
Definition: iec61850_model.h:318
ModelNodeType modelType
Definition: iec61850_model.h:188
uint32_t sAddr
Definition: iec61850_model.h:229
SVControlBlock * IedModel_getSVControlBlock(IedModel *self, LogicalNode *parentLN, const char *svcbName)
LogicalNode * parent
Definition: iec61850_model.h:292
Definition: iec61850_model.h:305
IEC 61850 data model element of type data object.
Definition: iec61850_model.h:203
char * name
Definition: iec61850_model.h:197
bool LogicalNode_hasUnbufferedReports(LogicalNode *self)
ModelNode * IedModel_getModelNodeByObjectReference(IedModel *self, const char *objectReference)
Lookup a model node by its object reference.
ModelNode * IedModel_getModelNodeByShortObjectReference(IedModel *self, const char *objectReference)
Lookup a model node by its short (normalized) reference.
Root node of the IEC 61850 data model. This is usually created by the model generator tool (genmodel...
Definition: iec61850_model.h:166
uint8_t editSG
Definition: iec61850_model.h:297
LogicalDevice * IedModel_getDeviceByInst(IedModel *self, const char *ldInst)
Lookup logical device (LD) by device instance name (SCL attribute "inst")
void IedModel_setIedName(IedModel *self, const char *iedName)
Set the name of the IED.
ModelNode * firstChild
Definition: iec61850_model.h:200
FunctionalConstraint
Definition: iec61850_common.h:202
uint8_t triggerOptions
Definition: iec61850_model.h:225
Definition: iec61850_model.h:113
char * name
Definition: iec61850_model.h:244
ModelNode * sibling
Definition: iec61850_model.h:191
char * dataSetName
Definition: iec61850_model.h:309
Definition: iec61850_model.h:93
SVControlBlock * svCBs
Definition: iec61850_model.h:172
ModelNodeType modelType
Definition: iec61850_model.h:204
uint64_t timestamp
Definition: iec61850_model.h:299
ModelNode * sibling
Definition: iec61850_model.h:199
Log * sibling
Definition: iec61850_model.h:288
int elementCount
Definition: iec61850_model.h:220
ModelNodeType modelType
Definition: iec61850_model.h:196
ModelNode * parent
Definition: iec61850_model.h:182
uint32_t confRef
Definition: iec61850_model.h:257
char * dataSetName
Definition: iec61850_model.h:271
DataSet * sibling
Definition: iec61850_model.h:247
Definition: iec61850_model.h:97
char * appId
Definition: iec61850_model.h:308
ModelNode * parent
Definition: iec61850_model.h:206
uint32_t intPeriod
Definition: iec61850_model.h:275
Definition: iec61850_model.h:91
char * name
Definition: iec61850_model.h:215
int ModelNode_getChildCount(ModelNode *self)
get the number of direct children of a model node
char * name
Definition: iec61850_model.h:205
char * componentName
Definition: iec61850_model.h:237
IEC 61850 data model element of type logical node.
Definition: iec61850_model.h:195
struct sMmsValue MmsValue
Definition: mms_value.h:68
int elementCount
Definition: iec61850_model.h:210
struct sDataSetEntry * sibling
Definition: iec61850_model.h:239
int noASDU
Definition: iec61850_model.h:336
Definition: iec61850_model.h:103
uint8_t options
Definition: iec61850_model.h:259