This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

程序功能自动化处理制动性能采集的数据减少人工处理时长目前测试单轴可从原来的4-6h减少到15min
使用方法:修改 configs.xlsx 配置文件中的一些参数(数据文件路径/减速比/最大角速度/额定电流),然后直接执行即可
第三方库pandas/pywin32/openpyxl
		 pip3 install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
		 pip3 install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
		 pip3 install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
		 pip3 install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
		 python.exe -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
		 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

		https://customtkinter.tomschimansky.com/documentation/packaging
		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
		
注意事项:
	1. 数据文件存储存储规则
		所谓数据文件,就是我们拍急停的时候,采集到的 .data 文件,正方向拍三次急停,会采集到三个 .data 文件,存储在同一个文件夹内,即每组(三个 .data 文件)文件必须存储在同一个文件夹内,数据文件的命名无要求,
	
	2. 文件夹命名规则
		虽然对采集到的 .data 文件没有命名要求,但是对于文件夹的命名是有要求的,必须是如下格式:
		loadXX_speedXX_reachXX 或者 loadXX_reachXX_speedXX
		这里的XX代表不同条件下的测试数值比如
		load100_speed33_reach66指的是负载100%速度33%臂展66%

	3. 结果文件命名规则
		所谓结果文件,就是处理数据的那个 excle 文件,该文件名字的前缀必须是 loadXX_XXXXXXXXX.xlsx比如
		load33_自研_制动性能测试.xlsx
		load66_自研_制动性能测试.xlsx
		load100_自研_制动性能测试.xlsx
		
		!!结果文件可以是没有数据的,也可以是之前有数据的,只要保证第 6 点中的那几个数据准确即可
	
	4. 数据存储的组织结
		..../j1/load100_speed33_reach100
		..../j1/load100_speed66_reach100
		....
		..../j1/load100_speed100_reach100
		..../j1/load100_speed33_reach100/2024_05_16_09_18_52.data
		..../j1/load100_speed33_reach100/2024_05_16_09_19_52.data
		..../j1/load100_speed33_reach100/2024_05_16_09_20_52.data
		
		..../j1/load33_自研_制动性能测试.xlsx
		..../j1/load66_自研_制动性能测试.xlsx
		..../j1/load100_自研_制动性能测试.xlsx
	
	5. 文件的打开与关闭
		a. 在执行程序之前,需要关闭所有相关 excle 文件
		b. 在执行程序之中,不允许打开相关 excle 文件
		c. 在执行程序之后,需要逐个打开结果文件,并保存一次
	
	6. 参数一致性检查
		执行程序前,需要确定 configs.xlsx 中设定的减速比/最大角速度/额定电流的值是正确的
		
	7. 数据准确性检查
		执行完程序之后需要对结果文件的数据准确性做核对通过我自己的数据观察误差基本在10ms以内也即10个数据点误差较大的情况可自行调整
	
	8. .data 数据顺序
		.data 文件的第一列和第二列必须分别是速度和电流
	
	9. 其他
		程序运行主要的耗时集中在打开,保存和关闭结果文件,第一次打开的时候会比较慢,是因为 excel 在做首次公式的计算保存关闭之后再打开会比较快一些另外如果在运行出错并重复运行程序的时候无响应或者出现异常请打开任务管理器关闭一切和excel相关的进程重新运行即可
		


RELEASE CHANGES


已知问题:
1. office套件下运行好像有问题WPS无问题集中在just_open函数的实现上

v0.0.1(2024/05/18)
Draft

v0.0.2(2024/05/20)
1. 功能模块化,为后面其他功能奠定一个基本的框架
2. 使用了多线程提高效率
3. 优化了准备工作中的细节
4. 运行初始化时自动删除 raw_data_dir 中的 .xlsx 文件
5. 优化了输出格式
6. 使用 pyinstaller 库进行代码冻结并调试成功

v0.0.3(2024/05/21)
1. just_open函数打开失败的信息中添加文件名
2. 删除global变量函数全部通过传参实现
3. configuration.xlsx配置文件增加AXIS常量表示那个轴取值为 j1/j2/j3/j4/j5/j6/j7
4. [bugfix] 增加get_threshold_step函数用来获取在计算row_start时合适的阈值和步长主要是解决了二轴最差工况下最大速度是个尖端的问题
	a. load100_speed100_reachxxx 二轴 threshold = 50 step = 20
	b. 其他 threshold = 50 step = 100
	如上是一个比较保守的设定因为设定的step比较小找到点之后要往后延200最好
5. 在find_row_start_dp函数中新增一个参数data_file方便后续调试

v0.0.4(2024/05/22)
1. 重新标定了get_threshold_step函数让处理更加准确
2. 新定义了now_doing_msg函数实时输出处理信息
3. 修改了find_row_start和find_row_start_dp函数增加的部分相同处理数据的时候先判断是否是空值或者是0此时可以加快步进
4. 修改了just_open函数不在做重试

v0.0.5(2024/05/23)
1. 完善了函数注释
2. 调整了阈值和步长
3. 删除了just_open函数以及对应的win32com库Thank GOD!终于可以不用这个库了)
4. 重写了获取开始点位的代码直接使用speed来判断而不用角度所以find_row_start_dp以及copy_data_to_excel_file函数也被一并删除
5. 修改了配置文件configs.xlsx的初始参数顺序及结构使程序通用性更强
6. 将initialazation中的预定义变量赋值调整到try...except...之外,更方便排查问题
7. 修改结束时间的格式,精确到秒

v0.0.6(2024/05/23)
1. 为了调整多功能框架aio.py文件将会作为入口程序存在不实现具体功能功能的实现将由具体的功能脚本实现aio.py只负责条件调用
2. 新增了自动化处理电流数据(电机/过载)的功能

v0.1.0(2024/05/29)
1. 修改为customtkinter图形化界面
2. 支持工业机器人制动数据处理(理论上支持,测试数据有问题,待验证)
3. 删除configs.xlsx配置表格直接在界面配置新增layout.xlsx文件存储customtkinter布局
4. 电流尚未支持

v0.1.1(2024/05/30)
1. 增加版本检测功能
2. 修改了无效数据下的动作
3. textbox只在开始和结束时改变状态而不是每次写入都更改
4. 调整了brake的结构
5. 重新在write2textbox中添加exitcode参数并补齐相关逻辑和修改brake中的调用方式
6. 修复参数检查无效的情况
7. 屏蔽电流相关的功能