import struct import logging from datetime import datetime class Command07: def __init__(self): self.command = 0x07 def process_07h(self, data, sock): try: if len(data) < 14 or data[0:2] != b'JX' or data[2] != self.command: logging.error("07H帧格式错误") return False pile_id = data[3:11] response = self.build_07h_response(pile_id) if response and sock.send(response): logging.info(f"发送07H响应: {response.hex().upper()}") return True return False except Exception as e: logging.error(f"处理07H失败: {str(e)}") return False def build_07h_response(self, pile_id): try: frame = bytearray() frame.extend(b'JX') frame.append(self.command) frame.extend(pile_id) frame.append(0x01) data = bytearray() now = datetime.now() data.extend(struct.pack("