fix utc recall
This commit is contained in:
@@ -485,6 +485,28 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
||||||
int i;
|
int i;
|
||||||
int failed_count = 0;
|
int failed_count = 0;
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////根据配置文件控制下发补招时间为北京时间还是utc时间
|
||||||
|
printf("~~~~~~~this dev type is %s~~~~~~~",ied_usr->dev_type);
|
||||||
|
XmlConfigC cfg1;
|
||||||
|
if (get_xml_config_by_dev_type(ied_usr->dev_type, &cfg1)) {
|
||||||
|
printf("ValueOfTimeUnit = %s\n", cfg1.ValueOfTimeUnit);
|
||||||
|
} else {
|
||||||
|
printf("读取失败,未找到 dev_type\n");
|
||||||
|
}
|
||||||
|
long long utc_or_beijing;
|
||||||
|
|
||||||
|
if(strcmp(cfg1.ValueOfTimeUnit, "utc") == 0){//装置时间是utc还是北京
|
||||||
|
utc_or_beijing = 28800000;
|
||||||
|
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为utc时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
utc_or_beijing = 0;
|
||||||
|
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为beijing时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
for (i = 0; i < LD_info->autorecallcount; i++) {
|
for (i = 0; i < LD_info->autorecallcount; i++) {
|
||||||
|
|
||||||
LD_info->autorecallflag = 1;//正在补招
|
LD_info->autorecallflag = 1;//正在补招
|
||||||
@@ -495,6 +517,11 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
loginfo->start_time = apr_time_from_sec(LD_info->autorecall[i]->start - 5);
|
loginfo->start_time = apr_time_from_sec(LD_info->autorecall[i]->start - 5);
|
||||||
loginfo->end_time = apr_time_from_sec(LD_info->autorecall[i]->end - 5);
|
loginfo->end_time = apr_time_from_sec(LD_info->autorecall[i]->end - 5);
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////根据配置文件控制下发补招时间为北京时间还是utc时间,上送的数据61850库会转换成北京时间?
|
||||||
|
loginfo->start_time = loginfo->end_time - utc_or_beijing;//下发utc时间需要减去8小时
|
||||||
|
loginfo->end_time = loginfo->end_time - utc_or_beijing;
|
||||||
|
/////////////////////////////////////////////////////
|
||||||
|
|
||||||
if (loginfo->need_steady == 0 && loginfo->need_voltage == 0)
|
if (loginfo->need_steady == 0 && loginfo->need_voltage == 0)
|
||||||
continue;
|
continue;
|
||||||
if (loginfo->end_time <= loginfo->start_time)
|
if (loginfo->end_time <= loginfo->start_time)
|
||||||
@@ -538,6 +565,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
//不管是否成功,这个补招文件必须删除,可能出现一直失败,循环读取文件和循环补招导致程序崩溃202050724lnk
|
//不管是否成功,这个补招文件必须删除,可能出现一直失败,循环读取文件和循环补招导致程序崩溃202050724lnk
|
||||||
//if (failed_count==0) {//成功
|
//if (failed_count==0) {//成功
|
||||||
Delete_recall_Xml(LD_info->mp_id);
|
Delete_recall_Xml(LD_info->mp_id);
|
||||||
|
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s结束补招数据", LD_info->name,LD_info->mp_id);
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -545,9 +545,11 @@ void processQVVR_end(LD_info_t* LD_info)
|
|||||||
long long utc_or_beijing;
|
long long utc_or_beijing;
|
||||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||||
s_or_ms = 0.001;
|
s_or_ms = 0.001;
|
||||||
|
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
s_or_ms = 1.0;
|
s_or_ms = 1.0;
|
||||||
|
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是毫秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(cfg.ValueOfTimeUnit, "utc") == 0){//上送的是utc还是北京
|
if(strcmp(cfg.ValueOfTimeUnit, "utc") == 0){//上送的是utc还是北京
|
||||||
|
|||||||
Reference in New Issue
Block a user