CT 检测
CT检测分为三个动作,分别对应三个API接口;
注意 该功能仅有下面两个场景可以使用
- 主从机系统中的主机
- 三相单机系统
动作1: 获取前置逆变器状态,判断是否满足CT检测要求
请求案例
curl --location -g '{{EU}}/device/getInerterBMSMeterStatus?sn=Z112200109XXX04A' \
--header 'Token: {{TOKEN}}' \
返回数据
{
"errorCode": 0,
"info": null,
"body": {
"meterStatus": 1,
"checking": 0,
"meterConnected": 1,
"faultArmFlag2": 0,
"deviceStatus": 2
},
"successful": true
}
返回数据解释
① deviceStatus
设备工作状态:是否满足继续检测的要求
状态码 | 状态描述 | 是否通过检测 |
---|---|---|
0 | 待机 | 否 |
1 | 待机 | 否 |
2 | 正常并网 | 通过 |
3 | 故障 | 否 |
4 | 设备升级 | 否 |
5 | 离网发电 | 通过 |
-1 | 设备离线 | 否 |
② faultArmFlag2
电池通讯状态:是否满足继续检测的要求,这里是通过故障告警来判断的
状态码 | 状态描述 | 是否通过检测 |
---|---|---|
1 | 告警,BMS通讯异常 | 否 |
0 | 无告警,通讯正常 | 通过 |
③ meterStatus
电表接入状态:是否满足继续检测的要求
状态码 | 状态描述 | 是否通过检测 |
---|---|---|
1 | 电表接入正常 | 通过 |
0 | 电表接入异常 | 否 |
④ checking
是否已经在进行CT检测,判断是否可以进行下一步动作
状态码 | 状态描述 | 是否通过检测 |
---|---|---|
1 | 检测中 | 否 |
0 | 等待中 | 通过 |
动作2:下发CT检测命令
请求案例
curl --location -g '{{EU}}/device/startCheck' \
--header 'Token: {{TOKEN}}' \
--data '{
"deviceSn": "Z112200109XXX04A"
}'
返回数据
返回true,代表下发成功。
{
"errorCode": 0,
"info": null,
"body": true,
"successful": true
}
动作3:获取CT检测结果(需要不停的轮询检查,建议10s一次)
请求案例
curl --location -g '{{EU}}/device/getCheckResult?sn=A11220010963004A' \
--header 'Token: {{TOKEN}}' \
轮询结果的处理
- 步骤一 识别检测是否完成
- Bit1:1; Bit2:0; 检测中
- Bit1:0; Bit2:0; 检测失败
- Bit1:0; Bit2:1; 检测完成,开始查询Bit3位,识别检测结果
- 步骤二 识别检测结果
- Bit3:0;检测结果正常,流程结束
- Bit3:1;检测结果异常,逆变器与电表连接错误,继续查询具体错误原因。
- 步骤三 判断具体异常结果,下面是返回结果的说明
- phaseFlag:错误码
- inverterSide:标准线相序
- smartSide:CT侧相序
- sensorAns:检测结果,0:正常,1:异常
- 其余不使用,不做说明
返回数据
未检测状态
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 0,
"bit2": 0,
"bit3": null,
"meterStatus": null
},
"successful": true
}
检测中
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 1,
"bit2": 0,
"bit3": null,
"meterStatus": null
},
"successful": true
}
检测完成
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 0,
"bit2": 1,
"bit3": 1,
"meterStatus": 1549
},
"successful": true
}