Files
Projects/rokae/README.md

4.7 KiB
Raw Blame History

自动化测试工具脚本

0. 用前须知

  1. 调用必须在rokae目录下执行
  2. python3.13开发使用时需版本匹配并安装requirements.txt中的依赖库

1. socket通信支持xService

A. 调用方法示例

from codes import openapi
import time

hr = openapi.HmiRequest()
time.sleep(2)
hr.close()
msg_id = hr.exec_cmd("controller.get_params")
record = hr.get_from_id(msg_id)
print(f"version = {eval(record)['data']['version']}")

B. 目前支持(后续可按需增加)

collision.get_params
collision.set_params
controller.get_params
controller.heart
controller.reboot
controller.set_params
device.get_params
diagnosis.get_params
diagnosis.open
diagnosis.save
diagnosis.set_params
drag.get_params
drag.set_params
fieldbus_device.get_params
fieldbus_device.load_cfg
fieldbus_device.set_params
io_device.load_cfg
jog.get_params
jog.set_params
jog.start
log_code.data.code_list
log_code.data
modbus.get_params
modbus.get_values
modbus.load_cfg
modbus.set_params
move.get_joint_pos
move.get_monitor_cfg
move.get_params
move.get_pos
move.get_quickstop_distance
move.get_quickturn_pos
move.quick_turn
move.set_monitor_cfg
move.set_params
move.set_quickstop_distance
move.set_quickturn_pos
move.stop
overview.get_autoload
overview.get_cur_prj
overview.reload
overview.set_autoload
register.set_value
rl_task.pp_to_main
rl_task.run
rl_task.set_run_params
rl_task.stop
safety.safety_area.overall_enable
safety.safety_area.safety_area_enable
safety.safety_area.set_param
safety.safety_area.signal_enable
safety_area_data
servo.clear_alarm
socket.get_params
socket.set_params
soft_limit.get_params
soft_limit.set_params
state.get_state
state.get_tp_mode
state.set_tp_mode
state.switch_auto
state.switch_manual
state.switch_motor_off
state.switch_motor_on
system_io.query_configuration
system_io.query_event_cfg
system_io.update_configuration

2. modbus通信

A. 调用方法示例

from codes import openapi

md = openapi.ModbusRequest()
md.r_switch_auto()
_ = md.w_sta_tcp_vel
print(_)

B. 目前支持

自定义的寄存器读写操作以及98%以上的预置modbus功能码。

3. 外部通信

A. 调用方法示例

from codes import openapi

ec = openapi.EcRequest()
_ = ec.get_cart_pos
ec.close_reduced_mode()

B. 目前支持

包括状态和控制操作覆盖98%以上的外部通信功能。

4. 文件传输

A. 调用方法示例

from codes import openapi

pd = openapi.PreDos()
downloads = "C:/Users/Administrator/Downloads"
pd.pull_prj_from_server("aio", downloads)
local_prj = downloads + "/aio.zip"
pd.push_prj_to_server(local_prj)

local_file = downloads + "/aio.txt"
server_file = "/tmp/aio.txt"
pd.push_file_to_server(local_file, server_file)
pd.pull_file_from_server(server_file, local_file)

B. 目前支持除了prj_name为工程名其他均为对应系统下的绝对路径

  • push_prj_to_server(prj_file)
  • pull_prj_from_server(prj_name, local_prj_path)
  • push_file_to_server(local_file, server_file)
  • pull_file_from_server(server_file, local_file)

5. 初始化以及固件更新

A. 调用方法示例

from codes import openapi

ri = openapi.RobotInit()
ri.robot_init()
ri.fw_updater("C:/Users/Administrator/Downloads/FW/v3.1.1.rpa")
ri.fw_updater("C:/Users/Administrator/Downloads/XMS3-R580-W4G3C2_ME_AE_SS_xC.v3.1.0.R0.rpa")

B. 目前支持

  • robot_init() # 初始化机器人新建modbus设备并配置寄存器文件打开IO设备中的modbus设备
  • fw_updater(fw_file) # 目前仅测试支持机型文件和控制器

6. 升级协议

A. 调用方法示例

from codes import openapi

ur = openapi.UpgradeRequest()
ur.version_query()
ur.robot_reboot()

B. 目前支持

  • erase_cfg
  • clear_rubbish
  • soft_reboot
  • version_query
  • robot_reboot
  • backup_origin
  • origin_recovery

7. 生成运动轨迹

A. 调用方法示例

from codes import openapi

hr = openapi.HmiRequest()
pd = openapi.PreDos()            # 如下三行首次运行时,必须打开
ri = openapi.RobotInit(hr, pd)   # 非首次重复运行时,可以注释
ri.robot_init()                  # 注释后可以节省运行时间
md = openapi.ModbusRequest()

pt = openapi.PlotTrajectory(hr, md, prj_name="arc_test_M", tasks=["task0", ], curve_name="hw_cart_pos_feedback_tcp_in_world")
pt.draw_traj()

B. 目前支持

自动保存3D空间运动曲线图到本地的trajectory.html文件

  • hw_cart_pos_feedback_motorside
  • hw_cart_pos_feedback_linkside
  • hw_cart_pos_feedback_encoder_tcp_in_world
  • hw_cart_pos_feedback_flan_in_world
  • hw_cart_pos_feedback_tcp_in_world