107 lines
6.1 KiB
Plaintext
107 lines
6.1 KiB
Plaintext
程序功能:自动化处理制动性能采集的数据,减少人工处理时长,目前测试单轴可从原来的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函数也被一并删除
|
||
|
||
|
||
v0.x.x(2024/05/xx)
|
||
1. 修改configuration.xlsx变量顺序,同步调整代码,为了调整多功能框架,aio.py文件将会作为入口程序存在,不实现具体功能
|
||
2. 功能的实现将由具体的功能脚本实现,aio.py只负责条件调用
|
||
3. 使用pytinstaller打包多文件为exe可执行程序
|
||
4. 新增了自动化处理电机电流数据的功能 |