From e11dc60438fccc9ddddf6b17d684f171a41d14f4 Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 23 May 2024 17:35:34 +0800 Subject: [PATCH] =?UTF-8?q?[modify]=20v0.0.6(2024/05/23)=201.=20=E4=B8=BA?= =?UTF-8?q?=E4=BA=86=E8=B0=83=E6=95=B4=E5=A4=9A=E5=8A=9F=E8=83=BD=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=EF=BC=8Caio.py=E6=96=87=E4=BB=B6=E5=B0=86=E4=BC=9A?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E5=85=A5=E5=8F=A3=E7=A8=8B=E5=BA=8F=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=EF=BC=8C=E4=B8=8D=E5=AE=9E=E7=8E=B0=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8A=9F=E8=83=BD=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=B0=86=E7=94=B1=E5=85=B7=E4=BD=93=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E8=84=9A=E6=9C=AC=E5=AE=9E=E7=8E=B0=EF=BC=8Caio.py?= =?UTF-8?q?=E5=8F=AA=E8=B4=9F=E8=B4=A3=E6=9D=A1=E4=BB=B6=E8=B0=83=E7=94=A8?= =?UTF-8?q?=202.=20=E6=96=B0=E5=A2=9E=E4=BA=86=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=94=B5=E6=B5=81=E6=95=B0=E6=8D=AE=EF=BC=88?= =?UTF-8?q?=E7=94=B5=E6=9C=BA/=E8=BF=87=E8=BD=BD=EF=BC=89=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rokae/aio/aio.py | 21 +++++++ rokae/aio/brake.py | 2 +- rokae/aio/configs.xlsx | Bin 11914 -> 13191 bytes rokae/aio/current.py | 103 ++++++++++++++++++++++++++++++++ rokae/aio/file_version_info.txt | 8 +-- rokae/aio/readme.txt | 11 ++-- 6 files changed, 133 insertions(+), 12 deletions(-) create mode 100644 rokae/aio/aio.py create mode 100644 rokae/aio/current.py diff --git a/rokae/aio/aio.py b/rokae/aio/aio.py new file mode 100644 index 0000000..2502986 --- /dev/null +++ b/rokae/aio/aio.py @@ -0,0 +1,21 @@ +import openpyxl +import brake +import current + +try: + wb_conf = openpyxl.load_workbook('./configs.xlsx', read_only=True) + ws_conf = wb_conf['attention'] +except Exception as Err: + msg = "无法在当前路径下找到或打开【configs.xlsx】文件,请确认!" + brake.warn_pause_exit(msg, 1, 2) + +func_name = ws_conf['B2'].value +if func_name not in wb_conf.sheetnames[1:]: + msg = f"主功能选择错误,程序没有{func_name}的功能,请确认后重新输入...." + wb_conf.close() + brake.warn_pause_exit(msg, 1, 1) +else: + func_dict = {'brake': brake.main, + 'current': current.main, + } + func_dict[func_name]() diff --git a/rokae/aio/brake.py b/rokae/aio/brake.py index cb35c20..c3574de 100644 --- a/rokae/aio/brake.py +++ b/rokae/aio/brake.py @@ -313,7 +313,7 @@ def execution(args): time_end = time.time() time_total = time_end - time_start - msg = f"数据处理时间:{time_total // 3600:02} h {time_total % 3600 // 60:02} min {time_total % 60:02} s" + msg = f"数据处理时间:{time_total // 3600:02} h {time_total % 3600 // 60:02} min {time_total % 60:02.0f} s" warn_pause_exit(msg, 1, 0) diff --git a/rokae/aio/configs.xlsx b/rokae/aio/configs.xlsx index 3630dbf65a09f70020f2e382cf1fb8a760270130..92bf496968a62154128703611bf6ebe5994795b4 100644 GIT binary patch delta 8286 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 X|38Qv6QY7n3i-@|{celnAM*bIulUK5 delta 6973 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 Oa^QiWZZQ2F_x}L6IW!~y diff --git a/rokae/aio/current.py b/rokae/aio/current.py new file mode 100644 index 0000000..511f354 --- /dev/null +++ b/rokae/aio/current.py @@ -0,0 +1,103 @@ +import openpyxl +import os +import sys +import pandas + + +def warn_pause_exit(msg, pause_num, exit_num): + # 功能:打印告警信息,并推出程序 + # 参数:告警信息,暂停的次数,退出的值 + # 返回值:- + print(msg + '\n') + for i in range(pause_num): + _ = input("Press ENTER to continue......\n") + sys.exit(exit_num) + + +def traversal_files(path): + # 功能:以列表的形式分别返回指定路径下的文件和文件夹,不包含子目录 + # 参数:路径 + # 返回值:路径下的文件夹列表 路径下的文件列表 + if not os.path.exists(path): + msg = f'数据文件夹{path}不存在,请确认后重试......' + warn_pause_exit(msg, 1, 11) + else: + dirs = [] + files = [] + for item in os.scandir(path): + if item.is_dir(): + dirs.append(item.path) + elif item.is_file(): + files.append(item.path) + + return dirs, files + + +def initialization(): + try: + # read init configurations from config file + wb_conf = openpyxl.load_workbook('./configs.xlsx', read_only=True) + ws_conf = wb_conf['current'] + except Exception as Err: + msg = "无法在当前路径下找到或打开【configs.xlsx】文件,请确认!" + warn_pause_exit(msg, 1, 2) + + FUNC = ws_conf.cell(row=2, column=2).value + DATA_DIR = ws_conf.cell(row=3, column=2).value + AXIS = int(ws_conf.cell(row=4, column=2).value) + RC = ws_conf.cell(row=5, column=2).value.split(',') + COLUMN = int(ws_conf.cell(row=6, column=2).value) + wb_conf.close() + + _, data_files = traversal_files(DATA_DIR) + for data_file in data_files: + if not data_file.endswith('.data'): + msg = f"所有文件必须以 .data 结尾,请检查后重新运行。" + warn_pause_exit(msg, 1, 1) + + return data_files, FUNC, RC, COLUMN, AXIS + + +def current_max(*args): + data_files, FUNC, RC, COLUMN, AXIS = args + for data_file in data_files: + df = pandas.read_csv(data_file, sep='\t') + col = df.columns.values[COLUMN-1] + c_max = df[col].max() + print(f"{data_file}: {c_max/1000*RC[AXIS-1]:.3f}") + + msg = f"数据处理完毕......" + warn_pause_exit(msg, 1, 0) + + +def current_avg(*args): + data_files, FUNC, RC, COLUMN, AXIS = args + for data_file in data_files: + df = pandas.read_csv(data_file, sep='\t') + col = df.columns.values[COLUMN-1] + c_std = df[col].std() + c_avg = df[col].mean() + + axis = int(data_file.split('\\')[-1].split('_')[0].replace('j', '')) + print(f"{data_file}: {(abs(c_avg)+c_std)/1000*float(RC[axis-1]):.3f}") + + msg = f"数据处理完毕......" + warn_pause_exit(msg, 1, 0) + + +def full_cycle(*args): + pass + + +def main(): + args = initialization() + if args[1] == 'max': + current_max(*args) + elif args[1] == 'avg': + current_avg(*args) + elif args[1] == 'cycle': + full_cycle(*args) + + +if __name__ == '__main__': + main() diff --git a/rokae/aio/file_version_info.txt b/rokae/aio/file_version_info.txt index 1336045..fee335b 100644 --- a/rokae/aio/file_version_info.txt +++ b/rokae/aio/file_version_info.txt @@ -6,8 +6,8 @@ VSVersionInfo( ffi=FixedFileInfo( # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4) # Set not needed items to zero 0. - filevers=(0, 0, 5, 1), - prodvers=(0, 0, 5, 1), + filevers=(0, 0, 6, 0), + prodvers=(0, 0, 6, 0), # Contains a bitmask that specifies the valid bits 'flags'r mask=0x3f, # Contains a bitmask that specifies the Boolean attributes of the file. @@ -31,12 +31,12 @@ VSVersionInfo( '040904b0', [StringStruct('CompanyName', 'Rokae - https://www.rokae.com/'), StringStruct('FileDescription', 'All in one automatic operating tool'), - StringStruct('FileVersion', '0.0.5 (2024-05-20)'), + StringStruct('FileVersion', '0.0.6 (2024-05-20)'), StringStruct('InternalName', 'AIO.exe'), StringStruct('LegalCopyright', '© 2024-2024 Manford Fan'), StringStruct('OriginalFilename', 'AIO.exe'), StringStruct('ProductName', 'AIO'), - StringStruct('ProductVersion', '0.0.5 (2024-05-20)')]) + StringStruct('ProductVersion', '0.0.6 (2024-05-23)')]) ]), VarFileInfo([VarStruct('Translation', [1033, 1200])]) ] diff --git a/rokae/aio/readme.txt b/rokae/aio/readme.txt index f53e8cc..1c35ac3 100644 --- a/rokae/aio/readme.txt +++ b/rokae/aio/readme.txt @@ -9,6 +9,7 @@ pip3 install --upgrade --force-reinstall numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn 打包方法: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 注意事项: 1. 数据文件存储存储规则 @@ -102,10 +103,6 @@ v0.0.5(2024/05/23) 6. 将initialazation中的预定义变量赋值调整到try...except...之外,更方便排查问题 7. 修改结束时间的格式,精确到秒 - - -v0.x.x(2024/05/xx) -1. 修改configuration.xlsx变量顺序,同步调整代码,为了调整多功能框架,aio.py文件将会作为入口程序存在,不实现具体功能 -2. 功能的实现将由具体的功能脚本实现,aio.py只负责条件调用 -3. 使用pytinstaller打包多文件为exe可执行程序 -4. 新增了自动化处理电机电流数据的功能 \ No newline at end of file +v0.0.6(2024/05/23) +1. 为了调整多功能框架,aio.py文件将会作为入口程序存在,不实现具体功能,功能的实现将由具体的功能脚本实现,aio.py只负责条件调用 +2. 新增了自动化处理电流数据(电机/过载)的功能 \ No newline at end of file