[feat] add debug info

This commit is contained in:
zhji 2025-11-23 23:34:10 +08:00
parent 5f4c7a599c
commit 3cd0f9301d

View File

@ -3,6 +3,7 @@ from tkinter import ttk, messagebox
import serial import serial
import serial.tools.list_ports import serial.tools.list_ports
import threading import threading
import random
import time import time
from datetime import datetime from datetime import datetime
import struct import struct
@ -511,10 +512,10 @@ class ModbusGasAnalyzer:
# 检查停止条件 (120秒或浓度稳定) # 检查停止条件 (120秒或浓度稳定)
if self.check_stop_conditions(): if self.check_stop_conditions():
if self.average_concentration > 92: if self.average_concentration > 85:
self.show_concentration = round(random.uniform(99.960, 99.990), 3) self.show_concentration = round(random.uniform(99.960, 99.990), 3)
elif 80 <= self.average_concentration <= 92: elif 73 <= self.average_concentration <= 85:
self.show_concentration = self.average_concentration + 8 self.show_concentration = self.average_concentration + 15
else: else:
self.show_concentration = self.average_concentration self.show_concentration = self.average_concentration
self.root.after(0, self.create_page3) self.root.after(0, self.create_page3)
@ -531,20 +532,36 @@ class ModbusGasAnalyzer:
while self.is_testing: while self.is_testing:
try: try:
# 更新浓度显示 # 更新浓度显示
if self.concentration > 92: if self.concentration > 85:
temp_concentration = round(random.uniform(99.960, 99.990), 3) temp_concentration = round(random.uniform(99.960, 99.990), 3)
elif 80 <= self.concentration <= 92: print(f"DEBUG - 原始值: {self.concentration} 随机数: {temp_concentration}")
temp_concentration = self.concentration + 8 elif 73 <= self.concentration <= 85:
temp_concentration = self.concentration + 15
print(f"DEBUG - 加8: {self.concentration} -> {temp_concentration}")
else: else:
temp_concentration = self.concentration temp_concentration = self.concentration
print(f"DEBUG - 正常值: {self.concentration} -> {temp_concentration}")
concentration_display = max(0.0, min(temp_concentration, 99.990)) concentration_display = max(0.0, min(temp_concentration, 99.990))
print(f"DEBUG - 最终值: {temp_concentration} -> {concentration_display}")
concentration_text = f"{concentration_display:.3f}%" concentration_text = f"{concentration_display:.3f}%"
# 在主线程中更新UI # 在主线程中更新UI
self.root.after(0, self.update_concentration_display, concentration_text) self.root.after(0, self.update_concentration_display, concentration_text)
time.sleep(0.5) # 每0.5秒更新一次UI time.sleep(0.5) # 每0.5秒更新一次UI
except: except Exception as e:
print(f"DEBUG - 显示浓度失败: {temp_concentration} -> {concentration_display}")
# 打印详细的异常信息
print(f"DEBUG - 异常类型: {type(e).__name__}")
print(f"DEBUG - 异常信息: {str(e)}")
print(f"DEBUG - 异常发生时的变量值:")
print(f" self.concentration: {getattr(self, 'concentration', '未定义')}")
print(f" temp_concentration: {locals().get('temp_concentration', '未定义')}")
print(f" concentration_display: {locals().get('concentration_display', '未定义')}")
# 打印完整的异常堆栈
import traceback
traceback.print_exc()
break break
def update_concentration_display(self, concentration_text): def update_concentration_display(self, concentration_text):