libiec61850  1.2.0
Macros | 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
 

Functions

ClientGooseControlBlock ClientGooseControlBlock_create (const char *dataAttributeReference)
 
void ClientGooseControlBlock_destroy (ClientGooseControlBlock self)
 
bool ClientGooseControlBlock_getGoEna (ClientGooseControlBlock self)
 
void ClientGooseControlBlock_setGoEna (ClientGooseControlBlock self, bool goEna)
 
const char * ClientGooseControlBlock_getGoID (ClientGooseControlBlock self)
 
void ClientGooseControlBlock_setGoID (ClientGooseControlBlock self, const char *goID)
 
const char * ClientGooseControlBlock_getDatSet (ClientGooseControlBlock self)
 
void ClientGooseControlBlock_setDatSet (ClientGooseControlBlock self, const char *datSet)
 
uint32_t ClientGooseControlBlock_getConfRev (ClientGooseControlBlock self)
 
bool ClientGooseControlBlock_getNdsComm (ClientGooseControlBlock self)
 
uint32_t ClientGooseControlBlock_getMinTime (ClientGooseControlBlock self)
 
uint32_t ClientGooseControlBlock_getMaxTime (ClientGooseControlBlock self)
 
bool ClientGooseControlBlock_getFixedOffs (ClientGooseControlBlock self)
 
PhyComAddress ClientGooseControlBlock_getDstAddress (ClientGooseControlBlock self)
 
void ClientGooseControlBlock_setDstAddress (ClientGooseControlBlock self, PhyComAddress value)
 
DEPRECATED MmsValueClientGooseControlBlock_getDstAddress_addr (ClientGooseControlBlock self)
 
DEPRECATED void ClientGooseControlBlock_setDstAddress_addr (ClientGooseControlBlock self, MmsValue *macAddr)
 
DEPRECATED uint8_t ClientGooseControlBlock_getDstAddress_priority (ClientGooseControlBlock self)
 
DEPRECATED void ClientGooseControlBlock_setDstAddress_priority (ClientGooseControlBlock self, uint8_t priorityValue)
 
DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_vid (ClientGooseControlBlock self)
 
DEPRECATED void ClientGooseControlBlock_setDstAddress_vid (ClientGooseControlBlock self, uint16_t vidValue)
 
DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_appid (ClientGooseControlBlock self)
 
DEPRECATED void ClientGooseControlBlock_setDstAddress_appid (ClientGooseControlBlock self, uint16_t appidValue)
 
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. More...
 
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...
 

Detailed Description

Macro Definition Documentation

#define GOCB_ELEMENT_ALL   511

select all elements of the GoCB

#define GOCB_ELEMENT_CONF_REV   8

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

#define GOCB_ELEMENT_DATSET   4

Data set GoCB block element

#define GOCB_ELEMENT_DST_ADDRESS   32

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

#define GOCB_ELEMENT_FIXED_OFFS   256

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

#define GOCB_ELEMENT_GO_ENA   1

Enable GOOSE publisher GoCB block element

#define GOCB_ELEMENT_GO_ID   2

GOOSE ID GoCB block element

#define GOCB_ELEMENT_MAX_TIME   128

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

#define GOCB_ELEMENT_MIN_TIME   64

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

#define GOCB_ELEMENT_NDS_COMM   16

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

Function Documentation

ClientGooseControlBlock ClientGooseControlBlock_create ( const char *  dataAttributeReference)
void ClientGooseControlBlock_destroy ( ClientGooseControlBlock  self)
uint32_t ClientGooseControlBlock_getConfRev ( ClientGooseControlBlock  self)
const char* ClientGooseControlBlock_getDatSet ( ClientGooseControlBlock  self)
PhyComAddress ClientGooseControlBlock_getDstAddress ( ClientGooseControlBlock  self)
DEPRECATED MmsValue* ClientGooseControlBlock_getDstAddress_addr ( ClientGooseControlBlock  self)
DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_appid ( ClientGooseControlBlock  self)
DEPRECATED uint8_t ClientGooseControlBlock_getDstAddress_priority ( ClientGooseControlBlock  self)
DEPRECATED uint16_t ClientGooseControlBlock_getDstAddress_vid ( ClientGooseControlBlock  self)
bool ClientGooseControlBlock_getFixedOffs ( ClientGooseControlBlock  self)
bool ClientGooseControlBlock_getGoEna ( ClientGooseControlBlock  self)
const char* ClientGooseControlBlock_getGoID ( ClientGooseControlBlock  self)
uint32_t ClientGooseControlBlock_getMaxTime ( ClientGooseControlBlock  self)
uint32_t ClientGooseControlBlock_getMinTime ( ClientGooseControlBlock  self)
bool ClientGooseControlBlock_getNdsComm ( ClientGooseControlBlock  self)
void ClientGooseControlBlock_setDatSet ( ClientGooseControlBlock  self,
const char *  datSet 
)
void ClientGooseControlBlock_setDstAddress ( ClientGooseControlBlock  self,
PhyComAddress  value 
)
DEPRECATED void ClientGooseControlBlock_setDstAddress_addr ( ClientGooseControlBlock  self,
MmsValue macAddr 
)
DEPRECATED void ClientGooseControlBlock_setDstAddress_appid ( ClientGooseControlBlock  self,
uint16_t  appidValue 
)
DEPRECATED void ClientGooseControlBlock_setDstAddress_priority ( ClientGooseControlBlock  self,
uint8_t  priorityValue 
)
DEPRECATED void ClientGooseControlBlock_setDstAddress_vid ( ClientGooseControlBlock  self,
uint16_t  vidValue 
)
void ClientGooseControlBlock_setGoEna ( ClientGooseControlBlock  self,
bool  goEna 
)
void ClientGooseControlBlock_setGoID ( ClientGooseControlBlock  self,
const char *  goID 
)
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.
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.