# command_09.py import struct import logging class Command09: def process_09h(self, data): if len(data) < 14: logging.warning("09H数据长度不足") return pile_id = data[3:11] data_start = 14 data_len = struct.unpack('= data_end: break gun_status = data[offset] guns_status.append({"gun_id": i + 1, "status": f"0x{gun_status:02X}"}) offset += 1 # 解析详细数据(示例:假设每枪有电压、电流、SOC 等) detailed_data = [] for i in range(num_guns): if offset + 12 > data_end: # 示例:假设每枪12字节(电压4字节,电流4字节,SOC 1字节,预留3字节) break voltage = struct.unpack('