fix 7-8 recall and better log
This commit is contained in:
@@ -488,7 +488,7 @@ void processQVVR_start(LD_info_t* LD_info)
|
||||
|
||||
LD_info->qvvr[LD_info->qvvr_idx].used_status = QVVR_DATA_RECEIVED;//这个点标记为收到暂态数据
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_type = 0; //类型未定
|
||||
LD_info->qvvr[LD_info->qvvr_idx].timestamp = apr_time_sec(apr_time_now());//记录当前时间为暂态时间
|
||||
LD_info->qvvr[LD_info->qvvr_idx].timestamp = apr_time_sec(apr_time_now());//记录当前时间
|
||||
printf("\n~~~~~~~~~~~~~~~~~ processQVVR_start: line_id=%d \n",LD_info->line_id);
|
||||
}
|
||||
|
||||
@@ -562,11 +562,11 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
long long utc_or_beijing;
|
||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||
s_or_ms = 0.001;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
//DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
else{
|
||||
s_or_ms = 1.0;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是毫秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
//DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是毫秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
|
||||
if(strcmp(cfg.ValueOfTimeUnit, "utc") == 0){//上送的是utc还是北京
|
||||
@@ -578,11 +578,8 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
|
||||
|
||||
for (i=0;i<QVVR_NUM;i++) { //暂降/暂升/中断等进入处理,遍历所有波动位置
|
||||
if (i==LD_info->qvvr_idx) //跳过监测点当前波动位置,第一次记录波形后,第一次的第三个事件会让0号点为QVVR_DATA_RECEIVED,
|
||||
//第二次记录波形,第二次的第一个事件qvvr_idx=1,1号中为QVVR_DATA_RECEIVED,QVVR_start=1,跳过记录,
|
||||
//第二次的第二个事件qvvr_idx=1,QVVR_start=0,记录到0中,0为QVVR_DATA_PAIRED
|
||||
//第二次的第三个事件qvvr_idx=2,2号中为QVVR_DATA_RECEIVED,QVVR_start=1,跳过记录
|
||||
//第二次录波匹配文件时应该匹配到1号的qvvrtime,但是1没有QVVR_DATA_PAIRED所以对不上,需要修改逻辑
|
||||
if (i==LD_info->qvvr_idx) //跳过监测点当前波动位置,不会和自己做匹配。第一次记录波形后,第一次的第一个事件会让0号点为QVVR_DATA_RECEIVED,
|
||||
//第二次qvvr_idx=1,1号中为QVVR_DATA_RECEIVED,QVVR_start=0,会和0点做匹配
|
||||
{
|
||||
printf("skip this index\n");
|
||||
continue;
|
||||
@@ -638,7 +635,11 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
|
||||
//匹配后再发qvvr,起始时间要填暂态触发的时间,就是第一次事件上送时只有时间没有值的那个时间
|
||||
//mq日志
|
||||
DIY_WARNLOG_CODE(full_key_m_d,LOG_CODE_TRANSIENT,"【WARN】监测点%s - id:%s 发生暂态事件",LD_info->name,LD_info->mp_id);
|
||||
DIY_WARNLOG_CODE(full_key_m_d,LOG_CODE_TRANSIENT,"【WARN】监测点%s - id:%s 发生暂态事件,暂态时间:%lld,暂态持续时间:%f,暂态幅值:%f,暂态类型:%d",LD_info->name,LD_info->mp_id,
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_time,
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime,
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg,
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_type);
|
||||
|
||||
ret = transfer_json_qvvr_data(g_node_id, //这个参数没有使用
|
||||
LD_info->line_id, //监测点序号
|
||||
@@ -665,6 +666,15 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
LD_info->qvvr[LD_info->qvvr_idx].used_status = QVVR_DATA_NOT_USED; //全都没有匹配上直接释放这个点,下次事件可以直接在这个点上使用
|
||||
printf("\nERROR:~~~~~~~~~~~~~ processQVVR qvvr returned to 0,but found no data to pair!, line_id=%d,QVVR_type=%d \n",
|
||||
LD_info->line_id, LD_info->qvvr[LD_info->qvvr_idx].QVVR_type);
|
||||
|
||||
//mq日志
|
||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s记录了一个暂态事件但是没有匹配到事件的发生时间,装置型号:%s 配置的暂态持续时间单位是秒",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
else{
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_TRANSIENT,"【WARN】监测点:%s - id:%s记录了一个暂态事件但是没有匹配到事件的发生时间,装置型号:%s 配置的暂态持续时间单位是毫秒",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
printf("\n~~~~~~~~~~~~~~~~~ processQVVR_end: line_id=%d \n",LD_info->line_id);
|
||||
|
||||
Reference in New Issue
Block a user