跳到主要内容

运行态

GET /api/status 是诊断入口。先看 state / connected / alarmCount,再决定要不要打开 诊断报警

GET /api/status HTTP/1.1
Host: 127.0.0.1

字段

字段说明
serviceNameWindows 服务名(DarraPnSService
version产品版本
state见下表
connected是否已与 IO 控制器建立周期数据交换
everConnected是否曾经连接过。待机 = false;掉线后仍为 true
errorCode最近错误码(0 = 无)
statusMessage状态详情。ConfigError 时带原因;正常态为空
alarmCount / criticalAlarmCount活动报警数 / 其中 Critical 数
ioEpoch过程映像世代(每次发布 +1,用来判断数据是否在流动)
masterAssignedIp / masterAssignedMask / masterAssignedGateway控制器经 DCP Set 分配的地址(空 = 未分配 / 从站未启动)
masterStationName控制器分配的站点名
dcpIpApplied分配值是否已应用到本机
dcpIpApplyMessage应用结果(成功 = "已应用";失败 = 原因;空 = 尚无变化)
timestamp快照本地时间

state

服务状态机只落下列值(序列化为字符串):

含义
Unknown未初始化
Stopped已停止或初始化失败
Initialized已初始化,等待控制器连接
ConfigError配置 / 数据面降级(无可用网口或数据面打开失败)。进程仍存活,控制面可用。原因见 statusMessage
DataExchange周期数据交换中
Aborted连接被控制器中止

connected=true 对应正在交换。判别待机与掉线:everConnected=false 是待机;everConnected=trueconnected=false 是曾连接后断开。


示例

{
"serviceName": "DarraPnSService",
"version": "1.0.0",
"state": "DataExchange",
"connected": true,
"errorCode": 0,
"ioEpoch": 1204,
"criticalAlarmCount": 0,
"alarmCount": 0,
"timestamp": "…",
"everConnected": true,
"statusMessage": "",
"masterAssignedIp": "192.168.0.10",
"masterAssignedMask": "255.255.255.0",
"masterAssignedGateway": "0.0.0.0",
"masterStationName": "darra-pns-slave",
"dcpIpApplied": true,
"dcpIpApplyMessage": "已应用"
}

ConfigError 恢复路径:检查网卡 / 驱动 → POST /api/config/reloadPOST /api/start