完善运动曲线图的显示

This commit is contained in:
TAO Cheng
2013-06-17 15:29:15 +08:00
parent ce02b9364f
commit c722659c41
9 changed files with 473 additions and 272 deletions
@@ -1159,3 +1159,60 @@ Construct Cso7_Proto.
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
@@ -2,6 +2,7 @@
//
#include "stdafx.h"
#include <math.h>
#include "DrawGraph.h"
@@ -87,6 +88,12 @@ void CDrawGraph::SetViewFont(const CString& strFont, int nPointSize, int nWeight
Invalidate();
}
//========================================================
void CDrawGraph::SetCoordinateLabel(const CString& _XAxis,const CString& _YAxis)
{
m_XAxisLabel=_XAxis;
m_YAxisLabel=_YAxis;
}
//========================================================
void CDrawGraph::SetMargin(int nLeft, int nTop, int nRight, int nBottom, BOOL bIsRedraw)
{
m_nMarginLeft = nLeft;
@@ -125,7 +132,26 @@ void CDrawGraph::SetResolution(double dbResolutionX, double dbResolutionY, BOOL
Invalidate();
}
//========================================================
void CDrawGraph::LoadGraphyData(DataBuff& dataShow)
void CDrawGraph::LoadGraphyXAxisData(DataBuff& dataShow)
{
double dbData;
INT_PTR nCount = dataShow.GetCount();
if(nCount==0)
return;
m_dataGraphX.RemoveAll();
m_dataGraphX.SetSize(nCount);
for(int i=0; i<nCount; i++)
{
dbData = dataShow.ElementAt(i);
m_dataGraphX.SetAt(i, dbData);
}
Invalidate();
}
//========================================================
void CDrawGraph::LoadGraphyYAxisData(DataBuff& dataShow)
{
double dbData;
INT_PTR nCount = dataShow.GetCount();
@@ -133,26 +159,26 @@ void CDrawGraph::LoadGraphyData(DataBuff& dataShow)
if(nCount==0)
return;
m_dataGraph.RemoveAll();
m_dataGraph.SetSize(nCount);
m_dataGraphY.RemoveAll();
m_dataGraphY.SetSize(nCount);
for(int i=0; i<nCount; i++)
{
dbData = dataShow.ElementAt(i);
m_dataGraph.SetAt(i, dbData);
m_dataGraphY.SetAt(i, dbData);
}
Invalidate();
}
//========================================================
void CDrawGraph::AddGraphyData(double _data)
{
m_dataGraph.Add(_data);
m_dataGraphY.Add(_data);
Invalidate();
}
//=======================================================
void CDrawGraph::RemoveGraphyData(BOOL bIsRedraw)
{
m_dataGraph.RemoveAll();
m_dataGraphY.RemoveAll();
if(bIsRedraw)
Invalidate();
};
@@ -212,9 +238,9 @@ void CDrawGraph::DrawCoordinate(CDC* pDC, CRect rectCoord)
font.CreatePointFontIndirect (&lf);
CFont* pOldFont = pDC->SelectObject (&font);
pDC->TextOut(rectCoord.left-40,rectCoord.top+(rectCoord.Height()/2)+30,_T("速度(mm/s)"));//旋转90°输出
pDC->TextOut(rectCoord.left-40,rectCoord.top+(rectCoord.Height()/2)+30,m_YAxisLabel);//旋转90°输出
pDC->SelectObject (pOldFont);
pDC->TextOut(rectCoord.left-20+(rectCoord.Width()/2),rectCoord.bottom+15,_T("时间(s)"));
pDC->TextOut(rectCoord.left-20+(rectCoord.Width()/2),rectCoord.bottom+15,m_XAxisLabel);
nOffset = 4;
rectTemp.SetRect(rectCoord.left+nOffset, rectCoord.top+1, rectCoord.right, rectCoord.bottom-nOffset);
@@ -226,18 +252,18 @@ void CDrawGraph::DrawActualCurve(CDC *pDC, CRect rectCoord)
CRect rectView;
CRgn rgnTemp, rgnView;
CPen penLine, *pOldPen;
INT_PTR nCount = m_dataGraph.GetCount();
INT_PTR nCount = m_dataGraphY.GetCount();
if(nCount==0)
return;
double dbData(0.0);
int nOffsetX(0), nOffsetY(0),nOriginX(0),nOriginY(0);
dbData = m_dataGraph.ElementAt(0);
dbData = m_dataGraphY.ElementAt(0);
nOriginX = rectCoord.left;
nOriginY = rectCoord.bottom;;
nOffsetX = static_cast<int>(m_dbResolutionX*(rectCoord.Width()));
nOffsetY = static_cast<int>(m_dbResolutionY*(rectCoord.Height())*dbData);
nOffsetY = static_cast<int>(m_dbResolutionY*(rectCoord.Height())*(dbData-m_dbStartY));
rgnTemp.CreateRectRgnIndirect(rectCoord);
pDC->SelectObject(rgnTemp);
@@ -249,8 +275,8 @@ void CDrawGraph::DrawActualCurve(CDC *pDC, CRect rectCoord)
for(int i=1; i<nCount; i++)
{
dbData = m_dataGraph.ElementAt(i);
nOffsetY = static_cast<int>(m_dbResolutionY*(rectCoord.Height())*dbData);
dbData = m_dataGraphY.ElementAt(i);
nOffsetY = static_cast<int>(m_dbResolutionY*(rectCoord.Height())*(dbData-m_dbStartY));
pDC->LineTo(nOriginX+nOffsetX*i, nOriginY-nOffsetY);
}
@@ -265,7 +291,7 @@ void CDrawGraph::DrawIdealCurve(CDC *pDC, CRect rectCoord)
CRect rectView;
CRgn rgnTemp, rgnView;
CPen penLine, *pOldPen;
INT_PTR nCount = m_dataGraph.GetCount();
INT_PTR nCount = m_dataGraphY.GetCount();
if(nCount==0)
return;
@@ -285,13 +311,13 @@ void CDrawGraph::DrawIdealCurve(CDC *pDC, CRect rectCoord)
penLine.CreatePen(PS_SOLID, 1, m_clrWave);
pOldPen = pDC->SelectObject(&penLine);
dbData = m_dataGraph.ElementAt(0);
dbData = m_dataGraphY.ElementAt(0);
nOffsetY = int(nCoordHeight*dbData/nRangY);
pDC->MoveTo(nOriginX, nOriginY-nOffsetY);
for(int i=1; i<nCount; i++)
{
dbData = m_dataGraph.ElementAt(i);
dbData = m_dataGraphY.ElementAt(i);
nOffsetX = int(nCoordWith*(i+1)/nRangX);
nOffsetY = int(nCoordHeight*dbData/nRangY);
@@ -21,8 +21,9 @@ class CDrawGraph : public CWnd
double m_dbStartX, m_dbEndX,m_dbStartY,m_dbEndY;
double m_dbResolutionX,m_dbResolutionY;
int m_nDivisionX,m_nDivisionY;
DataBuff m_dataGraph;
DataBuff m_dataGraphY;
DataBuff m_dataGraphX;
CString m_XAxisLabel,m_YAxisLabel;
public:
CDrawGraph();
virtual ~CDrawGraph();
@@ -32,8 +33,10 @@ public:
void SetMargin(int nLeft, int nTop, int nRight, int nBottom, BOOL bIsRedraw=TRUE);
bool SetGraphyView(double dbStartX, double dbEndX, double dbStartY, double dbEndY, int nDivisionX = 10, int nDivisionY = 10, BOOL bIsRedraw=TRUE);
void SetResolution(double dbResolutionX, double dbResolutionY, BOOL bIsRedraw=TRUE);
void LoadGraphyData(DataBuff& dataShow);
void LoadGraphyYAxisData(DataBuff& dataShow);
void LoadGraphyXAxisData(DataBuff& dataShow);
void AddGraphyData(double _data);
void SetCoordinateLabel(const CString& _XAxis,const CString& _YAxis);
void RemoveGraphyData(BOOL bIsRedraw=TRUE);
void DrawCoordinate(CDC* pDC, CRect rectCoord);
void DrawIdealCurve(CDC* pDC, CRect rectCoord);
@@ -138,16 +138,19 @@ BEGIN
PUSHBUTTON "so7_config",IDC_BUTTON_SETUP_SO7CONFIG,20,184,44,23
END
IDD_S07_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 753, 471
IDD_S07_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 753, 481
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Send Parameter"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,390,415,20,10
CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,390,426,20,10
CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,390,437,20,10
CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,418,51,10
CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,432,51,10
GROUPBOX "坐标轴",IDC_STATIC,379,399,50,56
CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,391,413,20,10
CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,391,426,20,10
CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,391,439,20,10
GROUPBOX "曲线类型",IDC_STATIC,308,398,66,57
CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,413,51,10
CONTROL "位移-速度",IDC_RADIO_CANVAS_SPEED_POSTION,"Button",BS_AUTORADIOBUTTON,315,426,51,10
CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,439,51,10
EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X1,93,55,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X1,143,55,40,12,ES_AUTOHSCROLL
@@ -239,7 +242,7 @@ BEGIN
PUSHBUTTON "Save To Controller",IDC_BUTTON_SAVE_PARAMETER,46,410,50,24,BS_MULTILINE
PUSHBUTTON "Read From Controller",IDC_BUTTON_READ_PARAMETER_FROM_CONTROLLER,120,410,50,24,BS_MULTILINE
PUSHBUTTON "Save...",IDC_BUTTON_SAVE,194,410,50,24
PUSHBUTTON "Exit",IDCANCEL,696,426,50,14
PUSHBUTTON "Exit",IDCANCEL,696,449,50,14
LTEXT "Z=",IDC_STATIC,229,381,10,8
LTEXT "Y=",IDC_STATIC,90,296,10,8
EDITTEXT IDC_EDIT_INPUT_FILE,58,12,186,14,ES_AUTOHSCROLL
@@ -282,16 +285,14 @@ BEGIN
LTEXT "POS WORKING LIMIT",IDC_STATIC,20,382,69,8
LTEXT "X=",IDC_STATIC,104,381,10,8
LTEXT "Y=",IDC_STATIC,166,381,10,8
EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,408,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,408,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,405,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,405,40,14,ES_AUTOHSCROLL
PUSHBUTTON "开始",IDC_BUTTON_START_SAMPLE_SCURVE,628,407,50,14
LTEXT "相对距离",IDC_STATIC,436,410,33,8
LTEXT "采样时间",IDC_STATIC,529,410,33,8
LTEXT "相对距离",IDC_STATIC,436,407,33,8
LTEXT "采样时间",IDC_STATIC,529,407,33,8
PUSHBUTTON "Stop",IDC_BUTTON_STOP_SAMPLE_SCURVE,627,425,50,14
CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,34,423,349
GROUPBOX "曲线类型",IDC_STATIC,308,404,66,48
EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,443,431,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
GROUPBOX "坐标轴",IDC_STATIC,379,404,50,48
CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,29,423,349
EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,440,428,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
END
IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460
@@ -352,7 +353,7 @@ END
IDD_S07_OPTION_DIALOG DIALOGEX 0, 0, 298, 166
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Option Dialog"
CAPTION "Utility for SO7"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON,48,39,69,10
@@ -12,6 +12,7 @@
extern CSO7_Proto* m_pSO7_Proto;
#define PAUSE_TIME_CHANGE_PARAMETER 20
#define MAX_SAMPLE_DIFF_VALUE 100
//#include "INIFile.h"
// CSO7_Send_Parameter dialog
@@ -39,6 +40,7 @@ IMPLEMENT_DYNAMIC(CSO7_Send_Parameter, CDialog)
m_FinishTime=0;
m_duration=0.0;
m_TimerCnt=0;
m_MotionDir=true;
}
//================================================================
CSO7_Send_Parameter::~CSO7_Send_Parameter()
@@ -165,7 +167,6 @@ BEGIN_MESSAGE_MAP(CSO7_Send_Parameter, CDialog)
ON_EN_KILLFOCUS(IDC_EDIT_SAMPLE_TIME_SCURVE, &CSO7_Send_Parameter::OnEnKillfocusEditSampleTimeScurve)
ON_BN_CLICKED(IDC_BUTTON_START_SAMPLE_SCURVE, &CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve)
ON_BN_CLICKED(IDC_BUTTON_STOP_SAMPLE_SCURVE, &CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve)
ON_BN_CLICKED(IDC_RADIO_CANVAS_SPEED_TIME, &CSO7_Send_Parameter::OnBnClickedRadioCanvasSpeedTime)
END_MESSAGE_MAP()
@@ -221,12 +222,32 @@ void CSO7_Send_Parameter::OnPaint()
OnDraw(&dc);
CDialog::OnPaint();
}
//================================================================
void CSO7_Send_Parameter::OnDraw(CDC* pDC)
{
UNREFERENCED_PARAMETER(pDC);
//CWnd* m_p=(CWnd*)GetDlgItem(IDC_STATIC_CANVAS);
//m_p->GetWindowRect(&CanvasRect);
//CanvasRect.SetRect(550,50,1100,600);//L T R B
};
//================================================================================================
BOOL CSO7_Send_Parameter::OnEraseBkgnd(CDC* pDC)
{
//UNREFERENCED_PARAMETER(pDC);
//return TRUE;
return CDialog::OnEraseBkgnd(pDC);
}
//================================================================
void CSO7_Send_Parameter::OnBnClickedOk()
{
KillTimer(1);
CDialog::OnOK();
}
#pragma region Send_Parameter
//================================================================
void CSO7_Send_Parameter::OnBnClickedButtonBrowse()
{
@@ -467,156 +488,9 @@ void CSO7_Send_Parameter::ShowParameterOnEdit()
UpdateData(FALSE);
}
#pragma endregion
//================================================================
void CSO7_Send_Parameter::OnDraw(CDC* pDC)
{
UNREFERENCED_PARAMETER(pDC);
//CWnd* m_p=(CWnd*)GetDlgItem(IDC_STATIC_CANVAS);
//m_p->GetWindowRect(&CanvasRect);
//CanvasRect.SetRect(550,50,1100,600);//L T R B
};
//================================================================================================
void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent)
{
USES_CONVERSION;
switch(nIDEvent)
{
case 1:
{
if (m_pSO7_Proto)
{
if (m_pSO7_Proto->g_machine.s_status._machine_running)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ();
if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck())
{
if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck())
{
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(m_pSO7_Proto->g_machine.x._d_cur_pos_);
if((abs(m_pSO7_Proto->g_machine.x._d_cur_pos_)-abs(m_dPos))<0.0)
{
m_csMSG.Format(_T("X Reverse;%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("X Normal;%f->%f"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck())
{
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(m_pSO7_Proto->g_machine.y._d_cur_pos_);
if((abs(m_pSO7_Proto->g_machine.y._d_cur_pos_)-abs(m_dPos))<0.0)
{
m_csMSG.Format(_T("Y Reverse;%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Y Normal;%f->%f"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck())
{
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(m_pSO7_Proto->g_machine.z._d_cur_pos_);
if((abs(m_pSO7_Proto->g_machine.z._d_cur_pos_)-abs(m_dPos))<0.0)
{
m_csMSG.Format(_T("Z Reverse;%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Z Normal;%f->%f"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
}
if(nCount!=0)
{if (abs(m_dataGraph.ElementAt(nCount)-m_dataGraph.ElementAt(nCount-1))<0.000001)
{
m_DrawGraph.LoadGraphyData(m_dataGraph);
KillTimer(1);
}}
}
else
{
if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck())
{
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(static_cast<double>(((1000.0*(fabs(m_pSO7_Proto->g_machine.x._d_cur_pos_-m_dPos)))/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck())
{
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.y._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck())
{
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_FinishTime=clock();
m_duration=m_FinishTime-m_StartTime;
m_dataGraph.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.z._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
}
if (m_TimerCnt<=nCount)
{
KillTimer(1);
INT_PTR nTmpCount = m_dataGraph.GetCount();
double dbData(0.0);
m_dbEndY=dbData;
m_dbStartY=dbData;
for(int i=0; i<nTmpCount; i++)
{
dbData = m_dataGraph.ElementAt(i);
if(dbData>m_dbEndY)
m_dbEndY=dbData;
if(dbData<m_dbStartY)
m_dbStartY=dbData;
}
m_dbResolutionY=static_cast<double>(1/(m_dbEndY-m_dbStartY));
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY);
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.LoadGraphyData(m_dataGraph);
}
}
nCount++;
m_StartTime=clock();
}
}
break;
}
}
CDialog::OnTimer(nIDEvent);
}
//#pragma region Sample_Motion_Curve
//================================================================================================
void CSO7_Send_Parameter::OnEnKillfocusEditSampleScurveDis()
@@ -629,6 +503,14 @@ void CSO7_Send_Parameter::OnEnKillfocusEditSampleScurveDis()
const char* cTempValue=T2A(str);
m_dMoveDis = atof(cTempValue);
if (m_dMoveDis<0)
{
m_MotionDir=false;
}
else
{
m_MotionDir=true;
}
}
@@ -643,11 +525,27 @@ void CSO7_Send_Parameter::OnEnKillfocusEditSampleTimeScurve()
const char* cTempValue=T2A(str);
m_SampleTime = atof(cTempValue);
m_dbStartX=0;
m_dbEndX=m_SampleTime;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY,TRUE);
if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck())
{
m_dbStartX=0;
m_dbEndX=m_SampleTime;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY,TRUE);
}
else if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->GetCheck())
{
m_dbStartX=0;
m_dbEndX=m_SampleTime;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY,TRUE);
}
else if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_POSTION))->GetCheck())
{
;
}
}
//================================================================================================
@@ -676,14 +574,19 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve()
m_dbEndX=m_SampleTime;
if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck())
{
// m_dbStartY=0;
// m_dbEndY=50;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
// m_dbResolutionY=static_cast<double>(1/m_dbEndY);
m_nDivisionX=10;
m_nDivisionY=10;
m_DrawGraph.SetCoordinateLabel(_T("时间(s)"),_T("位置(mm)"));
}
else
else if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->GetCheck())
{
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_nDivisionX=10;
m_nDivisionY=10;
m_DrawGraph.SetCoordinateLabel(_T("时间(s)"),_T("速度(mm/s)"));
}
else if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_POSTION))->GetCheck())
{
//m_dbStartY=0;
//m_dbEndY=50;
@@ -691,11 +594,11 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve()
//m_dbResolutionY=static_cast<double>(1/m_dbEndY);
m_nDivisionX=10;
m_nDivisionY=10;
m_DrawGraph.SetCoordinateLabel(_T("位置(mm)"),_T("速度(mm/s)"));
}
nCount=0;
m_dataGraph.RemoveAll();
m_dataGraphY.RemoveAll();
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY);
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_TimerCnt=static_cast<int>((m_SampleTime*1000)/m_TimerInterval);
@@ -709,20 +612,225 @@ void CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve()
{
m_TimerCnt=0;
}
//================================================================================================
void CSO7_Send_Parameter::Sample_Speed_Time_Curve()
{
if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck())
{
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(((1000.0*(fabs(m_pSO7_Proto->g_machine.x._d_cur_pos_-m_dPos)))/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck())
{
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.y._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck())
{
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.z._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
}
};
//================================================================================================
BOOL CSO7_Send_Parameter::OnEraseBkgnd(CDC* pDC)
void CSO7_Send_Parameter::Sample_Position_Time_Curve()
{
//UNREFERENCED_PARAMETER(pDC);
//return TRUE;
return CDialog::OnEraseBkgnd(pDC);
}
void CSO7_Send_Parameter::OnBnClickedRadioCanvasSpeedTime()
{
// TODO: Add your control notification handler code here
if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck())
{
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(m_pSO7_Proto->g_machine.x._d_cur_pos_);
if (m_MotionDir)
{
if((m_pSO7_Proto->g_machine.x._d_cur_pos_-m_dPos)<0.0)
{
m_csMSG.Format(_T("X Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("X Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
else
{
if((m_pSO7_Proto->g_machine.x._d_cur_pos_-m_dPos)>0.0)
{
m_csMSG.Format(_T("X Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("X Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.x._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck())
{
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(m_pSO7_Proto->g_machine.y._d_cur_pos_);
if (m_MotionDir)
{
if((m_pSO7_Proto->g_machine.y._d_cur_pos_-m_dPos)<0.0)
{
m_csMSG.Format(_T("Y Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Y Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
else
{
if((m_pSO7_Proto->g_machine.y._d_cur_pos_-m_dPos)>0.0)
{
m_csMSG.Format(_T("Y Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Y Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.y._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck())
{
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(m_pSO7_Proto->g_machine.z._d_cur_pos_);
if (m_MotionDir)
{
if((m_pSO7_Proto->g_machine.z._d_cur_pos_-m_dPos)<0.0)
{
m_csMSG.Format(_T("Z Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Z Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
else
{
if((m_pSO7_Proto->g_machine.z._d_cur_pos_-m_dPos)>0.0)
{
m_csMSG.Format(_T("Z Reverse:%f->%f!!!"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
else
{
m_csMSG.Format(_T("Z Normal:%f->%f"),m_dPos,m_pSO7_Proto->g_machine.z._d_cur_pos_);
OutputWithScroll(m_csMSG,m_edMSG);
}
}
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
}
};
//================================================================================================
void CSO7_Send_Parameter::Sample_Speed_Position_Curve()
{
if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_X))->GetCheck())
{
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(((1000.0*(fabs(m_pSO7_Proto->g_machine.x._d_cur_pos_-m_dPos)))/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.x._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->GetCheck())
{
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.y._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.y._d_cur_pos_;
}
else if(((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->GetCheck())
{
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_duration=m_FinishTime-m_StartTime;
m_dataGraphY.Add(static_cast<double>(1000.0*(fabs(m_pSO7_Proto->g_machine.z._d_cur_pos_-m_dPos)/m_duration)));
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
}
};
//================================================================================================
void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent)
{
USES_CONVERSION;
switch(nIDEvent)
{
case 1:
{
if (m_pSO7_Proto)
{
if (m_pSO7_Proto->g_machine.s_status._machine_running)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ();
m_FinishTime=clock();
if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->GetCheck())
{
Sample_Speed_Time_Curve();
}
else if (((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_POSTION))->GetCheck())
{
Sample_Speed_Position_Curve();
}
else if (((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck())
{
Sample_Position_Time_Curve();
}
if (m_TimerCnt<=nCount)
{
KillTimer(1);
INT_PTR nTmpCount = m_dataGraphY.GetCount();
double dbData(0.0);
dbData = m_dataGraphY.ElementAt(0);
m_dbEndY=dbData;
m_dbStartY=dbData;
for(INT_PTR i=10; i<nTmpCount; i++)
{
dbData = m_dataGraphY.ElementAt(i);
if((dbData-m_dbEndY)>0.0 &&(dbData-m_dbEndY)<MAX_SAMPLE_DIFF_VALUE)
m_dbEndY=dbData;
if((m_dbStartY-dbData)>0.0 &&(m_dbStartY-dbData)<MAX_SAMPLE_DIFF_VALUE)
m_dbStartY=dbData;
}
m_dbEndY+=fabs((m_dbEndY-m_dbStartY)*0.05);
m_dbResolutionY=static_cast<double>(1.0/(m_dbEndY-m_dbStartY));
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY);
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.LoadGraphyYAxisData(m_dataGraphY);
}
nCount++;
m_StartTime=clock();
}
}
break;
}
}
CDialog::OnTimer(nIDEvent);
}
//#pragma endregion
//=====================================================================================
//Print message on edit control
void CSO7_Send_Parameter::OutputWithScroll(const CString &strNewText,CEdit &edtOutput)
@@ -7,93 +7,98 @@
class CSO7_Send_Parameter : public CDialog
{
DECLARE_DYNAMIC(CSO7_Send_Parameter)
DECLARE_DYNAMIC(CSO7_Send_Parameter)
public:
CSO7_Send_Parameter(CWnd* pParent = NULL); // standard constructor
virtual ~CSO7_Send_Parameter();
CSO7_Send_Parameter(CWnd* pParent = NULL); // standard constructor
virtual ~CSO7_Send_Parameter();
// Dialog Data
enum { IDD = IDD_S07_UTIL_SEND_PARAMETER };
// Dialog Data
enum { IDD = IDD_S07_UTIL_SEND_PARAMETER };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnPaint();
void OnDraw(CDC* pDC);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
DECLARE_MESSAGE_MAP()
DECLARE_MESSAGE_MAP()
public:
clock_t m_StartTime, m_FinishTime;
double m_duration;
CString m_csMSG;
CEdit m_edMSG;
DataBuff m_dataGraph;
CDrawGraph m_DrawGraph;
double m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY;
int m_nDivisionX,m_nDivisionY;
int nCount;
double m_StartPos,m_dPos,m_dMoveDis;
double m_SampleTime;
int m_TimerInterval;
double m_dbResolutionX,m_dbResolutionY;
CRect CanvasRect;
int m_TimerCnt;
clock_t m_StartTime, m_FinishTime;
double m_duration;
CString m_csMSG;
CEdit m_edMSG;
DataBuff m_dataGraphX;
DataBuff m_dataGraphY;
CDrawGraph m_DrawGraph;
double m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY;
int m_nDivisionX,m_nDivisionY;
int nCount;
double m_StartPos,m_dPos,m_dMoveDis;
double m_SampleTime;
int m_TimerInterval;
double m_dbResolutionX,m_dbResolutionY;
CRect CanvasRect;
int m_TimerCnt;
bool m_MotionDir;
public:
CString m_csBaseSpeedX[5];
CString m_csMaxSpeedX[5];
CString m_csStartSpeedX[5];
CString m_csFreshSpeedX[5];
CString m_csSlowDisX[5];
CString m_csBaseSpeedX[5];
CString m_csMaxSpeedX[5];
CString m_csStartSpeedX[5];
CString m_csFreshSpeedX[5];
CString m_csSlowDisX[5];
CString m_csBaseSpeedY[5];
CString m_csMaxSpeedY[5];
CString m_csStartSpeedY[5];
CString m_csFreshSpeedY[5];
CString m_csSlowDisY[5];
CString m_csBaseSpeedY[5];
CString m_csMaxSpeedY[5];
CString m_csStartSpeedY[5];
CString m_csFreshSpeedY[5];
CString m_csSlowDisY[5];
CString m_csBaseSpeedZ[5];
CString m_csMaxSpeedZ[5];
CString m_csStartSpeedZ[5];
CString m_csFreshSpeedZ[5];
CString m_csSlowDisZ[5];
CString m_csBaseSpeedZ[5];
CString m_csMaxSpeedZ[5];
CString m_csStartSpeedZ[5];
CString m_csFreshSpeedZ[5];
CString m_csSlowDisZ[5];
CString m_csWheelbaseX;
CString m_csWheelbaseY;
CString m_csWheelbaseZ;
CString m_csPulseNum;
CString m_csWheelbaseX;
CString m_csWheelbaseY;
CString m_csWheelbaseZ;
CString m_csPulseNum;
CString m_csPercisionX;
CString m_csPercisionY;
CString m_csPercisionZ;
CString m_csPercisionX;
CString m_csPercisionY;
CString m_csPercisionZ;
CString m_csNegWorkLimitX;
CString m_csNegWorkLimitY;
CString m_csNegWorkLimitZ;
CString m_csNegWorkLimitX;
CString m_csNegWorkLimitY;
CString m_csNegWorkLimitZ;
CString m_csPosWorkLimitX;
CString m_csPosWorkLimitY;
CString m_csPosWorkLimitZ;
CString m_csPosWorkLimitX;
CString m_csPosWorkLimitY;
CString m_csPosWorkLimitZ;
CStatusBarCtrl m_StatusBar;
CStatusBarCtrl m_StatusBar;
void ShowParameterOnEdit();
void ChangeParameterOnEdit();
void ShowParameterOnEdit();
void ChangeParameterOnEdit();
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedButtonBrowse();
CString m_csIniFile;
CString m_IniFile;
afx_msg void OnBnClickedButtonSaveParameter();
afx_msg void OnBnClickedButtonSave();
afx_msg void OnBnClickedButtonReadParameterFromController();
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedButtonBrowse();
CString m_csIniFile;
CString m_IniFile;
afx_msg void OnBnClickedButtonSaveParameter();
afx_msg void OnBnClickedButtonSave();
afx_msg void OnBnClickedButtonReadParameterFromController();
afx_msg void OnEnKillfocusEditSampleScurveDis();
afx_msg void OnEnKillfocusEditSampleTimeScurve();
afx_msg void OnBnClickedButtonStartSampleScurve();
afx_msg void OnBnClickedButtonStopSampleScurve();
afx_msg void OnBnClickedRadioCanvasSpeedTime();
void Sample_Speed_Time_Curve();
void Sample_Speed_Position_Curve();
void Sample_Position_Time_Curve();
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
};
@@ -37,7 +37,7 @@
#include "So7_Option.h"
#include "afxdialogex.h"
//#define _RELEASE_ONLY_ONE_FUNCTION
#define _RELEASE_ONLY_ONE_FUNCTION
//CSerial* m_pSO7_Serial=NULL;
CPSerial* m_pSO7_PCDSerial=NULL;
@@ -100,13 +100,13 @@ BOOL CSo7_Option::OnInitDialog()
}
}
((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER))->SetCheck(TRUE);
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SDK3000))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(TRUE);
((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->SetCheck(FALSE);
#ifdef _RELEASE_ONLY_ONE_FUNCTION
@@ -744,8 +744,9 @@
#define IDC_EDIT_TEST_KEYENCE_SETFOCUS 1650
#define IDC_RADIO_SO7_VERIFICATION_ALGORITHM 1651
#define IDC_BUTTON_SO7_MANUAL_MACHINEREAD_POS 1652
#define IDC_RADIO1 1653
#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD4 1653
#define IDC_RADIO1 1654
#define IDC_RADIO_CANVAS_SPEED_POSTION 1654
// Next default values for new objects
//
@@ -753,7 +754,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 168
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1654
#define _APS_NEXT_CONTROL_VALUE 1655
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif