跳到主要内容
版本:1.0.0

CT 检测

CT检测分为三个动作,分别对应三个API接口;

注意 该功能仅有下面两个场景可以使用

  1. 主从机系统中的主机
  2. 三相单机系统

动作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}}' \

轮询结果的处理

  1. 步骤一 识别检测是否完成
    1. Bit1:1; Bit2:0; 检测中
    2. Bit1:0; Bit2:0; 检测失败
    3. Bit1:0; Bit2:1; 检测完成,开始查询Bit3位,识别检测结果
  2. 步骤二 识别检测结果
    1. Bit3:0;检测结果正常,流程结束
    2. Bit3:1;检测结果异常,逆变器与电表连接错误,继续查询具体错误原因。
  3. 步骤三 判断具体异常结果,下面是返回结果的说明
    1. phaseFlag:错误码
    2. inverterSide:标准线相序
    3. smartSide:CT侧相序
    4. sensorAns:检测结果,0:正常,1:异常
    5. 其余不使用,不做说明

返回数据

未检测状态

{
"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
}

检测完成-异常(没有上报检测结果,可能存在干扰)

{
"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": [
{
"id": "6510f5a18c59e563fb0092d8",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L1",
"smartSide": "L1",
"sensorAns": "1"
},
{
"id": "6510f5a18c59e563fb0092d7",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L2",
"smartSide": "L2",
"sensorAns": "0"
},
{
"id": "6510f5a18c59e563fb0092d6",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L3",
"smartSide": "L3",
"sensorAns": "0"
}
],
"bit0": 1,
"bit1": 0,
"bit2": 1,
"bit3": 1,
"meterStatus": 25901
},
"successful": true
}