87 typedef struct sLog Log;
122 #if (CONFIG_IEC61850_USE_COMPAT_TYPE_DECLARATIONS == 1) 137 OCTET_STRING_64 = 13,
140 VISIBLE_STRING_32 = 16,
141 VISIBLE_STRING_64 = 17,
142 VISIBLE_STRING_65 = 18,
143 VISIBLE_STRING_129 = 19,
144 VISIBLE_STRING_255 = 20,
145 UNICODE_STRING_255 = 21,
150 GENERIC_BITSTRING = 26,
230 typedef struct sDataSetEntry {
472 SettingGroupControlBlock*
Definition: iec61850_model.h:92
LogicalNode * parent
Definition: iec61850_model.h:249
Definition: iec61850_model.h:90
int elementCount
Definition: iec61850_model.h:243
int index
Definition: iec61850_model.h:234
ModelNodeType modelType
Definition: iec61850_model.h:178
LogicalNode * parent
Definition: iec61850_model.h:304
char * name
Definition: iec61850_model.h:305
Definition: iec61850_model.h:112
char * name
Definition: iec61850_model.h:179
SettingGroupControlBlock * LogicalDevice_getSettingGroupControlBlock(LogicalDevice *device)
Get the setting group control block (SGCB) of the logical device.
uint16_t smpRate
Definition: iec61850_model.h:326
Definition: iec61850_model.h:264
Definition: iec61850_common.h:41
Definition: iec61850_model.h:115
char * name
Definition: iec61850_model.h:187
char * dataSetName
Definition: iec61850_model.h:253
ModelNode * IedModel_getModelNodeByShortAddress(IedModel *model, uint32_t shortAddress)
Lookup a model node by its short address.
Definition: iec61850_model.h:100
Definition: iec61850_model.h:96
bool logEna
Definition: iec61850_model.h:275
int minTime
Definition: iec61850_model.h:311
Definition: iec61850_model.h:118
ReportControlBlock * rcbs
Definition: iec61850_model.h:168
uint8_t actSG
Definition: iec61850_model.h:292
ModelNode * firstChild
Definition: iec61850_model.h:190
uint32_t intPeriod
Definition: iec61850_model.h:259
char * logicalDeviceName
Definition: iec61850_model.h:231
Definition: iec61850_model.h:99
void IedModel_setAttributeValuesToNull(IedModel *iedModel)
unset all MmsValue references in the data model
Definition: iec61850_model.h:95
PhyComAddress * address
Definition: iec61850_model.h:310
int maxTime
Definition: iec61850_model.h:312
char * ModelNode_getObjectReference(ModelNode *self, char *objectReference)
Return the IEC 61850 object reference of a model node.
bool DataObject_hasFCData(DataObject *dataObject, FunctionalConstraint fc)
uint8_t optFlds
Definition: iec61850_model.h:323
ModelNodeType modelType
Definition: iec61850_model.h:212
Definition: iec61850_model.h:158
uint32_t confRev
Definition: iec61850_model.h:308
char * name
Definition: iec61850_model.h:250
uint32_t bufferTime
Definition: iec61850_model.h:258
IEC 61850 data model of setting group control block (SGCB)
Definition: iec61850_model.h:289
SVControlBlock * sibling
Definition: iec61850_model.h:336
ModelNodeType
Definition: iec61850_model.h:157
Definition: iec61850_model.h:109
GSEControlBlock * sibling
Definition: iec61850_model.h:313
IEC 61850 data model element of type logical device.
Definition: iec61850_model.h:177
GSEControlBlock * gseCBs
Definition: iec61850_model.h:169
Definition: iec61850_model.h:161
LogicalDevice * IedModel_getDevice(IedModel *model, const char *deviceName)
SettingGroupControlBlock * sgcbs
Definition: iec61850_model.h:171
bool LogicalNode_hasFCData(LogicalNode *node, FunctionalConstraint fc)
DataSet * IedModel_lookupDataSet(IedModel *model, const char *dataSetReference)
bool buffered
Definition: iec61850_model.h:252
ModelNode * firstChild
Definition: iec61850_model.h:206
uint8_t smpMod
Definition: iec61850_model.h:325
ModelNode * firstChild
Definition: iec61850_model.h:216
char * dataSetName
Definition: iec61850_model.h:321
void(* initializer)(void)
Definition: iec61850_model.h:174
ModelNodeType ModelNode_getType(ModelNode *self)
Definition: iec61850_model.h:107
bool isUnicast
Definition: iec61850_model.h:332
uint8_t numOfSGs
Definition: iec61850_model.h:293
MmsValue * value
Definition: iec61850_model.h:236
Definition: iec61850_model.h:104
Definition: iec61850_model.h:94
ModelNode * parent
Definition: iec61850_model.h:214
Definition: iec61850_model.h:248
Definition: iec61850_model.h:98
Definition: iec61850_model.h:116
Definition: iec61850_model.h:119
Definition: iec61850_model.h:159
DataAttribute * IedModel_lookupDataAttributeByMmsValue(IedModel *model, MmsValue *value)
Definition: iec61850_model.h:230
int IedModel_getLogicalDeviceCount(IedModel *iedModel)
ModelNode * sibling
Definition: iec61850_model.h:205
Definition: iec61850_model.h:108
int LogicalDevice_getLogicalNodeCount(LogicalDevice *logicalDevice)
abstract base type for IEC 61850 data model nodes
Definition: iec61850_model.h:185
FunctionalConstraint fc
Definition: iec61850_model.h:220
char * svId
Definition: iec61850_model.h:320
Definition: iec61850_model.h:281
DataSet * LogicalNode_getDataSet(LogicalNode *self, const char *dataSetName)
get a data set instance
bool reasonCode
Definition: iec61850_model.h:276
char * rptId
Definition: iec61850_model.h:251
char * variableName
Definition: iec61850_model.h:233
SettingGroupControlBlock * sibling
Definition: iec61850_model.h:300
DataSetEntry * fcdas
Definition: iec61850_model.h:244
char * logRef
Definition: iec61850_model.h:270
bool cnfEdit
Definition: iec61850_model.h:296
char * name
Definition: iec61850_model.h:284
ModelNode * sibling
Definition: iec61850_model.h:181
DataAttributeType type
Definition: iec61850_model.h:221
uint16_t resvTms
Definition: iec61850_model.h:298
bool fixedOffs
Definition: iec61850_model.h:309
ModelNode * ModelNode_getChildWithFc(ModelNode *self, const char *name, FunctionalConstraint fc)
return a child model node with a given functional constraint
ModelNode * parent
Definition: iec61850_model.h:196
Definition: iec61850_model.h:110
Definition: iec61850_model.h:106
DataAttributeType
Definition: iec61850_model.h:89
ModelNode * parent
Definition: iec61850_model.h:188
PhyComAddress * dstAddress
Definition: iec61850_model.h:330
char * name
Definition: iec61850_model.h:165
Definition: iec61850_model.h:114
LogicalDevice * firstChild
Definition: iec61850_model.h:166
bool isLDNameDynamicallyAllocated
Definition: iec61850_model.h:232
ModelNode * LogicalDevice_getChildByMmsVariableName(LogicalDevice *logicalDevice, const char *mmsVariableName)
LogicalNode * LogicalDevice_getLogicalNode(LogicalDevice *device, const char *lnName)
Lookup a logical node by name that is part of the given logical device.
char * logicalDeviceName
Definition: iec61850_model.h:241
LogicalNode * parent
Definition: iec61850_model.h:282
ModelNode * ModelNode_getChild(ModelNode *self, const char *name)
return a child model node
DataSet * dataSets
Definition: iec61850_model.h:167
Definition: iec61850_model.h:101
char * name
Definition: iec61850_model.h:318
LogControlBlock * sibling
Definition: iec61850_model.h:278
uint8_t trgOps
Definition: iec61850_model.h:256
LogicalNode * parent
Definition: iec61850_model.h:317
Definition: iec61850_model.h:111
Definition: iec61850_model.h:102
Definition: iec61850_model.h:160
ModelNode * sibling
Definition: iec61850_model.h:215
LogControlBlock * lcbs
Definition: iec61850_model.h:172
ModelNode * firstChild
Definition: iec61850_model.h:182
IEC 61850 data model element of type data attribute.
Definition: iec61850_model.h:211
LogicalNode * parent
Definition: iec61850_model.h:265
Definition: iec61850_model.h:240
Definition: iec61850_model.h:105
Log * logs
Definition: iec61850_model.h:173
Definition: iec61850_model.h:117
uint8_t trgOps
Definition: iec61850_model.h:272
MmsValue * mmsValue
Definition: iec61850_model.h:225
char * name
Definition: iec61850_model.h:267
ReportControlBlock * sibling
Definition: iec61850_model.h:261
uint32_t confRev
Definition: iec61850_model.h:328
Definition: iec61850_model.h:316
ModelNodeType modelType
Definition: iec61850_model.h:186
uint32_t sAddr
Definition: iec61850_model.h:227
SVControlBlock * IedModel_getSVControlBlock(IedModel *self, LogicalNode *parentLN, const char *svcbName)
LogicalNode * parent
Definition: iec61850_model.h:290
Definition: iec61850_model.h:303
IEC 61850 data model element of type data object.
Definition: iec61850_model.h:201
char * name
Definition: iec61850_model.h:195
bool LogicalNode_hasBufferedReports(LogicalNode *node)
Root node of the IEC 61850 data model. This is usually created by the model generator tool (genmodel...
Definition: iec61850_model.h:164
uint8_t editSG
Definition: iec61850_model.h:295
void IedModel_setIedName(IedModel *self, const char *iedName)
Set the name of the IED.
ModelNode * firstChild
Definition: iec61850_model.h:198
ModelNode * IedModel_getModelNodeByShortObjectReference(IedModel *model, const char *objectReference)
Lookup a model node by its short (normalized) reference.
bool LogicalNode_hasUnbufferedReports(LogicalNode *node)
FunctionalConstraint
Definition: iec61850_common.h:202
uint8_t triggerOptions
Definition: iec61850_model.h:223
Definition: iec61850_model.h:113
char * name
Definition: iec61850_model.h:242
ModelNode * sibling
Definition: iec61850_model.h:189
char * dataSetName
Definition: iec61850_model.h:307
Definition: iec61850_model.h:93
SVControlBlock * svCBs
Definition: iec61850_model.h:170
ModelNodeType modelType
Definition: iec61850_model.h:202
uint64_t timestamp
Definition: iec61850_model.h:297
ModelNode * sibling
Definition: iec61850_model.h:197
Log * sibling
Definition: iec61850_model.h:286
int elementCount
Definition: iec61850_model.h:218
ModelNodeType modelType
Definition: iec61850_model.h:194
ModelNode * parent
Definition: iec61850_model.h:180
uint32_t confRef
Definition: iec61850_model.h:255
char * dataSetName
Definition: iec61850_model.h:269
DataSet * sibling
Definition: iec61850_model.h:245
Definition: iec61850_model.h:97
char * appId
Definition: iec61850_model.h:306
ModelNode * parent
Definition: iec61850_model.h:204
uint32_t intPeriod
Definition: iec61850_model.h:273
ModelNode * IedModel_getModelNodeByObjectReference(IedModel *model, const char *objectReference)
Lookup a model node by its object reference.
Definition: iec61850_model.h:91
char * name
Definition: iec61850_model.h:213
int ModelNode_getChildCount(ModelNode *self)
get the number of direct children of a model node
char * name
Definition: iec61850_model.h:203
char * componentName
Definition: iec61850_model.h:235
IEC 61850 data model element of type logical node.
Definition: iec61850_model.h:193
struct sMmsValue MmsValue
Definition: mms_value.h:68
int elementCount
Definition: iec61850_model.h:208
struct sDataSetEntry * sibling
Definition: iec61850_model.h:237
int noASDU
Definition: iec61850_model.h:334
Definition: iec61850_model.h:103
uint8_t options
Definition: iec61850_model.h:257