修改外触发测试功能。

This commit is contained in:
TAO Cheng
2014-07-16 10:34:30 +08:00
parent e81ff3e991
commit 4bc4d0eb92
12 changed files with 189 additions and 67 deletions
@@ -372,10 +372,22 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
{
PCI8622_STATUS_AD ADStatus;
if(!PCI8622_GetDevStatusProAD(m_hDevice, &ADStatus))
{
rStatus=FALSE;
break;
}
m_SegmentID=0;
LONG nReadSizeWords = m_iReadDataSize;
LONG nRetSizeWords(0);
PCI8622_ReadDeviceProAD_Npt(m_hDevice, ADBuffer[m_SegmentID], nReadSizeWords, &nRetSizeWords);
if(!PCI8622_GetDevStatusProAD(m_hDevice, &ADStatus))
{
rStatus=FALSE;
break;
}
nADChannel = m_ADPara.FirstChannel;
TRACE1("[PCI8622_ReadDeviceProAD_Npt] Retsize:%d.\r\n",nRetSizeWords);
for(Index=0; Index<nReadSizeWords; Index++)
@@ -102,9 +102,9 @@ enum ESO7_WRITE_FPGA_DATA_ADDR
{
E_WRITE_MOTOR_FLAG=9,
E_WRITE_TRIG_LSB=10,
E_WRITE_ACCURA_ERR=12,
E_WRITE_TRIG_MSB=13,
E_WRITE_TRIG_HOLDTIME=14,
E_WRITE_ACCURA_ERR=11,
E_WRITE_TRIG_MSB=12,
E_WRITE_TRIG_HOLDTIME=13,
E_WRITE_TOTAL=16
};
enum ESO7_CONTROLLER_IO_ADDR
@@ -4703,3 +4703,30 @@ Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
@@ -11,41 +11,41 @@ MOVETOSPEED_FAST_Z=0.00000000
MOVETOSPEED_SLOW_Z=0.00000000
MOVETOSPEED_SCALE_Z=1.00000000
;
SPEED_BASE_X1=28
SPEED_BASE_X1=50
SPEED_MAX_X1=30
SPEED_START_X1=20
SPEED_FRESH_X1=8
SPEED_SLOW_X1=2.500
SPEED_FRESH_X1=7
SPEED_SLOW_X1=3.500
;
SPEED_BASE_X2=16
SPEED_MAX_X2=10
SPEED_START_X2=12
SPEED_FRESH_X2=10
SPEED_SLOW_X2=2.000
SPEED_SLOW_X2=0.100
;
SPEED_BASE_X3=4
SPEED_MAX_X3=80
SPEED_START_X3=10
SPEED_FRESH_X3=10
SPEED_SLOW_X3=0.050
SPEED_BASE_X3=2
SPEED_MAX_X3=0
SPEED_START_X3=0
SPEED_FRESH_X3=100
SPEED_SLOW_X3=0.001
;
SPEED_BASE_X4=2
SPEED_MAX_X4=0
SPEED_START_X4=5
SPEED_FRESH_X4=10
SPEED_SLOW_X4=0.009
SPEED_FRESH_X4=100
SPEED_SLOW_X4=0.001
;
SPEED_BASE_X5=28
SPEED_MAX_X5=30
SPEED_START_X5=20
SPEED_FRESH_X5=8
SPEED_SLOW_X5=2.500
SPEED_BASE_X5=2
SPEED_MAX_X5=0
SPEED_START_X5=50
SPEED_FRESH_X5=100
SPEED_SLOW_X5=0.000
;
SPEED_BASE_Y1=20
SPEED_MAX_Y1=10
SPEED_START_Y1=20
SPEED_FRESH_Y1=8
SPEED_SLOW_Y1=2.500
SPEED_SLOW_Y1=2.000
;
SPEED_BASE_Y2=16
SPEED_MAX_Y2=10
@@ -55,21 +55,21 @@ SPEED_SLOW_Y2=1.000
;
SPEED_BASE_Y3=2
SPEED_MAX_Y3=0
SPEED_START_Y3=8
SPEED_FRESH_Y3=10
SPEED_SLOW_Y3=0.050
SPEED_START_Y3=0
SPEED_FRESH_Y3=100
SPEED_SLOW_Y3=0.001
;
SPEED_BASE_Y4=0
SPEED_BASE_Y4=2
SPEED_MAX_Y4=0
SPEED_START_Y4=10
SPEED_FRESH_Y4=10
SPEED_SLOW_Y4=0.009
SPEED_FRESH_Y4=100
SPEED_SLOW_Y4=0.001
;
SPEED_BASE_Y5=1
SPEED_BASE_Y5=2
SPEED_MAX_Y5=0
SPEED_START_Y5=50
SPEED_FRESH_Y5=10
SPEED_SLOW_Y5=0.100
SPEED_FRESH_Y5=100
SPEED_SLOW_Y5=0.000
;
SPEED_BASE_Z1=20
SPEED_MAX_Z1=100
@@ -86,27 +86,27 @@ SPEED_SLOW_Z2=1.500
SPEED_BASE_Z3=3
SPEED_MAX_Z3=5
SPEED_START_Z3=5
SPEED_FRESH_Z3=10
SPEED_SLOW_Z3=0.100
SPEED_FRESH_Z3=100
SPEED_SLOW_Z3=0.001
;
SPEED_BASE_Z4=0
SPEED_BASE_Z4=2
SPEED_MAX_Z4=0
SPEED_START_Z4=18
SPEED_FRESH_Z4=10
SPEED_SLOW_Z4=0.009
SPEED_FRESH_Z4=100
SPEED_SLOW_Z4=0.001
;
SPEED_BASE_Z5=5
SPEED_BASE_Z5=2
SPEED_MAX_Z5=6
SPEED_START_Z5=133
SPEED_FRESH_Z5=10
SPEED_SLOW_Z5=0.100
SPEED_FRESH_Z5=100
SPEED_SLOW_Z5=0.000
;
X_MOTOR_PRECISION=0.004
Y_MOTOR_PRECISION=0.008
X_MOTOR_PRECISION=0.008
Y_MOTOR_PRECISION=0.004
Z_MOTOR_PRECISION=0.004
;
X_MOTOR_WHEELBASE=1.500
Y_MOTOR_WHEELBASE=1.500
X_MOTOR_WHEELBASE=3.047
Y_MOTOR_WHEELBASE=2.971
Z_MOTOR_WHEELBASE=1.500
;
MOTOR_PULSE_NUM=10000
@@ -29,6 +29,7 @@ CNC_DEADLOCK_MAX_CNTS=6
TOUCH_PROBE_ENABLE=0
FOOT_SWITCH_ENABLE=0
JOYSTICK_ENABLE=0
CCS_PRIMA_ENABLE=0
DEBUG_LOG_ENABLE=0
;
[VIDEOCARD]
@@ -988,7 +988,7 @@ BEGIN
EDITTEXT IDC_EDIT_SO7_EXTRIG_EQDIS,158,71,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SO7_EXTRIG_SPECLOCATION,158,89,40,14,ES_AUTOHSCROLL
CONTROL "",IDC_LIST_SO7_EXTRIG_SPECLOCATION,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,33,113,254,77
EDITTEXT IDC_EDIT_SO7_EXTRIG_RESULT,19,208,294,80,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
EDITTEXT IDC_EDIT_SO7_EXTRIG_RESULT,19,208,296,80,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
PUSHBUTTON "Exit",IDCANCEL,276,295,50,14
PUSHBUTTON "¿ªÊ¼",IDC_BUTTON_SO7_EXTRIG_START,238,23,50,14
GROUPBOX "Íâ´¥·¢Öá",IDC_STATIC,17,15,125,41
@@ -999,6 +999,7 @@ BEGIN
PUSHBUTTON "¶ÁÈ¡",IDC_BUTTON_SO7_EXTRIG_GET_PARA,238,90,50,14
EDITTEXT IDC_EDIT_SO7_EXTRIG_TEST_TIMES,182,30,40,14,ES_AUTOHSCROLL
LTEXT "´ÎÊý",IDC_STATIC,161,32,17,8
PUSHBUTTON "Clear",IDC_BUTTON_SO7_EXTRIG_CLEAR_MSG,222,295,50,14,BS_CENTER
END
@@ -24,6 +24,7 @@ IMPLEMENT_DYNAMIC(CSo7_Util_External_Trig, CDialog)
}
m_TestTimes=1;
m_CurTestCnt=0;
m_Timer1Interval=200;
}
CSo7_Util_External_Trig::~CSo7_Util_External_Trig()
@@ -48,6 +49,7 @@ BEGIN_MESSAGE_MAP(CSo7_Util_External_Trig, CDialog)
ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_SET_PARA, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigSetPara)
ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_GET_PARA, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigGetPara)
ON_BN_CLICKED(IDCANCEL, &CSo7_Util_External_Trig::OnBnClickedCancel)
ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_CLEAR_MSG, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigClearMsg)
END_MESSAGE_MAP()
@@ -79,7 +81,7 @@ BOOL CSo7_Util_External_Trig::OnInitDialog()
}
m_TrigMode=E_DIS_TRIG_PULSE_EQDIS;
m_ActiveAxis=E_AXIS_X;
m_ParaNumber=1;
m_ParaNumber=5;
m_TrigPara[0]=0;
m_ReturnPara=m_TrigPara[0];
m_UpdateCtrls();
@@ -123,7 +125,7 @@ void CSo7_Util_External_Trig::m_UpdateListControl(int _type)
CString str;
str.Format(_T("%d"),i+1);
m_ParaList.InsertItem(i,str);
m_ParaList.SetItemText(i,1,_T("1"));
m_ParaList.SetItemText(i,1,str);
}
}
else
@@ -181,15 +183,12 @@ void CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigStart()
m_UpdatePara(TRUE);
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START();
char _Gear(3);
_Gear=m_pSO7_Proto->g_machine.x._Move_Speed_Gear;
m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear=_Gear;
m_pSO7_Proto->g_machine.y._MoveTo_Speed_Gear=_Gear;
m_pSO7_Proto->g_machine.z._MoveTo_Speed_Gear=_Gear;
Sleep(50);
m_SetGear(false);
m_pSO7_Proto->so7_motion_set_position_xyz(m_EndPos[0],m_EndPos[1],m_EndPos[2],false);
if (m_TestTimes>1)
if (m_TestTimes>=1)
{
SetTimer(1,500,NULL);
SetTimer(1,m_Timer1Interval,NULL);
}
}
//=====================================================================
@@ -218,6 +217,23 @@ void CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigGetPara()
}
m_UpdatePara(FALSE);
}
//=====================================================================
void CSo7_Util_External_Trig::m_SetGear(bool bDefault)
{
if(bDefault)
{
m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear=0;
m_pSO7_Proto->g_machine.y._MoveTo_Speed_Gear=0;
m_pSO7_Proto->g_machine.z._MoveTo_Speed_Gear=0;
}
else
{
m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear=m_pSO7_Proto->g_machine.x._Move_Speed_Gear;
m_pSO7_Proto->g_machine.y._MoveTo_Speed_Gear=m_pSO7_Proto->g_machine.x._Move_Speed_Gear;
m_pSO7_Proto->g_machine.z._MoveTo_Speed_Gear=m_pSO7_Proto->g_machine.x._Move_Speed_Gear;
}
}
//=====================================================================
void CSo7_Util_External_Trig::m_UpdateCtrls(int _type)
{
@@ -288,7 +304,7 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave)
CString csTmp;
const char* cTmp;
double dResolution(0.5);
double dEndPos(0.5);
double dEndPos(1.0);
double dTmp(0.0);
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_TEST_TIMES))->GetWindowTextW(csTmp);
@@ -321,7 +337,7 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave)
dTmp=atof(cTmp);
m_TrigPara[0] = static_cast<short>(m_pSO7_Proto->MMtoScale(dTmp,dResolution));
iParaNumber=1;
dEndPos=10.0;
dEndPos+=m_ParaNumber*dTmp;
}
else
{
@@ -371,6 +387,42 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave)
}
}
//=====================================================================================
void CSo7_Util_External_Trig::m_ReadTrigPara(short _Index,int _type)
{
if (_type==0)
{
BYTE cdata[5]={0};
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_ActiveAxis,12);
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_ActiveAxis,10);
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_ActiveAxis,13);
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_ActiveAxis,14);
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_ActiveAxis,15);
cdata[4]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
int WData(0),HoldTime(0),CurSate(0),ErrPos(0);
WData=(cdata[0]*256)+cdata[1];
HoldTime=cdata[2];
CurSate=((cdata[3]&0xE0)/32);
ErrPos=((cdata[3]&0x1F)*256)+cdata[4];
m_csMsg.Format(_T("WData=%d,HoldTime=%d,State=%d,ErrPos=%d.\r\n"),
WData,HoldTime,CurSate,ErrPos);
OutputWithScroll(m_csMsg,m_EdMsg);
}
if (_type==1)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(_Index);
m_csMsg.Format(_T("[Read Trig Para]:R Axis=%d,Method=%d,TotalNo=%d,CurIndex=%d,Para[%d]=%d."),m_pSO7_Proto->g_machine.TrigPara.TrigPulseActiveAxis,
m_pSO7_Proto->g_machine.TrigPara.TrigPulseMethod,m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo._long_,
m_pSO7_Proto->g_machine.TrigPara.TrigCurIndex._long_,static_cast<unsigned>(m_pSO7_Proto->g_machine.TrigPara.TrigReadIndex._long_),
m_pSO7_Proto->g_machine.TrigPara.TrigReadPara._long_);
OutputWithScroll(m_csMsg,m_EdMsg);
}
}
//=====================================================================================
void CSo7_Util_External_Trig::m_StartTrig()
{
short iParaNumber(0);
@@ -421,13 +473,18 @@ void CSo7_Util_External_Trig::m_StartTrig()
m_csMsg.Format(_T("[Write Trig Para]:R TotalNo=%d"),m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo);
OutputWithScroll(m_csMsg,m_EdMsg);
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START();
Sleep(20);
Sleep(50);
m_SetGear(false);
m_pSO7_Proto->so7_motion_set_position_xyz(m_EndPos[0],m_EndPos[1],m_EndPos[2],false);
}
//=====================================================================================
void CSo7_Util_External_Trig::m_StopTrig()
{
int index(65535);
m_ReadTrigPara(0,0);
m_ReadTrigPara(static_cast<short>(index),1);
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_STOP();
m_SetGear(true);
m_pSO7_Proto->so7_motion_set_position_xyz(m_BeginPos[0],m_BeginPos[1],m_BeginPos[2],false);
}
//=====================================================================================
@@ -466,26 +523,43 @@ void CSo7_Util_External_Trig::OnTimer(UINT_PTR nIDEvent)
{
case 1:
{
bool Isfinished(false);
m_pSO7_Proto->so7_Motion_XYZ_IsMotionFinished(Isfinished);
if(Isfinished)
if(m_TestTimes>1)
{
if (m_CurTestCnt%2==0)
bool Isfinished(false);
m_pSO7_Proto->so7_Motion_XYZ_IsMotionFinished(Isfinished);
if(Isfinished)
{
m_StopTrig();
}
if (m_CurTestCnt%2==0)
{
m_StopTrig();
}
else
{
m_StartTrig();
}
m_CurTestCnt++;
if(m_CurTestCnt>=(2*m_TestTimes-1))
{
OnBnClickedButtonSo7ExtrigStop();
}
}
else
{
m_StartTrig();
m_ReadTrigPara(0,0);
}
m_CurTestCnt++;
}
if(m_CurTestCnt>=2*m_TestTimes)
else
{
OnBnClickedButtonSo7ExtrigStop();
m_ReadTrigPara(0,0);
}
break;
}
}
CDialog::OnTimer(nIDEvent);
}
}
void CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigClearMsg()
{
((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_RESULT))->SetWindowTextW(_T(""));
}
@@ -39,6 +39,8 @@ protected:
void m_UpdateListControl(int _type);
void m_StartTrig();
void m_StopTrig();
void m_SetGear(bool bDefault=true);
void m_ReadTrigPara(short _Index,int _type=0);
int m_ParaListRows;
int m_ParaListSelectedRow;
int m_ParaListSelectedCol;
@@ -47,6 +49,7 @@ protected:
double m_EndPos[3];
int m_TestTimes;
int m_CurTestCnt;
int m_Timer1Interval;
public:
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnBnClickedRadioSo7ExtrigEqdis();
@@ -57,4 +60,5 @@ public:
afx_msg void OnBnClickedButtonSo7ExtrigSetPara();
afx_msg void OnBnClickedButtonSo7ExtrigGetPara();
afx_msg void OnBnClickedCancel();
afx_msg void OnBnClickedButtonSo7ExtrigClearMsg();
};
@@ -206,7 +206,7 @@
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>..\..\..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Lib\Msvc\libusb.lib;..\..\..\Videocard\SDK3000\sdk3000_7130.lib;..\..\..\Videocard\SV2000E\dataAcq.lib;..\..\..\Videocard\SV2000E\DXMediaCap.lib;..\..\..\Videocard\TC4000\Sa7134Capture.lib;..\..\..\ART\PCI8622_32.lib;..\..\..\STIL\Dll_chr.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>..\..\..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Lib\Msvc\libusb.lib;..\..\..\Videocard\SDK3000\sdk3000_7130.lib;..\..\..\Videocard\TC4000\Sa7134Capture.lib;..\..\..\Videocard\SV4000E\dataAcq.lib;..\..\..\Videocard\SV4000E\DXMediaCap.lib;..\..\..\ART\PCI8622_32.lib;..\..\..\STIL\Dll_chr.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseSO7|Win32'">
@@ -666,6 +666,8 @@
#define IDC_BTN_CONFIGURE_MOVEVOUT 1544
#define IDC_BUTTON_SO7_EXTRIG_GET_PARA 1544
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1545
#define IDC_BUTTON_SO7_EXTRIG_GET_PARA2 1545
#define IDC_BUTTON_SO7_EXTRIG_CLEAR_MSG 1545
#define IDC_BUTTON_SET_TRIGGER 1546
#define IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA 1547
#define IDC_BUTTON_SO7_TEST_Z_SIGNAL 1548
@@ -1019,7 +1021,6 @@
#define IDC_EDIT_SO7_EXTRIG_EQDIS 1869
#define IDC_LIST_SO7_EXTRIG_SPECLOCATION 1870
#define IDC_EDIT_SO7_EXTRIG_TEST_TIMES 1872
#define IDC_EDIT2 1873
#define IDC_EDIT_SO7_MOTION_STOP_CNTS 1873
#define IDC_EDIT_SO7_MOTION_START_CNTS 1874
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
@@ -78,6 +78,7 @@ Global
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Mixed Platforms.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Mixed Platforms.Build.0 = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Win32.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Win32.Build.0 = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|x64.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|x86.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.Template|Mixed Platforms.ActiveCfg = Release|Win32
@@ -101,6 +102,7 @@ Global
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Mixed Platforms.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Mixed Platforms.Build.0 = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Win32.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Win32.Build.0 = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|x64.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|x86.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.Template|Mixed Platforms.ActiveCfg = Release|Win32