v0.1.9.2(2024/07/13)

1. [APIs: do_brake.py]
   - 修改ready_to_go信号的接收逻辑,适配大负载机型
2. [APIs: do_current.py]
   - 修改ready_to_go信号的接收逻辑,适配大负载机型
   - 调整单轴测试时间为35s,适配大负载机型,调整堵转电流持续时间15s,适当减少测试时间
   - 将act信号置为False的动作放在初始化,增加程序健壮性
This commit is contained in:
2024-07-13 11:36:35 +08:00
parent fe27dbf91f
commit a66a55bcd3
3 changed files with 30 additions and 14 deletions

View File

@ -132,7 +132,7 @@ pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/A
> **需要注意的点**
1. 使用之前需要手动修改!!负载信息!!点位信息!!,确保所有点位不会发生撞击之后,再进行自动化测试
1. 【重要】使用之前需要手动修改!!负载信息!!点位信息!!,确保所有点位不会发生撞击,确保所有程序正常运行之后,导出工程,再进行自动化测试
2. 工程文件不能手动重命名需要重命名存档可以导入HMI然后另存为
3. 务必正确填写configs.xlsx中的Target页面A1单元格可以选择正负方向急停但不完全保证100%大概有95%左右的准确度
4. 由于xCore系统问题运行过程中可能会出现机器人宕机问题如果遇到可以手动重启控制柜重新运行
@ -140,6 +140,8 @@ pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/A
6. 运行自动化程序之前,确保机器处于正常状态,无故障,未触发急停
7. 需要额外硬件接线详细参考configs.xlsx中急停接线图sheet页
8. 注意观察二轴100%臂展时,是否可以获取到正确的数据
9. 将autotest.xml导入到寄存器并新建一个modbus命名为autotest
10. 针对五轴机型六轴数据可以填写1-5轴任意一轴的点位信息
#### 6) 电机电流自动化测试
@ -462,3 +464,12 @@ v0.1.9.1(2024/07/12)
3. [APIs: openapi.py]
- modbus类新增指示政府方向急停的信号pon将modbus类入参中的tab_name删除并修改tab_name的值为'openapi'
- socket类种修改tab_name的值为'openapi'
v0.1.9.2(2024/07/13)
1. [APIs: do_brake.py]
- 修改ready_to_go信号的接收逻辑适配大负载机型
2. [APIs: do_current.py]
- 修改ready_to_go信号的接收逻辑适配大负载机型
- 调整单轴测试时间为35s适配大负载机型调整堵转电流持续时间15s适当减少测试时间
- 将act信号置为False的动作放在初始化增加程序健壮性

View File

@ -227,15 +227,16 @@ def run_rl(path, loadsel, hr, md, config_file, prj_file, result_dirs, w2t):
_response = execution('state.switch_auto', hr, w2t)
_response = execution('state.switch_motor_on', hr, w2t)
_response = execution('rl_task.run', hr, w2t, tasks=['brake', 'stop0_related'])
for i in range(3):
_t_start = time()
while True:
if md.read_ready_to_go() == 1:
md.write_act(True)
break
else:
sleep(1)
if (time() - _t_start) // 20 > 1:
w2t("20s内未收到机器人的运行信号需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
else:
w2t("未收到机器人的运行信号需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
sleep(1)
# 4. 第一次打开诊断曲线并执行采集8s之后触发软急停关闭曲线采集找出最大速度传递给RL程序最后清除相关记录
if count == 1:
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)

View File

@ -308,6 +308,8 @@ def run_rl(path, hr, md, loadsel, w2t):
_response = execution('diagnosis.open', hr, w2t, open=False, display_open=False)
md.trigger_estop()
md.reset_estop()
md.write_act(False)
sleep(1) # 让曲线彻底关闭
_response = execution('state.switch_manual', hr, w2t)
_response = execution('state.switch_motor_off', hr, w2t)
@ -334,19 +336,19 @@ def run_rl(path, hr, md, loadsel, w2t):
# 4. 开始运行程序单轴运行15s
_response = execution('rl_task.run', hr, w2t, tasks=['current'])
for i in range(3):
_t_start = time()
while True:
if md.read_ready_to_go() == 1:
md.write_act(True)
sleep(1)
md.write_act(False)
break
else:
sleep(1)
if (time() - _t_start) // 20 > 1:
w2t("20s内未收到机器人的运行信号需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
else:
w2t("未收到机器人的运行信号需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
sleep(1)
# 5. 打开诊断曲线,并执行采集
sleep(7) # 保证程序已经运行起来,其实主要是为了保持电流的采集而设定
sleep(10) # 保证程序已经运行起来,其实主要是为了保持电流的采集而设定
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)
display_pdo_params = [
{"name": "hw_joint_vel_feedback", "channel": 0},
@ -365,7 +367,9 @@ def run_rl(path, hr, md, loadsel, w2t):
]
_response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=display_pdo_params)
scenario_time = 0
if number < 6 or number > 8:
if number < 6:
sleep(35)
elif number > 8:
sleep(15)
else:
_t_start = time()