libiec61850  1.6.0
Macros | Typedefs | Functions
Client side GOOSE control block handling functions

Macros

#define GOCB_ELEMENT_GO_ENA   1
 
#define GOCB_ELEMENT_GO_ID   2
 
#define GOCB_ELEMENT_DATSET   4
 
#define GOCB_ELEMENT_CONF_REV   8
 
#define GOCB_ELEMENT_NDS_COMM   16
 
#define GOCB_ELEMENT_DST_ADDRESS   32
 
#define GOCB_ELEMENT_MIN_TIME   64
 
#define GOCB_ELEMENT_MAX_TIME   128
 
#define GOCB_ELEMENT_FIXED_OFFS   256
 
#define GOCB_ELEMENT_ALL   511
 

Typedefs

typedef void(* IedConnection_GetGoCBValuesHandler) (uint32_t invokeId, void *parameter, IedClientError err, ClientGooseControlBlock goCB)
 

Functions

LIB61850_API ClientGooseControlBlock ClientGooseControlBlock_create (const char *dataAttributeReference)
 
LIB61850_API void ClientGooseControlBlock_destroy (ClientGooseControlBlock self)
 
LIB61850_API bool ClientGooseControlBlock_getGoEna (ClientGooseControlBlock self)
 
LIB61850_API void ClientGooseControlBlock_setGoEna (ClientGooseControlBlock self, bool goEna)
 
LIB61850_API const char * ClientGooseControlBlock_getGoID (ClientGooseControlBlock self)
 
LIB61850_API void ClientGooseControlBlock_setGoID (ClientGooseControlBlock self, const char *goID)
 
LIB61850_API const char * ClientGooseControlBlock_getDatSet (ClientGooseControlBlock self)
 
LIB61850_API void ClientGooseControlBlock_setDatSet (ClientGooseControlBlock self, const char *datSet)
 
LIB61850_API uint32_t ClientGooseControlBlock_getConfRev (ClientGooseControlBlock self)
 
LIB61850_API bool ClientGooseControlBlock_getNdsComm (ClientGooseControlBlock self)
 
LIB61850_API uint32_t ClientGooseControlBlock_getMinTime (ClientGooseControlBlock self)
 
LIB61850_API uint32_t ClientGooseControlBlock_getMaxTime (ClientGooseControlBlock self)
 
LIB61850_API bool ClientGooseControlBlock_getFixedOffs (ClientGooseControlBlock self)
 
LIB61850_API PhyComAddress ClientGooseControlBlock_getDstAddress (ClientGooseControlBlock self)
 
LIB61850_API void ClientGooseControlBlock_setDstAddress (ClientGooseControlBlock self, PhyComAddress value)
 
LIB61850_API DEPRECATED MmsValueClientGooseControlBlock_getDstAddress_addr (ClientGooseControlBlock self)
 
LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_addr (ClientGooseControlBlock self, MmsValue *macAddr)
 
LIB61850_API DEPRECATED uint8_t ClientGooseControlBlock_getDstAddress_priority (ClientGooseControlBlock self)
 
LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_priority (ClientGooseControlBlock self, uint8_t priorityValue)
 
LIB61850_API DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_vid (ClientGooseControlBlock self)
 
LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_vid (ClientGooseControlBlock self, uint16_t vidValue)
 
LIB61850_API DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_appid (ClientGooseControlBlock self)
 
LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_appid (ClientGooseControlBlock self, uint16_t appidValue)
 
LIB61850_API ClientGooseControlBlock IedConnection_getGoCBValues (IedConnection self, IedClientError *error, const char *goCBReference, ClientGooseControlBlock updateGoCB)
 Read access to attributes of a GOOSE control block (GoCB) at the connected server. More...
 
LIB61850_API uint32_t IedConnection_getGoCBValuesAsync (IedConnection self, IedClientError *error, const char *goCBReference, ClientGooseControlBlock updateGoCB, IedConnection_GetGoCBValuesHandler handler, void *parameter)
 Read access to attributes of a GOOSE control block (GoCB) at the connected server (async version) More...
 
LIB61850_API void IedConnection_setGoCBValues (IedConnection self, IedClientError *error, ClientGooseControlBlock goCB, uint32_t parametersMask, bool singleRequest)
 Write access to attributes of a GOOSE control block (GoCB) at the connected server. More...
 
LIB61850_API uint32_t IedConnection_setGoCBValuesAsync (IedConnection self, IedClientError *error, ClientGooseControlBlock goCB, uint32_t parametersMask, bool singleRequest, IedConnection_GenericServiceHandler handler, void *parameter)
 Write access to attributes of a GOOSE control block (GoCB) at the connected server (async version) More...
 

Detailed Description

Macro Definition Documentation

◆ GOCB_ELEMENT_ALL

#define GOCB_ELEMENT_ALL   511

select all elements of the GoCB

◆ GOCB_ELEMENT_CONF_REV

#define GOCB_ELEMENT_CONF_REV   8

Configuration revision GoCB block element (this is usually read-only)

◆ GOCB_ELEMENT_DATSET

#define GOCB_ELEMENT_DATSET   4

Data set GoCB block element

◆ GOCB_ELEMENT_DST_ADDRESS

#define GOCB_ELEMENT_DST_ADDRESS   32

Destination address GoCB block element (read-only according to 61850-7-2)

◆ GOCB_ELEMENT_FIXED_OFFS

#define GOCB_ELEMENT_FIXED_OFFS   256

Fixed offsets GoCB block element (read-only according to 61850-7-2)

◆ GOCB_ELEMENT_GO_ENA

#define GOCB_ELEMENT_GO_ENA   1

Enable GOOSE publisher GoCB block element

◆ GOCB_ELEMENT_GO_ID

#define GOCB_ELEMENT_GO_ID   2

GOOSE ID GoCB block element

◆ GOCB_ELEMENT_MAX_TIME

#define GOCB_ELEMENT_MAX_TIME   128

Maximum time GoCB block element (read-only according to 61850-7-2)

◆ GOCB_ELEMENT_MIN_TIME

#define GOCB_ELEMENT_MIN_TIME   64

Minimum time GoCB block element (read-only according to 61850-7-2)

◆ GOCB_ELEMENT_NDS_COMM

#define GOCB_ELEMENT_NDS_COMM   16

Need commission GoCB block element (read-only according to 61850-7-2)

Typedef Documentation

◆ IedConnection_GetGoCBValuesHandler

typedef void(* IedConnection_GetGoCBValuesHandler) (uint32_t invokeId, void *parameter, IedClientError err, ClientGooseControlBlock goCB)

Function Documentation

◆ ClientGooseControlBlock_create()

LIB61850_API ClientGooseControlBlock ClientGooseControlBlock_create ( const char *  dataAttributeReference)

◆ ClientGooseControlBlock_destroy()

LIB61850_API void ClientGooseControlBlock_destroy ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getConfRev()

LIB61850_API uint32_t ClientGooseControlBlock_getConfRev ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDatSet()

LIB61850_API const char* ClientGooseControlBlock_getDatSet ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDstAddress()

LIB61850_API PhyComAddress ClientGooseControlBlock_getDstAddress ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDstAddress_addr()

LIB61850_API DEPRECATED MmsValue* ClientGooseControlBlock_getDstAddress_addr ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDstAddress_appid()

LIB61850_API DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_appid ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDstAddress_priority()

LIB61850_API DEPRECATED uint8_t ClientGooseControlBlock_getDstAddress_priority ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getDstAddress_vid()

LIB61850_API DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_vid ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getFixedOffs()

LIB61850_API bool ClientGooseControlBlock_getFixedOffs ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getGoEna()

LIB61850_API bool ClientGooseControlBlock_getGoEna ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getGoID()

LIB61850_API const char* ClientGooseControlBlock_getGoID ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getMaxTime()

LIB61850_API uint32_t ClientGooseControlBlock_getMaxTime ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getMinTime()

LIB61850_API uint32_t ClientGooseControlBlock_getMinTime ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_getNdsComm()

LIB61850_API bool ClientGooseControlBlock_getNdsComm ( ClientGooseControlBlock  self)

◆ ClientGooseControlBlock_setDatSet()

LIB61850_API void ClientGooseControlBlock_setDatSet ( ClientGooseControlBlock  self,
const char *  datSet 
)

◆ ClientGooseControlBlock_setDstAddress()

LIB61850_API void ClientGooseControlBlock_setDstAddress ( ClientGooseControlBlock  self,
PhyComAddress  value 
)

◆ ClientGooseControlBlock_setDstAddress_addr()

LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_addr ( ClientGooseControlBlock  self,
MmsValue macAddr 
)

◆ ClientGooseControlBlock_setDstAddress_appid()

LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_appid ( ClientGooseControlBlock  self,
uint16_t  appidValue 
)

◆ ClientGooseControlBlock_setDstAddress_priority()

LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_priority ( ClientGooseControlBlock  self,
uint8_t  priorityValue 
)

◆ ClientGooseControlBlock_setDstAddress_vid()

LIB61850_API DEPRECATED void ClientGooseControlBlock_setDstAddress_vid ( ClientGooseControlBlock  self,
uint16_t  vidValue 
)

◆ ClientGooseControlBlock_setGoEna()

LIB61850_API void ClientGooseControlBlock_setGoEna ( ClientGooseControlBlock  self,
bool  goEna 
)

◆ ClientGooseControlBlock_setGoID()

LIB61850_API void ClientGooseControlBlock_setGoID ( ClientGooseControlBlock  self,
const char *  goID 
)

◆ IedConnection_getGoCBValues()

LIB61850_API ClientGooseControlBlock IedConnection_getGoCBValues ( IedConnection  self,
IedClientError error,
const char *  goCBReference,
ClientGooseControlBlock  updateGoCB 
)

Read access to attributes of a GOOSE control block (GoCB) at the connected server.

A GoCB contains the configuration values for a single GOOSE publisher.

The requested GoCB has to be specified by its object IEC 61850 ACSI object reference. E.g.

"simpleIOGernericIO/LLN0.gcbEvents"

This function is used to perform the actual read service for the GoCB values. To access the received values the functions of ClientGooseControlBlock have to be used.

If called with a NULL argument for the updateGoCB parameter a new ClientGooseControlBlock instance is created and populated with the values received by the server. It is up to the user to release this object by calling the ClientGooseControlBlock_destroy function when the object is no longer needed. If called with a reference to an existing ClientGooseControlBlock instance the values of the attributes will be updated and no new instance will be created.

Note: This function maps to a single MMS read request to retrieve the complete GoCB at once.

Parameters
connectionthe connection object
errorthe error code if an error occurs
goCBReferenceIEC 61850-7-2 ACSI object reference of the GOOSE control block
updateRcba reference to an existing ClientGooseControlBlock instance or NULL
Returns
new ClientGooseControlBlock instance or the instance provided by the user with the updateRcb parameter.

◆ IedConnection_getGoCBValuesAsync()

LIB61850_API uint32_t IedConnection_getGoCBValuesAsync ( IedConnection  self,
IedClientError error,
const char *  goCBReference,
ClientGooseControlBlock  updateGoCB,
IedConnection_GetGoCBValuesHandler  handler,
void *  parameter 
)

Read access to attributes of a GOOSE control block (GoCB) at the connected server (async version)

A GoCB contains the configuration values for a single GOOSE publisher.

The requested GoCB has to be specified by its object IEC 61850 ACSI object reference. E.g.

"simpleIOGernericIO/LLN0.gcbEvents"

This function is used to perform the actual read service for the GoCB values. To access the received values the functions of ClientGooseControlBlock have to be used.

If called with a NULL argument for the updateGoCB parameter a new ClientGooseControlBlock instance is created and populated with the values received by the server. It is up to the user to release this object by calling the ClientGooseControlBlock_destroy function when the object is no longer needed. If called with a reference to an existing ClientGooseControlBlock instance the values of the attributes will be updated and no new instance will be created.

Note: This function maps to a single MMS read request to retrieve the complete GoCB at once.

Parameters
connectionthe connection object
errorthe error code if an error occurs
goCBReferenceIEC 61850-7-2 ACSI object reference of the GOOSE control block
updateRcba reference to an existing ClientGooseControlBlock instance or NULL
handlerthe user callback that is called when the service is completed or timed out
parameteruser provided parameter that is passed to the callback handler
Returns
the invoke ID of the request

◆ IedConnection_setGoCBValues()

LIB61850_API void IedConnection_setGoCBValues ( IedConnection  self,
IedClientError error,
ClientGooseControlBlock  goCB,
uint32_t  parametersMask,
bool  singleRequest 
)

Write access to attributes of a GOOSE control block (GoCB) at the connected server.

The GoCB and the values to be written are specified with the goCB parameter.

The parametersMask parameter specifies which attributes of the remote GoCB have to be set by this request. You can specify multiple attributes by ORing the defined bit values. If all attributes have to be written GOCB_ELEMENT_ALL can be used.

The singleRequest parameter specifies the mapping to the corresponding MMS write request. Standard compliant servers should accept both variants. But some server accept only one variant. Then the value of this parameter will be of relevance.

Parameters
connectionthe connection object
errorthe error code if an error occurs
goCBClientGooseControlBlock instance that actually holds the parameter values to be written.
parametersMaskspecifies the parameters contained in the setGoCBValues request.
singleRequestspecifies if the seGoCBValues services is mapped to a single MMS write request containing multiple variables or to multiple MMS write requests.

◆ IedConnection_setGoCBValuesAsync()

LIB61850_API uint32_t IedConnection_setGoCBValuesAsync ( IedConnection  self,
IedClientError error,
ClientGooseControlBlock  goCB,
uint32_t  parametersMask,
bool  singleRequest,
IedConnection_GenericServiceHandler  handler,
void *  parameter 
)

Write access to attributes of a GOOSE control block (GoCB) at the connected server (async version)

The GoCB and the values to be written are specified with the goCB parameter.

The parametersMask parameter specifies which attributes of the remote GoCB have to be set by this request. You can specify multiple attributes by ORing the defined bit values. If all attributes have to be written GOCB_ELEMENT_ALL can be used.

The singleRequest parameter specifies the mapping to the corresponding MMS write request. Standard compliant servers should accept both variants. But some server accept only one variant. Then the value of this parameter will be of relevance.

Parameters
connectionthe connection object
errorthe error code if an error occurs
goCBClientGooseControlBlock instance that actually holds the parameter values to be written.
parametersMaskspecifies the parameters contained in the setGoCBValues request.
singleRequestspecifies if the seGoCBValues services is mapped to a single MMS write request containing multiple variables or to multiple MMS write requests.
handlerthe user callback that is called when the service is completed or timed out
parameteruser provided parameter that is passed to the callback handler
Returns
the invoke ID of the request