From 7e568fb699c8c4fdb5797a7d45c597651a39e33b Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 13 Jun 2024 18:10:42 +0800 Subject: [PATCH] =?UTF-8?q?v0.1.5.1(2024/06/12)=20[current.py]:=20=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9cycle=E5=8A=9F=E8=83=BD=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=B8=85=E7=90=86=E8=8C=83=E5=9B=B4=E4=B8=BA?= =?UTF-8?q?70000=E8=A1=8C=EF=BC=8C=E5=B9=B6=E5=B0=86threshold=E4=BB=8E2?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA5=20[current.py]:=20=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BD=8D=E7=BD=AE=E8=B6=85=E9=99=90=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E6=9B=B4=E6=B8=85=E6=A5=9A=E4=BA=86=E8=A7=A3?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8E=9F=E5=9B=A0=20[current.py]:=20=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9find=5Fpoint=E5=87=BD=E6=95=B0=E4=B8=AD?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E4=BF=A1=E6=81=AF=20[README.md]:=20=E7=B2=BE?= =?UTF-8?q?=E7=AE=80=E6=89=93=E5=8C=85=E5=91=BD=E4=BB=A4=20[requirements.t?= =?UTF-8?q?xt]:=20=E6=96=B0=E5=A2=9E=E5=BF=85=E8=A6=81=E5=BA=93=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aio/README.md | 15 +++++++++------ aio/current.py | 24 ++++++++++++------------ aio/requirements.txt | 9 +++++++++ 3 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 aio/requirements.txt diff --git a/aio/README.md b/aio/README.md index 7e16e8a..de86518 100644 --- a/aio/README.md +++ b/aio/README.md @@ -23,12 +23,8 @@ python.exe -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/sim ### 打包方法 -```commandline -pyinstaller.exe -F --version-file file_version_info.txt -i .\icon.ico .\aio.py +``` pyinstaller.exe -F --version-file file_version_info.txt -i .\icon.ico .\aio.py -p .\brake.py -p .\current.py -<<<<<<< HEAD -pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/AppData/Local/Programs/Python/Python312/Lib/site-packages/customtkinter;customtkinter/" --version-file file_version_info.txt -i .\icon.ico .\aio.py -p .\brake.py .\iso.py -pyinstaller --noconfirm --onedir --windowed --add-data "/opt/git/rokae/aio/venv/lib/python3.11/site-packages/customtkinter;customtkinter/" --version-file file_version_info.txt -i ./icon.ico ./aio.py -p ./brake.py -p ./iso.py -p ./current.py pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/AppData/Local/Programs/Python/Python312/Lib/site-packages/customtkinter;customtkinter/" --version-file file_version_info.txt -i .\icon.ico .\aio.py -p .\brake.py -p .\iso.py -p .\current.py ``` @@ -199,4 +195,11 @@ v0.1.5(2024/06/12) 7. [aio.py]: 更改label/entry/optionmenu等控件的生成方式,使用循环实现,更加简洁和容易维护 8. [aio.py]: 修改customtkinter库中C:\Users\Administrator\AppData\Local\Programs\Python\Python312\Lib\site-packages\customtkinter\windows\widgets\ctk_tabview.py文件,参考https://github.com/TomSchimansky/CustomTkinter/issues/2296,实现修改tabview组件的字体大小 9. [aio.py]: 修改menu_main->menu_main_dp,menu_sub->menu_sub_dp,为后续其他tab功能按钮做扩展,是针对第三点做出的相应调整 -10. [layout.xlsx]: 添加了各个功能的流程图 \ No newline at end of file +10. [layout.xlsx]: 添加了各个功能的流程图 + +v0.1.5.1(2024/06/12) +[current.py]: 修改cycle功能中,数据清理范围为70000行,并将threshold从2调整为5 +[current.py]: 修改位置超限提示,使更清楚了解问题原因 +[current.py]: 修改find_point函数中错误提示,增加定位信息 +[README.md]: 精简打包命令 +[requirements.txt]: 新增必要库配置文件 \ No newline at end of file diff --git a/aio/current.py b/aio/current.py index 2a898a4..fb5b01f 100644 --- a/aio/current.py +++ b/aio/current.py @@ -181,7 +181,7 @@ def current_cycle(dur, data_files, rcs, vel, trq, trqh, rpm, w2t): w2t("全部处理完毕") -def find_point(flag, df, _row_s, _row_e, w2t, exitcode, threshold, step, end_point): +def find_point(data_file, pos, flag, df, _row_s, _row_e, w2t, exitcode, threshold, step, end_point): if flag == 'lt': while _row_e > end_point: speed_avg = df.iloc[_row_s:_row_e, 0].abs().mean() @@ -192,7 +192,7 @@ def find_point(flag, df, _row_s, _row_e, w2t, exitcode, threshold, step, end_poi else: return _row_s, _row_e else: - w2t(f"数据有误,需要检查,无法找到第{exitcode}个有效点...", 0, exitcode, 'red') + w2t(f"[{pos}] {data_file}数据有误,需要检查,无法找到第{exitcode}个有效点...", 0, exitcode, 'red') elif flag == 'gt': while _row_e > end_point: speed_avg = df.iloc[_row_s:_row_e, 0].abs().mean() @@ -203,7 +203,7 @@ def find_point(flag, df, _row_s, _row_e, w2t, exitcode, threshold, step, end_poi else: return _row_s, _row_e else: - w2t(f"数据有误,需要检查,无法找到有效起始点或结束点...", 0, exitcode, 'red') + w2t(f"[{pos}] {data_file}数据有误,需要检查,无法找到有效起始点或结束点...", 0, exitcode, 'red') def p_single(wb, single, vel, trq, rpm, w2t): @@ -245,28 +245,28 @@ def p_single(wb, single, vel, trq, rpm, w2t): speed_avg = df.iloc[_row_s:_row_e, 0].abs().mean() if speed_avg < 2: # 过滤尾部为零无效数据 - _row_s, _row_e = find_point('lt', df, _row_s, _row_e, w2t, 1, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'a1', 'lt', df, _row_s, _row_e, w2t, 1, threshold=5, step=_step, end_point=_end_point) # 找到第一个起始点 row_end,继续找到有数据的部分,后面有一段有效数据区 row_end = _row_e - _adjust _row_e -= _end_point _row_s -= _end_point - _row_s, _row_e = find_point('gt', df, _row_s, _row_e, w2t, 3, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'a2', 'gt', df, _row_s, _row_e, w2t, 3, threshold=5, step=_step, end_point=_end_point) # 速度已经快要降为零了,继续寻找下一个速度上升点 _row_e -= _end_point _row_s -= _end_point - _row_s, _row_e = find_point('lt', df, _row_s, _row_e, w2t, 3, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'a3', 'lt', df, _row_s, _row_e, w2t, 3, threshold=5, step=_step, end_point=_end_point) elif speed_avg > 2: # 过滤尾部非零无效数据 - _row_s, _row_e = find_point('gt', df, _row_s, _row_e, w2t, 2, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'b1', 'gt', df, _row_s, _row_e, w2t, 2, threshold=5, step=_step, end_point=_end_point) # 找到第一个起始点 row_end,继续找到有数据的部分,后面有一段零数据区 row_end = _row_e - _adjust _row_e -= _end_point _row_s -= _end_point - _row_s, _row_e = find_point('lt', df, _row_s, _row_e, w2t, 4, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'b2', 'lt', df, _row_s, _row_e, w2t, 4, threshold=5, step=_step, end_point=_end_point) # 目前已经有一点的速度值了,继续往前搜寻下一个速度为零的点 _row_e -= _end_point _row_s -= _end_point - _row_s, _row_e = find_point('gt', df, _row_s, _row_e, w2t, 4, threshold=2, step=_step, end_point=_end_point) + _row_s, _row_e = find_point(data_file, 'b3', 'gt', df, _row_s, _row_e, w2t, 4, threshold=5, step=_step, end_point=_end_point) row_start = _row_s + _adjust data = [] @@ -275,7 +275,7 @@ def p_single(wb, single, vel, trq, rpm, w2t): data.append(df.iloc[row, 1]) i = 0 - for row in ws.iter_rows(min_row=2, min_col=2, max_row=15000, max_col=3): + for row in ws.iter_rows(min_row=2, min_col=2, max_row=70000, max_col=3): for cell in row: try: _ = f"{data[i]:.2f}" @@ -317,7 +317,7 @@ def p_scenario(wb, single, vel, trq, rpm, dur, w2t): row_start = 300 row_end = row_start + int(dur/cycle) if row_end > df.index[-1]: - w2t(f"位置超限:{data_file} 共有 {df.index[-1]} 条数据,无法取到第 {row_end} 条数据...", 0, 9, 'red') + w2t(f"位置超限:{data_file} 共有 {df.index[-1]} 条数据,无法取到第 {row_end} 条数据,需要确认场景周期时间...", 0, 9, 'red') data = [] for row in range(row_start, row_end): @@ -325,7 +325,7 @@ def p_scenario(wb, single, vel, trq, rpm, dur, w2t): data.append(df.iloc[row, 1]) i = 0 - for row in ws.iter_rows(min_row=2, min_col=2, max_row=15000, max_col=3): + for row in ws.iter_rows(min_row=2, min_col=2, max_row=70000, max_col=3): for cell in row: try: _ = f"{data[i]:.2f}" diff --git a/aio/requirements.txt b/aio/requirements.txt new file mode 100644 index 0000000..ad41cdf --- /dev/null +++ b/aio/requirements.txt @@ -0,0 +1,9 @@ +openpyxl==3.1.2 +pdfplumber==0.11.0 +customtkinter==5.2.2 +Jinja2==3.1.4 +lxml==5.2.2 +numpy==1.26.4 +pandas==2.2.2 +pillow==10.3.0 +pyinstaller==6.7.0