130 lines
6.0 KiB
Markdown
130 lines
6.0 KiB
Markdown
# 珞石测试部自动化工具
|
||
|
||
针对珞石工业协作六轴机器人的整机测试,该工具可以执行如下自动化操作,以减少人工处理时长,提高测试数据处理的效率和准确度:
|
||
|
||
1. 制动数据,单轴数据处理 5min 以内
|
||
2. 电机电流数据,全部轴数据处理 3min 以内
|
||
3. ISO 激光数据整理,1min 以内
|
||
4. wavelogger 波形处理,几乎不花费时间
|
||
5. 制动自动化测试,40min 左右
|
||
6. 电机电流自动化测试,15min 左右
|
||
7. 耐久工程相关指标采集记录,可定制曲线并绘图
|
||
|
||
## 一、处理逻辑以及原理
|
||
|
||
该部分简要介绍了工具实现的核心逻辑原理,以及执行的必要条件。
|
||
|
||
### 1. 数据处理
|
||
|
||
#### A. 制动数据
|
||
|
||
- 原理:找到 `device_safety_estop` 曲线值由 1 -> 0 的位置,并预留 20 个数据余量截取 1000 个点
|
||
- 必要条件:
|
||
- 根目录命名为 j1/2/3
|
||
- 数据文件夹命名参照执行制动数据采集
|
||
- 需要有三个结果文件,命名为 reach33/66/100_xxxxxxxx.xlsx
|
||
- 需要有一个机型文件,比如 NB4h-R580-3G.cfg,此文件会在执行制动测试的时候自动生成,注意保存
|
||
|
||
#### B. 电机电流
|
||
|
||
- 单轴原理:找到一个周期的起点和终点
|
||
- 堵转原理:求平均均值
|
||
- 场景原理:获取场景的执行周期时间,并做数据截取
|
||
- 必要条件:
|
||
- 数据文件命名参照电机电流测试生成的格式
|
||
- 需要有一个结果文件,命名为 T_电机电流.xlsx
|
||
- 需要有一个机型文件,比如 NB4h-R580-3G.cfg,此文件会在执行制动测试的时候自动生成,注意保存
|
||
|
||
#### C. 激光
|
||
|
||
- 原理:根据要获取的数据所在位置的特征,过滤提取
|
||
- 必要条件:
|
||
- 数据文件命名必须参照如下:
|
||
- ISO-.pdf
|
||
- ISO-V100.pdf
|
||
- ISO-V1000.pdf
|
||
- 需要有一个结果文件,iso-results.xlsx
|
||
|
||
#### D. 基恩士数据
|
||
|
||
- 原理:根据数据大小以及出现的周期规律,进行相应的处理,处理完成之后结果文件会自动生成
|
||
- 必要条件:需要提前将 `.xdt` 波形数据转换成 `.csv` 文件,数据文件命名必须以 `.csv` 结尾
|
||
|
||
## 二、自动测试
|
||
|
||
### 1. 协议封包解包
|
||
|
||
详见 `assets/files/protocols/`
|
||
|
||
### 2. 制动测试
|
||
|
||
- 原理:使用 xCore socket 协议获取诊断数据,包括速度,力矩等信息,结合 modbus 和外部通信执行急停等动作
|
||
- 必要条件:
|
||
- RL 工程(brake任务),参考 `assets/files/projects/`,需要详细阅读对应的注释
|
||
- 需要有一个配置文件,命名为 configs.xlsx
|
||
- 需要有三个结果文件,命名为 reach33/66/100_xxxxxxxx.xlsx
|
||
|
||
### 3. 电机电流测试
|
||
|
||
- 原理:使用 xCore socket 协议获取诊断数据,包括速度,力矩等信息,结合 modbus 和外部通信执行急停等动作
|
||
- 必要条件:
|
||
- RL 工程(current任务),参考 `assets/files/projects/`,需要详细阅读对应的注释
|
||
- 需要有一个结果文件,命名为 T_电机电流.xlsx
|
||
|
||
## 三、耐久测试数据采集
|
||
|
||
- 原理:根据设置的时间间隔,采集相应的场景周期指标数据
|
||
- 必要条件:
|
||
- RL 工程(factory任务),参考 `assets/files/projects/`,需要详细阅读对应的注释
|
||
|
||
## 三、注意事项
|
||
|
||
> **!!仅内网使用!!**
|
||
|
||
1. 仅适用于 xCore 2.3.0.7 及以上的版本
|
||
2. 仅适配了六轴工业/协作机型,其他机型可能会存在使用上的问题,具体可以找fanmingfu@rokae.com确认
|
||
3. 单轴电机电流数据处理,至少需要三个完整周期,使用本工具采集一般不会有问题,主要是针对手动采集命名的数据
|
||
4. 执行制动测试/电机电流采集/耐久测试的时候,执行过程中停止,需要重新关闭软件再次打开,才能正常使用
|
||
5. RL工程/寄存器文件/configs.xlsx文件已更新,需要使用新版,其他使用方法和之前工具一致
|
||
6. 基恩士采集数据时,不同轮次(每5次测试)数据时间间隔最好大于 2 倍的周期时间,否则会出现采集的轮数不正确的情况,但数据是完整的
|
||
7. 激光数据处理只支持英文版本的数据文件
|
||
8. 耐久(场景)指标数据采集的工程运行周期需要小于 300s,否则会出现异常
|
||
|
||
> **需要使用 assets/files/projects/ 下的工程,寄存器文件以及配置文件等!!!**
|
||
|
||
## 四、发版记录
|
||
|
||
详见 `assets/files/version/release_change.txt` 文件
|
||
|
||
## 五、其他
|
||
|
||
### 1. 打包命令
|
||
|
||
打包时,只需要修改 clibs.py 中的 PREFIX 即可,调试时再修改回来,第三方库依赖详见 `assets/files/version/requirements.txt` 文件
|
||
|
||
```
|
||
pyinstaller --noconfirm --onedir --windowed --optimize 2 --contents-directory . --upx-dir "D:/Syncthing/common/A_Program/upx-4.2.4-win64/" --add-data "../.venv/Lib/site-packages/customtkinter;customtkinter/" --add-data "../assets:assets" --version-file ../assets/files/version/file_version_info.txt -i ../assets/media/icon.ico ../code/aio.py -p ../code/common/clibs.py -p ../code/commom/openapi.py -p ../code/data_process/brake.py -p ../code/data_process/iso.py -p ../code/data_process/current.py -p ../code/data_process/wavelogger.py -p ../code/automatic_test/do_current.py -p ../code/automatic_test/do_brake.py -p ../code/durable_docs/factory_test.py -p ../code/durable_docs/create_plot.py --exclude-module=scipy
|
||
```
|
||
|
||
### 2. tabview 组件字体修改
|
||
|
||
customtkinter的tabview组件不支持修改字体大小,解决方法可参考如下:
|
||
|
||
- Method 1:可以参考 [Changing Font of a Tabview](https://github.com/TomSchimansky/CustomTkinter/issues/2296) 进行手动修改源码实现:
|
||
|
||
+ 运行 `pip show customtkinter`,获取到库的路径
|
||
+ 修改.../windows/widgets/ctk_tabview.py
|
||
+ 增加 from .font.ctk_font import CTkFont
|
||
+ 在大概 78 行的位置,增加 font=CTkFont(family="Consolas", size=18, weight='bold')
|
||
|
||
- Method 2:
|
||
|
||
直接在源码中修改:`self.tabview_bottom._segmented_button.configure(font=ctk.CTkFont(family="Consolas", size=18, weight="bold"))`
|
||
|
||
### 3. scroll frame 不支持修改高度和宽度
|
||
|
||
https://github.com/TomSchimansky/CustomTkinter/pull/1765/files
|
||
|
||
|
||
---
|