调试完成了动力母线消息
This commit is contained in:
+45
-64
@@ -3,10 +3,10 @@ import struct
|
||||
# 高压母线配电反馈
|
||||
class msg_disHighVolBusFbMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0005
|
||||
self.length = 38 # disHighVolBusState结构体大小
|
||||
self.length = 59
|
||||
self.checkCode = 0x00
|
||||
|
||||
# disHighVolBusState成员
|
||||
@@ -28,6 +28,7 @@ class msg_disHighVolBusFbMsg:
|
||||
self.aBusInsulationStatus = 0x00
|
||||
self.meterPowerLossSignal = 0x00
|
||||
self.emergencyPowerLossSignal = 0x00
|
||||
self.dcdcTemperature = 0x00
|
||||
self.powerBusVoltage = 0
|
||||
self.dcDc5ModuleCurrent = 0
|
||||
self.powerBusCurrent = 0
|
||||
@@ -72,6 +73,7 @@ class msg_disHighVolBusFbMsg:
|
||||
data += struct.pack('<B', self.aBusInsulationStatus)
|
||||
data += struct.pack('<B', self.meterPowerLossSignal)
|
||||
data += struct.pack('<B', self.emergencyPowerLossSignal)
|
||||
data += struct.pack('<B', self.dcdcTemperature)
|
||||
data += struct.pack('<H', self.powerBusVoltage)
|
||||
data += struct.pack('<H', self.dcDc5ModuleCurrent)
|
||||
data += struct.pack('<H', self.powerBusCurrent)
|
||||
@@ -98,8 +100,8 @@ class msg_disHighVolBusFbMsg:
|
||||
return data
|
||||
|
||||
def unpack(self, data):
|
||||
if len(data) < 4 + self.length + 1:
|
||||
return False
|
||||
# if len(data) < 4 + self.length + 1:
|
||||
# return False
|
||||
|
||||
self.start1 = data[0]
|
||||
self.start2 = data[1]
|
||||
@@ -125,6 +127,7 @@ class msg_disHighVolBusFbMsg:
|
||||
self.aBusInsulationStatus = data[offset]; offset +=1
|
||||
self.meterPowerLossSignal = data[offset]; offset +=1
|
||||
self.emergencyPowerLossSignal = data[offset]; offset +=1
|
||||
self.dcdcTemperature = data[offset]; offset +=1 # 新增的温度信号解包
|
||||
|
||||
self.powerBusVoltage = struct.unpack_from('<H', data, offset)[0]; offset +=2
|
||||
self.dcDc5ModuleCurrent = struct.unpack_from('<H', data, offset)[0]; offset +=2
|
||||
@@ -153,8 +156,8 @@ class msg_disHighVolBusFbMsg:
|
||||
# 高压母线A配电反馈
|
||||
class msg_disHighAVolBusFbMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0006
|
||||
self.length = 18 # disHighAVolBusState结构体大小
|
||||
self.checkCode = 0x00
|
||||
@@ -249,8 +252,8 @@ class msg_disHighAVolBusFbMsg:
|
||||
# 仪表母线配电反馈
|
||||
class msg_disLowMainBusFbMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0007
|
||||
self.length = 36 # disLowMainBusState结构体大小
|
||||
self.checkCode = 0x00
|
||||
@@ -360,8 +363,8 @@ class msg_disLowMainBusFbMsg:
|
||||
# 仪表汇流排配电反馈
|
||||
class msg_disLowBusFbMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0008
|
||||
self.length = 24 # disLowBusState结构体大小
|
||||
self.checkCode = 0x00
|
||||
@@ -462,8 +465,8 @@ class msg_disLowBusFbMsg:
|
||||
# 动力母线配电指令
|
||||
class msg_disHVBCmdMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0001
|
||||
self.length = 18 # disHighVolBusCmd结构体大小
|
||||
self.checkCode = 0x00
|
||||
@@ -549,27 +552,19 @@ class msg_disHVBCmdMsg:
|
||||
# 动力汇流排A配电指令
|
||||
class msg_disHVBACmdMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0002
|
||||
self.length = 18 # disHighVolBusCmd结构体大小
|
||||
self.length = 6 # disHighAVolBusCmd结构体大小(6个unsigned char)
|
||||
self.checkCode = 0x00
|
||||
|
||||
# disHighVolBusCmd成员
|
||||
self.fuelCellCircuitBreaker = 0x00
|
||||
self.powerLithiumBatteryCircuitBreaker = 0x00
|
||||
self.propulsionMotorCircuitBreaker = 0x00
|
||||
self.lithiumBatteryGroupInstrumentCircuitBreaker = 0x00
|
||||
self.dcDc5ModuleCircuitBreaker = 0x00
|
||||
self.bowHighVoltageDistributionBoxCircuitBreaker = 0x00
|
||||
self.sternFTDevice45CircuitBreaker = 0x00
|
||||
self.sternRudderSwitch1CircuitBreaker = 0x00
|
||||
self.sternRudderSwitch2CircuitBreaker = 0x00
|
||||
self.fbReservedCircuitBreaker = 0x00
|
||||
self.tyzReservedCircuitBreaker = 0x00
|
||||
self.reservedCircuitBreaker = 0x00
|
||||
self.dcdc5Module = 0x00
|
||||
self.coolingSystem = 0x00
|
||||
# disHighAVolBusCmd成员
|
||||
self.bowFTDevice123CircuitBreaker = 0x00
|
||||
self.actuatorCircuitBreaker = 0x00
|
||||
self.mastSteeringGearControlBoxCircuitBreaker = 0x00
|
||||
self.xczCircuitBreaker = 0x00
|
||||
self.bowRudderControlBoxCircuitBreaker = 0x00
|
||||
self.openWaterCoverStartCylinderCircuitBreaker = 0x00
|
||||
|
||||
def pack(self):
|
||||
self.checkCode = 0x00
|
||||
@@ -578,21 +573,13 @@ class msg_disHVBACmdMsg:
|
||||
data += struct.pack('<H', self.id)
|
||||
data += struct.pack('<H', self.length)
|
||||
|
||||
# 打包数据部分
|
||||
data += struct.pack('<B', self.fuelCellCircuitBreaker)
|
||||
data += struct.pack('<B', self.powerLithiumBatteryCircuitBreaker)
|
||||
data += struct.pack('<B', self.propulsionMotorCircuitBreaker)
|
||||
data += struct.pack('<B', self.lithiumBatteryGroupInstrumentCircuitBreaker)
|
||||
data += struct.pack('<B', self.dcDc5ModuleCircuitBreaker)
|
||||
data += struct.pack('<B', self.bowHighVoltageDistributionBoxCircuitBreaker)
|
||||
data += struct.pack('<B', self.sternFTDevice45CircuitBreaker)
|
||||
data += struct.pack('<B', self.sternRudderSwitch1CircuitBreaker)
|
||||
data += struct.pack('<B', self.sternRudderSwitch2CircuitBreaker)
|
||||
data += struct.pack('<B', self.fbReservedCircuitBreaker)
|
||||
data += struct.pack('<B', self.tyzReservedCircuitBreaker)
|
||||
data += struct.pack('<B', self.reservedCircuitBreaker)
|
||||
data += struct.pack('<B', self.dcdc5Module)
|
||||
data += struct.pack('<B', self.coolingSystem)
|
||||
# 打包数据部分(6个断路器)
|
||||
data += struct.pack('<B', self.bowFTDevice123CircuitBreaker)
|
||||
data += struct.pack('<B', self.actuatorCircuitBreaker)
|
||||
data += struct.pack('<B', self.mastSteeringGearControlBoxCircuitBreaker)
|
||||
data += struct.pack('<B', self.xczCircuitBreaker)
|
||||
data += struct.pack('<B', self.bowRudderControlBoxCircuitBreaker)
|
||||
data += struct.pack('<B', self.openWaterCoverStartCylinderCircuitBreaker)
|
||||
|
||||
# 计算校验码
|
||||
for byte in data:
|
||||
@@ -611,20 +598,14 @@ class msg_disHVBACmdMsg:
|
||||
self.length = struct.unpack_from('<H', data, 4)[0]
|
||||
|
||||
offset = 6 # 头部结束位置
|
||||
self.fuelCellCircuitBreaker = data[offset]; offset +=1
|
||||
self.powerLithiumBatteryCircuitBreaker = data[offset]; offset +=1
|
||||
self.propulsionMotorCircuitBreaker = data[offset]; offset +=1
|
||||
self.lithiumBatteryGroupInstrumentCircuitBreaker = data[offset]; offset +=1
|
||||
self.dcDc5ModuleCircuitBreaker = data[offset]; offset +=1
|
||||
self.bowHighVoltageDistributionBoxCircuitBreaker = data[offset]; offset +=1
|
||||
self.sternFTDevice45CircuitBreaker = data[offset]; offset +=1
|
||||
self.sternRudderSwitch1CircuitBreaker = data[offset]; offset +=1
|
||||
self.sternRudderSwitch2CircuitBreaker = data[offset]; offset +=1
|
||||
self.fbReservedCircuitBreaker = data[offset]; offset +=1
|
||||
self.tyzReservedCircuitBreaker = data[offset]; offset +=1
|
||||
self.reservedCircuitBreaker = data[offset]; offset +=1
|
||||
self.dcdc5Module = data[offset]; offset +=1
|
||||
self.coolingSystem = data[offset]; offset +=1
|
||||
self.bowFTDevice123CircuitBreaker = data[offset]; offset +=1
|
||||
self.actuatorCircuitBreaker = data[offset]; offset +=1
|
||||
self.mastSteeringGearControlBoxCircuitBreaker = data[offset]; offset +=1
|
||||
self.xczCircuitBreaker = data[offset]; offset +=1
|
||||
self.bowRudderControlBoxCircuitBreaker = data[offset]; offset +=1
|
||||
self.openWaterCoverStartCylinderCircuitBreaker = data[offset]; offset +=1
|
||||
self.bowRudderControlBoxCurrent = struct.unpack_from('<H', data, offset)[0]; offset +=2
|
||||
self.openWaterCoverStartCylinderCurrent = struct.unpack_from('<H', data, offset)[0]; offset +=2
|
||||
|
||||
# 校验校验码
|
||||
checkCode = 0
|
||||
@@ -635,8 +616,8 @@ class msg_disHVBACmdMsg:
|
||||
# 仪表母线配电指令
|
||||
class msg_disLVMBCmdMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0003
|
||||
self.length = 8 # disLowMainBusCmd结构体大小
|
||||
self.checkCode = 0x00
|
||||
@@ -701,8 +682,8 @@ class msg_disLVMBCmdMsg:
|
||||
# 仪表汇流排配电指令
|
||||
class msg_disLVBCmdMsg:
|
||||
def __init__(self):
|
||||
self.start1 = 0x20
|
||||
self.start2 = 0x20
|
||||
self.start1 = 0x40
|
||||
self.start2 = 0x40
|
||||
self.id = 0x0004
|
||||
self.length = 8 # disLowBusCmd结构体大小
|
||||
self.checkCode = 0x00
|
||||
|
||||
Reference in New Issue
Block a user