跳到主要内容

Web API

本机 HTTP 接口,供配置工具、语言 SDK 的服务模式、现场排障页使用。真正用法是西门子式诊断:先看运行态、通道诊断、报警和过程数据质量,再按需读写过程数据。结构体映射只是辅助,不是主路径。

品牌Darra Profinet Slave
产品PROFINET IO Device
监听仅本机回环;端口固定、不可配置(数字见 GET /api/infoport
JSONcamelCase;枚举为字符串
鉴权回环默认放行。配置了 Api:ApiKey 后,所有请求必须带 X-Darra-PnS-Api-Key
请求体上限64 KB(超限 HTTP 413)
授权无授权端点。授权只在配置工具注册 + 服务内部复查;未授权时 POST /api/start 失败

成功响应按各端点结构(启停带 ok),叠加 success。失败统一:

{ "success": false, "message": "…", "code": 400, "errorCode": 0, "timestamp": "…" }
字段说明
success恒为 false
code与 HTTP 状态码一致
message事实描述。内部异常不进响应,查本机服务日志
errorCode协议栈 / 包装层返回码;运行态失败取服务当前错误码;纯客户端错误(400 / 401 / 404 / 413)为 0
timestamp本地时间

GET / 返回基础观测页(只看状态 / 过程数据,禁止配置)。JSON 服务信息在 GET /api/info


端点总表

方法路径用途
GET/本页基础观测页
GET/api/info本页服务信息 + 端点清单
GET/api/status运行态运行态快照
GET/api/diag诊断诊断计数器 / AR / 事件簿
POST/api/diag诊断标准通道诊断 add / update / remove
GET/api/alarms报警活动报警
GET/api/alarms/history报警报警历史(最近 500 条,时间升序)
POST/api/alarms/ack报警确认单条活动报警
POST/api/alarms/ack-all报警确认全部活动报警
POST/api/alarm报警发送过程报警(设备→控制器)
GET/api/io过程数据过程映像当前值
POST/api/io过程数据写设备→控制器区(部分覆盖)
GET/api/im标识与记录I&M 设备标识
GET/api/records标识与记录用户区记录(Index 0x0000–0x7FFF)
POST/api/start启停与复位启动从站
POST/api/stop启停与复位停止从站(软停)
POST/api/reset启停与复位复位
POST/api/config/reload启停与复位重载运行配置

语言 SDK 也可以转发到本接口。用 HTTP 轮询过程数据只适合观测或一次性写入。


鉴权

未配置 Api:ApiKey:只接受本机回环。服务本身只监听回环,此分支为双保险。

配置了密钥后,所有请求(含 GET /api/info)必须带:

X-Darra-PnS-Api-Key: <密钥>

缺头或不匹配 → HTTP 401。比较为恒定时间。POST /api/config/reload 热更新已加载的密钥,改密钥需重启服务。


GET /api/info

服务存活探测 + 端点清单。

{
"serviceName": "DarraPnSService",
"version": "1.0.0",
"endpoints": [
"GET / (Web 前端)",
"GET /api/info",
"GET /api/status"
]
}
字段说明
serviceNameWindows 服务名
version产品版本
port固定监听端口(整数,不可配置)。以现场响应为准,不要在工程里写死
endpoints已注册端点清单

GET /

返回内嵌观测页(状态 / 过程数据查看 + 输出区基础写入)。静态页缺失时回退为与 GET /api/info 相同的 JSON,保证存活探测不丢。


调用约定

  • 请求体超过 64 KB → HTTP 413。
  • 未知路径 / 方法不对 → HTTP 404,message 含方法与路径。
  • 周期数据交换进行中调用 POST /api/stop / POST /api/reset / POST /api/config/reload 会打断正在交换的应用关系。先等控制器断开(GET /api/statusconnected=false),再停、复位或重载。接口本身不因此返回 4xx。
  • POST /api/start、写过程数据、诊断、报警不受上条限制。