Skip to Content
Docs其他1002 OPCDA部署服务说明手册

版本: v1.0 修改日期: 2026-05-29 本文介绍 opc-cli.exeopcapi.exe 两个命令行工具的使用方法,帮助实施人员快速完成 OPC Server 的标签浏览、实时值读写与 HTTP API 服务部署。适用于与 Graybox Simulator、KEPServerEX 等 OPC Server 对接的场景。

💡 环境准备可参考:<viSCADA - OPCDA 协议数据对接配置.md>

1 环境准备

1.1 文件准备

opc-cli.exeopcapi.exe 放在同一文件夹中(例如在桌面新建 opc_tools 目录)。

1.2 OPC Server 安装与启动

ℹ️ 若现场已部署 OPC Server,可跳过本节。

  1. 安装 Graybox Simulator、KEPServerEX 或其他 OPC Server,并确保可正常运行;
  2. 通过 OPC Server 官方工具检查服务状态,记录 OPC Server 名称备用。

1.3 打开命令行窗口

在存放 exe 文件的文件夹中,选择以下任一方式:

方式操作
方式一按住 Shift 键,点击右键,选择「在此处打开命令窗口」
方式二在资源管理器路径栏输入 cmd 后回车

2 opc-cli 基础操作

opc-cli.exe 用于查询 OPC Server、浏览标签、读取实时值。

2.1 查询本机 OPC Server 列表

opc-cli.exe list localhost

命令输出本机可用的 OPC Server 名称,建议记录备用。

2.2 浏览指定 OPC Server 标签

opc-cli.exe browse localhost Graybox.Simulator.1 textual

参数说明:

参数示例值说明
主机地址localhost本机使用 localhost,远程使用主机 IP
Server 名称Graybox.Simulator.1由 2.1 查询得到
输出格式textual文本格式输出

2.3 读取标签值

opc-cli.exe read localhost Graybox.Simulator.1 options.sinfreq numeric.sin.float

参数中第四位及之后为需读取的标签名,可一次读取多个。输出包含标签名、实时值与时间戳。

3 部署 OPC API 服务

opcapi.exe 将 OPC 数据通过 HTTP API 对外提供,便于其他系统以 REST 方式访问。

3.1 创建配置文件 api.conf

exe 目录下新建 api.conf,内容参考如下:

[config] allow_write = false allow_add = true allow_remove = true all_tags = true [opc] server = "Graybox.Simulator.1" nodes = [ "localhost" ] tags = [ "numeric.sin.float", "numeric.saw.float" ]

参数说明:

参数默认值说明
allow_writefalse是否允许写入,默认禁止,安全推荐
allow_addtrue是否允许新增标签
allow_removetrue是否允许移除标签
all_tagstrue是否读取全部标签(而非仅 tags 设定项)
server目标 OPC Server 名称
nodes主机列表,多主机写 [ "localhost", "192.168.1.101" ]
tags标签列表,可手动补充其他已知标签

⚠️ 文件保存时请确认编码为 UTF-8,避免启动时配置解析失败。

3.2 启动 API 服务

opcapi.exe -conf api.conf -addr ":4444"

参数说明:

参数说明
-conf指定配置文件名
-addr监听端口,若被占用可改为 :5555 等其他端口

启动成功后终端显示「服务已启动」。若遇报错,依次检查路径、端口与配置项。

💡 执行 opcapi.exe -h 可查看所有参数说明。

4 调用 HTTP API

API 服务启动后,可通过 curl 命令或浏览器访问以下端点。

4.1 接口速查

端点方法用途说明
/tagsGET获取所有标签列表返回 JSON 格式标签清单
/readGET读取指定标签值通过 tag 参数传入标签名
/writePOST写入标签值allow_write = true

4.2 获取所有标签列表

命令行:

curl -X GET "http://localhost:4444/tags"

浏览器:直接访问 http://localhost:4444/tags ,返回 JSON 结果,可直接复制需要的标签名。

4.3 读取指定标签值

curl "http://localhost:4444/read?tag=numeric.sin.float"

返回示例:

{ "tag": "numeric.sin.float", "value": 23.5, "timestamp": "2025-12-15T15:29:00Z" }

4.4 写入标签值

写入操作前需启用写入权限:

  1. 编辑 api.conf,将 allow_write 设为 true;

  2. 重启 API 服务使配置生效;

  3. 执行写入命令:

    curl -X POST "http://localhost:4444/write?tag=numeric.sin.float&value=123.45"

参数:tag 为标签名,value 为写入值。

⚠️ 生产环境建议关闭写入功能,或通过内网防火墙、白名单 IP 等方式严格限制访问来源。

5 常见问题

问题可能原因处理建议
API 启动端口冲突:4444 被占用改用 -addr ":5555" 或其他空闲端口
启动报错无法解析配置api.conf 编码非 UTF-8以 UTF-8 重新保存配置文件
写入接口返回权限错误allow_write = false修改配置后重启服务
curl 返回空或连接失败服务未启动或端口不通确认服务进程、防火墙与端口状态
无法列出 OPC Server服务未运行或主机不可达检查 OPC Server 运行状态,远程时核对 IP

6 命令速查

场景命令
列出本机 OPC Serveropc-cli.exe list localhost
浏览主机标签opc-cli.exe browse localhost Graybox.Simulator.1 textual
读取标签值(CLI)opc-cli.exe read localhost Graybox.Simulator.1 <tag>
启动 API 服务opcapi.exe -conf api.conf -addr ":4444"
查询所有标签curl "http://localhost:4444/tags"
读取标签值(API)curl "http://localhost:4444/read?tag=<tag>"
写入标签值(API)curl -X POST "http://localhost:4444/write?tag=<tag>&value=<value>"

7 参考资料

Last updated on