📄 faultdata.cpp
字号:
// FaultData.cpp : implementation file
//
#include "stdafx.h"
#include "故障测距.h"
#include "FaultData.h"
#include "calculate.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFaultData
IMPLEMENT_DYNCREATE(CFaultData, CFormView)
CFaultData::CFaultData()
: CFormView(CFaultData::IDD)
{
//{{AFX_DATA_INIT(CFaultData)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
CFaultData::~CFaultData()
{
}
void CFaultData::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFaultData)
DDX_Control(pDX, IDC_HEAD_N, m_HEAD_N);
DDX_Control(pDX, IDC_HEAD_DEG_UC, m_HEAD_DEG_UC);
DDX_Control(pDX, IDC_HEAD_DEG_UB, m_HEAD_DEG_UB);
DDX_Control(pDX, IDC_HEAD_DEG_UA, m_HEAD_DEG_UA);
DDX_Control(pDX, IDC_HEAD_DEG_IC, m_HEAD_DEG_IC);
DDX_Control(pDX, IDC_HEAD_DEG_IB, m_HEAD_DEG_IB);
DDX_Control(pDX, IDC_HEAD_DEG_IA, m_HEAD_DEG_IA);
DDX_Control(pDX, IDC_HEAD_AMP_UC, m_HEAD_AMP_UC);
DDX_Control(pDX, IDC_HEAD_AMP_UB, m_HEAD_AMP_UB);
DDX_Control(pDX, IDC_HEAD_AMP_UA, m_HEAD_AMP_UA);
DDX_Control(pDX, IDC_HEAD_AMP_IC, m_HEAD_AMP_IC);
DDX_Control(pDX, IDC_HEAD_AMP_IB, m_HEAD_AMP_IB);
DDX_Control(pDX, IDC_HEAD_AMP_IA, m_HEAD_AMP_IA);
DDX_Control(pDX, IDC_END_N, m_END_N);
DDX_Control(pDX, IDC_END_DEG_UC, m_END_DEG_UC);
DDX_Control(pDX, IDC_END_DEG_UB, m_END_DEG_UB);
DDX_Control(pDX, IDC_END_DEG_UA, m_END_DEG_UA);
DDX_Control(pDX, IDC_END_DEG_IC, m_END_DEG_IC);
DDX_Control(pDX, IDC_END_DEG_IB, m_END_DEG_IB);
DDX_Control(pDX, IDC_END_DEG_IA, m_END_DEG_IA);
DDX_Control(pDX, IDC_END_AMP_UC, m_END_AMP_UC);
DDX_Control(pDX, IDC_END_AMP_UB, m_END_AMP_UB);
DDX_Control(pDX, IDC_END_AMP_UA, m_END_AMP_UA);
DDX_Control(pDX, IDC_END_AMP_IC, m_END_AMP_IC);
DDX_Control(pDX, IDC_END_AMP_IB, m_END_AMP_IB);
DDX_Control(pDX, IDC_END_AMP_IA, m_END_AMP_IA);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFaultData, CFormView)
//{{AFX_MSG_MAP(CFaultData)
ON_BN_CLICKED(IDC_FAULT_DATA_HEAD, OnFaultDataHead)
ON_BN_CLICKED(IDC_FAULT_DATA_END, OnFaultDataEnd)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFaultData diagnostics
#ifdef _DEBUG
void CFaultData::AssertValid() const
{
CFormView::AssertValid();
}
void CFaultData::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFaultData message handlers
void CFaultData::OnFaultDataHead() //首端数据
{
FILE *fp ;
char filename[300] ;
CString S ;
int i ;
CFileDialog fileDlg (TRUE, NULL, NULL,
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, "*.dat|*.dat|All files|*.*||", this);
if( fileDlg.DoModal ()==IDOK )
{
flag_fault_head = HAVE_READ ;
CString pathName = fileDlg.GetPathName() ;
strncpy(filename,(LPCTSTR)pathName,sizeof(filename)) ;
fp = fopen(filename,"r") ;
//=====读入首端故障数据=====//
fscanf(fp,"%d",&(head_data.sample_point)) ;
S.Format("%d",head_data.sample_point) ;
m_HEAD_N.SetSel(0,-1) ;
m_HEAD_N.ReplaceSel(S) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Ua_head[i])) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Ub_head[i])) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Uc_head[i])) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Ia_head[i])) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Ib_head[i])) ;
for(i=0;i<head_data.sample_point;i++)
fscanf(fp,"%lf",&(Ic_head[i])) ;
//对首端数据进行FFT
//ua
head_data.ua = ::FFT_ZY(Ua_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.ua.amp) ;
m_HEAD_AMP_UA.SetSel(0,-1) ;
m_HEAD_AMP_UA.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ua.deg) ;
m_HEAD_DEG_UA.SetSel(0,-1) ;
m_HEAD_DEG_UA.ReplaceSel(S) ;
//ub
head_data.ub = ::FFT_ZY(Ub_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.ub.amp) ;
m_HEAD_AMP_UB.SetSel(0,-1) ;
m_HEAD_AMP_UB.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ub.deg) ;
m_HEAD_DEG_UB.SetSel(0,-1) ;
m_HEAD_DEG_UB.ReplaceSel(S) ;
//uc
head_data.uc = ::FFT_ZY(Uc_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.uc.amp) ;
m_HEAD_AMP_UC.SetSel(0,-1) ;
m_HEAD_AMP_UC.ReplaceSel(S) ;
S.Format("%.2lf",head_data.uc.deg) ;
m_HEAD_DEG_UC.SetSel(0,-1) ;
m_HEAD_DEG_UC.ReplaceSel(S) ;
//Ia
head_data.ia = ::FFT_ZY(Ia_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.ia.amp) ;
m_HEAD_AMP_IA.SetSel(0,-1) ;
m_HEAD_AMP_IA.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ia.deg) ;
m_HEAD_DEG_IA.SetSel(0,-1) ;
m_HEAD_DEG_IA.ReplaceSel(S) ;
//Ib
head_data.ib = ::FFT_ZY(Ib_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.ib.amp) ;
m_HEAD_AMP_IB.SetSel(0,-1) ;
m_HEAD_AMP_IB.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ib.deg) ;
m_HEAD_DEG_IB.SetSel(0,-1) ;
m_HEAD_DEG_IB.ReplaceSel(S) ;
//Ic
head_data.ic = ::FFT_ZY(Ic_head,head_data.sample_point) ;
S.Format("%.2lf",head_data.ic.amp) ;
m_HEAD_AMP_IC.SetSel(0,-1) ;
m_HEAD_AMP_IC.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ic.deg) ;
m_HEAD_DEG_IC.SetSel(0,-1) ;
m_HEAD_DEG_IC.ReplaceSel(S) ;
}
}
void CFaultData::Initial_data_head()
{
flag_fault_head = NON_READ ;
}
void CFaultData::Insert_data_head()
{
CString S ;
S.Format("%d",head_data.sample_point) ;
m_HEAD_N.SetSel(0,-1) ;
m_HEAD_N.ReplaceSel(S) ;
//ua
S.Format("%.2lf",head_data.ua.amp) ;
m_HEAD_AMP_UA.SetSel(0,-1) ;
m_HEAD_AMP_UA.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ua.deg) ;
m_HEAD_DEG_UA.SetSel(0,-1) ;
m_HEAD_DEG_UA.ReplaceSel(S) ;
//ub
S.Format("%.2lf",head_data.ub.amp) ;
m_HEAD_AMP_UB.SetSel(0,-1) ;
m_HEAD_AMP_UB.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ub.deg) ;
m_HEAD_DEG_UB.SetSel(0,-1) ;
m_HEAD_DEG_UB.ReplaceSel(S) ;
//uc
S.Format("%.2lf",head_data.uc.amp) ;
m_HEAD_AMP_UC.SetSel(0,-1) ;
m_HEAD_AMP_UC.ReplaceSel(S) ;
S.Format("%.2lf",head_data.uc.deg) ;
m_HEAD_DEG_UC.SetSel(0,-1) ;
m_HEAD_DEG_UC.ReplaceSel(S) ;
//Ia
S.Format("%.2lf",head_data.ia.amp) ;
m_HEAD_AMP_IA.SetSel(0,-1) ;
m_HEAD_AMP_IA.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ia.deg) ;
m_HEAD_DEG_IA.SetSel(0,-1) ;
m_HEAD_DEG_IA.ReplaceSel(S) ;
//Ib
S.Format("%.2lf",head_data.ib.amp) ;
m_HEAD_AMP_IB.SetSel(0,-1) ;
m_HEAD_AMP_IB.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ib.deg) ;
m_HEAD_DEG_IB.SetSel(0,-1) ;
m_HEAD_DEG_IB.ReplaceSel(S) ;
//Ic
S.Format("%.2lf",head_data.ic.amp) ;
m_HEAD_AMP_IC.SetSel(0,-1) ;
m_HEAD_AMP_IC.ReplaceSel(S) ;
S.Format("%.2lf",head_data.ic.deg) ;
m_HEAD_DEG_IC.SetSel(0,-1) ;
m_HEAD_DEG_IC.ReplaceSel(S) ;
}
void CFaultData::Initial_data_end()
{
flag_fault_end = NON_READ ;
}
void CFaultData::Insert_data_end()
{
CString S ;
S.Format("%d",end_data.sample_point) ;
m_END_N.SetSel(0,-1) ;
m_END_N.ReplaceSel(S) ;
//ua
S.Format("%.2lf",end_data.ua.amp) ;
m_END_AMP_UA.SetSel(0,-1) ;
m_END_AMP_UA.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ua.deg) ;
m_END_DEG_UA.SetSel(0,-1) ;
m_END_DEG_UA.ReplaceSel(S) ;
//ub
S.Format("%.2lf",end_data.ub.amp) ;
m_END_AMP_UB.SetSel(0,-1) ;
m_END_AMP_UB.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ub.deg) ;
m_END_DEG_UB.SetSel(0,-1) ;
m_END_DEG_UB.ReplaceSel(S) ;
//uc
S.Format("%.2lf",end_data.uc.amp) ;
m_END_AMP_UC.SetSel(0,-1) ;
m_END_AMP_UC.ReplaceSel(S) ;
S.Format("%.2lf",end_data.uc.deg) ;
m_END_DEG_UC.SetSel(0,-1) ;
m_END_DEG_UC.ReplaceSel(S) ;
//Ia
S.Format("%.2lf",end_data.ia.amp) ;
m_END_AMP_IA.SetSel(0,-1) ;
m_END_AMP_IA.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ia.deg) ;
m_END_DEG_IA.SetSel(0,-1) ;
m_END_DEG_IA.ReplaceSel(S) ;
//Ib
S.Format("%.2lf",end_data.ib.amp) ;
m_END_AMP_IB.SetSel(0,-1) ;
m_END_AMP_IB.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ib.deg) ;
m_END_DEG_IB.SetSel(0,-1) ;
m_END_DEG_IB.ReplaceSel(S) ;
//Ic
S.Format("%.2lf",end_data.ic.amp) ;
m_END_AMP_IC.SetSel(0,-1) ;
m_END_AMP_IC.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ic.deg) ;
m_END_DEG_IC.SetSel(0,-1) ;
m_END_DEG_IC.ReplaceSel(S) ;
}
void CFaultData::OnFaultDataEnd()
{
FILE *fp ;
char filename[300] ;
CString S ;
int i ;
CFileDialog fileDlg (TRUE, NULL, NULL,
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, "*.dat|*.dat|All files|*.*||", this);
if( fileDlg.DoModal ()==IDOK )
{
flag_fault_end = HAVE_READ ;
CString pathName = fileDlg.GetPathName() ;
strncpy(filename,(LPCTSTR)pathName,sizeof(filename)) ;
fp = fopen(filename,"r") ;
//=====读入末端故障数据=====//
fscanf(fp,"%d",&(end_data.sample_point)) ;
S.Format("%d",end_data.sample_point) ;
m_END_N.SetSel(0,-1) ;
m_END_N.ReplaceSel(S) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Ua_end[i])) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Ub_end[i])) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Uc_end[i])) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Ia_end[i])) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Ib_end[i])) ;
for(i=0;i<end_data.sample_point;i++)
fscanf(fp,"%lf",&(Ic_end[i])) ;
//对末端数据进行FFT
//ua
end_data.ua = ::FFT_ZY(Ua_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.ua.amp) ;
m_END_AMP_UA.SetSel(0,-1) ;
m_END_AMP_UA.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ua.deg) ;
m_END_DEG_UA.SetSel(0,-1) ;
m_END_DEG_UA.ReplaceSel(S) ;
//ub
end_data.ub = ::FFT_ZY(Ub_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.ub.amp) ;
m_END_AMP_UB.SetSel(0,-1) ;
m_END_AMP_UB.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ub.deg) ;
m_END_DEG_UB.SetSel(0,-1) ;
m_END_DEG_UB.ReplaceSel(S) ;
//uc
end_data.uc = ::FFT_ZY(Uc_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.uc.amp) ;
m_END_AMP_UC.SetSel(0,-1) ;
m_END_AMP_UC.ReplaceSel(S) ;
S.Format("%.2lf",end_data.uc.deg) ;
m_END_DEG_UC.SetSel(0,-1) ;
m_END_DEG_UC.ReplaceSel(S) ;
//Ia
end_data.ia = ::FFT_ZY(Ia_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.ia.amp) ;
m_END_AMP_IA.SetSel(0,-1) ;
m_END_AMP_IA.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ia.deg) ;
m_END_DEG_IA.SetSel(0,-1) ;
m_END_DEG_IA.ReplaceSel(S) ;
//Ib
end_data.ib = ::FFT_ZY(Ib_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.ib.amp) ;
m_END_AMP_IB.SetSel(0,-1) ;
m_END_AMP_IB.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ib.deg) ;
m_END_DEG_IB.SetSel(0,-1) ;
m_END_DEG_IB.ReplaceSel(S) ;
//Ic
end_data.ic = ::FFT_ZY(Ic_end,end_data.sample_point) ;
S.Format("%.2lf",end_data.ic.amp) ;
m_END_AMP_IC.SetSel(0,-1) ;
m_END_AMP_IC.ReplaceSel(S) ;
S.Format("%.2lf",end_data.ic.deg) ;
m_END_DEG_IC.SetSel(0,-1) ;
m_END_DEG_IC.ReplaceSel(S) ;
}
}
void CFaultData::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
if(flag_fault_head==NON_READ)
//参数初始化
CFaultData::Initial_data_head() ;
else if(flag_fault_head==HAVE_READ)
//载入已经读入的数据
CFaultData::Insert_data_head() ;
if(flag_fault_end==NON_READ)
//参数初始化
CFaultData::Initial_data_end() ;
else if(flag_fault_end==HAVE_READ)
//载入已经读入的数据
CFaultData::Insert_data_end() ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -