|
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 |
1.9.1