libiec61850  1.2.0
Functions
Client side data set service functions and data types

Functions

ClientDataSet IedConnection_readDataSetValues (IedConnection self, IedClientError *error, const char *dataSetReference, ClientDataSet dataSet)
 get data set values from a server device More...
 
void IedConnection_createDataSet (IedConnection self, IedClientError *error, const char *dataSetReference, LinkedListdataSetElements)
 create a new data set at the connected server device More...
 
bool IedConnection_deleteDataSet (IedConnection self, IedClientError *error, const char *dataSetReference)
 delete a deletable data set at the connected server device More...
 
LinkedList IedConnection_getDataSetDirectory (IedConnection self, IedClientError *error, const char *dataSetReference, bool *isDeletable)
 returns the object references of the elements of a data set More...
 
void IedConnection_writeDataSetValues (IedConnection self, IedClientError *error, const char *dataSetReference, LinkedList values, LinkedList *accessResults)
 Write the data set values to the server. More...
 
void ClientDataSet_destroy (ClientDataSet self)
 destroy an ClientDataSet instance. Has to be called by the application. More...
 
MmsValueClientDataSet_getValues (ClientDataSet self)
 get the data set values locally stored in the ClientDataSet instance. More...
 
char * ClientDataSet_getReference (ClientDataSet self)
 Get the object reference of the data set. More...
 
int ClientDataSet_getDataSetSize (ClientDataSet self)
 get the size of the data set (number of members) More...
 

Detailed Description

Function Documentation

void ClientDataSet_destroy ( ClientDataSet  self)

destroy an ClientDataSet instance. Has to be called by the application.

Note: A ClientDataSet cannot be created directly by the application but only by the IedConnection_readDataSetValues function. Therefore there is no public ClientDataSet_create function.

Parameters
selfthe ClientDataSet instance
int ClientDataSet_getDataSetSize ( ClientDataSet  self)

get the size of the data set (number of members)

Parameters
selfthe ClientDataSet instance
Returns
the number of member contained in the data set.
char* ClientDataSet_getReference ( ClientDataSet  self)

Get the object reference of the data set.

Parameters
selfthe ClientDataSet instance
Returns
the object reference of the data set.
MmsValue* ClientDataSet_getValues ( ClientDataSet  self)

get the data set values locally stored in the ClientDataSet instance.

This function returns a pointer to the locally stored MmsValue instance of this ClientDataSet instance. The MmsValue instance is of type MMS_ARRAY and contains one array element for each data set member. Note: This call does not invoke any interaction with the associated server. It will only provide access to already stored value. To update the values with the current values of the server the IecConnection_readDataSetValues function has to be called!

Parameters
selfthe ClientDataSet instance
Returns
the locally stored data set values as MmsValue object of type MMS_ARRAY.
void IedConnection_createDataSet ( IedConnection  self,
IedClientError error,
const char *  dataSetReference,
LinkedListdataSetElements   
)

create a new data set at the connected server device

This function creates a new data set at the server. The parameter dataSetReference is the name of the new data set to create. It is either in the form LDName/LNodeName.dataSetName for permanent domain or VMD scope data sets or for an association specific data set. If the LDName part of the reference is missing the resulting data set will be of VMD scope.

The dataSetElements parameter contains a linked list containing the object references of FCDs or FCDAs. The format of this object references is LDName/LNodeName.item(arrayIndex)component[FC].

Parameters
connectionthe connection object
errorthe error code if an error occurs
dataSetReferenceobject reference of the data set
dataSetElementsa list of object references defining the members of the new data set
bool IedConnection_deleteDataSet ( IedConnection  self,
IedClientError error,
const char *  dataSetReference 
)

delete a deletable data set at the connected server device

This function deletes a data set at the server. The parameter dataSetReference is the name of the data set to delete. It is either in the form LDName/LNodeName.dataSetName or for an association specific data set.

Parameters
connectionthe connection object
errorthe error code if an error occurs
dataSetReferenceobject reference of the data set
Returns
true if data set has been deleted, false otherwise
LinkedList IedConnection_getDataSetDirectory ( IedConnection  self,
IedClientError error,
const char *  dataSetReference,
bool *  isDeletable 
)

returns the object references of the elements of a data set

The return value contains a linked list containing the object references of FCDs or FCDAs. The format of this object references is LDName/LNodeName.item(arrayIndex)component[FC].

Parameters
connectionthe connection object
errorthe error code if an error occurs
dataSetReferenceobject reference of the data set
isDeletablethis is an output parameter indicating that the requested data set is deletable by clients. If this information is not required a NULL pointer can be used.
Returns
LinkedList containing the data set elements as char* strings.
ClientDataSet IedConnection_readDataSetValues ( IedConnection  self,
IedClientError error,
const char *  dataSetReference,
ClientDataSet  dataSet 
)

get data set values from a server device

The parameter dataSetReference is the name of the data set to read. It is either in the form LDName/LNodeName.dataSetName for permanent domain or VMD scope data sets or for an association specific data set. If the LDName part of the reference is missing the resulting data set will be of VMD scope. The received data set values are stored in a container object of type ClientDataSet that can be reused in a further read request.

Parameters
connectionthe connection object
errorthe error code if an error occurs
dataSetReferenceobject reference of the data set
dataSeta data set instance where to store the retrieved values or NULL if a new instance shall be created.
Returns
data set instance with retrieved values of NULL if an error occurred.
void IedConnection_writeDataSetValues ( IedConnection  self,
IedClientError error,
const char *  dataSetReference,
LinkedList  values,
LinkedList *  accessResults 
)

Write the data set values to the server.

The parameter dataSetReference is the name of the data set to write. It is either in the form LDName/LNodeName.dataSetName for permanent domain or VMD scope data sets or for an association specific data set. If the LDName part of the reference is missing the resulting data set will be of VMD scope. The values parameter has to be the same number of elements as are members in the data set. The accessResult return parameter contains a value for each data set member.

Parameters
connectionthe connection object
errorthe error code if an error occurs
dataSetReferenceobject reference of the data set
valuesthe new data set values
accessResultsthe access results for each data set member