Skip to content

OpenPlant-MCP 使用说明书

1. 项目概述

OpenPlant-MCP 是一个基于 MCP (Model Context Protocol) 的 OpenPlant 工业数据查询代理工具。该项目为 AI 助手提供了与 OpenPlant 工业自动化系统进行交互的能力,使 AI 能够查询实时数据、测点静态信息和历史数据。通过标准化的 MCP 协议,实现了 AI 与工业数据系统的无缝集成。

2. 使用场景

2.1 工业数据分析

  • 实时监控:AI 助手可以实时查询工业设备的运行状态和参数
  • 趋势分析:通过历史数据查询,分析设备运行趋势和性能变化
  • 故障诊断:结合实时和历史数据,协助进行设备故障诊断

2.2 智能运维

  • 预测性维护:基于历史数据模式,预测设备维护需求
  • 智能报表生成:基于历史数据查询结果,利用AI驱动的可视化引擎,自动生成多维度数据报表,支持自定义图表类型和分析维度,显著提升数据洞察效率和决策支持能力
  • 实时异常监测:采用智能算法对实时数据流进行持续监控,通过阈值分析、趋势预测和模式识别技术,实现异常状态的早期预警和快速响应
  • 报告生成:自动生成设备运行报告和数据分析报告

2.3 决策支持

  • 生产优化:通过数据分析,优化生产流程和参数设置
  • 能耗管理:监控和分析能源消耗数据,提供节能建议
  • 质量控制:实时监控产品质量相关参数

3. 作用和意义

3.1 技术价值

  • 标准化接口:提供标准化的 MCP 协议接口,便于 AI 系统集成
  • 数据互通:打通 AI 与工业数据系统之间的数据壁垒
  • 实时响应:支持实时数据查询,满足快速响应需求

3.2 业务价值

  • 提升效率:通过 AI 辅助,提高数据分析和决策效率
  • 降低成本:减少人工数据查询和分析的工作量
  • 增强洞察:利用 AI 能力,发现数据中的深层模式和洞察

3.3 战略意义

  • 数字化转型:推动工业企业的数字化和智能化转型
  • 竞争优势:通过数据驱动的决策,提升企业竞争力
  • 创新驱动:为工业 AI 应用创新提供基础设施支持

4. 核心功能

4.1 测点静态信息查询 (point_static_info_query)

  • 功能描述:查询测点的静态配置信息
  • 输入参数
    • keyword:关键字模糊搜索(覆盖点名、别名、描述)
    • page:页码(默认为1)
    • size:每页数量(默认为20)
  • 返回数据
    • 测点详细配置信息,包括ID、类型、量程、报警限值等
      8月29日.gif

4.2 实时数据查询 (point_realtime_query)

  • 功能描述:查询指定测点的实时数值
  • 输入参数
    • gn:测点全局名称,格式为 XX.XX.XX
  • 返回数据
    • 测点ID、全局名称、实时值、状态、时间戳
      8月29日(1).gif

4.3 历史数据查询 (point_history_values_query)

  • 功能描述:查询指定时间范围内的历史数据
  • 输入参数
    • gn:测点全局名称
    • begin:开始时间(格式:YYYY-MM-DD HH:MM:SS)
    • end:结束时间(格式:YYYY-MM-DD HH:MM:SS)
    • mode:查询模式,支持以下模式:
      • raw:原始值 - 返回原始采集的数据点
      • arch:原始值 - 与raw相同,返回原始数据
      • span:等间距 - 按指定时间间隔返回数据点
      • plot:绘图值 - 适合绘图显示的数据点
      • flow:流量值 - 流量相关的计算值
      • max:最大值 - 指定时间间隔内的最大值
      • min:最小值 - 指定时间间隔内的最小值
      • avg:面积平均值 - 基于面积加权的平均值
      • mean:算术平均值 - 简单算术平均值
      • stdev:标准方差 - 数据的标准偏差
      • sum:算术和 - 指定时间间隔内的数值总和
    • interval:查询间隔(秒)
    • page:页码
    • size:每页数量
  • 返回数据
    • 历史数据记录,包括时间戳、数值、状态等
      8月29日(2).gif

5. 安装配置

5.1 环境要求

  • Go 1.24.2 或更高版本
  • OpenPlant 系统访问权限
  • 网络连接到 OpenPlant 服务器

5.2 依赖安装

bash
go mod download

5.3 编译构建

bash
go build -o openplant-mcp main.go

6. 使用方法

6.1 命令行参数

bash
./openplant-mcp [选项]

选项:
  -ip string        OpenPlant 服务器地址 (默认: "127.0.0.1")
  -port int         OpenPlant 服务器端口 (默认: 8200)
  -user string      用户名 (默认: "sis")
  -password string  密码 (默认: "openplant")

6.2 启动示例

bash
# 使用默认配置启动
./openplant-mcp

# 指定服务器地址和端口
./openplant-mcp -ip 192.168.1.100 -port 8200 -user admin -password mypassword

6.3 MCP 集成

该工具作为 MCP 服务器运行,通过标准输入输出与 MCP 客户端通信。可以集成到支持 MCP 协议的 AI 助手中,如 Claude Desktop 、Trae等。

7. API 接口说明

7.1 实时数据查询接口

json
{
  "method": "tools/call",
  "params": {
    "name": "point_realtime_query",
    "arguments": {
      "gn": "PLANT.UNIT1.TEMP01"
    }
  }
}

响应示例:

json
[
  {
    "ID": 1024,
    "GN": "PLANT.UNIT1.TEMP01",
    "AV": 85.5,
    "DS": 0,
    "TM": "2024-01-15 14:30:25"
  }
]

7.2 静态信息查询接口

json
{
  "method": "tools/call",
  "params": {
    "name": "point_static_info_query",
    "arguments": {
      "keyword": "温度",
      "page": 1,
      "size": 10
    }
  }
}

7.3 历史数据查询接口

json
{
  "method": "tools/call",
  "params": {
    "name": "point_history_values_query",
    "arguments": {
      "gn": "PLANT.UNIT1.TEMP01",
      "begin": "2024-01-15 00:00:00",
      "end": "2024-01-15 23:59:59",
      "mode": "raw",
      "interval": 60,
      "page": 1,
      "size": 100
    }
  }
}

8. 数据模型

8.1 实时数据结构

go
type Realtime struct {
    ID int32       // 测点ID
    GN string      // 测点全局名称
    AV interface{} // 测点实时值
    DS int16       // 测点状态
    TM string      // 测点时间
}

8.2 测点静态信息结构

go
type OPPoint struct {
    ID   int32   // 测点ID
    RT   int32   // 点的类型
    PN   string  // 点名
    AN   string  // 别名
    ED   string  // 描述
    PT   int32   // 点的来源
    // ... 其他字段
}

9. 错误处理

9.1 常见错误

  • 连接失败:检查网络连接和服务器地址
  • 认证失败:验证用户名和密码
  • 测点不存在:确认测点全局名称格式正确
  • 时间格式错误:使用正确的时间格式 YYYY-MM-DD HH:MM:SS

9.2 调试建议

  • 查看控制台输出的错误信息
  • 验证 OpenPlant 服务器状态
  • 检查测点配置和权限

10. 最佳实践

10.1 性能优化

  • 合理设置分页参数,避免一次查询过多数据
  • 历史数据查询时,选择合适的时间范围和间隔
  • 使用适当的查询模式以获得最佳性能

10.2 安全建议

  • 使用强密码和安全的网络连接
  • 定期更新认证凭据
  • 限制网络访问权限

10.3 监控建议

  • 监控服务运行状态
  • 记录查询日志以便问题排查
  • 定期检查数据质量和完整性