完善rokae自动化测试脚本工具,增加readme文件等
This commit is contained in:
		
							
								
								
									
										220
									
								
								rokae/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								rokae/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,220 @@
 | 
			
		||||
## 自动化测试工具脚本
 | 
			
		||||
 | 
			
		||||
### 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
 | 
			
		||||
		Reference in New Issue
	
	Block a user