VWED_server/VWED任务模块接口文档/Modbus配置接口文档.md
2025-07-14 10:29:37 +08:00

300 lines
6.5 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.

# 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 | 禁用 |