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:
@ -132,7 +132,7 @@ pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/A
|
|||||||
|
|
||||||
> **需要注意的点**
|
> **需要注意的点**
|
||||||
|
|
||||||
1. 使用之前需要手动修改!!负载信息!!点位信息!!,确保所有点位不会发生撞击之后,再进行自动化测试
|
1. 【重要】使用之前需要手动修改!!负载信息!!点位信息!!,确保所有点位不会发生撞击,确保所有程序正常运行之后,导出工程,再进行自动化测试
|
||||||
2. 工程文件不能手动重命名,需要重命名存档,可以导入HMI,然后另存为
|
2. 工程文件不能手动重命名,需要重命名存档,可以导入HMI,然后另存为
|
||||||
3. 务必正确填写configs.xlsx中的Target页面,A1单元格可以选择正负方向急停,但不完全保证100%,大概有95%左右的准确度
|
3. 务必正确填写configs.xlsx中的Target页面,A1单元格可以选择正负方向急停,但不完全保证100%,大概有95%左右的准确度
|
||||||
4. 由于xCore系统问题,运行过程中可能会出现机器人宕机问题,如果遇到,可以手动重启控制柜,重新运行
|
4. 由于xCore系统问题,运行过程中可能会出现机器人宕机问题,如果遇到,可以手动重启控制柜,重新运行
|
||||||
@ -140,6 +140,8 @@ pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/A
|
|||||||
6. 运行自动化程序之前,确保机器处于正常状态,无故障,未触发急停
|
6. 运行自动化程序之前,确保机器处于正常状态,无故障,未触发急停
|
||||||
7. 需要额外硬件接线,详细参考configs.xlsx中急停接线图sheet页
|
7. 需要额外硬件接线,详细参考configs.xlsx中急停接线图sheet页
|
||||||
8. 注意观察二轴100%臂展时,是否可以获取到正确的数据
|
8. 注意观察二轴100%臂展时,是否可以获取到正确的数据
|
||||||
|
9. 将autotest.xml导入到寄存器,并新建一个modbus,命名为autotest
|
||||||
|
10. 针对五轴机型,六轴数据可以填写1-5轴任意一轴的点位信息
|
||||||
|
|
||||||
#### 6) 电机电流自动化测试
|
#### 6) 电机电流自动化测试
|
||||||
|
|
||||||
@ -462,3 +464,12 @@ v0.1.9.1(2024/07/12)
|
|||||||
3. [APIs: openapi.py]
|
3. [APIs: openapi.py]
|
||||||
- modbus类新增指示政府方向急停的信号pon,将modbus类入参中的tab_name删除,并修改tab_name的值为'openapi'
|
- modbus类新增指示政府方向急停的信号pon,将modbus类入参中的tab_name删除,并修改tab_name的值为'openapi'
|
||||||
- socket类种修改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的动作放在初始化,增加程序健壮性
|
||||||
|
|
||||||
|
@ -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_auto', hr, w2t)
|
||||||
_response = execution('state.switch_motor_on', hr, w2t)
|
_response = execution('state.switch_motor_on', hr, w2t)
|
||||||
_response = execution('rl_task.run', hr, w2t, tasks=['brake', 'stop0_related'])
|
_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:
|
if md.read_ready_to_go() == 1:
|
||||||
md.write_act(True)
|
md.write_act(True)
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
sleep(1)
|
if (time() - _t_start) // 20 > 1:
|
||||||
|
w2t("20s内未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
|
||||||
else:
|
else:
|
||||||
w2t("未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
|
sleep(1)
|
||||||
|
|
||||||
# 4. 第一次打开诊断曲线,并执行采集8s,之后触发软急停,关闭曲线采集,找出最大速度,传递给RL程序,最后清除相关记录
|
# 4. 第一次打开诊断曲线,并执行采集8s,之后触发软急停,关闭曲线采集,找出最大速度,传递给RL程序,最后清除相关记录
|
||||||
if count == 1:
|
if count == 1:
|
||||||
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)
|
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)
|
||||||
|
@ -308,6 +308,8 @@ def run_rl(path, hr, md, loadsel, w2t):
|
|||||||
_response = execution('diagnosis.open', hr, w2t, open=False, display_open=False)
|
_response = execution('diagnosis.open', hr, w2t, open=False, display_open=False)
|
||||||
md.trigger_estop()
|
md.trigger_estop()
|
||||||
md.reset_estop()
|
md.reset_estop()
|
||||||
|
md.write_act(False)
|
||||||
|
sleep(1) # 让曲线彻底关闭
|
||||||
_response = execution('state.switch_manual', hr, w2t)
|
_response = execution('state.switch_manual', hr, w2t)
|
||||||
_response = execution('state.switch_motor_off', hr, w2t)
|
_response = execution('state.switch_motor_off', hr, w2t)
|
||||||
|
|
||||||
@ -334,19 +336,19 @@ def run_rl(path, hr, md, loadsel, w2t):
|
|||||||
|
|
||||||
# 4. 开始运行程序,单轴运行15s
|
# 4. 开始运行程序,单轴运行15s
|
||||||
_response = execution('rl_task.run', hr, w2t, tasks=['current'])
|
_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:
|
if md.read_ready_to_go() == 1:
|
||||||
md.write_act(True)
|
md.write_act(True)
|
||||||
sleep(1)
|
|
||||||
md.write_act(False)
|
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
sleep(1)
|
if (time() - _t_start) // 20 > 1:
|
||||||
|
w2t("20s内未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
|
||||||
else:
|
else:
|
||||||
w2t("未收到机器人的运行信号,需要确认RL程序编写正确并正常执行...", 0, 111, 'red', 'Automatic Test')
|
sleep(1)
|
||||||
|
|
||||||
# 5. 打开诊断曲线,并执行采集
|
# 5. 打开诊断曲线,并执行采集
|
||||||
sleep(7) # 保证程序已经运行起来,其实主要是为了保持电流的采集而设定
|
sleep(10) # 保证程序已经运行起来,其实主要是为了保持电流的采集而设定
|
||||||
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)
|
_response = execution('diagnosis.open', hr, w2t, open=True, display_open=True)
|
||||||
display_pdo_params = [
|
display_pdo_params = [
|
||||||
{"name": "hw_joint_vel_feedback", "channel": 0},
|
{"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)
|
_response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=display_pdo_params)
|
||||||
scenario_time = 0
|
scenario_time = 0
|
||||||
if number < 6 or number > 8:
|
if number < 6:
|
||||||
|
sleep(35)
|
||||||
|
elif number > 8:
|
||||||
sleep(15)
|
sleep(15)
|
||||||
else:
|
else:
|
||||||
_t_start = time()
|
_t_start = time()
|
||||||
|
Reference in New Issue
Block a user