2025-04-07 10:38:59 +08:00
2025-04-07 10:38:59 +08:00
2025-04-07 10:38:59 +08:00
2025-04-07 10:38:59 +08:00
2025-04-07 10:38:59 +08:00
2025-04-07 10:38:59 +08:00
2025-03-30 18:55:39 +08:00

珞石测试部自动化工具

针对珞石工业协作六轴机器人的整机测试,该工具可以执行如下自动化操作,以减少人工处理时长,提高测试数据处理的效率和准确度:

  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 --add-data "../assets:assets" --contents-directory=resources --clean --upx-dir "D:/Syncthing/common/A_Program/upx-4.2.4-win64/" --name=aio --version-file=../assets/files/version/file_version_info.txt --icon=../assets/media/icon.ico --exclude-module=scipy ../aio.py

2. tabview 组件字体修改

customtkinter的tabview组件不支持修改字体大小解决方法可参考如下

  • Method 1可以参考 Changing Font of a Tabview 进行手动修改源码实现:

    • 运行 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


Description
No description provided
Readme 1 MiB
Languages
Python 100%