import struct class msg_CcuStateFbMsg: def __init__(self): self.start1 = 0x20 self.start2 = 0x20 self.id = 0x0051 self.length = 0x5A self.currentWorkCondition = 0x01 self.fcuState = 0x01 self.fcuFaultLeve = 0x01 self.powerLimit = 0x01 self.totalPowerGeneration = 0x01 self.ch4o = 0x01 self.o2 = 0x01 self.fcuVoltage = 0x01 self.fcuCurrent = 0x01 self.o2Level = 0x01 self.placeholder1 = 0x01 self.exchangerTemperature = 0x01 self.fcuOutPower = 0x01 self.fcuOutIns = 0x01 self.fcuVoltageIns = 0x01 self.fcuVoltagePower = 0x01 self.fcuCurrentIns = 0x01 self.fcuCurrentPower = 0x01 self.h2Concentration1 = 0x01 self.h2Concentration2 = 0x01 self.o2Concentration1 = 0x01 self.o2Concentration2 = 0x01 self.ch4oConcentration1 = 0x01 self.ch4oConcentration2 = 0x01 self.backpressure1 = 0x01 self.backpressure2 = 0x01 self.flameDetection = 0x01 self.fcuGZ_1L = 0x01 self.fcuGZ_1H = 0x01 self.fcuGZ_2L = 0x01 self.fcuGZ_2H = 0x01 self.fcuGZ_3L = 0x01 self.fcuGZ_3H = 0x01 self.insPosRelayState = 0x01 self.insNegRelayState = 0x01 self.powerPosRelayState = 0x01 self.powerNegRelayState = 0x01 self.insBatLimit = 0x01 self.powerBatLimit = 0x01 self.insBatSoc = 0x01 self.powerBatSoc = 0x01 self.insBatTotalElectricity = 0x01 self.powerBatTotalElectricity = 0x01 self.insBatCurrentElectricity = 0x01 self.powerBatCurrentElectricity = 0x01 self.insChargeState = 0x01 self.powerChargeState = 0x01 self.insLinkVoltage = 0x01 self.insPackVoltage = 0x01 self.insCurrent = 0x01 self.insPosInsulationResistance = 0x01 self.insNegInsulationResistance = 0x01 self.powerLinkVoltage = 0x01 self.powerPackVoltage = 0x01 self.powerCurrent = 0x01 self.powerPosInsulationResistance = 0x01 self.powerNegInsulationResistance = 0x01 self.insEmergencyStatusWord = 0x01 self.powerEmergencyStatusWord = 0x01 self.insAlarmIdentificationWord = 0x01 self.powerAlarmIdentificationWord = 0x01 self.insCurrentSocHold1 = 0x01 self.insCurrentSocHold2 = 0x01 self.insCurrentSocHold3 = 0x01 self.fcuCurrentToInsLimit1 = 0x01 self.fcuCurrentToinsLimit2 = 0x01 self.powerCurrentSocHold1 = 0x01 self.powerCurrentSocHold2 = 0x01 self.powerCurrentSocHold3 = 0x01 self.powerCurrentToInsLimit1 = 0x01 self.powerCurrentToinsLimit2 = 0x01 self.placeholder2 = 0x01 self.placeholder3 = 0x01 self.placeholder4 = 0x01 self.placeholder5 = 0x01 self.checkCode = 0x01 def pack(self): # 初始化数据 self.length = 0x0000 self.checkCode = self.start1 + self.start2 + self.id + self.length + self.currentWorkCondition + self.fcuState + self.fcuFaultLeve + self.powerLimit + self.totalPowerGeneration + self.ch4o + self.o2 + self.fcuVoltage + self.fcuCurrent + self.o2Level + self.placeholder1 + self.exchangerTemperature + self.fcuOutPower + self.fcuOutIns + self.fcuVoltageIns + self.fcuVoltagePower + self.fcuCurrentIns + self.fcuCurrentPower + self.h2Concentration1 + self.h2Concentration2 + self.o2Concentration1 + self.o2Concentration2 + self.ch4oConcentration1 + self.ch4oConcentration2 + self.backpressure1 + self.backpressure2 + self.flameDetection + self.fcuGZ_1L + self.fcuGZ_1H + self.fcuGZ_2L + self.fcuGZ_2H + self.fcuGZ_3L + self.fcuGZ_3H + self.insPosRelayState + self.insNegRelayState + self.powerPosRelayState + self.powerNegRelayState + self.insBatLimit + self.powerBatLimit + self.insBatSoc + self.powerBatSoc + self.insBatTotalElectricity + self.powerBatTotalElectricity + self.insBatCurrentElectricity + self.powerBatCurrentElectricity + self.insChargeState + self.powerChargeState + self.insLinkVoltage + self.insPackVoltage + self.insCurrent + self.insPosInsulationResistance + self.insNegInsulationResistance + self.powerLinkVoltage + self.powerPackVoltage + self.powerCurrent + self.powerPosInsulationResistance + self.powerNegInsulationResistance + self.insEmergencyStatusWord + self.powerEmergencyStatusWord + self.insAlarmIdentificationWord + self.powerAlarmIdentificationWord + self.insCurrentSocHold1 + self.insCurrentSocHold2 + self.insCurrentSocHold3 + self.fcuCurrentToInsLimit1 + self.fcuCurrentToinsLimit2 + self.powerCurrentSocHold1 + self.powerCurrentSocHold2 + self.powerCurrentSocHold3 + self.powerCurrentToInsLimit1 + self.powerCurrentToinsLimit2 + self.placeholder2 + self.placeholder3 + self.placeholder4 + self.placeholder5 data = struct.pack('