程序功能：自动化处理制动性能采集的数据，减少人工处理时长，目前测试单轴可从原来的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
		 最好不用虚拟环境

注意事项：
	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.x.x(2024/05/xx)
1. 修改configuration.xlsx变量顺序，同步调整代码，为了调整多功能框架，aio.py文件将会作为入口程序存在，不实现具体功能
2. 功能的实现将由具体的功能脚本实现，aio.py只负责条件调用
3. 使用pytinstaller打包多文件为exe可执行程序
4. 新增了自动化处理电机电流数据的功能