libiec61850
1.6.0
|
Macros | |
#define | IEC61850_REASON_NOT_INCLUDED 0 |
#define | IEC61850_REASON_DATA_CHANGE 1 |
#define | IEC61850_REASON_QUALITY_CHANGE 2 |
#define | IEC61850_REASON_DATA_UPDATE 4 |
#define | IEC61850_REASON_INTEGRITY 8 |
#define | IEC61850_REASON_GI 16 |
#define | IEC61850_REASON_UNKNOWN 32 |
#define | RCB_ELEMENT_RPT_ID 1 |
#define | RCB_ELEMENT_RPT_ENA 2 |
#define | RCB_ELEMENT_RESV 4 |
#define | RCB_ELEMENT_DATSET 8 |
#define | RCB_ELEMENT_CONF_REV 16 |
#define | RCB_ELEMENT_OPT_FLDS 32 |
#define | RCB_ELEMENT_BUF_TM 64 |
#define | RCB_ELEMENT_SQ_NUM 128 |
#define | RCB_ELEMENT_TRG_OPS 256 |
#define | RCB_ELEMENT_INTG_PD 512 |
#define | RCB_ELEMENT_GI 1024 |
#define | RCB_ELEMENT_PURGE_BUF 2048 |
#define | RCB_ELEMENT_ENTRY_ID 4096 |
#define | RCB_ELEMENT_TIME_OF_ENTRY 8192 |
#define | RCB_ELEMENT_RESV_TMS 16384 |
#define | RCB_ELEMENT_OWNER 32768 |
Typedefs | |
typedef void(* | IedConnection_GetRCBValuesHandler) (uint32_t invokeId, void *parameter, IedClientError err, ClientReportControlBlock rcb) |
typedef int | ReasonForInclusion |
typedef void(* | ReportCallbackFunction) (void *parameter, ClientReport report) |
Callback function for receiving reports. More... | |
Functions | |
LIB61850_API ClientReportControlBlock | IedConnection_getRCBValues (IedConnection self, IedClientError *error, const char *rcbReference, ClientReportControlBlock updateRcb) |
Read access to attributes of a report control block (RCB) at the connected server. More... | |
LIB61850_API uint32_t | IedConnection_getRCBValuesAsync (IedConnection self, IedClientError *error, const char *rcbReference, ClientReportControlBlock updateRcb, IedConnection_GetRCBValuesHandler handler, void *parameter) |
LIB61850_API void | IedConnection_setRCBValues (IedConnection self, IedClientError *error, ClientReportControlBlock rcb, uint32_t parametersMask, bool singleRequest) |
Write access to attributes of a report control block (RCB) at the connected server. More... | |
LIB61850_API uint32_t | IedConnection_setRCBValuesAsync (IedConnection self, IedClientError *error, ClientReportControlBlock rcb, uint32_t parametersMask, bool singleRequest, IedConnection_GenericServiceHandler handler, void *parameter) |
LIB61850_API void | IedConnection_installReportHandler (IedConnection self, const char *rcbReference, const char *rptId, ReportCallbackFunction handler, void *handlerParameter) |
Install a report handler function for the specified report control block (RCB) More... | |
LIB61850_API void | IedConnection_uninstallReportHandler (IedConnection self, const char *rcbReference) |
uninstall a report handler function for the specified report control block (RCB) More... | |
LIB61850_API void | IedConnection_triggerGIReport (IedConnection self, IedClientError *error, const char *rcbReference) |
trigger a general interrogation (GI) report for the specified report control block (RCB) More... | |
LIB61850_API const char * | ClientReport_getDataSetName (ClientReport self) |
get the name of the report data set More... | |
LIB61850_API MmsValue * | ClientReport_getDataSetValues (ClientReport self) |
return the received data set values of the report More... | |
LIB61850_API char * | ClientReport_getRcbReference (ClientReport self) |
return reference (name) of the server RCB associated with this ClientReport object More... | |
LIB61850_API char * | ClientReport_getRptId (ClientReport self) |
return RptId of the server RCB associated with this ClientReport object More... | |
LIB61850_API ReasonForInclusion | ClientReport_getReasonForInclusion (ClientReport self, int elementIndex) |
get the reason code (reason for inclusion) for a specific report data set element More... | |
LIB61850_API MmsValue * | ClientReport_getEntryId (ClientReport self) |
get the entry ID of the report More... | |
LIB61850_API bool | ClientReport_hasTimestamp (ClientReport self) |
determine if the last received report contains a timestamp More... | |
LIB61850_API bool | ClientReport_hasSeqNum (ClientReport self) |
determine if the last received report contains a sequence number More... | |
LIB61850_API uint16_t | ClientReport_getSeqNum (ClientReport self) |
get the value of the sequence number More... | |
LIB61850_API bool | ClientReport_hasDataSetName (ClientReport self) |
determine if the last received report contains the data set name More... | |
LIB61850_API bool | ClientReport_hasReasonForInclusion (ClientReport self) |
determine if the last received report contains reason-for-inclusion information More... | |
LIB61850_API bool | ClientReport_hasConfRev (ClientReport self) |
determine if the last received report contains the configuration revision More... | |
LIB61850_API uint32_t | ClientReport_getConfRev (ClientReport self) |
get the value of the configuration revision More... | |
LIB61850_API bool | ClientReport_hasBufOvfl (ClientReport self) |
indicates if the report contains the bufOvfl (buffer overflow) flag More... | |
LIB61850_API bool | ClientReport_getBufOvfl (ClientReport self) |
get the value of the bufOvfl flag More... | |
LIB61850_API bool | ClientReport_hasDataReference (ClientReport self) |
indicates if the report contains data references for the reported data set members More... | |
LIB61850_API const char * | ClientReport_getDataReference (ClientReport self, int elementIndex) |
get the data-reference of the element of the report data set More... | |
LIB61850_API uint64_t | ClientReport_getTimestamp (ClientReport self) |
get the timestamp of the report More... | |
LIB61850_API bool | ClientReport_hasSubSeqNum (ClientReport self) |
indicates if the report contains a sub sequence number and a more segments follow flags (for segmented reporting) More... | |
LIB61850_API uint16_t | ClientReport_getSubSeqNum (ClientReport self) |
get the sub sequence number of the report (for segmented reporting) More... | |
LIB61850_API bool | ClientReport_getMoreSeqmentsFollow (ClientReport self) |
get the more segments follow flag of the received report segment (for segmented reporting) More... | |
LIB61850_API char * | ReasonForInclusion_getValueAsString (ReasonForInclusion reasonCode) |
get the reason for inclusion of as a human readable string More... | |
LIB61850_API ClientReportControlBlock | ClientReportControlBlock_create (const char *rcbReference) |
LIB61850_API void | ClientReportControlBlock_destroy (ClientReportControlBlock self) |
LIB61850_API char * | ClientReportControlBlock_getObjectReference (ClientReportControlBlock self) |
LIB61850_API bool | ClientReportControlBlock_isBuffered (ClientReportControlBlock self) |
LIB61850_API const char * | ClientReportControlBlock_getRptId (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setRptId (ClientReportControlBlock self, const char *rptId) |
LIB61850_API bool | ClientReportControlBlock_getRptEna (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setRptEna (ClientReportControlBlock self, bool rptEna) |
LIB61850_API bool | ClientReportControlBlock_getResv (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setResv (ClientReportControlBlock self, bool resv) |
LIB61850_API const char * | ClientReportControlBlock_getDataSetReference (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setDataSetReference (ClientReportControlBlock self, const char *dataSetReference) |
set the data set to be observed by the RCB More... | |
LIB61850_API uint32_t | ClientReportControlBlock_getConfRev (ClientReportControlBlock self) |
LIB61850_API int | ClientReportControlBlock_getOptFlds (ClientReportControlBlock self) |
Gets the OptFlds parameter of the RCB (decides what information to include in a report) More... | |
LIB61850_API void | ClientReportControlBlock_setOptFlds (ClientReportControlBlock self, int optFlds) |
Set the OptFlds parameter of the RCB (decides what information to include in a report) More... | |
LIB61850_API uint32_t | ClientReportControlBlock_getBufTm (ClientReportControlBlock self) |
Get the BufTm (buffer time) parameter of the RCB. More... | |
LIB61850_API void | ClientReportControlBlock_setBufTm (ClientReportControlBlock self, uint32_t bufTm) |
Set the BufTm (buffer time) parameter of the RCB. More... | |
LIB61850_API uint16_t | ClientReportControlBlock_getSqNum (ClientReportControlBlock self) |
LIB61850_API int | ClientReportControlBlock_getTrgOps (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setTrgOps (ClientReportControlBlock self, int trgOps) |
LIB61850_API uint32_t | ClientReportControlBlock_getIntgPd (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setIntgPd (ClientReportControlBlock self, uint32_t intgPd) |
LIB61850_API bool | ClientReportControlBlock_getGI (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setGI (ClientReportControlBlock self, bool gi) |
LIB61850_API bool | ClientReportControlBlock_getPurgeBuf (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setPurgeBuf (ClientReportControlBlock self, bool purgeBuf) |
Set the "PurgeBuf" attribute value (only BRCB) More... | |
LIB61850_API bool | ClientReportControlBlock_hasResvTms (ClientReportControlBlock self) |
Check if optional attribute "ResvTms" is present in BRCB. More... | |
LIB61850_API int16_t | ClientReportControlBlock_getResvTms (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setResvTms (ClientReportControlBlock self, int16_t resvTms) |
LIB61850_API MmsValue * | ClientReportControlBlock_getEntryId (ClientReportControlBlock self) |
LIB61850_API void | ClientReportControlBlock_setEntryId (ClientReportControlBlock self, MmsValue *entryId) |
LIB61850_API uint64_t | ClientReportControlBlock_getEntryTime (ClientReportControlBlock self) |
LIB61850_API MmsValue * | ClientReportControlBlock_getOwner (ClientReportControlBlock self) |
#define IEC61850_REASON_DATA_CHANGE 1 |
the element is included due to a change of the data value
#define IEC61850_REASON_DATA_UPDATE 4 |
the element is included due to an update of the data value
#define IEC61850_REASON_GI 16 |
the element is included due to a general interrogation by the client
#define IEC61850_REASON_INTEGRITY 8 |
the element is included due to a periodic integrity report task
#define IEC61850_REASON_NOT_INCLUDED 0 |
the element is not included in the received report
#define IEC61850_REASON_QUALITY_CHANGE 2 |
the element is included due to a change in the quality of data
#define IEC61850_REASON_UNKNOWN 32 |
the reason for inclusion is unknown (e.g. report is not configured to include reason-for-inclusion)
#define RCB_ELEMENT_BUF_TM 64 |
include the bufTm (event buffering time) element into the setRCB request
#define RCB_ELEMENT_CONF_REV 16 |
include the configuration revision element into the setRCB request
#define RCB_ELEMENT_DATSET 8 |
include the data set element into the setRCB request
#define RCB_ELEMENT_ENTRY_ID 4096 |
include the entry ID element into the setRCB request (only available in buffered RCBs)
#define RCB_ELEMENT_GI 1024 |
include the GI (general interrogation) element into the setRCB request
#define RCB_ELEMENT_INTG_PD 512 |
include the integrity period element into the setRCB request
#define RCB_ELEMENT_OPT_FLDS 32 |
include the option fields element into the setRCB request
#define RCB_ELEMENT_OWNER 32768 |
include the owner element into the setRCB request
#define RCB_ELEMENT_PURGE_BUF 2048 |
include the purge buffer element into the setRCB request (only available in buffered RCBs)
#define RCB_ELEMENT_RESV 4 |
include the reservation element into the setRCB request (only available in unbuffered RCBs!)
#define RCB_ELEMENT_RESV_TMS 16384 |
include the reservation time element into the setRCB request (only available in buffered RCBs)
#define RCB_ELEMENT_RPT_ENA 2 |
include the report enable element into the setRCB request
#define RCB_ELEMENT_RPT_ID 1 |
include the report ID into the setRCB request
#define RCB_ELEMENT_SQ_NUM 128 |
include the sequence number element into the setRCB request (should be used!)
#define RCB_ELEMENT_TIME_OF_ENTRY 8192 |
include the time of entry element into the setRCB request (only available in buffered RCBs)
#define RCB_ELEMENT_TRG_OPS 256 |
include the trigger options element into the setRCB request
typedef void(* IedConnection_GetRCBValuesHandler) (uint32_t invokeId, void *parameter, IedClientError err, ClientReportControlBlock rcb) |
typedef int ReasonForInclusion |
Describes the reason for the inclusion of the element in the report
typedef void(* ReportCallbackFunction) (void *parameter, ClientReport report) |
Callback function for receiving reports.
parameter | a user provided parameter that is handed to the callback function |
report | a ClientReport instance that holds the informations contained in the received report |
LIB61850_API bool ClientReport_getBufOvfl | ( | ClientReport | self | ) |
get the value of the bufOvfl flag
self | the ClientReport instance |
LIB61850_API uint32_t ClientReport_getConfRev | ( | ClientReport | self | ) |
get the value of the configuration revision
NOTE: The returned value is undefined if configuration revision is not present in report
self | the ClientReport instance |
LIB61850_API const char* ClientReport_getDataReference | ( | ClientReport | self, |
int | elementIndex | ||
) |
get the data-reference of the element of the report data set
This function will only return a non-NULL value if the received report contains data-references. This can be determined by the ClientReport_hasDataReference function. NOTE: The returned string is allocated and hold by the ClientReport instance and is only valid until the ClientReport instance exists!
self | the ClientReport instance |
elementIndex | index of the data set element (starting with 0) |
the | data reference as string as provided by the report or NULL if the data reference is not available |
LIB61850_API const char* ClientReport_getDataSetName | ( | ClientReport | self | ) |
get the name of the report data set
NOTE: the returned string is only valid as long as the ClientReport instance exists!
self | the ClientReport instance |
LIB61850_API MmsValue* ClientReport_getDataSetValues | ( | ClientReport | self | ) |
return the received data set values of the report
NOTE: The returned MmsValue instance is handled by the library and only valid as long as the ClientReport instance exists! It should not be used outside the report callback handler to avoid concurrency issues.
self | the ClientReport instance |
LIB61850_API MmsValue* ClientReport_getEntryId | ( | ClientReport | self | ) |
get the entry ID of the report
Returns the entryId of the report if included in the report. Otherwise returns NULL.
self | the ClientReport instance |
LIB61850_API bool ClientReport_getMoreSeqmentsFollow | ( | ClientReport | self | ) |
get the more segments follow flag of the received report segment (for segmented reporting)
Will return true in case this is part of a segmented report and more report segments will follow or false, if the current report is not a segmented report or is the last segment of a segmented report.
self | the ClientReport instance |
LIB61850_API char* ClientReport_getRcbReference | ( | ClientReport | self | ) |
return reference (name) of the server RCB associated with this ClientReport object
self | the ClientReport instance |
LIB61850_API ReasonForInclusion ClientReport_getReasonForInclusion | ( | ClientReport | self, |
int | elementIndex | ||
) |
get the reason code (reason for inclusion) for a specific report data set element
self | the ClientReport instance |
elementIndex | index of the data set element (starting with 0) |
LIB61850_API char* ClientReport_getRptId | ( | ClientReport | self | ) |
return RptId of the server RCB associated with this ClientReport object
self | the ClientReport instance |
LIB61850_API uint16_t ClientReport_getSeqNum | ( | ClientReport | self | ) |
get the value of the sequence number
NOTE: The returned value is undefined if the sequence number is not present in report
self | the ClientReport instance |
LIB61850_API uint16_t ClientReport_getSubSeqNum | ( | ClientReport | self | ) |
get the sub sequence number of the report (for segmented reporting)
Returns the sub sequence number of the report. This is 0 for the first report of a segmented report and will be increased by one for each report segment.
self | the ClientReport instance |
LIB61850_API uint64_t ClientReport_getTimestamp | ( | ClientReport | self | ) |
get the timestamp of the report
Returns the timestamp of the report if included in the report. Otherwise the value is undefined. Use the ClientReport_hasTimestamp function first to figure out if the timestamp is valid
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasBufOvfl | ( | ClientReport | self | ) |
indicates if the report contains the bufOvfl (buffer overflow) flag
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasConfRev | ( | ClientReport | self | ) |
determine if the last received report contains the configuration revision
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasDataReference | ( | ClientReport | self | ) |
indicates if the report contains data references for the reported data set members
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasDataSetName | ( | ClientReport | self | ) |
determine if the last received report contains the data set name
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasReasonForInclusion | ( | ClientReport | self | ) |
determine if the last received report contains reason-for-inclusion information
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasSeqNum | ( | ClientReport | self | ) |
determine if the last received report contains a sequence number
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasSubSeqNum | ( | ClientReport | self | ) |
indicates if the report contains a sub sequence number and a more segments follow flags (for segmented reporting)
self | the ClientReport instance |
LIB61850_API bool ClientReport_hasTimestamp | ( | ClientReport | self | ) |
determine if the last received report contains a timestamp
self | the ClientReport instance |
LIB61850_API ClientReportControlBlock ClientReportControlBlock_create | ( | const char * | rcbReference | ) |
LIB61850_API void ClientReportControlBlock_destroy | ( | ClientReportControlBlock | self | ) |
LIB61850_API uint32_t ClientReportControlBlock_getBufTm | ( | ClientReportControlBlock | self | ) |
Get the BufTm (buffer time) parameter of the RCB.
The buffer time is the time to wait after a triggering event before the report is actually sent. It is used to be able to collect events that happen in a short time period and send them in a single report.
self | the RCB instance |
LIB61850_API uint32_t ClientReportControlBlock_getConfRev | ( | ClientReportControlBlock | self | ) |
LIB61850_API const char* ClientReportControlBlock_getDataSetReference | ( | ClientReportControlBlock | self | ) |
LIB61850_API MmsValue* ClientReportControlBlock_getEntryId | ( | ClientReportControlBlock | self | ) |
LIB61850_API uint64_t ClientReportControlBlock_getEntryTime | ( | ClientReportControlBlock | self | ) |
LIB61850_API bool ClientReportControlBlock_getGI | ( | ClientReportControlBlock | self | ) |
LIB61850_API uint32_t ClientReportControlBlock_getIntgPd | ( | ClientReportControlBlock | self | ) |
LIB61850_API char* ClientReportControlBlock_getObjectReference | ( | ClientReportControlBlock | self | ) |
LIB61850_API int ClientReportControlBlock_getOptFlds | ( | ClientReportControlBlock | self | ) |
Gets the OptFlds parameter of the RCB (decides what information to include in a report)
self | the RCB instance |
LIB61850_API MmsValue* ClientReportControlBlock_getOwner | ( | ClientReportControlBlock | self | ) |
LIB61850_API bool ClientReportControlBlock_getPurgeBuf | ( | ClientReportControlBlock | self | ) |
LIB61850_API bool ClientReportControlBlock_getResv | ( | ClientReportControlBlock | self | ) |
LIB61850_API int16_t ClientReportControlBlock_getResvTms | ( | ClientReportControlBlock | self | ) |
LIB61850_API bool ClientReportControlBlock_getRptEna | ( | ClientReportControlBlock | self | ) |
LIB61850_API const char* ClientReportControlBlock_getRptId | ( | ClientReportControlBlock | self | ) |
LIB61850_API uint16_t ClientReportControlBlock_getSqNum | ( | ClientReportControlBlock | self | ) |
LIB61850_API int ClientReportControlBlock_getTrgOps | ( | ClientReportControlBlock | self | ) |
LIB61850_API bool ClientReportControlBlock_hasResvTms | ( | ClientReportControlBlock | self | ) |
Check if optional attribute "ResvTms" is present in BRCB.
LIB61850_API bool ClientReportControlBlock_isBuffered | ( | ClientReportControlBlock | self | ) |
LIB61850_API void ClientReportControlBlock_setBufTm | ( | ClientReportControlBlock | self, |
uint32_t | bufTm | ||
) |
Set the BufTm (buffer time) parameter of the RCB.
The buffer time is the time to wait after a triggering event before the report is actually sent. It is used to be able to collect events that happen in a short time period and send them in a single report.
self | the RCB instance |
bufTm | the buffer time in ms |
LIB61850_API void ClientReportControlBlock_setDataSetReference | ( | ClientReportControlBlock | self, |
const char * | dataSetReference | ||
) |
set the data set to be observed by the RCB
The data set reference is a mixture of MMS and IEC 61850 syntax! In general the reference has the form: LDName/LNName$DataSetName
e.g. "simpleIOGenericIO/LLN0$Events"
It is standard that data sets are defined in LN0 logical nodes. But this is not mandatory.
Note: As a result of changing the data set the server will increase the confRev attribute of the RCB.
self | the RCB instance |
dataSetReference | the reference of the data set |
LIB61850_API void ClientReportControlBlock_setEntryId | ( | ClientReportControlBlock | self, |
MmsValue * | entryId | ||
) |
LIB61850_API void ClientReportControlBlock_setGI | ( | ClientReportControlBlock | self, |
bool | gi | ||
) |
LIB61850_API void ClientReportControlBlock_setIntgPd | ( | ClientReportControlBlock | self, |
uint32_t | intgPd | ||
) |
LIB61850_API void ClientReportControlBlock_setOptFlds | ( | ClientReportControlBlock | self, |
int | optFlds | ||
) |
Set the OptFlds parameter of the RCB (decides what information to include in a report)
self | the RCB instance |
optFlds | bit field representing the optional fields of a report (use flags from Report options (bit values combinable)) |
LIB61850_API void ClientReportControlBlock_setPurgeBuf | ( | ClientReportControlBlock | self, |
bool | purgeBuf | ||
) |
Set the "PurgeBuf" attribute value (only BRCB)
When set to true the report buffer will be cleared.
purgeBuf | attribute value |
LIB61850_API void ClientReportControlBlock_setResv | ( | ClientReportControlBlock | self, |
bool | resv | ||
) |
LIB61850_API void ClientReportControlBlock_setResvTms | ( | ClientReportControlBlock | self, |
int16_t | resvTms | ||
) |
LIB61850_API void ClientReportControlBlock_setRptEna | ( | ClientReportControlBlock | self, |
bool | rptEna | ||
) |
LIB61850_API void ClientReportControlBlock_setRptId | ( | ClientReportControlBlock | self, |
const char * | rptId | ||
) |
LIB61850_API void ClientReportControlBlock_setTrgOps | ( | ClientReportControlBlock | self, |
int | trgOps | ||
) |
LIB61850_API ClientReportControlBlock IedConnection_getRCBValues | ( | IedConnection | self, |
IedClientError * | error, | ||
const char * | rcbReference, | ||
ClientReportControlBlock | updateRcb | ||
) |
Read access to attributes of a report control block (RCB) at the connected server.
The requested RCB has to be specified by its object reference. E.g.
"simpleIOGenericIO/LLN0.RP.EventsRCB01"
or
"simpleIOGenericIO/LLN0.BR.EventsBRCB01"
Report control blocks have either "RP" or "BR" as part of their name following the logical node part. "RP" is part of the name of unbuffered RCBs whilst "BR" is part of the name of buffered RCBs.
This function is used to perform the actual read service. To access the received values the functions of ClientReportControlBlock have to be used.
If called with a NULL argument for the updateRcb parameter a new ClientReportControlBlock 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 ClientReportControlBlock_destroy function when the object is no longer needed. If called with a reference to an existing ClientReportControlBlock 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 RCB at once.
connection | the connection object |
error | the error code if an error occurs |
rcbReference | object reference of the report control block |
updateRcb | a reference to an existing ClientReportControlBlock instance or NULL |
LIB61850_API uint32_t IedConnection_getRCBValuesAsync | ( | IedConnection | self, |
IedClientError * | error, | ||
const char * | rcbReference, | ||
ClientReportControlBlock | updateRcb, | ||
IedConnection_GetRCBValuesHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API void IedConnection_installReportHandler | ( | IedConnection | self, |
const char * | rcbReference, | ||
const char * | rptId, | ||
ReportCallbackFunction | handler, | ||
void * | handlerParameter | ||
) |
Install a report handler function for the specified report control block (RCB)
This function will replace a report handler set earlier for the specified RCB. The report handler will be called whenever a report for the specified RCB is received. Please note that this function should be called whenever the RCB data set is changed or updated. Otherwise the internal data structures storing the received data set values will not be updated correctly.
self | the connection object |
rcbReference | object reference of the report control block |
rptId | a string that identifies the report. If the rptId is not available then the rcbReference is used to identify the report. |
handler | user provided callback function to be invoked when a report is received. |
handlerParameter | user provided parameter that will be passed to the callback function |
LIB61850_API void IedConnection_setRCBValues | ( | IedConnection | self, |
IedClientError * | error, | ||
ClientReportControlBlock | rcb, | ||
uint32_t | parametersMask, | ||
bool | singleRequest | ||
) |
Write access to attributes of a report control block (RCB) at the connected server.
The requested RCB has to be specified by its object reference (see also IedConnection_getRCBValues). The object reference for the referenced RCB is contained in the provided ClientReportControlBlock instance.
The parametersMask parameter specifies which attributes of the remote RCB have to be set by this request. You can specify multiple attributes by ORing the defined bit values.
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.
connection | the connection object |
error | the error code if an error occurs |
rcb | object reference of the ClientReportControlBlock instance that actually holds the parameter values to be written. |
parametersMask | specifies the parameters contained in the setRCBValues request. |
singleRequest | specifies if the setRCBValues services is mapped to a single MMS write request containing multiple variables or to multiple MMS write requests. |
LIB61850_API uint32_t IedConnection_setRCBValuesAsync | ( | IedConnection | self, |
IedClientError * | error, | ||
ClientReportControlBlock | rcb, | ||
uint32_t | parametersMask, | ||
bool | singleRequest, | ||
IedConnection_GenericServiceHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API void IedConnection_triggerGIReport | ( | IedConnection | self, |
IedClientError * | error, | ||
const char * | rcbReference | ||
) |
trigger a general interrogation (GI) report for the specified report control block (RCB)
The RCB must have been enabled and GI set as trigger option before this command can be performed.
connection | the connection object |
error | the error code if an error occurs |
rcbReference | object reference of the report control block |
LIB61850_API void IedConnection_uninstallReportHandler | ( | IedConnection | self, |
const char * | rcbReference | ||
) |
uninstall a report handler function for the specified report control block (RCB)
self | the connection object |
rcbReference | object reference of the report control block |
LIB61850_API char* ReasonForInclusion_getValueAsString | ( | ReasonForInclusion | reasonCode | ) |
get the reason for inclusion of as a human readable string
reasonCode |