From 71b2d9d42e75bd0dfc3485c20f45d594fa464b51 Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 11 Jul 2024 19:09:08 +0800 Subject: [PATCH] pending dev --- aio/assets/layout.xlsx | Bin 1224091 -> 1225937 bytes aio/code/aio.py | 35 +++++++++++++++++++++++++++++ aio/code/automatic_test/openapi.py | 10 +++++---- aio/code/profile/__init__.py | 1 + aio/code/profile/do_profile.py | 0 5 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 aio/code/profile/__init__.py create mode 100644 aio/code/profile/do_profile.py diff --git a/aio/assets/layout.xlsx b/aio/assets/layout.xlsx index c80baa461e01818b8378ff366ae6d8a7fec62c47..c7934cee3d34d7a0282ce91cc4ee83f9b0541d0a 100644 GIT binary patch delta 11272 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 P*!LI>4sM_r1bg~_e)^V; delta 9572 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 UQ$9F2YS^a)1P8bH2@Fg9KOHV&CjbBd diff --git a/aio/code/aio.py b/aio/code/aio.py index 165966c..5b55662 100644 --- a/aio/code/aio.py +++ b/aio/code/aio.py @@ -35,6 +35,12 @@ widgits_at = { 'path': {'label': '', 'entry': '', 'row': 2, 'col': 2, 'text': '数据文件夹路径'}, 'loadsel': {'label': '', 'optionmenu': '', 'row': 2, 'col': 1, 'text': '负载信息'}, } +widgits_pr = { + 'path': {'label': '', 'entry': '', 'row': 1, 'col': 2, 'text': '数据文件夹路径'}, + 'loadsel': {'label': '', 'optionmenu': '', 'row': 2, 'col': 1, 'text': '负载选择'}, + 'actionsel': {'label': '', 'optionmenu': '', 'row': 3, 'col': 1, 'text': '动作选择'}, + 'inertiasel': {'label': '', 'optionmenu': '', 'row': 4, 'col': 1, 'text': '惯量选择'}, +} class App(customtkinter.CTk): @@ -80,6 +86,7 @@ class App(customtkinter.CTk): self.tabview.grid(row=0, column=1, padx=10, pady=5, sticky="nsew") self.tabview.add("Data Process") self.tabview.add("Automatic Test") + self.tabview.add("Profile Test") # create main menu for data process self.menu_main_dp = customtkinter.CTkOptionMenu(self.tabview.tab('Data Process'), values=["init", "brake", "current", "iso", "wavelogger"], font=self.my_font, text_color='yellow', button_color='red', fg_color='green', command=self.func_main_callback) self.menu_main_dp.grid(row=1, column=1, sticky='we', padx=5, pady=10) @@ -137,6 +144,33 @@ class App(customtkinter.CTk): widgits_at[widgit]['optionmenu'].set(widgits_at[widgit]['text']) widgits_at[widgit]['optionmenu'].configure(state='disabled') # For automatic test tab END ===================================================================== + # For profile tab START ===================================================================== + for widgit in widgits_pr: + if widgit == 'path': + widgits_pr[widgit]['label'] = customtkinter.CTkLabel(self.tabview.tab('Profile Test'), text=f'{widgit.upper()}', font=self.my_font) + widgits_pr[widgit]['label'].grid(row=widgits_pr[widgit]['row'], column=widgits_pr[widgit]['col'], sticky='e', pady=5) + widgits_pr[widgit]['entry'] = customtkinter.CTkEntry(self.tabview.tab('Profile Test'), width=670, placeholder_text=widgits_pr[widgit]['text'], font=self.my_font) + widgits_pr[widgit]['entry'].grid(row=widgits_pr[widgit]['row'], column=widgits_pr[widgit]['col']+1, columnspan=11, padx=(5, 10), pady=5, sticky='we') + # widgits_pr[widgit]['entry'].configure(state='disabled') + elif widgit in ['loadsel', 'actionsel', 'inertiasel']: + match widgit: + case 'loadsel': + values = ["tool100", "inertia"] + case 'actionsel': + values = ["signle", "box", "cart"] + case 'inertiasel': + values = ["high", "middle", "low"] + + widgits_pr[widgit]['optionmenu'] = customtkinter.CTkOptionMenu(self.tabview.tab('Profile Test'), button_color='#708090', fg_color='#778899', values=values, width=self.w_param, font=self.my_font) + widgits_pr[widgit]['optionmenu'].grid(row=widgits_pr[widgit]['row'], column=widgits_pr[widgit]['col'], padx=5, pady=5, sticky='we') + widgits_pr[widgit]['optionmenu'].set(widgits_pr[widgit]['text']) + # widgits_pr[widgit]['optionmenu'].configure(state='disabled') + # create progress bar + self.progressbar_pr = customtkinter.CTkProgressBar(self.tabview.tab('Profile Test')) + self.progressbar_pr.grid(row=5, column=1, padx=5, pady=5, sticky="ew") + self.progressbar_pr.configure(mode="determinnate", width=10) + self.progressbar_pr.start() + # For profile tab END ===================================================================== # create textbox self.textbox = customtkinter.CTkTextbox(self, wrap='none', font=customtkinter.CTkFont(family="consolas", size=14), text_color="blue", fg_color='#E9E9E9', border_width=2, border_color='#CDCDCD', border_spacing=5) self.textbox.grid(row=6, column=1, columnspan=13, ipadx=10, ipady=10, padx=10, pady=(5, 10), sticky='nsew') @@ -193,6 +227,7 @@ class App(customtkinter.CTk): c_state = f_hb.read().strip() pb_color = 'green' if c_state == '1' else 'red' self.progressbar.configure(progress_color=pb_color) + self.progressbar_pr.configure(progress_color=pb_color) if c_state == '0': # self.textbox.delete(index1='1.0', index2='end') self.hr.t_bool = False diff --git a/aio/code/automatic_test/openapi.py b/aio/code/automatic_test/openapi.py index 703e9c7..bfac80b 100644 --- a/aio/code/automatic_test/openapi.py +++ b/aio/code/automatic_test/openapi.py @@ -216,7 +216,7 @@ class HmiRequest(object): # self.c_xs.connect(('192.168.84.129', 6666)) self.c_xs.setblocking(False) - self.w2t("Connection success", 0, 0, 'green', tab_name=self.tab_name) + # self.w2t("Connection success", 0, 0, 'green', tab_name=self.tab_name) with open(f"{current_path}/../../assets/templates/heartbeat", "w", encoding='utf-8') as f_hb: f_hb.write('1') md = ModbusRequest(self.w2t, self.tab_name) @@ -226,7 +226,7 @@ class HmiRequest(object): md.write_probe(False) md.write_axis(1) except Exception as Err: - self.w2t("Connection failed...", 0, 0, 'red', tab_name=self.tab_name) + # self.w2t("Connection failed...", 0, 0, 'red', tab_name=self.tab_name) with open(f"{current_path}/../../assets/templates/heartbeat", "w", encoding='utf-8') as f_hb: f_hb.write('0') @@ -268,7 +268,8 @@ class HmiRequest(object): with open(f"{current_path}/../../assets/templates/heartbeat", "w", encoding='utf-8') as f_hb: f_hb.write(_flag) if _flag == '0': - self.w2t(f"{_id} 心跳丢失,连接失败,重新连接中...", 0, 7, 'red', tab_name=self.tab_name) + # self.w2t(f"{_id} 心跳丢失,连接失败,重新连接中...", 0, 7, 'red', tab_name=self.tab_name) + self.w2t(f"", 0, 7, 'red', tab_name=self.tab_name) sleep(1.5) # with open(f"{current_path}/../../assets/templates/c_msg.log", "w", encoding='utf-8') as f: # for msg in self.c_msg: @@ -619,7 +620,8 @@ class HmiRequest(object): self.c.send(self.package(cmd)) sleep(0.5) except Exception as Err: - self.w2t(f"{cmd}\n请求发送失败...{Err}", 0, 0, 'red', tab_name=self.tab_name) + # self.w2t(f"{cmd}\n请求发送失败...{Err}", 0, 0, 'red', tab_name=self.tab_name) + self.w2t(f"", 0, 0, 'red', tab_name=self.tab_name) return req['id'] diff --git a/aio/code/profile/__init__.py b/aio/code/profile/__init__.py new file mode 100644 index 0000000..7824c48 --- /dev/null +++ b/aio/code/profile/__init__.py @@ -0,0 +1 @@ +__all__ = ['do_profile'] \ No newline at end of file diff --git a/aio/code/profile/do_profile.py b/aio/code/profile/do_profile.py new file mode 100644 index 0000000..e69de29