4.8 报警信息
说明
Alarm 模块提供对机器人报警信息的读取、复位和查询功能,用于监控和处理机器人运行时可能出现的异常情况。通过 alarm 接口可以查询当前是否有活动报警、获取所有报警信息、复位报警等操作,帮助开发者及时发现并处理机器人异常状态。
4.8.1 复位报警
| 方法名 | alarm.reset() -> StatusCodeEnum |
|---|---|
| 描述 | 复位当前错误 / 报警 |
| 请求参数 | 无参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.8.2 获取所有活动报警
| 方法名 | alarm.get_all_active_alarms( language : LanguageType) -> tuple[list, StatusCodeEnum] |
|---|---|
| 描述 | 获取所有当前活动的报警 |
| 请求参数 | language : LanguageType 输出语言,可选: LanguageType.English 、 LanguageType.Chinese |
| 返回值 | list: 活动报警条目列表 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
4.8.3 获取最高优先级报警
| 方法名 | alarm.get_top_alarm() -> tuple[ROBOT_ALARM, StatusCodeEnum] |
|---|---|
| 描述 | 获取当前最高优先级的报警 |
| 请求参数 | 无参数 |
| 返回值 | ROBOT_ALARM : 最高优先级报警 StatusCodeEnum: 函数执行结果 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.0.0+ 工业 (Bronze): v7.5.0.0+ |
示例代码
py
#!python
"""
Copyright © 2016 Agilebot Robotics Ltd. All rights reserved.
Instruction: 告警功能使用示例 / Example of using the alarm function
"""
from Agilebot import Arm, StatusCodeEnum
# [ZH] 初始化捷勃特机器人
# [EN] Initialize the robot
arm = Arm()
# [ZH] 连接捷勃特机器人
# [EN] Connect to the robot
ret = arm.connect("10.27.1.254")
if ret == StatusCodeEnum.OK:
print("机器人连接成功 / Robot connected successfully")
else:
print(f"机器人连接失败,错误代码 / Robot connection failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取所有的活动的报警
# [EN] Get all active alarms
alarms, ret = arm.alarm.get_all_active_alarms()
if ret == StatusCodeEnum.OK:
print("获取报警信息成功 / Get alarm information successfully")
for alarm in alarms:
print(alarm)
else:
print(f"获取报警信息失败,错误代码 / Failed to get alarm information, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 获取所有的活动的报警
# [EN] Get all active alarms
alarm, ret = arm.alarm.get_top_alarm()
if ret == StatusCodeEnum.OK:
print("获取报警信息成功 / Get alarm information successfully")
for alarm in alarm:
print(alarm)
else:
print(f"获取报警信息失败,错误代码 / Failed to get alarm information, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 重置报警
# [EN] Reset alarms
ret = arm.alarm.reset()
if ret == StatusCodeEnum.OK:
print("报警重置成功 / Alarm reset successfully")
else:
print(f"报警重置失败,错误代码 / Alarm reset failed, error code: {ret.errmsg}")
arm.disconnect()
exit(1)
# [ZH] 断开捷勃特机器人连接
# [EN] Disconnect from the robot
arm.disconnect()
print("机器人断开连接成功 / Robot disconnected successfully")