so7_config新增脚踏开关使能设置。
This commit is contained in:
@@ -13,10 +13,13 @@ CART_PCI8622::CART_PCI8622()
|
||||
m_AD_LSB_HALF=0.0;
|
||||
m_AD_LSB_RANGE=65536;
|
||||
m_InputRange=0;
|
||||
m_StopedCapture=TRUE;
|
||||
m_EnStartCapture=FALSE;
|
||||
m_StopedSample=TRUE;
|
||||
m_EnStartSample=FALSE;
|
||||
m_EnGetData=FALSE;
|
||||
m_iCaptureMode=0;
|
||||
m_iSampleMode=0;
|
||||
m_iReadDataSize=100;
|
||||
m_iFirstChannel=1;
|
||||
m_iLastChannel=2;
|
||||
}
|
||||
|
||||
CART_PCI8622::~CART_PCI8622()
|
||||
@@ -28,8 +31,11 @@ BOOL CART_PCI8622::Init()
|
||||
{
|
||||
BOOL rStatus(TRUE);
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
if(m_hDevice == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
int DeviceLgcID(0);
|
||||
m_hDevice = PCI8622_CreateDevice(DeviceLgcID); // 创建设备对象
|
||||
}
|
||||
if(m_hDevice == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
rStatus=FALSE;
|
||||
@@ -42,9 +48,9 @@ BOOL CART_PCI8622::Exit()
|
||||
{
|
||||
BOOL rStatus(TRUE);
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
if (!m_StopedCapture)
|
||||
if (!m_StopedSample)
|
||||
{
|
||||
rStatus=StopCaptureData();
|
||||
rStatus=StopSampleData();
|
||||
}
|
||||
rStatus=PCI8622_ReleaseDevice(m_hDevice); // 释放设备对象
|
||||
m_hDevice=INVALID_HANDLE_VALUE;
|
||||
@@ -53,22 +59,25 @@ BOOL CART_PCI8622::Exit()
|
||||
}
|
||||
|
||||
//========================================
|
||||
BOOL CART_PCI8622::SetCaptureMode(int _Mode)
|
||||
BOOL CART_PCI8622::SetSamplePara(int _Mode,int _ReadDataSize)
|
||||
{
|
||||
BOOL rStatus(TRUE);
|
||||
m_iSampleMode=_Mode;
|
||||
m_iReadDataSize=_ReadDataSize;
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
m_iCaptureMode=_Mode;
|
||||
memset(&ADBuffer, 0x00, sizeof(ADBuffer));
|
||||
memset(&m_ADPara, 0x00, sizeof(m_ADPara)); // 将各项参数复位至确定值0(强烈建议)
|
||||
switch(_Mode)
|
||||
{
|
||||
case E_ART_PCI8622_CAPTURE_DMA_SEQ:
|
||||
case E_ART_PCI8622_CAPTURE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_SEQ:
|
||||
{
|
||||
// 预置硬件参数
|
||||
m_ADPara.ADMode = PCI8622_ADMODE_SEQUENCE; // AD模式为连续模式
|
||||
m_ADPara.FirstChannel = 1; // 首通道
|
||||
m_ADPara.LastChannel = 2; // 末通道
|
||||
m_ADPara.Frequency = 10000; // 采样频率(Hz)
|
||||
m_ADPara.FirstChannel = m_iFirstChannel; // 首通道
|
||||
m_ADPara.LastChannel = m_iLastChannel; // 末通道
|
||||
m_ADPara.Frequency = 25000; // 采样频率(Hz)
|
||||
m_ADPara.GroupInterval = 50; // 组间间隔(uS)
|
||||
m_ADPara.LoopsOfGroup = 1; // 组内各通道点数
|
||||
m_ADPara.Gains = PCI8622_GAINS_1MULT;
|
||||
@@ -85,13 +94,14 @@ BOOL CART_PCI8622::SetCaptureMode(int _Mode)
|
||||
m_ADPara.TimeoutForNpt = 10; // 在非空方式下,设置超时时间为10秒钟(只在非空查询方式下有效)
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_CAPTURE_NPT_TRIGCLK:
|
||||
case E_ART_PCI8622_CAPTURE_DMA_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_TRIGCLK:
|
||||
{
|
||||
// 预置硬件参数
|
||||
m_ADPara.ADMode = PCI8622_ADMODE_GROUP; // AD模式为连续模式
|
||||
m_ADPara.FirstChannel = 1; // 首通道
|
||||
m_ADPara.LastChannel = 2; // 末通道
|
||||
m_ADPara.FirstChannel = m_iFirstChannel; // 首通道
|
||||
m_ADPara.LastChannel = m_iLastChannel; // 末通道
|
||||
m_ADPara.Frequency = 10000; // 采样频率(Hz)
|
||||
m_ADPara.GroupInterval = 50; // 组间间隔(uS)
|
||||
m_ADPara.LoopsOfGroup = 1; // 组内各通道点数
|
||||
@@ -162,34 +172,50 @@ BOOL CART_PCI8622::SetCaptureMode(int _Mode)
|
||||
}
|
||||
switch(_Mode)
|
||||
{
|
||||
case E_ART_PCI8622_CAPTURE_DMA:
|
||||
case E_ART_PCI8622_CAPTURE_DMA_SEQ:
|
||||
case E_ART_PCI8622_CAPTURE_DMA_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_DMA:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_TRIGCLK:
|
||||
{
|
||||
m_hDmaEvent = PCI8622_CreateSystemEvent();
|
||||
if (!PCI8622_InitDeviceDmaAD(m_hDevice, m_hDmaEvent, &ADBuffer[0][0], 4096, SEGMENT_COUNT, HALF_SIZE_WORDS, &m_ADPara)) // 初始化硬件
|
||||
//if (!PCI8622_InitDeviceDmaAD(m_hDevice, m_hDmaEvent, &ADBuffer[0][0], 4096, SEGMENT_COUNT, HALF_SIZE_WORDS, &m_ADPara)) // 初始化硬件
|
||||
if (!PCI8622_InitDeviceDmaAD(m_hDevice, m_hDmaEvent, &ADBuffer[0][0], m_iReadDataSize, SEGMENT_COUNT, HALF_SIZE_WORDS, &m_ADPara)) // 初始化硬件
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopCaptureData();
|
||||
StopSampleData();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_CAPTURE_NPT:
|
||||
case E_ART_PCI8622_CAPTURE_NPT_SEQ:
|
||||
case E_ART_PCI8622_CAPTURE_NPT_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_NPT:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
|
||||
{
|
||||
if (!PCI8622_InitDeviceProAD(m_hDevice, &m_ADPara))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopCaptureData();
|
||||
StopSampleData();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_HALF:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_TRIGCLK:
|
||||
{
|
||||
if (!PCI8622_InitDeviceProAD(m_hDevice, &m_ADPara))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopSampleData();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (rStatus)
|
||||
{
|
||||
m_StopedCapture=FALSE;
|
||||
m_EnStartCapture=TRUE;
|
||||
m_StopedSample=FALSE;
|
||||
m_EnStartSample=TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -197,25 +223,81 @@ BOOL CART_PCI8622::SetCaptureMode(int _Mode)
|
||||
return rStatus;
|
||||
}
|
||||
//========================================
|
||||
BOOL CART_PCI8622::StartCaptureData()
|
||||
BOOL CART_PCI8622::StartSampleData()
|
||||
{
|
||||
BOOL rStatus(TRUE);
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
switch(m_iSampleMode)
|
||||
{
|
||||
case E_ART_PCI8622_SAMPLE_DMA:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_StartDeviceDmaAD(m_hDevice); // 启动设备
|
||||
m_StopedCapture=FALSE;
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_NPT:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_StartDeviceProAD(m_hDevice);
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_HALF:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_StartDeviceProAD(m_hDevice);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_StopedSample=FALSE;
|
||||
m_EnGetData=TRUE;
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
return rStatus;
|
||||
}
|
||||
//========================================
|
||||
BOOL CART_PCI8622::StopCaptureData()
|
||||
BOOL CART_PCI8622::StopSampleData()
|
||||
{
|
||||
BOOL rStatus(TRUE);
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
switch(m_iSampleMode)
|
||||
{
|
||||
case E_ART_PCI8622_SAMPLE_DMA:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_ReleaseDeviceDmaAD(m_hDevice); // 释放AD
|
||||
rStatus=PCI8622_ReleaseSystemEvent(m_hDmaEvent);
|
||||
m_EnStartCapture=FALSE;
|
||||
m_StopedCapture=TRUE;
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_NPT:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_ReleaseDeviceProAD(m_hDevice); // 释放AD
|
||||
//rStatus=PCI8622_ReleaseDevice(m_hDevice); // 释放设备对象
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_HALF:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_TRIGCLK:
|
||||
{
|
||||
rStatus=PCI8622_ReleaseDeviceProAD(m_hDevice); // 释放AD
|
||||
//rStatus=PCI8622_ReleaseDevice(m_hDevice); // 释放设备对象
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_EnStartSample=FALSE;
|
||||
m_StopedSample=TRUE;
|
||||
m_EnGetData=FALSE;
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
return rStatus;
|
||||
@@ -233,24 +315,24 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
|
||||
WORD ADData(0);
|
||||
double dVolt(0);
|
||||
int Index(0);
|
||||
switch(m_iCaptureMode)
|
||||
switch(m_iSampleMode)
|
||||
{
|
||||
case E_ART_PCI8622_CAPTURE_DMA:
|
||||
case E_ART_PCI8622_CAPTURE_DMA_SEQ:
|
||||
case E_ART_PCI8622_CAPTURE_DMA_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_DMA:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_DMA_TRIGCLK:
|
||||
{
|
||||
|
||||
PCI8622_STATUS_DMA DMAStatus; // DMA状态参数
|
||||
PCI8622_GetDevStatusDmaAD(m_hDevice, &DMAStatus);
|
||||
bool bWait(true);
|
||||
while(bWait) // 查询当前物理缓冲区数据是否已准备就绪
|
||||
{
|
||||
if(WaitForSingleObject (m_hDmaEvent, 100)==WAIT_OBJECT_0)
|
||||
bWait=false; // 等待DMA事件
|
||||
}
|
||||
PCI8622_STATUS_DMA DMAStatus; // DMA状态参数
|
||||
if(!PCI8622_GetDevStatusDmaAD(m_hDevice, &DMAStatus))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopCaptureData();
|
||||
StopSampleData();
|
||||
}
|
||||
if(DMAStatus.bBufferOverflow)
|
||||
{
|
||||
@@ -261,8 +343,9 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
|
||||
{
|
||||
if(DMAStatus.bSegmentSts[m_SegmentID])
|
||||
{
|
||||
TRACE1("[PCI8622_GetDevStatusDmaAD] m_SegmentID:%d.\r\n",m_SegmentID);
|
||||
nADChannel = m_ADPara.FirstChannel;
|
||||
for(Index=0; Index<64; Index++)
|
||||
for(Index=0; Index<m_iReadDataSize; Index++)
|
||||
{
|
||||
ADData = ((ADBuffer[m_SegmentID][Index]));
|
||||
// 将原码转换为电压值
|
||||
@@ -279,23 +362,23 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
|
||||
if(!PCI8622_SetDevStatusDmaAD(m_hDevice, m_SegmentID))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopCaptureData();
|
||||
StopSampleData();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_CAPTURE_NPT:
|
||||
case E_ART_PCI8622_CAPTURE_NPT_SEQ:
|
||||
case E_ART_PCI8622_CAPTURE_NPT_TRIGCLK:
|
||||
case E_ART_PCI8622_SAMPLE_NPT:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_NPT_TRIGCLK:
|
||||
{
|
||||
m_SegmentID=0;
|
||||
LONG nReadSizeWords = 4096;
|
||||
LONG nReadSizeWords = m_iReadDataSize;
|
||||
LONG nRetSizeWords(0);
|
||||
PCI8622_ReadDeviceProAD_Npt(m_hDevice, ADBuffer[0], nReadSizeWords, &nRetSizeWords);
|
||||
PCI8622_ReadDeviceProAD_Npt(m_hDevice, ADBuffer[m_SegmentID], nReadSizeWords, &nRetSizeWords);
|
||||
nADChannel = m_ADPara.FirstChannel;
|
||||
TRACE1("[PCI8622_ReadDeviceProAD_Npt] Retsize:%d.\r\n",nRetSizeWords);
|
||||
for(Index=0; Index<nRetSizeWords; Index++)
|
||||
for(Index=0; Index<nReadSizeWords; Index++)
|
||||
{
|
||||
ADData = ((ADBuffer[m_SegmentID][Index]));
|
||||
// 将原码转换为电压值
|
||||
@@ -310,9 +393,57 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case E_ART_PCI8622_SAMPLE_HALF:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_SEQ:
|
||||
case E_ART_PCI8622_SAMPLE_HALF_TRIGCLK:
|
||||
{
|
||||
PCI8622_STATUS_AD ADStatus;
|
||||
LONG nReadSizeWords = 4096;
|
||||
LONG nRetSizeWords(0);
|
||||
m_SegmentID=0;
|
||||
if(!PCI8622_GetDevStatusProAD(m_hDevice, &ADStatus))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopSampleData();
|
||||
}
|
||||
if(ADStatus.bHalf)
|
||||
{
|
||||
break; // 若板载FIFO存储器数据量达到半满以上,则退出状态查询,开始读取半满数据
|
||||
}
|
||||
if(!PCI8622_ReadDeviceProAD_Half(m_hDevice, ADBuffer[m_SegmentID], nReadSizeWords, &nRetSizeWords))
|
||||
{
|
||||
rStatus=FALSE;
|
||||
StopSampleData();
|
||||
}
|
||||
else
|
||||
{
|
||||
nADChannel = m_ADPara.FirstChannel;
|
||||
TRACE1("[PCI8622_ReadDeviceProAD_Half] Retsize:%d.\r\n",nRetSizeWords);
|
||||
for(Index=0; Index<64; Index++)
|
||||
{
|
||||
ADData = ((ADBuffer[m_SegmentID][Index]));
|
||||
// 将原码转换为电压值
|
||||
dVolt = static_cast<double>(((m_AD_LSB_MAX/m_AD_LSB_RANGE) * ADData - m_AD_LSB_HALF));
|
||||
_Data[nADChannel][_DataNumber[nADChannel]]=dVolt;
|
||||
_DataNumber[nADChannel]+=1;
|
||||
nADChannel++;
|
||||
if(nADChannel > m_ADPara.LastChannel)
|
||||
{
|
||||
nADChannel = m_ADPara.FirstChannel;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_StopedCapture=FALSE;
|
||||
m_StopedSample=FALSE;
|
||||
#else
|
||||
UNREFERENCED_PARAMETER(_Data);
|
||||
UNREFERENCED_PARAMETER(_DataNumber);
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
|
||||
return rStatus;
|
||||
|
||||
@@ -11,17 +11,19 @@
|
||||
#define MAX_AD_CHANNELS 4
|
||||
#define SEGMENT_COUNT 32
|
||||
#define HALF_SIZE_WORDS 4096
|
||||
enum E_ART_PCI8622_CAPTURE_MODE
|
||||
enum E_ART_PCI8622_SAMPLE_MODE
|
||||
{
|
||||
E_ART_PCI8622_CAPTURE_DMA=0,
|
||||
E_ART_PCI8622_CAPTURE_DMA_SEQ,
|
||||
E_ART_PCI8622_CAPTURE_DMA_TRIGCLK,
|
||||
E_ART_PCI8622_CAPTURE_NPT=10,
|
||||
E_ART_PCI8622_CAPTURE_NPT_SEQ,
|
||||
E_ART_PCI8622_CAPTURE_NPT_TRIGCLK,
|
||||
E_ART_PCI8622_CAPTURE_HALF=20,
|
||||
E_ART_PCI8622_SAMPLE_DMA=0,
|
||||
E_ART_PCI8622_SAMPLE_DMA_SEQ,
|
||||
E_ART_PCI8622_SAMPLE_DMA_TRIGCLK,
|
||||
E_ART_PCI8622_SAMPLE_NPT=10,
|
||||
E_ART_PCI8622_SAMPLE_NPT_SEQ,
|
||||
E_ART_PCI8622_SAMPLE_NPT_TRIGCLK,
|
||||
E_ART_PCI8622_SAMPLE_HALF=20,
|
||||
E_ART_PCI8622_SAMPLE_HALF_SEQ,
|
||||
E_ART_PCI8622_SAMPLE_HALF_TRIGCLK,
|
||||
|
||||
E_ART_PCI8622_CAPTURE_TOTAL=255
|
||||
E_ART_PCI8622_SAMPLE_TOTAL=255
|
||||
};
|
||||
//======================================================================================
|
||||
class CART_PCI8622
|
||||
@@ -36,19 +38,22 @@ protected:
|
||||
double m_AD_LSB_MAX;
|
||||
double m_AD_LSB_HALF;
|
||||
double m_AD_LSB_RANGE;
|
||||
BOOL m_StopedCapture;
|
||||
BOOL m_EnStartCapture;
|
||||
BOOL m_StopedSample;
|
||||
BOOL m_EnStartSample;
|
||||
BOOL m_EnGetData;
|
||||
int m_iCaptureMode;
|
||||
int m_iSampleMode;
|
||||
int m_iReadDataSize;
|
||||
int m_iFirstChannel;
|
||||
int m_iLastChannel;
|
||||
public:
|
||||
CART_PCI8622();
|
||||
~CART_PCI8622();
|
||||
|
||||
BOOL Init();
|
||||
BOOL Exit();
|
||||
BOOL SetCaptureMode(int _Mode=0);
|
||||
BOOL StartCaptureData();
|
||||
BOOL StopCaptureData();
|
||||
BOOL SetSamplePara(int _Mode,int _ReadDataSize);
|
||||
BOOL StartSampleData();
|
||||
BOOL StopSampleData();
|
||||
BOOL GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber);
|
||||
|
||||
};
|
||||
|
||||
@@ -1146,7 +1146,7 @@ SSI_STATUS CMv_Proto::mv_motion_startup(double dScaleResolutionX, double dScaleR
|
||||
g_machine.s_machine_config.z_axis._scale_resolution = dScaleResolutionZ;
|
||||
_start_machine();
|
||||
mv_motion_Dcc_Home();
|
||||
_replay_capture(_T("Replay_Capture"));
|
||||
_replay_capture(_T("Replay_Sample"));
|
||||
return SSI_STATUS_NORMAL;
|
||||
};
|
||||
|
||||
|
||||
@@ -605,6 +605,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_config_para_set_default()
|
||||
g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution=1;
|
||||
g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts=6;
|
||||
g_machine.s_machine_config.motion.m_TouchProbeEnable=0;
|
||||
g_machine.s_machine_config.motion.m_FootSwitchEnable=0;
|
||||
g_machine.s_machine_config.motion.m_JoyStickEnable=0;
|
||||
g_machine.s_machine_config.motion.m_DebugOutputEnable=0;
|
||||
|
||||
@@ -2243,6 +2244,10 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config()
|
||||
fprintf(m_pOutFile,"%s", outBuff);
|
||||
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_TouchProbeEnable);
|
||||
fprintf(m_pOutFile, "\n");
|
||||
outBuff="FOOT_SWITCH_ENABLE=";
|
||||
fprintf(m_pOutFile,"%s", outBuff);
|
||||
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_FootSwitchEnable);
|
||||
fprintf(m_pOutFile, "\n");
|
||||
outBuff="JOYSTICK_ENABLE=";
|
||||
fprintf(m_pOutFile,"%s", outBuff);
|
||||
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_JoyStickEnable);
|
||||
@@ -2552,6 +2557,15 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config()
|
||||
g_machine.s_machine_config.motion.m_TouchProbeEnable=atoi(cTemp);
|
||||
}
|
||||
}
|
||||
else if (!_stricmp(token,"FOOT_SWITCH_ENABLE"))
|
||||
{
|
||||
token = strtok( NULL, seps);
|
||||
if (token)
|
||||
{
|
||||
strcpy(cTemp,token);
|
||||
g_machine.s_machine_config.motion.m_FootSwitchEnable=atoi(cTemp);
|
||||
}
|
||||
}
|
||||
else if (!_stricmp(token,"JOYSTICK_ENABLE"))
|
||||
{
|
||||
token = strtok( NULL, seps);
|
||||
@@ -2900,6 +2914,7 @@ SSI_STATUS_MOTION CSO7_Proto::Init_SO7Usb()
|
||||
}
|
||||
else if (usb_set_configuration(g_dev, MY_CONFIG) < 0)
|
||||
{
|
||||
g_dev=NULL;
|
||||
MessageBox(NULL, _T("Unable to SET CONFIGURATION"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||
g_machine.IsOffline=TRUE;
|
||||
rStatus=SSI_STATUS_MOTION_DATALINK_ERROR;
|
||||
@@ -2907,6 +2922,7 @@ SSI_STATUS_MOTION CSO7_Proto::Init_SO7Usb()
|
||||
else if (usb_claim_interface(g_dev, 0) < 0)
|
||||
{
|
||||
usb_close(g_dev);
|
||||
g_dev=NULL;
|
||||
MessageBox(NULL, _T("Unable to CLAIM DEVICE"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||
g_machine.IsOffline=TRUE;
|
||||
rStatus=SSI_STATUS_MOTION_DATALINK_ERROR;
|
||||
|
||||
@@ -188,6 +188,7 @@ struct s_so7_machine_interface_config
|
||||
INT m_CNC_Deadlock_Solution;
|
||||
INT m_CNC_Deadlock_JudgeMaxCnts;
|
||||
INT m_TouchProbeEnable;
|
||||
INT m_FootSwitchEnable;
|
||||
INT m_JoyStickEnable;
|
||||
INT m_DebugOutputEnable;
|
||||
INT m_SDK3000_CntThreadSleepVal;
|
||||
|
||||
@@ -4562,3 +4562,6 @@ Init:Open device succeed .
|
||||
_start_machine
|
||||
Exit: Exit_SO7Usb
|
||||
Destruct Cso7_Proto.
|
||||
Usb Port Initialized.
|
||||
Usb Port Initialized.
|
||||
Usb Port Initialized.
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
[HARDWARE]
|
||||
MOVETOSPEED_FAST_X=0.00000000
|
||||
MOVETOSPEED_SLOW_X=0.00000000
|
||||
MOVETOSPEED_SCALE_X=1.00000000
|
||||
;
|
||||
MOVETOSPEED_FAST_Y=0.00000000
|
||||
MOVETOSPEED_SLOW_Y=0.00000000
|
||||
MOVETOSPEED_SCALE_Y=1.00000000
|
||||
;
|
||||
MOVETOSPEED_FAST_Z=0.00000000
|
||||
MOVETOSPEED_SLOW_Z=0.00000000
|
||||
MOVETOSPEED_SCALE_Z=1.00000000
|
||||
;
|
||||
SPEED_BASE_X1=0
|
||||
SPEED_MAX_X1=0
|
||||
SPEED_START_X1=0
|
||||
@@ -111,4 +123,5 @@ Z_NEG_WORKING_LIMIT=0.000
|
||||
X_POS_WORKING_LIMIT=400.000
|
||||
Y_POS_WORKING_LIMIT=300.000
|
||||
Z_POS_WORKING_LIMIT=200.000
|
||||
ROTARY_CIR_DIS=100.000
|
||||
;
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
[7OCEANAUTOZOOM]
|
||||
ZOOM_PRODUCT_ID=So7123456
|
||||
ZOOM_COM_PORT=1
|
||||
ZOOM_START_DEG=0.000000
|
||||
ZOOM_END_DEG=0.000000
|
||||
ZOOM_ORG_DEG=0.000000
|
||||
ZOOM_DEADBAND_DEG=0.100000
|
||||
ZOOM_PULSE_PER_DEG=25.134736064968621
|
||||
ZOOM_READING_INTERVAL_TIME=60
|
||||
ZOOM_MOTOR_SPEED_FAST=2000
|
||||
ZOOM_MOTOR_SPEED_SLOW=800
|
||||
;
|
||||
[CONTROLLER]
|
||||
CLOSE_LOOP_ENABLED=0
|
||||
MOTION_RETRY_TIMES=0
|
||||
SHIFT_POSITION_X=0.000000
|
||||
SHIFT_POSITION_Y=0.000000
|
||||
SHIFT_POSITION_Z=0.000000
|
||||
GET_USB_MESSAGE_METHOD=1
|
||||
WRITE_DATA_SLEEP_TIME=0
|
||||
TOUCH_PROBE_ENABLE=0
|
||||
JOYSTICK_ENABLE=0
|
||||
DEBUG_LOG_ENABLE=0
|
||||
;
|
||||
[Motion]
|
||||
ACCURA_ERROR_PULSE_X=1
|
||||
ACCURA_ERROR_PULSE_Y=1
|
||||
ACCURA_ERROR_PULSE_Z=1
|
||||
@@ -14,8 +26,19 @@ EQUIDISTANCE_PULSE_Y=0
|
||||
EQUIDISTANCE_PULSE_Z=0
|
||||
CNC_DEADLOCK_SOLUTION=1
|
||||
CNC_DEADLOCK_MAX_CNTS=6
|
||||
X_SCALE_RESOLUTION=0.500
|
||||
Y_SCALE_RESOLUTION=0.500
|
||||
Z_SCALE_RESOLUTION=0.500
|
||||
ROTARY_AXIS_NUMBER=2
|
||||
ROTARY_CIR_DIS=7.2
|
||||
TOUCH_PROBE_ENABLE=0
|
||||
FOOT_SWITCH_ENABLE=0
|
||||
JOYSTICK_ENABLE=0
|
||||
DEBUG_LOG_ENABLE=0
|
||||
;
|
||||
[VIDEOCARD]
|
||||
SDK3000_SLEEP_COUNT=550000
|
||||
SV4000E_DENOISE_PARA_CHANNEL1=70
|
||||
SV4000E_DENOISE_PARA_CHANNEL2=70
|
||||
SV4000E_DENOISE_PARA_CHANNEL3=70
|
||||
SV4000E_DENOISE_PARA_CHANNEL4=70
|
||||
;
|
||||
[HSI]
|
||||
MACHINE_CONTROLLER_TYPE=0
|
||||
MACHINE_VIDEOCARD_TYPE=0
|
||||
;
|
||||
|
||||
@@ -395,32 +395,32 @@ BEGIN
|
||||
EDITTEXT IDC_EDIT_ZOOM_TIME,14,159,112,112,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
END
|
||||
|
||||
IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 317, 169
|
||||
IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 290, 163
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Utility for SO7"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,34,39,69,10
|
||||
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,34,55,69,10
|
||||
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,34,71,68,10
|
||||
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,34,87,69,10
|
||||
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,34,103,62,10
|
||||
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON,34,119,62,10
|
||||
CONTROL "控制器(USB)",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,211,38,69,10
|
||||
CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,211,70,77,10
|
||||
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,114,39,76,10
|
||||
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,114,55,76,10
|
||||
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,24,32,69,10
|
||||
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,24,48,69,10
|
||||
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,24,64,68,10
|
||||
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,24,80,69,10
|
||||
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,24,96,62,10
|
||||
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON,24,112,62,10
|
||||
CONTROL "控制器(USB)",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,195,31,69,10
|
||||
CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,195,63,77,10
|
||||
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,100,32,76,10
|
||||
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,100,48,76,10
|
||||
CONTROL "LK_H¼¤¹â(ETHERNET)",IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET,
|
||||
"Button",BS_AUTORADIOBUTTON,114,71,85,10
|
||||
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,114,87,76,10
|
||||
"Button",BS_AUTORADIOBUTTON,100,64,85,10
|
||||
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,100,80,76,10
|
||||
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
|
||||
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,8,152,81,10
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,152,45,10
|
||||
DEFPUSHBUTTON "OK",IDOK,191,148,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,260,148,50,14
|
||||
GROUPBOX "测试选项",IDC_STATIC,20,15,280,123
|
||||
CONTROL "控制器(USB R)",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,211,54,75,10
|
||||
CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,114,103,76,10
|
||||
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,8,139,81,10
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,139,45,10
|
||||
DEFPUSHBUTTON "OK",IDOK,145,142,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,225,142,50,14
|
||||
GROUPBOX "测试选项",IDC_STATIC,10,8,265,123
|
||||
CONTROL "控制器(USB R)",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,195,47,75,10
|
||||
CONTROL "ART PCI8822",IDC_RADIO_ART_PCI8622,"Button",BS_AUTORADIOBUTTON,100,96,76,10
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
|
||||
@@ -947,14 +947,25 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM
|
||||
CAPTION "ART PCI8622"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "DMA SEQ",IDC_RADIO_ART_PCI8622_MODE_DMASEQ,"Button",BS_AUTORADIOBUTTON | WS_GROUP,30,29,46,10
|
||||
CONTROL "NPT SEQ",IDC_RADIO_ART_PCI8622_MODE_NPTSEQ,"Button",BS_AUTORADIOBUTTON,87,29,44,10
|
||||
CONTROL "HALF SEQ",IDC_RADIO_ART_PCI8622_MODE_HALFSEQ,"Button",BS_AUTORADIOBUTTON,144,29,48,10
|
||||
CONTROL "DMA TRIG",IDC_RADIO_ART_PCI8622_MODE_DMATRIG,"Button",BS_AUTORADIOBUTTON,30,45,49,10
|
||||
CONTROL "NPT TRIG",IDC_RADIO_ART_PCI8622_MODE_NPTTRIG,"Button",BS_AUTORADIOBUTTON,87,45,47,10
|
||||
CONTROL "HALF TRIG",IDC_RADIO_ART_PCI8622_MODE_HALFTRIG,"Button",BS_AUTORADIOBUTTON,144,45,51,10
|
||||
PUSHBUTTON "Set",IDC_BUTTON_ART_PCI8622_SET_MODE,147,62,50,14
|
||||
PUSHBUTTON "Start",IDC_BUTTON_ART_PCI8622_START,213,62,34,14
|
||||
PUSHBUTTON "Read Once",IDC_BUTTON_ART_PCI8622_READ_DATA,291,62,47,14
|
||||
PUSHBUTTON "Stop",IDC_BUTTON_ART_PCI8622_STOP,253,62,34,14
|
||||
PUSHBUTTON "Clear all",IDC_BUTTON_ART_PCI8622_CLEAR_LOG,351,163,38,14
|
||||
PUSHBUTTON "Exit",IDCANCEL,347,264,50,14
|
||||
PUSHBUTTON "Start",IDC_BUTTON_ART_PCI8622_START,129,41,50,14
|
||||
PUSHBUTTON "Stop",IDC_BUTTON_ART_PCI8622_STOP,198,41,50,14
|
||||
EDITTEXT IDC_EDIT_ART_PCI8622_LOG,20,88,326,161,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
PUSHBUTTON "Clear all",IDC_BUTTON_ART_PCI8622_CLEAR_LOG,351,170,38,14
|
||||
PUSHBUTTON "Read",IDC_BUTTON_ART_PCI8622_READ_DATA,267,41,50,14
|
||||
GROUPBOX "Machine",-1,20,15,325,65
|
||||
PUSHBUTTON "Set",IDC_BUTTON_ART_PCI8622_SET_MODE,65,43,50,14
|
||||
GROUPBOX "PCI Sample Mode",IDC_STATIC,20,15,187,65
|
||||
GROUPBOX "PCI Sample Operate",IDC_STATIC,209,15,136,65
|
||||
EDITTEXT IDC_EDIT_ART_PCI8622_READ_TIMES,271,33,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "Read Times",IDC_STATIC,219,36,38,8
|
||||
LTEXT "Data Number",IDC_STATIC,33,64,43,8
|
||||
EDITTEXT IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER,87,62,40,14,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
|
||||
@@ -992,9 +1003,9 @@ BEGIN
|
||||
IDD_SO7_OPTION_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 310
|
||||
RIGHTMARGIN, 275
|
||||
TOPMARGIN, 6
|
||||
BOTTOMMARGIN, 162
|
||||
BOTTOMMARGIN, 156
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_SDK3000, DIALOG
|
||||
|
||||
@@ -61,8 +61,8 @@ BOOL CSetSo7MotionConfig::OnInitDialog()
|
||||
}
|
||||
UpdateLabelName();
|
||||
UpdateDataValue();
|
||||
m_ConfigList.SetEditableItemRange(0,22,2,2);
|
||||
m_ConfigList.SetColorStyleItemRange(0,24,0,3);
|
||||
m_ConfigList.SetEditableItemRange(0,23,2,2);
|
||||
m_ConfigList.SetColorStyleItemRange(0,25,0,3);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -167,6 +167,12 @@ void CSetSo7MotionConfig::UpdateLabelName()
|
||||
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
|
||||
iRow++;
|
||||
|
||||
cStr=L"FOOT_SWITCH_ENABLE";
|
||||
m_ConfigList.SetItemText(iRow,iCol,cStr);
|
||||
cStr=L"脚踏开关功能(接探针口);0:禁用,1:使能;默认值:0";
|
||||
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
|
||||
iRow++;
|
||||
|
||||
cStr=L"JOYSTICK_ENABLE";
|
||||
m_ConfigList.SetItemText(iRow,iCol,cStr);
|
||||
cStr=L"摇杆功能;0:禁用,1:使能;默认值:0";
|
||||
@@ -258,6 +264,8 @@ void CSetSo7MotionConfig::UpdateDataValue()
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable);
|
||||
@@ -355,6 +363,10 @@ void CSetSo7MotionConfig::SaveDataValue()
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
|
||||
@@ -18,6 +18,8 @@ IMPLEMENT_DYNAMIC(CSo7_Art_PCI8622, CDialog)
|
||||
: CDialog(CSo7_Art_PCI8622::IDD, pParent)
|
||||
{
|
||||
m_MsgCnts=0;
|
||||
m_iReadTimes=0;
|
||||
m_iReadTimesCnts=0;
|
||||
}
|
||||
|
||||
CSo7_Art_PCI8622::~CSo7_Art_PCI8622()
|
||||
@@ -68,7 +70,9 @@ BOOL CSo7_Art_PCI8622::OnInitDialog()
|
||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||
}
|
||||
}
|
||||
|
||||
GetDlgItem(IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER)->SetWindowTextW(_T("4096"));
|
||||
GetDlgItem(IDC_EDIT_ART_PCI8622_READ_TIMES)->SetWindowTextW(_T("1"));
|
||||
((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_DMATRIG))->SetCheck(TRUE);
|
||||
m_pART_PCI8622->Init();
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
@@ -76,14 +80,61 @@ BOOL CSo7_Art_PCI8622::OnInitDialog()
|
||||
|
||||
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622SetMode()
|
||||
{
|
||||
m_pART_PCI8622->SetCaptureMode(E_ART_PCI8622_CAPTURE_NPT_TRIGCLK);
|
||||
USES_CONVERSION;
|
||||
CString csDataNumber("");
|
||||
GetDlgItem(IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER)->GetWindowText(csDataNumber);
|
||||
const char* cDataNumber=T2A(csDataNumber);
|
||||
int iDataNumber = atoi(cDataNumber);
|
||||
|
||||
int iMode(0);
|
||||
if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_DMASEQ))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_DMA_SEQ;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_DMATRIG))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_DMA_TRIGCLK;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_NPTSEQ))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_NPT_SEQ;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_NPTTRIG))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_NPT_TRIGCLK;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_HALFSEQ))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_HALF_SEQ;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_HALFTRIG))->GetCheck())
|
||||
{
|
||||
iMode=E_ART_PCI8622_SAMPLE_HALF_TRIGCLK;
|
||||
}
|
||||
BOOL BStatus=m_pART_PCI8622->SetSamplePara(iMode,iDataNumber);
|
||||
if (!BStatus)
|
||||
{
|
||||
m_csMsg=_T("Failed to setup.");
|
||||
OutputWithScroll(m_csMsg,m_edMSG);
|
||||
m_pART_PCI8622->Exit();
|
||||
m_pART_PCI8622->Init();
|
||||
BStatus=m_pART_PCI8622->SetSamplePara(iMode,iDataNumber);
|
||||
if (!BStatus)
|
||||
{
|
||||
m_csMsg=_T("Failed to setup.");
|
||||
OutputWithScroll(m_csMsg,m_edMSG);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_csMsg=_T("Setup successful.");
|
||||
OutputWithScroll(m_csMsg,m_edMSG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622ReadData()
|
||||
{
|
||||
SetTimer(1,200,NULL);
|
||||
//GetData(TRUE);
|
||||
GetData(TRUE);
|
||||
}
|
||||
|
||||
|
||||
@@ -103,15 +154,38 @@ void CSo7_Art_PCI8622::OnBnClickedCancel()
|
||||
|
||||
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Start()
|
||||
{
|
||||
m_pART_PCI8622->StartCaptureData();
|
||||
GetDlgItem(IDC_BUTTON_ART_PCI8622_START)->EnableWindow(FALSE);
|
||||
USES_CONVERSION;
|
||||
CString csReadTimes("");
|
||||
GetDlgItem(IDC_EDIT_ART_PCI8622_READ_TIMES)->GetWindowText(csReadTimes);
|
||||
const char* cReadTimes=T2A(csReadTimes);
|
||||
m_iReadTimes = atoi(cReadTimes);
|
||||
|
||||
m_pART_PCI8622->Init();
|
||||
BOOL BStatus=m_pART_PCI8622->StartSampleData();
|
||||
if (!BStatus)
|
||||
{
|
||||
m_csMsg=_T("Failed to start.");
|
||||
OutputWithScroll(m_csMsg,m_edMSG);
|
||||
}
|
||||
m_iReadTimesCnts=0;
|
||||
if (m_iReadTimes>0)
|
||||
{
|
||||
SetTimer(1,200,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Art_PCI8622::OnBnClickedButtonArtPci8622Stop()
|
||||
{
|
||||
KillTimer(1);
|
||||
m_pART_PCI8622->StopCaptureData();
|
||||
BOOL BStatus=m_pART_PCI8622->StopSampleData();
|
||||
if (!BStatus)
|
||||
{
|
||||
m_csMsg=_T("Failed to stop.");
|
||||
OutputWithScroll(m_csMsg,m_edMSG);
|
||||
}
|
||||
GetDlgItem(IDC_BUTTON_ART_PCI8622_START)->EnableWindow(TRUE);
|
||||
}
|
||||
//===================================================
|
||||
void CSo7_Art_PCI8622::GetData(BOOL _BShow)
|
||||
@@ -155,19 +229,21 @@ void CSo7_Art_PCI8622::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
bool bExit(false);
|
||||
if (bExit)
|
||||
m_iReadTimesCnts++;
|
||||
if (m_iReadTimesCnts>m_iReadTimes)
|
||||
{
|
||||
KillTimer(1);
|
||||
m_pART_PCI8622->StopSampleData();
|
||||
GetDlgItem(IDC_BUTTON_ART_PCI8622_START)->EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetData();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CDialog::OnTimer(nIDEvent);
|
||||
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
|
||||
@@ -23,6 +23,8 @@ protected:
|
||||
CString m_csMsg;
|
||||
CEdit m_edMSG;
|
||||
int m_MsgCnts;
|
||||
int m_iReadTimes;
|
||||
int m_iReadTimesCnts;
|
||||
void GetData(BOOL _BShow=FALSE);
|
||||
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
|
||||
public:
|
||||
|
||||
@@ -597,6 +597,7 @@
|
||||
#define IDC_RADIO_MOVE_TO_ABSOLUTE 1489
|
||||
#define IDC_RADIO6 1490
|
||||
#define IDC_RADIO_MOVE_TO_RELATIVE 1490
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_HALFTRIG 1490
|
||||
#define IDC_BUTTON_STATUS_MOVING_X 1493
|
||||
#define IDC_BUTTON_STATUS_HOME_X 1494
|
||||
#define IDC_BUTTON_STATUS_MOVING_Y 1495
|
||||
@@ -899,6 +900,7 @@
|
||||
#define IDC_RADIO2 1805
|
||||
#define IDC_RADIO_READ_OUTPUT_PORT 1805
|
||||
#define IDC_RADIO_SO7_MOVE_SPEED_GEAR2 1805
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_NPTSEQ 1805
|
||||
#define IDC_RADIO_MACHINE_TESASTARE 1806
|
||||
#define IDC_RADIO_READ_OUTPUT_PORT2 1806
|
||||
#define IDC_EDIT_MOVETO_DEG 1807
|
||||
@@ -973,8 +975,13 @@
|
||||
#define IDC_EDIT_ART_PCI8622_LOG 1846
|
||||
#define IDC_EDIT_R1_CURRENT_POSITION 1847
|
||||
#define IDC_BUTTON_ART_PCI8622_CLEAR_LOG 1847
|
||||
#define IDC_BUTTON_ART_PCI8622_START2 1848
|
||||
#define IDC_BUTTON_ART_PCI8622_SET_MODE 1848
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_DMASEQ 1849
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_HALFSEQ 1850
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_DMATRIG 1851
|
||||
#define IDC_RADIO_ART_PCI8622_MODE_NPTTRIG 1852
|
||||
#define IDC_EDIT_ART_PCI8622_READ_TIMES 1853
|
||||
#define IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER 1854
|
||||
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
|
||||
#define ID_EDIT_SO7_CONFIG_MOTION 32741
|
||||
|
||||
@@ -984,7 +991,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 191
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1848
|
||||
#define _APS_NEXT_CONTROL_VALUE 1854
|
||||
#define _APS_NEXT_SYMED_VALUE 104
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user