fix soe
This commit is contained in:
@@ -14091,26 +14091,20 @@ void handleUploadResponse(const std::string& response, char* wavepath) {
|
||||
std::cout << "Uploaded File Name: " << fileName << std::endl;
|
||||
std::cout << "File URL: " << url << std::endl;
|
||||
|
||||
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '/'
|
||||
const char *lastSlash = strrchr(name.c_str(), '/');
|
||||
|
||||
if (lastSlash != NULL) {
|
||||
// ȡ '/' ֮<><D6AE><EFBFBD>IJ<EFBFBD><C4B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
const char *filename = lastSlash + 1;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2>ֳ<EFBFBD>ǰ<EFBFBD>벿<EFBFBD>ֺͺ<D6BA><CDBA>벿<EFBFBD>ֽ<EFBFBD><D6BD>бȽϣ<C8BD>
|
||||
size_t len = strlen(filename);
|
||||
size_t halfLen = len / 2;
|
||||
if (strncmp(filename, filename + halfLen, halfLen) == 0) {
|
||||
strncpy(wavepath, filename, halfLen);
|
||||
wavepath[halfLen] = '\0'; // ȷ<><C8B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> '\0' <20><>β
|
||||
} else {
|
||||
strcpy(wavepath, filename);
|
||||
}
|
||||
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '.'
|
||||
size_t pos = fileName.find_last_of('.');
|
||||
std::string nameWithoutExt;
|
||||
|
||||
if (pos != std::string::npos) {
|
||||
// <20><>ȡȥ<C8A1><C8A5><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
||||
nameWithoutExt = fileName.substr(0, pos);
|
||||
} else {
|
||||
// <20><><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD> '/'<27><>ֱ<EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
|
||||
strcpy(wavepath, name.c_str());
|
||||
// <20><><EFBFBD><EFBFBD>û<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ԭ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
nameWithoutExt = fileName;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> wavepath
|
||||
strcpy(wavepath, nameWithoutExt.c_str());
|
||||
|
||||
std::cout << "wavepath: " << wavepath << std::endl;
|
||||
}
|
||||
@@ -14254,11 +14248,11 @@ void SOEFileWeb(char* localpath,char* cloudpath, char* wavepath)
|
||||
|
||||
void SOEFileWeb_test()
|
||||
{
|
||||
char localpath[128] = {"./file_test.txt"};
|
||||
char cloudpath[128] = {"/comtrade/file_test.txt"};
|
||||
char localpath[128] = {"/FeProject/comtrade/his/PQMonitor_PQM1_000420_20250310_151030_923.cfg"};
|
||||
char cloudpath[128] = {"/comtrade/192.168.1.105/"};
|
||||
char wavepath[128] = {""};
|
||||
SOEFileWeb(localpath,cloudpath,wavepath);
|
||||
std::cout << "wavepath" << wavepath << std::endl;
|
||||
std::cout << "wavepath:" << wavepath << std::endl;
|
||||
}
|
||||
/*/////////////////////////////////////////////////////////lnk10-24<32><34><EFBFBD><EFBFBD>web<65>ӿ<EFBFBD><D3BF><EFBFBD>/////////////////////////////////////////////////////////////*/
|
||||
/*<2A><>װC<D7B0>ɵ<EFBFBD><C9B5>õ<EFBFBD>̨<EFBFBD>˸<EFBFBD><CBB8>º<EFBFBD><C2BA><EFBFBD> */////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1995,29 +1995,21 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
char mq_file_fullname_cfg[256]; // Զ<><D4B6><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
memset(mq_file_fullname_cfg, 0, sizeof(mq_file_fullname_cfg));
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵĻ<C4B5><C4BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
char cfg_filename[128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 128
|
||||
strncpy(cfg_filename, cfg_only_filename_ret, sizeof(cfg_filename) - 1);
|
||||
cfg_filename[sizeof(cfg_filename) - 1] = '\0'; // ȷ<><C8B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> '\0' <20><>β
|
||||
|
||||
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '.'<27><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>λ<EFBFBD><CEBB>
|
||||
char *pos = strrchr(cfg_filename, '.');
|
||||
if (pos != NULL) {
|
||||
// <20><EFBFBD><DEB8><EFBFBD>չ<EFBFBD><D5B9>Ϊ ".CFG"
|
||||
strcpy(pos, ".CFG");
|
||||
}
|
||||
|
||||
// ʹ<><CAB9><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> apr_snprintf
|
||||
apr_snprintf(mq_file_fullname_cfg, sizeof(mq_file_fullname_cfg), "comtrade/%s/%s",
|
||||
LD_info->ied->channel[0].addr_str, cfg_filename);
|
||||
apr_snprintf(mq_file_fullname_cfg, sizeof(mq_file_fullname_cfg), "comtrade/%s/",
|
||||
LD_info->ied->channel[0].addr_str);
|
||||
|
||||
SOEFileWeb(loc_file_fullname_cfg, mq_file_fullname_cfg, wavepath_cfg);
|
||||
|
||||
printf("\n>>>>>>!! %s %s...... \n", mq_file_fullname_cfg, loc_file_fullname_cfg);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (FILE_FLAG == 4) {
|
||||
|
||||
}
|
||||
printf("\n>>>>>>!! %s %s...... \n", oss_file_fullname_cfg, loc_file_fullname_cfg);
|
||||
else{
|
||||
printf("\n>>>>>>!! %s %s...... \n", oss_file_fullname_cfg, loc_file_fullname_cfg);
|
||||
}
|
||||
|
||||
apr_snprintf(linux_cmd,sizeof(linux_cmd),"./sftp_upload %s %s/%04d",dat_only_filename_ret,file_yyyymm,LD_info->line_id);//<2F><>ͨ<EFBFBD><CDA8>sftp<74>ϴ<EFBFBD><CFB4>ŷ<EFBFBD>json<6F><6E>ȥ
|
||||
//printf("\n>>>>>> %s ...... \n",linux_cmd);
|
||||
@@ -2043,25 +2035,22 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
char mq_file_fullname_dat[256]; // Զ<><D4B6><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
memset(mq_file_fullname_dat, 0, sizeof(mq_file_fullname_dat));
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵĻ<C4B5><C4BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
char dat_filename[128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 128
|
||||
strncpy(dat_filename, cfg_only_filename_ret, sizeof(dat_filename) - 1);
|
||||
dat_filename[sizeof(dat_filename) - 1] = '\0'; // ȷ<><C8B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> '\0' <20><>β
|
||||
|
||||
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '.'<27><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>λ<EFBFBD><CEBB>
|
||||
char *pos = strrchr(dat_filename, '.');
|
||||
if (pos != NULL) {
|
||||
// <20><EFBFBD><DEB8><EFBFBD>չ<EFBFBD><D5B9>Ϊ ".CFG"
|
||||
strcpy(pos, ".CFG");
|
||||
}
|
||||
|
||||
// ʹ<><CAB9><EFBFBD>ĺ<DEB8><C4BA><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> apr_snprintf
|
||||
apr_snprintf(mq_file_fullname_dat, sizeof(mq_file_fullname_dat), "comtrade/%s/%s",
|
||||
LD_info->ied->channel[0].addr_str, dat_filename);
|
||||
apr_snprintf(mq_file_fullname_dat, sizeof(mq_file_fullname_dat), "comtrade/%s/",
|
||||
LD_info->ied->channel[0].addr_str);
|
||||
|
||||
SOEFileWeb(loc_file_fullname_cfg, mq_file_fullname_dat, wavepath_cfg);
|
||||
SOEFileWeb(loc_file_fullname_dat, mq_file_fullname_dat, wavepath_dat);
|
||||
|
||||
printf("\n>>>>>>!! %s %s...... \n", mq_file_fullname_dat, loc_file_fullname_dat);
|
||||
}
|
||||
printf("\n>>>>>>!! %s %s...... \n", oss_file_fullname_dat, loc_file_fullname_dat);
|
||||
|
||||
if (FILE_FLAG == 4) {
|
||||
|
||||
}
|
||||
else{
|
||||
printf("\n>>>>>>!! %s %s...... \n", oss_file_fullname_dat, loc_file_fullname_dat);
|
||||
}
|
||||
|
||||
/*<2A>ϴ<EFBFBD>.cfg<66><67>.dat<61><74><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>*/
|
||||
/*<2A>ϴ<EFBFBD><CFB4><EFBFBD>Ϣ*/
|
||||
//to send json of this qvvr and rdre
|
||||
@@ -2114,7 +2103,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
free(dat_result); // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
|
||||
}
|
||||
/*<2A>ϴ<EFBFBD><CFB4><EFBFBD>Ϣ*/
|
||||
qvvr->used_status = QVVR_DATA_NOT_USED;
|
||||
qvvr->used_status = QVVR_DATA_NOT_USED;//<2F>ϴ<EFBFBD><CFB4><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>qvvr<76><72>״̬<D7B4><CCAC>Ϊδʹ<CEB4><CAB9>
|
||||
free(uuid_cfg);
|
||||
free(uuid_dat);
|
||||
free(filename_cfg);
|
||||
|
||||
@@ -377,7 +377,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
if ( ('$'==mms_ref[length_FCDA-2]) && ('q'==mms_ref[length_FCDA-1]) ) {
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
printf("going q");
|
||||
//printf("going q");
|
||||
|
||||
if(not_set_log_q_this && ( log_data_type == STEADY_DATA )) {
|
||||
int quality = 0;
|
||||
@@ -413,7 +413,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
else if ( ('$'==mms_ref[length_FCDA-2]) && ('t'==mms_ref[length_FCDA-1]) ) {
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
printf("going t");
|
||||
//printf("going t");
|
||||
|
||||
if (not_set_log_t_this) {
|
||||
apr_time_t t = convert_btime6_to_apr_time(&(mms_dec_data.data_item[ii].u.data_bTime6));
|
||||
@@ -443,7 +443,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
}
|
||||
else {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
printf("going v");
|
||||
//printf("going v");
|
||||
|
||||
if ( log_data_type == QVVR_DATA ){
|
||||
processQVVR_data(loginfo->LD_info,mms_ref,v);
|
||||
|
||||
@@ -1059,10 +1059,10 @@ ST_VOID u_iec_rpt_ind_data_by_devtype(MVL_VAR_ASSOC** info_va,
|
||||
}
|
||||
else if (('$' == FULL_FCDA_Name[length_FCDA - 2]) && ('t' == FULL_FCDA_Name[length_FCDA - 1])) {
|
||||
if (not_set_rpt_TimeID_this) {
|
||||
apr_time_t t = convert_btime6_to_apr_time(&(mms_dec_data.data_item[ii].u.data_bTime6));
|
||||
apr_time_t t = convert_btime6_to_apr_time(&(mms_dec_data.data_item[ii].u.data_bTime6));//<><CEA2>
|
||||
if (strstr(rcb_info->RptID, "QVVR")) {//CZY 2023-08-17 WW 2022-11-14 <20><EFBFBD><DEB8>ж<EFBFBD>LLN0$BR$brcbQVVR
|
||||
if (strstr(FULL_FCDA_Name, "VarStr$t")) {
|
||||
processQVVR_time(LD_info, t / 1000);
|
||||
processQVVR_time(LD_info, t / 1000);//<2F><><EFBFBD><EFBFBD>
|
||||
not_set_rpt_TimeID_this = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -516,16 +516,7 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
ied_t *ied = LD_info->ied;
|
||||
ied_usr_t *ied_usr = GET_IEDEXT_ADDR(ied);
|
||||
int ret;
|
||||
long long end_tm = (long long)(LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime) + LD_info->qvvr[LD_info->qvvr_idx].QVVR_time; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
/*ret = transfer_json_qvvr_data(g_node_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʹ<EFBFBD><CAB9>
|
||||
LD_info->line_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg, LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime, LD_info->qvvr[LD_info->qvvr_idx].QVVR_time, end_tm, LD_info->qvvr[LD_info->qvvr_idx].QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
"", "", //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>Ϊ<EFBFBD><CEAA>
|
||||
LD_info->mp_id, LD_info->qvvr[LD_info->qvvr_idx].QVVR_Rptname, ied_usr->dev_type);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ļ<EFBFBD><C4BC>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(!ret)//ʧ<><CAA7>
|
||||
{
|
||||
printf("\n~~~~~~~~~~~~~~~~~ QVVR_json_data send error: line_id=%d \n",LD_info->line_id);
|
||||
}*/
|
||||
long long end_tm = (long long)(LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime) + LD_info->qvvr[LD_info->qvvr_idx].QVVR_time; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int find_paired = FALSE;
|
||||
@@ -539,8 +530,13 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
continue;
|
||||
if (LD_info->qvvr[i].used_status != QVVR_DATA_RECEIVED)//<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||
continue;
|
||||
//<2F><><EFBFBD><EFBFBD>ijλ<C4B3>õIJ<C3B5><C4B2><EFBFBD>Ҳû<D2B2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>λ<EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ͵<CDBA>ǰλ<C7B0>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||||
//<2F><><EFBFBD><EFBFBD>ijλ<C4B3>õIJ<C3B5><C4B2><EFBFBD>Ҳû<D2B2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>λ<EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ͵<CDBA>ǰλ<C7B0>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>¼<EFBFBD>һ<EFBFBD>λᷢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if ( (LD_info->qvvr[i].QVVR_type==0)||(LD_info->qvvr[i].QVVR_type==LD_info->qvvr[LD_info->qvvr_idx].QVVR_type) ) {
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("\n~~~~~~~this qvvr node type before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_type);
|
||||
printf("\n~~~~~~~now qvvr node type before record is %d~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_type);
|
||||
|
||||
LD_info->qvvr[i].used_status = QVVR_DATA_PAIRED; //ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[i].QVVR_type = LD_info->qvvr[LD_info->qvvr_idx].QVVR_type;
|
||||
LD_info->qvvr[i].QVVR_PerTime = LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime;
|
||||
@@ -549,10 +545,13 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
LD_info->qvvr[LD_info->qvvr_idx].used_status = QVVR_DATA_NOT_USED; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ͷ<EFBFBD>
|
||||
find_paired = TRUE;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("\n~~~~~~~qvvr node %d status is pair~~~~~~~~~~ \n",i);
|
||||
|
||||
//ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD>qvvr
|
||||
ret = transfer_json_qvvr_data(g_node_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʹ<EFBFBD><CAB9>
|
||||
LD_info->line_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[i].QVVR_Amg, LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime, LD_info->qvvr[LD_info->qvvr_idx].QVVR_time, end_tm, LD_info->qvvr[LD_info->qvvr_idx].QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg, LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime, LD_info->qvvr[LD_info->qvvr_idx].QVVR_time, end_tm, LD_info->qvvr[LD_info->qvvr_idx].QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
"", "", //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>Ϊ<EFBFBD><CEAA>
|
||||
LD_info->mp_id, LD_info->qvvr[LD_info->qvvr_idx].QVVR_Rptname, ied_usr->dev_type);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ļ<EFBFBD><C4BC>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(!ret)//ʧ<><CAA7>
|
||||
@@ -592,6 +591,7 @@ QVVR_t* find_qvvr_by_trig_tm(LD_info_t* LD_info, long long trig_tm)
|
||||
// <20><><EFBFBD>㵱ǰ QVVR <20><><EFBFBD>ݵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>봥<EFBFBD><EBB4A5>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
||||
diff = abs(LD_info->qvvr[i].QVVR_time - trig_tm);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("QVVRTIME:%lld >>>>> COMTRADE trig_tm:%lld >>>>> diff:%lld\n",LD_info->qvvr[i].QVVR_time,trig_tm,diff);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> QVVR <20><><EFBFBD>ݵ<EFBFBD>״̬<D7B4><CCAC> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><>QVVR_DATA_PAIRED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>С<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> 1<><31><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>룩
|
||||
|
||||
Reference in New Issue
Block a user