lib60870-C
2.3.2
C source code library for the IEC 60870-5-101/104 protocols
|
Data Structures | |
struct | sStatusAndStatusChangeDetection |
struct | Lib60870VersionInfo |
lib60870 version information More... | |
struct | sCS101_AppLayerParameters |
struct | sCS101_StaticASDU |
struct | sCP16Time2a |
struct | sCP24Time2a |
struct | sCP32Time2a |
4 byte binary time More... | |
struct | sCP56Time2a |
struct | sBinaryCounterReading |
struct | sCS104_APCIParameters |
Macros | |
#define | IEC60870_QUALITY_GOOD 0 |
#define | IEC60870_QUALITY_OVERFLOW 0x01 /* QualityDescriptor */ |
#define | IEC60870_QUALITY_RESERVED 0x04 /* QualityDescriptorP */ |
#define | IEC60870_QUALITY_ELAPSED_TIME_INVALID 0x08 /* QualityDescriptorP */ |
#define | IEC60870_QUALITY_BLOCKED 0x10 /* QualityDescriptor, QualityDescriptorP */ |
#define | IEC60870_QUALITY_SUBSTITUTED 0x20 /* QualityDescriptor, QualityDescriptorP */ |
#define | IEC60870_QUALITY_NON_TOPICAL 0x40 /* QualityDescriptor, QualityDescriptorP */ |
#define | IEC60870_QUALITY_INVALID 0x80 /* QualityDescriptor, QualityDescriptorP */ |
#define | IEC60870_START_EVENT_NONE 0 |
#define | IEC60870_START_EVENT_GS 0x01 /* General start of operation */ |
#define | IEC60870_START_EVENT_SL1 0x02 /* Start of operation phase L1 */ |
#define | IEC60870_START_EVENT_SL2 0x04 /* Start of operation phase L2 */ |
#define | IEC60870_START_EVENT_SL3 0x08 /* Start of operation phase L3 */ |
#define | IEC60870_START_EVENT_SIE 0x10 /* Start of operation IE (earth current) */ |
#define | IEC60870_START_EVENT_SRD 0x20 /* Start of operation in reverse direction */ |
#define | IEC60870_START_EVENT_RES1 0x40 /* Reserved bit */ |
#define | IEC60870_START_EVENT_RES2 0x80 /* Reserved bit */ |
#define | IEC60870_OUTPUT_CI_GC 0x01 /* General command to output circuit */ |
#define | IEC60870_OUTPUT_CI_CL1 0x02 /* Command to output circuit phase L1 */ |
#define | IEC60870_OUTPUT_CI_CL2 0x04 /* Command to output circuit phase L2 */ |
#define | IEC60870_OUTPUT_CI_CL3 0x08 /* Command to output circuit phase L3 */ |
#define | IEC60870_QPM_NOT_USED 0 |
#define | IEC60870_QPM_THRESHOLD_VALUE 1 |
#define | IEC60870_QPM_SMOOTHING_FACTOR 2 |
#define | IEC60870_QPM_LOW_LIMIT_FOR_TRANSMISSION 3 |
#define | IEC60870_QPM_HIGH_LIMIT_FOR_TRANSMISSION 4 |
#define | IEC60870_COI_LOCAL_SWITCH_ON 0 |
#define | IEC60870_COI_LOCAL_MANUAL_RESET 1 |
#define | IEC60870_COI_REMOTE_RESET 2 |
#define | IEC60870_QOC_NO_ADDITIONAL_DEFINITION 0 |
#define | IEC60870_QOC_SHORT_PULSE_DURATION 1 |
#define | IEC60870_QOC_LONG_PULSE_DURATION 2 |
#define | IEC60870_QOC_PERSISTANT_OUTPUT 3 |
#define | IEC60870_SCQ_DEFAULT 0 |
#define | IEC60870_SCQ_SELECT_FILE 1 |
#define | IEC60870_SCQ_REQUEST_FILE 2 |
#define | IEC60870_SCQ_DEACTIVATE_FILE 3 |
#define | IEC60870_SCQ_DELETE_FILE 4 |
#define | IEC60870_SCQ_SELECT_SECTION 5 |
#define | IEC60870_SCQ_REQUEST_SECTION 6 |
#define | IEC60870_SCQ_DEACTIVATE_SECTION 7 |
#define | IEC60870_QOI_STATION 20 |
#define | IEC60870_QOI_GROUP_1 21 |
#define | IEC60870_QOI_GROUP_2 22 |
#define | IEC60870_QOI_GROUP_3 23 |
#define | IEC60870_QOI_GROUP_4 24 |
#define | IEC60870_QOI_GROUP_5 25 |
#define | IEC60870_QOI_GROUP_6 26 |
#define | IEC60870_QOI_GROUP_7 27 |
#define | IEC60870_QOI_GROUP_8 28 |
#define | IEC60870_QOI_GROUP_9 29 |
#define | IEC60870_QOI_GROUP_10 30 |
#define | IEC60870_QOI_GROUP_11 31 |
#define | IEC60870_QOI_GROUP_12 32 |
#define | IEC60870_QOI_GROUP_13 33 |
#define | IEC60870_QOI_GROUP_14 34 |
#define | IEC60870_QOI_GROUP_15 35 |
#define | IEC60870_QOI_GROUP_16 36 |
#define | IEC60870_QCC_RQT_GROUP_1 1 |
#define | IEC60870_QCC_RQT_GROUP_2 2 |
#define | IEC60870_QCC_RQT_GROUP_3 3 |
#define | IEC60870_QCC_RQT_GROUP_4 4 |
#define | IEC60870_QCC_RQT_GENERAL 5 |
#define | IEC60870_QCC_FRZ_READ 0x00 |
#define | IEC60870_QCC_FRZ_FREEZE_WITHOUT_RESET 0x40 |
#define | IEC60870_QCC_FRZ_FREEZE_WITH_RESET 0x80 |
#define | IEC60870_QCC_FRZ_COUNTER_RESET 0xc0 |
#define | IEC60870_QRP_NOT_USED 0 |
#define | IEC60870_QRP_GENERAL_RESET 1 |
#define | IEC60870_QRP_RESET_PENDING_INFO_WITH_TIME_TAG 2 |
#define | IEC60870_QPA_NOT_USED 0 |
#define | IEC60870_QPA_DE_ACT_PREV_LOADED_PARAMETER 1 |
#define | IEC60870_QPA_DE_ACT_OBJECT_PARAMETER 2 |
#define | IEC60870_QPA_DE_ACT_OBJECT_TRANSMISSION 4 |
#define | IEC_60870_5_104_DEFAULT_PORT 2404 |
#define | IEC_60870_5_104_DEFAULT_TLS_PORT 19998 |
#define | LIB60870_VERSION_MAJOR 2 |
#define | LIB60870_VERSION_MINOR 3 |
#define | LIB60870_VERSION_PATCH 1 |
Typedefs | |
typedef uint8_t | QualityDescriptor |
typedef uint8_t | QualityDescriptorP |
QDP - Quality descriptor for events of protection equipment according to IEC 60870-5-101:2003 7.2.6.4. | |
typedef uint8_t | StartEvent |
SPE - Start events of protection equipment according to IEC 60870-5-101:2003 7.2.6.11. | |
typedef uint8_t | OutputCircuitInfo |
Output circuit information (OCI) of protection equipment according to IEC 60870-5-101:2003 7.2.6.12. | |
typedef uint8_t | QualifierOfParameterMV |
Qualifier of parameter of measured values (QPM) according to IEC 60870-5-101:2003 7.2.6.24. More... | |
typedef uint8_t | CauseOfInitialization |
Cause of Initialization (COI) according to IEC 60870-5-101:2003 7.2.6.21. | |
typedef uint8_t | QualifierOfCommand |
Qualifier Of Command (QOC) according to IEC 60870-5-101:2003 7.2.6.26. | |
typedef uint8_t | SelectAndCallQualifier |
Select And Call Qualifier (SCQ) according to IEC 60870-5-101:2003 7.2.6.30. | |
typedef uint8_t | QualifierOfInterrogation |
Qualifier of interrogation (QUI) according to IEC 60870-5-101:2003 7.2.6.22. | |
typedef uint8_t | QualifierOfCIC |
QCC (Qualifier of counter interrogation command) according to IEC 60870-5-101:2003 7.2.6.23. More... | |
typedef uint8_t | QualifierOfRPC |
QRP (Qualifier of reset process command) according to IEC 60870-5-101:2003 7.2.6.27. | |
typedef uint8_t | QualifierOfParameterActivation |
Qualifier of parameter activation (QPA) according to IEC 60870-5-101:2003 7.2.6.25. | |
typedef uint8_t | SetpointCommandQualifier |
typedef uint8_t | tSingleEvent |
typedef tSingleEvent * | SingleEvent |
typedef struct sStatusAndStatusChangeDetection | tStatusAndStatusChangeDetection |
typedef tStatusAndStatusChangeDetection * | StatusAndStatusChangeDetection |
typedef struct sSinglePointInformation * | SinglePointInformation |
typedef struct sSinglePointWithCP24Time2a * | SinglePointWithCP24Time2a |
typedef struct sSinglePointWithCP56Time2a * | SinglePointWithCP56Time2a |
typedef struct sDoublePointInformation * | DoublePointInformation |
typedef struct sDoublePointWithCP24Time2a * | DoublePointWithCP24Time2a |
typedef struct sDoublePointWithCP56Time2a * | DoublePointWithCP56Time2a |
typedef struct sStepPositionInformation * | StepPositionInformation |
typedef struct sStepPositionWithCP24Time2a * | StepPositionWithCP24Time2a |
typedef struct sStepPositionWithCP56Time2a * | StepPositionWithCP56Time2a |
typedef struct sBitString32 * | BitString32 |
typedef struct sBitstring32WithCP24Time2a * | Bitstring32WithCP24Time2a |
typedef struct sBitstring32WithCP56Time2a * | Bitstring32WithCP56Time2a |
typedef struct sMeasuredValueNormalizedWithoutQuality * | MeasuredValueNormalizedWithoutQuality |
typedef struct sMeasuredValueNormalized * | MeasuredValueNormalized |
typedef struct sMeasuredValueNormalizedWithCP24Time2a * | MeasuredValueNormalizedWithCP24Time2a |
typedef struct sMeasuredValueNormalizedWithCP56Time2a * | MeasuredValueNormalizedWithCP56Time2a |
typedef struct sMeasuredValueScaled * | MeasuredValueScaled |
typedef struct sMeasuredValueScaledWithCP24Time2a * | MeasuredValueScaledWithCP24Time2a |
typedef struct sMeasuredValueScaledWithCP56Time2a * | MeasuredValueScaledWithCP56Time2a |
typedef struct sMeasuredValueShort * | MeasuredValueShort |
typedef struct sMeasuredValueShortWithCP24Time2a * | MeasuredValueShortWithCP24Time2a |
typedef struct sMeasuredValueShortWithCP56Time2a * | MeasuredValueShortWithCP56Time2a |
typedef struct sIntegratedTotals * | IntegratedTotals |
typedef struct sIntegratedTotalsWithCP24Time2a * | IntegratedTotalsWithCP24Time2a |
typedef struct sIntegratedTotalsWithCP56Time2a * | IntegratedTotalsWithCP56Time2a |
typedef struct sEventOfProtectionEquipment * | EventOfProtectionEquipment |
typedef struct sPackedStartEventsOfProtectionEquipment * | PackedStartEventsOfProtectionEquipment |
typedef struct sPackedOutputCircuitInfo * | PackedOutputCircuitInfo |
typedef struct sPackedSinglePointWithSCD * | PackedSinglePointWithSCD |
typedef struct sSingleCommand * | SingleCommand |
typedef struct sSingleCommandWithCP56Time2a * | SingleCommandWithCP56Time2a |
typedef struct sDoubleCommand * | DoubleCommand |
typedef struct sStepCommand * | StepCommand |
typedef struct sSetpointCommandNormalized * | SetpointCommandNormalized |
typedef struct sSetpointCommandScaled * | SetpointCommandScaled |
typedef struct sSetpointCommandShort * | SetpointCommandShort |
typedef struct sBitstring32Command * | Bitstring32Command |
typedef struct sInterrogationCommand * | InterrogationCommand |
typedef struct sReadCommand * | ReadCommand |
typedef struct sClockSynchronizationCommand * | ClockSynchronizationCommand |
typedef struct sMeasuredValueNormalized * | ParameterNormalizedValue |
typedef struct sMeasuredValueScaled * | ParameterScaledValue |
typedef struct sMeasuredValueShort * | ParameterFloatValue |
typedef struct sParameterActivation * | ParameterActivation |
typedef struct sEventOfProtectionEquipmentWithCP56Time2a * | EventOfProtectionEquipmentWithCP56Time2a |
typedef struct sPackedStartEventsOfProtectionEquipmentWithCP56Time2a * | PackedStartEventsOfProtectionEquipmentWithCP56Time2a |
typedef struct sPackedOutputCircuitInfoWithCP56Time2a * | PackedOutputCircuitInfoWithCP56Time2a |
typedef struct sDoubleCommandWithCP56Time2a * | DoubleCommandWithCP56Time2a |
typedef struct sStepCommandWithCP56Time2a * | StepCommandWithCP56Time2a |
typedef struct sSetpointCommandNormalizedWithCP56Time2a * | SetpointCommandNormalizedWithCP56Time2a |
typedef struct sSetpointCommandScaledWithCP56Time2a * | SetpointCommandScaledWithCP56Time2a |
typedef struct sSetpointCommandShortWithCP56Time2a * | SetpointCommandShortWithCP56Time2a |
typedef struct sBitstring32CommandWithCP56Time2a * | Bitstring32CommandWithCP56Time2a |
typedef struct sCounterInterrogationCommand * | CounterInterrogationCommand |
typedef struct sTestCommand * | TestCommand |
typedef struct sTestCommandWithCP56Time2a * | TestCommandWithCP56Time2a |
typedef struct sResetProcessCommand * | ResetProcessCommand |
typedef struct sDelayAcquisitionCommand * | DelayAcquisitionCommand |
typedef struct sEndOfInitialization * | EndOfInitialization |
typedef struct sFileReady * | FileReady |
typedef struct sSectionReady * | SectionReady |
typedef struct sFileCallOrSelect * | FileCallOrSelect |
typedef struct sFileLastSegmentOrSection * | FileLastSegmentOrSection |
typedef struct sFileACK * | FileACK |
typedef struct sFileSegment * | FileSegment |
typedef struct sFileDirectory * | FileDirectory |
typedef struct sQueryLog * | QueryLog |
typedef void(* | IEC60870_LinkLayerStateChangedHandler) (void *parameter, int address, LinkLayerState newState) |
Callback handler for link layer state changes. More... | |
typedef void(* | IEC60870_RawMessageHandler) (void *parameter, uint8_t *msg, int msgSize, bool sent) |
Callback handler for sent and received messages. More... | |
typedef struct sCS101_AppLayerParameters * | CS101_AppLayerParameters |
Parameters for the CS101/CS104 application layer. | |
typedef IEC60870_5_TypeID | TypeID |
typedef struct sInformationObject * | InformationObject |
typedef struct sCS101_ASDU * | CS101_ASDU |
Application Service Data Unit (ASDU) for the CS101/CS104 application layer. | |
typedef sCS101_StaticASDU * | CS101_StaticASDU |
typedef struct sCP16Time2a * | CP16Time2a |
typedef struct sCP24Time2a * | CP24Time2a |
typedef struct sCP32Time2a * | CP32Time2a |
typedef struct sCP56Time2a * | CP56Time2a |
7 byte binary time | |
typedef struct sBinaryCounterReading * | BinaryCounterReading |
Base type for counter readings. | |
typedef struct sCS104_APCIParameters * | CS104_APCIParameters |
Parameters for CS104 connections - APCI (application protocol control information) | |
Enumerations | |
enum | DoublePointValue { IEC60870_DOUBLE_POINT_INTERMEDIATE = 0 , IEC60870_DOUBLE_POINT_OFF = 1 , IEC60870_DOUBLE_POINT_ON = 2 , IEC60870_DOUBLE_POINT_INDETERMINATE = 3 } |
enum | EventState { IEC60870_EVENTSTATE_INDETERMINATE_0 = 0 , IEC60870_EVENTSTATE_OFF = 1 , IEC60870_EVENTSTATE_ON = 2 , IEC60870_EVENTSTATE_INDETERMINATE_3 = 3 } |
enum | StepCommandValue { IEC60870_STEP_INVALID_0 = 0 , IEC60870_STEP_LOWER = 1 , IEC60870_STEP_HIGHER = 2 , IEC60870_STEP_INVALID_3 = 3 } |
Regulating step command state (RCS) according to IEC 60870-5-101:2003 7.2.6.17. | |
enum | IEC60870_LinkLayerMode { IEC60870_LINK_LAYER_BALANCED = 0 , IEC60870_LINK_LAYER_UNBALANCED = 1 } |
link layer mode for serial link layers | |
enum | LinkLayerState { LL_STATE_IDLE , LL_STATE_ERROR , LL_STATE_BUSY , LL_STATE_AVAILABLE } |
State of the link layer. More... | |
enum | IEC60870_5_TypeID { M_SP_NA_1 = 1 , M_SP_TA_1 = 2 , M_DP_NA_1 = 3 , M_DP_TA_1 = 4 , M_ST_NA_1 = 5 , M_ST_TA_1 = 6 , M_BO_NA_1 = 7 , M_BO_TA_1 = 8 , M_ME_NA_1 = 9 , M_ME_TA_1 = 10 , M_ME_NB_1 = 11 , M_ME_TB_1 = 12 , M_ME_NC_1 = 13 , M_ME_TC_1 = 14 , M_IT_NA_1 = 15 , M_IT_TA_1 = 16 , M_EP_TA_1 = 17 , M_EP_TB_1 = 18 , M_EP_TC_1 = 19 , M_PS_NA_1 = 20 , M_ME_ND_1 = 21 , M_SP_TB_1 = 30 , M_DP_TB_1 = 31 , M_ST_TB_1 = 32 , M_BO_TB_1 = 33 , M_ME_TD_1 = 34 , M_ME_TE_1 = 35 , M_ME_TF_1 = 36 , M_IT_TB_1 = 37 , M_EP_TD_1 = 38 , M_EP_TE_1 = 39 , M_EP_TF_1 = 40 , S_IT_TC_1 = 41 , C_SC_NA_1 = 45 , C_DC_NA_1 = 46 , C_RC_NA_1 = 47 , C_SE_NA_1 = 48 , C_SE_NB_1 = 49 , C_SE_NC_1 = 50 , C_BO_NA_1 = 51 , C_SC_TA_1 = 58 , C_DC_TA_1 = 59 , C_RC_TA_1 = 60 , C_SE_TA_1 = 61 , C_SE_TB_1 = 62 , C_SE_TC_1 = 63 , C_BO_TA_1 = 64 , M_EI_NA_1 = 70 , S_CH_NA_1 = 81 , S_RP_NA_1 = 82 , S_AR_NA_1 = 83 , S_KR_NA_1 = 84 , S_KS_NA_1 = 85 , S_KC_NA_1 = 86 , S_ER_NA_1 = 87 , S_US_NA_1 = 90 , S_UQ_NA_1 = 91 , S_UR_NA_1 = 92 , S_UK_NA_1 = 93 , S_UA_NA_1 = 94 , S_UC_NA_1 = 95 , C_IC_NA_1 = 100 , C_CI_NA_1 = 101 , C_RD_NA_1 = 102 , C_CS_NA_1 = 103 , C_TS_NA_1 = 104 , C_RP_NA_1 = 105 , C_CD_NA_1 = 106 , C_TS_TA_1 = 107 , P_ME_NA_1 = 110 , P_ME_NB_1 = 111 , P_ME_NC_1 = 112 , P_AC_NA_1 = 113 , F_FR_NA_1 = 120 , F_SR_NA_1 = 121 , F_SC_NA_1 = 122 , F_LS_NA_1 = 123 , F_AF_NA_1 = 124 , F_SG_NA_1 = 125 , F_DR_TA_1 = 126 , F_SC_NB_1 = 127 } |
Message type IDs. | |
enum | CS101_CauseOfTransmission { CS101_COT_PERIODIC = 1 , CS101_COT_BACKGROUND_SCAN = 2 , CS101_COT_SPONTANEOUS = 3 , CS101_COT_INITIALIZED = 4 , CS101_COT_REQUEST = 5 , CS101_COT_ACTIVATION = 6 , CS101_COT_ACTIVATION_CON = 7 , CS101_COT_DEACTIVATION = 8 , CS101_COT_DEACTIVATION_CON = 9 , CS101_COT_ACTIVATION_TERMINATION = 10 , CS101_COT_RETURN_INFO_REMOTE = 11 , CS101_COT_RETURN_INFO_LOCAL = 12 , CS101_COT_FILE_TRANSFER = 13 , CS101_COT_AUTHENTICATION = 14 , CS101_COT_MAINTENANCE_OF_AUTH_SESSION_KEY = 15 , CS101_COT_MAINTENANCE_OF_USER_ROLE_AND_UPDATE_KEY = 16 , CS101_COT_INTERROGATED_BY_STATION = 20 , CS101_COT_INTERROGATED_BY_GROUP_1 = 21 , CS101_COT_INTERROGATED_BY_GROUP_2 = 22 , CS101_COT_INTERROGATED_BY_GROUP_3 = 23 , CS101_COT_INTERROGATED_BY_GROUP_4 = 24 , CS101_COT_INTERROGATED_BY_GROUP_5 = 25 , CS101_COT_INTERROGATED_BY_GROUP_6 = 26 , CS101_COT_INTERROGATED_BY_GROUP_7 = 27 , CS101_COT_INTERROGATED_BY_GROUP_8 = 28 , CS101_COT_INTERROGATED_BY_GROUP_9 = 29 , CS101_COT_INTERROGATED_BY_GROUP_10 = 30 , CS101_COT_INTERROGATED_BY_GROUP_11 = 31 , CS101_COT_INTERROGATED_BY_GROUP_12 = 32 , CS101_COT_INTERROGATED_BY_GROUP_13 = 33 , CS101_COT_INTERROGATED_BY_GROUP_14 = 34 , CS101_COT_INTERROGATED_BY_GROUP_15 = 35 , CS101_COT_INTERROGATED_BY_GROUP_16 = 36 , CS101_COT_REQUESTED_BY_GENERAL_COUNTER = 37 , CS101_COT_REQUESTED_BY_GROUP_1_COUNTER = 38 , CS101_COT_REQUESTED_BY_GROUP_2_COUNTER = 39 , CS101_COT_REQUESTED_BY_GROUP_3_COUNTER = 40 , CS101_COT_REQUESTED_BY_GROUP_4_COUNTER = 41 , CS101_COT_UNKNOWN_TYPE_ID = 44 , CS101_COT_UNKNOWN_COT = 45 , CS101_COT_UNKNOWN_CA = 46 , CS101_COT_UNKNOWN_IOA = 47 } |
Functions | |
const char * | TypeID_toString (TypeID self) |
void | SingleEvent_setEventState (SingleEvent self, EventState eventState) |
EventState | SingleEvent_getEventState (const SingleEvent self) |
void | SingleEvent_setQDP (SingleEvent self, QualityDescriptorP qdp) |
QualityDescriptorP | SingleEvent_getQDP (const SingleEvent self) |
uint16_t | StatusAndStatusChangeDetection_getSTn (const StatusAndStatusChangeDetection self) |
uint16_t | StatusAndStatusChangeDetection_getCDn (const StatusAndStatusChangeDetection self) |
void | StatusAndStatusChangeDetection_setSTn (StatusAndStatusChangeDetection self, uint16_t value) |
bool | StatusAndStatusChangeDetection_getST (const StatusAndStatusChangeDetection self, int index) |
bool | StatusAndStatusChangeDetection_getCD (const StatusAndStatusChangeDetection self, int index) |
int | InformationObject_getMaxSizeInMemory (void) |
return the size in memory of a generic InformationObject instance More... | |
int | InformationObject_getObjectAddress (InformationObject self) |
TypeID | InformationObject_getType (InformationObject self) |
void | InformationObject_destroy (InformationObject self) |
Destroy object - free all related resources. More... | |
SinglePointInformation | SinglePointInformation_create (SinglePointInformation self, int ioa, bool value, QualityDescriptor quality) |
bool | SinglePointInformation_getValue (SinglePointInformation self) |
QualityDescriptor | SinglePointInformation_getQuality (SinglePointInformation self) |
void | SinglePointInformation_destroy (SinglePointInformation self) |
SinglePointWithCP24Time2a | SinglePointWithCP24Time2a_create (SinglePointWithCP24Time2a self, int ioa, bool value, QualityDescriptor quality, const CP24Time2a timestamp) |
void | SinglePointWithCP24Time2a_destroy (SinglePointWithCP24Time2a self) |
CP24Time2a | SinglePointWithCP24Time2a_getTimestamp (SinglePointWithCP24Time2a self) |
SinglePointWithCP56Time2a | SinglePointWithCP56Time2a_create (SinglePointWithCP56Time2a self, int ioa, bool value, QualityDescriptor quality, const CP56Time2a timestamp) |
void | SinglePointWithCP56Time2a_destroy (SinglePointWithCP56Time2a self) |
CP56Time2a | SinglePointWithCP56Time2a_getTimestamp (SinglePointWithCP56Time2a self) |
void | DoublePointInformation_destroy (DoublePointInformation self) |
DoublePointInformation | DoublePointInformation_create (DoublePointInformation self, int ioa, DoublePointValue value, QualityDescriptor quality) |
DoublePointValue | DoublePointInformation_getValue (DoublePointInformation self) |
QualityDescriptor | DoublePointInformation_getQuality (DoublePointInformation self) |
void | DoublePointWithCP24Time2a_destroy (DoublePointWithCP24Time2a self) |
DoublePointWithCP24Time2a | DoublePointWithCP24Time2a_create (DoublePointWithCP24Time2a self, int ioa, DoublePointValue value, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | DoublePointWithCP24Time2a_getTimestamp (DoublePointWithCP24Time2a self) |
DoublePointWithCP56Time2a | DoublePointWithCP56Time2a_create (DoublePointWithCP56Time2a self, int ioa, DoublePointValue value, QualityDescriptor quality, const CP56Time2a timestamp) |
void | DoublePointWithCP56Time2a_destroy (DoublePointWithCP56Time2a self) |
CP56Time2a | DoublePointWithCP56Time2a_getTimestamp (DoublePointWithCP56Time2a self) |
StepPositionInformation | StepPositionInformation_create (StepPositionInformation self, int ioa, int value, bool isTransient, QualityDescriptor quality) |
Create a new instance of StepPositionInformation information object. More... | |
void | StepPositionInformation_destroy (StepPositionInformation self) |
int | StepPositionInformation_getObjectAddress (StepPositionInformation self) |
int | StepPositionInformation_getValue (StepPositionInformation self) |
Step position (range -64 ... +63) | |
bool | StepPositionInformation_isTransient (StepPositionInformation self) |
QualityDescriptor | StepPositionInformation_getQuality (StepPositionInformation self) |
void | StepPositionWithCP24Time2a_destroy (StepPositionWithCP24Time2a self) |
StepPositionWithCP24Time2a | StepPositionWithCP24Time2a_create (StepPositionWithCP24Time2a self, int ioa, int value, bool isTransient, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | StepPositionWithCP24Time2a_getTimestamp (StepPositionWithCP24Time2a self) |
void | StepPositionWithCP56Time2a_destroy (StepPositionWithCP56Time2a self) |
StepPositionWithCP56Time2a | StepPositionWithCP56Time2a_create (StepPositionWithCP56Time2a self, int ioa, int value, bool isTransient, QualityDescriptor quality, const CP56Time2a timestamp) |
CP56Time2a | StepPositionWithCP56Time2a_getTimestamp (StepPositionWithCP56Time2a self) |
void | BitString32_destroy (BitString32 self) |
BitString32 | BitString32_create (BitString32 self, int ioa, uint32_t value) |
BitString32 | BitString32_createEx (BitString32 self, int ioa, uint32_t value, QualityDescriptor quality) |
uint32_t | BitString32_getValue (BitString32 self) |
QualityDescriptor | BitString32_getQuality (BitString32 self) |
void | Bitstring32WithCP24Time2a_destroy (Bitstring32WithCP24Time2a self) |
Bitstring32WithCP24Time2a | Bitstring32WithCP24Time2a_create (Bitstring32WithCP24Time2a self, int ioa, uint32_t value, const CP24Time2a timestamp) |
Bitstring32WithCP24Time2a | Bitstring32WithCP24Time2a_createEx (Bitstring32WithCP24Time2a self, int ioa, uint32_t value, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | Bitstring32WithCP24Time2a_getTimestamp (Bitstring32WithCP24Time2a self) |
void | Bitstring32WithCP56Time2a_destroy (Bitstring32WithCP56Time2a self) |
Bitstring32WithCP56Time2a | Bitstring32WithCP56Time2a_create (Bitstring32WithCP56Time2a self, int ioa, uint32_t value, const CP56Time2a timestamp) |
Bitstring32WithCP56Time2a | Bitstring32WithCP56Time2a_createEx (Bitstring32WithCP56Time2a self, int ioa, uint32_t value, QualityDescriptor quality, const CP56Time2a timestamp) |
CP56Time2a | Bitstring32WithCP56Time2a_getTimestamp (Bitstring32WithCP56Time2a self) |
void | MeasuredValueNormalizedWithoutQuality_destroy (MeasuredValueNormalizedWithoutQuality self) |
MeasuredValueNormalizedWithoutQuality | MeasuredValueNormalizedWithoutQuality_create (MeasuredValueNormalizedWithoutQuality self, int ioa, float value) |
float | MeasuredValueNormalizedWithoutQuality_getValue (MeasuredValueNormalizedWithoutQuality self) |
void | MeasuredValueNormalizedWithoutQuality_setValue (MeasuredValueNormalizedWithoutQuality self, float value) |
void | MeasuredValueNormalized_destroy (MeasuredValueNormalized self) |
MeasuredValueNormalized | MeasuredValueNormalized_create (MeasuredValueNormalized self, int ioa, float value, QualityDescriptor quality) |
float | MeasuredValueNormalized_getValue (MeasuredValueNormalized self) |
void | MeasuredValueNormalized_setValue (MeasuredValueNormalized self, float value) |
QualityDescriptor | MeasuredValueNormalized_getQuality (MeasuredValueNormalized self) |
void | MeasuredValueNormalizedWithCP24Time2a_destroy (MeasuredValueNormalizedWithCP24Time2a self) |
MeasuredValueNormalizedWithCP24Time2a | MeasuredValueNormalizedWithCP24Time2a_create (MeasuredValueNormalizedWithCP24Time2a self, int ioa, float value, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | MeasuredValueNormalizedWithCP24Time2a_getTimestamp (MeasuredValueNormalizedWithCP24Time2a self) |
void | MeasuredValueNormalizedWithCP24Time2a_setTimestamp (MeasuredValueNormalizedWithCP24Time2a self, CP24Time2a value) |
void | MeasuredValueNormalizedWithCP56Time2a_destroy (MeasuredValueNormalizedWithCP56Time2a self) |
MeasuredValueNormalizedWithCP56Time2a | MeasuredValueNormalizedWithCP56Time2a_create (MeasuredValueNormalizedWithCP56Time2a self, int ioa, float value, QualityDescriptor quality, const CP56Time2a timestamp) |
CP56Time2a | MeasuredValueNormalizedWithCP56Time2a_getTimestamp (MeasuredValueNormalizedWithCP56Time2a self) |
void | MeasuredValueNormalizedWithCP56Time2a_setTimestamp (MeasuredValueNormalizedWithCP56Time2a self, CP56Time2a value) |
MeasuredValueScaled | MeasuredValueScaled_create (MeasuredValueScaled self, int ioa, int value, QualityDescriptor quality) |
Create a new instance of MeasuredValueScaled information object. More... | |
void | MeasuredValueScaled_destroy (MeasuredValueScaled self) |
int | MeasuredValueScaled_getValue (MeasuredValueScaled self) |
void | MeasuredValueScaled_setValue (MeasuredValueScaled self, int value) |
QualityDescriptor | MeasuredValueScaled_getQuality (MeasuredValueScaled self) |
void | MeasuredValueScaled_setQuality (MeasuredValueScaled self, QualityDescriptor quality) |
void | MeasuredValueScaledWithCP24Time2a_destroy (MeasuredValueScaledWithCP24Time2a self) |
MeasuredValueScaledWithCP24Time2a | MeasuredValueScaledWithCP24Time2a_create (MeasuredValueScaledWithCP24Time2a self, int ioa, int value, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | MeasuredValueScaledWithCP24Time2a_getTimestamp (MeasuredValueScaledWithCP24Time2a self) |
void | MeasuredValueScaledWithCP24Time2a_setTimestamp (MeasuredValueScaledWithCP24Time2a self, CP24Time2a value) |
void | MeasuredValueScaledWithCP56Time2a_destroy (MeasuredValueScaledWithCP56Time2a self) |
MeasuredValueScaledWithCP56Time2a | MeasuredValueScaledWithCP56Time2a_create (MeasuredValueScaledWithCP56Time2a self, int ioa, int value, QualityDescriptor quality, const CP56Time2a timestamp) |
CP56Time2a | MeasuredValueScaledWithCP56Time2a_getTimestamp (MeasuredValueScaledWithCP56Time2a self) |
void | MeasuredValueScaledWithCP56Time2a_setTimestamp (MeasuredValueScaledWithCP56Time2a self, CP56Time2a value) |
void | MeasuredValueShort_destroy (MeasuredValueShort self) |
MeasuredValueShort | MeasuredValueShort_create (MeasuredValueShort self, int ioa, float value, QualityDescriptor quality) |
float | MeasuredValueShort_getValue (MeasuredValueShort self) |
void | MeasuredValueShort_setValue (MeasuredValueShort self, float value) |
QualityDescriptor | MeasuredValueShort_getQuality (MeasuredValueShort self) |
void | MeasuredValueShortWithCP24Time2a_destroy (MeasuredValueShortWithCP24Time2a self) |
MeasuredValueShortWithCP24Time2a | MeasuredValueShortWithCP24Time2a_create (MeasuredValueShortWithCP24Time2a self, int ioa, float value, QualityDescriptor quality, const CP24Time2a timestamp) |
CP24Time2a | MeasuredValueShortWithCP24Time2a_getTimestamp (MeasuredValueShortWithCP24Time2a self) |
void | MeasuredValueShortWithCP24Time2a_setTimestamp (MeasuredValueShortWithCP24Time2a self, CP24Time2a value) |
void | MeasuredValueShortWithCP56Time2a_destroy (MeasuredValueShortWithCP56Time2a self) |
MeasuredValueShortWithCP56Time2a | MeasuredValueShortWithCP56Time2a_create (MeasuredValueShortWithCP56Time2a self, int ioa, float value, QualityDescriptor quality, CP56Time2a timestamp) |
CP56Time2a | MeasuredValueShortWithCP56Time2a_getTimestamp (MeasuredValueShortWithCP56Time2a self) |
void | MeasuredValueShortWithCP56Time2a_setTimestamp (MeasuredValueShortWithCP56Time2a self, CP56Time2a value) |
void | IntegratedTotals_destroy (IntegratedTotals self) |
IntegratedTotals | IntegratedTotals_create (IntegratedTotals self, int ioa, const BinaryCounterReading value) |
Create a new instance of IntegratedTotals information object. More... | |
BinaryCounterReading | IntegratedTotals_getBCR (IntegratedTotals self) |
void | IntegratedTotals_setBCR (IntegratedTotals self, BinaryCounterReading value) |
IntegratedTotalsWithCP24Time2a | IntegratedTotalsWithCP24Time2a_create (IntegratedTotalsWithCP24Time2a self, int ioa, const BinaryCounterReading value, const CP24Time2a timestamp) |
Create a new instance of IntegratedTotalsWithCP24Time2a information object. More... | |
void | IntegratedTotalsWithCP24Time2a_destroy (IntegratedTotalsWithCP24Time2a self) |
CP24Time2a | IntegratedTotalsWithCP24Time2a_getTimestamp (IntegratedTotalsWithCP24Time2a self) |
void | IntegratedTotalsWithCP24Time2a_setTimestamp (IntegratedTotalsWithCP24Time2a self, CP24Time2a value) |
IntegratedTotalsWithCP56Time2a | IntegratedTotalsWithCP56Time2a_create (IntegratedTotalsWithCP56Time2a self, int ioa, const BinaryCounterReading value, const CP56Time2a timestamp) |
Create a new instance of IntegratedTotalsWithCP56Time2a information object. More... | |
void | IntegratedTotalsWithCP56Time2a_destroy (IntegratedTotalsWithCP56Time2a self) |
CP56Time2a | IntegratedTotalsWithCP56Time2a_getTimestamp (IntegratedTotalsWithCP56Time2a self) |
void | IntegratedTotalsWithCP56Time2a_setTimestamp (IntegratedTotalsWithCP56Time2a self, CP56Time2a value) |
void | EventOfProtectionEquipment_destroy (EventOfProtectionEquipment self) |
EventOfProtectionEquipment | EventOfProtectionEquipment_create (EventOfProtectionEquipment self, int ioa, const SingleEvent event, const CP16Time2a elapsedTime, const CP24Time2a timestamp) |
SingleEvent | EventOfProtectionEquipment_getEvent (EventOfProtectionEquipment self) |
CP16Time2a | EventOfProtectionEquipment_getElapsedTime (EventOfProtectionEquipment self) |
CP24Time2a | EventOfProtectionEquipment_getTimestamp (EventOfProtectionEquipment self) |
PackedStartEventsOfProtectionEquipment | PackedStartEventsOfProtectionEquipment_create (PackedStartEventsOfProtectionEquipment self, int ioa, StartEvent event, QualityDescriptorP qdp, const CP16Time2a elapsedTime, const CP24Time2a timestamp) |
void | PackedStartEventsOfProtectionEquipment_destroy (PackedStartEventsOfProtectionEquipment self) |
StartEvent | PackedStartEventsOfProtectionEquipment_getEvent (PackedStartEventsOfProtectionEquipment self) |
QualityDescriptorP | PackedStartEventsOfProtectionEquipment_getQuality (PackedStartEventsOfProtectionEquipment self) |
CP16Time2a | PackedStartEventsOfProtectionEquipment_getElapsedTime (PackedStartEventsOfProtectionEquipment self) |
CP24Time2a | PackedStartEventsOfProtectionEquipment_getTimestamp (PackedStartEventsOfProtectionEquipment self) |
void | PackedOutputCircuitInfo_destroy (PackedOutputCircuitInfo self) |
PackedOutputCircuitInfo | PackedOutputCircuitInfo_create (PackedOutputCircuitInfo self, int ioa, OutputCircuitInfo oci, QualityDescriptorP qdp, const CP16Time2a operatingTime, const CP24Time2a timestamp) |
OutputCircuitInfo | PackedOutputCircuitInfo_getOCI (PackedOutputCircuitInfo self) |
QualityDescriptorP | PackedOutputCircuitInfo_getQuality (PackedOutputCircuitInfo self) |
CP16Time2a | PackedOutputCircuitInfo_getOperatingTime (PackedOutputCircuitInfo self) |
CP24Time2a | PackedOutputCircuitInfo_getTimestamp (PackedOutputCircuitInfo self) |
void | PackedSinglePointWithSCD_destroy (PackedSinglePointWithSCD self) |
PackedSinglePointWithSCD | PackedSinglePointWithSCD_create (PackedSinglePointWithSCD self, int ioa, const StatusAndStatusChangeDetection scd, QualityDescriptor qds) |
QualityDescriptor | PackedSinglePointWithSCD_getQuality (PackedSinglePointWithSCD self) |
StatusAndStatusChangeDetection | PackedSinglePointWithSCD_getSCD (PackedSinglePointWithSCD self) |
SingleCommand | SingleCommand_create (SingleCommand self, int ioa, bool command, bool selectCommand, int qu) |
Create a single point command information object. More... | |
void | SingleCommand_destroy (SingleCommand self) |
int | SingleCommand_getQU (SingleCommand self) |
Get the qualifier of command QU value. More... | |
bool | SingleCommand_getState (SingleCommand self) |
Get the state (command) value. | |
bool | SingleCommand_isSelect (SingleCommand self) |
Return the value of the S/E bit of the qualifier of command. More... | |
void | SingleCommandWithCP56Time2a_destroy (SingleCommandWithCP56Time2a self) |
SingleCommandWithCP56Time2a | SingleCommandWithCP56Time2a_create (SingleCommandWithCP56Time2a self, int ioa, bool command, bool selectCommand, int qu, const CP56Time2a timestamp) |
Create a single command with CP56Time2a time stamp information object. More... | |
CP56Time2a | SingleCommandWithCP56Time2a_getTimestamp (SingleCommandWithCP56Time2a self) |
Get the time stamp of the command. More... | |
void | DoubleCommand_destroy (DoubleCommand self) |
DoubleCommand | DoubleCommand_create (DoubleCommand self, int ioa, int command, bool selectCommand, int qu) |
Create a double command information object. More... | |
int | DoubleCommand_getQU (DoubleCommand self) |
Get the qualifier of command QU value. More... | |
int | DoubleCommand_getState (DoubleCommand self) |
Get the state (command) value. More... | |
bool | DoubleCommand_isSelect (DoubleCommand self) |
Return the value of the S/E bit of the qualifier of command. More... | |
void | StepCommand_destroy (StepCommand self) |
StepCommand | StepCommand_create (StepCommand self, int ioa, StepCommandValue command, bool selectCommand, int qu) |
int | StepCommand_getQU (StepCommand self) |
Get the qualifier of command QU value. More... | |
StepCommandValue | StepCommand_getState (StepCommand self) |
bool | StepCommand_isSelect (StepCommand self) |
Return the value of the S/E bit of the qualifier of command. More... | |
void | SetpointCommandNormalized_destroy (SetpointCommandNormalized self) |
SetpointCommandNormalized | SetpointCommandNormalized_create (SetpointCommandNormalized self, int ioa, float value, bool selectCommand, int ql) |
Create a normalized set point command information object. More... | |
float | SetpointCommandNormalized_getValue (SetpointCommandNormalized self) |
int | SetpointCommandNormalized_getQL (SetpointCommandNormalized self) |
bool | SetpointCommandNormalized_isSelect (SetpointCommandNormalized self) |
Return the value of the S/E bit of the qualifier of command. More... | |
void | SetpointCommandScaled_destroy (SetpointCommandScaled self) |
SetpointCommandScaled | SetpointCommandScaled_create (SetpointCommandScaled self, int ioa, int value, bool selectCommand, int ql) |
Create a scaled set point command information object. More... | |
int | SetpointCommandScaled_getValue (SetpointCommandScaled self) |
int | SetpointCommandScaled_getQL (SetpointCommandScaled self) |
bool | SetpointCommandScaled_isSelect (SetpointCommandScaled self) |
Return the value of the S/E bit of the qualifier of command. More... | |
void | SetpointCommandShort_destroy (SetpointCommandShort self) |
SetpointCommandShort | SetpointCommandShort_create (SetpointCommandShort self, int ioa, float value, bool selectCommand, int ql) |
Create a short floating point set point command information object. More... | |
float | SetpointCommandShort_getValue (SetpointCommandShort self) |
int | SetpointCommandShort_getQL (SetpointCommandShort self) |
bool | SetpointCommandShort_isSelect (SetpointCommandShort self) |
Return the value of the S/E bit of the qualifier of command. More... | |
Bitstring32Command | Bitstring32Command_create (Bitstring32Command self, int ioa, uint32_t value) |
void | Bitstring32Command_destroy (Bitstring32Command self) |
uint32_t | Bitstring32Command_getValue (Bitstring32Command self) |
InterrogationCommand | InterrogationCommand_create (InterrogationCommand self, int ioa, uint8_t qoi) |
void | InterrogationCommand_destroy (InterrogationCommand self) |
uint8_t | InterrogationCommand_getQOI (InterrogationCommand self) |
ReadCommand | ReadCommand_create (ReadCommand self, int ioa) |
void | ReadCommand_destroy (ReadCommand self) |
ClockSynchronizationCommand | ClockSynchronizationCommand_create (ClockSynchronizationCommand self, int ioa, const CP56Time2a timestamp) |
void | ClockSynchronizationCommand_destroy (ClockSynchronizationCommand self) |
CP56Time2a | ClockSynchronizationCommand_getTime (ClockSynchronizationCommand self) |
void | ParameterNormalizedValue_destroy (ParameterNormalizedValue self) |
ParameterNormalizedValue | ParameterNormalizedValue_create (ParameterNormalizedValue self, int ioa, float value, QualifierOfParameterMV qpm) |
Create a parameter measured values, normalized (P_ME_NA_1) information object. More... | |
float | ParameterNormalizedValue_getValue (ParameterNormalizedValue self) |
void | ParameterNormalizedValue_setValue (ParameterNormalizedValue self, float value) |
QualifierOfParameterMV | ParameterNormalizedValue_getQPM (ParameterNormalizedValue self) |
Returns the qualifier of measured values (QPM) More... | |
void | ParameterScaledValue_destroy (ParameterScaledValue self) |
ParameterScaledValue | ParameterScaledValue_create (ParameterScaledValue self, int ioa, int value, QualifierOfParameterMV qpm) |
Create a parameter measured values, scaled (P_ME_NB_1) information object. More... | |
int | ParameterScaledValue_getValue (ParameterScaledValue self) |
void | ParameterScaledValue_setValue (ParameterScaledValue self, int value) |
QualifierOfParameterMV | ParameterScaledValue_getQPM (ParameterScaledValue self) |
Returns the qualifier of measured values (QPM) More... | |
void | ParameterFloatValue_destroy (ParameterFloatValue self) |
ParameterFloatValue | ParameterFloatValue_create (ParameterFloatValue self, int ioa, float value, QualifierOfParameterMV qpm) |
Create a parameter measured values, short floating point (P_ME_NC_1) information object. More... | |
float | ParameterFloatValue_getValue (ParameterFloatValue self) |
void | ParameterFloatValue_setValue (ParameterFloatValue self, float value) |
QualifierOfParameterMV | ParameterFloatValue_getQPM (ParameterFloatValue self) |
Returns the qualifier of measured values (QPM) More... | |
void | ParameterActivation_destroy (ParameterActivation self) |
ParameterActivation | ParameterActivation_create (ParameterActivation self, int ioa, QualifierOfParameterActivation qpa) |
Create a parameter activation (P_AC_NA_1) information object. More... | |
QualifierOfParameterActivation | ParameterActivation_getQuality (ParameterActivation self) |
Get the qualifier of parameter activation (QPA) value. More... | |
void | EventOfProtectionEquipmentWithCP56Time2a_destroy (EventOfProtectionEquipmentWithCP56Time2a self) |
EventOfProtectionEquipmentWithCP56Time2a | EventOfProtectionEquipmentWithCP56Time2a_create (EventOfProtectionEquipmentWithCP56Time2a self, int ioa, const SingleEvent event, const CP16Time2a elapsedTime, const CP56Time2a timestamp) |
SingleEvent | EventOfProtectionEquipmentWithCP56Time2a_getEvent (EventOfProtectionEquipmentWithCP56Time2a self) |
CP16Time2a | EventOfProtectionEquipmentWithCP56Time2a_getElapsedTime (EventOfProtectionEquipmentWithCP56Time2a self) |
CP56Time2a | EventOfProtectionEquipmentWithCP56Time2a_getTimestamp (EventOfProtectionEquipmentWithCP56Time2a self) |
void | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_destroy (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self) |
PackedStartEventsOfProtectionEquipmentWithCP56Time2a | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_create (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self, int ioa, StartEvent event, QualityDescriptorP qdp, const CP16Time2a elapsedTime, const CP56Time2a timestamp) |
StartEvent | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getEvent (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self) |
QualityDescriptorP | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getQuality (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self) |
CP16Time2a | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getElapsedTime (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self) |
CP56Time2a | PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getTimestamp (PackedStartEventsOfProtectionEquipmentWithCP56Time2a self) |
void | PackedOutputCircuitInfoWithCP56Time2a_destroy (PackedOutputCircuitInfoWithCP56Time2a self) |
PackedOutputCircuitInfoWithCP56Time2a | PackedOutputCircuitInfoWithCP56Time2a_create (PackedOutputCircuitInfoWithCP56Time2a self, int ioa, OutputCircuitInfo oci, QualityDescriptorP qdp, const CP16Time2a operatingTime, const CP56Time2a timestamp) |
OutputCircuitInfo | PackedOutputCircuitInfoWithCP56Time2a_getOCI (PackedOutputCircuitInfoWithCP56Time2a self) |
QualityDescriptorP | PackedOutputCircuitInfoWithCP56Time2a_getQuality (PackedOutputCircuitInfoWithCP56Time2a self) |
CP16Time2a | PackedOutputCircuitInfoWithCP56Time2a_getOperatingTime (PackedOutputCircuitInfoWithCP56Time2a self) |
CP56Time2a | PackedOutputCircuitInfoWithCP56Time2a_getTimestamp (PackedOutputCircuitInfoWithCP56Time2a self) |
void | DoubleCommandWithCP56Time2a_destroy (DoubleCommandWithCP56Time2a self) |
DoubleCommandWithCP56Time2a | DoubleCommandWithCP56Time2a_create (DoubleCommandWithCP56Time2a self, int ioa, int command, bool selectCommand, int qu, const CP56Time2a timestamp) |
int | DoubleCommandWithCP56Time2a_getQU (DoubleCommandWithCP56Time2a self) |
int | DoubleCommandWithCP56Time2a_getState (DoubleCommandWithCP56Time2a self) |
bool | DoubleCommandWithCP56Time2a_isSelect (DoubleCommandWithCP56Time2a self) |
CP56Time2a | DoubleCommandWithCP56Time2a_getTimestamp (DoubleCommandWithCP56Time2a self) |
void | StepCommandWithCP56Time2a_destroy (StepCommandWithCP56Time2a self) |
StepCommandWithCP56Time2a | StepCommandWithCP56Time2a_create (StepCommandWithCP56Time2a self, int ioa, StepCommandValue command, bool selectCommand, int qu, const CP56Time2a timestamp) |
int | StepCommandWithCP56Time2a_getQU (StepCommandWithCP56Time2a self) |
StepCommandValue | StepCommandWithCP56Time2a_getState (StepCommandWithCP56Time2a self) |
bool | StepCommandWithCP56Time2a_isSelect (StepCommandWithCP56Time2a self) |
CP56Time2a | StepCommandWithCP56Time2a_getTimestamp (StepCommandWithCP56Time2a self) |
void | SetpointCommandNormalizedWithCP56Time2a_destroy (SetpointCommandNormalizedWithCP56Time2a self) |
SetpointCommandNormalizedWithCP56Time2a | SetpointCommandNormalizedWithCP56Time2a_create (SetpointCommandNormalizedWithCP56Time2a self, int ioa, float value, bool selectCommand, int ql, const CP56Time2a timestamp) |
float | SetpointCommandNormalizedWithCP56Time2a_getValue (SetpointCommandNormalizedWithCP56Time2a self) |
int | SetpointCommandNormalizedWithCP56Time2a_getQL (SetpointCommandNormalizedWithCP56Time2a self) |
bool | SetpointCommandNormalizedWithCP56Time2a_isSelect (SetpointCommandNormalizedWithCP56Time2a self) |
CP56Time2a | SetpointCommandNormalizedWithCP56Time2a_getTimestamp (SetpointCommandNormalizedWithCP56Time2a self) |
void | SetpointCommandScaledWithCP56Time2a_destroy (SetpointCommandScaledWithCP56Time2a self) |
SetpointCommandScaledWithCP56Time2a | SetpointCommandScaledWithCP56Time2a_create (SetpointCommandScaledWithCP56Time2a self, int ioa, int value, bool selectCommand, int ql, const CP56Time2a timestamp) |
int | SetpointCommandScaledWithCP56Time2a_getValue (SetpointCommandScaledWithCP56Time2a self) |
int | SetpointCommandScaledWithCP56Time2a_getQL (SetpointCommandScaledWithCP56Time2a self) |
bool | SetpointCommandScaledWithCP56Time2a_isSelect (SetpointCommandScaledWithCP56Time2a self) |
CP56Time2a | SetpointCommandScaledWithCP56Time2a_getTimestamp (SetpointCommandScaledWithCP56Time2a self) |
void | SetpointCommandShortWithCP56Time2a_destroy (SetpointCommandShortWithCP56Time2a self) |
SetpointCommandShortWithCP56Time2a | SetpointCommandShortWithCP56Time2a_create (SetpointCommandShortWithCP56Time2a self, int ioa, float value, bool selectCommand, int ql, const CP56Time2a timestamp) |
float | SetpointCommandShortWithCP56Time2a_getValue (SetpointCommandShortWithCP56Time2a self) |
int | SetpointCommandShortWithCP56Time2a_getQL (SetpointCommandShortWithCP56Time2a self) |
bool | SetpointCommandShortWithCP56Time2a_isSelect (SetpointCommandShortWithCP56Time2a self) |
CP56Time2a | SetpointCommandShortWithCP56Time2a_getTimestamp (SetpointCommandShortWithCP56Time2a self) |
Bitstring32CommandWithCP56Time2a | Bitstring32CommandWithCP56Time2a_create (Bitstring32CommandWithCP56Time2a self, int ioa, uint32_t value, const CP56Time2a timestamp) |
void | Bitstring32CommandWithCP56Time2a_destroy (Bitstring32CommandWithCP56Time2a self) |
uint32_t | Bitstring32CommandWithCP56Time2a_getValue (Bitstring32CommandWithCP56Time2a self) |
CP56Time2a | Bitstring32CommandWithCP56Time2a_getTimestamp (Bitstring32CommandWithCP56Time2a self) |
CounterInterrogationCommand | CounterInterrogationCommand_create (CounterInterrogationCommand self, int ioa, QualifierOfCIC qcc) |
void | CounterInterrogationCommand_destroy (CounterInterrogationCommand self) |
QualifierOfCIC | CounterInterrogationCommand_getQCC (CounterInterrogationCommand self) |
TestCommand | TestCommand_create (TestCommand self) |
void | TestCommand_destroy (TestCommand self) |
bool | TestCommand_isValid (TestCommand self) |
TestCommandWithCP56Time2a | TestCommandWithCP56Time2a_create (TestCommandWithCP56Time2a self, uint16_t tsc, const CP56Time2a timestamp) |
Create a test command with CP56Time2a timestamp information object. More... | |
void | TestCommandWithCP56Time2a_destroy (TestCommandWithCP56Time2a self) |
uint16_t | TestCommandWithCP56Time2a_getCounter (TestCommandWithCP56Time2a self) |
CP56Time2a | TestCommandWithCP56Time2a_getTimestamp (TestCommandWithCP56Time2a self) |
ResetProcessCommand | ResetProcessCommand_create (ResetProcessCommand self, int ioa, QualifierOfRPC qrp) |
void | ResetProcessCommand_destroy (ResetProcessCommand self) |
QualifierOfRPC | ResetProcessCommand_getQRP (ResetProcessCommand self) |
DelayAcquisitionCommand | DelayAcquisitionCommand_create (DelayAcquisitionCommand self, int ioa, const CP16Time2a delay) |
void | DelayAcquisitionCommand_destroy (DelayAcquisitionCommand self) |
CP16Time2a | DelayAcquisitionCommand_getDelay (DelayAcquisitionCommand self) |
EndOfInitialization | EndOfInitialization_create (EndOfInitialization self, uint8_t coi) |
void | EndOfInitialization_destroy (EndOfInitialization self) |
uint8_t | EndOfInitialization_getCOI (EndOfInitialization self) |
FileReady | FileReady_create (FileReady self, int ioa, uint16_t nof, uint32_t lengthOfFile, bool positive) |
Create a new instance of FileReady information object. More... | |
uint8_t | FileReady_getFRQ (FileReady self) |
void | FileReady_setFRQ (FileReady self, uint8_t frq) |
bool | FileReady_isPositive (FileReady self) |
uint16_t | FileReady_getNOF (FileReady self) |
uint32_t | FileReady_getLengthOfFile (FileReady self) |
void | FileReady_destroy (FileReady self) |
SectionReady | SectionReady_create (SectionReady self, int ioa, uint16_t nof, uint8_t nos, uint32_t lengthOfSection, bool notReady) |
bool | SectionReady_isNotReady (SectionReady self) |
uint8_t | SectionReady_getSRQ (SectionReady self) |
void | SectionReady_setSRQ (SectionReady self, uint8_t srq) |
uint16_t | SectionReady_getNOF (SectionReady self) |
uint8_t | SectionReady_getNameOfSection (SectionReady self) |
uint32_t | SectionReady_getLengthOfSection (SectionReady self) |
void | SectionReady_destroy (SectionReady self) |
FileCallOrSelect | FileCallOrSelect_create (FileCallOrSelect self, int ioa, uint16_t nof, uint8_t nos, uint8_t scq) |
uint16_t | FileCallOrSelect_getNOF (FileCallOrSelect self) |
uint8_t | FileCallOrSelect_getNameOfSection (FileCallOrSelect self) |
uint8_t | FileCallOrSelect_getSCQ (FileCallOrSelect self) |
void | FileCallOrSelect_destroy (FileCallOrSelect self) |
FileLastSegmentOrSection | FileLastSegmentOrSection_create (FileLastSegmentOrSection self, int ioa, uint16_t nof, uint8_t nos, uint8_t lsq, uint8_t chs) |
uint16_t | FileLastSegmentOrSection_getNOF (FileLastSegmentOrSection self) |
uint8_t | FileLastSegmentOrSection_getNameOfSection (FileLastSegmentOrSection self) |
uint8_t | FileLastSegmentOrSection_getLSQ (FileLastSegmentOrSection self) |
uint8_t | FileLastSegmentOrSection_getCHS (FileLastSegmentOrSection self) |
void | FileLastSegmentOrSection_destroy (FileLastSegmentOrSection self) |
FileACK | FileACK_create (FileACK self, int ioa, uint16_t nof, uint8_t nos, uint8_t afq) |
uint16_t | FileACK_getNOF (FileACK self) |
uint8_t | FileACK_getNameOfSection (FileACK self) |
uint8_t | FileACK_getAFQ (FileACK self) |
void | FileACK_destroy (FileACK self) |
FileSegment | FileSegment_create (FileSegment self, int ioa, uint16_t nof, uint8_t nos, uint8_t *data, uint8_t los) |
uint16_t | FileSegment_getNOF (FileSegment self) |
uint8_t | FileSegment_getNameOfSection (FileSegment self) |
uint8_t | FileSegment_getLengthOfSegment (FileSegment self) |
uint8_t * | FileSegment_getSegmentData (FileSegment self) |
int | FileSegment_GetMaxDataSize (CS101_AppLayerParameters parameters) |
void | FileSegment_destroy (FileSegment self) |
FileDirectory | FileDirectory_create (FileDirectory self, int ioa, uint16_t nof, int lengthOfFile, uint8_t sof, const CP56Time2a creationTime) |
uint16_t | FileDirectory_getNOF (FileDirectory self) |
uint8_t | FileDirectory_getSOF (FileDirectory self) |
int | FileDirectory_getSTATUS (FileDirectory self) |
bool | FileDirectory_getLFD (FileDirectory self) |
bool | FileDirectory_getFOR (FileDirectory self) |
bool | FileDirectory_getFA (FileDirectory self) |
uint8_t | FileDirectory_getLengthOfFile (FileDirectory self) |
CP56Time2a | FileDirectory_getCreationTime (FileDirectory self) |
void | FileDirectory_destroy (FileDirectory self) |
QueryLog | QueryLog_create (QueryLog self, int ioa, uint16_t nof, const CP56Time2a rangeStartTime, const CP56Time2a rangeStopTime) |
uint16_t | QueryLog_getNOF (QueryLog self) |
CP56Time2a | QueryLog_getRangeStartTime (QueryLog self) |
CP56Time2a | QueryLog_getRangeStopTime (QueryLog self) |
void | QueryLog_destroy (QueryLog self) |
const char * | CS101_CauseOfTransmission_toString (CS101_CauseOfTransmission self) |
void | Lib60870_enableDebugOutput (bool value) |
Lib60870VersionInfo | Lib60870_getLibraryVersionInfo (void) |
bool | CS101_ASDU_isTest (CS101_ASDU self) |
Check if the test flag of the ASDU is set. | |
void | CS101_ASDU_setTest (CS101_ASDU self, bool value) |
Set the test flag of the ASDU. | |
bool | CS101_ASDU_isNegative (CS101_ASDU self) |
Check if the negative flag of the ASDU is set. | |
void | CS101_ASDU_setNegative (CS101_ASDU self, bool value) |
Set the negative flag of the ASDU. | |
int | CS101_ASDU_getOA (CS101_ASDU self) |
get the OA (originator address) of the ASDU. | |
CS101_CauseOfTransmission | CS101_ASDU_getCOT (CS101_ASDU self) |
Get the cause of transmission (COT) of the ASDU. | |
void | CS101_ASDU_setCOT (CS101_ASDU self, CS101_CauseOfTransmission value) |
Set the cause of transmission (COT) of the ASDU. | |
int | CS101_ASDU_getCA (CS101_ASDU self) |
Get the common address (CA) of the ASDU. | |
void | CS101_ASDU_setCA (CS101_ASDU self, int ca) |
Set the common address (CA) of the ASDU. More... | |
IEC60870_5_TypeID | CS101_ASDU_getTypeID (CS101_ASDU self) |
Get the type ID of the ASDU. More... | |
void | CS101_ASDU_setTypeID (CS101_ASDU self, IEC60870_5_TypeID typeId) |
Set the type ID of the ASDU. More... | |
bool | CS101_ASDU_isSequence (CS101_ASDU self) |
Check if the ASDU contains a sequence of consecutive information objects. More... | |
void | CS101_ASDU_setSequence (CS101_ASDU self, bool isSequence) |
Set the ASDU to represent a sequence of consecutive information objects. More... | |
int | CS101_ASDU_getNumberOfElements (CS101_ASDU self) |
Get the number of information objects (elements) in the ASDU. More... | |
void | CS101_ASDU_setNumberOfElements (CS101_ASDU self, int numberOfElements) |
Set the number of information objects (elements) in the ASDU. More... | |
InformationObject | CS101_ASDU_getElement (CS101_ASDU self, int index) |
Get the information object with the given index. More... | |
InformationObject | CS101_ASDU_getElementEx (CS101_ASDU self, InformationObject io, int index) |
Get the information object with the given index and store it in the provided information object instance. More... | |
CS101_ASDU | CS101_ASDU_create (CS101_AppLayerParameters parameters, bool isSequence, CS101_CauseOfTransmission cot, int oa, int ca, bool isTest, bool isNegative) |
Create a new ASDU. The type ID will be derived from the first InformationObject that will be added. More... | |
CS101_ASDU | CS101_ASDU_initializeStatic (CS101_StaticASDU self, CS101_AppLayerParameters parameters, bool isSequence, CS101_CauseOfTransmission cot, int oa, int ca, bool isTest, bool isNegative) |
Create a new ASDU and store it in the provided static ASDU structure. More... | |
CS101_ASDU | CS101_ASDU_clone (CS101_ASDU self, CS101_StaticASDU clone) |
Create a new ASDU that is an exact copy of the ASDU. More... | |
uint8_t * | CS101_ASDU_getPayload (CS101_ASDU self) |
bool | CS101_ASDU_addPayload (CS101_ASDU self, uint8_t *buffer, int size) |
Append the provided data to the ASDU payload. More... | |
int | CS101_ASDU_getPayloadSize (CS101_ASDU self) |
void | CS101_ASDU_destroy (CS101_ASDU self) |
Destroy the ASDU object (release all resources) | |
bool | CS101_ASDU_addInformationObject (CS101_ASDU self, InformationObject io) |
add an information object to the ASDU More... | |
void | CS101_ASDU_removeAllElements (CS101_ASDU self) |
remove all information elements from the ASDU object More... | |
int | CP16Time2a_getEplapsedTimeInMs (const CP16Time2a self) |
Get the elapsed time in ms. | |
void | CP16Time2a_setEplapsedTimeInMs (CP16Time2a self, int value) |
set the elapsed time in ms | |
int | CP24Time2a_getMillisecond (const CP24Time2a self) |
Get the millisecond part of the time value. | |
void | CP24Time2a_setMillisecond (CP24Time2a self, int value) |
Set the millisecond part of the time value. | |
int | CP24Time2a_getSecond (const CP24Time2a self) |
Get the second part of the time value. | |
void | CP24Time2a_setSecond (CP24Time2a self, int value) |
Set the second part of the time value. | |
int | CP24Time2a_getMinute (const CP24Time2a self) |
Get the minute part of the time value. | |
void | CP24Time2a_setMinute (CP24Time2a self, int value) |
Set the minute part of the time value. | |
bool | CP24Time2a_isInvalid (const CP24Time2a self) |
Check if the invalid flag of the time value is set. | |
void | CP24Time2a_setInvalid (CP24Time2a self, bool value) |
Set the invalid flag of the time value. | |
bool | CP24Time2a_isSubstituted (const CP24Time2a self) |
Check if the substituted flag of the time value is set. | |
void | CP24Time2a_setSubstituted (CP24Time2a self, bool value) |
Set the substituted flag of the time value. | |
CP56Time2a | CP56Time2a_createFromMsTimestamp (CP56Time2a self, uint64_t timestamp) |
Create a 7 byte time from a UTC ms timestamp. | |
CP32Time2a | CP32Time2a_create (CP32Time2a self) |
void | CP32Time2a_setFromMsTimestamp (CP32Time2a self, uint64_t timestamp) |
int | CP32Time2a_getMillisecond (const CP32Time2a self) |
void | CP32Time2a_setMillisecond (CP32Time2a self, int value) |
int | CP32Time2a_getSecond (const CP32Time2a self) |
void | CP32Time2a_setSecond (CP32Time2a self, int value) |
int | CP32Time2a_getMinute (const CP32Time2a self) |
void | CP32Time2a_setMinute (CP32Time2a self, int value) |
bool | CP32Time2a_isInvalid (const CP32Time2a self) |
void | CP32Time2a_setInvalid (CP32Time2a self, bool value) |
bool | CP32Time2a_isSubstituted (const CP32Time2a self) |
void | CP32Time2a_setSubstituted (CP32Time2a self, bool value) |
int | CP32Time2a_getHour (const CP32Time2a self) |
void | CP32Time2a_setHour (CP32Time2a self, int value) |
bool | CP32Time2a_isSummerTime (const CP32Time2a self) |
void | CP32Time2a_setSummerTime (CP32Time2a self, bool value) |
void | CP56Time2a_setFromMsTimestamp (CP56Time2a self, uint64_t timestamp) |
Set the time value of a 7 byte time from a UTC ms timestamp. | |
uint64_t | CP56Time2a_toMsTimestamp (const CP56Time2a self) |
Convert a 7 byte time to a ms timestamp. | |
int | CP56Time2a_getMillisecond (const CP56Time2a self) |
Get the ms part of a time value. | |
void | CP56Time2a_setMillisecond (CP56Time2a self, int value) |
Set the ms part of a time value. | |
int | CP56Time2a_getSecond (const CP56Time2a self) |
void | CP56Time2a_setSecond (CP56Time2a self, int value) |
int | CP56Time2a_getMinute (const CP56Time2a self) |
void | CP56Time2a_setMinute (CP56Time2a self, int value) |
int | CP56Time2a_getHour (const CP56Time2a self) |
void | CP56Time2a_setHour (CP56Time2a self, int value) |
int | CP56Time2a_getDayOfWeek (const CP56Time2a self) |
void | CP56Time2a_setDayOfWeek (CP56Time2a self, int value) |
int | CP56Time2a_getDayOfMonth (const CP56Time2a self) |
void | CP56Time2a_setDayOfMonth (CP56Time2a self, int value) |
int | CP56Time2a_getMonth (const CP56Time2a self) |
Get the month field of the time. More... | |
void | CP56Time2a_setMonth (CP56Time2a self, int value) |
Set the month field of the time. More... | |
int | CP56Time2a_getYear (const CP56Time2a self) |
Get the year (range 0..99) More... | |
void | CP56Time2a_setYear (CP56Time2a self, int value) |
Set the year. More... | |
bool | CP56Time2a_isSummerTime (const CP56Time2a self) |
void | CP56Time2a_setSummerTime (CP56Time2a self, bool value) |
bool | CP56Time2a_isInvalid (const CP56Time2a self) |
void | CP56Time2a_setInvalid (CP56Time2a self, bool value) |
bool | CP56Time2a_isSubstituted (const CP56Time2a self) |
void | CP56Time2a_setSubstituted (CP56Time2a self, bool value) |
BinaryCounterReading | BinaryCounterReading_create (BinaryCounterReading self, int32_t value, int seqNumber, bool hasCarry, bool isAdjusted, bool isInvalid) |
void | BinaryCounterReading_destroy (BinaryCounterReading self) |
int32_t | BinaryCounterReading_getValue (BinaryCounterReading self) |
void | BinaryCounterReading_setValue (BinaryCounterReading self, int32_t value) |
int | BinaryCounterReading_getSequenceNumber (BinaryCounterReading self) |
bool | BinaryCounterReading_hasCarry (BinaryCounterReading self) |
bool | BinaryCounterReading_isAdjusted (BinaryCounterReading self) |
bool | BinaryCounterReading_isInvalid (BinaryCounterReading self) |
void | BinaryCounterReading_setSequenceNumber (BinaryCounterReading self, int value) |
void | BinaryCounterReading_setCarry (BinaryCounterReading self, bool value) |
void | BinaryCounterReading_setAdjusted (BinaryCounterReading self, bool value) |
void | BinaryCounterReading_setInvalid (BinaryCounterReading self, bool value) |
CS101_AFQ | |
#define | CS101_AFQ_NOT_USED 0 |
AFQ not used. | |
#define | CS101_AFQ_POS_ACK_FILE 1 |
acknowledge file positively | |
#define | CS101_AFQ_NEG_ACK_FILE 2 |
acknowledge file negatively | |
#define | CS101_AFQ_POS_ACK_SECTION 3 |
acknowledge section positively | |
#define | CS101_AFQ_NEG_ACK_SECTION 4 |
acknowledge section negatively | |
CS101_FILE_ERROR | |
#define | CS101_FILE_ERROR_DEFAULT 0 |
no error | |
#define | CS101_FILE_ERROR_REQ_MEMORY_NOT_AVAILABLE 1 |
requested memory not available (not enough memory) | |
#define | CS101_FILE_ERROR_CHECKSUM_FAILED 2 |
checksum test failed | |
#define | CS101_FILE_ERROR_UNEXPECTED_COMM_SERVICE 3 |
unexpected communication service | |
#define | CS101_FILE_ERROR_UNEXPECTED_NAME_OF_FILE 4 |
unexpected name of file | |
#define | CS101_FILE_ERROR_UNEXPECTED_NAME_OF_SECTION 5 |
unexpected name of section | |
CS101_SOF | |
Status of file (SOF) definitions - IEC 60870-5-101:2003 7.2.6.38 | |
#define | CS101_SOF_STATUS 0x1f |
bit mask value for STATUS part of SOF | |
#define | CS101_SOF_LFD 0x20 |
bit mask value for LFD (last file of the directory) flag | |
#define | CS101_SOF_FOR 0x40 |
bit mask value for FOR (name defines subdirectory) flag | |
#define | CS101_SOF_FA 0x80 |
bit mask value for FA (file transfer of this file is active) flag | |
typedef void(* IEC60870_LinkLayerStateChangedHandler) (void *parameter, int address, LinkLayerState newState) |
Callback handler for link layer state changes.
parameter | user provided parameter that is passed to the handler |
address | slave address used by the link layer state machine (only relevant for unbalanced master) |
newState | the new link layer state |
typedef void(* IEC60870_RawMessageHandler) (void *parameter, uint8_t *msg, int msgSize, bool sent) |
Callback handler for sent and received messages.
This callback handler provides access to the raw message buffer of received or sent messages. It can be used for debugging purposes. Usually it is not used nor required for applications.
parameter | user provided parameter |
msg | the message buffer |
msgSize | size of the message |
sent | indicates if the message was sent or received |
typedef uint8_t QualifierOfCIC |
QCC (Qualifier of counter interrogation command) according to IEC 60870-5-101:2003 7.2.6.23.
The QCC is composed by the RQT(request) and the FRZ(Freeze) part
QCC = RQT + FRZ
E.g.
to read the the values from counter group one use:
QCC = IEC60870_QCC_RQT_GROUP_1 + IEC60870_QCC_FRZ_READ
to reset all counters use:
QCC = IEC60870_QCC_RQT_GENERAL + IEC60870_QCC_FRZ_COUNTER_RESET
typedef uint8_t QualifierOfParameterMV |
Qualifier of parameter of measured values (QPM) according to IEC 60870-5-101:2003 7.2.6.24.
Possible values: 0 = not used 1 = threshold value 2 = smoothing factor (filter time constant) 3 = low limit for transmission of measured values 4 = high limit for transmission of measured values 5..31 = reserved for standard definitions of CS101 (compatible range) 32..63 = reserved for special use (private range)
enum LinkLayerState |
State of the link layer.
int CP56Time2a_getMonth | ( | const CP56Time2a | self | ) |
Get the month field of the time.
int CP56Time2a_getYear | ( | const CP56Time2a | self | ) |
Get the year (range 0..99)
value | the year (0..99) |
void CP56Time2a_setMonth | ( | CP56Time2a | self, |
int | value | ||
) |
Set the month field of the time.
value | the month (1..12) |
void CP56Time2a_setYear | ( | CP56Time2a | self, |
int | value | ||
) |
Set the year.
value | the year |
bool CS101_ASDU_addInformationObject | ( | CS101_ASDU | self, |
InformationObject | io | ||
) |
add an information object to the ASDU
NOTE: Only information objects of the exact same type can be added to a single ASDU!
self | ASDU object instance |
io | information object to be added |
bool CS101_ASDU_addPayload | ( | CS101_ASDU | self, |
uint8_t * | buffer, | ||
int | size | ||
) |
Append the provided data to the ASDU payload.
NOTE: Usually it is not required to call this function as the payload is set when the ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject The function is intended to be only used by library extensions of for creating private ASDU types.
buffer | pointer to the payload data to add |
size | number of bytes to append to the payload |
CS101_ASDU CS101_ASDU_clone | ( | CS101_ASDU | self, |
CS101_StaticASDU | clone | ||
) |
Create a new ASDU that is an exact copy of the ASDU.
self | ASDU instance to be copied |
clone | static ASDU instance where to store the cloned ASDU or NULL. When this parameter is NULL the function will allocate the memory for the clone |
CS101_ASDU CS101_ASDU_create | ( | CS101_AppLayerParameters | parameters, |
bool | isSequence, | ||
CS101_CauseOfTransmission | cot, | ||
int | oa, | ||
int | ca, | ||
bool | isTest, | ||
bool | isNegative | ||
) |
Create a new ASDU. The type ID will be derived from the first InformationObject that will be added.
parameters | the application layer parameters used to encode the ASDU |
isSequence | if the information objects will be encoded as a compact sequence of information objects with subsequent IOA values |
cot | cause of transmission (COT) |
oa | originator address (OA) to be used |
ca | the common address (CA) of the ASDU |
isTest | if the test flag will be set or not |
isNegative | if the negative falg will be set or not |
InformationObject CS101_ASDU_getElement | ( | CS101_ASDU | self, |
int | index | ||
) |
Get the information object with the given index.
index | the index of the information object (starting with 0) |
InformationObject CS101_ASDU_getElementEx | ( | CS101_ASDU | self, |
InformationObject | io, | ||
int | index | ||
) |
Get the information object with the given index and store it in the provided information object instance.
io | if not NULL use the provided information object instance to store the information, has to be of correct type. |
index | the index of the information object (starting with 0) |
int CS101_ASDU_getNumberOfElements | ( | CS101_ASDU | self | ) |
Get the number of information objects (elements) in the ASDU.
uint8_t* CS101_ASDU_getPayload | ( | CS101_ASDU | self | ) |
Get the ASDU payload
The payload is the ASDU message part after the ASDU header (type ID, VSQ, COT, CASDU)
int CS101_ASDU_getPayloadSize | ( | CS101_ASDU | self | ) |
Get the ASDU payload buffer size
The payload is the ASDU message part after the ASDU header (type ID, VSQ, COT, CASDU)
IEC60870_5_TypeID CS101_ASDU_getTypeID | ( | CS101_ASDU | self | ) |
Get the type ID of the ASDU.
CS101_ASDU CS101_ASDU_initializeStatic | ( | CS101_StaticASDU | self, |
CS101_AppLayerParameters | parameters, | ||
bool | isSequence, | ||
CS101_CauseOfTransmission | cot, | ||
int | oa, | ||
int | ca, | ||
bool | isTest, | ||
bool | isNegative | ||
) |
Create a new ASDU and store it in the provided static ASDU structure.
NOTE: The type ID will be derived from the first InformationObject that will be added.
self | pointer to the statically allocated data structure |
parameters | the application layer parameters used to encode the ASDU |
isSequence | if the information objects will be encoded as a compact sequence of information objects with subsequent IOA values |
cot | cause of transmission (COT) |
oa | originator address (OA) to be used |
ca | the common address (CA) of the ASDU |
isTest | if the test flag will be set or not |
isNegative | if the negative falg will be set or not |
bool CS101_ASDU_isSequence | ( | CS101_ASDU | self | ) |
Check if the ASDU contains a sequence of consecutive information objects.
NOTE: in a sequence of consecutive information objects only the first information object address is encoded. The following information objects ahve consecutive information object addresses.
void CS101_ASDU_removeAllElements | ( | CS101_ASDU | self | ) |
remove all information elements from the ASDU object
self | ASDU object instance |
void CS101_ASDU_setCA | ( | CS101_ASDU | self, |
int | ca | ||
) |
Set the common address (CA) of the ASDU.
ca | the ca in unstructured form |
void CS101_ASDU_setNumberOfElements | ( | CS101_ASDU | self, |
int | numberOfElements | ||
) |
Set the number of information objects (elements) in the ASDU.
NOTE: Usually it is not required to call this function as the number of elements is set when the ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject The function is intended to be used by library extensions of for creating private ASDU types.
numberOfElements | the number of information objects/element (valid range 0 - 127) |
void CS101_ASDU_setSequence | ( | CS101_ASDU | self, |
bool | isSequence | ||
) |
Set the ASDU to represent a sequence of consecutive information objects.
NOTE: It is not required to use this function when constructing ASDUs as this information is already provided when calling one of the constructors CS101_ASDU_create or CS101_ASDU_initializeStatic
isSequence | specify if the ASDU represents a sequence of consecutive information objects |
void CS101_ASDU_setTypeID | ( | CS101_ASDU | self, |
IEC60870_5_TypeID | typeId | ||
) |
Set the type ID of the ASDU.
NOTE: Usually it is not required to call this function as the type is determined when the ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject The function is intended to be used by library extensions of for creating private ASDU types.
typeId | the type ID to identify the ASDU type |
DoubleCommand DoubleCommand_create | ( | DoubleCommand | self, |
int | ioa, | ||
int | command, | ||
bool | selectCommand, | ||
int | qu | ||
) |
Create a double command information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | command | the double command state (0 = not permitted, 1 = off, 2 = on, 3 = not permitted) |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | qu | qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output) |
int DoubleCommand_getQU | ( | DoubleCommand | self | ) |
Get the qualifier of command QU value.
int DoubleCommand_getState | ( | DoubleCommand | self | ) |
Get the state (command) value.
bool DoubleCommand_isSelect | ( | DoubleCommand | self | ) |
Return the value of the S/E bit of the qualifier of command.
FileReady FileReady_create | ( | FileReady | self, |
int | ioa, | ||
uint16_t | nof, | ||
uint32_t | lengthOfFile, | ||
bool | positive | ||
) |
Create a new instance of FileReady information object.
For message type: F_FR_NA_1 (120)
self | |
ioa | |
nof | name of file (1 for transparent file) |
lengthOfFile | |
positive | when true file is ready to transmit |
void InformationObject_destroy | ( | InformationObject | self | ) |
Destroy object - free all related resources.
This is a virtual function that calls the destructor from the implementation class
\self the InformationObject instance
int InformationObject_getMaxSizeInMemory | ( | void | ) |
return the size in memory of a generic InformationObject instance
This function can be used to determine the required memory for malloc
IntegratedTotals IntegratedTotals_create | ( | IntegratedTotals | self, |
int | ioa, | ||
const BinaryCounterReading | value | ||
) |
Create a new instance of IntegratedTotals information object.
For message type: M_IT_NA_1 (15)
self | Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated |
ioa | Information object address |
value | binary counter reading value and state |
IntegratedTotalsWithCP24Time2a IntegratedTotalsWithCP24Time2a_create | ( | IntegratedTotalsWithCP24Time2a | self, |
int | ioa, | ||
const BinaryCounterReading | value, | ||
const CP24Time2a | timestamp | ||
) |
Create a new instance of IntegratedTotalsWithCP24Time2a information object.
For message type: M_IT_TA_1 (16)
self | Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated |
ioa | Information object address |
value | binary counter reading value and state |
timestamp | timestamp of the reading |
IntegratedTotalsWithCP56Time2a IntegratedTotalsWithCP56Time2a_create | ( | IntegratedTotalsWithCP56Time2a | self, |
int | ioa, | ||
const BinaryCounterReading | value, | ||
const CP56Time2a | timestamp | ||
) |
Create a new instance of IntegratedTotalsWithCP56Time2a information object.
For message type: M_IT_TB_1 (37)
self | Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated |
ioa | Information object address |
value | binary counter reading value and state |
timestamp | timestamp of the reading |
MeasuredValueScaled MeasuredValueScaled_create | ( | MeasuredValueScaled | self, |
int | ioa, | ||
int | value, | ||
QualityDescriptor | quality | ||
) |
Create a new instance of MeasuredValueScaled information object.
self | Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated |
ioa | Information object address |
value | scaled value (range -32768 - 32767) |
quality | quality descriptor (according to IEC 60870-5-101:2003 7.2.6.3) |
ParameterActivation ParameterActivation_create | ( | ParameterActivation | self, |
int | ioa, | ||
QualifierOfParameterActivation | qpa | ||
) |
Create a parameter activation (P_AC_NA_1) information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | qpa | qualifier of parameter activation (3 = act/deact of persistent cyclic or periodic transmission) |
QualifierOfParameterActivation ParameterActivation_getQuality | ( | ParameterActivation | self | ) |
Get the qualifier of parameter activation (QPA) value.
ParameterFloatValue ParameterFloatValue_create | ( | ParameterFloatValue | self, |
int | ioa, | ||
float | value, | ||
QualifierOfParameterMV | qpm | ||
) |
Create a parameter measured values, short floating point (P_ME_NC_1) information object.
NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring direction as a response of an interrogation request (with COT=INTERROGATED_BY...).
Possible values of qpm: 0 = not used 1 = threshold value 2 = smoothing factor (filter time constant) 3 = low limit for transmission of measured values 4 = high limit for transmission of measured values 5..31 = reserved for standard definitions of CS101 (compatible range) 32..63 = reserved for special use (private range)
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | short floating point number |
[in] | qpm | qualifier of measured values (QPM - QualifierOfParameterMV) |
QualifierOfParameterMV ParameterFloatValue_getQPM | ( | ParameterFloatValue | self | ) |
Returns the qualifier of measured values (QPM)
ParameterNormalizedValue ParameterNormalizedValue_create | ( | ParameterNormalizedValue | self, |
int | ioa, | ||
float | value, | ||
QualifierOfParameterMV | qpm | ||
) |
Create a parameter measured values, normalized (P_ME_NA_1) information object.
NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring direction as a response of an interrogation request (with COT=INTERROGATED_BY...).
Possible values of qpm: 0 = not used 1 = threshold value 2 = smoothing factor (filter time constant) 3 = low limit for transmission of measured values 4 = high limit for transmission of measured values 5..31 = reserved for standard definitions of CS101 (compatible range) 32..63 = reserved for special use (private range)
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | the normalized value (-1 .. 1) |
[in] | qpm | qualifier of measured values (QualifierOfParameterMV) |
QualifierOfParameterMV ParameterNormalizedValue_getQPM | ( | ParameterNormalizedValue | self | ) |
Returns the qualifier of measured values (QPM)
ParameterScaledValue ParameterScaledValue_create | ( | ParameterScaledValue | self, |
int | ioa, | ||
int | value, | ||
QualifierOfParameterMV | qpm | ||
) |
Create a parameter measured values, scaled (P_ME_NB_1) information object.
NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring direction as a response of an interrogation request (with COT=INTERROGATED_BY...).
Possible values of qpm: 0 = not used 1 = threshold value 2 = smoothing factor (filter time constant) 3 = low limit for transmission of measured values 4 = high limit for transmission of measured values 5..31 = reserved for standard definitions of CS101 (compatible range) 32..63 = reserved for special use (private range)
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | the scaled value (–32.768 .. 32.767) |
[in] | qpm | qualifier of measured values (QualifierOfParameterMV) |
QualifierOfParameterMV ParameterScaledValue_getQPM | ( | ParameterScaledValue | self | ) |
Returns the qualifier of measured values (QPM)
SetpointCommandNormalized SetpointCommandNormalized_create | ( | SetpointCommandNormalized | self, |
int | ioa, | ||
float | value, | ||
bool | selectCommand, | ||
int | ql | ||
) |
Create a normalized set point command information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | normalized value between -1 and 1 |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | ql | qualifier of set point command (0 = standard, 1..127 = reserved) |
bool SetpointCommandNormalized_isSelect | ( | SetpointCommandNormalized | self | ) |
Return the value of the S/E bit of the qualifier of command.
SetpointCommandScaled SetpointCommandScaled_create | ( | SetpointCommandScaled | self, |
int | ioa, | ||
int | value, | ||
bool | selectCommand, | ||
int | ql | ||
) |
Create a scaled set point command information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | the scaled value (–32.768 .. 32.767) |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | ql | qualifier of set point command (0 = standard, 1..127 = reserved) |
bool SetpointCommandScaled_isSelect | ( | SetpointCommandScaled | self | ) |
Return the value of the S/E bit of the qualifier of command.
SetpointCommandShort SetpointCommandShort_create | ( | SetpointCommandShort | self, |
int | ioa, | ||
float | value, | ||
bool | selectCommand, | ||
int | ql | ||
) |
Create a short floating point set point command information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | value | short floating point number |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | ql | qualifier of set point command (0 = standard, 1..127 = reserved) |
bool SetpointCommandShort_isSelect | ( | SetpointCommandShort | self | ) |
Return the value of the S/E bit of the qualifier of command.
SingleCommand SingleCommand_create | ( | SingleCommand | self, |
int | ioa, | ||
bool | command, | ||
bool | selectCommand, | ||
int | qu | ||
) |
Create a single point command information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | command | the command value |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | qu | qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output) |
int SingleCommand_getQU | ( | SingleCommand | self | ) |
Get the qualifier of command QU value.
bool SingleCommand_isSelect | ( | SingleCommand | self | ) |
Return the value of the S/E bit of the qualifier of command.
SingleCommandWithCP56Time2a SingleCommandWithCP56Time2a_create | ( | SingleCommandWithCP56Time2a | self, |
int | ioa, | ||
bool | command, | ||
bool | selectCommand, | ||
int | qu, | ||
const CP56Time2a | timestamp | ||
) |
Create a single command with CP56Time2a time stamp information object.
[in] | self | existing instance to reuse or NULL to create a new instance |
[in] | ioa | information object address |
[in] | command | the command value |
[in] | selectCommand | (S/E bit) if true send "select", otherwise "execute" |
[in] | qu | qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output) |
[in] | timestamp | the time stamp value |
CP56Time2a SingleCommandWithCP56Time2a_getTimestamp | ( | SingleCommandWithCP56Time2a | self | ) |
Get the time stamp of the command.
NOTE: according to the specification the command shall not be accepted when the time stamp differs too much from the time of the receiving system. In this case the command has to be discarded silently.
int StepCommand_getQU | ( | StepCommand | self | ) |
Get the qualifier of command QU value.
bool StepCommand_isSelect | ( | StepCommand | self | ) |
Return the value of the S/E bit of the qualifier of command.
StepPositionInformation StepPositionInformation_create | ( | StepPositionInformation | self, |
int | ioa, | ||
int | value, | ||
bool | isTransient, | ||
QualityDescriptor | quality | ||
) |
Create a new instance of StepPositionInformation information object.
self | Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated |
ioa | Information object address |
value | Step position (range -64 ... +63) |
isTransient | true if position is transient, false otherwise |
quality | quality descriptor (according to IEC 60870-5-101:2003 7.2.6.3) |
TestCommandWithCP56Time2a TestCommandWithCP56Time2a_create | ( | TestCommandWithCP56Time2a | self, |
uint16_t | tsc, | ||
const CP56Time2a | timestamp | ||
) |
Create a test command with CP56Time2a timestamp information object.
[in] | self | existing instance to use or NULL to create a new instance |
[in] | tsc | test sequence counter |
[in] | timestamp |