This repository has been archived on 2025-02-25. You can view files and clone it, but cannot push or open issues or pull requests.
..
2024-06-06 19:04:55 +08:00
2024-06-06 19:04:55 +08:00
2024-06-06 19:29:00 +08:00
2024-06-06 19:04:55 +08:00

程序功能

自动化测试数据处理工具,减少人工处理时长,提高测试数据处理的效率和准确度:

  1. 制动数据单轴数据处理5min以内
  2. 电机电流数据全部轴数据处理1min以内
  3. ISO激光数据整理1min以内

使用方法

点击可执行程序 AIO.exe然后选择功能根据提示填写必要参数点击运行即可

第三方库

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 xlmx -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
pip3 install pdfplumber -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
pip3 install jinja2 -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

打包方法

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

注意事项

制动数据

1. 数据文件存储存储规则
数据文件,就是我们拍急停的时候,采集到的 .data 文件,正方向拍三次急停,会采集到三个 .data 文件,存储在同一个文件夹内,即每组(三个 .data 文件)文件必须存储在同一个文件夹内,数据文件的命名无要求,
	
2. 文件夹命名规则
采集到的 .data 文件没有命名要求,但是对于文件夹的命名是有要求的,必须是如下格式:
	dXX_speedXX_reachXX 或者 loadXX_reachXX_speedXX
	XX代表不同条件下的测试数值比如
	d100_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. 其他
程序运行主要的耗时集中在打开,保存和关闭结果文件,第一次打开的时候会比较慢,是因为 excel 在做首次公式的计算保存关闭之后再打开会比较快一些另外如果在运行出错并重复运行程序的时候无响应或者出现异常请打开任务管理器关闭一切和excel相关的进程重新运行即可

电机电流

  1. 单独使用max/avg功能时对于文件命名同第二点存放数据的文件夹只允许有 .data 或者 .csv 文件且每次只能处理rc相同的轴的数据
  2. cycle功能只处理单文件单轴数据可以批量处理所有轴但要确保遵守如下规则 a. 数据整理文件以 .xlsx 为后缀 b. 其他文件 A. 单轴j1_xxxxx.data/csv B. 保持j1_hold_xxxx.data/csv C. 所有文件放在同一个文件夹即可 d. 界面输入rc参数时需要输入所有轴的数据

ISO数据

所有文件放在同一个文件夹即可,命名规则如下: a. ISO.pdf b. ISO-V1000.pdf c. ISO-V100.pdf d. iso-results.xlsx


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. 屏蔽电流相关的功能

v0.1.2(2024/06/01)

  1. 增加iso数据处理功能
  2. 重新修改了README.md
  3. 单独将rokae拉出来作为一个独立的repo进行维护与scripts分离

v0.1.3(2024/06/01)

  1. 完成电流处理的基本功能
  2. 修复了一些已知bugs

v0.1.4(2024/06/06)

  1. AV/RR支持小数
  2. 可处理电机电流单轴以及多轴数据,可根据需要进行参数设定处理不同轴的数据
  3. 界面初始位置修改以及删除所有entry的长度设定因为设定无效
  4. 修改了layout.xlsx布局增加了duration/trqH/STO字段以及额外的RC行整体扩展了区域
  5. 更改label/entry/optionmenu等控件的生成方式使用循环实现更加简洁和容易维护暂未实现
  6. 支持工业/协作两条产品线的电机电流数据处理包括单轴场景max/avg计算