Files
Projects/rokae/README.md

221 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 自动化测试工具脚本
### 0. 用前须知
1. 调用必须在rokae目录下执行
2. python3.13开发使用时需版本匹配并安装requirements.txt中的依赖库
### 1. socket通信支持xService
> #### **A. 调用方法示例**
```python
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. 调用方法示例**
```python
from codes import openapi
md = openapi.ModbusRequest()
md.r_switch_auto()
_ = md.w_sta_tcp_vel
print(_)
```
> #### **B. 目前支持**
自定义的寄存器读写操作以及98%以上的预置modbus功能码。
### 3. 外部通信
> #### **A. 调用方法示例**
```python
from codes import openapi
ec = openapi.EcRequest()
_ = ec.get_cart_pos
ec.close_reduced_mode()
```
> #### **B. 目前支持**
包括状态和控制操作覆盖98%以上的外部通信功能。
### 4. 文件传输
> #### **A. 调用方法示例**
```python
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. 调用方法示例**
```python
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. 调用方法示例**
```python
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. 调用方法示例**
```python
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