226 lines
5.8 KiB
C++
226 lines
5.8 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
//according to ChaGanHu wind park MY1.5se-89 with Beckhoff controller
|
|
#pragma pack(1)
|
|
struct CGHAdsOverviewData{
|
|
uint16_t iTurbineOperationMode;
|
|
uint16_t iBPLevel;
|
|
uint16_t iYPLevel;
|
|
uint8_t bYawCCWStart;
|
|
uint8_t bYawCWStart;
|
|
uint8_t bTowerDoorOpen;
|
|
float fGenPower;
|
|
float fGenPower1s;
|
|
float fGenPower30s;
|
|
float fGenSpeed;
|
|
float fGenSpeed1s;
|
|
float fGenSpeed30s;
|
|
float fPitchAngle;
|
|
float fPitchAngle1s;
|
|
float fPitchAngle30s;
|
|
float fWindSpeed;
|
|
float fWindSpeed1s;
|
|
float fWindSpeed30s;
|
|
float fPowerFactor;
|
|
float fReactivePower;
|
|
float fGridFrequency;
|
|
float fGridVoltageL1;
|
|
float fGridVoltageL2;
|
|
float fGridVoltageL3;
|
|
float fGridCurrentL1;
|
|
float fGridCurrentL2;
|
|
float fGridCurrentL3;
|
|
float fActivePowerSetPoint;
|
|
float fGenSpeedSetPoint;
|
|
float fPitchAngleSetPoint;
|
|
float fNacellePositionLtd;
|
|
float fCableTwistAngle;
|
|
float fNacellePositionTotal;
|
|
float fVaneDirection1s;
|
|
float fAvailabilityToday;
|
|
float fAvailabilityTotal;
|
|
float fPowerFactorSetPoint;
|
|
int32_t fEnergyProducedTotal;
|
|
int32_t fEnergyProducedToday;
|
|
uint32_t iOperationHoursTotal;
|
|
uint32_t iOperationHoursToday;
|
|
uint16_t SCW001;
|
|
uint16_t SCW002;
|
|
uint16_t SCW003;
|
|
uint16_t SCW004;
|
|
uint16_t SCW005;
|
|
uint16_t SCW006;
|
|
uint16_t SCW007;
|
|
uint16_t SCW008;
|
|
uint16_t SCW009;
|
|
uint16_t SCW010;
|
|
uint16_t SCW011;
|
|
uint16_t SCW012;
|
|
uint16_t SCW013;
|
|
uint16_t SCW014;
|
|
uint16_t SCW015;
|
|
uint16_t SCW016;
|
|
uint16_t SCW017;
|
|
uint16_t SCW018;
|
|
uint16_t SCW019;
|
|
uint16_t SCW020;
|
|
uint16_t SCW021;
|
|
uint16_t SCW022;
|
|
uint16_t SCW023;
|
|
uint16_t SCW024;
|
|
uint16_t SCW025;
|
|
uint16_t SCW026;
|
|
uint16_t SCW027;
|
|
uint16_t SCW028;
|
|
uint16_t SCW029;
|
|
uint16_t SCW030;
|
|
uint16_t SCW031;
|
|
uint16_t SCW032;
|
|
uint16_t SCW033;
|
|
uint16_t SCW034;
|
|
uint16_t SCW035;
|
|
uint16_t SCW036;
|
|
uint16_t SCW037;
|
|
uint16_t SCW038;
|
|
uint16_t SCW039;
|
|
uint16_t SCW040;
|
|
uint16_t SCW041;
|
|
uint32_t dwFaultInformation;
|
|
uint32_t dwWecRunCondition;
|
|
uint32_t dwTriggeredSCAddress;
|
|
float fWindSpeedIec;
|
|
float fWindSpeedIec30s;
|
|
float fWindSpeedIec10min;
|
|
float fRotorSpeed;
|
|
float fNacelleVibrationY;
|
|
float fNacelleVibrationZ;
|
|
float fNacelleVibrationYFiltered;
|
|
float fNacelleVibrationZFiltered;
|
|
float fHydraulicPressure;
|
|
float fYawPressure;
|
|
float fWindSpeed10min;
|
|
float fPitch1Angle;
|
|
float fPitch2Angle;
|
|
float fPitch3Angle;
|
|
float fPowerSetPointFlag;
|
|
float fStandardAirDensity;
|
|
float fAirDensity;
|
|
float fLocalWindSpeed;
|
|
float fDynamicPower;
|
|
uint16_t iMVTransSign1;
|
|
uint16_t iMVTransSign2;
|
|
uint16_t iMVTransSign3;
|
|
}*pCGHAdsOverviewData;
|
|
|
|
struct CGHAdsTempData{
|
|
float fEnvTemp1s;
|
|
float fEnvTemp30s;
|
|
float fEnvTemp10min;
|
|
float fHubTemp1s;
|
|
float fHubTemp30s;
|
|
float fHubTemp10min;
|
|
float fNacelleTemp1s;
|
|
float fNacelleTemp30s;
|
|
float fNacelleTemp10min;
|
|
float fTowerBaseTemp1s;
|
|
float fTowerBaseTemp30s;
|
|
float fTowerBaseTemp10min;
|
|
float fNacelleCabinetTemp1s;
|
|
float fNacelleCabinetTemp30s;
|
|
float fNacelleCabinetTemp10min;
|
|
float fTowerBaseCabinetTemp1s;
|
|
float fTowerBaseCabinetTemp30s;
|
|
float fTowerBaseCabinetTemp10min;
|
|
float f400vTransTemp1s;
|
|
float f400vTransTemp30s;
|
|
float f400vTransTemp10min;
|
|
float fPitchTransTemp1s;
|
|
float fPitchTransTemp30s;
|
|
float fPitchTransTemp10min;
|
|
float fPitch1MotorTemp1s;
|
|
float fPitch1MotorTemp30s;
|
|
float fPitch1MotorTemp10min;
|
|
float fPitch2MotorTemp1s;
|
|
float fPitch2MotorTemp30s;
|
|
float fPitch2MotorTemp10min;
|
|
float fPitch3MotorTemp1s;
|
|
float fPitch3MotorTemp30s;
|
|
float fPitch3MotorTemp10min;
|
|
float fRotorBearATemp1s;
|
|
float fRotorBearATemp30s;
|
|
float fRotorBearATemp10min;
|
|
float fRotorBearBTemp1s;
|
|
float fRotorBearBTemp30s;
|
|
float fRotorBearBTemp10min;
|
|
float fGearOilTemp1s;
|
|
float fGearOilTemp30s;
|
|
float fGearOilTemp10min;
|
|
float fGearDEBearTemp1s;
|
|
float fGearDEBearTemp30s;
|
|
float fGearDEBearTemp10min;
|
|
float fGearNDEBearTemp1s;
|
|
float fGearNDEBearTemp30s;
|
|
float fGearNDEBearTemp10min;
|
|
float fGearCoolWaterTemp1s;
|
|
float fGearCoolWaterTemp30s;
|
|
float fGearCoolWaterTemp10min;
|
|
float fGenDEBearTemp1s;
|
|
float fGenDEBearTemp30s;
|
|
float fGenDEBearTemp10min;
|
|
float fGenNDEBearTemp1s;
|
|
float fGenNDEBearTemp30s;
|
|
float fGenNDEBearTemp10min;
|
|
float fGenWindUTemp1s;
|
|
float fGenWindUTemp30s;
|
|
float fGenWindUTemp10min;
|
|
float fGenWindVTemp1s;
|
|
float fGenWindVTemp30s;
|
|
float fGenWindVTemp10min;
|
|
float fGenWindWTemp1s;
|
|
float fGenWindWTemp30s;
|
|
float fGenWindWTemp10min;
|
|
float fGenCoolAirTemp1s;
|
|
float fGenCoolAirTemp30s;
|
|
float fGenCoolAirTemp10min;
|
|
float fResv1Temp1s;
|
|
float fResv1Temp30s;
|
|
float fResv1Temp10min;
|
|
float fResv2Temp1s;
|
|
float fResv2Temp30s;
|
|
float fResv2Temp10min;
|
|
float fResv3Temp1s;
|
|
float fResv3Temp30s;
|
|
float fResv3Temp10min;
|
|
float fResv4Temp1s;
|
|
float fResv4Temp30s;
|
|
float fResv4Temp10min;
|
|
float fResv5Temp1s;
|
|
float fResv5Temp30s;
|
|
float fResv5Temp10min;
|
|
}*pCGHAdsTempData;
|
|
|
|
struct CGHAdsTurbineCommand{
|
|
uint16_t oControlWord;
|
|
float fSetPowerFactor;
|
|
uint16_t oSetYear;
|
|
uint16_t oSetMonth;
|
|
uint16_t oSetDayOfWeek;
|
|
uint16_t oSetDay;
|
|
uint16_t oSetHour;
|
|
uint16_t oSetMinute;
|
|
uint16_t oSetSecond;
|
|
uint16_t oSetMillis;
|
|
float fSetValuePoweratMax;
|
|
float fSetLockDirAtTyhoonMode;
|
|
uint8_t bSetTyhoonModeActive;
|
|
uint16_t oControlWord1;
|
|
float fSetReactivePower;
|
|
float fSetConverterVoltage;
|
|
}*pCGHAdsTurbineCommand;
|
|
|
|
const uint16_t AdsOverviewDataMemAddr = 1000;
|
|
const uint16_t AdsTempDataMemAddr = 2;
|
|
|
|
#pragma pack() |