libiec61850  1.5.3
Data Structures | Macros | Typedefs | Functions
IEC 61850 GOOSE publisher API

Data Structures

struct  CommParameters
 

Macros

#define GOOSE_SV_COMM_PARAMETERS
 

Typedefs

typedef struct sGoosePublisher * GoosePublisher
 

Functions

LIB61850_API GoosePublisher GoosePublisher_create (CommParameters *parameters, const char *interfaceID)
 Create a new GoosePublisher instance. More...
 
LIB61850_API GoosePublisher GoosePublisher_createEx (CommParameters *parameters, const char *interfaceID, bool useVlanTag)
 Create a new GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_destroy (GoosePublisher self)
 Release all resources of the GoosePublisher instance. More...
 
LIB61850_API int GoosePublisher_publish (GoosePublisher self, LinkedList dataSet)
 Publish a GOOSE message. More...
 
LIB61850_API int GoosePublisher_publishAndDump (GoosePublisher self, LinkedList dataSet, char *msgBuf, int32_t *msgLen, int32_t bufSize)
 Publish a GOOSE message and store the sent message in the provided buffer. More...
 
LIB61850_API void GoosePublisher_setGoID (GoosePublisher self, char *goID)
 Sets the GoID used by the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setGoCbRef (GoosePublisher self, char *goCbRef)
 Sets the GoCB reference used by the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setTimeAllowedToLive (GoosePublisher self, uint32_t timeAllowedToLive)
 Sets the time allowed to live value of the GOOSE messages. More...
 
LIB61850_API void GoosePublisher_setDataSetRef (GoosePublisher self, char *dataSetRef)
 Sets the data set reference used by the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setConfRev (GoosePublisher self, uint32_t confRev)
 Sets the configuration revision used by the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setSimulation (GoosePublisher self, bool simulation)
 Sets simulation flag in sent GOOSE messages. More...
 
LIB61850_API void GoosePublisher_setStNum (GoosePublisher self, uint32_t stNum)
 Manually sets the state number (stNum) of the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setSqNum (GoosePublisher self, uint32_t sqNum)
 Manually sets the sequence number (sqNum) of the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_setNeedsCommission (GoosePublisher self, bool ndsCom)
 Sets the needs commission flag in sent GOOSE messages. More...
 
LIB61850_API uint64_t GoosePublisher_increaseStNum (GoosePublisher self)
 Increase the state number (stNum) of the GoosePublisher instance. More...
 
LIB61850_API void GoosePublisher_reset (GoosePublisher self)
 Reset state and sequence number of the GoosePublisher instance. More...
 

Detailed Description

Macro Definition Documentation

◆ GOOSE_SV_COMM_PARAMETERS

#define GOOSE_SV_COMM_PARAMETERS

Typedef Documentation

◆ GoosePublisher

typedef struct sGoosePublisher* GoosePublisher

Function Documentation

◆ GoosePublisher_create()

LIB61850_API GoosePublisher GoosePublisher_create ( CommParameters parameters,
const char *  interfaceID 
)

Create a new GoosePublisher instance.

NOTE: The created GoosePublisher instance uses VLAN tags

Parameters
parametersGOOSE communication parameters
interfaceIdname of the Ethernet interface to use (e.g. "eth0")

◆ GoosePublisher_createEx()

LIB61850_API GoosePublisher GoosePublisher_createEx ( CommParameters parameters,
const char *  interfaceID,
bool  useVlanTag 
)

Create a new GoosePublisher instance.

Parameters
parametersGOOSE communication parameters
interfaceIdname of the Ethernet interface to use (e.g. "eth0")
useVlanTagenable or disable the usage of VLAN tags in GOOSE messages

◆ GoosePublisher_destroy()

LIB61850_API void GoosePublisher_destroy ( GoosePublisher  self)

Release all resources of the GoosePublisher instance.

Parameters
selfGoosePublisher instance

◆ GoosePublisher_increaseStNum()

LIB61850_API uint64_t GoosePublisher_increaseStNum ( GoosePublisher  self)

Increase the state number (stNum) of the GoosePublisher instance.

The state number should be increased whenever a member of the GOOSE data set changed

NOTE: This function also resets the sequence number (sqNum)

Parameters
selfGoosePublisher instance

◆ GoosePublisher_publish()

LIB61850_API int GoosePublisher_publish ( GoosePublisher  self,
LinkedList  dataSet 
)

Publish a GOOSE message.

NOTE: This function also increased the sequence number of the GOOSE publisher

Parameters
selfGoosePublisher instance
dataSetthe GOOSE data set to send

◆ GoosePublisher_publishAndDump()

LIB61850_API int GoosePublisher_publishAndDump ( GoosePublisher  self,
LinkedList  dataSet,
char *  msgBuf,
int32_t *  msgLen,
int32_t  bufSize 
)

Publish a GOOSE message and store the sent message in the provided buffer.

Parameters
selfGoosePublisher instance
dataSetthe GOOSE data set to send
msgBufto store the sent message
[out]msgLenthe length of the sent message
bufSizethe size of the buffer to store the sent message

◆ GoosePublisher_reset()

LIB61850_API void GoosePublisher_reset ( GoosePublisher  self)

Reset state and sequence number of the GoosePublisher instance.

This function will set the state number (stNum) to 1 and the sequence number (sqNum) to 0.

Parameters
selfGoosePublisher instance

◆ GoosePublisher_setConfRev()

LIB61850_API void GoosePublisher_setConfRev ( GoosePublisher  self,
uint32_t  confRev 
)

Sets the configuration revision used by the GoosePublisher instance.

Parameters
selfGoosePublisher instance
confRevthe configuration revision value

◆ GoosePublisher_setDataSetRef()

LIB61850_API void GoosePublisher_setDataSetRef ( GoosePublisher  self,
char *  dataSetRef 
)

Sets the data set reference used by the GoosePublisher instance.

Parameters
selfGoosePublisher instance
dataSetRefthe data set reference string

◆ GoosePublisher_setGoCbRef()

LIB61850_API void GoosePublisher_setGoCbRef ( GoosePublisher  self,
char *  goCbRef 
)

Sets the GoCB reference used by the GoosePublisher instance.

Parameters
selfGoosePublisher instance
goCbRefthe GoCB reference string

◆ GoosePublisher_setGoID()

LIB61850_API void GoosePublisher_setGoID ( GoosePublisher  self,
char *  goID 
)

Sets the GoID used by the GoosePublisher instance.

Parameters
selfGoosePublisher instance
goIDthe GoId string

◆ GoosePublisher_setNeedsCommission()

LIB61850_API void GoosePublisher_setNeedsCommission ( GoosePublisher  self,
bool  ndsCom 
)

Sets the needs commission flag in sent GOOSE messages.

Parameters
selfGoosePublisher instance
ndsComthe value of the needs commission flag

◆ GoosePublisher_setSimulation()

LIB61850_API void GoosePublisher_setSimulation ( GoosePublisher  self,
bool  simulation 
)

Sets simulation flag in sent GOOSE messages.

Parameters
selfGoosePublisher instance
simulationthe value of the simulation flag

◆ GoosePublisher_setSqNum()

LIB61850_API void GoosePublisher_setSqNum ( GoosePublisher  self,
uint32_t  sqNum 
)

Manually sets the sequence number (sqNum) of the GoosePublisher instance.

NOTE: Only for testing! The sequence number is increase manually whenever GoosePublisher_publish is called.

Parameters
selfGoosePublisher instance
stNumthe state number of the next GOOSE message to send

◆ GoosePublisher_setStNum()

LIB61850_API void GoosePublisher_setStNum ( GoosePublisher  self,
uint32_t  stNum 
)

Manually sets the state number (stNum) of the GoosePublisher instance.

NOTE: Only for testing! Use GoosePublisher_increaseStNum instead whenever a data set member changes.

Parameters
selfGoosePublisher instance
stNumthe state number of the next GOOSE message to send

◆ GoosePublisher_setTimeAllowedToLive()

LIB61850_API void GoosePublisher_setTimeAllowedToLive ( GoosePublisher  self,
uint32_t  timeAllowedToLive 
)

Sets the time allowed to live value of the GOOSE messages.

Parameters
selfGoosePublisher instance
timeAllowedToLivethe time allowed to live value in milliseconds