优化日志,而且台账修改时无论什么状态都先关闭连接
This commit is contained in:
@@ -151,13 +151,6 @@ void CloseIECReports(chnl_usr_t *chnl_usr)
|
||||
void closeChannel(chnl_usr_t *chnl_usr)
|
||||
{
|
||||
|
||||
//终端日志的key,lnk20250526
|
||||
char full_key_t_c[256]; // 分配足够空间
|
||||
char full_key_t_d[256]; // 分配足够空间
|
||||
snprintf(full_key_t_c, sizeof(full_key_t_c), "terminal.%s.COM", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
|
||||
snprintf(full_key_t_d, sizeof(full_key_t_d), "terminal.%s.DATA", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
|
||||
//终端日志的key,lnk20250526
|
||||
|
||||
char comm_str[256];
|
||||
memset(comm_str,0,256);
|
||||
apr_snprintf(comm_str,sizeof(comm_str),"%16s:%d\t\tdisconnected !!!",chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
@@ -185,7 +178,7 @@ void closeChannel(chnl_usr_t *chnl_usr)
|
||||
ret = mms_disconnectFromServer(chnl_usr->net_info,&chnl_usr->m_reqCtrl);
|
||||
echo_warn("---------end disconnectFromServer!\n");
|
||||
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】前置与终端%s - ip端口%s:%d 断开连接", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】前置与终端%s - ip端口%s:%d 断开连接", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
|
||||
if (ret != SD_SUCCESS){
|
||||
echo_warn("---------disconnectFromServer success!\n");
|
||||
@@ -309,26 +302,19 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
{
|
||||
LD_info = &(ied_usr->LD_info[cpuno]); //遍历监测点
|
||||
|
||||
//监测点日志的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
|
||||
|
||||
if (LD_info->cpuno==0){
|
||||
// 仅在还没达到5次上限时打印
|
||||
if (!LD_info->has_logged_regist) {
|
||||
LD_info->registcount++;
|
||||
|
||||
if (LD_info->registcount <= 5) {
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_REPORT,"【ERROR】监测点:%s - id:%s报告触发失败,监测点逻辑标识号为0,请检查装置对应的台账信息是否正确", LD_info->name,LD_info->mp_id);
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【ERROR】监测点:%s - id:%s报告触发失败,监测点逻辑标识号为0,请检查装置对应的台账信息是否正确", LD_info->name,LD_info->mp_id);
|
||||
}
|
||||
|
||||
// 到5次就不再打印,并标记
|
||||
if (LD_info->registcount > 5) {
|
||||
LD_info->has_logged_regist = true;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s监测点逻辑标识号错误日志已达本次记录上限,不再输出,请检查装置对应的台账信息是否正确",
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s监测点逻辑标识号错误日志已达本次记录上限,不再输出,请检查装置对应的台账信息是否正确",
|
||||
LD_info->name, LD_info->mp_id);
|
||||
}
|
||||
}
|
||||
@@ -342,7 +328,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
|
||||
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);
|
||||
//DIY_DEBUGLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【DEBUG】监测点:%s - id:%s不注册报告", LD_info->name,LD_info->mp_id);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -358,7 +344,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【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分钟
|
||||
@@ -386,14 +372,14 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
LD_info->registcount++;
|
||||
|
||||
if (LD_info->registcount <= 5) {
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_REPORT, "【WARN】监测点:%s - id:%s注册报告失败,报告名:%s",
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT, "【WARN】监测点:%s - id:%s注册报告失败,报告名:%s",
|
||||
LD_info->name, LD_info->mp_id, rpt_inst_name);
|
||||
}
|
||||
|
||||
// 到5次就不再打印,并标记
|
||||
if (LD_info->registcount > 5) {
|
||||
LD_info->has_logged_regist = true;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s注册报告失败日志已达本次注册上限,不再输出,请检查装置icd和映射文件是否匹配或者装置存在过多连接",
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s注册报告失败日志已达本次注册上限,不再输出,请检查装置icd和映射文件是否匹配或者装置存在过多连接",
|
||||
LD_info->name, LD_info->mp_id);
|
||||
}
|
||||
}
|
||||
@@ -416,7 +402,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
//mq日志
|
||||
LD_info->has_logged_regist = FALSE;
|
||||
LD_info->registcount = 0;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s注册报告成功,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【WARN】监测点:%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;
|
||||
@@ -424,7 +410,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
}
|
||||
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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【NORMAL】监测点:%s - id:%s注册报告结束,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
}
|
||||
}
|
||||
else { //rpt_registered ==TRUE
|
||||
@@ -433,7 +419,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【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);
|
||||
@@ -444,7 +430,7 @@ 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_id);
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s注销报告失败,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【WARN】监测点:%s - id:%s注销报告失败,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
|
||||
}
|
||||
else {
|
||||
@@ -453,11 +439,11 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr)
|
||||
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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_REPORT,"【NORMAL】监测点:%s - id:%s注销报告结束,报告名:%s", LD_info->name,LD_info->mp_id,rpt_inst_name);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -510,13 +496,6 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
for(cpuno=0 ; cpuno<ied->cpucount; cpuno++) {
|
||||
LD_info = &(ied_usr->LD_info[cpuno]);
|
||||
|
||||
//监测点日志的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
|
||||
|
||||
//日志控制块缺失
|
||||
if (LD_info->logcount<=0){
|
||||
// 仅在还没达到5次上限时打印
|
||||
@@ -524,13 +503,13 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
LD_info->registcount++;
|
||||
|
||||
if (LD_info->registcount <= 5) {
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【ERROR】监测点:%s - id:%s补招数据失败,监测点缺少日志控制块,请检查装置对应的装置类型是否有配对的icd模型", LD_info->name,LD_info->mp_id);
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【ERROR】监测点:%s - id:%s补招数据失败,监测点缺少日志控制块,请检查装置对应的装置类型是否有配对的icd模型", LD_info->name,LD_info->mp_id);
|
||||
}
|
||||
|
||||
// 到5次就不再打印,并标记
|
||||
if (LD_info->registcount > 5) {
|
||||
LD_info->has_logged_regist = true;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s缺少日志控制块日志已达本次记录上限,不再输出,请检查装置对应的装置类型是否有配对的icd模型",
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s缺少日志控制块日志已达本次记录上限,不再输出,请检查装置对应的装置类型是否有配对的icd模型",
|
||||
LD_info->name, LD_info->mp_id);
|
||||
}
|
||||
}
|
||||
@@ -561,11 +540,11 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
|
||||
if(strcmp(cfg1.ValueOfTimeUnit, "utc") == 0){//装置时间是utc还是北京
|
||||
utc_or_beijing = 28800;//秒
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为utc时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为utc时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
else{
|
||||
utc_or_beijing = 0;
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为beijing时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为beijing时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
@@ -609,7 +588,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
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);
|
||||
//DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【WARN】监测点:%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);
|
||||
@@ -618,7 +597,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【ERROR】监测点:%s - id:%s补招数据失败 - 失败时间点:%lld 至 %lld", LD_info->name,LD_info->mp_id,loginfo->start_time,loginfo->end_time);
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【ERROR】监测点:%s - id:%s补招数据失败 - 失败时间点:%lld 至 %lld", LD_info->name,LD_info->mp_id,loginfo->start_time,loginfo->end_time);
|
||||
|
||||
failed_count++;
|
||||
}
|
||||
@@ -671,7 +650,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
|
||||
// ===== [新增结束] =====
|
||||
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s结束补招数据", LD_info->name,LD_info->mp_id);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_RECALL,"【WARN】监测点:%s - id:%s结束补招数据", LD_info->name,LD_info->mp_id);
|
||||
//}
|
||||
}
|
||||
|
||||
@@ -1119,9 +1098,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
//关闭这个终端的所有连接//////////////////////////////////////////////////////////////////////
|
||||
for(chnl_no=0 ; chnl_no<ied->chncount; chnl_no++) {
|
||||
chnl_usr = (chnl_usr_t*)ied->channel[chnl_no].connect;
|
||||
if (chnl_usr->m_state!=CHANNEL_CONNECTED){//跳过未连接的通道
|
||||
/*if (chnl_usr->m_state!=CHANNEL_CONNECTED){//跳过未连接的通道
|
||||
continue;
|
||||
}
|
||||
}*///20260416任何状态都关闭连接
|
||||
closeChannel(chnl_usr);//关闭更新台账后,任务会自动连接
|
||||
}
|
||||
|
||||
@@ -1232,9 +1211,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
//关闭这个终端的所有连接//////////////////////////////////////////////////////////////////////
|
||||
for(chnl_no=0 ; chnl_no<ied->chncount; chnl_no++) {
|
||||
chnl_usr = (chnl_usr_t*)ied->channel[chnl_no].connect;
|
||||
if (chnl_usr->m_state!=CHANNEL_CONNECTED){ //跳过没连接的通道,一般一个终端只有一个
|
||||
/*if (chnl_usr->m_state!=CHANNEL_CONNECTED){ //跳过没连接的通道,一般一个终端只有一个
|
||||
continue;
|
||||
}
|
||||
}*///20260416任何状态都关闭连接
|
||||
closeChannel(chnl_usr);//关闭更新台账后,如果是删除则不会再连接,关闭连接时这个ied的报告会被清除,报告控制会被注销
|
||||
}
|
||||
|
||||
@@ -1425,7 +1404,7 @@ void check_ledger_update()//lnk20250113
|
||||
}
|
||||
else{
|
||||
printf("only process recall config, skip ledger update\n");
|
||||
DIY_WARNLOG_CODE("process",LOG_CODE_SPACE_ALARM,"【WARN】当前配置为仅日志模式,统计数据进程跳过台账更新");
|
||||
DIY_WARNLOG_CODE("process",0,LOG_CODE_SPACE_ALARM,"【WARN】当前配置为仅日志模式,统计数据进程跳过台账更新");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1481,13 +1460,13 @@ void check_disk_quota()
|
||||
//printf("Current user disk free size: %dMB ,total size: %dMB \n",freeSizeMB,totalSizeMB);
|
||||
if (freeSizeMB<g_min_free_size){
|
||||
echo_warn2("Current user disk free size: %dMB < %dMB, please check!\n",freeSizeMB,g_min_free_size);
|
||||
DIY_WARNLOG_CODE("process",LOG_CODE_SPACE_ALARM,"【WARN】前置磁盘检测: 当前磁盘的可用空间为%dMB,小于最小可用空间%dMB,请检查磁盘",freeSizeMB,g_min_free_size);
|
||||
DIY_WARNLOG_CODE("process",0,LOG_CODE_SPACE_ALARM,"【WARN】前置磁盘检测: 当前磁盘的可用空间为%dMB,小于最小可用空间%dMB,请检查磁盘",freeSizeMB,g_min_free_size);
|
||||
}
|
||||
|
||||
if ((freeSizeMB/(totalSizeMB/100+1) )<10){
|
||||
echo_warn2("Current user disk free size percent < 10%%, free size: %dMB ,total size: %dMB ,please check!\n",
|
||||
freeSizeMB,totalSizeMB);
|
||||
DIY_WARNLOG_CODE("process",LOG_CODE_SPACE_ALARM,"【WARN】前置磁盘检测: 当前磁盘的可用空间的百分比小于10%%,可用空间为%dMB,总空间为%dMB,请检查磁盘",freeSizeMB,totalSizeMB);
|
||||
DIY_WARNLOG_CODE("process",0,LOG_CODE_SPACE_ALARM,"【WARN】前置磁盘检测: 当前磁盘的可用空间的百分比小于10%%,可用空间为%dMB,总空间为%dMB,请检查磁盘",freeSizeMB,totalSizeMB);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1609,13 +1588,6 @@ void CheckNextNotConnectedChannel()
|
||||
return;
|
||||
}
|
||||
|
||||
//终端日志的key,lnk20250526
|
||||
char full_key_t_c[256]; // 分配足够空间
|
||||
char full_key_t_d[256]; // 分配足够空间
|
||||
snprintf(full_key_t_c, sizeof(full_key_t_c), "terminal.%s.COM", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
|
||||
snprintf(full_key_t_d, sizeof(full_key_t_d), "terminal.%s.DATA", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
|
||||
//终端日志的key,lnk20250526
|
||||
|
||||
//10-11-01 22:03 beijing
|
||||
if( ( (chnl_total_no+1)==g_pt61850app->chnl_counts) || (g_onlyIP[0]!=0) ){
|
||||
if(g_pt61850app->initNum<255)
|
||||
@@ -1641,7 +1613,7 @@ void CheckNextNotConnectedChannel()
|
||||
//mq日志
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = true;
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = false;
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d连接成功", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d连接成功", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
|
||||
mvl_free_req_ctrl(chnl_usr->m_reqCtrl);
|
||||
chnl_usr->m_reqCtrl = NULL;
|
||||
@@ -1688,11 +1660,11 @@ void CheckNextNotConnectedChannel()
|
||||
if(true == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat){
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = false;
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true;
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip/端口:%s:%d,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,secsSince);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip/端口:%s:%d,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,secsSince);
|
||||
}
|
||||
else if(false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat && false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect){
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true;
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip/端口:%s:%d,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,secsSince);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip/端口:%s:%d,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,secsSince);
|
||||
}
|
||||
|
||||
mvl_free_req_ctrl(chnl_usr->m_reqCtrl);
|
||||
@@ -1723,11 +1695,11 @@ void CheckNextNotConnectedChannel()
|
||||
if(true == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat){
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = false;
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true;
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
}
|
||||
else if(false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat && false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect){
|
||||
((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true;
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
}
|
||||
|
||||
|
||||
@@ -1767,7 +1739,7 @@ void CheckNextNotConnectedChannel()
|
||||
if (chnl_usr->chnl->ied->cpucount != NULL && chnl_usr->chnl->ied->cpucount > 0 && ied_usr->dev_flag == ENABLE) {//2023-09-26 czy 如果line count<0 不需要连接//lnk20250121如果终端无效则不连接
|
||||
|
||||
//mq日志
|
||||
//DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
//DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】重新连接终端%s - ip端口:%s:%d", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
|
||||
ret = mms_connectToServer(ied_usr->dev_key, ied_usr->dev_series, serverARName, &(chnl_usr->net_info), &(chnl_usr->m_reqCtrl));
|
||||
|
||||
@@ -1779,7 +1751,7 @@ void CheckNextNotConnectedChannel()
|
||||
chnl_usr->m_StartConnectingTime = sGetMsTime();
|
||||
|
||||
//mq日志
|
||||
//DIY_WARNLOG(full_key_t_c,"【WARN】正在重新连接终端%s - ip端口:%s:%d - 识别码/秘钥:%s/%s", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key);
|
||||
//DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】正在重新连接终端%s - ip端口:%s:%d - 识别码/秘钥:%s/%s", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key);
|
||||
|
||||
|
||||
}
|
||||
@@ -1791,7 +1763,7 @@ void CheckNextNotConnectedChannel()
|
||||
echo_warn3("FAILED: mms_connectToServer IP %s:%d ,NetInfo= %x \n", chnl_usr->ip_str, chnl_usr->chnl->port, chnl_usr->net_info);
|
||||
|
||||
//mq日志
|
||||
//DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d 失败!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
//DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】重新连接终端%s - ip端口:%s:%d 失败!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1822,7 +1794,7 @@ void CheckNextNotConnectedChannel()
|
||||
chnl_usr->chnl->status = STATUS_BREAKOFF;
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d 断连完成,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d 断连完成,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
|
||||
}
|
||||
else
|
||||
@@ -1852,7 +1824,7 @@ void CheckNextNotConnectedChannel()
|
||||
chnl_usr->chnl->status = STATUS_BREAKOFF;
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG_CODE(full_key_t_c,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d 断连未完成,但是已经超时180秒,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
DIY_WARNLOG_CODE(((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,1,LOG_CODE_COMM,"【WARN】终端%s - ip端口:%s:%d 断连未完成,但是已经超时180秒,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2004,13 +1976,6 @@ 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;
|
||||
@@ -2022,7 +1987,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
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);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【NORMAL】监测点:%s - id:%s开始召唤录波文件", LD_info->name,LD_info->mp_id);
|
||||
|
||||
ret = SD_FAILURE;
|
||||
filenum = 0;
|
||||
@@ -2044,14 +2009,14 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
int ret2,ret3;
|
||||
|
||||
//mq日志
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s获取录波文件列表成功,开始匹配录波文件", LD_info->name,LD_info->mp_id);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【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){
|
||||
//mq日志
|
||||
//DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_COMTRADE_FILE,"【WARN】监测点:%s - id:%s前置记录的录波事件上传的录波号段%d与从装置获取的录波文件列表匹配失败,装置没有对应的号段的录波文件,清除该记录", LD_info->name,LD_info->mp_id,LD_info->FltNum[i]);
|
||||
//DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【WARN】监测点:%s - id:%s前置记录的录波事件上传的录波号段%d与从装置获取的录波文件列表匹配失败,装置没有对应的号段的录波文件,清除该记录", LD_info->name,LD_info->mp_id,LD_info->FltNum[i]);
|
||||
//lnk20250819装置没有对应的文件时清除录波号段
|
||||
printf("监测点:%s - id:%s前置记录的录波事件上传的录波号段%d与从装置获取的录波文件列表匹配失败,装置没有对应的号段的录波文件,清除该记录", LD_info->name,LD_info->mp_id,LD_info->FltNum[i]);
|
||||
LD_info->FltNum[i] = -1;
|
||||
@@ -2067,15 +2032,35 @@ 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从终端获取录波文件成功", LD_info->name,LD_info->mp_id);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【NORMAL】监测点:%s - id:%s从终端获取录波文件成功", LD_info->name,LD_info->mp_id);
|
||||
|
||||
QVVR_t *qvvr; //暂态事件
|
||||
long long start_tm,trig_tm,end_tm;
|
||||
long long start_tm,trig_tm,end_tm;//北京时间
|
||||
|
||||
ret2 = extract_timestamp_from_cfg_file(filenames[cfg_idx],&start_tm,&trig_tm);//提取文件的开始时间和触发时间
|
||||
|
||||
//添加录波文件时间戳校准20260409
|
||||
{
|
||||
XmlConfigC cfg;
|
||||
long long utc_or_beijing = 0;
|
||||
if (get_xml_config_by_dev_type(ied_usr->dev_type, &cfg)) {
|
||||
if(strcmp(cfg.WaveTimeFlag, "utc") == 0){//装置时间是utc还是北京
|
||||
utc_or_beijing = 28800000;//八小时相差毫秒数
|
||||
}
|
||||
else{
|
||||
utc_or_beijing = 0;
|
||||
}
|
||||
trig_tm = trig_tm + utc_or_beijing;//如果是utc时间则转换为北京时间
|
||||
start_tm = start_tm + utc_or_beijing;//接口上送没用到
|
||||
}
|
||||
else {
|
||||
printf("读取失败,未找到 dev_type\n");
|
||||
}
|
||||
}
|
||||
|
||||
printf(">>>>>>>> extract_timestamp_from_cfg_file end \n");
|
||||
if (ret2 ==APR_SUCCESS) {
|
||||
DIY_INFOLOG(full_key_m_c,"【NORMAL】监测点:%s - id:%s提取录波文件时间成功", LD_info->name,LD_info->mp_id);
|
||||
DIY_INFOLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【NORMAL】监测点:%s - id:%s提取录波文件时间成功", LD_info->name,LD_info->mp_id);
|
||||
//to find the paired qvvr by the time of trig_tm
|
||||
printf(">>>>>>>> extract_timestamp_from_cfg_file success \n");
|
||||
qvvr = find_qvvr_by_trig_tm(LD_info,trig_tm); //根据文件的触发时间查找检测点记录的匹配上的暂态事件
|
||||
@@ -2095,7 +2080,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
|
||||
char loc_file_fullname_cfg[256];//本地文件名
|
||||
memset(loc_file_fullname_cfg, 0, sizeof(loc_file_fullname_cfg));
|
||||
apr_snprintf(loc_file_fullname_cfg, sizeof(loc_file_fullname_cfg), "/home/pq/FeProject/comtrade/%s", cfg_only_filename_ret);
|
||||
apr_snprintf(loc_file_fullname_cfg, sizeof(loc_file_fullname_cfg), "/FeProject/comtrade/%s", cfg_only_filename_ret);
|
||||
char oss_file_fullname_cfg[256];//远端文件名
|
||||
memset(oss_file_fullname_cfg, 0, sizeof(oss_file_fullname_cfg));
|
||||
apr_snprintf(oss_file_fullname_cfg, sizeof(oss_file_fullname_cfg), "comtrade/wave/%s/%s", LD_info->mp_id, cfg_only_filename_ret);
|
||||
@@ -2133,7 +2118,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
|
||||
char loc_file_fullname_dat[256];
|
||||
memset(loc_file_fullname_dat, 0, sizeof(loc_file_fullname_dat));
|
||||
apr_snprintf(loc_file_fullname_dat, sizeof(loc_file_fullname_dat), "/home/pq/FeProject/comtrade/%s", dat_only_filename_ret);
|
||||
apr_snprintf(loc_file_fullname_dat, sizeof(loc_file_fullname_dat), "/FeProject/comtrade/%s", dat_only_filename_ret);
|
||||
char oss_file_fullname_dat[256];
|
||||
memset(oss_file_fullname_dat, 0, sizeof(oss_file_fullname_dat));
|
||||
apr_snprintf(oss_file_fullname_dat, sizeof(oss_file_fullname_dat), "comtrade/wave/%s/%s", LD_info->mp_id, dat_only_filename_ret);
|
||||
@@ -2292,22 +2277,24 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
//获取时间类型lnk20250520
|
||||
XmlConfigC cfg;
|
||||
if (get_xml_config_by_dev_type(ied_usr->dev_type, &cfg)) {
|
||||
} else {
|
||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 匹配录波文件失败,录波号段:%d,录波文件的开始时间:%lld,触发时间:%lld,映射配置的暂态持续时间单位是s", LD_info->name,LD_info->mp_id,LD_info->FltNum[i],start_tm,trig_tm);
|
||||
}
|
||||
else{
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 匹配录波文件失败,录波号段:%d,录波文件的开始时间:%lld,触发时间:%lld,映射配置的暂态持续时间单位是ms", LD_info->name,LD_info->mp_id,LD_info->FltNum[i],start_tm,trig_tm);
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf("读取失败,未找到 dev_type\n");
|
||||
}
|
||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 匹配录波文件失败,录波号段:%d,录波文件的开始时间:%lld,触发时间:%lld,映射配置的暂态持续时间单位是秒", LD_info->name,LD_info->mp_id,LD_info->FltNum[i],start_tm,trig_tm);
|
||||
}
|
||||
else{
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 匹配录波文件失败,录波号段:%d,录波文件的开始时间:%lld,触发时间:%lld,映射配置的暂态持续时间单位是毫秒", LD_info->name,LD_info->mp_id,LD_info->FltNum[i],start_tm,trig_tm);
|
||||
}
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 匹配录波文件失败,录波号段:%d,录波文件的开始时间:%lld,触发时间:%lld,映射配置的暂态持续时间单位未配置", LD_info->name,LD_info->mp_id,LD_info->FltNum[i],start_tm,trig_tm);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
DIY_ERRORLOG_CODE(full_key_m_c,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 下载录波文件%s和%s失败,录波号段:%d", LD_info->name,LD_info->mp_id,filenames[cfg_idx],filenames[dat_idx],LD_info->FltNum[i]);
|
||||
DIY_ERRORLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【ERROR】监测点:%s - id:%s 下载录波文件%s和%s失败,录波号段:%d", LD_info->name,LD_info->mp_id,filenames[cfg_idx],filenames[dat_idx],LD_info->FltNum[i]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2315,7 +2302,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
if (ied && chnl_usr){
|
||||
echo_warn2("mms_mvla_fdir Failed: IED [%d] %s \n", ied->id , chnl_usr->ip_str) ;
|
||||
//mq日志
|
||||
DIY_WARNLOG_CODE(full_key_m_c,LOG_CODE_COMTRADE_FILE,"【WARN】监测点:%s - id:%s召唤录波文件列表失败,放弃这个号段", LD_info->name,LD_info->mp_id);
|
||||
DIY_WARNLOG_CODE(LD_info->mp_id,2,LOG_CODE_COMTRADE_FILE,"【WARN】监测点:%s - id:%s召唤录波文件列表失败,放弃这个号段", LD_info->name,LD_info->mp_id);
|
||||
LD_info->FltNum[i] = -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user