📄 icapi.h
字号:
icReferenceNumType TransferAccountRef; icUtilityIdType SendUtility; icUtilityIdType RecvUtility; icUtilityIdType SellingUtility; icUtilityIdType BuyerUtility; icGMTBasedSType TimeStamp; icChar Name[MAX_IDENT_LEN+1]; icNumberType NumberLocalRef; icNumberType NumberProfileVals;} icTypeNamedProfileHeader ; /* * Common Account Header type for Block 8 SDK user */typedef struct _ictypeaccountheader { icReferenceNumType TransferAccountRef; icUtilityIdType SendUtility; icUtilityIdType RecvUtility; icUtilityIdType SellingUtility; icUtilityIdType BuyerUtility; icGMTBasedSType TimeStamp; icScheduleTimeType StartTime; icNumberType NumberLocalRef; icNumberType NumberSegments; icNumberType NumberFloatIds; icNumberType NumberIntegerIds; icNumberType NumberPeriods; icNumberType NumberProfileVals; icChar Name[MAX_IDENT_LEN+1]; icChar PeriodResolution[MAX_IDENT_LEN+1];/* SISCO_START */ /* StructPadding is present to insure that this stucture is large */ /* enough to match the size of the other structures it is cast to */ /* be. The DECUnix compiler requires this size increase. */ icChar StructPadding[8];/* SISCO_END */ } icTypeAccountHeader ; /* * Define TAConditions Object Types. *//* * Account Objects Transfer Conditions * * BitString Definition for TAConditions * * +------------------ BeforeTheHour * | +---------------- DispatchUpdate * | | +-------------- DuringTheHour * | | | +------------ AfterTheHour * | | | | +---------- ActualDataUpdate * | | | | | +-------- PastHours * | | | | | | +------ ObjectChange * | | | | | | | +---- OperatorRequest * | | | | | | | | * | | | | | | | | * bit = 0 1 2 3 4 5 6 7 */#define TAC_ALL 0xff /* all conditions */#define TAC_NONE 0x00 /* no conditions */#define TAC_BEFORE_HOUR 0x80 /* report before the hour */#define TAC_DISPATCH_UPDATE 0x40 /* report when dispatch updates */#define TAC_DURING_HOUR 0x20 /* report during the hour */#define TAC_AFTER_HOUR 0x10 /* report after the hour */#define TAC_ACTUAL_UPDATE 0x08 /* report when actual data update */#define TAC_PAST_HOURS 0x04 /* report past hours data */#define TAC_OBJECT_CHANGE 0x02 /* report when value changes */#define TAC_OPERATOR_REQUEST 0x01 /* report upon server operator request - unused by this implementation *//* * Transmission Segment Type Definitions */#define PT_TA_TRANS_SEG_NAME "TATransmissionSegment"#define PT_TA_TRANS_SEG_TDL \ "{(TransmissionReference)Long,(UtilWheeling)Long,(UtilPaying)Long,(TransmissionSegType)Short,(UtilIn)Long,(UtilOut)Long,(InterchangePtIn)Long,(InterchangePtOut)Long,(InterchangePt)Long,(NumberFloatIds)Long,(NumberIntegerIds)Long}"typedef struct _ictypetransmissionseg{ icReferenceNumType TransmissionRef; icUtilityIdType UtilWheeling; icUtilityIdType UtilPaying; icTransSegCodeType TransmissionSegType; icUtilityIdType UtilIn; icUtilityIdType UtilOut; icInterchangeIdType InterchangePtIn; icInterchangeIdType InterchangePtOut; icInterchangeIdType InterchangePt; icNumberType NumberFloatIds; icNumberType NumberIntegerIds;} icTypeTransmissionSeg;/* * Profile Value Type Definitions */#define PT_TA_PROFILE_VALUE_NAME "TAProfileValue"#define PT_TA_PROFILE_VALUE_TDL \ "{(RampStartTime)Long,(RampDuration)Long,(ProfilePrice)Float,(ProfileTargetClass)Short,(ProfileTarget)Float}"typedef struct _ictypeprofilevalue{ icScheduleTimeType RampStartTime; icDurationType RampDuration; icPriceType ProfilePrice; icCommodityClassType ProfileTargetClass; icTransactionAmountType ProfileTarget;} icTypeProfileValue;/* * DO user need AccountRequestType * They are in icapisdk.h now. ???? *//*#ifndef ICAPItypedef icChar icTypeTAConditions;typedef struct _ictypeaccountreq{ icReferenceNumType ReferenceTar; icScheduleTimeType StartTime; icDurationType Duration; icReferenceNumType RequestId; icTypeTAConditions TAConditionsRequested;} icTypeAccountReq;#endif*/#define VNAME_TEXT32_ARRAY1 "Text32_Array_1"#define VNAME_TEXT32_ARRAY_ "Text32_Array_"#define VNAME_B8_UNIT_CAPACITY "UnitCapacity"#define VNAME_B8_AVAIL_CLASS "AvailabilityClass"/* SISCO_START use toolkit types for these definitions */typedef icShort icTimeIntervalDType; /* time interval in days */typedef icShort icTimeIntervalHType; /* time interval in hours */typedef icShort icTimeIntervalMType; /* time interval in minutes */typedef icShort icTimeIntervalSType; /* time interval in seconds */typedef icShort icTimeIntervalL16Type; /* time interval in millis */typedef icLong icTimeIntervalL32Type; /* time interval in millis *//* SISCO_END *//* * Protection Equipment -- Block 1 & 2 objects *//*typedef icUChar icTypeSingleFlags;typedef icUChar icTypeEventFlags;typedef icUChar icTypePackedFlags;typedef struct _ictimestampexttype{ icGMTBasedSType GMTBasedS; timeIntervalL16Type Milliseconds;} icTimeStampExtType;#define IC_TYPE_SINGLE_PROTECT_NAME "SingleProtectionEvent"#define IC_TYPE_SINGLE_PROTECT_TDL \ "{(SingleEventFlags)Bstring8,(OperatingTime)Short,(EventTime){(GMTBasedS)Long,(Milliseconds)Short}}"typedef struct _ictypesingleprotectionevnt{ icTypeSingleFlags SingleEventFlags; timeIntervalL16Type OperatingTime; timeStampExtType EventTime;} icTypeSingleProtectionEvnt;#define IC_TYPE_PACKED_PROTECT_NAME "PackedProtectionEvent"#define IC_TYPE_PACKED_PROTECT_TDL \ "{(PackedEvent)Bstring8,(PackedEventFlags)Bstring8,(OperatingTime)Short,(EventTime){(GMTBasedS)Long,(Milliseconds)Short}}"typedef struct _ictypepackedprotectionevnt{ icTypeEventFlags PackedEvent; icTypePackedFlags PackedEventFlags; timeIntervalL16Type OperatingTime; timeStampExtType EventTime;} icTypePackedProtectionEvnt;*//* * Device Outage Objects -- Block 8 objects *//* foundation types for Device Outage Objects */typedef icInt icActionIdType; /* integer 32 */typedef icInt icDeviceIdType; /* integer 32 */typedef icInt icDeviceNumType; /* integer 32 *//* SISCO_START use toolkit types */typedef icShort icClassIdType; /* integer 16 */typedef icShort icOutagePeriodIdType; /* integer 16 */typedef icShort icOutageTypeIdType; /* integer 16 */typedef icShort icPlanTypeIdType; /* integer 16 *//* SISCO_END */#define IC_TYPE_DO_SCHED_NAME "DONewRevSched"#define IC_TYPE_DO_SCHED_TDL \ "{Long,Long,Long,Vstring32,Vstring32,Long,Short,Float,Long,Short,Long,Long,Short,Short,Float,Float,Float,Short,Vstring128,Vstring128}"/* this probabily be too long, so skip the field tags "{(OutageReferenceId)Long,(OutageUtilityId)Long,(TimeStamp)Long,(StationName)Vstring32,(DeviceName)Vstring32,(DeviceType)Long,(DeviceNumber)Short,(DeviceRating)Float,(ActivityDateAndTime)Long,(PlanType)Short,(PlannedOpenOrOutOfServiceDataAndTime)Long,(PlannedCloseOrInServiceDataAndTime)Long,(OutagePeriod)Short,(OutageType)Short,(Amount)Float,(UpperOperatingLimit)Float,(LowerOperatingLimit)Float,(Class)Short,(Comments)Vstring128,(OutageEffect)Vstring128}" */#define MAX_COMMENT_LEN 128typedef struct _ictypedonewrevsched{ icReferenceNumType OutageRefId; icUtilityIdType OutageUtilityId; icGMTBasedSType TimeStamp; icChar StationName[MAX_IDENT_LEN+1]; icChar DeviceName[MAX_IDENT_LEN+1]; icDeviceIdType DeviceType; icNumberType DeviceNumber; icTypeReal DeviceRating; icScheduleTimeType ActivityDateAndTime; icPlanTypeIdType PlanType; icScheduleTimeType PlanOpenOOSDateTime; icScheduleTimeType PlanCloseISDateTime; icOutagePeriodIdType OutagePeriod; icOutageTypeIdType OutageType; icTypeReal Amount; icTypeReal UpperOperLimit; icTypeReal LowerOperLimit; icClassIdType Class; icChar Comments[MAX_COMMENT_LEN+1]; icChar OutageEffect[MAX_COMMENT_LEN+1];} icTypeDONewRevSched;#define IC_TYPE_DO_CANCEL_NAME "DOCancel"#define IC_TYPE_DO_CANCEL_TDL \ "{(OutageReferenceId)Long,(OwningUtilityId)Long,(TimeStamp)Long,(StationName)Vstring32,(DeviceName)Vstring32,(DeviceType)Long,(DeviceNumber)Short,(DeviceRating)Float,(ActivityDateAndTime)Long,(Comments)Vstring128,(OutageEffect)Vstring128}"typedef struct _ictypedocancel{ icReferenceNumType OutageRefId; icUtilityIdType OwningUtilityId; icGMTBasedSType TimeStamp; icChar StationName[MAX_IDENT_LEN+1]; icChar DeviceName[MAX_IDENT_LEN+1]; icDeviceIdType DeviceType; icNumberType DeviceNumber; icTypeReal DeviceRating; icScheduleTimeType ActivityDateAndTime; icChar Comments[MAX_COMMENT_LEN+1]; icChar OutageEffect[MAX_COMMENT_LEN+1];} icTypeDOCancel;#define IC_TYPE_DO_ACTUAL_NAME "DOActual"#define IC_TYPE_DO_ACTUAL_TDL \ "{(OutageReferenceId)Long,(OwningUtilityId)Long,(TimeStamp)Long,(StationName)Vstring32,(DeviceName)Vstring32,(DeviceType)Long,(DeviceNumber)Short,(DeviceRating)Float,(ActivityDateAndTime)Long,(Action)Long,(AffectedAmount)Float,(Comments)Vstring128,(OutageEffect)Vstring128}"typedef struct _ictypedoactual{ icReferenceNumType OutageRefId; icUtilityIdType OwningUtilityId; icGMTBasedSType TimeStamp; icChar StationName[MAX_IDENT_LEN+1]; icChar DeviceName[MAX_IDENT_LEN+1]; icDeviceIdType DeviceType; icNumberType DeviceNumber; icTypeReal DeviceRating; icScheduleTimeType ActivityDateAndTime; icActionIdType Action; icTypeReal AffectedAmount; icChar Comments[MAX_COMMENT_LEN+1]; icChar OutageEffect[MAX_COMMENT_LEN+1];} icTypeDOActual;/* * Power Plant Objects -- Block 8 objects *//* foundation types for Power Plant Objects */typedef icInt icAvailReasonCodeType; /* integer 32 */typedef icInt icLFCReasonCodeType; /* integer 32 */typedef icInt icPlantIdType; /* integer 32 */typedef icFloat icCapacityType; /* format 24, exponent 8 */typedef icFloat icRampRateType; /* format 24, exponent 8 */typedef icInt icReportStatType; /* integer 32 */typedef icInt icUnitIdType; /* integer 32 */#define IC_TYPE_UNIT_CAPACITY_NAME "UnitCapacity"#define IC_TYPE_UNIT_CAPACITY_TDL \ "{(CapacityClass)Bstring2,(GrossMaxCapacity)Float,(GrossMinCapacity)Float,(NetMaxCapacity)Float,(NetMinCapacity)Float}"typedef struct _ictypeunitcapacity{ icUChar CapacityClass; icCapacityType GrossMaxCapacity; icCapacityType GrossMinCapacity; icCapacityType NetMaxCapacity; icCapacityType NetMinCapacity; } icTypeUnitCapacity;#define IC_TYPE_RAMP_RATES_NAME "RampRates"#define IC_TYPE_RAMP_RATE_TDL \ "{(MaxRampRateUp)Float,(MaxRampRateDown)Float}"typedef struct _ictyperamprates{ icRampRateType MaxRampRateUp; icRampRateType MaxRampRateDown; } icTypeRampRates;#define IC_TYPE_AVAIL_CLASS_NAME "AvailabilityClass"#define IC_TYPE_AVAIL_CLASS_TDL \ "{(AvailFlags)Bstring8,(TimeToOnline)Long,(ReasonForNoLFC)Long}"typedef struct _ictypeavailabilityclass{ icUChar AvailFlags; icGMTBasedSType TimeToOnline; icLFCReasonCodeType ReasonForNoLFC; } icTypeAvailabilityClass;/* * Availability Report Type Descriptions */#define IC_TYPE_AVAIL_NAME "Available"#define IC_TYPE_AVAIL_TDL \ "{Long,Long,Long,Long,Long,Long,Short,Bool,Long,Bstring8,Float,{Float,Float},{Bstring2,Float,Float,Float,Float},{Bstring8,Long,Long},Vstring255}"/* probabily too long, so delete field names "{(AvailabilityReferenceId)Long,(PlantId)Long,(UnitId)Long,(TimeStamp)Long,(StartDateTime)Long,(EndDateTime)Long,(Duration)Long,(ProvidingReserve)Bool,(ReportStatus)Long,(Impact)Bstring8,(PriceImpact)Float,(RampImpact)Float,(UnitCapacity)Float,(Availability){(AvailFlags)Bstring8,(TimeToOnline)Long,(ReasonForNoLFC)Long},(Comment)Vstring255}" */#define MAX_COMMENT_LEN_1 255typedef struct _ictypeavailable{ icReferenceNumType AvailabilityRefId; icPlantIdType PlantId; icUnitIdType UnitId;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -