Skip to content

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.EnglishLanguageType.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+

示例代码

alarm.py
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")