libiec61850  1.5.3
Typedefs | Enumerations | Functions
Model discovery services

Typedefs

typedef void(* IedConnection_GetNameListHandler) (uint32_t invokeId, void *parameter, IedClientError err, LinkedList nameList, bool moreFollows)
 
typedef void(* IedConnection_GetVariableSpecificationHandler) (uint32_t invokeId, void *parameter, IedClientError err, MmsVariableSpecification *spec)
 

Enumerations

enum  ACSIClass {
  ACSI_CLASS_DATA_OBJECT , ACSI_CLASS_DATA_SET , ACSI_CLASS_BRCB , ACSI_CLASS_URCB ,
  ACSI_CLASS_LCB , ACSI_CLASS_LOG , ACSI_CLASS_SGCB , ACSI_CLASS_GoCB ,
  ACSI_CLASS_GsCB , ACSI_CLASS_MSVCB , ACSI_CLASS_USVCB
}
 

Functions

LIB61850_API void IedConnection_getDeviceModelFromServer (IedConnection self, IedClientError *error)
 Retrieve the device model from the server. More...
 
LIB61850_API LinkedList IedConnection_getLogicalDeviceList (IedConnection self, IedClientError *error)
 Get the list of logical devices available at the server (DEPRECATED) More...
 
LIB61850_API LinkedList IedConnection_getServerDirectory (IedConnection self, IedClientError *error, bool getFileNames)
 Get the list of logical devices or files available at the server. More...
 
LIB61850_API LinkedList IedConnection_getLogicalDeviceDirectory (IedConnection self, IedClientError *error, const char *logicalDeviceName)
 Get the list of logical nodes (LN) of a logical device. More...
 
LIB61850_API LinkedList IedConnection_getLogicalNodeVariables (IedConnection self, IedClientError *error, const char *logicalNodeReference)
 returns a list of all MMS variables that are children of the given logical node More...
 
LIB61850_API LinkedList IedConnection_getLogicalNodeDirectory (IedConnection self, IedClientError *error, const char *logicalNodeReference, ACSIClass acsiClass)
 returns the directory of the given logical node (LN) containing elements of the specified ACSI class More...
 
LIB61850_API LinkedList IedConnection_getDataDirectory (IedConnection self, IedClientError *error, const char *dataReference)
 returns the directory of the given data object (DO) More...
 
LIB61850_API LinkedList IedConnection_getDataDirectoryFC (IedConnection self, IedClientError *error, const char *dataReference)
 returns the directory of the given data object (DO) More...
 
LIB61850_API LinkedList IedConnection_getDataDirectoryByFC (IedConnection self, IedClientError *error, const char *dataReference, FunctionalConstraint fc)
 returns the directory of the given data object/data attribute with the given FC More...
 
LIB61850_API MmsVariableSpecification * IedConnection_getVariableSpecification (IedConnection self, IedClientError *error, const char *dataAttributeReference, FunctionalConstraint fc)
 return the MMS variable type specification of the data attribute referenced by dataAttributeReference and function constraint fc. More...
 
LIB61850_API LinkedList IedConnection_getLogicalDeviceVariables (IedConnection self, IedClientError *error, const char *ldName)
 Get all variables of the logical device. More...
 
LIB61850_API LinkedList IedConnection_getLogicalDeviceDataSets (IedConnection self, IedClientError *error, const char *ldName)
 Get the data set names of the logical device. More...
 
LIB61850_API uint32_t IedConnection_getServerDirectoryAsync (IedConnection self, IedClientError *error, const char *continueAfter, LinkedList result, IedConnection_GetNameListHandler handler, void *parameter)
 Get the server directory (logical devices name) - asynchronous version. More...
 
LIB61850_API uint32_t IedConnection_getLogicalDeviceVariablesAsync (IedConnection self, IedClientError *error, const char *ldName, const char *continueAfter, LinkedList result, IedConnection_GetNameListHandler handler, void *parameter)
 Get the variables in the logical device - asynchronous version. More...
 
LIB61850_API uint32_t IedConnection_getLogicalDeviceDataSetsAsync (IedConnection self, IedClientError *error, const char *ldName, const char *continueAfter, LinkedList result, IedConnection_GetNameListHandler handler, void *parameter)
 Get the data set names in the logical device - asynchronous version. More...
 
LIB61850_API uint32_t IedConnection_getVariableSpecificationAsync (IedConnection self, IedClientError *error, const char *dataAttributeReference, FunctionalConstraint fc, IedConnection_GetVariableSpecificationHandler handler, void *parameter)
 Get the specification of a variable (data attribute or functional constraint data object) - asynchronous version. More...
 

Detailed Description

Typedef Documentation

◆ IedConnection_GetNameListHandler

typedef void(* IedConnection_GetNameListHandler) (uint32_t invokeId, void *parameter, IedClientError err, LinkedList nameList, bool moreFollows)

◆ IedConnection_GetVariableSpecificationHandler

typedef void(* IedConnection_GetVariableSpecificationHandler) (uint32_t invokeId, void *parameter, IedClientError err, MmsVariableSpecification *spec)

Enumeration Type Documentation

◆ ACSIClass

enum ACSIClass
Enumerator
ACSI_CLASS_DATA_OBJECT 
ACSI_CLASS_DATA_SET 
ACSI_CLASS_BRCB 
ACSI_CLASS_URCB 
ACSI_CLASS_LCB 
ACSI_CLASS_LOG 
ACSI_CLASS_SGCB 
ACSI_CLASS_GoCB 
ACSI_CLASS_GsCB 
ACSI_CLASS_MSVCB 
ACSI_CLASS_USVCB 

Function Documentation

◆ IedConnection_getDataDirectory()

LIB61850_API LinkedList IedConnection_getDataDirectory ( IedConnection  self,
IedClientError error,
const char *  dataReference 
)

returns the directory of the given data object (DO)

Implementation of the GetDataDirectory ACSI service. This will return the list of all data attributes or sub data objects.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
dataReferencestring that represents the DO reference
Returns
list of all data attributes or sub data objects as C strings in a LinkedList

◆ IedConnection_getDataDirectoryByFC()

LIB61850_API LinkedList IedConnection_getDataDirectoryByFC ( IedConnection  self,
IedClientError error,
const char *  dataReference,
FunctionalConstraint  fc 
)

returns the directory of the given data object/data attribute with the given FC

Implementation of the GetDataDirectory ACSI service. This will return the list of C strings with all data attributes or sub data objects as elements.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

WARNING: Starting with version 1.0.3 the functional constraint will no longer be appended to the name string.

Parameters
selfthe connection object
errorthe error code if an error occurs
dataReferencestring that represents the DO reference
fcthe functional constraint
Returns
list of all data attributes or sub data objects as C strings in a LinkedList

◆ IedConnection_getDataDirectoryFC()

LIB61850_API LinkedList IedConnection_getDataDirectoryFC ( IedConnection  self,
IedClientError error,
const char *  dataReference 
)

returns the directory of the given data object (DO)

Implementation of the GetDataDirectory ACSI service. This will return the list of C strings with all data attributes or sub data objects as elements. The returned strings will contain the functional constraint appended in square brackets when appropriate.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
dataReferencestring that represents the DO reference
Returns
list of all data attributes or sub data objects as C strings in a LinkedList

◆ IedConnection_getDeviceModelFromServer()

LIB61850_API void IedConnection_getDeviceModelFromServer ( IedConnection  self,
IedClientError error 
)

Retrieve the device model from the server.

This function retrieves the complete device model from the server. The model is buffered an can be browsed by subsequent API calls. This API call is mapped to multiple ACSI services.

Parameters
selfthe connection object
errorthe error code if an error occurs

◆ IedConnection_getLogicalDeviceDataSets()

LIB61850_API LinkedList IedConnection_getLogicalDeviceDataSets ( IedConnection  self,
IedClientError error,
const char *  ldName 
)

Get the data set names of the logical device.

NOTE: This function will return all data set names (MMS named variable lists) of the logical device (MMS domain). The result will be in the MMS notation (like "LLN0$dataset1").

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]ldNamethe logical device name
Returns
a LinkedList with data set names as string. Has to be released by the caller.

◆ IedConnection_getLogicalDeviceDataSetsAsync()

LIB61850_API uint32_t IedConnection_getLogicalDeviceDataSetsAsync ( IedConnection  self,
IedClientError error,
const char *  ldName,
const char *  continueAfter,
LinkedList  result,
IedConnection_GetNameListHandler  handler,
void *  parameter 
)

Get the data set names in the logical device - asynchronous version.

NOTE: This function will return all data set names (MMS named variable lists) of the logical device (MMS domain). The result will be in the MMS notation (like "LLN0$dataset1").

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]ldNamethe logical device name
[in]continueAfterthe name of the last received element when the call is a continuation, or NULL for the first call
[in]resultlist to store (append) the response names, or NULL to create a new list for the response names
[in]handlerwill be called when response is received or timed out.
[in]parameter
Returns
the invoke ID of the request

◆ IedConnection_getLogicalDeviceDirectory()

LIB61850_API LinkedList IedConnection_getLogicalDeviceDirectory ( IedConnection  self,
IedClientError error,
const char *  logicalDeviceName 
)

Get the list of logical nodes (LN) of a logical device.

GetLogicalDeviceDirectory ACSI service implementation. Returns the list of logical nodes names present in a logical device. The list is returned as a linked list of type LinkedList with c style string elements.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
logicalDeviceNamethe name of the logical device (LD) of interest
Returns
LinkedList with string elements representing the logical node names

◆ IedConnection_getLogicalDeviceList()

LIB61850_API LinkedList IedConnection_getLogicalDeviceList ( IedConnection  self,
IedClientError error 
)

Get the list of logical devices available at the server (DEPRECATED)

This function is mapped to the GetServerDirectory(LD) ACSI service.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
Returns
LinkedList with string elements representing the logical device names

◆ IedConnection_getLogicalDeviceVariables()

LIB61850_API LinkedList IedConnection_getLogicalDeviceVariables ( IedConnection  self,
IedClientError error,
const char *  ldName 
)

Get all variables of the logical device.

NOTE: This function will return all MMS variables of the logical device (MMS domain). The result will be in the MMS notation (like "GGIO1$ST$Ind1$stVal") and also contain the variables of control blocks.

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]ldNamethe logical device name
Returns
a LinkedList with the MMS variable names as string. Has to be released by the caller

◆ IedConnection_getLogicalDeviceVariablesAsync()

LIB61850_API uint32_t IedConnection_getLogicalDeviceVariablesAsync ( IedConnection  self,
IedClientError error,
const char *  ldName,
const char *  continueAfter,
LinkedList  result,
IedConnection_GetNameListHandler  handler,
void *  parameter 
)

Get the variables in the logical device - asynchronous version.

NOTE: This function will return all MMS variables of the logical device (MMS domain). The result will be in the MMS notation (like "GGIO1$ST$Ind1$stVal") and also contain the variables of control blocks.

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]ldNamethe logical device name
[in]continueAfterthe name of the last received element when the call is a continuation, or NULL for the first call
[in]resultlist to store (append) the response names, or NULL to create a new list for the response names
[in]handlerwill be called when response is received or timed out.
[in]parameter
Returns
the invoke ID of the request

◆ IedConnection_getLogicalNodeDirectory()

LIB61850_API LinkedList IedConnection_getLogicalNodeDirectory ( IedConnection  self,
IedClientError error,
const char *  logicalNodeReference,
ACSIClass  acsiClass 
)

returns the directory of the given logical node (LN) containing elements of the specified ACSI class

Implementation of the GetLogicalNodeDirectory ACSI service. In contrast to the ACSI description this function does not always creates a request to the server. For most ACSI classes it simply accesses the data model that was retrieved before or calls IedConnection_getDeviceModelFromServer if no buffered data model information is available. An exception to this rule are the ACSI classes ACSI_CLASS_DATASET and ACSI_CLASS_LOG. Both always perform a request to the server.

Parameters
selfthe connection object
errorthe error code if an error occurs
logicalNodeReferencestring that represents the LN reference
acsiClassspecifies the ACSI class
Returns
list of all logical node elements of the specified ACSI class type as C strings in a LinkedList

◆ IedConnection_getLogicalNodeVariables()

LIB61850_API LinkedList IedConnection_getLogicalNodeVariables ( IedConnection  self,
IedClientError error,
const char *  logicalNodeReference 
)

returns a list of all MMS variables that are children of the given logical node

This function cannot be mapped to any ACSI service. It is a convenience function for generic clients that wants to show a list of all available children of the MMS named variable representing the logical node.

NOTE: This function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
logicalNodeReferencestring that represents the LN reference
Returns
the list of all MMS named variables as C strings in a LinkedList type

◆ IedConnection_getServerDirectory()

LIB61850_API LinkedList IedConnection_getServerDirectory ( IedConnection  self,
IedClientError error,
bool  getFileNames 
)

Get the list of logical devices or files available at the server.

GetServerDirectory ACSI service implementation. This function will either return the list of logical devices (LD) present at the server or the list of available files.

NOTE: When getFIleNames is false zhis function will call IedConnection_getDeviceModelFromServer if no buffered data model information is available. Otherwise it will use the buffered information.

Parameters
selfthe connection object
errorthe error code if an error occurs
getFileNamesget list of files instead of logical device names (TO BE IMPLEMENTED)
Returns
LinkedList with string elements representing the logical device names or file names

◆ IedConnection_getServerDirectoryAsync()

LIB61850_API uint32_t IedConnection_getServerDirectoryAsync ( IedConnection  self,
IedClientError error,
const char *  continueAfter,
LinkedList  result,
IedConnection_GetNameListHandler  handler,
void *  parameter 
)

Get the server directory (logical devices name) - asynchronous version.

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]continueAfterthe name of the last received element when the call is a continuation, or NULL for the first call
[in]resultlist to store (append) the response names, or NULL to create a new list for the response names
[in]handlerwill be called when response is received or timed out.
[in]parameter
Returns
the invoke ID of the request

◆ IedConnection_getVariableSpecification()

LIB61850_API MmsVariableSpecification* IedConnection_getVariableSpecification ( IedConnection  self,
IedClientError error,
const char *  dataAttributeReference,
FunctionalConstraint  fc 
)

return the MMS variable type specification of the data attribute referenced by dataAttributeReference and function constraint fc.

This function can be used to get the MMS variable type specification for an IEC 61850 data attribute. It is an extension of the ACSI that may be required by generic client applications.

NOTE: API user is responsible to free the resources (see MmsVariableSpecification_destroy)

Parameters
selfthe connection object
errorthe error code if an error occurs
dataAttributeReferencestring that represents the DA reference
fcfunctional constraint of the DA
Returns
MmsVariableSpecification of the data attribute.

◆ IedConnection_getVariableSpecificationAsync()

LIB61850_API uint32_t IedConnection_getVariableSpecificationAsync ( IedConnection  self,
IedClientError error,
const char *  dataAttributeReference,
FunctionalConstraint  fc,
IedConnection_GetVariableSpecificationHandler  handler,
void *  parameter 
)

Get the specification of a variable (data attribute or functional constraint data object) - asynchronous version.

Parameters
[in]selfthe connection object
[out]errorthe error code if an error occurs
[in]dataAttributeReferencethe data attribute reference (FCDA or FCDO)
[in]handlerwill be called when response is received or timed out.
[in]parameter
Returns
the invoke ID of the request