add mq log in rpt
This commit is contained in:
@@ -302,10 +302,21 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
continue;
|
||||
|
||||
for(rpt_no=0 ; rpt_no<LD_info->rptcount; rpt_no++) { //遍历报告(映射文件中读取的报告控制)
|
||||
|
||||
//监测点日志的key,lnk20250526
|
||||
char full_key_m_c[256]; // 分配足够空间
|
||||
char full_key_m_d[256]; // 分配足够空间
|
||||
snprintf(full_key_m_c, sizeof(full_key_m_c), "monitor.%s.COM", LD_info->mp_id);
|
||||
snprintf(full_key_m_d, sizeof(full_key_m_d), "monitor.%s.DATA", LD_info->mp_id);
|
||||
//监测点日志的key,lnk20250526
|
||||
|
||||
rptinfo = LD_info->rptinfo[rpt_no] ;
|
||||
|
||||
if (judge_rpt_next_should_do(rptinfo)==SHOULD_DO_NOTHING)//检查是否触发
|
||||
{
|
||||
DIY_DEBUGLOG(full_key_m_c,"【DEBUG】监测点:%s - id:%s不注册报告", LD_info->name,LD_info->mp_id);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(rptinfo->m_curRptSuffix==-1)
|
||||
rptinfo->m_curRptSuffix = g_pt61850app->rptSuffix[g_client_id][0] ;
|
||||
@@ -318,6 +329,9 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
RCB_INFO *rcb_info;
|
||||
printf("start mms_register_iec_rpt................................\n");
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s开始注册报告,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
if ( strstr(rptinfo->rptID,"LLN0$BR$brcbFlickerData") )
|
||||
rptinfo->IntgPd = 600; //10分钟
|
||||
|
||||
@@ -338,6 +352,9 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
APR_EGENERAL, LD_info->ied->id,LD_info->cpuno,LD_info->LD_name,rpt_inst_name,chnl_usr->ip_str,chnl_usr->chnl->port,
|
||||
chnl_usr->chnl_id, rptinfo->IntgPd,rptinfo->TrgOpt );
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s注册报告失败,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -352,12 +369,17 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
echo_msg11("\nRegister iec_rpt succeed, IED_ID=%d ,CPU=%d ,domain: %s ,rpt_inst_name: %s ,ip: %s:%d,chnl_id: %d ,IntgPd=%d ,TrgOpt=0x%x ,OptFlds=0x%x%x \n",
|
||||
LD_info->ied->id,LD_info->cpuno,LD_info->LD_name,rpt_inst_name,chnl_usr->ip_str,chnl_usr->chnl->port,chnl_usr->chnl_id,
|
||||
rptinfo->IntgPd,rptinfo->TrgOpt,rptinfo->OptFlds[0],rptinfo->OptFlds[1] );
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s注册报告成功,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
// add here to GI not the same time
|
||||
GIoffset = 0.5 * g_pt61850app->giTime;
|
||||
rptinfo->m_LastGITime = sGetMsTime() - GIoffset*1000;
|
||||
}
|
||||
printf("end mms_register_iec_rpt................................\n");
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s注册报告结束,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
}
|
||||
}
|
||||
else { //rpt_registered ==TRUE
|
||||
@@ -365,6 +387,9 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
//取消注册失败后间隔 20秒 再取消注册一次
|
||||
printf("start mms_unregister_iec_rpt................................\n");
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s开始注销报告,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
ret = mms_unregister_iec_rpt (chnl_usr->net_info, &g_rpt_typeids,
|
||||
LD_info->LD_name,rpt_inst_name,g_pt61850app->mmsOpTimeout);
|
||||
|
||||
@@ -372,13 +397,22 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
rptinfo->m_LastUnRegisterFailedTime = sGetMsTime() ;
|
||||
echo_err6("\n取消注册报告失败!UnRregister iec_rpt failed !!! IED_ID=%d ,CPU=%d , domain: %s ,rpt_inst_name: %s ,ip: %s,chnl_id: %d \n",
|
||||
APR_EGENERAL, LD_info->ied->id,LD_info->cpuno,LD_info->LD_name,rpt_inst_name,chnl_usr->ip_str,chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s注销报告失败,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
}
|
||||
else {
|
||||
rptinfo->rpt_registered = FALSE;
|
||||
echo_msg7("\nUnRegister iec_rpt succeed, IED_ID=%d ,CPU=%d ,domain: %s ,rpt_inst_name: %s ,ip: %s:%d,chnl_id: %d \n",
|
||||
LD_info->ied->id,LD_info->cpuno,LD_info->LD_name,rpt_inst_name,chnl_usr->ip_str,chnl_usr->chnl->port,chnl_usr->chnl_id );
|
||||
LD_info->ied->id,LD_info->cpuno,LD_info->LD_name,rpt_inst_name,chnl_usr->ip_str,chnl_usr->chnl->port,chnl_usr->chnl_id );
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s注销报告成功,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
}
|
||||
printf("end mms_unregister_iec_rpt................................\n");
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s注销报告结束,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -418,6 +452,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
|
||||
ied = chnl_usr->chnl->ied;
|
||||
ied_usr = GET_IEDEXT_ADDR(ied);
|
||||
|
||||
for(cpuno=0 ; cpuno<ied->cpucount; cpuno++) {
|
||||
LD_info = &(ied_usr->LD_info[cpuno]);
|
||||
|
||||
@@ -427,6 +462,13 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
|
||||
apr_sleep(apr_time_from_sec(1) / 10);
|
||||
|
||||
//监测点日志的key,lnk20250526
|
||||
char full_key_m_c[256]; // 分配足够空间
|
||||
char full_key_m_d[256]; // 分配足够空间
|
||||
snprintf(full_key_m_c, sizeof(full_key_m_c), "monitor.%s.COM", LD_info->mp_id);
|
||||
snprintf(full_key_m_d, sizeof(full_key_m_d), "monitor.%s.DATA", LD_info->mp_id);
|
||||
//监测点日志的key,lnk20250526
|
||||
|
||||
Check_Recall_Config(LD_info->mp_id);//尝试获取xml结构
|
||||
|
||||
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
||||
@@ -452,11 +494,18 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
echo_msg6("\n mms_jread IED_ID=%d ,CPU=%d ,domain: %s ,logName: %s ,ip: %s,chnl_id: %d \n",
|
||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s开始补招数据", LD_info->name,LD_info->mp_id);
|
||||
|
||||
ret = mms_jread(loginfo, chnl_usr->net_info, loginfo->LD_info->LD_name, loginfo->logName,
|
||||
loginfo->start_time, loginfo->end_time, g_pt61850app->mmsOpTimeout, chnl_usr->ip_str);
|
||||
if (ret != SD_SUCCESS) {
|
||||
echo_warn6("\n mms_jread Failed! IED_ID=%d ,CPU=%d ,domain: %s ,logName: %s ,ip: %s,chnl_id: %d \n",
|
||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s补招数据失败", LD_info->name,LD_info->mp_id);
|
||||
|
||||
failed_count++;
|
||||
}
|
||||
|
||||
@@ -1660,14 +1709,26 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
ied_usr_t *ied_usr = GET_IEDEXT_ADDR(ied);
|
||||
int have_new_files = FALSE;
|
||||
|
||||
//监测点日志的key,lnk20250526
|
||||
char full_key_m_c[256]; // 分配足够空间
|
||||
char full_key_m_d[256]; // 分配足够空间
|
||||
snprintf(full_key_m_c, sizeof(full_key_m_c), "monitor.%s.COM", LD_info->mp_id);
|
||||
snprintf(full_key_m_d, sizeof(full_key_m_d), "monitor.%s.DATA", LD_info->mp_id);
|
||||
//监测点日志的key,lnk20250526
|
||||
|
||||
for (i=0;i<256;i++) {
|
||||
if (LD_info->FltNum[i]<=0)
|
||||
continue;
|
||||
|
||||
//LD名称规范四字节:PQMn, 或者PQLDn ,有5个字节, 但也只取4个字符进行匹配
|
||||
ldstr = LD_info->LD_name+strlen(LD_info->LD_name)-4;
|
||||
apr_snprintf(file_match_str,sizeof(file_match_str),"%s_%06d",ldstr,LD_info->FltNum[i]);
|
||||
|
||||
printf(">>>>>>>> IED [%d]: %s is calling cn wavefile, !!!!!!!! file_match_str=%s \n",ied->id,ied->name,file_match_str);
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s开始召唤录波文件", LD_info->name,LD_info->mp_id);
|
||||
|
||||
ret = SD_FAILURE;
|
||||
filenum = 0;
|
||||
assert(ied->chncount);
|
||||
@@ -1687,11 +1748,17 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
char dat_only_filename_ret[256];
|
||||
int ret2,ret3;
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s获取录波文件列表成功,开始匹配录波文件", LD_info->name,LD_info->mp_id);
|
||||
|
||||
//WW 2023-11-01将录波段号由字符串匹配修改为int的fltnum匹配
|
||||
ret2 = parse_file_names_by_fltnum(LD_info->FltNum[i], ldstr, filenames, filenum, &cfg_idx, &dat_idx, file_base_name, file_yyyymm);
|
||||
//WW 2023-11-01 end
|
||||
if (ret2 !=APR_SUCCESS)
|
||||
if (ret2 !=APR_SUCCESS){
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s匹配录波文件失败", LD_info->name,LD_info->mp_id);
|
||||
return ret2;
|
||||
}
|
||||
|
||||
//完成录波文件,记录在文件名dat/cfg_only_filename_ret中,两个后缀不一样的录波文件,要上传两次
|
||||
ret2 = pt61850_write_cn_file(chnl_usr,ied,filenames[cfg_idx],cfg_only_filename_ret);
|
||||
@@ -1700,6 +1767,10 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////上传文件
|
||||
if (ret2==SD_SUCCESS && ret3==SD_SUCCESS ) { //两个文件都写好了
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s从终端获取录波文件成功,开始上传录波文件到web并更新暂态事件", LD_info->name,LD_info->mp_id);
|
||||
|
||||
QVVR_t *qvvr; //暂态事件
|
||||
long long start_tm,trig_tm,end_tm;
|
||||
|
||||
@@ -1921,8 +1992,12 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
|
||||
}
|
||||
else {
|
||||
if (ied && chnl_usr)
|
||||
if (ied && chnl_usr){
|
||||
echo_warn2("mms_mvla_fdir Failed: IED [%d] %s \n", ied->id , chnl_usr->ip_str) ;
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s召唤录波文件失败", LD_info->name,LD_info->mp_id);
|
||||
}
|
||||
|
||||
return APR_EAGAIN;
|
||||
}
|
||||
LD_info->FltNum[i]= -1;
|
||||
|
||||
Reference in New Issue
Block a user