优化自动测试

This commit is contained in:
gitea 2025-02-12 08:39:20 +08:00
parent 49d5f6c3db
commit 2ffeeffd46
8 changed files with 34 additions and 18 deletions

Binary file not shown.

View File

@ -6,8 +6,8 @@ VSVersionInfo(
ffi=FixedFileInfo(
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
# Set not needed items to zero 0.
filevers=(0, 3, 1, 0),
prodvers=(0, 3, 1, 0),
filevers=(0, 3, 1, 2),
prodvers=(0, 3, 1, 2),
# Contains a bitmask that specifies the valid bits 'flags'r
mask=0x3f,
# Contains a bitmask that specifies the Boolean attributes of the file.
@ -31,12 +31,12 @@ VSVersionInfo(
'040904b0',
[StringStruct('CompanyName', 'Rokae - https://www.rokae.com/'),
StringStruct('FileDescription', 'All in one automatic toolbox'),
StringStruct('FileVersion', '0.3.1.0 (2025-01-22)'),
StringStruct('FileVersion', '0.3.1.2 (2025-02-11)'),
StringStruct('InternalName', 'AIO.exe'),
StringStruct('LegalCopyright', '© 2024-2025 Manford Fan'),
StringStruct('OriginalFilename', 'AIO.exe'),
StringStruct('ProductName', 'AIO'),
StringStruct('ProductVersion', '0.3.1.0 (2025-01-22)')])
StringStruct('ProductVersion', '0.3.1.2 (2025-02-11)')])
]),
VarFileInfo([VarStruct('Translation', [1033, 1200])])
]

View File

@ -471,6 +471,9 @@ v0.3.1.0(2025/01/23)
- 耐久数据采集并记录,优化了执行以及数据展示
- 基恩士数据采集处理,适配任意编码格式的文件处理
v0.3.1.2(2025/02/11)
1. 修改自动测试(制动/转矩/耐久的read_ready_to_go信号等待时间为15s
2. 废弃write_diagnosis参数
3. 优化do_brake中触发超差写诊断等待操作流程

View File

@ -1 +1 @@
0.3.1.0@01/22/2025
0.3.1.2@02/11/2025

View File

@ -151,7 +151,7 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
pon = ws.cell(row=5, column=2).value
io_name = ws.cell(row=6, column=2).value.upper()
wb.close()
w2t(f"基本参数配置write_diagnosis = {write_diagnosis}, get_init_speed = {get_init_speed}, single_brake = {single_brake}, pon = {pon}\n")
w2t(f"基本参数配置write_diagnosis(废弃) = {write_diagnosis}, get_init_speed = {get_init_speed}, single_brake = {single_brake}, pon = {pon}\n")
if pon == "positive":
md.write_pon(1)
@ -198,7 +198,6 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
md.r_reset_estop()
md.r_clear_alarm()
md.write_act(0)
time.sleep(write_diagnosis) # 急停超差后等待写诊断时间可通过configs.xlsx配置2.3 版本之后设置为 0 即可
while count % 3 == 1:
# 2. 修改要执行的场景
@ -238,8 +237,8 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
break
else:
time.sleep(1)
if (time.time() - t_start) > 3:
w2t("3s 内未收到机器人的运行信号,需要确认 RL 程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
if (time.time() - t_start) > 15:
w2t("15s 内未收到机器人的运行信号,需要确认 RL 程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
# 4. 找出最大速度传递给RL程序最后清除相关记录
time.sleep(5) # 消除前 5s 的不稳定数据
change_curve_state(hr, True)
@ -290,17 +289,28 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
hr.execution("rl_task.pp_to_main", tasks=["brake"])
hr.execution("state.switch_auto")
hr.execution("state.switch_motor_on")
hr.execution("rl_task.run", tasks=["brake"])
for i in range(3):
t_start = time.time()
while 1:
md.r_clear_alarm()
hr.execution("rl_task.run", tasks=["brake"])
time.sleep(1)
if md.w_program_state == 1:
break
else:
time.sleep(5)
if time.time() - t_start > 60:
w2t("60s 内程序未能正常执行,需检查...\n", "red", "RlProgramStartTimeout")
for i in range(16):
if md.read_ready_to_go() == 1:
md.write_act(1)
break
else:
time.sleep(1)
else:
w2t("3s 内未收到机器人的运行信号,需要确认 RL 程序配置正确并正常执行...\n", "red", "ReadySignalTimeoutError")
w2t("16s 内未收到机器人的运行信号,需要确认 RL 程序配置正确并正常执行...\n", "red", "ReadySignalTimeoutError")
time.sleep(5+random.randint(1, 5)) # 排除从其他位姿到零点位姿,再到轴极限位姿的时间
time.sleep(11) # 排除从其他位姿到零点位姿,再到轴极限位姿的时间
def exec_brake():
flag, start, data, record = True, time.time(), None, None
@ -337,6 +347,7 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
if ret != "retry":
clibs.count = 0
break
else:
w2t(f"\n{sub.removeprefix('tool')}%负载的制动性能测试执行完毕,如需采集其他负载,须切换负载类型,并更换其他负载,重新执行。\n", "green")

View File

@ -210,8 +210,8 @@ def run_rl(path, prj_file, hr, md, sub, w2t):
break
else:
time.sleep(1)
if (time.time() - t_start) > 3:
w2t("3s 内未收到机器人的运行信号需要确认RL程序和工具通信是否正常执行...\n", "red", "ReadySignalTimeoutError")
if (time.time() - t_start) > 15:
w2t("15s 内未收到机器人的运行信号需要确认RL程序和工具通信是否正常执行...\n", "red", "ReadySignalTimeoutError")
# 4. 执行采集
time.sleep(10) # 消除前 10s 的不稳定数据

View File

@ -111,8 +111,8 @@ def run_rl(path, params, curves, hr, md, w2t):
md.write_act(True)
break
else:
if (time.time() - t_start) > 3:
w2t("3s 内未收到机器人的运行信号需要确认RL程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
if (time.time() - t_start) > 15:
w2t("15s 内未收到机器人的运行信号需要确认RL程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
else:
time.sleep(1)

View File

@ -73,6 +73,8 @@
## 三、注意事项
> **!!仅内网使用!!**
1. 仅适用于 xCore 2.3.0.7 及以上的版本
2. 仅适配了六轴工业/协作机型其他机型可能会存在使用上的问题具体可以找fanmingfu@rokae.com确认
3. 单轴电机电流数据处理,至少需要三个完整周期,使用本工具采集一般不会有问题,主要是针对手动采集命名的数据