diff --git a/config/app_config.json b/config/app_config.json index d348eb8..224bfde 100644 --- a/config/app_config.json +++ b/config/app_config.json @@ -90,6 +90,6 @@ } }, "electricity": { - "auto_start": true + "auto_start": false } } \ No newline at end of file diff --git a/db/jtDB.db b/db/jtDB.db index 867bbe1..b06fd1c 100644 Binary files a/db/jtDB.db and b/db/jtDB.db differ diff --git a/tests/main_window_old.py b/tests/main_window_old.py index ae2c283..bdbf667 100644 --- a/tests/main_window_old.py +++ b/tests/main_window_old.py @@ -2260,10 +2260,10 @@ class MainWindow(MainWindowUI): @Slot(int, str) def handle_error_1(self, error_code, error_desc): """机器人视觉报警""" - logging.info(f"[处理] 机器人视觉报警: {error_desc}") + logging.info(f"[处理] 机械手报警: {error_desc}") from utils.register_handlers import Error1Handler error_handler = Error1Handler() - detailed_desc = error_handler.error_map.get(error_code, f"机器人视觉报警-{error_code}") + detailed_desc = error_handler.error_map.get(error_code, f"机械手报警-{error_code}") # 保存故障码 self.error_1 = error_code @@ -2271,7 +2271,7 @@ class MainWindow(MainWindowUI): # 只有当错误码为1、2或3时才弹框提示 if error_code in [1, 2, 3]: - QMessageBox.warning(self, "机器人视觉报警", f"机器人视觉报警: {detailed_desc}") + QMessageBox.warning(self, "机械手报警", f"机械手报警: {detailed_desc}") # 获取Modbus连接 modbus = ModbusUtils() client = modbus.get_client() diff --git a/utils/register_handlers.py b/utils/register_handlers.py index 99ff385..d101241 100644 --- a/utils/register_handlers.py +++ b/utils/register_handlers.py @@ -173,7 +173,6 @@ class Error2Handler(RegisterHandler): self.callback = callback self.error_map = { 0: "无报警", - 1: "急停报警", 2: "贴标故障" } def handle_change(self, value): @@ -246,20 +245,49 @@ class NGHandler(RegisterHandler): self.callback(value) -class EmergencyStopHandler(RegisterHandler): - """寄存器D25处理器,处理急停信号""" +class EmergencyStopHandler: + """处理急停信号""" + def __init__(self, callback=None): - super().__init__() + """初始化处理器 + + Args: + callback: 回调函数,接收两个参数:value(int), desc(str) + """ self.callback = callback + self.prev_value = 0 + + # 急停状态描述映射 self.status_map = { 0: "正常", 1: "急停触发" } - def handle_change(self, value): - status = self.status_map.get(value, f"未知状态({value})") - logging.info(f"急停信号: {status}") + def handle(self, value): + """处理急停信号 - # 如果有回调函数,则调用 - if self.callback and value == 1: - self.callback(value, "监听到急停信号") \ No newline at end of file + Args: + value: 寄存器值 + + Returns: + tuple: (是否变化, 状态描述) + """ + # 检查值是否有效 + if value not in [0, 1]: + return False, f"无效的急停状态值: {value}" + + # 检查值是否变化 + if value == self.prev_value: + return False, self.status_map.get(value, "未知状态") + + # 更新上一次的值 + self.prev_value = value + + # 获取状态描述 + desc = self.status_map.get(value, "未知状态") + + # 调用回调函数 + if self.callback: + self.callback(value, desc) + + return True, desc \ No newline at end of file