VWED_server/VWED任务模块接口文档/Modbus配置接口文档.md

300 lines
6.5 KiB
Markdown
Raw Permalink Normal View History

2025-07-14 10:29:37 +08:00
# Modbus配置接口文档
本文档描述了VWED系统中Modbus配置模块的API接口包括Modbus设备配置的添加、删除、修改、查询等功能。
## 1. 新增Modbus配置
### 接口描述
添加新的Modbus设备配置信息。
### 请求方式
- **HTTP方法**: POST
- **接口路径**: `/api/vwed-modbus-config/add`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| name | String | 是 | 配置名称 |
| ip | String | 是 | 设备IP地址 |
| port | Integer | 是 | 通信端口号 |
| slave_id | Integer | 是 | 从站ID |
| address_type | String | 是 | 地址类型("0X"-线圈寄存器, "1X"-离散输入寄存器, "3X"-输入寄存器, "4X"-保持寄存器) |
| address_number | Integer | 是 | 地址编号 |
| task_id | String | 否 | 关联的任务ID |
| target_value | Integer | 否 | 目标值 |
| reset_after_trigger | Boolean | 否 | 触发后是否重置默认为false |
| reset_signal_address | Integer | 否 | 重置信号地址 |
| reset_value | Integer | 否 | 重置值 |
| remark | String | 否 | 备注信息 |
| tenant_id | String | 否 | 租户ID |
### 请求示例
```json
{
"name": "测试Modbus配置",
"ip": "192.168.1.100",
"port": 502,
"slave_id": 1,
"address_type": "4X",
"address_number": 1000,
"target_value": 1,
"remark": "设备1号控制器"
}
```
### 响应参数
```json
{
"code": 200,
"message": "Modbus配置添加成功",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "测试Modbus配置"
}
}
```
## 2. 删除Modbus配置
### 接口描述
删除指定的Modbus配置信息软删除
### 请求方式
- **HTTP方法**: DELETE
- **接口路径**: `/api/vwed-modbus-config/{config_id}`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| config_id | String | 是 | 配置ID (URL路径参数) |
### 响应参数
```json
{
"code": 200,
"message": "Modbus配置删除成功",
"data": null
}
```
## 3. 修改Modbus配置
### 接口描述
修改已有的Modbus配置信息。
### 请求方式
- **HTTP方法**: PUT
- **接口路径**: `/api/vwed-modbus-config/{config_id}`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| config_id | String | 是 | 配置ID (URL路径参数) |
| name | String | 否 | 配置名称 |
| ip | String | 否 | 设备IP地址 |
| port | Integer | 否 | 通信端口号 |
| slave_id | Integer | 否 | 从站ID |
| address_type | String | 否 | 地址类型 |
| address_number | Integer | 否 | 地址编号 |
| task_id | String | 否 | 关联的任务ID |
| target_value | Integer | 否 | 目标值 |
| remark | String | 否 | 备注信息 |
### 请求示例
```json
{
"name": "更新后的配置名称",
"ip": "192.168.1.101",
"port": 503,
"remark": "已更新的备注信息"
}
```
### 响应参数
```json
{
"code": 200,
"message": "Modbus配置更新成功",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
```
## 4. 获取Modbus配置详情
### 接口描述
获取指定Modbus配置的详细信息。
### 请求方式
- **HTTP方法**: GET
- **接口路径**: `/api/vwed-modbus-config/{config_id}`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| config_id | String | 是 | 配置ID (URL路径参数) |
### 响应参数
```json
{
"code": 200,
"message": "获取Modbus配置详情成功",
"data": {
"name": "测试Modbus配置",
"ip": "192.168.1.100",
"port": 502,
"slave_id": 1,
"address_type": "4X",
"address_number": 1000,
"task_id": "b1b2c3d4-e5f6-7890-abcd-ef1234567890",
"target_value": 1,
"remark": "设备1号控制器"
}
}
```
## 5. 获取Modbus配置列表
### 接口描述
获取系统中所有Modbus配置的列表信息支持分页查询和条件筛选。
### 请求方式
- **HTTP方法**: GET
- **接口路径**: `/api/vwed-modbus-config/list`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| page | Integer | 否 | 页码默认为1 |
| size | Integer | 否 | 每页记录数默认为10 |
| name | String | 否 | 配置名称,用于筛选 |
| ip | String | 否 | 设备IP地址用于筛选 |
### 响应参数
```json
{
"code": 200,
"message": "获取Modbus配置列表成功",
"data": {
"records": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "测试Modbus配置1",
"ip": "192.168.1.100",
"port": 502,
"slave_id": 1,
"address_type": "4X",
"address_number": 1000,
"task_id": "b1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_name":"20",
"target_value": 1,
"remark": "设备1号控制器",
"status": 1,
"create_date": "2023-05-10 14:30:22"
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f123456789ab",
"name": "测试Modbus配置2",
"ip": "192.168.1.101",
"port": 503,
"slave_id": 2,
"address_type": "3X",
"address_number": 2000,
"task_id": "c1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_name":"20",
"target_value": 0,
"remark": "设备2号控制器",
"status": 1,
"create_date": "2023-05-11 10:45:33"
}
],
"total": 2,
"size": 10,
"current": 1
}
}
```
## 6. 测试Modbus连接
### 接口描述
测试与Modbus设备的连接是否正常。
### 请求方式
- **HTTP方法**: POST
- **接口路径**: `/api/vwed-modbus-config/test-connection`
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
|-------|------|-----|------|
| ip | String | 是 | 设备IP地址 |
| port | Integer | 是 | 通信端口号 |
| slave_id | Integer | 是 | 从站ID |
| address_type | String | 否 | 地址类型 |
| address_number | Integer | 否 | 地址编号 |
### 请求示例
```json
{
"ip": "192.168.1.100",
"port": 502,
"slave_id": 1,
"address_type": "4X",
"address_number": 1000
}
```
### 响应参数
```json
{
"code": 200,
"message": "Modbus连接测试成功",
"data": {
"connected": true,
"current_value": 12345
}
}
```
## 数据模型说明
### Modbus地址类型
| 类型值 | 说明 |
|-------|------|
| 0X | 线圈寄存器 |
| 1X | 离散输入寄存器 |
| 3X | 输入寄存器 |
| 4X | 保持寄存器 |
### 状态码说明
| 状态码 | 说明 |
|-------|------|
| 200 | 操作成功 |
| 400 | 请求参数错误 |
| 404 | 未找到指定资源 |
| 500 | 服务器内部错误 |
### 配置状态说明
| 状态值 | 说明 |
|-------|------|
| 1 | 启用 |
| 0 | 禁用 |