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