map/das-dn/comm/ryFileDef.cpp
2024-12-03 10:36:06 +08:00

547 lines
32 KiB
C++

#include "ryFileDef.h"
int calcFields(FIELDDES* fields)
{
int len = 0;
struRYDeviceData t_data;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.localtime) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.localtime);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenSpeed) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenSpeed);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenPower) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenPower);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeed) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeed);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iVibrationY) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iVibrationY);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iVibrationZ) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iVibrationZ);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTurbineOperationMode) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTurbineOperationMode);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBPLevel) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBPLevel);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iYPLevel) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iYPLevel);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeed_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeed_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenSpeed_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenSpeed_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenPower_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenPower_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenToruqe) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenToruqe);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iRotorSpeed) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iRotorSpeed);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTheoreticalPower) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTheoreticalPower);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iReactivePower) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iReactivePower);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iActivePowerSetPointValue) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iActivePowerSetPointValue);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iReactivePowerSetPointValue) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iReactivePowerSetPointValue);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iSetValueGenSpeed) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iSetValueGenSpeed);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iSetValuePitchAngle) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iSetValuePitchAngle);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle1RefValue) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle1RefValue);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle2RefValue) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle2RefValue);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle3RefValue) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle3RefValue);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle1) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle1);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle2) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle2);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngle3) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngle3);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iVaneDirection) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iVaneDirection);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindDirection) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindDirection);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord01) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord01);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord02) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord02);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord03) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord03);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord04) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord04);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord05) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord05);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord06) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord06);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord07) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord07);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.StateWord08) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.StateWord08);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode01) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode01);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode02) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode02);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode03) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode03);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode04) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode04);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode05) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode05);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode06) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode06);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode07) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode07);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.ActiveStatusCode08) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.ActiveStatusCode08);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iFrequency) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iFrequency);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iUL1_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iUL1_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iUL2_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iUL2_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iUL3_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iUL3_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iIL1_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iIL1_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iIL2_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iIL2_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iIL3_690V) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iIL3_690V);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1MotorCurrent) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1MotorCurrent);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2MotorCurrent) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2MotorCurrent);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3MotorCurrent) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3MotorCurrent);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngleBk1) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngleBk1);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngleBk2) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngleBk2);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iPitchAngleBk3) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iPitchAngleBk3);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iCosPhi) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iCosPhi);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGearPressA) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGearPressA);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGearPressB) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGearPressB);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iHydrPress) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iHydrPress);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iNacellePositionLtd) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iNacellePositionLtd);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iCableTwistTotal) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iCableTwistTotal);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iNacellePositionTotal) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iNacellePositionTotal);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempOutdoor_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempOutdoor_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempHub_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempHub_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempNacelle_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempNacelle_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempTowerBase_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempTowerBase_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempCabinetNacelle_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempCabinetNacelle_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempCabinetTowerBase_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempCabinetTowerBase_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempTransformer690_400V_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempTransformer690_400V_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempMV_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempMV_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1TempMotor_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1TempMotor_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2TempMotor_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2TempMotor_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3TempMotor_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3TempMotor_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1TempBattBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1TempBattBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2TempBattBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2TempBattBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3TempBattBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3TempBattBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempCntr_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempCntr_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1TempInvBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1TempInvBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2TempInvBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2TempInvBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3TempInvBox_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3TempInvBox_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1TempPMMHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1TempPMMHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2TempPMMHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2TempPMMHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3TempPMMHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3TempPMMHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade1TempPMCHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade1TempPMCHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade2TempPMCHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade2TempPMCHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iBlade3TempPMCHeatsink_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iBlade3TempPMCHeatsink_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempRotorBearA_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempRotorBearA_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempRotorBearB_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempRotorBearB_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTemp1GearOil_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTemp1GearOil_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGearBearDE_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGearBearDE_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGearBearNDE_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGearBearNDE_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenBearDE_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenBearDE_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenBearNDE_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenBearNDE_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenStatorU_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenStatorU_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenStatorV_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenStatorV_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenStatorW_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenStatorW_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGenCoolingAir_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGenCoolingAir_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iAvailabillityToday) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iAvailabillityToday);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iAvailabillityTotal) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iAvailabillityTotal);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iKWhThisDay) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iKWhThisDay);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iKWhOverall) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iKWhOverall);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iOperationHoursDay) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iOperationHoursDay);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iOperationHoursOverall) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iOperationHoursOverall);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iLostKWhThisDay) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iLostKWhThisDay);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iLostKWhOverall) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iLostKWhOverall);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW001) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW001);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW002) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW002);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW003) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW003);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW004) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW004);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW005) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW005);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW006) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW006);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW007) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW007);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW008) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW008);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW009) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW009);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW010) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW010);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW011) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW011);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW012) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW012);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW013) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW013);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW014) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW014);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW015) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW015);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW016) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW016);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW017) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW017);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW018) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW018);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW019) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW019);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW020) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW020);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW021) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW021);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW022) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW022);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW023) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW023);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW024) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW024);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW025) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW025);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW026) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW026);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW027) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW027);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW028) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW028);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW029) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW029);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW030) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW030);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW031) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW031);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW032) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW032);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW033) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW033);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW034) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW034);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW035) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW035);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW036) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW036);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW037) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW037);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW038) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW038);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW039) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW039);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW040) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW040);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW041) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW041);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW042) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW042);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW043) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW043);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW044) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW044);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW045) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW045);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW046) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW046);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW047) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW047);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW048) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW048);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW049) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW049);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.SCW050) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.SCW050);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenSpeed_10sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenSpeed_10sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenSpeed_30sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenSpeed_30sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenPower_10sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenPower_10sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iGenPower_30sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iGenPower_30sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeed_10sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeed_10sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeed_30sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeed_30sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeed_10min) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeed_10min);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iAvailablePower) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iAvailablePower);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.FirstTriggeredCode) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.FirstTriggeredCode);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.FaultInformation) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.FaultInformation);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.WecRunCondition) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.WecRunCondition);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeedIEC) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeedIEC);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeedIEC_30sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeedIEC_30sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iWindSpeedIEC_10min) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iWindSpeedIEC_10min);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iYawPress) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iYawPress);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iStandardAirDensity) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iStandardAirDensity);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iAirDensity) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iAirDensity);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iVibrationYFiltered) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iVibrationYFiltered);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iVibrationZFiltered) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iVibrationZFiltered);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempGearWaterCool_1sec) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempGearWaterCool_1sec);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.PowerLimitSource) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.PowerLimitSource);
len++;
fields[len].start = reinterpret_cast<uintptr_t>(&t_data.iTempOutdoor_10min) - reinterpret_cast<uintptr_t>(&t_data);
fields[len].length = sizeof(t_data.iTempOutdoor_10min);
len++;
return len;
}