跳到主要内容

启停与复位

控制面端点。周期数据交换进行中调用 stop / reset / config/reload 会打断正在交换的应用关系。先 GET /api/status 确认 connected=false,再操作。接口本身不因此返回 4xx。


POST /api/start

启动从站。无请求体。已在运行则幂等成功。

授权复查未通过时 ok=falsemessage(AUTH)。无可用网口或数据面打开失败时进入 ConfigErrorok=false,原因见 message(与 GET /api/statusstatusMessage 同源)。

{ "ok": true, "message": "从站已启动", "errorCode": 0, "timestamp": "…" }
okmessage
true从站已启动
true从站已在运行 (重复启动, 已忽略)
false启动从站失败 (AUTH): 授权复查未通过, 请检查授权状态后重试
false从站未启动: …ConfigError
false启动从站失败: 从站启动未成功, 请检查服务日志获取详情

失败时 errorCode 为服务当前记录值(启动失败路径会落入协议栈返回码)。

POST /api/start HTTP/1.1
Host: 127.0.0.1
Content-Length: 0

POST /api/stop

软停止:停数据面,保留实例、句柄与绑卡。再次 start 复用,不重建。未运行也返回 ok=true。真销毁只在服务进程退出时发生。

{ "ok": true, "message": "从站已停止", "errorCode": 0, "timestamp": "…" }

内部错误时 ok=falsemessage 为通用文案,细节只进服务日志。


POST /api/reset

本地复位。控制器经 DCP Reset 触发时栈已自动处理,本端点是本机等价路径。

{ "mode": "communication" }
mode行为
communication软停 + 重启。应用参数记录保留
factory销毁实例 + 全新启动。用户区记录清空。通讯参数 / IP 仍由控制器 DCP ResetToFactory 处理

未知 mode 或缺字段 → HTTP 400。

成功示例:

{
"ok": true,
"mode": "communication",
"message": "通信复位已执行: 从站已重启 (应用参数记录保留)",
"timestamp": "…"
}

POST /api/config/reload

重读 appsettings.json + DARRA_PNS_* 环境变量 + 运行配置 XML,写回服务运行配置。下次启动从站才对栈生效,不热切运行中的应用关系。未运行时立即按新尺寸对齐过程映像窗口。

密钥 Api:ApiKey 不随本端点热更新。

{
"ok": true,
"message": "配置已重载并写入服务运行配置 (下次启动从站生效); 对运行中栈生效需重启服务",
"reloadedAt": "…"
}

解析失败:

{
"ok": false,
"message": "配置重载失败: 运行配置 XML 解析未通过, 请检查 GUI 导出的配置后重试",
"reloadedAt": "…"
}

errorCode 恒为 0(配置解析无协议栈返回码)。