libiec61850
1.6.0
|
Functions to handle server independent configuration settings to define services, features, and other behavior of IEC 61850 server instances. More...
Data Structures | |
struct | IedServerConfig |
Configuration object to configure IEC 61850 stack features. More... | |
Macros | |
#define | IEC61850_REPORTSETTINGS_RPT_ID 1 |
#define | IEC61850_REPORTSETTINGS_BUF_TIME 2 |
#define | IEC61850_REPORTSETTINGS_DATSET 4 |
#define | IEC61850_REPORTSETTINGS_TRG_OPS 8 |
#define | IEC61850_REPORTSETTINGS_OPT_FIELDS 16 |
#define | IEC61850_REPORTSETTINGS_INTG_PD 32 |
Functions | |
LIB61850_API IedServerConfig | IedServerConfig_create (void) |
Create a new configuration object. More... | |
LIB61850_API void | IedServerConfig_destroy (IedServerConfig self) |
Destroy the configuration object. More... | |
LIB61850_API void | IedServerConfig_setEdition (IedServerConfig self, uint8_t edition) |
Set the IEC 61850 standard edition to use (default is edition 2) More... | |
LIB61850_API uint8_t | IedServerConfig_getEdition (IedServerConfig self) |
Get the configued IEC 61850 standard edition. More... | |
LIB61850_API void | IedServerConfig_setReportBufferSize (IedServerConfig self, int reportBufferSize) |
Set the report buffer size for buffered reporting. More... | |
LIB61850_API int | IedServerConfig_getReportBufferSize (IedServerConfig self) |
Gets the report buffer size for buffered reporting. More... | |
LIB61850_API void | IedServerConfig_setReportBufferSizeForURCBs (IedServerConfig self, int reportBufferSize) |
Set the report buffer size for unbuffered reporting. More... | |
LIB61850_API int | IedServerConfig_getReportBufferSizeForURCBs (IedServerConfig self) |
Gets the report buffer size for unbuffered reporting. More... | |
LIB61850_API void | IedServerConfig_setMaxMmsConnections (IedServerConfig self, int maxConnections) |
Set the maximum number of MMS (TCP) connections the server accepts. More... | |
LIB61850_API int | IedServerConfig_getMaxMmsConnections (IedServerConfig self) |
Get the maximum number of MMS (TCP) connections the server accepts. More... | |
LIB61850_API void | IedServerConfig_setSyncIntegrityReportTimes (IedServerConfig self, bool enable) |
Enable synchronized integrity report times. More... | |
LIB61850_API bool | IedServerConfig_getSyncIntegrityReportTimes (IedServerConfig self) |
Check if synchronized integrity report times are enabled. More... | |
LIB61850_API void | IedServerConfig_setFileServiceBasePath (IedServerConfig self, const char *basepath) |
Set the basepath of the file services. More... | |
LIB61850_API const char * | IedServerConfig_getFileServiceBasePath (IedServerConfig self) |
Get the basepath of the file services. More... | |
LIB61850_API void | IedServerConfig_enableFileService (IedServerConfig self, bool enable) |
Enable/disable the MMS file service support. More... | |
LIB61850_API bool | IedServerConfig_isFileServiceEnabled (IedServerConfig self) |
Is the MMS file service enabled or disabled. More... | |
LIB61850_API void | IedServerConfig_enableDynamicDataSetService (IedServerConfig self, bool enable) |
Enable/disable the dynamic data set service for MMS. More... | |
LIB61850_API bool | IedServerConfig_isDynamicDataSetServiceEnabled (IedServerConfig self) |
Is the dynamic data set service for MMS enabled or disabled. More... | |
LIB61850_API void | IedServerConfig_setMaxAssociationSpecificDataSets (IedServerConfig self, int maxDataSets) |
Set the maximum allowed number of association specific (non-permanent) data sets. More... | |
LIB61850_API int | IedServerConfig_getMaxAssociationSpecificDataSets (IedServerConfig self) |
Get the maximum allowed number of association specific (non-permanent) data sets. More... | |
LIB61850_API void | IedServerConfig_setMaxDomainSpecificDataSets (IedServerConfig self, int maxDataSets) |
Set the maximum allowed number of domain specific (permanent) data sets. More... | |
LIB61850_API int | IedServerConfig_getMaxDomainSpecificDataSets (IedServerConfig self) |
Get the maximum allowed number of domain specific (permanent) data sets. More... | |
LIB61850_API void | IedServerConfig_setMaxDataSetEntries (IedServerConfig self, int maxDataSetEntries) |
Set the maximum number of entries in dynamic data sets. More... | |
LIB61850_API int | IedServerConfig_getMaxDatasSetEntries (IedServerConfig self) |
Get the maximum number of entries in dynamic data sets. More... | |
LIB61850_API void | IedServerConfig_enableLogService (IedServerConfig self, bool enable) |
Enable/disable the log service for MMS. More... | |
LIB61850_API void | IedServerConfig_enableEditSG (IedServerConfig self, bool enable) |
Enable/disable the EditSG service to allow clients to change setting groups (default is enabled) More... | |
LIB61850_API void | IedServerConfig_enableResvTmsForSGCB (IedServerConfig self, bool enable) |
Enable/disable the SGCB.ResvTms when EditSG is enabled. More... | |
LIB61850_API void | IedServerConfig_enableResvTmsForBRCB (IedServerConfig self, bool enable) |
Enable/disable the presence of BRCB.ResvTms (default value is true) More... | |
LIB61850_API bool | IedServerConfig_isResvTmsForBRCBEnabled (IedServerConfig self) |
ResvTms for BRCB enabled (visible) More... | |
LIB61850_API void | IedServerConfig_enableOwnerForRCB (IedServerConfig self, bool enable) |
Enable/disable the presence of owner in report control blocks (default value is false);. More... | |
LIB61850_API bool | IedServerConfig_isOwnerForRCBEnabled (IedServerConfig self) |
Owner for RCBs enabled (visible) More... | |
LIB61850_API void | IedServerConfig_useIntegratedGoosePublisher (IedServerConfig self, bool enable) |
Enable/disable using the integrated GOOSE publisher for configured GoCBs. More... | |
LIB61850_API bool | IedServerConfig_isLogServiceEnabled (IedServerConfig self) |
Is the log service for MMS enabled or disabled. More... | |
LIB61850_API void | IedServerConfig_setReportSetting (IedServerConfig self, uint8_t setting, bool isDyn) |
Make a configurable report setting writeable or read-only. More... | |
LIB61850_API bool | IedServerConfig_getReportSetting (IedServerConfig self, uint8_t setting) |
Check if a configurable report setting is writable or read-only. More... | |
Functions to handle server independent configuration settings to define services, features, and other behavior of IEC 61850 server instances.
#define IEC61850_REPORTSETTINGS_BUF_TIME 2 |
#define IEC61850_REPORTSETTINGS_DATSET 4 |
#define IEC61850_REPORTSETTINGS_INTG_PD 32 |
#define IEC61850_REPORTSETTINGS_OPT_FIELDS 16 |
#define IEC61850_REPORTSETTINGS_RPT_ID 1 |
#define IEC61850_REPORTSETTINGS_TRG_OPS 8 |
LIB61850_API IedServerConfig IedServerConfig_create | ( | void | ) |
Create a new configuration object.
LIB61850_API void IedServerConfig_destroy | ( | IedServerConfig | self | ) |
Destroy the configuration object.
LIB61850_API void IedServerConfig_enableDynamicDataSetService | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the dynamic data set service for MMS.
[in] | enable | set true to enable dynamic data set service, otherwise false |
LIB61850_API void IedServerConfig_enableEditSG | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the EditSG service to allow clients to change setting groups (default is enabled)
NOTE: When disabled SGCB.ResvTms is not available online and the setting of IedServerConfig_enableResvTmsForSGCB is ignored.
[in] | enable | set true to enable, otherwise false (default value it true) |
LIB61850_API void IedServerConfig_enableFileService | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the MMS file service support.
[in] | enable | set true to enable the file services, otherwise false |
LIB61850_API void IedServerConfig_enableLogService | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the log service for MMS.
[in] | enable | set true to enable log service, otherwise false |
LIB61850_API void IedServerConfig_enableOwnerForRCB | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the presence of owner in report control blocks (default value is false);.
[in] | enable | set true to enable, otherwise false |
LIB61850_API void IedServerConfig_enableResvTmsForBRCB | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the presence of BRCB.ResvTms (default value is true)
[in] | enable | set true to enable, otherwise false |
LIB61850_API void IedServerConfig_enableResvTmsForSGCB | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable the SGCB.ResvTms when EditSG is enabled.
NOTE: When EditSG is disabled (see IedServerConfig_enableEditSG) then this setting is ignored.
[in] | enable | set true to enable, otherwise false (default value it true) |
LIB61850_API uint8_t IedServerConfig_getEdition | ( | IedServerConfig | self | ) |
Get the configued IEC 61850 standard edition.
LIB61850_API const char* IedServerConfig_getFileServiceBasePath | ( | IedServerConfig | self | ) |
Get the basepath of the file services.
LIB61850_API int IedServerConfig_getMaxAssociationSpecificDataSets | ( | IedServerConfig | self | ) |
Get the maximum allowed number of association specific (non-permanent) data sets.
LIB61850_API int IedServerConfig_getMaxDatasSetEntries | ( | IedServerConfig | self | ) |
Get the maximum number of entries in dynamic data sets.
LIB61850_API int IedServerConfig_getMaxDomainSpecificDataSets | ( | IedServerConfig | self | ) |
Get the maximum allowed number of domain specific (permanent) data sets.
LIB61850_API int IedServerConfig_getMaxMmsConnections | ( | IedServerConfig | self | ) |
Get the maximum number of MMS (TCP) connections the server accepts.
LIB61850_API int IedServerConfig_getReportBufferSize | ( | IedServerConfig | self | ) |
Gets the report buffer size for buffered reporting.
LIB61850_API int IedServerConfig_getReportBufferSizeForURCBs | ( | IedServerConfig | self | ) |
Gets the report buffer size for unbuffered reporting.
LIB61850_API bool IedServerConfig_getReportSetting | ( | IedServerConfig | self, |
uint8_t | setting | ||
) |
Check if a configurable report setting is writable or read-only.
[in] | setting | one of IEC61850_REPORTSETTINGS_RPT_ID, _BUF_TIME, _DATSET, _TRG_OPS, _OPT_FIELDS, _INTG_PD |
LIB61850_API bool IedServerConfig_getSyncIntegrityReportTimes | ( | IedServerConfig | self | ) |
Check if synchronized integrity report times are enabled.
NOTE: When this flag is enabled the integrity report generation times are aligned with the UTC epoch. Then the unix time stamps are straight multiples of the integrity interval.
LIB61850_API bool IedServerConfig_isDynamicDataSetServiceEnabled | ( | IedServerConfig | self | ) |
Is the dynamic data set service for MMS enabled or disabled.
LIB61850_API bool IedServerConfig_isFileServiceEnabled | ( | IedServerConfig | self | ) |
Is the MMS file service enabled or disabled.
LIB61850_API bool IedServerConfig_isLogServiceEnabled | ( | IedServerConfig | self | ) |
Is the log service for MMS enabled or disabled.
LIB61850_API bool IedServerConfig_isOwnerForRCBEnabled | ( | IedServerConfig | self | ) |
Owner for RCBs enabled (visible)
LIB61850_API bool IedServerConfig_isResvTmsForBRCBEnabled | ( | IedServerConfig | self | ) |
ResvTms for BRCB enabled (visible)
LIB61850_API void IedServerConfig_setEdition | ( | IedServerConfig | self, |
uint8_t | edition | ||
) |
Set the IEC 61850 standard edition to use (default is edition 2)
edition | IEC_61850_EDITION_1, IEC_61850_EDITION_2, or IEC_61850_EDITION_2_1 |
LIB61850_API void IedServerConfig_setFileServiceBasePath | ( | IedServerConfig | self, |
const char * | basepath | ||
) |
Set the basepath of the file services.
NOTE: the basepath specifies the local directory that is served by MMS file services
basepath | new file service base path |
LIB61850_API void IedServerConfig_setMaxAssociationSpecificDataSets | ( | IedServerConfig | self, |
int | maxDataSets | ||
) |
Set the maximum allowed number of association specific (non-permanent) data sets.
NOTE: This specifies the maximum number of non-permanent data sets per connection. When the connection is closed these data sets are deleted automatically.
maxDataSets | maximum number of allowed data sets. |
LIB61850_API void IedServerConfig_setMaxDataSetEntries | ( | IedServerConfig | self, |
int | maxDataSetEntries | ||
) |
Set the maximum number of entries in dynamic data sets.
NOTE: this comprises the base data set entries (can be simple or complex variables). When the client tries to create a data set with more member the request will be rejected and the data set will not be created.
maxDataSetEntries | the maximum number of entries allowed in a data set |
LIB61850_API void IedServerConfig_setMaxDomainSpecificDataSets | ( | IedServerConfig | self, |
int | maxDataSets | ||
) |
Set the maximum allowed number of domain specific (permanent) data sets.
maxDataSets | maximum number of allowed data sets. |
LIB61850_API void IedServerConfig_setMaxMmsConnections | ( | IedServerConfig | self, |
int | maxConnections | ||
) |
Set the maximum number of MMS (TCP) connections the server accepts.
NOTE: Parameter has to be smaller than CONFIG_MAXIMUM_TCP_CLIENT_CONNECTIONS if CONFIG_MAXIMUM_TCP_CLIENT_CONNECTIONS != -1
maxConnection | maximum number of TCP connections |
LIB61850_API void IedServerConfig_setReportBufferSize | ( | IedServerConfig | self, |
int | reportBufferSize | ||
) |
Set the report buffer size for buffered reporting.
reportBufferSize | the buffer size for each buffered report control block |
LIB61850_API void IedServerConfig_setReportBufferSizeForURCBs | ( | IedServerConfig | self, |
int | reportBufferSize | ||
) |
Set the report buffer size for unbuffered reporting.
reportBufferSize | the buffer size for each unbuffered report control block |
LIB61850_API void IedServerConfig_setReportSetting | ( | IedServerConfig | self, |
uint8_t | setting, | ||
bool | isDyn | ||
) |
Make a configurable report setting writeable or read-only.
[in] | setting | one of IEC61850_REPORTSETTINGS_RPT_ID, _BUF_TIME, _DATSET, _TRG_OPS, _OPT_FIELDS, _INTG_PD |
[in] | isDyn | true, when setting is writable ("Dyn") or false, when read-only |
LIB61850_API void IedServerConfig_setSyncIntegrityReportTimes | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable synchronized integrity report times.
NOTE: When this flag is enabled the integrity report generation times are aligned with the UTC epoch. Then the unix time stamps are straight multiples of the integrity interval.
enable | when true synchronized integrity report times are enabled |
LIB61850_API void IedServerConfig_useIntegratedGoosePublisher | ( | IedServerConfig | self, |
bool | enable | ||
) |
Enable/disable using the integrated GOOSE publisher for configured GoCBs.
This is enabled by default. Disable it when you want to use a separate GOOSE publisher
[in] | enable | set true to enable the integrated GOOSE publisher, otherwise false |