优化自动测试
This commit is contained in:
parent
49d5f6c3db
commit
2ffeeffd46
Binary file not shown.
@ -6,8 +6,8 @@ VSVersionInfo(
|
|||||||
ffi=FixedFileInfo(
|
ffi=FixedFileInfo(
|
||||||
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
|
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
|
||||||
# Set not needed items to zero 0.
|
# Set not needed items to zero 0.
|
||||||
filevers=(0, 3, 1, 0),
|
filevers=(0, 3, 1, 2),
|
||||||
prodvers=(0, 3, 1, 0),
|
prodvers=(0, 3, 1, 2),
|
||||||
# Contains a bitmask that specifies the valid bits 'flags'r
|
# Contains a bitmask that specifies the valid bits 'flags'r
|
||||||
mask=0x3f,
|
mask=0x3f,
|
||||||
# Contains a bitmask that specifies the Boolean attributes of the file.
|
# Contains a bitmask that specifies the Boolean attributes of the file.
|
||||||
@ -31,12 +31,12 @@ VSVersionInfo(
|
|||||||
'040904b0',
|
'040904b0',
|
||||||
[StringStruct('CompanyName', 'Rokae - https://www.rokae.com/'),
|
[StringStruct('CompanyName', 'Rokae - https://www.rokae.com/'),
|
||||||
StringStruct('FileDescription', 'All in one automatic toolbox'),
|
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('InternalName', 'AIO.exe'),
|
||||||
StringStruct('LegalCopyright', '© 2024-2025 Manford Fan'),
|
StringStruct('LegalCopyright', '© 2024-2025 Manford Fan'),
|
||||||
StringStruct('OriginalFilename', 'AIO.exe'),
|
StringStruct('OriginalFilename', 'AIO.exe'),
|
||||||
StringStruct('ProductName', 'AIO'),
|
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])])
|
VarFileInfo([VarStruct('Translation', [1033, 1200])])
|
||||||
]
|
]
|
||||||
|
@ -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中,触发超差写诊断等待操作流程
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
0.3.1.0@01/22/2025
|
0.3.1.2@02/11/2025
|
@ -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
|
pon = ws.cell(row=5, column=2).value
|
||||||
io_name = ws.cell(row=6, column=2).value.upper()
|
io_name = ws.cell(row=6, column=2).value.upper()
|
||||||
wb.close()
|
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":
|
if pon == "positive":
|
||||||
md.write_pon(1)
|
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_reset_estop()
|
||||||
md.r_clear_alarm()
|
md.r_clear_alarm()
|
||||||
md.write_act(0)
|
md.write_act(0)
|
||||||
time.sleep(write_diagnosis) # 急停超差后,等待写诊断时间,可通过configs.xlsx配置,2.3 版本之后设置为 0 即可
|
|
||||||
|
|
||||||
while count % 3 == 1:
|
while count % 3 == 1:
|
||||||
# 2. 修改要执行的场景
|
# 2. 修改要执行的场景
|
||||||
@ -238,8 +237,8 @@ def run_rl(path, sub, hr, md, config_file, prj_file, result_dirs, avs, w2t):
|
|||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
if (time.time() - t_start) > 3:
|
if (time.time() - t_start) > 15:
|
||||||
w2t("3s 内未收到机器人的运行信号,需要确认 RL 程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
|
w2t("15s 内未收到机器人的运行信号,需要确认 RL 程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
|
||||||
# 4. 找出最大速度,传递给RL程序,最后清除相关记录
|
# 4. 找出最大速度,传递给RL程序,最后清除相关记录
|
||||||
time.sleep(5) # 消除前 5s 的不稳定数据
|
time.sleep(5) # 消除前 5s 的不稳定数据
|
||||||
change_curve_state(hr, True)
|
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("rl_task.pp_to_main", tasks=["brake"])
|
||||||
hr.execution("state.switch_auto")
|
hr.execution("state.switch_auto")
|
||||||
hr.execution("state.switch_motor_on")
|
hr.execution("state.switch_motor_on")
|
||||||
|
t_start = time.time()
|
||||||
|
while 1:
|
||||||
|
md.r_clear_alarm()
|
||||||
hr.execution("rl_task.run", tasks=["brake"])
|
hr.execution("rl_task.run", tasks=["brake"])
|
||||||
for i in range(3):
|
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:
|
if md.read_ready_to_go() == 1:
|
||||||
md.write_act(1)
|
md.write_act(1)
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
else:
|
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():
|
def exec_brake():
|
||||||
flag, start, data, record = True, time.time(), None, None
|
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":
|
if ret != "retry":
|
||||||
clibs.count = 0
|
clibs.count = 0
|
||||||
break
|
break
|
||||||
|
|
||||||
else:
|
else:
|
||||||
w2t(f"\n{sub.removeprefix('tool')}%负载的制动性能测试执行完毕,如需采集其他负载,须切换负载类型,并更换其他负载,重新执行。\n", "green")
|
w2t(f"\n{sub.removeprefix('tool')}%负载的制动性能测试执行完毕,如需采集其他负载,须切换负载类型,并更换其他负载,重新执行。\n", "green")
|
||||||
|
|
||||||
|
@ -210,8 +210,8 @@ def run_rl(path, prj_file, hr, md, sub, w2t):
|
|||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
if (time.time() - t_start) > 3:
|
if (time.time() - t_start) > 15:
|
||||||
w2t("3s 内未收到机器人的运行信号,需要确认RL程序和工具通信是否正常执行...\n", "red", "ReadySignalTimeoutError")
|
w2t("15s 内未收到机器人的运行信号,需要确认RL程序和工具通信是否正常执行...\n", "red", "ReadySignalTimeoutError")
|
||||||
|
|
||||||
# 4. 执行采集
|
# 4. 执行采集
|
||||||
time.sleep(10) # 消除前 10s 的不稳定数据
|
time.sleep(10) # 消除前 10s 的不稳定数据
|
||||||
|
@ -111,8 +111,8 @@ def run_rl(path, params, curves, hr, md, w2t):
|
|||||||
md.write_act(True)
|
md.write_act(True)
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
if (time.time() - t_start) > 3:
|
if (time.time() - t_start) > 15:
|
||||||
w2t("3s 内未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
|
w2t("15s 内未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...\n", "red", "ReadySignalTimeoutError")
|
||||||
else:
|
else:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
@ -73,6 +73,8 @@
|
|||||||
|
|
||||||
## 三、注意事项
|
## 三、注意事项
|
||||||
|
|
||||||
|
> **!!仅内网使用!!**
|
||||||
|
|
||||||
1. 仅适用于 xCore 2.3.0.7 及以上的版本
|
1. 仅适用于 xCore 2.3.0.7 及以上的版本
|
||||||
2. 仅适配了六轴工业/协作机型,其他机型可能会存在使用上的问题,具体可以找fanmingfu@rokae.com确认
|
2. 仅适配了六轴工业/协作机型,其他机型可能会存在使用上的问题,具体可以找fanmingfu@rokae.com确认
|
||||||
3. 单轴电机电流数据处理,至少需要三个完整周期,使用本工具采集一般不会有问题,主要是针对手动采集命名的数据
|
3. 单轴电机电流数据处理,至少需要三个完整周期,使用本工具采集一般不会有问题,主要是针对手动采集命名的数据
|
||||||
|
Reference in New Issue
Block a user