From 893f88141990f3ec54442f0e2f38908dd2bfaf78 Mon Sep 17 00:00:00 2001 From: drho1y Date: Tue, 7 Jul 2026 21:54:53 +0700 Subject: [PATCH] fix: update gui interface --- backend_control/README.md | 61 +++++ backend_control/gui.py | 326 ++++++++++++++---------- backend_control/img/gui_interface.png | Bin 0 -> 85914 bytes backend_control/img/servo_interface.png | Bin 0 -> 51947 bytes 4 files changed, 250 insertions(+), 137 deletions(-) create mode 100644 backend_control/README.md create mode 100644 backend_control/img/gui_interface.png create mode 100644 backend_control/img/servo_interface.png diff --git a/backend_control/README.md b/backend_control/README.md new file mode 100644 index 0000000..4ab4ef8 --- /dev/null +++ b/backend_control/README.md @@ -0,0 +1,61 @@ +# Интерфейс управления + +![](img/gui_interface.png) + +## Область Управления + +`Целевой RPM` - Задается уставка скорости в диапозоне от -1000 до 1000 оборотов в минуту + +`Ток` - Уставка тока в диапозоне 0 - 100% + +`StallGuard` - + +`Микрошаг` - Уставка микрошага + +`Сброс счетчика шагов` - Сброс счетчика шагов + +## Область Режимы + +`Аппаратное вкл. (Driver EN)` - Аппаратное Включение/Выключение драйвера tmc2209 + +`Программное вкл. (TMC Chip)` - Программное Включение/Выключение драйвера tmc2209 + +`StealthChop (Тихий)` - Включение/Выключение тихого режима работы шагового двигателя. + +`CoolStep (Энергосбер.)` - Включение/Выключение энергосберегающего режима работы шагового двигателя. + +## Область Телеметрия и Статусы + +`Текущий RPM (Факт)` + +`Всего шагов` + +`Вращение` + +`SG Result` - Для отслеживания нагрузки на вал или момента срыва шагов. Резкое падение значения sg_result при движении обычно означает столкновение или заклинивание механизма. + +`Interstep (ns)` + +`Current Scaling` + +## Область Ошибки и Флаги + +`Перегрев` + +`КЗ на землю` + +`Обрыв нагрузки` + +`StealthChop активен` + +`Остановка (Standstill)` + +![](img/servo_interface.png) + +## Область Управление Серво + +Тут можно задать угол сервопривода и отключить сервопривод + +## Облать Статус и телеметрия + +Вывод информации о сервоприводе включен или выключен. Так же выведен текущий угол. \ No newline at end of file diff --git a/backend_control/gui.py b/backend_control/gui.py index 188dbcc..a5fee27 100644 --- a/backend_control/gui.py +++ b/backend_control/gui.py @@ -1,35 +1,33 @@ import customtkinter as ctk import paho.mqtt.client as mqtt -import threading -import time # ================= НАСТРОЙКИ MQTT ================= -MQTT_BROKER = "192.168.31.225" # Адрес MQTT брокера -MQTT_PORT = 1883 # Порт MQTT -MQTT_USER = "test" # Имя пользователя -MQTT_PASSWORD = "1234" # Пароль +MQTT_BROKER = "192.168.31.225" +MQTT_PORT = 1883 +MQTT_USER = "test" +MQTT_PASSWORD = "1234" # Цвета для индикаторов COLOR_OK = "#28a745" COLOR_ERR = "#dc3545" COLOR_OFF = "#555555" COLOR_ACTIVE = "#00d2ff" -COLOR_PENDING = "#ffaa00" # Оранжевый для состояния "ожидание" +COLOR_PENDING = "#ffaa00" # Оранжевый для ожидания class MotorSCADA: def __init__(self): - # Инициализация GUI ctk.set_appearance_mode("Dark") ctk.set_default_color_theme("blue") self.root = ctk.CTk() - self.root.title("🚀 Motor Control SCADA (TMC2209)") + self.root.title("🚀 Motor & Servo Control SCADA") self.root.geometry("1100x800") self.root.minsize(900, 650) - # Флаги состояния ожидания подтверждения + # Флаги ожидания подтверждения self.driver_pending = False self.tmc_pending = False + self.servo_pending = False self.setup_gui() self.setup_mqtt() @@ -40,44 +38,47 @@ class MotorSCADA: header.pack(fill="x", padx=20, pady=(20, 10)) header.pack_propagate(False) - ctk.CTkLabel(header, text="Motor Control SCADA (TMC2209)", font=ctk.CTkFont(size=24, weight="bold")).pack(side="left", padx=20) + ctk.CTkLabel(header, text="Motor & Servo Control SCADA", font=ctk.CTkFont(size=24, weight="bold")).pack(side="left", padx=20) self.lbl_status = ctk.CTkLabel(header, text="● Отключено", text_color=COLOR_ERR, font=ctk.CTkFont(size=16, weight="bold")) self.lbl_status.pack(side="right", padx=20) - # --- Основной контейнер (Сетка) --- - grid = ctk.CTkFrame(self.root, fg_color="transparent") - grid.pack(fill="both", expand=True, padx=20, pady=10) + # --- Вкладки --- + self.tabview = ctk.CTkTabview(self.root) + self.tabview.pack(fill="both", expand=True, padx=20, pady=10) + + self.tab_motor = self.tabview.add("Шаговый двигатель (TMC2209)") + self.tab_servo = self.tabview.add("Сервопривод") + + self.create_motor_tab(self.tab_motor) + self.create_servo_tab(self.tab_servo) + + # ================= ВКЛАДКА ШАГОВОГО ДВИГАТЕЛЯ ================= + def create_motor_tab(self, parent): + grid = ctk.CTkFrame(parent, fg_color="transparent") + grid.pack(fill="both", expand=True) grid.grid_columnconfigure((0, 1, 2), weight=1, uniform="col") grid.grid_rowconfigure(0, weight=1) - # 1. Блок Управления self.create_control_frame(grid) - # 2. Блок Режимов self.create_modes_frame(grid) - # 3. Блок Телеметрии и Статусов self.create_telemetry_frame(grid) def create_control_frame(self, parent): frame = ctk.CTkFrame(parent) frame.grid(row=0, column=0, sticky="nsew", padx=(0, 10)) - ctk.CTkLabel(frame, text="⚙️ Управление", font=ctk.CTkFont(size=18, weight="bold")).pack(pady=(10, 20)) - # RPM (Слайдер + Точный ввод) + # RPM ctk.CTkLabel(frame, text="Целевой RPM (Уставка):").pack(anchor="w", padx=20) rpm_frame = ctk.CTkFrame(frame, fg_color="transparent") rpm_frame.pack(fill="x", padx=20, pady=5) - self.sld_rpm = ctk.CTkSlider(rpm_frame, from_=-1000, to=1000, command=self.on_rpm_slider_change) self.sld_rpm.pack(side="left", fill="x", expand=True, padx=(0, 10)) - - # Поле для точного ввода self.ent_rpm = ctk.CTkEntry(rpm_frame, width=80, justify="right") self.ent_rpm.insert(0, "0") self.ent_rpm.pack(side="left", padx=(0, 10)) self.ent_rpm.bind("", self.on_rpm_entry_apply) self.ent_rpm.bind("", self.on_rpm_entry_apply) - self.lbl_rpm_val = ctk.CTkLabel(rpm_frame, text="0", width=50) self.lbl_rpm_val.pack(side="right") @@ -100,7 +101,7 @@ class MotorSCADA: # Microsteps ctk.CTkLabel(frame, text="Микрошаги:").pack(anchor="w", padx=20, pady=(15,0)) self.opt_msteps = ctk.CTkOptionMenu(frame, values=["1", "2", "4", "8", "16", "32", "64", "128", "256"], command=self.on_msteps_change) - self.opt_msteps.set("16") + self.opt_msteps.set("1") self.opt_msteps.pack(anchor="w", padx=20, pady=5) # Reset @@ -109,16 +110,13 @@ class MotorSCADA: def create_modes_frame(self, parent): frame = ctk.CTkFrame(parent) frame.grid(row=0, column=1, sticky="nsew", padx=10) - ctk.CTkLabel(frame, text="🔌 Режимы и Включение", font=ctk.CTkFont(size=18, weight="bold")).pack(pady=(10, 20)) - # Аппаратное включение с индикатором обратной связи - self.sw_driver = self.create_switch_with_feedback(frame, "Аппаратное вкл. (Driver EN)", self.on_driver_change) + # ИСПРАВЛЕНО: распаковка кортежа + self.sw_driver, self.led_driver_fb = self.create_switch_with_feedback(frame, "Аппаратное вкл. (Driver EN)", self.on_driver_change) + self.sw_tmc_enable, self.led_tmc_fb = self.create_switch_with_feedback(frame, "Программное вкл. (TMC Chip)", self.on_tmc_enable_change) - # Программное включение с индикатором обратной связи - self.sw_tmc_enable = self.create_switch_with_feedback(frame, "Программное вкл. (TMC Chip)", self.on_tmc_enable_change) - - ctk.CTkFrame(frame, height=2, fg_color="#4a4a6a").pack(fill="x", padx=20, pady=15) # Разделитель + ctk.CTkFrame(frame, height=2, fg_color="#4a4a6a").pack(fill="x", padx=20, pady=15) self.sw_stealth = self.create_switch(frame, "StealthChop (Тихий)", self.on_stealth_change) self.sw_cool = self.create_switch(frame, "CoolStep (Энергосбер.)", self.on_cool_change) @@ -126,13 +124,10 @@ class MotorSCADA: def create_telemetry_frame(self, parent): frame = ctk.CTkFrame(parent) frame.grid(row=0, column=2, sticky="nsew", padx=(10, 0)) - ctk.CTkLabel(frame, text="📊 Телеметрия и Статусы", font=ctk.CTkFont(size=18, weight="bold")).pack(pady=(10, 10)) - # Телеметрия tel_frame = ctk.CTkFrame(frame) tel_frame.pack(fill="x", padx=10, pady=5) - self.lbl_fb_rpm = self.create_telemetry_row(tel_frame, "Текущий RPM (Факт):") self.lbl_fb_steps = self.create_telemetry_row(tel_frame, "Всего шагов:") self.lbl_fb_run = self.create_telemetry_row(tel_frame, "Вращение:") @@ -140,18 +135,79 @@ class MotorSCADA: self.lbl_fb_interstep = self.create_telemetry_row(tel_frame, "Interstep (ns):") self.lbl_fb_cscale = self.create_telemetry_row(tel_frame, "Current Scaling:") - # Статусы (LEDs) ctk.CTkLabel(frame, text="🚨 Ошибки и Флаги", font=ctk.CTkFont(size=16, weight="bold")).pack(pady=(15, 5)) stat_frame = ctk.CTkFrame(frame) stat_frame.pack(fill="x", padx=10, pady=5) - self.led_over_temp = self.create_led_row(stat_frame, "Перегрев:") self.led_short_gnd = self.create_led_row(stat_frame, "КЗ на землю:") self.led_open_load = self.create_led_row(stat_frame, "Обрыв нагрузки:") self.led_stealth_act = self.create_led_row(stat_frame, "StealthChop активен:") self.led_standstill = self.create_led_row(stat_frame, "Остановка (Standstill):") - # --- Вспомогательные методы GUI --- + # ================= ВКЛАДКА СЕРВОПРИВОДА ================= + def create_servo_tab(self, parent): + grid = ctk.CTkFrame(parent, fg_color="transparent") + grid.pack(fill="both", expand=True) + grid.grid_columnconfigure((0, 1), weight=1, uniform="col") + grid.grid_rowconfigure(0, weight=1) + + # --- Колонка 1: Управление --- + frame_ctrl = ctk.CTkFrame(grid) + frame_ctrl.grid(row=0, column=0, sticky="nsew", padx=(0, 10)) + ctk.CTkLabel(frame_ctrl, text="⚙️ Управление серво", font=ctk.CTkFont(size=18, weight="bold")).pack(pady=(10, 20)) + + # Угол + ctk.CTkLabel(frame_ctrl, text="Угол (0-180°):").pack(anchor="w", padx=20) + ang_frame = ctk.CTkFrame(frame_ctrl, fg_color="transparent") + ang_frame.pack(fill="x", padx=20, pady=5) + self.sld_servo_ang = ctk.CTkSlider(ang_frame, from_=0, to=180, command=self.on_servo_ang_slider) + self.sld_servo_ang.pack(side="left", fill="x", expand=True, padx=(0, 10)) + self.ent_servo_ang = ctk.CTkEntry(ang_frame, width=70, justify="right") + self.ent_servo_ang.insert(0, "90") + self.ent_servo_ang.pack(side="left", padx=(0, 10)) + self.ent_servo_ang.bind("", self.on_servo_ang_entry) + self.ent_servo_ang.bind("", self.on_servo_ang_entry) + self.lbl_servo_ang_val = ctk.CTkLabel(ang_frame, text="90", width=40) + self.lbl_servo_ang_val.pack(side="right") + + # Импульс + ctk.CTkLabel(frame_ctrl, text="Импульс (500-2500 мкс):").pack(anchor="w", padx=20, pady=(15,0)) + pls_frame = ctk.CTkFrame(frame_ctrl, fg_color="transparent") + pls_frame.pack(fill="x", padx=20, pady=5) + self.sld_servo_pls = ctk.CTkSlider(pls_frame, from_=500, to=2500, command=self.on_servo_pls_slider) + self.sld_servo_pls.pack(side="left", fill="x", expand=True, padx=(0, 10)) + self.ent_servo_pls = ctk.CTkEntry(pls_frame, width=70, justify="right") + self.ent_servo_pls.insert(0, "1500") + self.ent_servo_pls.pack(side="left", padx=(0, 10)) + self.ent_servo_pls.bind("", self.on_servo_pls_entry) + self.ent_servo_pls.bind("", self.on_servo_pls_entry) + self.lbl_servo_pls_val = ctk.CTkLabel(pls_frame, text="1500", width=40) + self.lbl_servo_pls_val.pack(side="right") + + # Detach + ctk.CTkButton(frame_ctrl, text="Отсоединить сигнал (Detach)", fg_color="#dc3545", hover_color="#b02a37", command=self.on_servo_detach).pack(pady=30) + + # --- Колонка 2: Статус и Телеметрия --- + frame_stat = ctk.CTkFrame(grid) + frame_stat.grid(row=0, column=1, sticky="nsew", padx=(10, 0)) + ctk.CTkLabel(frame_stat, text="🔌 Статус и Телеметрия", font=ctk.CTkFont(size=18, weight="bold")).pack(pady=(10, 20)) + + # ИСПРАВЛЕНО: распаковка кортежа + self.sw_servo_enable, self.led_servo_fb = self.create_switch_with_feedback(frame_stat, "Включить сервопривод", self.on_servo_enable_change) + + ctk.CTkFrame(frame_stat, height=2, fg_color="#4a4a6a").pack(fill="x", padx=20, pady=20) + + # Телеметрия + tel_frame = ctk.CTkFrame(frame_stat) + tel_frame.pack(fill="x", padx=10, pady=5) + self.lbl_fb_servo_ang = self.create_telemetry_row(tel_frame, "Текущий угол (Факт):") + + ctk.CTkLabel(frame_stat, text="🚨 Статус", font=ctk.CTkFont(size=16, weight="bold")).pack(pady=(15, 5)) + stat_frame = ctk.CTkFrame(frame_stat) + stat_frame.pack(fill="x", padx=10, pady=5) + self.led_servo_status = self.create_led_row(stat_frame, "Серво активно:") + + # ================= ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ GUI ================= def create_switch(self, parent, text, command): frame = ctk.CTkFrame(parent, fg_color="transparent") frame.pack(fill="x", padx=20, pady=10) @@ -161,19 +217,13 @@ class MotorSCADA: return switch def create_switch_with_feedback(self, parent, text, command): - """Создает переключатель с индикатором обратной связи""" frame = ctk.CTkFrame(parent, fg_color="transparent") frame.pack(fill="x", padx=20, pady=10) - ctk.CTkLabel(frame, text=text).pack(side="left") - - # Индикатор обратной связи (справа от переключателя) feedback_led = ctk.CTkLabel(frame, text="●", font=ctk.CTkFont(size=20), text_color=COLOR_OFF) feedback_led.pack(side="right", padx=(10, 0)) - switch = ctk.CTkSwitch(frame, text="", command=command) switch.pack(side="right", padx=(10, 0)) - return switch, feedback_led def create_telemetry_row(self, parent, text): @@ -196,11 +246,9 @@ class MotorSCADA: def setup_mqtt(self): self.client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="python_scada") self.client.username_pw_set(MQTT_USER, MQTT_PASSWORD) - self.client.on_connect = self.on_mqtt_connect self.client.on_disconnect = self.on_mqtt_disconnect self.client.on_message = self.on_mqtt_message - try: self.client.connect(MQTT_BROKER, MQTT_PORT, 60) self.client.loop_start() @@ -212,6 +260,7 @@ class MotorSCADA: if reason_code == 0: self.root.after(0, self.update_status, True) client.subscribe("motor/feedback/#") + client.subscribe("servo/feedback/#") else: print(f"Ошибка подключения MQTT. Код: {reason_code}") self.root.after(0, self.update_status, False) @@ -225,107 +274,86 @@ class MotorSCADA: self.root.after(0, self.process_feedback, topic, val) def process_feedback(self, topic, val): - # Базовая телеметрия - if topic == "motor/feedback/rpm": - self.lbl_fb_rpm.configure(text=val) - elif topic == "motor/feedback/totalsteps": - self.lbl_fb_steps.configure(text=val) + # --- ШАГОВЫЙ ДВИГАТЕЛЬ --- + if topic == "motor/feedback/rpm": self.lbl_fb_rpm.configure(text=val) + elif topic == "motor/feedback/totalsteps": self.lbl_fb_steps.configure(text=val) elif topic == "motor/feedback/is_run": is_running = val == "true" - self.lbl_fb_run.configure(text="Вращается" if is_running else "Остановлен", - text_color=COLOR_OK if is_running else COLOR_ERR) - - # Телеметрия TMC + self.lbl_fb_run.configure(text="Вращается" if is_running else "Остановлен", text_color=COLOR_OK if is_running else COLOR_ERR) elif topic == "motor/feedback/tmc/current_percent": self.lbl_cur_val.configure(text=val) self.sld_current.set(int(val)) - elif topic == "motor/feedback/tmc/microsteps": - self.opt_msteps.set(val) - elif topic == "motor/feedback/tmc/sg_result": - self.lbl_fb_sg.configure(text=val) - elif topic == "motor/feedback/tmc/interstep_duration": - self.lbl_fb_interstep.configure(text=val) - elif topic == "motor/feedback/tmc/status/current_scaling": - self.lbl_fb_cscale.configure(text=val) + elif topic == "motor/feedback/tmc/microsteps": self.opt_msteps.set(val) + elif topic == "motor/feedback/tmc/sg_result": self.lbl_fb_sg.configure(text=val) + elif topic == "motor/feedback/tmc/interstep_duration": self.lbl_fb_interstep.configure(text=val) + elif topic == "motor/feedback/tmc/status/current_scaling": self.lbl_fb_cscale.configure(text=val) + elif topic == "motor/feedback/tmc/status/over_temp": self.update_led(self.led_over_temp, val, is_error=True) + elif topic == "motor/feedback/tmc/status/short_to_ground": self.update_led(self.led_short_gnd, val, is_error=True) + elif topic == "motor/feedback/tmc/status/open_load": self.update_led(self.led_open_load, val, is_error=True) + elif topic == "motor/feedback/tmc/status/stealth_chop_active": self.update_led(self.led_stealth_act, val, is_error=False) + elif topic == "motor/feedback/tmc/status/standstill": self.update_led(self.led_standstill, val, is_error=False) - # Статусы TMC (LEDs) - elif topic == "motor/feedback/tmc/status/over_temp": - self.update_led(self.led_over_temp, val, is_error=True) - elif topic == "motor/feedback/tmc/status/short_to_ground": - self.update_led(self.led_short_gnd, val, is_error=True) - elif topic == "motor/feedback/tmc/status/open_load": - self.update_led(self.led_open_load, val, is_error=True) - elif topic == "motor/feedback/tmc/status/stealth_chop_active": - self.update_led(self.led_stealth_act, val, is_error=False) - elif topic == "motor/feedback/tmc/status/standstill": - self.update_led(self.led_standstill, val, is_error=False) - - # Общие статусы системы (Синхронизация переключателей с обратной связью) + # ИСПРАВЛЕНО: обращение к self.sw_driver напрямую, а не через [0] elif topic == "motor/feedback/driver/status": is_on = val == "on" - # Снимаем флаг ожидания self.driver_pending = False - # Синхронизируем переключатель - if self.sw_driver[0].get() != is_on: - if is_on: - self.sw_driver[0].select() - else: - self.sw_driver[0].deselect() - # Обновляем индикатор обратной связи (зеленый = подтверждено) - self.sw_driver[1].configure(text_color=COLOR_OK if is_on else COLOR_OFF) + if self.sw_driver.get() != is_on: + if is_on: self.sw_driver.select() + else: self.sw_driver.deselect() + self.led_driver_fb.configure(text_color=COLOR_OK if is_on else COLOR_OFF) + # ИСПРАВЛЕНО: обращение к self.sw_tmc_enable напрямую elif topic == "motor/feedback/tmc/status": is_on = val == "on" - # Снимаем флаг ожидания self.tmc_pending = False - # Синхронизируем переключатель - if self.sw_tmc_enable[0].get() != is_on: - if is_on: - self.sw_tmc_enable[0].select() - else: - self.sw_tmc_enable[0].deselect() - # Обновляем индикатор обратной связи (зеленый = подтверждено) - self.sw_tmc_enable[1].configure(text_color=COLOR_OK if is_on else COLOR_OFF) + if self.sw_tmc_enable.get() != is_on: + if is_on: self.sw_tmc_enable.select() + else: self.sw_tmc_enable.deselect() + self.led_tmc_fb.configure(text_color=COLOR_OK if is_on else COLOR_OFF) - # ================= Обработчики событий GUI ================= + # --- СЕРВОПРИВОД --- + elif topic == "servo/feedback/angle": + self.lbl_fb_servo_ang.configure(text=val) + + # ИСПРАВЛЕНО: обращение к self.sw_servo_enable напрямую + elif topic == "servo/feedback/status": + is_on = val == "on" + self.servo_pending = False + if self.sw_servo_enable.get() != is_on: + if is_on: self.sw_servo_enable.select() + else: self.sw_servo_enable.deselect() + self.led_servo_fb.configure(text_color=COLOR_OK if is_on else COLOR_OFF) + self.update_led(self.led_servo_status, val, is_error=False) + + # ================= ОБРАБОТЧИКИ СОБЫТИЙ ================= def publish(self, topic, payload): if self.client.is_connected(): self.client.publish(topic, str(payload), qos=1) def update_status(self, is_online): - if is_online: - self.lbl_status.configure(text="● Подключено", text_color=COLOR_OK) - else: - self.lbl_status.configure(text="● Отключено", text_color=COLOR_ERR) + if is_online: self.lbl_status.configure(text="● Подключено", text_color=COLOR_OK) + else: self.lbl_status.configure(text="● Отключено", text_color=COLOR_ERR) def update_led(self, label, val, is_error): is_true = val in ["true", "1", "on"] - if is_true: - label.configure(text_color=COLOR_ERR if is_error else COLOR_OK) - else: - label.configure(text_color=COLOR_OFF) + if is_true: label.configure(text_color=COLOR_ERR if is_error else COLOR_OK) + else: label.configure(text_color=COLOR_OFF) - # --- RPM --- + # --- Шаговый двигатель --- def on_rpm_slider_change(self, value): int_val = int(value) - self.ent_rpm.delete(0, ctk.END) - self.ent_rpm.insert(0, str(int_val)) + self.ent_rpm.delete(0, ctk.END); self.ent_rpm.insert(0, str(int_val)) self.lbl_rpm_val.configure(text=str(int_val)) self.publish("motor/control/rpm", int_val) def on_rpm_entry_apply(self, event=None): - val_str = self.ent_rpm.get() try: - int_val = int(val_str) - int_val = max(-1000, min(1000, int_val)) - self.sld_rpm.set(int_val) - self.lbl_rpm_val.configure(text=str(int_val)) + int_val = max(-1000, min(1000, int(self.ent_rpm.get()))) + self.sld_rpm.set(int_val); self.lbl_rpm_val.configure(text=str(int_val)) self.publish("motor/control/rpm", int_val) except ValueError: - self.ent_rpm.delete(0, ctk.END) - self.ent_rpm.insert(0, str(int(self.sld_rpm.get()))) + self.ent_rpm.delete(0, ctk.END); self.ent_rpm.insert(0, str(int(self.sld_rpm.get()))) - # --- Остальное управление --- def on_current_change(self, value): int_val = int(value) self.lbl_cur_val.configure(text=str(int_val)) @@ -333,39 +361,63 @@ class MotorSCADA: def on_sg_apply(self): val = self.ent_sg.get() - if val.isdigit() and 0 <= int(val) <= 255: - self.publish("motor/control/tmc/stallguard", int(val)) + if val.isdigit() and 0 <= int(val) <= 255: self.publish("motor/control/tmc/stallguard", int(val)) - def on_msteps_change(self, choice): - self.publish("motor/control/tmc/microsteps", int(choice)) + def on_msteps_change(self, choice): self.publish("motor/control/tmc/microsteps", int(choice)) + def on_reset_steps(self): self.publish("motor/control/totalsteps/reset", "1") - def on_reset_steps(self): - self.publish("motor/control/totalsteps/reset", "1") - - # --- Обработчики включения с обратной связью --- + # ИСПРАВЛЕНО: обращение к self.sw_driver напрямую def on_driver_change(self): - """Аппаратное управление пином EN с индикацией ожидания""" - is_on = self.sw_driver[0].get() - # Устанавливаем флаг ожидания и меняем цвет на оранжевый - self.driver_pending = True - self.sw_driver[1].configure(text_color=COLOR_PENDING) - # Отправляем команду + is_on = self.sw_driver.get() + self.driver_pending = True; self.led_driver_fb.configure(text_color=COLOR_PENDING) self.publish("motor/control/driver", "on" if is_on else "off") + # ИСПРАВЛЕНО: обращение к self.sw_tmc_enable напрямую def on_tmc_enable_change(self): - """Программное включение чипа TMC2209 с индикацией ожидания""" - is_on = self.sw_tmc_enable[0].get() - # Устанавливаем флаг ожидания и меняем цвет на оранжевый - self.tmc_pending = True - self.sw_tmc_enable[1].configure(text_color=COLOR_PENDING) - # Отправляем команду + is_on = self.sw_tmc_enable.get() + self.tmc_pending = True; self.led_tmc_fb.configure(text_color=COLOR_PENDING) self.publish("motor/control/tmc/enable", "on" if is_on else "off") - def on_stealth_change(self): - self.publish("motor/control/tmc/stealthchop", "on" if self.sw_stealth.get() else "off") + def on_stealth_change(self): self.publish("motor/control/tmc/stealthchop", "on" if self.sw_stealth.get() else "off") + def on_cool_change(self): self.publish("motor/control/tmc/coolstep", "on" if self.sw_cool.get() else "off") - def on_cool_change(self): - self.publish("motor/control/tmc/coolstep", "on" if self.sw_cool.get() else "off") + # --- Сервопривод --- + def on_servo_ang_slider(self, value): + int_val = int(value) + self.ent_servo_ang.delete(0, ctk.END); self.ent_servo_ang.insert(0, str(int_val)) + self.lbl_servo_ang_val.configure(text=str(int_val)) + self.publish("servo/control/angle", int_val) + + def on_servo_ang_entry(self, event=None): + try: + int_val = max(0, min(180, int(self.ent_servo_ang.get()))) + self.sld_servo_ang.set(int_val); self.lbl_servo_ang_val.configure(text=str(int_val)) + self.publish("servo/control/angle", int_val) + except ValueError: + self.ent_servo_ang.delete(0, ctk.END); self.ent_servo_ang.insert(0, str(int(self.sld_servo_ang.get()))) + + def on_servo_pls_slider(self, value): + int_val = int(value) + self.ent_servo_pls.delete(0, ctk.END); self.ent_servo_pls.insert(0, str(int_val)) + self.lbl_servo_pls_val.configure(text=str(int_val)) + self.publish("servo/control/pulse", int_val) + + def on_servo_pls_entry(self, event=None): + try: + int_val = max(500, min(2500, int(self.ent_servo_pls.get()))) + self.sld_servo_pls.set(int_val); self.lbl_servo_pls_val.configure(text=str(int_val)) + self.publish("servo/control/pulse", int_val) + except ValueError: + self.ent_servo_pls.delete(0, ctk.END); self.ent_servo_pls.insert(0, str(int(self.sld_servo_pls.get()))) + + def on_servo_detach(self): + self.publish("servo/control/detach", "1") + + # ИСПРАВЛЕНО: обращение к self.sw_servo_enable напрямую + def on_servo_enable_change(self): + is_on = self.sw_servo_enable.get() + self.servo_pending = True; self.led_servo_fb.configure(text_color=COLOR_PENDING) + self.publish("servo/control/enable", "on" if is_on else "off") def run(self): self.root.mainloop() diff --git a/backend_control/img/gui_interface.png b/backend_control/img/gui_interface.png new file mode 100644 index 0000000000000000000000000000000000000000..edff0dcfddb8d0a1f120d548b42b5e31effe6adc GIT binary patch literal 85914 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�z}dY-2O<#xDkI31;4na_3cct5b6ROC>H7 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 S1;f`|K5Qh==Dwmfn249|)1m?W6WlXtipG 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 literal 0 HcmV?d00001 diff --git a/backend_control/img/servo_interface.png b/backend_control/img/servo_interface.png new file mode 100644 index 0000000000000000000000000000000000000000..38a4737ea6f78abedb009b647837fc2a4f932e62 GIT binary patch literal 51947 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

D>=Q0?6Sl32>Y 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