libIEC61850
0.8.2
Open-source IEC 61850 MMS/GOOSE server and client library
|
Classes | |
struct | IedModel |
Root node of the IEC 61850 data model. This is usually created by the model generator tool (genmodel.jar) More... | |
struct | LogicalDevice |
IEC 61850 data model element of type logical device. More... | |
struct | ModelNode |
abstract base type for IEC 61850 data model nodes More... | |
struct | LogicalNode |
IEC 61850 data model element of type logical node. More... | |
struct | DataObject |
IEC 61850 data model element of type data object. More... | |
struct | DataAttribute |
IEC 61850 data model element of type data attribute. More... | |
struct | DataSetEntry |
struct | DataSet |
struct | ReportControlBlock |
struct | SettingGroupControlBlock |
IEC 61850 data model of setting group control block (SGCB) More... | |
struct | PhyComAddress |
struct | GSEControlBlock |
Enumerations | |
enum | DataAttributeType { BOOLEAN = 0, INT8 = 1, INT16 = 2, INT32 = 3, INT64 = 4, INT128 = 5, INT8U = 6, INT16U = 7, INT24U = 8, INT32U = 9, FLOAT32 = 10, FLOAT64 = 11, ENUMERATED = 12, OCTET_STRING_64 = 13, OCTET_STRING_6 = 14, OCTET_STRING_8 = 15, VISIBLE_STRING_32 = 16, VISIBLE_STRING_64 = 17, VISIBLE_STRING_65 = 18, VISIBLE_STRING_129 = 19, VISIBLE_STRING_255 = 20, UNICODE_STRING_255 = 21, TIMESTAMP = 22, QUALITY = 23, CHECK = 24, CODEDENUM = 25, GENERIC_BITSTRING = 26, CONSTRUCTED = 27, ENTRY_TIME = 28, PHYCOMADDR = 29 } |
enum | ModelNodeType { LogicalDeviceModelType, LogicalNodeModelType, DataObjectModelType, DataAttributeModelType } |
Functions | |
int | ModelNode_getChildCount (ModelNode *modelNode) |
get the number of direct children of a model node More... | |
ModelNode * | ModelNode_getChild (ModelNode *modelNode, const char *name) |
return a child model node More... | |
char * | ModelNode_getObjectReference (ModelNode *node, char *objectReference) |
Return the IEC 61850 object reference of a model node. More... | |
void | IedModel_setIedName (IedModel *self, const char *iedName) |
Set the name of the IED. More... | |
ModelNode * | IedModel_getModelNodeByObjectReference (IedModel *model, const char *objectReference) |
Lookup a model node by its object reference. More... | |
ModelNode * | IedModel_getModelNodeByShortObjectReference (IedModel *model, const char *objectReference) |
Lookup a model node by its short (normalized) reference. More... | |
ModelNode * | IedModel_getModelNodeByShortAddress (IedModel *model, uint32_t shortAddress) |
Lookup a model node by its short address. More... | |
LogicalNode * | LogicalDevice_getLogicalNode (LogicalDevice *device, const char *lnName) |
Lookup a logical node by name that is part of the given logical device. More... | |
SettingGroupControlBlock * | LogicalDevice_getSettingGroupControlBlock (LogicalDevice *device) |
Get the setting group control block (SGCB) of the logical device. More... | |
enum DataAttributeType |
enum ModelNodeType |
ModelNode* IedModel_getModelNodeByObjectReference | ( | IedModel * | model, |
const char * | objectReference | ||
) |
Lookup a model node by its object reference.
This function uses the full logical device name as part of the object reference as it happens to appear on the wire. E.g. if IED name in SCL file would be "IED1" and the logical device "WD1" the resulting LD name would be "IED1WD".
model | the IedModel instance that holds the model node |
objectReference | the IEC 61850 object reference |
ModelNode* IedModel_getModelNodeByShortAddress | ( | IedModel * | model, |
uint32_t | shortAddress | ||
) |
Lookup a model node by its short address.
Short address is a 32 bit unsigned integer as specified in the "sAddr" attribute of the ICD file or in the configuration file.
model | the IedModel instance that holds the model node |
shortAddress |
ModelNode* IedModel_getModelNodeByShortObjectReference | ( | IedModel * | model, |
const char * | objectReference | ||
) |
Lookup a model node by its short (normalized) reference.
This version uses the object reference that does not contain the IED name as part of the logical device name. This function is useful for devices where the IED name can be configured.
model | the IedModel instance that holds the model node |
objectReference | the IEC 61850 object reference |
void IedModel_setIedName | ( | IedModel * | self, |
const char * | iedName | ||
) |
Set the name of the IED.
This will change the default name (usualy "TEMPLATE") to a user configured values. NOTE: This function has to be called before IedServer_create !
model | the IedModel instance |
the | name of the configured IED |
LogicalNode* LogicalDevice_getLogicalNode | ( | LogicalDevice * | device, |
const char * | lnName | ||
) |
Lookup a logical node by name that is part of the given logical device.
device | the logical device instance |
lnName | the logical node name |
SettingGroupControlBlock* LogicalDevice_getSettingGroupControlBlock | ( | LogicalDevice * | device) |
Get the setting group control block (SGCB) of the logical device.
device | the logical device instance |
ModelNode* ModelNode_getChild | ( | ModelNode * | modelNode, |
const char * | name | ||
) |
return a child model node
node | the model node instance |
the | name of the child model node |
int ModelNode_getChildCount | ( | ModelNode * | modelNode) |
get the number of direct children of a model node
node | the model node instance |
char* ModelNode_getObjectReference | ( | ModelNode * | node, |
char * | objectReference | ||
) |
Return the IEC 61850 object reference of a model node.
node | the model node instance |
objectReference | pointer to a buffer where to write the object reference string. If NULL is given the buffer is allocated by the function. |