22 #ifndef SRC_INC_INFORMATION_OBJECTS_H_
23 #define SRC_INC_INFORMATION_OBJECTS_H_
44 TypeID_toString(
TypeID self);
46 typedef uint8_t QualityDescriptor;
53 #define IEC60870_QUALITY_GOOD 0
54 #define IEC60870_QUALITY_OVERFLOW 0x01
55 #define IEC60870_QUALITY_RESERVED 0x04
56 #define IEC60870_QUALITY_ELAPSED_TIME_INVALID 0x08
57 #define IEC60870_QUALITY_BLOCKED 0x10
58 #define IEC60870_QUALITY_SUBSTITUTED 0x20
59 #define IEC60870_QUALITY_NON_TOPICAL 0x40
60 #define IEC60870_QUALITY_INVALID 0x80
67 #define IEC60870_START_EVENT_NONE 0
68 #define IEC60870_START_EVENT_GS 0x01
69 #define IEC60870_START_EVENT_SL1 0x02
70 #define IEC60870_START_EVENT_SL2 0x04
71 #define IEC60870_START_EVENT_SL3 0x08
72 #define IEC60870_START_EVENT_SIE 0x10
73 #define IEC60870_START_EVENT_SRD 0x20
74 #define IEC60870_START_EVENT_RES1 0x40
75 #define IEC60870_START_EVENT_RES2 0x80
82 #define IEC60870_OUTPUT_CI_GC 0x01
83 #define IEC60870_OUTPUT_CI_CL1 0x02
84 #define IEC60870_OUTPUT_CI_CL2 0x04
85 #define IEC60870_OUTPUT_CI_CL3 0x08
101 #define IEC60870_QPM_NOT_USED 0
102 #define IEC60870_QPM_THRESHOLD_VALUE 1
103 #define IEC60870_QPM_SMOOTHING_FACTOR 2
104 #define IEC60870_QPM_LOW_LIMIT_FOR_TRANSMISSION 3
105 #define IEC60870_QPM_HIGH_LIMIT_FOR_TRANSMISSION 4
113 #define IEC60870_COI_LOCAL_SWITCH_ON 0
114 #define IEC60870_COI_LOCAL_MANUAL_RESET 1
115 #define IEC60870_COI_REMOTE_RESET 2
122 #define IEC60870_QOC_NO_ADDITIONAL_DEFINITION 0
123 #define IEC60870_QOC_SHORT_PULSE_DURATION 1
124 #define IEC60870_QOC_LONG_PULSE_DURATION 2
125 #define IEC60870_QOC_PERSISTANT_OUTPUT 3
133 #define IEC60870_SCQ_DEFAULT 0
134 #define IEC60870_SCQ_SELECT_FILE 1
135 #define IEC60870_SCQ_REQUEST_FILE 2
136 #define IEC60870_SCQ_DEACTIVATE_FILE 3
137 #define IEC60870_SCQ_DELETE_FILE 4
138 #define IEC60870_SCQ_SELECT_SECTION 5
139 #define IEC60870_SCQ_REQUEST_SECTION 6
140 #define IEC60870_SCQ_DEACTIVATE_SECTION 7
148 #define IEC60870_QOI_STATION 20
149 #define IEC60870_QOI_GROUP_1 21
150 #define IEC60870_QOI_GROUP_2 22
151 #define IEC60870_QOI_GROUP_3 23
152 #define IEC60870_QOI_GROUP_4 24
153 #define IEC60870_QOI_GROUP_5 25
154 #define IEC60870_QOI_GROUP_6 26
155 #define IEC60870_QOI_GROUP_7 27
156 #define IEC60870_QOI_GROUP_8 28
157 #define IEC60870_QOI_GROUP_9 29
158 #define IEC60870_QOI_GROUP_10 30
159 #define IEC60870_QOI_GROUP_11 31
160 #define IEC60870_QOI_GROUP_12 32
161 #define IEC60870_QOI_GROUP_13 33
162 #define IEC60870_QOI_GROUP_14 34
163 #define IEC60870_QOI_GROUP_15 35
164 #define IEC60870_QOI_GROUP_16 36
187 #define IEC60870_QCC_RQT_GROUP_1 1
188 #define IEC60870_QCC_RQT_GROUP_2 2
189 #define IEC60870_QCC_RQT_GROUP_3 3
190 #define IEC60870_QCC_RQT_GROUP_4 4
191 #define IEC60870_QCC_RQT_GENERAL 5
193 #define IEC60870_QCC_FRZ_READ 0x00
194 #define IEC60870_QCC_FRZ_FREEZE_WITHOUT_RESET 0x40
195 #define IEC60870_QCC_FRZ_FREEZE_WITH_RESET 0x80
196 #define IEC60870_QCC_FRZ_COUNTER_RESET 0xc0
203 #define IEC60870_QRP_NOT_USED 0
204 #define IEC60870_QRP_GENERAL_RESET 1
205 #define IEC60870_QRP_RESET_PENDING_INFO_WITH_TIME_TAG 2
213 #define IEC60870_QPA_NOT_USED 0
214 #define IEC60870_QPA_DE_ACT_PREV_LOADED_PARAMETER 1
215 #define IEC60870_QPA_DE_ACT_OBJECT_PARAMETER 2
216 #define IEC60870_QPA_DE_ACT_OBJECT_TRANSMISSION 4
219 typedef uint8_t SetpointCommandQualifier;
222 IEC60870_DOUBLE_POINT_INTERMEDIATE = 0,
223 IEC60870_DOUBLE_POINT_OFF = 1,
224 IEC60870_DOUBLE_POINT_ON = 2,
225 IEC60870_DOUBLE_POINT_INDETERMINATE = 3
229 IEC60870_EVENTSTATE_INDETERMINATE_0 = 0,
230 IEC60870_EVENTSTATE_OFF = 1,
231 IEC60870_EVENTSTATE_ON = 2,
232 IEC60870_EVENTSTATE_INDETERMINATE_3 = 3
239 IEC60870_STEP_INVALID_0 = 0,
240 IEC60870_STEP_LOWER = 1,
241 IEC60870_STEP_HIGHER = 2,
242 IEC60870_STEP_INVALID_3 = 3
245 typedef uint8_t tSingleEvent;
247 typedef tSingleEvent* SingleEvent;
250 SingleEvent_setEventState(SingleEvent
self, EventState eventState);
253 SingleEvent_getEventState(
const SingleEvent
self);
259 SingleEvent_getQDP(
const SingleEvent
self);
267 uint8_t encodedValue[4];
299 InformationObject_getObjectAddress(InformationObject
self);
302 InformationObject_getType(InformationObject
self);
318 typedef struct sSinglePointInformation* SinglePointInformation;
320 SinglePointInformation
321 SinglePointInformation_create(SinglePointInformation
self,
int ioa,
bool value,
322 QualityDescriptor quality);
325 SinglePointInformation_getValue(SinglePointInformation
self);
328 SinglePointInformation_getQuality(SinglePointInformation
self);
331 SinglePointInformation_destroy(SinglePointInformation
self);
337 typedef struct sSinglePointWithCP24Time2a* SinglePointWithCP24Time2a;
339 SinglePointWithCP24Time2a
340 SinglePointWithCP24Time2a_create(SinglePointWithCP24Time2a
self,
int ioa,
bool value,
341 QualityDescriptor quality,
const CP24Time2a timestamp);
344 SinglePointWithCP24Time2a_destroy(SinglePointWithCP24Time2a
self);
347 SinglePointWithCP24Time2a_getTimestamp(SinglePointWithCP24Time2a
self);
353 typedef struct sSinglePointWithCP56Time2a* SinglePointWithCP56Time2a;
355 SinglePointWithCP56Time2a
356 SinglePointWithCP56Time2a_create(SinglePointWithCP56Time2a
self,
int ioa,
bool value,
357 QualityDescriptor quality,
const CP56Time2a timestamp);
360 SinglePointWithCP56Time2a_destroy(SinglePointWithCP56Time2a
self);
363 SinglePointWithCP56Time2a_getTimestamp(SinglePointWithCP56Time2a
self);
370 typedef struct sDoublePointInformation* DoublePointInformation;
373 DoublePointInformation_destroy(DoublePointInformation
self);
375 DoublePointInformation
376 DoublePointInformation_create(DoublePointInformation
self,
int ioa, DoublePointValue value,
377 QualityDescriptor quality);
380 DoublePointInformation_getValue(DoublePointInformation
self);
383 DoublePointInformation_getQuality(DoublePointInformation
self);
389 typedef struct sDoublePointWithCP24Time2a* DoublePointWithCP24Time2a;
392 DoublePointWithCP24Time2a_destroy(DoublePointWithCP24Time2a
self);
394 DoublePointWithCP24Time2a
395 DoublePointWithCP24Time2a_create(DoublePointWithCP24Time2a
self,
int ioa, DoublePointValue value,
396 QualityDescriptor quality,
const CP24Time2a timestamp);
399 DoublePointWithCP24Time2a_getTimestamp(DoublePointWithCP24Time2a
self);
405 typedef struct sDoublePointWithCP56Time2a* DoublePointWithCP56Time2a;
407 DoublePointWithCP56Time2a
408 DoublePointWithCP56Time2a_create(DoublePointWithCP56Time2a
self,
int ioa, DoublePointValue value,
409 QualityDescriptor quality,
const CP56Time2a timestamp);
412 DoublePointWithCP56Time2a_destroy(DoublePointWithCP56Time2a
self);
415 DoublePointWithCP56Time2a_getTimestamp(DoublePointWithCP56Time2a
self);
421 typedef struct sStepPositionInformation* StepPositionInformation;
434 StepPositionInformation
436 QualityDescriptor quality);
439 StepPositionInformation_destroy(StepPositionInformation
self);
442 StepPositionInformation_getObjectAddress(StepPositionInformation
self);
451 StepPositionInformation_isTransient(StepPositionInformation
self);
454 StepPositionInformation_getQuality(StepPositionInformation
self);
460 typedef struct sStepPositionWithCP24Time2a* StepPositionWithCP24Time2a;
463 StepPositionWithCP24Time2a_destroy(StepPositionWithCP24Time2a
self);
465 StepPositionWithCP24Time2a
466 StepPositionWithCP24Time2a_create(StepPositionWithCP24Time2a
self,
int ioa,
int value,
bool isTransient,
467 QualityDescriptor quality,
const CP24Time2a timestamp);
470 StepPositionWithCP24Time2a_getTimestamp(StepPositionWithCP24Time2a
self);
477 typedef struct sStepPositionWithCP56Time2a* StepPositionWithCP56Time2a;
480 StepPositionWithCP56Time2a_destroy(StepPositionWithCP56Time2a
self);
482 StepPositionWithCP56Time2a
483 StepPositionWithCP56Time2a_create(StepPositionWithCP56Time2a
self,
int ioa,
int value,
bool isTransient,
484 QualityDescriptor quality,
const CP56Time2a timestamp);
487 StepPositionWithCP56Time2a_getTimestamp(StepPositionWithCP56Time2a
self);
493 typedef struct sBitString32* BitString32;
496 BitString32_destroy(BitString32
self);
499 BitString32_create(BitString32
self,
int ioa, uint32_t value);
502 BitString32_createEx(BitString32
self,
int ioa, uint32_t value, QualityDescriptor quality);
505 BitString32_getValue(BitString32
self);
508 BitString32_getQuality(BitString32
self);
514 typedef struct sBitstring32WithCP24Time2a* Bitstring32WithCP24Time2a;
517 Bitstring32WithCP24Time2a_destroy(Bitstring32WithCP24Time2a
self);
519 Bitstring32WithCP24Time2a
520 Bitstring32WithCP24Time2a_create(Bitstring32WithCP24Time2a
self,
int ioa, uint32_t value,
const CP24Time2a timestamp);
522 Bitstring32WithCP24Time2a
523 Bitstring32WithCP24Time2a_createEx(Bitstring32WithCP24Time2a
self,
int ioa, uint32_t value, QualityDescriptor quality,
const CP24Time2a timestamp);
526 Bitstring32WithCP24Time2a_getTimestamp(Bitstring32WithCP24Time2a
self);
532 typedef struct sBitstring32WithCP56Time2a* Bitstring32WithCP56Time2a;
535 Bitstring32WithCP56Time2a_destroy(Bitstring32WithCP56Time2a
self);
537 Bitstring32WithCP56Time2a
538 Bitstring32WithCP56Time2a_create(Bitstring32WithCP56Time2a
self,
int ioa, uint32_t value,
const CP56Time2a timestamp);
540 Bitstring32WithCP56Time2a
541 Bitstring32WithCP56Time2a_createEx(Bitstring32WithCP56Time2a
self,
int ioa, uint32_t value, QualityDescriptor quality,
const CP56Time2a timestamp);
544 Bitstring32WithCP56Time2a_getTimestamp(Bitstring32WithCP56Time2a
self);
550 typedef struct sMeasuredValueNormalizedWithoutQuality* MeasuredValueNormalizedWithoutQuality;
553 MeasuredValueNormalizedWithoutQuality_destroy(MeasuredValueNormalizedWithoutQuality
self);
555 MeasuredValueNormalizedWithoutQuality
556 MeasuredValueNormalizedWithoutQuality_create(MeasuredValueNormalizedWithoutQuality
self,
int ioa,
float value);
559 MeasuredValueNormalizedWithoutQuality_getValue(MeasuredValueNormalizedWithoutQuality
self);
562 MeasuredValueNormalizedWithoutQuality_setValue(MeasuredValueNormalizedWithoutQuality
self,
float value);
568 typedef struct sMeasuredValueNormalized* MeasuredValueNormalized;
571 MeasuredValueNormalized_destroy(MeasuredValueNormalized
self);
573 MeasuredValueNormalized
574 MeasuredValueNormalized_create(MeasuredValueNormalized
self,
int ioa,
float value, QualityDescriptor quality);
577 MeasuredValueNormalized_getValue(MeasuredValueNormalized
self);
580 MeasuredValueNormalized_setValue(MeasuredValueNormalized
self,
float value);
583 MeasuredValueNormalized_getQuality(MeasuredValueNormalized
self);
589 typedef struct sMeasuredValueNormalizedWithCP24Time2a* MeasuredValueNormalizedWithCP24Time2a;
592 MeasuredValueNormalizedWithCP24Time2a_destroy(MeasuredValueNormalizedWithCP24Time2a
self);
594 MeasuredValueNormalizedWithCP24Time2a
595 MeasuredValueNormalizedWithCP24Time2a_create(MeasuredValueNormalizedWithCP24Time2a
self,
int ioa,
596 float value, QualityDescriptor quality,
const CP24Time2a timestamp);
599 MeasuredValueNormalizedWithCP24Time2a_getTimestamp(MeasuredValueNormalizedWithCP24Time2a
self);
602 MeasuredValueNormalizedWithCP24Time2a_setTimestamp(MeasuredValueNormalizedWithCP24Time2a
self,
CP24Time2a value);
608 typedef struct sMeasuredValueNormalizedWithCP56Time2a* MeasuredValueNormalizedWithCP56Time2a;
611 MeasuredValueNormalizedWithCP56Time2a_destroy(MeasuredValueNormalizedWithCP56Time2a
self);
613 MeasuredValueNormalizedWithCP56Time2a
614 MeasuredValueNormalizedWithCP56Time2a_create(MeasuredValueNormalizedWithCP56Time2a
self,
int ioa,
615 float value, QualityDescriptor quality,
const CP56Time2a timestamp);
618 MeasuredValueNormalizedWithCP56Time2a_getTimestamp(MeasuredValueNormalizedWithCP56Time2a
self);
621 MeasuredValueNormalizedWithCP56Time2a_setTimestamp(MeasuredValueNormalizedWithCP56Time2a
self,
CP56Time2a value);
628 typedef struct sMeasuredValueScaled* MeasuredValueScaled;
644 MeasuredValueScaled_destroy(MeasuredValueScaled
self);
647 MeasuredValueScaled_getValue(MeasuredValueScaled
self);
650 MeasuredValueScaled_setValue(MeasuredValueScaled
self,
int value);
653 MeasuredValueScaled_getQuality(MeasuredValueScaled
self);
656 MeasuredValueScaled_setQuality(MeasuredValueScaled
self, QualityDescriptor quality);
662 typedef struct sMeasuredValueScaledWithCP24Time2a* MeasuredValueScaledWithCP24Time2a;
665 MeasuredValueScaledWithCP24Time2a_destroy(MeasuredValueScaledWithCP24Time2a
self);
667 MeasuredValueScaledWithCP24Time2a
668 MeasuredValueScaledWithCP24Time2a_create(MeasuredValueScaledWithCP24Time2a
self,
int ioa,
669 int value, QualityDescriptor quality,
const CP24Time2a timestamp);
672 MeasuredValueScaledWithCP24Time2a_getTimestamp(MeasuredValueScaledWithCP24Time2a
self);
675 MeasuredValueScaledWithCP24Time2a_setTimestamp(MeasuredValueScaledWithCP24Time2a
self,
CP24Time2a value);
681 typedef struct sMeasuredValueScaledWithCP56Time2a* MeasuredValueScaledWithCP56Time2a;
684 MeasuredValueScaledWithCP56Time2a_destroy(MeasuredValueScaledWithCP56Time2a
self);
686 MeasuredValueScaledWithCP56Time2a
687 MeasuredValueScaledWithCP56Time2a_create(MeasuredValueScaledWithCP56Time2a
self,
int ioa,
688 int value, QualityDescriptor quality,
const CP56Time2a timestamp);
691 MeasuredValueScaledWithCP56Time2a_getTimestamp(MeasuredValueScaledWithCP56Time2a
self);
694 MeasuredValueScaledWithCP56Time2a_setTimestamp(MeasuredValueScaledWithCP56Time2a
self,
CP56Time2a value);
700 typedef struct sMeasuredValueShort* MeasuredValueShort;
703 MeasuredValueShort_destroy(MeasuredValueShort
self);
706 MeasuredValueShort_create(MeasuredValueShort
self,
int ioa,
float value, QualityDescriptor quality);
709 MeasuredValueShort_getValue(MeasuredValueShort
self);
712 MeasuredValueShort_setValue(MeasuredValueShort
self,
float value);
715 MeasuredValueShort_getQuality(MeasuredValueShort
self);
721 typedef struct sMeasuredValueShortWithCP24Time2a* MeasuredValueShortWithCP24Time2a;
724 MeasuredValueShortWithCP24Time2a_destroy(MeasuredValueShortWithCP24Time2a
self);
726 MeasuredValueShortWithCP24Time2a
727 MeasuredValueShortWithCP24Time2a_create(MeasuredValueShortWithCP24Time2a
self,
int ioa,
728 float value, QualityDescriptor quality,
const CP24Time2a timestamp);
731 MeasuredValueShortWithCP24Time2a_getTimestamp(MeasuredValueShortWithCP24Time2a
self);
734 MeasuredValueShortWithCP24Time2a_setTimestamp(MeasuredValueShortWithCP24Time2a
self,
741 typedef struct sMeasuredValueShortWithCP56Time2a* MeasuredValueShortWithCP56Time2a;
744 MeasuredValueShortWithCP56Time2a_destroy(MeasuredValueShortWithCP56Time2a
self);
746 MeasuredValueShortWithCP56Time2a
747 MeasuredValueShortWithCP56Time2a_create(MeasuredValueShortWithCP56Time2a
self,
int ioa,
748 float value, QualityDescriptor quality,
CP56Time2a timestamp);
751 MeasuredValueShortWithCP56Time2a_getTimestamp(MeasuredValueShortWithCP56Time2a
self);
754 MeasuredValueShortWithCP56Time2a_setTimestamp(MeasuredValueShortWithCP56Time2a
self,
761 typedef struct sIntegratedTotals* IntegratedTotals;
764 IntegratedTotals_destroy(IntegratedTotals
self);
781 IntegratedTotals_getBCR(IntegratedTotals
self);
790 typedef struct sIntegratedTotalsWithCP24Time2a* IntegratedTotalsWithCP24Time2a;
804 IntegratedTotalsWithCP24Time2a
809 IntegratedTotalsWithCP24Time2a_destroy(IntegratedTotalsWithCP24Time2a
self);
812 IntegratedTotalsWithCP24Time2a_getTimestamp(IntegratedTotalsWithCP24Time2a
self);
815 IntegratedTotalsWithCP24Time2a_setTimestamp(IntegratedTotalsWithCP24Time2a
self,
822 typedef struct sIntegratedTotalsWithCP56Time2a* IntegratedTotalsWithCP56Time2a;
836 IntegratedTotalsWithCP56Time2a
841 IntegratedTotalsWithCP56Time2a_destroy(IntegratedTotalsWithCP56Time2a
self);
844 IntegratedTotalsWithCP56Time2a_getTimestamp(IntegratedTotalsWithCP56Time2a
self);
847 IntegratedTotalsWithCP56Time2a_setTimestamp(IntegratedTotalsWithCP56Time2a
self,
854 typedef struct sEventOfProtectionEquipment* EventOfProtectionEquipment;
857 EventOfProtectionEquipment_destroy(EventOfProtectionEquipment
self);
859 EventOfProtectionEquipment
860 EventOfProtectionEquipment_create(EventOfProtectionEquipment
self,
int ioa,
864 EventOfProtectionEquipment_getEvent(EventOfProtectionEquipment
self);
867 EventOfProtectionEquipment_getElapsedTime(EventOfProtectionEquipment
self);
870 EventOfProtectionEquipment_getTimestamp(EventOfProtectionEquipment
self);
876 typedef struct sPackedStartEventsOfProtectionEquipment* PackedStartEventsOfProtectionEquipment;
878 PackedStartEventsOfProtectionEquipment
879 PackedStartEventsOfProtectionEquipment_create(PackedStartEventsOfProtectionEquipment
self,
int ioa,
883 PackedStartEventsOfProtectionEquipment_destroy(PackedStartEventsOfProtectionEquipment
self);
886 PackedStartEventsOfProtectionEquipment_getEvent(PackedStartEventsOfProtectionEquipment
self);
889 PackedStartEventsOfProtectionEquipment_getQuality(PackedStartEventsOfProtectionEquipment
self);
892 PackedStartEventsOfProtectionEquipment_getElapsedTime(PackedStartEventsOfProtectionEquipment
self);
895 PackedStartEventsOfProtectionEquipment_getTimestamp(PackedStartEventsOfProtectionEquipment
self);
901 typedef struct sPackedOutputCircuitInfo* PackedOutputCircuitInfo;
904 PackedOutputCircuitInfo_destroy(PackedOutputCircuitInfo
self);
906 PackedOutputCircuitInfo
907 PackedOutputCircuitInfo_create(PackedOutputCircuitInfo
self,
int ioa,
911 PackedOutputCircuitInfo_getOCI(PackedOutputCircuitInfo
self);
914 PackedOutputCircuitInfo_getQuality(PackedOutputCircuitInfo
self);
917 PackedOutputCircuitInfo_getOperatingTime(PackedOutputCircuitInfo
self);
920 PackedOutputCircuitInfo_getTimestamp(PackedOutputCircuitInfo
self);
926 typedef struct sPackedSinglePointWithSCD* PackedSinglePointWithSCD;
929 PackedSinglePointWithSCD_destroy(PackedSinglePointWithSCD
self);
931 PackedSinglePointWithSCD
932 PackedSinglePointWithSCD_create(PackedSinglePointWithSCD
self,
int ioa,
936 PackedSinglePointWithSCD_getQuality(PackedSinglePointWithSCD
self);
939 PackedSinglePointWithSCD_getSCD(PackedSinglePointWithSCD
self);
946 typedef struct sSingleCommand* SingleCommand;
963 SingleCommand_destroy(SingleCommand
self);
991 typedef struct sSingleCommandWithCP56Time2a* SingleCommandWithCP56Time2a;
994 SingleCommandWithCP56Time2a_destroy(SingleCommandWithCP56Time2a
self);
1008 SingleCommandWithCP56Time2a
1026 typedef struct sDoubleCommand* DoubleCommand;
1029 DoubleCommand_destroy(DoubleCommand
self);
1073 typedef struct sStepCommand* StepCommand;
1076 StepCommand_destroy(StepCommand
self);
1079 StepCommand_create(StepCommand
self,
int ioa,
StepCommandValue command,
bool selectCommand,
int qu);
1090 StepCommand_getState(StepCommand
self);
1104 typedef struct sSetpointCommandNormalized* SetpointCommandNormalized;
1107 SetpointCommandNormalized_destroy(SetpointCommandNormalized
self);
1120 SetpointCommandNormalized
1124 SetpointCommandNormalized_getValue(SetpointCommandNormalized
self);
1127 SetpointCommandNormalized_getQL(SetpointCommandNormalized
self);
1141 typedef struct sSetpointCommandScaled* SetpointCommandScaled;
1144 SetpointCommandScaled_destroy(SetpointCommandScaled
self);
1157 SetpointCommandScaled
1161 SetpointCommandScaled_getValue(SetpointCommandScaled
self);
1164 SetpointCommandScaled_getQL(SetpointCommandScaled
self);
1178 typedef struct sSetpointCommandShort* SetpointCommandShort;
1181 SetpointCommandShort_destroy(SetpointCommandShort
self);
1194 SetpointCommandShort
1198 SetpointCommandShort_getValue(SetpointCommandShort
self);
1201 SetpointCommandShort_getQL(SetpointCommandShort
self);
1215 typedef struct sBitstring32Command* Bitstring32Command;
1218 Bitstring32Command_create(Bitstring32Command
self,
int ioa, uint32_t value);
1221 Bitstring32Command_destroy(Bitstring32Command
self);
1224 Bitstring32Command_getValue(Bitstring32Command
self);
1230 typedef struct sInterrogationCommand* InterrogationCommand;
1232 InterrogationCommand
1233 InterrogationCommand_create(InterrogationCommand
self,
int ioa, uint8_t qoi);
1236 InterrogationCommand_destroy(InterrogationCommand
self);
1239 InterrogationCommand_getQOI(InterrogationCommand
self);
1245 typedef struct sReadCommand* ReadCommand;
1248 ReadCommand_create(ReadCommand
self,
int ioa);
1251 ReadCommand_destroy(ReadCommand
self);
1257 typedef struct sClockSynchronizationCommand* ClockSynchronizationCommand;
1259 ClockSynchronizationCommand
1260 ClockSynchronizationCommand_create(ClockSynchronizationCommand
self,
int ioa,
const CP56Time2a timestamp);
1263 ClockSynchronizationCommand_destroy(ClockSynchronizationCommand
self);
1266 ClockSynchronizationCommand_getTime(ClockSynchronizationCommand
self);
1272 typedef struct sMeasuredValueNormalized* ParameterNormalizedValue;
1275 ParameterNormalizedValue_destroy(ParameterNormalizedValue
self);
1299 ParameterNormalizedValue
1303 ParameterNormalizedValue_getValue(ParameterNormalizedValue
self);
1306 ParameterNormalizedValue_setValue(ParameterNormalizedValue
self,
float value);
1320 typedef struct sMeasuredValueScaled* ParameterScaledValue;
1323 ParameterScaledValue_destroy(ParameterScaledValue
self);
1347 ParameterScaledValue
1351 ParameterScaledValue_getValue(ParameterScaledValue
self);
1354 ParameterScaledValue_setValue(ParameterScaledValue
self,
int value);
1368 typedef struct sMeasuredValueShort* ParameterFloatValue;
1371 ParameterFloatValue_destroy(ParameterFloatValue
self);
1399 ParameterFloatValue_getValue(ParameterFloatValue
self);
1402 ParameterFloatValue_setValue(ParameterFloatValue
self,
float value);
1416 typedef struct sParameterActivation* ParameterActivation;
1419 ParameterActivation_destroy(ParameterActivation
self);
1445 typedef struct sEventOfProtectionEquipmentWithCP56Time2a* EventOfProtectionEquipmentWithCP56Time2a;
1448 EventOfProtectionEquipmentWithCP56Time2a_destroy(EventOfProtectionEquipmentWithCP56Time2a
self);
1450 EventOfProtectionEquipmentWithCP56Time2a
1451 EventOfProtectionEquipmentWithCP56Time2a_create(EventOfProtectionEquipmentWithCP56Time2a
self,
int ioa,
1455 EventOfProtectionEquipmentWithCP56Time2a_getEvent(EventOfProtectionEquipmentWithCP56Time2a
self);
1458 EventOfProtectionEquipmentWithCP56Time2a_getElapsedTime(EventOfProtectionEquipmentWithCP56Time2a
self);
1461 EventOfProtectionEquipmentWithCP56Time2a_getTimestamp(EventOfProtectionEquipmentWithCP56Time2a
self);
1467 typedef struct sPackedStartEventsOfProtectionEquipmentWithCP56Time2a* PackedStartEventsOfProtectionEquipmentWithCP56Time2a;
1470 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_destroy(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self);
1471 PackedStartEventsOfProtectionEquipmentWithCP56Time2a
1473 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_create(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self,
int ioa,
1477 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getEvent(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self);
1480 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getQuality(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self);
1483 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getElapsedTime(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self);
1486 PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getTimestamp(PackedStartEventsOfProtectionEquipmentWithCP56Time2a
self);
1492 typedef struct sPackedOutputCircuitInfoWithCP56Time2a* PackedOutputCircuitInfoWithCP56Time2a;
1495 PackedOutputCircuitInfoWithCP56Time2a_destroy(PackedOutputCircuitInfoWithCP56Time2a
self);
1497 PackedOutputCircuitInfoWithCP56Time2a
1498 PackedOutputCircuitInfoWithCP56Time2a_create(PackedOutputCircuitInfoWithCP56Time2a
self,
int ioa,
1502 PackedOutputCircuitInfoWithCP56Time2a_getOCI(PackedOutputCircuitInfoWithCP56Time2a
self);
1505 PackedOutputCircuitInfoWithCP56Time2a_getQuality(PackedOutputCircuitInfoWithCP56Time2a
self);
1508 PackedOutputCircuitInfoWithCP56Time2a_getOperatingTime(PackedOutputCircuitInfoWithCP56Time2a
self);
1511 PackedOutputCircuitInfoWithCP56Time2a_getTimestamp(PackedOutputCircuitInfoWithCP56Time2a
self);
1517 typedef struct sDoubleCommandWithCP56Time2a* DoubleCommandWithCP56Time2a;
1520 DoubleCommandWithCP56Time2a_destroy(DoubleCommandWithCP56Time2a
self);
1522 DoubleCommandWithCP56Time2a
1523 DoubleCommandWithCP56Time2a_create(DoubleCommandWithCP56Time2a
self,
int ioa,
int command,
bool selectCommand,
int qu,
const CP56Time2a timestamp);
1526 DoubleCommandWithCP56Time2a_getQU(DoubleCommandWithCP56Time2a
self);
1529 DoubleCommandWithCP56Time2a_getState(DoubleCommandWithCP56Time2a
self);
1532 DoubleCommandWithCP56Time2a_isSelect(DoubleCommandWithCP56Time2a
self);
1535 DoubleCommandWithCP56Time2a_getTimestamp(DoubleCommandWithCP56Time2a
self);
1541 typedef struct sStepCommandWithCP56Time2a* StepCommandWithCP56Time2a;
1544 StepCommandWithCP56Time2a_destroy(StepCommandWithCP56Time2a
self);
1546 StepCommandWithCP56Time2a
1547 StepCommandWithCP56Time2a_create(StepCommandWithCP56Time2a
self,
int ioa,
StepCommandValue command,
bool selectCommand,
int qu,
const CP56Time2a timestamp);
1550 StepCommandWithCP56Time2a_getQU(StepCommandWithCP56Time2a
self);
1553 StepCommandWithCP56Time2a_getState(StepCommandWithCP56Time2a
self);
1556 StepCommandWithCP56Time2a_isSelect(StepCommandWithCP56Time2a
self);
1559 StepCommandWithCP56Time2a_getTimestamp(StepCommandWithCP56Time2a
self);
1565 typedef struct sSetpointCommandNormalizedWithCP56Time2a* SetpointCommandNormalizedWithCP56Time2a;
1568 SetpointCommandNormalizedWithCP56Time2a_destroy(SetpointCommandNormalizedWithCP56Time2a
self);
1570 SetpointCommandNormalizedWithCP56Time2a
1571 SetpointCommandNormalizedWithCP56Time2a_create(SetpointCommandNormalizedWithCP56Time2a
self,
int ioa,
float value,
bool selectCommand,
int ql,
const CP56Time2a timestamp);
1574 SetpointCommandNormalizedWithCP56Time2a_getValue(SetpointCommandNormalizedWithCP56Time2a
self);
1577 SetpointCommandNormalizedWithCP56Time2a_getQL(SetpointCommandNormalizedWithCP56Time2a
self);
1580 SetpointCommandNormalizedWithCP56Time2a_isSelect(SetpointCommandNormalizedWithCP56Time2a
self);
1583 SetpointCommandNormalizedWithCP56Time2a_getTimestamp(SetpointCommandNormalizedWithCP56Time2a
self);
1589 typedef struct sSetpointCommandScaledWithCP56Time2a* SetpointCommandScaledWithCP56Time2a;
1592 SetpointCommandScaledWithCP56Time2a_destroy(SetpointCommandScaledWithCP56Time2a
self);
1594 SetpointCommandScaledWithCP56Time2a
1595 SetpointCommandScaledWithCP56Time2a_create(SetpointCommandScaledWithCP56Time2a
self,
int ioa,
int value,
bool selectCommand,
int ql,
const CP56Time2a timestamp);
1598 SetpointCommandScaledWithCP56Time2a_getValue(SetpointCommandScaledWithCP56Time2a
self);
1601 SetpointCommandScaledWithCP56Time2a_getQL(SetpointCommandScaledWithCP56Time2a
self);
1604 SetpointCommandScaledWithCP56Time2a_isSelect(SetpointCommandScaledWithCP56Time2a
self);
1607 SetpointCommandScaledWithCP56Time2a_getTimestamp(SetpointCommandScaledWithCP56Time2a
self);
1613 typedef struct sSetpointCommandShortWithCP56Time2a* SetpointCommandShortWithCP56Time2a;
1616 SetpointCommandShortWithCP56Time2a_destroy(SetpointCommandShortWithCP56Time2a
self);
1618 SetpointCommandShortWithCP56Time2a
1619 SetpointCommandShortWithCP56Time2a_create(SetpointCommandShortWithCP56Time2a
self,
int ioa,
float value,
bool selectCommand,
int ql,
const CP56Time2a timestamp);
1622 SetpointCommandShortWithCP56Time2a_getValue(SetpointCommandShortWithCP56Time2a
self);
1625 SetpointCommandShortWithCP56Time2a_getQL(SetpointCommandShortWithCP56Time2a
self);
1628 SetpointCommandShortWithCP56Time2a_isSelect(SetpointCommandShortWithCP56Time2a
self);
1631 SetpointCommandShortWithCP56Time2a_getTimestamp(SetpointCommandShortWithCP56Time2a
self);
1637 typedef struct sBitstring32CommandWithCP56Time2a* Bitstring32CommandWithCP56Time2a;
1639 Bitstring32CommandWithCP56Time2a
1640 Bitstring32CommandWithCP56Time2a_create(Bitstring32CommandWithCP56Time2a
self,
int ioa, uint32_t value,
const CP56Time2a timestamp);
1643 Bitstring32CommandWithCP56Time2a_destroy(Bitstring32CommandWithCP56Time2a
self);
1646 Bitstring32CommandWithCP56Time2a_getValue(Bitstring32CommandWithCP56Time2a
self);
1649 Bitstring32CommandWithCP56Time2a_getTimestamp(Bitstring32CommandWithCP56Time2a
self);
1656 typedef struct sCounterInterrogationCommand* CounterInterrogationCommand;
1658 CounterInterrogationCommand
1659 CounterInterrogationCommand_create(CounterInterrogationCommand
self,
int ioa,
QualifierOfCIC qcc);
1662 CounterInterrogationCommand_destroy(CounterInterrogationCommand
self);
1665 CounterInterrogationCommand_getQCC(CounterInterrogationCommand
self);
1671 typedef struct sTestCommand* TestCommand;
1674 TestCommand_create(TestCommand
self);
1677 TestCommand_destroy(TestCommand
self);
1680 TestCommand_isValid(TestCommand
self);
1686 typedef struct sTestCommandWithCP56Time2a* TestCommandWithCP56Time2a;
1697 TestCommandWithCP56Time2a
1701 TestCommandWithCP56Time2a_destroy(TestCommandWithCP56Time2a
self);
1704 TestCommandWithCP56Time2a_getCounter(TestCommandWithCP56Time2a
self);
1707 TestCommandWithCP56Time2a_getTimestamp(TestCommandWithCP56Time2a
self);
1713 typedef struct sResetProcessCommand* ResetProcessCommand;
1716 ResetProcessCommand_create(ResetProcessCommand
self,
int ioa,
QualifierOfRPC qrp);
1719 ResetProcessCommand_destroy(ResetProcessCommand
self);
1722 ResetProcessCommand_getQRP(ResetProcessCommand
self);
1728 typedef struct sDelayAcquisitionCommand* DelayAcquisitionCommand;
1730 DelayAcquisitionCommand
1731 DelayAcquisitionCommand_create(DelayAcquisitionCommand
self,
int ioa,
const CP16Time2a delay);
1734 DelayAcquisitionCommand_destroy(DelayAcquisitionCommand
self);
1737 DelayAcquisitionCommand_getDelay(DelayAcquisitionCommand
self);
1743 typedef struct sEndOfInitialization* EndOfInitialization;
1746 EndOfInitialization_create(EndOfInitialization
self, uint8_t coi);
1749 EndOfInitialization_destroy(EndOfInitialization
self);
1752 EndOfInitialization_getCOI(EndOfInitialization
self);
1766 #define CS101_NOF_DEFAULT 0
1767 #define CS101_NOF_TRANSPARENT_FILE 1
1768 #define CS101_NOF_DISTURBANCE_DATA 2
1769 #define CS101_NOF_SEQUENCES_OF_EVENTS 3
1770 #define CS101_NOF_SEQUENCES_OF_ANALOGUE_VALUES 4
1782 #define CS101_SCQ_DEFAULT 0
1783 #define CS101_SCQ_SELECT_FILE 1
1784 #define CS101_SCQ_REQUEST_FILE 2
1785 #define CS101_SCQ_DEACTIVATE_FILE 3
1786 #define CS101_SCQ_DELETE_FILE 4
1787 #define CS101_SCQ_SELECT_SECTION 5
1788 #define CS101_SCQ_REQUEST_SECTION 6
1789 #define CS101_SCQ_DEACTIVATE_SECTION 7
1801 #define CS101_LSQ_NOT_USED 0,
1802 #define CS101_LSQ_FILE_TRANSFER_WITHOUT_DEACT 1
1803 #define CS101_LSQ_FILE_TRANSFER_WITH_DEACT 2
1804 #define CS101_LSQ_SECTION_TRANSFER_WITHOUT_DEACT 3
1805 #define CS101_LSQ_SECTION_TRANSFER_WITH_DEACT 4
1818 #define CS101_AFQ_NOT_USED 0
1821 #define CS101_AFQ_POS_ACK_FILE 1
1824 #define CS101_AFQ_NEG_ACK_FILE 2
1827 #define CS101_AFQ_POS_ACK_SECTION 3
1830 #define CS101_AFQ_NEG_ACK_SECTION 4
1843 #define CS101_FILE_ERROR_DEFAULT 0
1846 #define CS101_FILE_ERROR_REQ_MEMORY_NOT_AVAILABLE 1
1849 #define CS101_FILE_ERROR_CHECKSUM_FAILED 2
1852 #define CS101_FILE_ERROR_UNEXPECTED_COMM_SERVICE 3
1855 #define CS101_FILE_ERROR_UNEXPECTED_NAME_OF_FILE 4
1858 #define CS101_FILE_ERROR_UNEXPECTED_NAME_OF_SECTION 5
1871 #define CS101_SOF_STATUS 0x1f
1874 #define CS101_SOF_LFD 0x20
1877 #define CS101_SOF_FOR 0x40
1880 #define CS101_SOF_FA 0x80
1884 typedef struct sFileReady* FileReady;
1901 FileReady_getFRQ(FileReady
self);
1904 FileReady_setFRQ(FileReady
self, uint8_t frq);
1907 FileReady_isPositive(FileReady
self);
1910 FileReady_getNOF(FileReady
self);
1913 FileReady_getLengthOfFile(FileReady
self);
1916 FileReady_destroy(FileReady
self);
1922 typedef struct sSectionReady* SectionReady;
1925 SectionReady_create(SectionReady
self,
int ioa, uint16_t nof, uint8_t nos, uint32_t lengthOfSection,
bool notReady);
1929 SectionReady_isNotReady(SectionReady
self);
1932 SectionReady_getSRQ(SectionReady
self);
1935 SectionReady_setSRQ(SectionReady
self, uint8_t srq);
1938 SectionReady_getNOF(SectionReady
self);
1941 SectionReady_getNameOfSection(SectionReady
self);
1944 SectionReady_getLengthOfSection(SectionReady
self);
1947 SectionReady_destroy(SectionReady
self);
1954 typedef struct sFileCallOrSelect* FileCallOrSelect;
1957 FileCallOrSelect_create(FileCallOrSelect
self,
int ioa, uint16_t nof, uint8_t nos, uint8_t scq);
1960 FileCallOrSelect_getNOF(FileCallOrSelect
self);
1963 FileCallOrSelect_getNameOfSection(FileCallOrSelect
self);
1966 FileCallOrSelect_getSCQ(FileCallOrSelect
self);
1969 FileCallOrSelect_destroy(FileCallOrSelect
self);
1975 typedef struct sFileLastSegmentOrSection* FileLastSegmentOrSection;
1977 FileLastSegmentOrSection
1978 FileLastSegmentOrSection_create(FileLastSegmentOrSection
self,
int ioa, uint16_t nof, uint8_t nos, uint8_t lsq, uint8_t chs);
1981 FileLastSegmentOrSection_getNOF(FileLastSegmentOrSection
self);
1984 FileLastSegmentOrSection_getNameOfSection(FileLastSegmentOrSection
self);
1987 FileLastSegmentOrSection_getLSQ(FileLastSegmentOrSection
self);
1990 FileLastSegmentOrSection_getCHS(FileLastSegmentOrSection
self);
1993 FileLastSegmentOrSection_destroy(FileLastSegmentOrSection
self);
1999 typedef struct sFileACK* FileACK;
2002 FileACK_create(FileACK
self,
int ioa, uint16_t nof, uint8_t nos, uint8_t afq);
2005 FileACK_getNOF(FileACK
self);
2008 FileACK_getNameOfSection(FileACK
self);
2011 FileACK_getAFQ(FileACK
self);
2014 FileACK_destroy(FileACK
self);
2020 typedef struct sFileSegment* FileSegment;
2023 FileSegment_create(FileSegment
self,
int ioa, uint16_t nof, uint8_t nos, uint8_t* data, uint8_t los);
2026 FileSegment_getNOF(FileSegment
self);
2029 FileSegment_getNameOfSection(FileSegment
self);
2032 FileSegment_getLengthOfSegment(FileSegment
self);
2035 FileSegment_getSegmentData(FileSegment
self);
2041 FileSegment_destroy(FileSegment
self);
2047 typedef struct sFileDirectory* FileDirectory;
2050 FileDirectory_create(FileDirectory
self,
int ioa, uint16_t nof,
int lengthOfFile, uint8_t sof,
const CP56Time2a creationTime);
2053 FileDirectory_getNOF(FileDirectory
self);
2056 FileDirectory_getSOF(FileDirectory
self);
2059 FileDirectory_getSTATUS(FileDirectory
self);
2062 FileDirectory_getLFD(FileDirectory
self);
2065 FileDirectory_getFOR(FileDirectory
self);
2068 FileDirectory_getFA(FileDirectory
self);
2071 FileDirectory_getLengthOfFile(FileDirectory
self);
2074 FileDirectory_getCreationTime(FileDirectory
self);
2077 FileDirectory_destroy(FileDirectory
self);
2083 typedef struct sQueryLog* QueryLog;
2086 QueryLog_create(QueryLog
self,
int ioa, uint16_t nof,
const CP56Time2a rangeStartTime,
const CP56Time2a rangeStopTime);
2089 QueryLog_getNOF(QueryLog
self);
2092 QueryLog_getRangeStartTime(QueryLog
self);
2096 QueryLog_getRangeStopTime(QueryLog
self);
2099 QueryLog_destroy(QueryLog
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.
bool SingleCommand_getState(SingleCommand self)
Get the state (command) value.
SetpointCommandScaled SetpointCommandScaled_create(SetpointCommandScaled self, int ioa, int value, bool selectCommand, int ql)
Create a scaled set point command information object.
SetpointCommandShort SetpointCommandShort_create(SetpointCommandShort self, int ioa, float value, bool selectCommand, int ql)
Create a short floating point set point command information object.
int StepCommand_getQU(StepCommand self)
Get the qualifier of command QU value.
QualifierOfParameterMV ParameterScaledValue_getQPM(ParameterScaledValue self)
Returns the qualifier of measured values (QPM)
bool SetpointCommandShort_isSelect(SetpointCommandShort self)
Return the value of the S/E bit of the qualifier of command.
uint8_t QualifierOfCIC
QCC (Qualifier of counter interrogation command) according to IEC 60870-5-101:2003 7....
Definition: cs101_information_objects.h:185
SingleCommand SingleCommand_create(SingleCommand self, int ioa, bool command, bool selectCommand, int qu)
Create a single point command information object.
FileReady FileReady_create(FileReady self, int ioa, uint16_t nof, uint32_t lengthOfFile, bool positive)
Create a new instance of FileReady information object.
int DoubleCommand_getState(DoubleCommand self)
Get the state (command) value.
StepPositionInformation StepPositionInformation_create(StepPositionInformation self, int ioa, int value, bool isTransient, QualityDescriptor quality)
Create a new instance of StepPositionInformation information object.
IntegratedTotalsWithCP56Time2a IntegratedTotalsWithCP56Time2a_create(IntegratedTotalsWithCP56Time2a self, int ioa, const BinaryCounterReading value, const CP56Time2a timestamp)
Create a new instance of IntegratedTotalsWithCP56Time2a information object.
uint8_t OutputCircuitInfo
Output circuit information (OCI) of protection equipment according to IEC 60870-5-101:2003 7....
Definition: cs101_information_objects.h:80
SetpointCommandNormalized SetpointCommandNormalized_create(SetpointCommandNormalized self, int ioa, float value, bool selectCommand, int ql)
Create a normalized set point command information object.
StepCommandValue
Regulating step command state (RCS) according to IEC 60870-5-101:2003 7.2.6.17.
Definition: cs101_information_objects.h:238
uint8_t SelectAndCallQualifier
Select And Call Qualifier (SCQ) according to IEC 60870-5-101:2003 7.2.6.30.
Definition: cs101_information_objects.h:131
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.
uint8_t QualifierOfCommand
Qualifier Of Command (QOC) according to IEC 60870-5-101:2003 7.2.6.26.
Definition: cs101_information_objects.h:120
void InformationObject_destroy(InformationObject self)
Destroy object - free all related resources.
ParameterNormalizedValue ParameterNormalizedValue_create(ParameterNormalizedValue self, int ioa, float value, QualifierOfParameterMV qpm)
Create a parameter measured values, normalized (P_ME_NA_1) information object.
DoubleCommand DoubleCommand_create(DoubleCommand self, int ioa, int command, bool selectCommand, int qu)
Create a double command information object.
bool StepCommand_isSelect(StepCommand self)
Return the value of the S/E bit of the qualifier of command.
uint8_t StartEvent
SPE - Start events of protection equipment according to IEC 60870-5-101:2003 7.2.6....
Definition: cs101_information_objects.h:65
IEC60870_5_TypeID
Message type IDs.
Definition: iec60870_common.h:125
IntegratedTotals IntegratedTotals_create(IntegratedTotals self, int ioa, const BinaryCounterReading value)
Create a new instance of IntegratedTotals information object.
bool DoubleCommand_isSelect(DoubleCommand self)
Return the value of the S/E bit of the qualifier of command.
uint8_t QualityDescriptorP
QDP - Quality descriptor for events of protection equipment according to IEC 60870-5-101:2003 7....
Definition: cs101_information_objects.h:51
IntegratedTotalsWithCP24Time2a IntegratedTotalsWithCP24Time2a_create(IntegratedTotalsWithCP24Time2a self, int ioa, const BinaryCounterReading value, const CP24Time2a timestamp)
Create a new instance of IntegratedTotalsWithCP24Time2a information object.
uint8_t QualifierOfRPC
QRP (Qualifier of reset process command) according to IEC 60870-5-101:2003 7.2.6.27.
Definition: cs101_information_objects.h:201
ParameterActivation ParameterActivation_create(ParameterActivation self, int ioa, QualifierOfParameterActivation qpa)
Create a parameter activation (P_AC_NA_1) information object.
QualifierOfParameterMV ParameterFloatValue_getQPM(ParameterFloatValue self)
Returns the qualifier of measured values (QPM)
uint8_t QualifierOfInterrogation
Qualifier of interrogation (QUI) according to IEC 60870-5-101:2003 7.2.6.22.
Definition: cs101_information_objects.h:146
uint8_t QualifierOfParameterMV
Qualifier of parameter of measured values (QPM) according to IEC 60870-5-101:2003 7....
Definition: cs101_information_objects.h:99
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.
int InformationObject_getMaxSizeInMemory(void)
return the size in memory of a generic InformationObject instance
ParameterScaledValue ParameterScaledValue_create(ParameterScaledValue self, int ioa, int value, QualifierOfParameterMV qpm)
Create a parameter measured values, scaled (P_ME_NB_1) information object.
QualifierOfParameterMV ParameterNormalizedValue_getQPM(ParameterNormalizedValue self)
Returns the qualifier of measured values (QPM)
bool SetpointCommandScaled_isSelect(SetpointCommandScaled self)
Return the value of the S/E bit of the qualifier of command.
CP56Time2a SingleCommandWithCP56Time2a_getTimestamp(SingleCommandWithCP56Time2a self)
Get the time stamp of the command.
bool SetpointCommandNormalized_isSelect(SetpointCommandNormalized self)
Return the value of the S/E bit of the qualifier of command.
uint8_t CauseOfInitialization
Cause of Initialization (COI) according to IEC 60870-5-101:2003 7.2.6.21.
Definition: cs101_information_objects.h:111
int StepPositionInformation_getValue(StepPositionInformation self)
Step position (range -64 ... +63)
QualifierOfParameterActivation ParameterActivation_getQuality(ParameterActivation self)
Get the qualifier of parameter activation (QPA) value.
MeasuredValueScaled MeasuredValueScaled_create(MeasuredValueScaled self, int ioa, int value, QualityDescriptor quality)
Create a new instance of MeasuredValueScaled information object.
int DoubleCommand_getQU(DoubleCommand self)
Get the qualifier of command QU value.
uint8_t QualifierOfParameterActivation
Qualifier of parameter activation (QPA) according to IEC 60870-5-101:2003 7.2.6.25.
Definition: cs101_information_objects.h:211
TestCommandWithCP56Time2a TestCommandWithCP56Time2a_create(TestCommandWithCP56Time2a self, uint16_t tsc, const CP56Time2a timestamp)
Create a test command with CP56Time2a timestamp information object.
Common definitions for IEC 60870-5-101/104 These types are used by CS101/CS104 master and slaves.
Definition: iec60870_common.h:264
Definition: iec60870_common.h:231
Definition: iec60870_common.h:237
Definition: iec60870_common.h:255
Definition: iec60870_common.h:112
Definition: cs101_information_objects.h:266