diff --git a/assets/files/projects/configs.xlsx b/assets/files/projects/configs.xlsx index 82d6efa..4520560 100644 Binary files a/assets/files/projects/configs.xlsx and b/assets/files/projects/configs.xlsx differ diff --git a/assets/files/version/file_version_info.txt b/assets/files/version/file_version_info.txt index 703bceb..53aa25c 100644 --- a/assets/files/version/file_version_info.txt +++ b/assets/files/version/file_version_info.txt @@ -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])]) ] diff --git a/assets/files/version/release_change.md b/assets/files/version/release_change.md index 39cc447..6806db0 100644 --- a/assets/files/version/release_change.md +++ b/assets/files/version/release_change.md @@ -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中,触发超差写诊断等待操作流程 diff --git a/assets/files/version/vers b/assets/files/version/vers index aba7a42..535cb67 100644 --- a/assets/files/version/vers +++ b/assets/files/version/vers @@ -1 +1 @@ -0.3.1.0@01/22/2025 \ No newline at end of file +0.3.1.2@02/11/2025 \ No newline at end of file diff --git a/code/automatic_test/do_brake.py b/code/automatic_test/do_brake.py index 2fa773c..000413e 100644 --- a/code/automatic_test/do_brake.py +++ b/code/automatic_test/do_brake.py @@ -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") diff --git a/code/automatic_test/do_current.py b/code/automatic_test/do_current.py index 605b517..9677faa 100644 --- a/code/automatic_test/do_current.py +++ b/code/automatic_test/do_current.py @@ -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 的不稳定数据 diff --git a/code/durable_docs/factory_test.py b/code/durable_docs/factory_test.py index 292e862..e4132b3 100644 --- a/code/durable_docs/factory_test.py +++ b/code/durable_docs/factory_test.py @@ -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) diff --git a/readme.md b/readme.md index 47cab1b..2b3aff3 100644 --- a/readme.md +++ b/readme.md @@ -73,6 +73,8 @@ ## 三、注意事项 +> **!!仅内网使用!!** + 1. 仅适用于 xCore 2.3.0.7 及以上的版本 2. 仅适配了六轴工业/协作机型,其他机型可能会存在使用上的问题,具体可以找fanmingfu@rokae.com确认 3. 单轴电机电流数据处理,至少需要三个完整周期,使用本工具采集一般不会有问题,主要是针对手动采集命名的数据