1、合并master与2021.1
This commit is contained in:
@@ -0,0 +1,302 @@
|
||||
#include "stdafx.h"
|
||||
#include "EF1A_Manual_Machine.h"
|
||||
#include "resource.h"
|
||||
|
||||
extern "C" {
|
||||
#include <setupapi.h>
|
||||
#include <hidsdi.h>
|
||||
}
|
||||
|
||||
CEF1AUsbDevice::CEF1AUsbDevice()
|
||||
{
|
||||
m_hWriteHandle = INVALID_HANDLE_VALUE;
|
||||
m_hReadHandle = INVALID_HANDLE_VALUE;
|
||||
m_nVID = 0x4532;
|
||||
m_nPID = 0x5567;
|
||||
m_isOpen = FALSE;
|
||||
}
|
||||
|
||||
CEF1AUsbDevice::~CEF1AUsbDevice()
|
||||
{
|
||||
if(m_isOpen)
|
||||
{
|
||||
EF1ACloseDevice();
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CEF1AUsbDevice::EF1AOpenDevice()
|
||||
{
|
||||
//用来保存设备是否已经找到
|
||||
BOOL DevFound=FALSE;
|
||||
//用来保存找到的设备路径
|
||||
CString DevPathName=_T("");
|
||||
//定义一个GUID的结构体HidGuid来保存HID设备的接口类GUID。
|
||||
GUID HidGuid;
|
||||
//定义一个DEVINFO的句柄hDevInfoSet来保存获取到的设备信息集合句柄。
|
||||
HDEVINFO hDevInfoSet;
|
||||
//定义MemberIndex,表示当前搜索到第几个设备,0表示第一个设备。
|
||||
DWORD MemberIndex;
|
||||
//DevInterfaceData,用来保存设备的驱动接口信息
|
||||
SP_DEVICE_INTERFACE_DATA DevInterfaceData;
|
||||
//定义一个BOOL变量,保存函数调用是否返回成功
|
||||
BOOL Result;
|
||||
//定义一个RequiredSize的变量,用来接收需要保存详细信息的缓冲长度。
|
||||
DWORD RequiredSize;
|
||||
//定义一个指向设备详细信息的结构体指针。
|
||||
PSP_DEVICE_INTERFACE_DETAIL_DATA pDevDetailData;
|
||||
//定义一个用来保存打开设备的句柄。
|
||||
HANDLE hDevHandle;
|
||||
//定义一个HIDD_ATTRIBUTES的结构体变量,保存设备的属性。
|
||||
HIDD_ATTRIBUTES DevAttributes;
|
||||
|
||||
//对DevInterfaceData结构体的cbSize初始化为结构体大小
|
||||
DevInterfaceData.cbSize=sizeof(DevInterfaceData);
|
||||
//对DevAttributes结构体的Size初始化为结构体大小
|
||||
DevAttributes.Size=sizeof(DevAttributes);
|
||||
|
||||
//调用HidD_GetHidGuid函数获取HID设备的GUID,并保存在HidGuid中。
|
||||
HidD_GetHidGuid(&HidGuid);
|
||||
|
||||
//根据HidGuid来获取设备信息集合。其中Flags参数设置为
|
||||
//DIGCF_DEVICEINTERFACE|DIGCF_PRESENT,前者表示使用的GUID为
|
||||
//接口类GUID,后者表示只列举正在使用的设备,因为我们这里只
|
||||
//查找已经连接上的设备。返回的句柄保存在hDevinfo中。注意设备
|
||||
//信息集合在使用完毕后,要使用函数SetupDiDestroyDeviceInfoList
|
||||
//销毁,不然会造成内存泄漏。
|
||||
hDevInfoSet=SetupDiGetClassDevs(&HidGuid,
|
||||
NULL,
|
||||
NULL,
|
||||
DIGCF_DEVICEINTERFACE|DIGCF_PRESENT);
|
||||
|
||||
//MessageBox(NULL,"开始查找设备!",NULL,MB_OK);
|
||||
|
||||
//然后对设备集合中每个设备进行列举,检查是否是我们要找的设备
|
||||
//当找到我们指定的设备,或者设备已经查找完毕时,就退出查找。
|
||||
//首先指向第一个设备,即将MemberIndex置为0。
|
||||
MemberIndex=0;
|
||||
while(1)
|
||||
{
|
||||
//调用SetupDiEnumDeviceInterfaces在设备信息集合中获取编号为
|
||||
//MemberIndex的设备信息。
|
||||
Result=SetupDiEnumDeviceInterfaces(hDevInfoSet,
|
||||
NULL,
|
||||
&HidGuid,
|
||||
MemberIndex,
|
||||
&DevInterfaceData);
|
||||
|
||||
//如果获取信息失败,则说明设备已经查找完毕,退出循环。
|
||||
if(Result==FALSE) break;
|
||||
|
||||
//将MemberIndex指向下一个设备
|
||||
MemberIndex++;
|
||||
|
||||
//如果获取信息成功,则继续获取该设备的详细信息。在获取设备
|
||||
//详细信息时,需要先知道保存详细信息需要多大的缓冲区,这通过
|
||||
//第一次调用函数SetupDiGetDeviceInterfaceDetail来获取。这时
|
||||
//提供缓冲区和长度都为NULL的参数,并提供一个用来保存需要多大
|
||||
//缓冲区的变量RequiredSize。
|
||||
Result=SetupDiGetDeviceInterfaceDetail(hDevInfoSet,
|
||||
&DevInterfaceData,
|
||||
NULL,
|
||||
NULL,
|
||||
&RequiredSize,
|
||||
NULL);
|
||||
|
||||
//然后,分配一个大小为RequiredSize缓冲区,用来保存设备详细信息。
|
||||
pDevDetailData=(PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(RequiredSize);
|
||||
if(pDevDetailData==NULL) //如果内存不足,则直接返回。
|
||||
{
|
||||
MessageBox(NULL,_T("内存不足!"),NULL,MB_OK);
|
||||
SetupDiDestroyDeviceInfoList(hDevInfoSet);
|
||||
return false;
|
||||
}
|
||||
|
||||
//并设置pDevDetailData的cbSize为结构体的大小(注意只是结构体大小,
|
||||
//不包括后面缓冲区)。
|
||||
pDevDetailData->cbSize=sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
|
||||
|
||||
//然后再次调用SetupDiGetDeviceInterfaceDetail函数来获取设备的
|
||||
//详细信息。这次调用设置使用的缓冲区以及缓冲区大小。
|
||||
Result=SetupDiGetDeviceInterfaceDetail(hDevInfoSet,
|
||||
&DevInterfaceData,
|
||||
pDevDetailData,
|
||||
RequiredSize,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
//将设备路径复制出来,然后销毁刚刚申请的内存。
|
||||
DevPathName=pDevDetailData->DevicePath;
|
||||
free(pDevDetailData);
|
||||
|
||||
//如果调用失败,则查找下一个设备。
|
||||
if(Result==FALSE) continue;
|
||||
|
||||
//如果调用成功,则使用不带读写访问的CreateFile函数
|
||||
//来获取设备的属性,包括VID、PID、版本号等。
|
||||
//对于一些独占设备(例如USB键盘),使用读访问方式是无法打开的,
|
||||
//而使用不带读写访问的格式才可以打开这些设备,从而获取设备的属性。
|
||||
hDevHandle=CreateFile(DevPathName,
|
||||
NULL,
|
||||
FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
|
||||
//如果打开成功,则获取设备属性。
|
||||
if(hDevHandle!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
//获取设备的属性并保存在DevAttributes结构体中
|
||||
Result=HidD_GetAttributes(hDevHandle,
|
||||
&DevAttributes);
|
||||
|
||||
//关闭刚刚打开的设备
|
||||
CloseHandle(hDevHandle);
|
||||
|
||||
//获取失败,查找下一个
|
||||
if(Result==FALSE) continue;
|
||||
|
||||
//如果获取成功,则将属性中的VID、PID以及设备版本号与我们需要的
|
||||
//进行比较,如果都一致的话,则说明它就是我们要找的设备。
|
||||
if(DevAttributes.VendorID==m_nVID) //如果VID相等
|
||||
if(DevAttributes.ProductID==m_nPID) //并且PID相等
|
||||
//if(DevAttributes.VersionNumber==MyPvn) //并且设备版本号相等
|
||||
{
|
||||
DevFound=TRUE; //设置设备已经找到
|
||||
//MessageBox(NULL,"设备已经找到!",NULL,MB_OK);
|
||||
|
||||
//那么就是我们要找的设备,分别使用读写方式打开之,并保存其句柄
|
||||
//并且选择为异步访问方式。
|
||||
//读方式打开设备
|
||||
m_hReadHandle=CreateFile(DevPathName,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,//|FILE_FLAG_OVERLAPPED,
|
||||
NULL);
|
||||
|
||||
if(m_hReadHandle!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
//MessageBox(NULL,"读访问打开设备成功!",NULL,MB_OK);
|
||||
}
|
||||
else
|
||||
MessageBox(NULL,_T("读访问打开设备失败!"),NULL,MB_OK);
|
||||
|
||||
//写方式打开设备
|
||||
m_hWriteHandle=CreateFile(DevPathName,
|
||||
GENERIC_WRITE,
|
||||
FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,//|FILE_FLAG_OVERLAPPED,
|
||||
NULL);
|
||||
if(m_hWriteHandle!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
//MessageBox(NULL,"写访问打开设备成功!",NULL,MB_OK);
|
||||
}
|
||||
else
|
||||
MessageBox(NULL,_T("写访问打开设备失败!"),NULL,MB_OK);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
//如果打开失败,则查找下一个设备
|
||||
else continue;
|
||||
}
|
||||
|
||||
//调用SetupDiDestroyDeviceInfoList函数销毁设备信息集合
|
||||
SetupDiDestroyDeviceInfoList(hDevInfoSet);
|
||||
|
||||
//如果设备已经找到,那么应该使能各操作按钮,并同时禁止打开设备按钮
|
||||
if(DevFound)
|
||||
{
|
||||
m_isOpen = TRUE;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void CEF1AUsbDevice::EF1ACloseDevice()
|
||||
{
|
||||
if(m_isOpen)
|
||||
{
|
||||
if(m_hReadHandle!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(m_hReadHandle);
|
||||
m_hReadHandle=INVALID_HANDLE_VALUE;
|
||||
}
|
||||
if(m_hWriteHandle!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CloseHandle(m_hWriteHandle);
|
||||
m_hWriteHandle=INVALID_HANDLE_VALUE;
|
||||
}
|
||||
m_isOpen = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
int CEF1AUsbDevice::EF1AReadData(ULONG /*iIndex*/, char* oBuffer,int /*ioLength*/)
|
||||
{
|
||||
DWORD iLen = 0;
|
||||
UCHAR ReadReportBuffer[65]={0};
|
||||
if(m_hReadHandle==INVALID_HANDLE_VALUE) //如果读句柄无效
|
||||
{
|
||||
MessageBox(NULL,_T("无效的读报告句柄!"),NULL,MB_OK);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL _ret;
|
||||
_ret=ReadFile(m_hReadHandle,
|
||||
ReadReportBuffer,
|
||||
65,
|
||||
&iLen,
|
||||
NULL);
|
||||
|
||||
if(!_ret)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(int i=0;i<64;i++)
|
||||
oBuffer[i]=ReadReportBuffer[i+1];
|
||||
|
||||
return iLen;
|
||||
}
|
||||
}
|
||||
|
||||
int CEF1AUsbDevice::EF1AWriteData(ULONG /*iIndex*/, char* Buffer, int ioLength)
|
||||
{
|
||||
BOOL _ret;
|
||||
DWORD iLen = ioLength;
|
||||
|
||||
if(m_hWriteHandle==INVALID_HANDLE_VALUE)
|
||||
{
|
||||
MessageBox(NULL,_T("无效的写报告句柄!"),NULL,MB_OK);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
unsigned char sendBuffer[65] = {0};
|
||||
sendBuffer[1] =static_cast<unsigned char>(ioLength);
|
||||
for(DWORD i = 0; i < iLen; i++)
|
||||
{
|
||||
sendBuffer[i+2] = Buffer[i];
|
||||
}
|
||||
|
||||
_ret=WriteFile(m_hWriteHandle,
|
||||
sendBuffer,
|
||||
65,
|
||||
&iLen,
|
||||
NULL);
|
||||
if (!_ret)
|
||||
{
|
||||
AfxMessageBox(_T("Sent Error"));
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
return iLen;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
#include "resource.h"
|
||||
class CEF1AUsbDevice
|
||||
{
|
||||
public:
|
||||
CEF1AUsbDevice();
|
||||
~CEF1AUsbDevice();
|
||||
BOOL EF1AOpenDevice();
|
||||
void EF1ACloseDevice();
|
||||
int EF1AReadData(ULONG iIndex, char* oBuffer, int ioLength);
|
||||
int EF1AWriteData(ULONG iIndex, char* iBuffer, int ioLength);
|
||||
private:
|
||||
HANDLE m_hReadHandle;
|
||||
HANDLE m_hWriteHandle;
|
||||
int m_nVID;
|
||||
int m_nPID;
|
||||
BOOL m_isOpen;
|
||||
};
|
||||
@@ -48,6 +48,11 @@ void CFileUtilitiesDlg::OnBnClickedOk()
|
||||
if (((CButton *)GetDlgItem(IDC_RADIO_2BIN))->GetCheck())
|
||||
{
|
||||
}
|
||||
else
|
||||
if (((CButton *)GetDlgItem(IDC_RADIO_BIN2HEX))->GetCheck())
|
||||
{
|
||||
m_FileUtilities->Bin2Hex(&m_csInputFile);
|
||||
}
|
||||
else
|
||||
if (((CButton *)GetDlgItem(IDC_RADIO_DEDUPE))->GetCheck())
|
||||
{
|
||||
|
||||
@@ -137,6 +137,49 @@ CMv_File_Utilities::~CMv_File_Utilities(void)
|
||||
{
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
// Read in a buffer. Look for the key. Match one of them.
|
||||
// iFmt = -1 not used.
|
||||
// ==========================================================================================
|
||||
int CMv_File_Utilities::Bin2Hex(CString *_InFileName)
|
||||
{
|
||||
FILE* pInFile;
|
||||
FILE* pOutFile;
|
||||
unsigned char *fBuff = NULL;
|
||||
int bytes_read = 0;
|
||||
|
||||
CString OutFileName = *_InFileName + _T("_Hex.txt");
|
||||
_wfopen_s(&pOutFile, OutFileName, _T("wt"));
|
||||
if (!pOutFile)
|
||||
return -1;
|
||||
_wfopen_s(&pInFile, *_InFileName, _T("rb"));
|
||||
if (!pInFile)
|
||||
{
|
||||
fprintf(pOutFile, "%s not found.\n", _InFileName);
|
||||
fclose(pOutFile);
|
||||
return(-1);
|
||||
};
|
||||
|
||||
fBuff = (unsigned char *)malloc(MAX_BUFF_SIZE);
|
||||
memset(fBuff, 0, MAX_BUFF_SIZE);
|
||||
while (!feof(pInFile))
|
||||
{
|
||||
bytes_read = fread(fBuff, 1, 32, pInFile);
|
||||
if (bytes_read > 0)
|
||||
{
|
||||
for (int jj=0;jj<bytes_read;jj++)
|
||||
{
|
||||
fprintf(pOutFile, "0x%02X,", *(fBuff+jj));
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
fclose(pInFile);
|
||||
fclose(pOutFile);
|
||||
free(fBuff);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
// Read in a buffer. Look for the key. Match one of them.
|
||||
// iFmt = -1 not used.
|
||||
@@ -160,7 +203,7 @@ int CMv_File_Utilities::DumpBin(CString *_InFileName)
|
||||
fclose(pOutFile);
|
||||
return(-1);
|
||||
};
|
||||
|
||||
|
||||
fBuff = (unsigned char *)malloc(MAX_BUFF_SIZE);
|
||||
memset(fBuff, 0, MAX_BUFF_SIZE);
|
||||
while (!feof(pInFile))
|
||||
@@ -183,7 +226,6 @@ int CMv_File_Utilities::DumpBin(CString *_InFileName)
|
||||
free(fBuff);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
// Read the entire file. It should be 41K
|
||||
//
|
||||
|
||||
@@ -7,6 +7,8 @@ public:
|
||||
CMv_File_Utilities(void);
|
||||
~CMv_File_Utilities(void);
|
||||
int DumpBin(CString* InFileName);
|
||||
int Bin2Hex(CString* InFileName);
|
||||
|
||||
int DedupeFunction(CString* InFileName);
|
||||
int ExtractCommand(CString* InFileName, char *_criteriaString, int bNegate);
|
||||
int DumpPrs(CString *_InFileName);
|
||||
|
||||
@@ -37,7 +37,7 @@ BEGIN
|
||||
CONTROL "输出口 (J1)",IDC_RADIO_READ_OUTPUT_PORT,"Button",BS_AUTORADIOBUTTON,315,159,55,10
|
||||
CONTROL "输出口 (J3)",IDC_RADIO_READ_OUTPUT_PORT2,"Button",BS_AUTORADIOBUTTON,315,169,55,10
|
||||
EDITTEXT IDC_EDIT_STATUS,247,270,199,117,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
GROUPBOX "CMD",IDC_STATIC,102,12,193,116
|
||||
GROUPBOX "CMD",IDC_STATIC,102,12,193,133
|
||||
CONTROL "连续读取",IDC_CHECK_CONTINUOUS_READ_IO_STATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,380,144,47,10
|
||||
PUSHBUTTON "点击读取",IDC_BUTTON_SO7_READ_IN_PORT_STATUS,378,156,61,14
|
||||
COMBOBOX IDC_COMBO_OUTPORT_NUMBER,304,189,39,75,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
@@ -76,7 +76,7 @@ BEGIN
|
||||
PUSHBUTTON "手动复位",IDC_BUTTON_MANUAL_HOME,219,195,76,22,BS_MULTILINE
|
||||
PUSHBUTTON "自动复位",IDC_BUTTON_RESET_WORKTABLE,219,227,40,22
|
||||
PUSHBUTTON "RESET_RIGHT",IDC_BUTTON_RESET_WORKTABLE_RIGHT,167,45,60,15,BS_MULTILINE
|
||||
PUSHBUTTON "AutoZoom",IDC_BUTTON_AUTO_ZOOM,167,144,60,18,BS_MULTILINE
|
||||
PUSHBUTTON "AutoZoom",IDC_BUTTON_AUTO_ZOOM,165,159,60,18,BS_MULTILINE
|
||||
PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,104,108,60,15
|
||||
PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,167,87,60,15
|
||||
EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,37,290,39,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
@@ -84,7 +84,7 @@ BEGIN
|
||||
EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,155,290,39,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SET_VER_NO,261,25,29,14,ES_AUTOHSCROLL
|
||||
GROUPBOX "USB Control",IDC_STATIC,17,12,81,59
|
||||
GROUPBOX "Advanced Function",IDC_STATIC,102,129,193,44
|
||||
GROUPBOX "Advanced Function",IDC_STATIC,101,149,193,31
|
||||
LTEXT "Ver NO.",IDC_STATIC,232,27,26,8
|
||||
GROUPBOX "R/W Data",IDC_STATIC,301,211,144,54
|
||||
CONTROL "X",IDC_RADIO_SELECT_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,307,224,20,10
|
||||
@@ -114,7 +114,7 @@ BEGIN
|
||||
LTEXT "Pulse",IDC_STATIC,55,311,18,8
|
||||
LTEXT "mm",IDC_STATIC,125,311,12,8
|
||||
LTEXT "ms",IDC_STATIC_SEC,214,386,16,9
|
||||
EDITTEXT IDC_EDIT_UPDATE_FREQ,185,384,25,13,ES_AUTOHSCROLL | ES_READONLY
|
||||
EDITTEXT IDC_EDIT_UPDATE_FREQ,185,390,25,13,ES_AUTOHSCROLL | ES_READONLY
|
||||
GROUPBOX "光栅尺坐标",IDC_STATIC,17,266,224,136
|
||||
GROUPBOX "MOVE XYZV",IDC_STATIC,17,178,282,86
|
||||
EDITTEXT IDC_EDIT_X_POSITION_59,176,325,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
|
||||
@@ -142,8 +142,8 @@ BEGIN
|
||||
CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT5,"MfcButton",WS_TABSTOP,414,90,21,14
|
||||
CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT6,"MfcButton",WS_TABSTOP,414,106,21,14
|
||||
PUSHBUTTON "测试零位信号",IDC_BUTTON_SO7_TEST_Z_SIGNAL,167,108,60,15
|
||||
PUSHBUTTON "CNC Program",IDC_BUTTON_SO7_CNC_PROGRAM,104,144,60,18
|
||||
GROUPBOX "Config",IDC_STATIC,17,73,81,99
|
||||
PUSHBUTTON "CNC Program",IDC_BUTTON_SO7_CNC_PROGRAM,103,158,60,18
|
||||
GROUPBOX "Config",IDC_STATIC,17,73,81,100
|
||||
EDITTEXT IDC_EDIT_RWDATA_DATA,353,244,44,13,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "写",IDC_BUTTON_SO7_SENDDATATOFPGA,406,218,34,19
|
||||
PUSHBUTTON "读",IDC_BUTTON_SO7_READDATAFROMFPGA,406,241,34,19
|
||||
@@ -171,7 +171,9 @@ BEGIN
|
||||
PUSHBUTTON "确定",IDC_BUTTON_SET_SCALE_COEFFICIENT,202,285,34,19
|
||||
GROUPBOX "光栅尺分辨率(μm)",IDC_STATIC,18,277,223,31
|
||||
PUSHBUTTON "IO用途",IDC_BUTTON_S07_SET_IO_PURPOSE,104,65,60,15
|
||||
PUSHBUTTON "外触发测试",IDC_BUTTON_SO7_EXTERNAL_TRIG,230,144,60,18
|
||||
PUSHBUTTON "外触发测试",IDC_BUTTON_SO7_EXTERNAL_TRIG,229,158,60,18
|
||||
PUSHBUTTON "IO Test",IDC_BUTTON_IO_TEST,103,129,61,14
|
||||
PUSHBUTTON "设置机器类型",IDC_BUTTON_SET_MOTION_TYPE,169,129,59,14
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 750, 480
|
||||
@@ -337,6 +339,7 @@ BEGIN
|
||||
CONTROL "Y闭环",IDC_CHECK_SO7_CONTROL_MODE_Y,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,429,36,10
|
||||
CONTROL "Z闭环",IDC_CHECK_SO7_CONTROL_MODE_Z,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,442,36,10
|
||||
GROUPBOX "控制模式",IDC_STATIC,16,404,55,51
|
||||
PUSHBUTTON "另存为...",IDC_BUTTON_SAVE2,231,420,50,24
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460
|
||||
@@ -396,7 +399,7 @@ 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, 335, 194
|
||||
IDD_SO7_OPTION_DIALOG DIALOGEX 0, 0, 336, 193
|
||||
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
|
||||
@@ -405,7 +408,7 @@ BEGIN
|
||||
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,235,40,69,10
|
||||
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,235,56,68,10
|
||||
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,235,72,69,10
|
||||
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,104,62,10
|
||||
CONTROL "Mindvision",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,235,104,62,10
|
||||
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,120,62,10
|
||||
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,129,24,76,10
|
||||
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,129,40,76,10
|
||||
@@ -419,16 +422,19 @@ BEGIN
|
||||
CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,26,56,77,10
|
||||
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
|
||||
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,152,81,10
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,235,136,45,10
|
||||
DEFPUSHBUTTON "OK",IDOK,195,173,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,270,173,50,14
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,235,136,45,10
|
||||
DEFPUSHBUTTON "OK",IDOK,195,172,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,271,172,50,14
|
||||
GROUPBOX "测试选项",IDC_STATIC,11,8,304,158
|
||||
CONTROL "MV900视频卡",IDC_RADIO_VIDEOCARD_MV900,"Button",BS_AUTORADIOBUTTON,235,88,69,10
|
||||
CONTROL "TCPIP Client(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,26,88,89,10
|
||||
CONTROL "TCPIP Server(CJ2M PLC)",IDC_RADIO_SO7_OMRON_PLC_SERVER,
|
||||
CONTROL "TCPIP Client(PLC)",IDC_RADIO_SO7_OMRON_PLC,"Button",BS_AUTORADIOBUTTON,26,88,89,10
|
||||
CONTROL "TCPIP Server(PLC)",IDC_RADIO_SO7_OMRON_PLC_SERVER,
|
||||
"Button",BS_AUTORADIOBUTTON,26,72,91,10
|
||||
CONTROL "Temperature Sensor",IDC_RADIO_SO7_TEMPERATURE_SENSOR,
|
||||
"Button",BS_AUTORADIOBUTTON,26,104,81,10
|
||||
CONTROL "keyence9011",IDC_RADIO_SO7_keyence9011,"Button",BS_AUTORADIOBUTTON,25,118,59,10
|
||||
CONTROL "Robot",IDC_RADIO_SO7_ROBOT,"Button",BS_AUTORADIOBUTTON,25,133,35,10
|
||||
CONTROL "控制器(EF1A)",IDC_RADIO_CONTROL_EF1A,"Button",BS_AUTORADIOBUTTON,26,149,62,10
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
|
||||
@@ -825,52 +831,58 @@ BEGIN
|
||||
GROUPBOX "降噪(5-100)",IDC_STATIC,437,75,47,39
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 590, 386
|
||||
IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 759, 451
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "CNC Program"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "Exit",IDCANCEL,533,365,50,14
|
||||
GROUPBOX "Motion",IDC_STATIC,163,11,253,130
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT,"MfcButton",WS_TABSTOP,295,56,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT,"MfcButton",WS_TABSTOP,369,56,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD,"MfcButton",WS_TABSTOP,332,26,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD,"MfcButton",WS_TABSTOP,332,86,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Z_UP,"MfcButton",WS_TABSTOP,295,26,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN,"MfcButton",WS_TABSTOP,295,86,37,31
|
||||
CONTROL "3",IDC_MFCBUTTON_SPEEDGEAR,"MfcButton",WS_TABSTOP,332,56,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_PLUS_SPEED,"MfcButton",WS_TABSTOP,369,26,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_MINUS_SPEED,"MfcButton",WS_TABSTOP,369,86,37,31
|
||||
CONTROL "",IDC_LIST_REPORT_OUTPUT,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,17,151,557,117
|
||||
GROUPBOX "Readout",IDC_STATIC,420,11,157,130
|
||||
GROUPBOX "Motion Type",IDC_STATIC,169,32,52,82
|
||||
CONTROL "Move",IDC_RADIO_SO7_PROGRAM_MOVE,"Button",BS_AUTORADIOBUTTON,174,54,33,10
|
||||
CONTROL "MoveTo",IIDC_RADIO_SO7_PROGRAM_MOVE_TO,"Button",BS_AUTORADIOBUTTON,174,84,41,10
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_X_MOVETO,241,37,40,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_Y_MOVETO,241,63,40,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_Z_MOVETO,241,89,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "X",IDC_STATIC,230,39,8,8
|
||||
LTEXT "Y",IDC_STATIC,230,65,8,8
|
||||
LTEXT "Z",IDC_STATIC,230,92,8,8
|
||||
PUSHBUTTON "X",IDC_BUTTON_PROGRAM_SET_ZERO_X,427,41,27,21
|
||||
PUSHBUTTON "Y",IDC_BUTTON_PROGRAM_SET_ZERO_Y,427,64,27,21
|
||||
PUSHBUTTON "Z",IDC_BUTTON_PROGRAM_SET_ZERO_Z,427,87,27,21
|
||||
GROUPBOX "CNC Program",IDC_STATIC,15,11,140,130
|
||||
PUSHBUTTON "Add CNC Point",IDC_BUTTON_SO7_PROGRAM_ADD_CNC_PROGRAM,22,113,53,21
|
||||
PUSHBUTTON "Run",IDC_BUTTON_SO7_PROGRAM_RUN_CNC,87,115,53,21
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_MSG_OUTPUT,17,276,554,77,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
EDITTEXT IDC_EDIT_READOUT_X,459,42,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
EDITTEXT IDC_EDIT_READOUT_Z,459,85,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
EDITTEXT IDC_EDIT_READOUT_Y,459,63,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
PUSHBUTTON "New",IDC_BUTTON_SO7_PROGRAM_NEW_CNC,22,29,53,21
|
||||
PUSHBUTTON "Save as...",IDC_BUTTON_SO7_PROGRAM_SAVE_CNC_FILE,22,85,53,21
|
||||
PUSHBUTTON "Open",IDC_BUTTON_SO7_PROGRAM_OPEN_CNC,22,57,53,21
|
||||
EDITTEXT IDC_EDIT_SO7_PROGEAM_CNC_RUING_TIMES,97,49,40,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Exit",IDCANCEL,702,430,50,14
|
||||
GROUPBOX "Motion",IDC_STATIC,331,10,253,130
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT,"MfcButton",WS_TABSTOP,463,55,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT,"MfcButton",WS_TABSTOP,537,55,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD,"MfcButton",WS_TABSTOP,500,25,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD,"MfcButton",WS_TABSTOP,500,85,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Z_UP,"MfcButton",WS_TABSTOP,463,25,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN,"MfcButton",WS_TABSTOP,463,85,37,31
|
||||
CONTROL "3",IDC_MFCBUTTON_SPEEDGEAR,"MfcButton",WS_TABSTOP,500,55,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_PLUS_SPEED,"MfcButton",WS_TABSTOP,537,25,37,31
|
||||
CONTROL "",IDC_MFCBUTTON_SO7_PROGRAM_MINUS_SPEED,"MfcButton",WS_TABSTOP,537,85,37,31
|
||||
CONTROL "",IDC_LIST_REPORT_OUTPUT,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,17,151,727,117
|
||||
GROUPBOX "Readout",IDC_STATIC,588,10,157,130
|
||||
GROUPBOX "Motion Type",IDC_STATIC,337,31,52,82
|
||||
CONTROL "Jog",IDC_RADIO_SO7_PROGRAM_MOVE,"Button",BS_AUTORADIOBUTTON,342,53,27,10
|
||||
CONTROL "MoveTo",IIDC_RADIO_SO7_PROGRAM_MOVE_TO,"Button",BS_AUTORADIOBUTTON,342,83,41,10
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_X_MOVETO,409,36,40,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_Y_MOVETO,409,61,40,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_Z_MOVETO,409,88,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "X",IDC_STATIC,398,37,8,8
|
||||
LTEXT "Y",IDC_STATIC,398,64,8,8
|
||||
LTEXT "Z",IDC_STATIC,398,91,8,8
|
||||
PUSHBUTTON "X",IDC_BUTTON_PROGRAM_SET_ZERO_X,595,40,27,21
|
||||
PUSHBUTTON "Y",IDC_BUTTON_PROGRAM_SET_ZERO_Y,595,63,27,21
|
||||
PUSHBUTTON "Z",IDC_BUTTON_PROGRAM_SET_ZERO_Z,595,85,27,21
|
||||
GROUPBOX "CNC Program",IDC_STATIC,15,11,308,130
|
||||
PUSHBUTTON "Add CNC Point",IDC_BUTTON_SO7_PROGRAM_ADD_CNC_PROGRAM,254,31,53,21
|
||||
PUSHBUTTON "Run",IDC_BUTTON_SO7_PROGRAM_RUN_CNC,255,103,53,21
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_MSG_OUTPUT,17,274,663,136,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
|
||||
EDITTEXT IDC_EDIT_READOUT_X,627,41,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
EDITTEXT IDC_EDIT_READOUT_Z,627,84,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
EDITTEXT IDC_EDIT_READOUT_Y,627,61,113,22,ES_RIGHT | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
PUSHBUTTON "New",IDC_BUTTON_SO7_PROGRAM_NEW_CNC,23,29,53,21
|
||||
PUSHBUTTON "Save as...",IDC_BUTTON_SO7_PROGRAM_SAVE_CNC_FILE,177,30,53,21
|
||||
PUSHBUTTON "Open",IDC_BUTTON_SO7_PROGRAM_OPEN_CNC,100,30,53,21
|
||||
EDITTEXT IDC_EDIT_SO7_PROGEAM_CNC_RUING_TIMES,147,107,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "Infinite",IDC_CHECK_SO7_RUNING_PROGRAM_RUNING_INFINITE,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,34,39,10
|
||||
GROUPBOX "Times",IDC_STATIC,89,22,56,47
|
||||
GROUPBOX "Interval(ms)",IDC_STATIC,89,72,56,39
|
||||
EDITTEXT IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC,97,86,40,14,ES_AUTOHSCROLL
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,109,39,10
|
||||
GROUPBOX "Times",IDC_STATIC,143,92,102,39
|
||||
GROUPBOX "Interval(ms)",IDC_STATIC,80,93,56,39
|
||||
EDITTEXT IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC,88,107,40,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Clear",IDC_BUTTON_PROGRAM_CLEAR_LOG,691,335,50,14
|
||||
PUSHBUTTON "Export....",IDC_BUTTON_PROGRAM_EXPORT,691,275,50,14
|
||||
EDITTEXT IDC_EDIT_SO7_PROGRAM_DEADBAND,30,107,40,14,ES_AUTOHSCROLL
|
||||
GROUPBOX "Warning para",IDC_STATIC,24,93,56,39
|
||||
COMBOBOX IDC_COMBO_SO7_PROGRAM_CNCLIST,26,65,67,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "MovetoPnt",IDC_BUTTON_SO7_PROGRAM_MOVETO_POINT,100,62,53,21
|
||||
END
|
||||
|
||||
IDD_DIALOG_TESA_STAR_E DIALOGEX 0, 0, 403, 284
|
||||
@@ -1000,12 +1012,12 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM
|
||||
CAPTION "External Trigger"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "等间距触发",IDC_RADIO_SO7_EXTRIG_EQDIS,"Button",BS_AUTORADIOBUTTON | WS_GROUP,36,75,56,10
|
||||
CONTROL "等间距触发II",IDC_RADIO_SO7_EXTRIG_EQDIS2,"Button",BS_AUTORADIOBUTTON,36,86,61,10
|
||||
CONTROL "指定位移触发",IDC_RADIO_SO7_EXTRIG_SPECLOCATION,"Button",BS_AUTORADIOBUTTON,36,97,64,10
|
||||
CONTROL "X",IDC_RADIO_SO7_EXTRIG_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,41,33,20,10
|
||||
CONTROL "Y",IDC_RADIO_SO7_EXTRIG_Y,"Button",BS_AUTORADIOBUTTON,77,33,20,10
|
||||
CONTROL "Z",IDC_RADIO_SO7_EXTRIG_Z,"Button",BS_AUTORADIOBUTTON,113,33,20,10
|
||||
CONTROL "等间距触发",IDC_RADIO_SO7_EXTRIG_EQDIS,"Button",BS_AUTORADIOBUTTON | WS_GROUP,36,75,56,10
|
||||
CONTROL "等间距触发II",IDC_RADIO_SO7_EXTRIG_EQDIS2,"Button",BS_AUTORADIOBUTTON | WS_GROUP,36,86,61,10
|
||||
CONTROL "指定位移触发",IDC_RADIO_SO7_EXTRIG_SPECLOCATION,"Button",BS_AUTORADIOBUTTON,36,97,64,10
|
||||
CONTROL "",IDC_LIST_SO7_EXTRIG_SPECLOCATION,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,33,113,254,77
|
||||
LTEXT "触发间距",IDC_STATIC,113,74,33,8
|
||||
LTEXT "触发点数",IDC_STATIC,113,92,33,8
|
||||
@@ -1073,6 +1085,9 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM
|
||||
CAPTION "PLC TCP/IP SERVER"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "598/603",IDC_RADIO_PROJECT_598603,"Button",BS_AUTORADIOBUTTON | WS_GROUP,33,113,43,10
|
||||
CONTROL "583/584",IDC_RADIO_PROJECT_583584,"Button",BS_AUTORADIOBUTTON,82,113,43,10
|
||||
GROUPBOX "Diagnose",IDC_STATIC,17,99,145,58
|
||||
PUSHBUTTON "Exit",IDCANCEL,534,389,39,14
|
||||
GROUPBOX "TCP/IP Server Control",IDC_STATIC,17,12,87,81
|
||||
PUSHBUTTON "Start",IDC_BUTTON_PLC_TCPIP_SERVER_START,29,49,63,18
|
||||
@@ -1085,7 +1100,7 @@ BEGIN
|
||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER2,174,71,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "LASER1-1 STATE",IDC_STATIC,168,26,55,8
|
||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD1,118,38,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "CCD1-1 STATE",IDC_STATIC,116,26,48,8
|
||||
LTEXT "PLC TRIGE",IDC_STATIC,116,26,35,8
|
||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_LASER1,174,39,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "LASER2-1 STATE",IDC_STATIC,168,59,55,8
|
||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_STATE_CCD2,118,71,40,14,ES_AUTOHSCROLL
|
||||
@@ -1093,20 +1108,27 @@ BEGIN
|
||||
PUSHBUTTON "Clear",IDC_BUTTON_CLEAR_MSG,453,389,39,14
|
||||
CONTROL "",IDC_LIST_PLC_TCPIP_SERVER_CCDDATA,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,25,189,294,166
|
||||
GROUPBOX "地址表",IDC_STATIC,18,164,307,214
|
||||
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA,279,358,40,14
|
||||
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATEDATA,279,360,40,14
|
||||
EDITTEXT IDC_EDIT_PLC_TCPIP_SERVER_PORTNUMBER,51,30,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "Port",IDC_STATIC,29,33,14,8
|
||||
CONTROL "CCD1 DM",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_CCD_DM,"Button",BS_AUTORADIOBUTTON | WS_GROUP,33,174,46,10
|
||||
CONTROL "DM 5000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM5000,"Button",BS_AUTORADIOBUTTON,97,174,44,10
|
||||
CONTROL "DM 8000",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM8000,"Button",BS_AUTORADIOBUTTON,159,174,44,10
|
||||
CONTROL "DM 200",IDC_RADIO_PLC_TCPIP_SERVER_ADDR_DM200,"Button",BS_AUTORADIOBUTTON,221,174,40,10
|
||||
GROUPBOX "Static",IDC_STATIC,17,97,307,63
|
||||
GROUPBOX "IO Signal",IDC_STATIC,166,97,158,63
|
||||
CONTROL "Trig Measure",IDC_CHECK_PLC_TCPIP_SERVER_MEASURE_TRIG,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,114,57,10
|
||||
CONTROL "E_STOP",IDC_CHECK_PLC_TCPIP_SERVER_E__STOP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,138,41,10
|
||||
CONTROL "Fix1",IDC_CHECK_PLC_TCPIP_SERVER_FIX1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,114,29,10
|
||||
CONTROL "Fix2",IDC_CHECK_PLC_TCPIP_SERVER_FIX2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,138,29,10
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,114,57,10
|
||||
CONTROL "E_STOP",IDC_CHECK_PLC_TCPIP_SERVER_E__STOP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,176,138,41,10
|
||||
CONTROL "Fix1",IDC_CHECK_PLC_TCPIP_SERVER_FIX1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,242,114,29,10
|
||||
CONTROL "Fix2",IDC_CHECK_PLC_TCPIP_SERVER_FIX2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,242,138,29,10
|
||||
PUSHBUTTON "Update",IDC_BUTTON_PLC_TCPIP_SERVER_UPDATESTATE_DM200,277,133,40,14
|
||||
PUSHBUTTON "Auto Test",IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST,27,134,50,14
|
||||
PUSHBUTTON "Export...",IDC_BUTTON_PLC_TCPIP_SERVER_EXPORT,88,360,50,14
|
||||
PUSHBUTTON "Import...",IDC_BUTTON_PLC_TCPIP_SERVER_IMPORT,26,360,50,14
|
||||
PUSHBUTTON "Set",IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST2,137,113,19,14
|
||||
PUSHBUTTON "Get",IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST3,137,134,19,14
|
||||
PUSHBUTTON "Gauss Test",IDC_BUTTON_PLC_TCPIP_SERVER_GAUSS_TEST,81,134,50,14
|
||||
CONTROL "Log",IDC_CHECK_MSG_LOG_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,423,389,27,10
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_CAMERA DIALOGEX 0, 0, 417, 271
|
||||
@@ -1194,6 +1216,100 @@ BEGIN
|
||||
EDITTEXT IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_C4,277,221,90,14,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_Robot_Control DIALOGEX 0, 0, 436, 343
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Robot Control"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "退出",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_EXIT,379,322,50,14
|
||||
EDITTEXT IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X1,62,266,308,15,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "连接",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT,17,15,50,14
|
||||
PUSHBUTTON "断开",IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT,18,34,50,14
|
||||
GROUPBOX "坐标信息",IDC_STATIC,7,245,422,59
|
||||
LTEXT "当前位置:",IDC_STATIC,14,269,41,8
|
||||
PUSHBUTTON "开始运动",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN,177,16,50,14
|
||||
PUSHBUTTON "停止运动",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END,176,34,50,14
|
||||
EDITTEXT IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PROGRAM,62,86,316,17,ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
CONTROL "执行",IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PRO_SELECT,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,383,101,32,10
|
||||
LTEXT "程序名:",IDC_STATIC,15,89,33,8
|
||||
LTEXT "程序名:",IDC_STATIC,16,151,33,8
|
||||
EDITTEXT IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNAME,58,147,317,15,ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
PUSHBUTTON "保存程序",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SAVEPROG,379,222,50,14
|
||||
GROUPBOX "编写变量",IDC_STATIC,7,123,422,118
|
||||
GROUPBOX "执行程序",IDC_STATIC,7,66,422,53
|
||||
GROUPBOX "",IDC_STATIC,7,7,240,49
|
||||
PUSHBUTTON "伺服开",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON,100,16,50,14
|
||||
PUSHBUTTON "伺服关",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF,101,33,50,14
|
||||
PUSHBUTTON "设置速度",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SETSPEED,356,30,50,14
|
||||
EDITTEXT IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SPEED,301,28,40,14,ES_AUTOHSCROLL
|
||||
LTEXT "运行速度",IDC_STATIC,254,31,33,8
|
||||
GROUPBOX "",IDC_STATIC,247,7,182,49
|
||||
CONTROL "循环",IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CYCLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,383,82,32,10
|
||||
PUSHBUTTON "读取位置",IDC_BUTTON_ReadPosition,379,266,50,14
|
||||
EDITTEXT IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNUMBER,57,168,317,14,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGVALUE,57,188,316,40,ES_MULTILINE | ES_AUTOHSCROLL
|
||||
LTEXT "变量数量:",IDC_STATIC,7,172,42,8
|
||||
LTEXT "变量值:",IDC_STATIC,14,190,28,8
|
||||
END
|
||||
|
||||
IDD_So7_Util_Keyence9011 DIALOGEX 0, 0, 410, 252
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Keyence9011"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "端口号:",IDC_STATIC,25,23,33,8
|
||||
LTEXT "波特率:",IDC_STATIC,135,23,33,8
|
||||
COMBOBOX IDC_COMBO_SO7_UTIL_Keyence9011_PORT,57,21,48,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_SO7_UTIL_Keyence9011_BAUD,169,20,48,30,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "打开串口",IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN,350,14,50,14
|
||||
PUSHBUTTON "关闭串口",IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE,350,54,50,14
|
||||
PUSHBUTTON "接收数据",IDC_BUTTON_SO7_UTIL_Keyence9011_RECV,350,92,50,14
|
||||
PUSHBUTTON "终止接收",IDC_BUTTON_SO7_UTIL_Keyence9011_STOP,350,130,50,14
|
||||
PUSHBUTTON "保存",IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE,350,176,50,14
|
||||
PUSHBUTTON "退出",IDC_BUTTON_SO7_UTIL_Keyence9011_EXIT,350,221,50,14
|
||||
EDITTEXT IDC_EDIT_SO7_UTIL_Keyence9011_RECVDATA,7,71,308,134,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN
|
||||
GROUPBOX "通信设置",IDC_STATIC,7,7,308,44
|
||||
GROUPBOX "",IDC_STATIC,7,54,308,181
|
||||
GROUPBOX "",IDC_STATIC,325,7,75,231
|
||||
CONTROL "循环接收数据",IDC_CHECK_SO7_UTIL_Keyence9011_CYCLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,260,212,64,10
|
||||
EDITTEXT IDC_EDIT_SO7_UTIL_Keyence9011_TIMER,187,211,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
LTEXT "接收间隔:",IDC_STATIC,149,215,41,8
|
||||
LTEXT "数据显示:",IDC_STATIC,7,55,52,12
|
||||
LTEXT "秒",IDC_STATIC,231,212,9,8
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_MINDVISION DIALOGEX 0, 0, 488, 316
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "MindVision Camera"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "彩色图像",IDC_RADIO_RGB,"Button",BS_AUTORADIOBUTTON,436,31,48,10
|
||||
CONTROL "黑白图像",IDC_RADIO_GRAY,"Button",BS_AUTORADIOBUTTON,436,51,48,10
|
||||
CONTROL "二值化图像",IDC_RADIO_BINARZATION,"Button",BS_AUTORADIOBUTTON,436,71,56,10
|
||||
CONTROL "垂直镜像",IDC_CHECK_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,436,94,48,10
|
||||
PUSHBUTTON "保存图片",IDC_BUTTON_SAVE_PICTURE,436,117,49,14
|
||||
DEFPUSHBUTTON "开始",IDOK,372,298,50,14
|
||||
PUSHBUTTON "退出",IDCANCEL,436,298,49,14
|
||||
CONTROL "",IDC_STATIC_SDK3000_PICTURE,"Static",SS_BLACKFRAME | NOT WS_VISIBLE,228,296,68,16
|
||||
PUSHBUTTON "参数设置",IDC_BUTTON_SET_PARA,436,143,49,14
|
||||
END
|
||||
|
||||
IDD_DIALOG_OPERATE_EXTRA_IO DIALOGEX 0, 0, 243, 126
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dialog"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "选择IO",IDC_STATIC_SELECT_IO,30,43,29,14
|
||||
PUSHBUTTON "IO置1",IDC_BUTTON_SET_IO_1,143,53,50,14
|
||||
EDITTEXT IDC_EDIT_IO_NUMBER,77,43,48,14,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "IO置0",IDC_BUTTON_SET_IO_0,142,26,50,14
|
||||
GROUPBOX "IO口操作",IDC_STATIC_IO_OPRATION,17,15,208,93
|
||||
PUSHBUTTON "读取IO",IDC_BUTTON_READ_IO,143,82,50,14
|
||||
LTEXT "IO口状态",IDC_STATIC_IO_STAURT,27,81,42,13
|
||||
CONTROL "",IDC_MFCBUTTON_IO_STAURT,"MfcButton",WS_TABSTOP,79,79,46,17
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -1229,9 +1345,9 @@ BEGIN
|
||||
IDD_SO7_OPTION_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 320
|
||||
RIGHTMARGIN, 321
|
||||
TOPMARGIN, 6
|
||||
BOTTOMMARGIN, 187
|
||||
BOTTOMMARGIN, 186
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_SDK3000, DIALOG
|
||||
@@ -1313,9 +1429,9 @@ BEGIN
|
||||
IDD_SO7_UTIL_PROGRAM, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 583
|
||||
RIGHTMARGIN, 752
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 379
|
||||
BOTTOMMARGIN, 444
|
||||
END
|
||||
|
||||
IDD_DIALOG_TESA_STAR_E, DIALOG
|
||||
@@ -1414,6 +1530,39 @@ BEGIN
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 274
|
||||
END
|
||||
|
||||
IDD_SO7_UTIL_Robot_Control, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 429
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 336
|
||||
END
|
||||
|
||||
IDD_So7_Util_Keyence9011, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 400
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 245
|
||||
END
|
||||
|
||||
IDD_SO7_VIDEOCARD_MINDVISION, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 485
|
||||
VERTGUIDE, 436
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 312
|
||||
END
|
||||
|
||||
IDD_DIALOG_OPERATE_EXTRA_IO, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 236
|
||||
TOPMARGIN, 6
|
||||
BOTTOMMARGIN, 119
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
@@ -1828,6 +1977,33 @@ BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
IDD_DIALOG_OPERATE_EXTRA_IO DLGINIT
|
||||
BEGIN
|
||||
IDC_MFCBUTTON_IO_STAURT, 0x37c, 369, 0
|
||||
0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x7974, 0x656c, 0x343e,
|
||||
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x6c79, 0x3e65,
|
||||
0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x415f, 0x7475, 0x736f, 0x7a69,
|
||||
0x3e65, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f,
|
||||
0x415f, 0x7475, 0x736f, 0x7a69, 0x3e65, 0x4d3c, 0x4346, 0x7542, 0x7474,
|
||||
0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x4d2f, 0x4346, 0x7542,
|
||||
0x7474, 0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x464d, 0x4243,
|
||||
0x7475, 0x6f74, 0x5f6e, 0x7546, 0x6c6c, 0x6554, 0x7478, 0x6f54, 0x6c6f,
|
||||
0x543e, 0x5552, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x465f,
|
||||
0x6c75, 0x546c, 0x7865, 0x5474, 0x6f6f, 0x3e6c, 0x4d3c, 0x4346, 0x7542,
|
||||
0x7474, 0x6e6f, 0x435f, 0x7275, 0x6f73, 0x5472, 0x7079, 0x3e65, 0x3131,
|
||||
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7543, 0x7372, 0x726f,
|
||||
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
|
||||
0x6761, 0x5465, 0x7079, 0x3e65, 0x3c38, 0x4d2f, 0x4346, 0x7542, 0x7474,
|
||||
0x6e6f, 0x495f, 0x616d, 0x6567, 0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243,
|
||||
0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x546e, 0x706f, 0x463e,
|
||||
0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
|
||||
0x6761, 0x4f65, 0x546e, 0x706f, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74,
|
||||
0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x526e, 0x6769, 0x7468, 0x463e, 0x4c41,
|
||||
0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761,
|
||||
0x4f65, 0x526e, 0x6769, 0x7468, "\076"
|
||||
0
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -2468,17 +2644,18 @@ CAPTION "File Utilities"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "De-Dupe Text Lines",IDC_RADIO_DEDUPE,"Button",BS_AUTORADIOBUTTON,27,40,78,10
|
||||
CONTROL "Hex to Binary",IDC_RADIO_2BIN,"Button",BS_AUTORADIOBUTTON,27,55,61,10
|
||||
CONTROL "Dump Binary",IDC_RADIO_DUMP_BINARY,"Button",BS_AUTORADIOBUTTON,27,70,60,10
|
||||
CONTROL "Extract",IDC_RADIO_OUT_EXTRACT,"Button",BS_AUTORADIOBUTTON,27,101,38,10
|
||||
EDITTEXT IDC_EDIT_CRITERIA,67,101,179,12,ES_AUTOHSCROLL
|
||||
CONTROL "Exclude",IDC_CHECK_NEGATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,102,43,11
|
||||
CONTROL "Hex to Binary",IDC_RADIO_2BIN,"Button",BS_AUTORADIOBUTTON,27,54,61,10
|
||||
CONTROL "Binary to Hex",IDC_RADIO_BIN2HEX,"Button",BS_AUTORADIOBUTTON,27,68,61,10
|
||||
CONTROL "Dump Binary",IDC_RADIO_DUMP_BINARY,"Button",BS_AUTORADIOBUTTON,27,82,60,10
|
||||
CONTROL "Dump PRS",IDC_RADIO_DUMP_PRS,"Button",BS_AUTORADIOBUTTON,27,96,60,10
|
||||
CONTROL "Extract",IDC_RADIO_OUT_EXTRACT,"Button",BS_AUTORADIOBUTTON,27,114,38,10
|
||||
DEFPUSHBUTTON "OK",IDOK,203,140,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,256,140,50,14
|
||||
EDITTEXT IDC_EDIT_CRITERIA,67,113,179,12,ES_AUTOHSCROLL
|
||||
CONTROL "Exclude",IDC_CHECK_NEGATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,114,43,11
|
||||
LTEXT "Input File : ",IDC_STATIC,19,19,38,10
|
||||
EDITTEXT IDC_EDIT_INPUT_FILE,59,18,187,12,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Browse",IDC_BUTTON_BROWSE,253,17,33,14
|
||||
CONTROL "Dump PRS",IDC_RADIO_DUMP_PRS,"Button",BS_AUTORADIOBUTTON,27,85,60,10
|
||||
END
|
||||
|
||||
IDD_DIALOG_KEYENCE_LKG3000 DIALOGEX 0, 0, 740, 353
|
||||
@@ -2792,8 +2969,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 7,0,9,0
|
||||
PRODUCTVERSION 7,0,9,0
|
||||
FILEVERSION 7,1,0,0
|
||||
PRODUCTVERSION 7,1,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -2810,12 +2987,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Hexagon Metrology"
|
||||
VALUE "FileDescription", "Utility for Hexagon Metrology"
|
||||
VALUE "FileVersion", "7.0.9.0"
|
||||
VALUE "FileVersion", "7.1.0.0"
|
||||
VALUE "InternalName", "Usb_Util.exe"
|
||||
VALUE "LegalCopyright", "Copyright 2015 Hexagon Metrology."
|
||||
VALUE "OriginalFilename", "Usb_Util.exe"
|
||||
VALUE "ProductName", "Utility"
|
||||
VALUE "ProductVersion", "7.0.9.0"
|
||||
VALUE "ProductVersion", "7.1.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
||||
@@ -0,0 +1,705 @@
|
||||
[Display]=1
|
||||
[CONNECT1]=1
|
||||
[Comment1]=
|
||||
[ComPort1]=1
|
||||
[ComSpeed1]=9600
|
||||
[ComSize1]=8
|
||||
[ComParity1]=2
|
||||
[ComStopPits1]=2
|
||||
[ComSendTimeout1]=5000
|
||||
[ComRecvTimeput1]=30000
|
||||
[ComRetry1]=3
|
||||
[ComProtcol1]=1
|
||||
[LanAddress1]=192.168.1.200
|
||||
[LanPortNo1]=10001
|
||||
[LanSendTimeout1]=5000
|
||||
[LanRecvTimeout1]=30000
|
||||
[LanRetry1]=0
|
||||
[DeviceName1]=TOOLBOX
|
||||
[Device#1]=1
|
||||
[SimType1]=NarcPC
|
||||
[SimSendTimeout1]=2000
|
||||
[SimRecvTimeout1]=4000
|
||||
[SimRetry1]=2
|
||||
[CONNECT2]=-1
|
||||
[Comment2]=
|
||||
[ComPort2]=1
|
||||
[ComSpeed2]=9600
|
||||
[ComSize2]=8
|
||||
[ComParity2]=2
|
||||
[ComStopPits2]=2
|
||||
[ComSendTimeout2]=5000
|
||||
[ComRecvTimeput2]=30000
|
||||
[ComRetry2]=3
|
||||
[ComProtcol2]=1
|
||||
[LanAddress2]=
|
||||
[LanPortNo2]=10001
|
||||
[LanSendTimeout2]=5000
|
||||
[LanRecvTimeout2]=30000
|
||||
[LanRetry2]=0
|
||||
[DeviceName2]=TOOLBOX
|
||||
[Device#2]=1
|
||||
[SimType2]=NarcPC
|
||||
[SimSendTimeout2]=2000
|
||||
[SimRecvTimeout2]=4000
|
||||
[SimRetry2]=2
|
||||
[CONNECT3]=-1
|
||||
[Comment3]=
|
||||
[ComPort3]=1
|
||||
[ComSpeed3]=9600
|
||||
[ComSize3]=8
|
||||
[ComParity3]=2
|
||||
[ComStopPits3]=2
|
||||
[ComSendTimeout3]=5000
|
||||
[ComRecvTimeput3]=30000
|
||||
[ComRetry3]=3
|
||||
[ComProtcol3]=1
|
||||
[LanAddress3]=
|
||||
[LanPortNo3]=10001
|
||||
[LanSendTimeout3]=5000
|
||||
[LanRecvTimeout3]=30000
|
||||
[LanRetry3]=0
|
||||
[DeviceName3]=TOOLBOX
|
||||
[Device#3]=1
|
||||
[SimType3]=NarcPC
|
||||
[SimSendTimeout3]=2000
|
||||
[SimRecvTimeout3]=4000
|
||||
[SimRetry3]=2
|
||||
[CONNECT4]=-1
|
||||
[Comment4]=
|
||||
[ComPort4]=1
|
||||
[ComSpeed4]=9600
|
||||
[ComSize4]=8
|
||||
[ComParity4]=2
|
||||
[ComStopPits4]=2
|
||||
[ComSendTimeout4]=5000
|
||||
[ComRecvTimeput4]=30000
|
||||
[ComRetry4]=3
|
||||
[ComProtcol4]=1
|
||||
[LanAddress4]=
|
||||
[LanPortNo4]=10001
|
||||
[LanSendTimeout4]=5000
|
||||
[LanRecvTimeout4]=30000
|
||||
[LanRetry4]=0
|
||||
[DeviceName4]=TOOLBOX
|
||||
[Device#4]=1
|
||||
[SimType4]=NarcPC
|
||||
[SimSendTimeout4]=2000
|
||||
[SimRecvTimeout4]=4000
|
||||
[SimRetry4]=2
|
||||
[CONNECT5]=-1
|
||||
[Comment5]=
|
||||
[ComPort5]=1
|
||||
[ComSpeed5]=9600
|
||||
[ComSize5]=8
|
||||
[ComParity5]=2
|
||||
[ComStopPits5]=2
|
||||
[ComSendTimeout5]=5000
|
||||
[ComRecvTimeput5]=30000
|
||||
[ComRetry5]=3
|
||||
[ComProtcol5]=1
|
||||
[LanAddress5]=
|
||||
[LanPortNo5]=10001
|
||||
[LanSendTimeout5]=5000
|
||||
[LanRecvTimeout5]=30000
|
||||
[LanRetry5]=0
|
||||
[DeviceName5]=TOOLBOX
|
||||
[Device#5]=1
|
||||
[SimType5]=NarcPC
|
||||
[SimSendTimeout5]=2000
|
||||
[SimRecvTimeout5]=4000
|
||||
[SimRetry5]=2
|
||||
[CONNECT6]=-1
|
||||
[Comment6]=
|
||||
[ComPort6]=1
|
||||
[ComSpeed6]=9600
|
||||
[ComSize6]=8
|
||||
[ComParity6]=2
|
||||
[ComStopPits6]=2
|
||||
[ComSendTimeout6]=5000
|
||||
[ComRecvTimeput6]=30000
|
||||
[ComRetry6]=3
|
||||
[ComProtcol6]=1
|
||||
[LanAddress6]=
|
||||
[LanPortNo6]=10001
|
||||
[LanSendTimeout6]=5000
|
||||
[LanRecvTimeout6]=30000
|
||||
[LanRetry6]=0
|
||||
[DeviceName6]=TOOLBOX
|
||||
[Device#6]=1
|
||||
[SimType6]=NarcPC
|
||||
[SimSendTimeout6]=2000
|
||||
[SimRecvTimeout6]=4000
|
||||
[SimRetry6]=2
|
||||
[CONNECT7]=-1
|
||||
[Comment7]=
|
||||
[ComPort7]=1
|
||||
[ComSpeed7]=9600
|
||||
[ComSize7]=8
|
||||
[ComParity7]=2
|
||||
[ComStopPits7]=2
|
||||
[ComSendTimeout7]=5000
|
||||
[ComRecvTimeput7]=30000
|
||||
[ComRetry7]=3
|
||||
[ComProtcol7]=1
|
||||
[LanAddress7]=
|
||||
[LanPortNo7]=10001
|
||||
[LanSendTimeout7]=5000
|
||||
[LanRecvTimeout7]=30000
|
||||
[LanRetry7]=0
|
||||
[DeviceName7]=TOOLBOX
|
||||
[Device#7]=1
|
||||
[SimType7]=NarcPC
|
||||
[SimSendTimeout7]=2000
|
||||
[SimRecvTimeout7]=4000
|
||||
[SimRetry7]=2
|
||||
[CONNECT8]=-1
|
||||
[Comment8]=
|
||||
[ComPort8]=1
|
||||
[ComSpeed8]=9600
|
||||
[ComSize8]=8
|
||||
[ComParity8]=2
|
||||
[ComStopPits8]=2
|
||||
[ComSendTimeout8]=5000
|
||||
[ComRecvTimeput8]=30000
|
||||
[ComRetry8]=3
|
||||
[ComProtcol8]=1
|
||||
[LanAddress8]=
|
||||
[LanPortNo8]=10001
|
||||
[LanSendTimeout8]=5000
|
||||
[LanRecvTimeout8]=30000
|
||||
[LanRetry8]=0
|
||||
[DeviceName8]=TOOLBOX
|
||||
[Device#8]=1
|
||||
[SimType8]=NarcPC
|
||||
[SimSendTimeout8]=2000
|
||||
[SimRecvTimeout8]=4000
|
||||
[SimRetry8]=2
|
||||
[CONNECT9]=-1
|
||||
[Comment9]=
|
||||
[ComPort9]=1
|
||||
[ComSpeed9]=9600
|
||||
[ComSize9]=8
|
||||
[ComParity9]=2
|
||||
[ComStopPits9]=2
|
||||
[ComSendTimeout9]=5000
|
||||
[ComRecvTimeput9]=30000
|
||||
[ComRetry9]=3
|
||||
[ComProtcol9]=1
|
||||
[LanAddress9]=
|
||||
[LanPortNo9]=10001
|
||||
[LanSendTimeout9]=5000
|
||||
[LanRecvTimeout9]=30000
|
||||
[LanRetry9]=0
|
||||
[DeviceName9]=TOOLBOX
|
||||
[Device#9]=1
|
||||
[SimType9]=NarcPC
|
||||
[SimSendTimeout9]=2000
|
||||
[SimRecvTimeout9]=4000
|
||||
[SimRetry9]=2
|
||||
[CONNECT10]=-1
|
||||
[Comment10]=
|
||||
[ComPort10]=1
|
||||
[ComSpeed10]=9600
|
||||
[ComSize10]=8
|
||||
[ComParity10]=2
|
||||
[ComStopPits10]=2
|
||||
[ComSendTimeout10]=5000
|
||||
[ComRecvTimeput10]=30000
|
||||
[ComRetry10]=3
|
||||
[ComProtcol10]=1
|
||||
[LanAddress10]=
|
||||
[LanPortNo10]=10001
|
||||
[LanSendTimeout10]=5000
|
||||
[LanRecvTimeout10]=30000
|
||||
[LanRetry10]=0
|
||||
[DeviceName10]=TOOLBOX
|
||||
[Device#10]=1
|
||||
[SimType10]=NarcPC
|
||||
[SimSendTimeout10]=2000
|
||||
[SimRecvTimeout10]=4000
|
||||
[SimRetry10]=2
|
||||
[CONNECT11]=-1
|
||||
[Comment11]=
|
||||
[ComPort11]=1
|
||||
[ComSpeed11]=9600
|
||||
[ComSize11]=8
|
||||
[ComParity11]=2
|
||||
[ComStopPits11]=2
|
||||
[ComSendTimeout11]=5000
|
||||
[ComRecvTimeput11]=30000
|
||||
[ComRetry11]=3
|
||||
[ComProtcol11]=1
|
||||
[LanAddress11]=
|
||||
[LanPortNo11]=10001
|
||||
[LanSendTimeout11]=5000
|
||||
[LanRecvTimeout11]=30000
|
||||
[LanRetry11]=0
|
||||
[DeviceName11]=TOOLBOX
|
||||
[Device#11]=1
|
||||
[SimType11]=NarcPC
|
||||
[SimSendTimeout11]=2000
|
||||
[SimRecvTimeout11]=4000
|
||||
[SimRetry11]=2
|
||||
[CONNECT12]=-1
|
||||
[Comment12]=
|
||||
[ComPort12]=1
|
||||
[ComSpeed12]=9600
|
||||
[ComSize12]=8
|
||||
[ComParity12]=2
|
||||
[ComStopPits12]=2
|
||||
[ComSendTimeout12]=5000
|
||||
[ComRecvTimeput12]=30000
|
||||
[ComRetry12]=3
|
||||
[ComProtcol12]=1
|
||||
[LanAddress12]=
|
||||
[LanPortNo12]=10001
|
||||
[LanSendTimeout12]=5000
|
||||
[LanRecvTimeout12]=30000
|
||||
[LanRetry12]=0
|
||||
[DeviceName12]=TOOLBOX
|
||||
[Device#12]=1
|
||||
[SimType12]=NarcPC
|
||||
[SimSendTimeout12]=2000
|
||||
[SimRecvTimeout12]=4000
|
||||
[SimRetry12]=2
|
||||
[CONNECT13]=-1
|
||||
[Comment13]=
|
||||
[ComPort13]=1
|
||||
[ComSpeed13]=9600
|
||||
[ComSize13]=8
|
||||
[ComParity13]=2
|
||||
[ComStopPits13]=2
|
||||
[ComSendTimeout13]=5000
|
||||
[ComRecvTimeput13]=30000
|
||||
[ComRetry13]=3
|
||||
[ComProtcol13]=1
|
||||
[LanAddress13]=
|
||||
[LanPortNo13]=10001
|
||||
[LanSendTimeout13]=5000
|
||||
[LanRecvTimeout13]=30000
|
||||
[LanRetry13]=0
|
||||
[DeviceName13]=TOOLBOX
|
||||
[Device#13]=1
|
||||
[SimType13]=NarcPC
|
||||
[SimSendTimeout13]=2000
|
||||
[SimRecvTimeout13]=4000
|
||||
[SimRetry13]=2
|
||||
[CONNECT14]=-1
|
||||
[Comment14]=
|
||||
[ComPort14]=1
|
||||
[ComSpeed14]=9600
|
||||
[ComSize14]=8
|
||||
[ComParity14]=2
|
||||
[ComStopPits14]=2
|
||||
[ComSendTimeout14]=5000
|
||||
[ComRecvTimeput14]=30000
|
||||
[ComRetry14]=3
|
||||
[ComProtcol14]=1
|
||||
[LanAddress14]=
|
||||
[LanPortNo14]=10001
|
||||
[LanSendTimeout14]=5000
|
||||
[LanRecvTimeout14]=30000
|
||||
[LanRetry14]=0
|
||||
[DeviceName14]=TOOLBOX
|
||||
[Device#14]=1
|
||||
[SimType14]=NarcPC
|
||||
[SimSendTimeout14]=2000
|
||||
[SimRecvTimeout14]=4000
|
||||
[SimRetry14]=2
|
||||
[CONNECT15]=-1
|
||||
[Comment15]=
|
||||
[ComPort15]=1
|
||||
[ComSpeed15]=9600
|
||||
[ComSize15]=8
|
||||
[ComParity15]=2
|
||||
[ComStopPits15]=2
|
||||
[ComSendTimeout15]=5000
|
||||
[ComRecvTimeput15]=30000
|
||||
[ComRetry15]=3
|
||||
[ComProtcol15]=1
|
||||
[LanAddress15]=
|
||||
[LanPortNo15]=10001
|
||||
[LanSendTimeout15]=5000
|
||||
[LanRecvTimeout15]=30000
|
||||
[LanRetry15]=0
|
||||
[DeviceName15]=TOOLBOX
|
||||
[Device#15]=1
|
||||
[SimType15]=NarcPC
|
||||
[SimSendTimeout15]=2000
|
||||
[SimRecvTimeout15]=4000
|
||||
[SimRetry15]=2
|
||||
[CONNECT16]=-1
|
||||
[Comment16]=
|
||||
[ComPort16]=1
|
||||
[ComSpeed16]=9600
|
||||
[ComSize16]=8
|
||||
[ComParity16]=2
|
||||
[ComStopPits16]=2
|
||||
[ComSendTimeout16]=5000
|
||||
[ComRecvTimeput16]=30000
|
||||
[ComRetry16]=3
|
||||
[ComProtcol16]=1
|
||||
[LanAddress16]=
|
||||
[LanPortNo16]=10001
|
||||
[LanSendTimeout16]=5000
|
||||
[LanRecvTimeout16]=30000
|
||||
[LanRetry16]=0
|
||||
[DeviceName16]=TOOLBOX
|
||||
[Device#16]=1
|
||||
[SimType16]=NarcPC
|
||||
[SimSendTimeout16]=2000
|
||||
[SimRecvTimeout16]=4000
|
||||
[SimRetry16]=2
|
||||
[CONNECT17]=-1
|
||||
[Comment17]=
|
||||
[ComPort17]=1
|
||||
[ComSpeed17]=9600
|
||||
[ComSize17]=8
|
||||
[ComParity17]=2
|
||||
[ComStopPits17]=2
|
||||
[ComSendTimeout17]=5000
|
||||
[ComRecvTimeput17]=30000
|
||||
[ComRetry17]=3
|
||||
[ComProtcol17]=1
|
||||
[LanAddress17]=
|
||||
[LanPortNo17]=10001
|
||||
[LanSendTimeout17]=5000
|
||||
[LanRecvTimeout17]=30000
|
||||
[LanRetry17]=0
|
||||
[DeviceName17]=TOOLBOX
|
||||
[Device#17]=1
|
||||
[SimType17]=NarcPC
|
||||
[SimSendTimeout17]=2000
|
||||
[SimRecvTimeout17]=4000
|
||||
[SimRetry17]=2
|
||||
[CONNECT18]=-1
|
||||
[Comment18]=
|
||||
[ComPort18]=1
|
||||
[ComSpeed18]=9600
|
||||
[ComSize18]=8
|
||||
[ComParity18]=2
|
||||
[ComStopPits18]=2
|
||||
[ComSendTimeout18]=5000
|
||||
[ComRecvTimeput18]=30000
|
||||
[ComRetry18]=3
|
||||
[ComProtcol18]=1
|
||||
[LanAddress18]=
|
||||
[LanPortNo18]=10001
|
||||
[LanSendTimeout18]=5000
|
||||
[LanRecvTimeout18]=30000
|
||||
[LanRetry18]=0
|
||||
[DeviceName18]=TOOLBOX
|
||||
[Device#18]=1
|
||||
[SimType18]=NarcPC
|
||||
[SimSendTimeout18]=2000
|
||||
[SimRecvTimeout18]=4000
|
||||
[SimRetry18]=2
|
||||
[CONNECT19]=-1
|
||||
[Comment19]=
|
||||
[ComPort19]=1
|
||||
[ComSpeed19]=9600
|
||||
[ComSize19]=8
|
||||
[ComParity19]=2
|
||||
[ComStopPits19]=2
|
||||
[ComSendTimeout19]=5000
|
||||
[ComRecvTimeput19]=30000
|
||||
[ComRetry19]=3
|
||||
[ComProtcol19]=1
|
||||
[LanAddress19]=
|
||||
[LanPortNo19]=10001
|
||||
[LanSendTimeout19]=5000
|
||||
[LanRecvTimeout19]=30000
|
||||
[LanRetry19]=0
|
||||
[DeviceName19]=TOOLBOX
|
||||
[Device#19]=1
|
||||
[SimType19]=NarcPC
|
||||
[SimSendTimeout19]=2000
|
||||
[SimRecvTimeout19]=4000
|
||||
[SimRetry19]=2
|
||||
[CONNECT20]=-1
|
||||
[Comment20]=
|
||||
[ComPort20]=1
|
||||
[ComSpeed20]=9600
|
||||
[ComSize20]=8
|
||||
[ComParity20]=2
|
||||
[ComStopPits20]=2
|
||||
[ComSendTimeout20]=5000
|
||||
[ComRecvTimeput20]=30000
|
||||
[ComRetry20]=3
|
||||
[ComProtcol20]=1
|
||||
[LanAddress20]=
|
||||
[LanPortNo20]=10001
|
||||
[LanSendTimeout20]=5000
|
||||
[LanRecvTimeout20]=30000
|
||||
[LanRetry20]=0
|
||||
[DeviceName20]=TOOLBOX
|
||||
[Device#20]=1
|
||||
[SimType20]=NarcPC
|
||||
[SimSendTimeout20]=2000
|
||||
[SimRecvTimeout20]=4000
|
||||
[SimRetry20]=2
|
||||
[CONNECT21]=-1
|
||||
[Comment21]=
|
||||
[ComPort21]=1
|
||||
[ComSpeed21]=9600
|
||||
[ComSize21]=8
|
||||
[ComParity21]=2
|
||||
[ComStopPits21]=2
|
||||
[ComSendTimeout21]=5000
|
||||
[ComRecvTimeput21]=30000
|
||||
[ComRetry21]=3
|
||||
[ComProtcol21]=1
|
||||
[LanAddress21]=
|
||||
[LanPortNo21]=10001
|
||||
[LanSendTimeout21]=5000
|
||||
[LanRecvTimeout21]=30000
|
||||
[LanRetry21]=0
|
||||
[DeviceName21]=TOOLBOX
|
||||
[Device#21]=1
|
||||
[SimType21]=NarcPC
|
||||
[SimSendTimeout21]=2000
|
||||
[SimRecvTimeout21]=4000
|
||||
[SimRetry21]=2
|
||||
[CONNECT22]=-1
|
||||
[Comment22]=
|
||||
[ComPort22]=1
|
||||
[ComSpeed22]=9600
|
||||
[ComSize22]=8
|
||||
[ComParity22]=2
|
||||
[ComStopPits22]=2
|
||||
[ComSendTimeout22]=5000
|
||||
[ComRecvTimeput22]=30000
|
||||
[ComRetry22]=3
|
||||
[ComProtcol22]=1
|
||||
[LanAddress22]=
|
||||
[LanPortNo22]=10001
|
||||
[LanSendTimeout22]=5000
|
||||
[LanRecvTimeout22]=30000
|
||||
[LanRetry22]=0
|
||||
[DeviceName22]=TOOLBOX
|
||||
[Device#22]=1
|
||||
[SimType22]=NarcPC
|
||||
[SimSendTimeout22]=2000
|
||||
[SimRecvTimeout22]=4000
|
||||
[SimRetry22]=2
|
||||
[CONNECT23]=-1
|
||||
[Comment23]=
|
||||
[ComPort23]=1
|
||||
[ComSpeed23]=9600
|
||||
[ComSize23]=8
|
||||
[ComParity23]=2
|
||||
[ComStopPits23]=2
|
||||
[ComSendTimeout23]=5000
|
||||
[ComRecvTimeput23]=30000
|
||||
[ComRetry23]=3
|
||||
[ComProtcol23]=1
|
||||
[LanAddress23]=
|
||||
[LanPortNo23]=10001
|
||||
[LanSendTimeout23]=5000
|
||||
[LanRecvTimeout23]=30000
|
||||
[LanRetry23]=0
|
||||
[DeviceName23]=TOOLBOX
|
||||
[Device#23]=1
|
||||
[SimType23]=NarcPC
|
||||
[SimSendTimeout23]=2000
|
||||
[SimRecvTimeout23]=4000
|
||||
[SimRetry23]=2
|
||||
[CONNECT24]=-1
|
||||
[Comment24]=
|
||||
[ComPort24]=1
|
||||
[ComSpeed24]=9600
|
||||
[ComSize24]=8
|
||||
[ComParity24]=2
|
||||
[ComStopPits24]=2
|
||||
[ComSendTimeout24]=5000
|
||||
[ComRecvTimeput24]=30000
|
||||
[ComRetry24]=3
|
||||
[ComProtcol24]=1
|
||||
[LanAddress24]=
|
||||
[LanPortNo24]=10001
|
||||
[LanSendTimeout24]=5000
|
||||
[LanRecvTimeout24]=30000
|
||||
[LanRetry24]=0
|
||||
[DeviceName24]=TOOLBOX
|
||||
[Device#24]=1
|
||||
[SimType24]=NarcPC
|
||||
[SimSendTimeout24]=2000
|
||||
[SimRecvTimeout24]=4000
|
||||
[SimRetry24]=2
|
||||
[CONNECT25]=-1
|
||||
[Comment25]=
|
||||
[ComPort25]=1
|
||||
[ComSpeed25]=9600
|
||||
[ComSize25]=8
|
||||
[ComParity25]=2
|
||||
[ComStopPits25]=2
|
||||
[ComSendTimeout25]=5000
|
||||
[ComRecvTimeput25]=30000
|
||||
[ComRetry25]=3
|
||||
[ComProtcol25]=1
|
||||
[LanAddress25]=
|
||||
[LanPortNo25]=10001
|
||||
[LanSendTimeout25]=5000
|
||||
[LanRecvTimeout25]=30000
|
||||
[LanRetry25]=0
|
||||
[DeviceName25]=TOOLBOX
|
||||
[Device#25]=1
|
||||
[SimType25]=NarcPC
|
||||
[SimSendTimeout25]=2000
|
||||
[SimRecvTimeout25]=4000
|
||||
[SimRetry25]=2
|
||||
[CONNECT26]=-1
|
||||
[Comment26]=
|
||||
[ComPort26]=1
|
||||
[ComSpeed26]=9600
|
||||
[ComSize26]=8
|
||||
[ComParity26]=2
|
||||
[ComStopPits26]=2
|
||||
[ComSendTimeout26]=5000
|
||||
[ComRecvTimeput26]=30000
|
||||
[ComRetry26]=3
|
||||
[ComProtcol26]=1
|
||||
[LanAddress26]=
|
||||
[LanPortNo26]=10001
|
||||
[LanSendTimeout26]=5000
|
||||
[LanRecvTimeout26]=30000
|
||||
[LanRetry26]=0
|
||||
[DeviceName26]=TOOLBOX
|
||||
[Device#26]=1
|
||||
[SimType26]=NarcPC
|
||||
[SimSendTimeout26]=2000
|
||||
[SimRecvTimeout26]=4000
|
||||
[SimRetry26]=2
|
||||
[CONNECT27]=-1
|
||||
[Comment27]=
|
||||
[ComPort27]=1
|
||||
[ComSpeed27]=9600
|
||||
[ComSize27]=8
|
||||
[ComParity27]=2
|
||||
[ComStopPits27]=2
|
||||
[ComSendTimeout27]=5000
|
||||
[ComRecvTimeput27]=30000
|
||||
[ComRetry27]=3
|
||||
[ComProtcol27]=1
|
||||
[LanAddress27]=
|
||||
[LanPortNo27]=10001
|
||||
[LanSendTimeout27]=5000
|
||||
[LanRecvTimeout27]=30000
|
||||
[LanRetry27]=0
|
||||
[DeviceName27]=TOOLBOX
|
||||
[Device#27]=1
|
||||
[SimType27]=NarcPC
|
||||
[SimSendTimeout27]=2000
|
||||
[SimRecvTimeout27]=4000
|
||||
[SimRetry27]=2
|
||||
[CONNECT28]=-1
|
||||
[Comment28]=
|
||||
[ComPort28]=1
|
||||
[ComSpeed28]=9600
|
||||
[ComSize28]=8
|
||||
[ComParity28]=2
|
||||
[ComStopPits28]=2
|
||||
[ComSendTimeout28]=5000
|
||||
[ComRecvTimeput28]=30000
|
||||
[ComRetry28]=3
|
||||
[ComProtcol28]=1
|
||||
[LanAddress28]=
|
||||
[LanPortNo28]=10001
|
||||
[LanSendTimeout28]=5000
|
||||
[LanRecvTimeout28]=30000
|
||||
[LanRetry28]=0
|
||||
[DeviceName28]=TOOLBOX
|
||||
[Device#28]=1
|
||||
[SimType28]=NarcPC
|
||||
[SimSendTimeout28]=2000
|
||||
[SimRecvTimeout28]=4000
|
||||
[SimRetry28]=2
|
||||
[CONNECT29]=-1
|
||||
[Comment29]=
|
||||
[ComPort29]=1
|
||||
[ComSpeed29]=9600
|
||||
[ComSize29]=8
|
||||
[ComParity29]=2
|
||||
[ComStopPits29]=2
|
||||
[ComSendTimeout29]=5000
|
||||
[ComRecvTimeput29]=30000
|
||||
[ComRetry29]=3
|
||||
[ComProtcol29]=1
|
||||
[LanAddress29]=
|
||||
[LanPortNo29]=10001
|
||||
[LanSendTimeout29]=5000
|
||||
[LanRecvTimeout29]=30000
|
||||
[LanRetry29]=0
|
||||
[DeviceName29]=TOOLBOX
|
||||
[Device#29]=1
|
||||
[SimType29]=NarcPC
|
||||
[SimSendTimeout29]=2000
|
||||
[SimRecvTimeout29]=4000
|
||||
[SimRetry29]=2
|
||||
[CONNECT30]=-1
|
||||
[Comment30]=
|
||||
[ComPort30]=1
|
||||
[ComSpeed30]=9600
|
||||
[ComSize30]=8
|
||||
[ComParity30]=2
|
||||
[ComStopPits30]=2
|
||||
[ComSendTimeout30]=5000
|
||||
[ComRecvTimeput30]=30000
|
||||
[ComRetry30]=3
|
||||
[ComProtcol30]=1
|
||||
[LanAddress30]=
|
||||
[LanPortNo30]=10001
|
||||
[LanSendTimeout30]=5000
|
||||
[LanRecvTimeout30]=30000
|
||||
[LanRetry30]=0
|
||||
[DeviceName30]=TOOLBOX
|
||||
[Device#30]=1
|
||||
[SimType30]=NarcPC
|
||||
[SimSendTimeout30]=2000
|
||||
[SimRecvTimeout30]=4000
|
||||
[SimRetry30]=2
|
||||
[CONNECT31]=-1
|
||||
[Comment31]=
|
||||
[ComPort31]=1
|
||||
[ComSpeed31]=9600
|
||||
[ComSize31]=8
|
||||
[ComParity31]=2
|
||||
[ComStopPits31]=2
|
||||
[ComSendTimeout31]=5000
|
||||
[ComRecvTimeput31]=30000
|
||||
[ComRetry31]=3
|
||||
[ComProtcol31]=1
|
||||
[LanAddress31]=
|
||||
[LanPortNo31]=10001
|
||||
[LanSendTimeout31]=5000
|
||||
[LanRecvTimeout31]=30000
|
||||
[LanRetry31]=0
|
||||
[DeviceName31]=TOOLBOX
|
||||
[Device#31]=1
|
||||
[SimType31]=NarcPC
|
||||
[SimSendTimeout31]=2000
|
||||
[SimRecvTimeout31]=4000
|
||||
[SimRetry31]=2
|
||||
[CONNECT32]=-1
|
||||
[Comment32]=
|
||||
[ComPort32]=1
|
||||
[ComSpeed32]=9600
|
||||
[ComSize32]=8
|
||||
[ComParity32]=2
|
||||
[ComStopPits32]=2
|
||||
[ComSendTimeout32]=5000
|
||||
[ComRecvTimeput32]=30000
|
||||
[ComRetry32]=3
|
||||
[ComProtcol32]=1
|
||||
[LanAddress32]=
|
||||
[LanPortNo32]=10001
|
||||
[LanSendTimeout32]=5000
|
||||
[LanRecvTimeout32]=30000
|
||||
[LanRetry32]=0
|
||||
[DeviceName32]=TOOLBOX
|
||||
[Device#32]=1
|
||||
[SimType32]=NarcPC
|
||||
[SimSendTimeout32]=2000
|
||||
[SimRecvTimeout32]=4000
|
||||
[SimRetry32]=2
|
||||
@@ -0,0 +1,101 @@
|
||||
// SO7OperateIODlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "SO7OperateIODlg.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "..\..\..\SevenOcean\DLL.h"
|
||||
#include "..\..\..\SevenOcean\EF8000_Interface.h"
|
||||
#include "..\..\..\SevenOcean\SO7_Proto.h"
|
||||
#include "SO7_UtilDlg.h"
|
||||
|
||||
extern CSO7_Proto* m_pSO7_Proto;
|
||||
// CSO7OperateIODlg dialog
|
||||
|
||||
IMPLEMENT_DYNAMIC(CSO7OperateIODlg, CDialogEx)
|
||||
|
||||
CSO7OperateIODlg::CSO7OperateIODlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialogEx(CSO7OperateIODlg::IDD, pParent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CSO7OperateIODlg::~CSO7OperateIODlg()
|
||||
{
|
||||
}
|
||||
|
||||
void CSO7OperateIODlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialogEx::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CSO7OperateIODlg, CDialogEx)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SET_IO_0, &CSO7OperateIODlg::OnBnClickedButtonSetIo0)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SET_IO_1, &CSO7OperateIODlg::OnBnClickedButtonSetIo1)
|
||||
ON_BN_CLICKED(IDC_BUTTON_READ_IO, &CSO7OperateIODlg::OnBnClickedButtonReadIo)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CSO7OperateIODlg message handlers
|
||||
|
||||
|
||||
void CSO7OperateIODlg::OnBnClickedButtonSetIo0()
|
||||
{
|
||||
int n;
|
||||
CString str;
|
||||
GetDlgItem(IDC_EDIT_IO_NUMBER)->GetWindowText(str);
|
||||
n = _ttoi(str);
|
||||
if(n > 15 || n < 0)
|
||||
{
|
||||
AfxMessageBox(_T("超出范围,不可测试!"));
|
||||
return ;
|
||||
}
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_EXTRA_IO(n,0);
|
||||
}
|
||||
|
||||
|
||||
void CSO7OperateIODlg::OnBnClickedButtonSetIo1()
|
||||
{
|
||||
int n;
|
||||
CString str;
|
||||
GetDlgItem(IDC_EDIT_IO_NUMBER)->GetWindowText(str);
|
||||
n = _ttoi(str);
|
||||
if(n > 15 || n < 0)
|
||||
{
|
||||
AfxMessageBox(_T("超出范围,不可测试!"));
|
||||
return ;
|
||||
}
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_EXTRA_IO(n,1);
|
||||
}
|
||||
|
||||
|
||||
void CSO7OperateIODlg::OnBnClickedButtonReadIo()
|
||||
{
|
||||
int n;
|
||||
CString str;
|
||||
GetDlgItem(IDC_EDIT_IO_NUMBER)->GetWindowText(str);
|
||||
n = _ttoi(str);
|
||||
if(n > 15 || n < 0)
|
||||
{
|
||||
AfxMessageBox(_T("超出范围,不可测试!"));
|
||||
return ;
|
||||
}
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_EXTRA_IO(n);
|
||||
Sleep(10);
|
||||
CString Str1(_T("1"));
|
||||
CString Str0(_T("0"));
|
||||
COLORREF ColorON=RGB(0,255,0);
|
||||
COLORREF ColorOFF=RGB(240,240,240);
|
||||
|
||||
if(m_pSO7_Proto->g_machine.cIOStatus)
|
||||
{
|
||||
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_IO_STAURT))->SetWindowTextW(Str1);
|
||||
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_IO_STAURT))->SetFaceColor(ColorON);
|
||||
}
|
||||
else
|
||||
{
|
||||
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_IO_STAURT))->SetWindowTextW(Str0);
|
||||
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_IO_STAURT))->SetFaceColor(ColorOFF);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include "resource.h"
|
||||
// CSO7OperateIODlg dialog
|
||||
|
||||
class CSO7OperateIODlg : public CDialogEx
|
||||
{
|
||||
DECLARE_DYNAMIC(CSO7OperateIODlg)
|
||||
|
||||
public:
|
||||
CSO7OperateIODlg(CWnd* pParent = NULL); // standard constructor
|
||||
virtual ~CSO7OperateIODlg();
|
||||
|
||||
// Dialog Data
|
||||
enum { IDD = IDD_DIALOG_OPERATE_EXTRA_IO };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedButtonSetIo0();
|
||||
afx_msg void OnBnClickedButtonSetIo1();
|
||||
afx_msg void OnBnClickedButtonReadIo();
|
||||
};
|
||||
@@ -98,6 +98,8 @@ BEGIN_MESSAGE_MAP(CSO7_Move_Location, CMFCPropertyPage)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_GET_CNTS, &CSO7_Move_Location::OnBnClickedButtonSo7MotionGetCnts)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_SET_SEGMENT_DIS, &CSO7_Move_Location::OnBnClickedButtonSo7MotionSetSegmentDis)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_GET_SEGMENT_DIS, &CSO7_Move_Location::OnBnClickedButtonSo7MotionGetSegmentDis)
|
||||
ON_WM_HSCROLL()
|
||||
ON_WM_VSCROLL()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
// CSO7_Move_Location 消息处理程序
|
||||
@@ -183,6 +185,21 @@ BOOL CSO7_Move_Location::OnInitDialog()
|
||||
}
|
||||
|
||||
UpdateData(FALSE);
|
||||
|
||||
CRect rc;
|
||||
GetClientRect(rc);
|
||||
SCROLLINFO si;
|
||||
si.cbSize = sizeof(SCROLLINFO);
|
||||
si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
|
||||
si.nPos = 0;
|
||||
si.nMin = 0;
|
||||
si.nMax = rc.Height();
|
||||
si.nPage = rc.Height()/2;
|
||||
SetScrollInfo(SB_VERT, &si, FALSE);
|
||||
si.nMax = rc.Width();
|
||||
si.nPage = rc.Width()/2;
|
||||
SetScrollInfo(SB_HORZ, &si, FALSE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
//=========================================================================================
|
||||
@@ -2901,3 +2918,97 @@ void CSO7_Move_Location::OnBnClickedButtonSo7MotionGetSegmentDis()
|
||||
}
|
||||
m_UpdateListControl(E_LISTCTRL_UPDATEDATA);
|
||||
}
|
||||
|
||||
|
||||
void CSO7_Move_Location::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
{
|
||||
SCROLLINFO si = {sizeof(si)};
|
||||
si.fMask = SIF_ALL;
|
||||
GetScrollInfo(SB_HORZ, &si);
|
||||
|
||||
int nPrevPos = si.nPos;
|
||||
switch(nSBCode)
|
||||
{
|
||||
case SB_LEFT:
|
||||
si.nPos = si.nMin;
|
||||
break;
|
||||
case SB_RIGHT:
|
||||
si.nPos = si.nMax;
|
||||
break;
|
||||
case SB_LINELEFT:
|
||||
si.nPos -= 100;
|
||||
break;
|
||||
case SB_LINERIGHT:
|
||||
si.nPos += 100;
|
||||
break;
|
||||
case SB_PAGELEFT:
|
||||
si.nPos -= si.nPage;
|
||||
break;
|
||||
case SB_PAGERIGHT:
|
||||
si.nPos += si.nPage;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
si.nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(SB_HORZ, &si, TRUE);
|
||||
if (si.nPos != nPrevPos)
|
||||
{
|
||||
m_nScrollXPos += si.nPos - nPrevPos;
|
||||
ScrollWindow(nPrevPos - si.nPos, 0, NULL, NULL);
|
||||
Invalidate(FALSE);
|
||||
UpdateWindow();
|
||||
}
|
||||
|
||||
CMFCPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
|
||||
}
|
||||
|
||||
|
||||
void CSO7_Move_Location::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
{
|
||||
SCROLLINFO si = {sizeof(si)};
|
||||
si.fMask = SIF_ALL;
|
||||
GetScrollInfo(SB_VERT, &si);
|
||||
|
||||
int nPrevPos = si.nPos;
|
||||
switch(nSBCode)
|
||||
{
|
||||
case SB_TOP:
|
||||
si.nPos = si.nMin;
|
||||
break;
|
||||
case SB_BOTTOM:
|
||||
si.nPos = si.nMax;
|
||||
break;
|
||||
case SB_LINEUP:
|
||||
si.nPos -= 15;
|
||||
break;
|
||||
case SB_LINEDOWN:
|
||||
si.nPos += 15;
|
||||
break;
|
||||
case SB_PAGEUP:
|
||||
si.nPos -= si.nPage;
|
||||
break;
|
||||
case SB_PAGEDOWN:
|
||||
si.nPos += si.nPage;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
si.nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(SB_VERT, &si, TRUE);
|
||||
if (si.nPos != nPrevPos)
|
||||
{
|
||||
m_nScrollYPos += si.nPos - nPrevPos;
|
||||
ScrollWindow(0, nPrevPos - si.nPos, NULL, NULL);
|
||||
Invalidate(FALSE);
|
||||
UpdateWindow();
|
||||
}
|
||||
|
||||
CMFCPropertyPage::OnVScroll(nSBCode, nPos, pScrollBar);
|
||||
}
|
||||
|
||||
@@ -57,6 +57,8 @@ public:
|
||||
int m_iRepeTest_Interval;
|
||||
double m_dRepeTest_ErrRange;
|
||||
long m_lRepeTest_ErrRange;
|
||||
int m_nScrollXPos;
|
||||
int m_nScrollYPos;
|
||||
|
||||
bool bRepeTestDone;
|
||||
BOOL m_bRepeTestAxisX;
|
||||
@@ -118,4 +120,6 @@ public:
|
||||
afx_msg void OnBnClickedButtonSo7MotionGetCnts();
|
||||
afx_msg void OnBnClickedButtonSo7MotionSetSegmentDis();
|
||||
afx_msg void OnBnClickedButtonSo7MotionGetSegmentDis();
|
||||
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
};
|
||||
|
||||
@@ -171,6 +171,8 @@ BEGIN_MESSAGE_MAP(CSO7_Send_Parameter, CMFCPropertyPage)
|
||||
ON_BN_CLICKED(IDC_BUTTON_STOP_SAMPLE_SCURVE, &CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve)
|
||||
ON_BN_CLICKED(IDCANCEL, &CSO7_Send_Parameter::OnBnClickedCancel)
|
||||
ON_BN_CLICKED(IDC_CHECK_SO7_MOTION_PARA_MOVETO_REVERSE, &CSO7_Send_Parameter::OnBnClickedCheckSo7MotionParaMovetoReverse)
|
||||
ON_WM_HSCROLL()
|
||||
ON_WM_VSCROLL()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -242,6 +244,21 @@ BOOL CSO7_Send_Parameter::OnInitDialog()
|
||||
{
|
||||
UpdateControlMode(0);
|
||||
}
|
||||
|
||||
CRect rc;
|
||||
GetClientRect(rc);
|
||||
SCROLLINFO si;
|
||||
si.cbSize = sizeof(SCROLLINFO);
|
||||
si.fMask = SIF_PAGE | SIF_POS | SIF_RANGE;
|
||||
si.nPos = 0;
|
||||
si.nMin = 0;
|
||||
si.nMax = rc.Height();
|
||||
si.nPage = rc.Height()/2;
|
||||
SetScrollInfo(SB_VERT, &si, FALSE);
|
||||
si.nMax = rc.Width();
|
||||
si.nPage = rc.Width()/2;
|
||||
SetScrollInfo(SB_HORZ, &si, FALSE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
}
|
||||
//=========================================================================================
|
||||
@@ -271,7 +288,7 @@ void CSO7_Send_Parameter::OnDraw(CDC* pDC)
|
||||
//CWnd* m_p=(CWnd*)GetDlgItem(IDC_STATIC_CANVAS);
|
||||
//m_p->GetWindowRect(&CanvasRect);
|
||||
//CanvasRect.SetRect(550,50,1100,600);//L T R B
|
||||
|
||||
CPaintDC dc(this); // device context for painting
|
||||
};
|
||||
//================================================================================================
|
||||
BOOL CSO7_Send_Parameter::OnEraseBkgnd(CDC* pDC)
|
||||
@@ -293,10 +310,10 @@ void CSO7_Send_Parameter::OnBnClickedOk()
|
||||
void CSO7_Send_Parameter::OnBnClickedButtonBrowse()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
m_csIniFile = "motor";
|
||||
CString szFilter=_T("EF8000 DAT Files(*.dat)|*.dat|INI Files(*.ini)|*.ini|ALL Files(*.*)|*.*||");
|
||||
m_csIniFile=_T("so7_motion");
|
||||
CString szFilter=_T("EF1 INI Files(*.ini)|*.ini|DAT Files(*.dat)|*.dat|ALL Files(*.*)|*.*||");
|
||||
|
||||
CFileDialog fileDialog(TRUE, _T("*.dat"),(LPCTSTR) m_csIniFile, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
|
||||
CFileDialog fileDialog(TRUE, _T("*.ini"),(LPCTSTR) m_csIniFile, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
|
||||
|
||||
if ( fileDialog.DoModal ()==IDOK )
|
||||
{
|
||||
@@ -307,13 +324,13 @@ void CSO7_Send_Parameter::OnBnClickedButtonBrowse()
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
m_pEF8000_Interface->OpenSpeedParameter(m_csIniFile);
|
||||
ParameterFormatEF8000ToSo7();
|
||||
m_pSO7_Proto->Load_So7_Motion_Inifile(m_csIniFile);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
m_pSO7_Proto->Load_SevenOcean_Inifile(m_csIniFile);
|
||||
m_pEF8000_Interface->OpenSpeedParameter(m_csIniFile);
|
||||
ParameterFormatEF8000ToSo7();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -379,26 +396,26 @@ void CSO7_Send_Parameter::OnBnClickedButtonSave()
|
||||
CString PathName;
|
||||
CString path_and_fileName;
|
||||
|
||||
PathName=_T("motor");
|
||||
CString szFilter=_T("EF8000 DAT Files(*.dat)|*.dat|INI Files(*.ini)|*.ini|ALL Files(*.*)|*.*||");
|
||||
CFileDialog fdlg(FALSE,_T("DAT"),PathName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
|
||||
PathName=_T("so7_motion");
|
||||
CString szFilter=_T("EF1 INI Files(*.ini)|*.ini|DAT Files(*.dat)|*.dat|ALL Files(*.*)|*.*||");
|
||||
CFileDialog fdlg(FALSE,_T("INI"),PathName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
|
||||
|
||||
if( fdlg.DoModal()==IDOK)
|
||||
{
|
||||
m_pSO7_Proto->Save_So7_Config();
|
||||
m_pSO7_Proto->Save_So7_Config_Inifile();
|
||||
path_and_fileName=fdlg.GetPathName();
|
||||
ChangeParameterOnEdit();
|
||||
switch(fdlg.m_ofn.nFilterIndex)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
ParameterFormatSo7ToEF8000();
|
||||
m_pEF8000_Interface->SaveSpeedParameter(path_and_fileName);
|
||||
m_pSO7_Proto->Save_So7_Motion_Inifile(path_and_fileName);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
m_pSO7_Proto->Save_SevenOcean_Inifile(path_and_fileName);
|
||||
ParameterFormatSo7ToEF8000();
|
||||
m_pEF8000_Interface->SaveSpeedParameter(path_and_fileName);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1041,9 +1058,7 @@ void CSO7_Send_Parameter::OutputWithScroll(const CString &strNewText,CEdit &edtO
|
||||
//=====================================================================================
|
||||
void CSO7_Send_Parameter::OnBnClickedCancel()
|
||||
{
|
||||
CString csPath;
|
||||
m_pSO7_Proto->GetAppPath(csPath);
|
||||
m_pSO7_Proto->Save_SevenOcean_Inifile(csPath+_T("\\Utility_Config.ini"));
|
||||
m_pSO7_Proto->Save_So7_Motion_Config();
|
||||
CMFCPropertyPage::OnCancel();
|
||||
}
|
||||
//=====================================================================================
|
||||
@@ -1113,3 +1128,98 @@ void CSO7_Send_Parameter::UpdateControlMode(int _Type)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CSO7_Send_Parameter::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
{
|
||||
SCROLLINFO si = {sizeof(si)};
|
||||
si.fMask = SIF_ALL;
|
||||
GetScrollInfo(SB_HORZ, &si);
|
||||
|
||||
int nPrevPos = si.nPos;
|
||||
switch(nSBCode)
|
||||
{
|
||||
case SB_LEFT:
|
||||
si.nPos = si.nMin;
|
||||
break;
|
||||
case SB_RIGHT:
|
||||
si.nPos = si.nMax;
|
||||
break;
|
||||
case SB_LINELEFT:
|
||||
si.nPos -= 15;
|
||||
break;
|
||||
case SB_LINERIGHT:
|
||||
si.nPos += 15;
|
||||
break;
|
||||
case SB_PAGELEFT:
|
||||
si.nPos -= si.nPage;
|
||||
break;
|
||||
case SB_PAGERIGHT:
|
||||
si.nPos += si.nPage;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
si.nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(SB_HORZ, &si, TRUE);
|
||||
if (si.nPos != nPrevPos)
|
||||
{
|
||||
m_nScrollXPos += si.nPos - nPrevPos;
|
||||
ScrollWindow(nPrevPos - si.nPos, 0, NULL, NULL);
|
||||
Invalidate(FALSE);
|
||||
UpdateWindow();
|
||||
}
|
||||
|
||||
CMFCPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
|
||||
}
|
||||
|
||||
|
||||
void CSO7_Send_Parameter::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
{
|
||||
SCROLLINFO si = {sizeof(si)};
|
||||
si.fMask = SIF_ALL;
|
||||
GetScrollInfo(SB_VERT, &si);
|
||||
|
||||
int nPrevPos = si.nPos;
|
||||
switch(nSBCode)
|
||||
{
|
||||
case SB_TOP:
|
||||
si.nPos = si.nMin;
|
||||
break;
|
||||
case SB_BOTTOM:
|
||||
si.nPos = si.nMax;
|
||||
break;
|
||||
case SB_LINEUP:
|
||||
si.nPos -= 15;
|
||||
break;
|
||||
case SB_LINEDOWN:
|
||||
si.nPos += 15;
|
||||
break;
|
||||
case SB_PAGEUP:
|
||||
si.nPos -= si.nPage;
|
||||
break;
|
||||
case SB_PAGEDOWN:
|
||||
si.nPos += si.nPage;
|
||||
break;
|
||||
case SB_THUMBTRACK:
|
||||
si.nPos = si.nTrackPos;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
si.fMask = SIF_POS;
|
||||
SetScrollInfo(SB_VERT, &si, TRUE);
|
||||
if (si.nPos != nPrevPos)
|
||||
{
|
||||
m_nScrollYPos += si.nPos - nPrevPos;
|
||||
ScrollWindow(0, nPrevPos - si.nPos, NULL, NULL);
|
||||
Invalidate(FALSE);
|
||||
UpdateWindow();
|
||||
}
|
||||
|
||||
CMFCPropertyPage::OnVScroll(nSBCode, nPos, pScrollBar);
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@ public:
|
||||
|
||||
CStatusBarCtrl m_StatusBar;
|
||||
|
||||
int m_nScrollXPos;
|
||||
int m_nScrollYPos;
|
||||
|
||||
void ShowParameterOnEdit();
|
||||
void ChangeParameterOnEdit();
|
||||
void UpdateControlMode(int _Type);
|
||||
@@ -111,4 +114,6 @@ public:
|
||||
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
|
||||
afx_msg void OnBnClickedCancel();
|
||||
afx_msg void OnBnClickedCheckSo7MotionParaMovetoReverse();
|
||||
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
extern CPSerial* m_pSO7_TemperatureDisplay;
|
||||
UINT_PTR nIDTimer1 = 1;
|
||||
static BYTE bSendData[8]= {0x01,0x04,0x00,0x00,0x00,0x0C,0xF0,0x0F};
|
||||
static CString csFileTitle("Eigenvalue.txt");
|
||||
static CString csFileTitle("SO7_TempEigenvalue.ini");
|
||||
static double dbK = 273.15;
|
||||
static double dbTemperature[256];
|
||||
|
||||
@@ -277,6 +277,7 @@ BOOL CSO7_Temperature_Display::ReadDataFromFile()
|
||||
}
|
||||
else
|
||||
{
|
||||
file.Open(csFileTitle,CFile::modeCreate | CFile::modeWrite);
|
||||
e.ReportError();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
|
||||
#include "..\..\..\SevenOcean\SO7_Proto.h"
|
||||
#include "..\..\..\SevenOcean\CAutoZoom.h"
|
||||
#include "..\..\..\SevenOcean\Program\CPOINT3.H"
|
||||
#include "ProcessButton.h"
|
||||
#include "EditableListCtrl.h"
|
||||
#include "DrawGraph.h"
|
||||
@@ -24,6 +25,7 @@
|
||||
#include "So7_XBoxController.h"
|
||||
#include "So7_Util_External_Trig.h"
|
||||
#include "SO7_UtilDlg.h"
|
||||
#include "SO7OperateIODlg.h"
|
||||
// CSO7_UtilDlg 对话框
|
||||
|
||||
extern CPSerial* m_pSO7_PCDSerial;
|
||||
@@ -47,6 +49,7 @@ IMPLEMENT_DYNAMIC(CSO7_UtilDlg, CDialog)
|
||||
m_bETrigIO=FALSE;
|
||||
m_ReadAxisIntervalTime=150;
|
||||
m_IOAddr=0;
|
||||
m_bMotionType = 0;
|
||||
}
|
||||
|
||||
CSO7_UtilDlg::~CSO7_UtilDlg()
|
||||
@@ -144,6 +147,9 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog)
|
||||
ON_BN_CLICKED(IDC_RADIO_SELECT_Y, &CSO7_UtilDlg::OnBnClickedRadioSelectY)
|
||||
ON_BN_CLICKED(IDC_RADIO_SELECT_Z, &CSO7_UtilDlg::OnBnClickedRadioSelectZ)
|
||||
ON_CBN_SELCHANGE(IDC_COMBO_RWDATA_ADDR, &CSO7_UtilDlg::OnCbnSelchangeComboRwdataAddr)
|
||||
//ON_BN_CLICKED(IDC_BUTTON3, &CSO7_UtilDlg::OnBnClickedButton3)
|
||||
ON_BN_CLICKED(IDC_BUTTON_IO_TEST, &CSO7_UtilDlg::OnBnClickedButtonIoTest)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SET_MOTION_TYPE, &CSO7_UtilDlg::OnBnClickedButtonSetMotionType)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -273,9 +279,7 @@ BOOL CSO7_UtilDlg::OnInitDialog()
|
||||
((CComboBox *)GetDlgItem(IDC_COMBO_SO7_HOMEMODE))->InsertString(ComboIndex,csTmp);
|
||||
((CComboBox *)GetDlgItem(IDC_COMBO_SO7_HOMEMODE))->SetCurSel(0);
|
||||
|
||||
CString csPath;
|
||||
m_pSO7_Proto->GetAppPath(csPath);
|
||||
m_pSO7_Proto->Load_SevenOcean_Inifile(csPath+_T("\\Utility_Config.ini"));
|
||||
m_pSO7_Proto->Load_So7_Motion_Config();
|
||||
|
||||
m_csTop_Light_Value.Format(_T("%d"),(m_pSO7_Proto->g_machine.s_lights_value._top_light));
|
||||
m_csBom_Light_Value.Format(_T("%d"),(m_pSO7_Proto->g_machine.s_lights_value._bottom_light));
|
||||
@@ -300,6 +304,7 @@ BOOL CSO7_UtilDlg::OnInitDialog()
|
||||
g_pLoggerDebug = new CLogger(_T("\\UtilityDebug.Log"));
|
||||
}
|
||||
|
||||
|
||||
UpdateData(FALSE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
@@ -371,7 +376,8 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable)
|
||||
GetDlgItem(IDC_BUTTON_SO7_SET_SEQ_NUMBER)->EnableWindow(_bEnable);
|
||||
GetDlgItem(IDC_BUTTON_SO7_SET_VER_NUMBER)->EnableWindow(_bEnable);
|
||||
GetDlgItem(IDC_BUTTON_SET_SCALE_COEFFICIENT)->EnableWindow(_bEnable);
|
||||
|
||||
GetDlgItem(IDC_BUTTON_IO_TEST)->EnableWindow(_bEnable);
|
||||
GetDlgItem(IDC_BUTTON_SET_MOTION_TYPE)->EnableWindow(_bEnable);
|
||||
}
|
||||
|
||||
//=====================================================================
|
||||
@@ -398,6 +404,7 @@ void CSO7_UtilDlg::OnBnClickedButtonInitSo7usb()
|
||||
SetWindowText(_T("SevenOcean Utility(Offline)"));
|
||||
m_OutMessage = _T("Usb Port Error!\r\nMachine Started with offline mode.");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -406,6 +413,8 @@ void CSO7_UtilDlg::OnBnClickedButtonInitSo7usb()
|
||||
m_OutMessage = _T("Usb Port Initialized.\r\nMachine Started.");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
|
||||
GetMotionTypeAndShow();
|
||||
};
|
||||
GetDlgItem(IDCANCEL)->EnableWindow(false);
|
||||
}
|
||||
@@ -434,7 +443,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
|
||||
m_OutMessage=_T("XBoxController connection fails.");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
m_pSO7_Proto->Load_So7_Config();
|
||||
m_pSO7_Proto->Load_So7_Config_Inifile();
|
||||
//m_pSO7_Proto->so7_motion_startup(0.5, 0.5, 0.5);
|
||||
m_pSO7_Proto->_start_machine();
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_RESET_FLAG();
|
||||
@@ -451,13 +460,14 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
|
||||
m_pSO7_Proto->g_machine.FirmwareInfo,cData[0],cData[1]);
|
||||
m_OutMessage=csTmp;
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_so7_config.GetInterruptMsgMethod);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_OutMessage=_T("Firmware Version:[UNKNOWN]");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
m_pSO7_Proto->so7_motion_init_firmware_para();
|
||||
UpdateCtrlsStatus(true);
|
||||
SetTimer(1, m_ReadAxisIntervalTime, 0);
|
||||
m_OutMessage.Format(_T("%d"),m_ReadAxisIntervalTime);
|
||||
@@ -474,9 +484,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
|
||||
void CSO7_UtilDlg::OnBnClickedButtonStopSo7machine()
|
||||
{
|
||||
XBoxPlayer->XBoxControllerExit();
|
||||
CString csPath;
|
||||
m_pSO7_Proto->GetAppPath(csPath);
|
||||
m_pSO7_Proto->Save_SevenOcean_Inifile(csPath+_T("\\Utility_Config.ini"));
|
||||
m_pSO7_Proto->Save_So7_Motion_Config();
|
||||
|
||||
m_OutMessage = _T("Machine Stoped.");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
@@ -1116,17 +1124,20 @@ void CSO7_UtilDlg::TestZSignal()
|
||||
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
|
||||
|
||||
dScaleResult=(dTmp2-dTmp1);
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
|
||||
if (m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryAxisNO==MACHINE_AXIS_X)
|
||||
{
|
||||
if (dScaleResult<-0.00001)
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirDisTestZSig))>1.0)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
if (dScaleResult<-0.00001)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
}
|
||||
m_OutMessage.Format(_T("[RefMark-X] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
@@ -1135,17 +1146,20 @@ void CSO7_UtilDlg::TestZSignal()
|
||||
dTmp1=m_pSO7_Proto->ScaleToMM(m_ZsignalPosY,m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
|
||||
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
|
||||
dScaleResult=(dTmp2-dTmp1);
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
|
||||
if (m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryAxisNO==MACHINE_AXIS_Y)
|
||||
{
|
||||
if (dScaleResult<-0.00001)
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirDisTestZSig))>1.0)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
if (dScaleResult<-0.00001)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
}
|
||||
m_OutMessage.Format(_T("[RefMark-Y] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
@@ -1154,17 +1168,21 @@ void CSO7_UtilDlg::TestZSignal()
|
||||
dTmp1=m_pSO7_Proto->ScaleToMM(m_ZsignalPosZ,m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
|
||||
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
|
||||
dScaleResult=(dTmp2-dTmp1);
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
|
||||
|
||||
if (m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryAxisNO==MACHINE_AXIS_Z)
|
||||
{
|
||||
if (dScaleResult<-0.00001)
|
||||
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirDisTestZSig))>1.0)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
if (dScaleResult<-0.00001)
|
||||
{
|
||||
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
|
||||
}
|
||||
}
|
||||
}
|
||||
m_OutMessage.Format(_T("[RefMark-Z] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
@@ -1558,7 +1576,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetScaleCoefficient()
|
||||
m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution = atof(cTempValue);
|
||||
cTempValue=T2A(m_cs_ZScaleCoeff);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution = atof(cTempValue);
|
||||
m_pSO7_Proto->Save_So7_Config();
|
||||
m_pSO7_Proto->Save_So7_Motion_Config();
|
||||
}
|
||||
//======================================================
|
||||
void CSO7_UtilDlg::OnBnClickedButtonSo7ExternalTrig()
|
||||
@@ -1571,3 +1589,64 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7ExternalTrig()
|
||||
SetTimer(1,m_ReadAxisIntervalTime,NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//void CSO7_UtilDlg::OnBnClickedButton3()
|
||||
//{
|
||||
// CSO7OperateIODlg *dlg = new CSO7OperateIODlg;
|
||||
// dlg->DoModal();
|
||||
// delete dlg;
|
||||
// dlg = NULL;
|
||||
//}
|
||||
|
||||
|
||||
void CSO7_UtilDlg::OnBnClickedButtonIoTest()
|
||||
{
|
||||
if(!m_pSO7_Proto->isEF1AController)
|
||||
return;
|
||||
|
||||
CSO7OperateIODlg *dlg = new CSO7OperateIODlg;
|
||||
dlg->DoModal();
|
||||
delete dlg;
|
||||
dlg = NULL;
|
||||
}
|
||||
|
||||
|
||||
void CSO7_UtilDlg::OnBnClickedButtonSetMotionType()
|
||||
{
|
||||
if(!m_pSO7_Proto->isEF1AController)
|
||||
return;
|
||||
|
||||
m_bMotionType = !m_bMotionType;
|
||||
|
||||
CString csOutMessage;
|
||||
if(m_bMotionType)
|
||||
m_OutMessage = _T("设置机器类型:手动机 ");
|
||||
else
|
||||
m_OutMessage = _T("设置机器类型:自动机 ");
|
||||
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_MOTION_TYPE(m_bMotionType);
|
||||
|
||||
if(m_bMotionType)
|
||||
GetDlgItem(IDC_BUTTON_SET_MOTION_TYPE)->SetWindowTextW(_T("机器类型:手动"));
|
||||
else
|
||||
GetDlgItem(IDC_BUTTON_SET_MOTION_TYPE)->SetWindowTextW(_T("机器类型:自动"));
|
||||
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
|
||||
}
|
||||
|
||||
void CSO7_UtilDlg::GetMotionTypeAndShow()
|
||||
{
|
||||
if(!m_pSO7_Proto->isEF1AController)
|
||||
return;
|
||||
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_MOTION_TYPE();
|
||||
Sleep(5);
|
||||
if(m_pSO7_Proto->g_machine.bMotionType)
|
||||
GetDlgItem(IDC_BUTTON_SET_MOTION_TYPE)->SetWindowTextW(_T("机器类型:手动"));
|
||||
else
|
||||
GetDlgItem(IDC_BUTTON_SET_MOTION_TYPE)->SetWindowTextW(_T("机器类型:自动"));
|
||||
|
||||
m_bMotionType = m_pSO7_Proto->g_machine.bMotionType;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "ProcessButton.h"
|
||||
// CSO7_UtilDlg 对话框
|
||||
|
||||
class CSO7_UtilDlg : public CDialog
|
||||
@@ -138,4 +138,11 @@ public:
|
||||
afx_msg void OnBnClickedRadioSelectY();
|
||||
afx_msg void OnBnClickedRadioSelectZ();
|
||||
afx_msg void OnCbnSelchangeComboRwdataAddr();
|
||||
//afx_msg void OnBnClickedButton3();
|
||||
afx_msg void OnBnClickedButtonIoTest();
|
||||
afx_msg void OnBnClickedButtonSetMotionType();
|
||||
|
||||
private:
|
||||
BOOL m_bMotionType;
|
||||
void GetMotionTypeAndShow();
|
||||
};
|
||||
|
||||
@@ -304,62 +304,62 @@ void CSetSo7MotionConfig::UpdateDataValue()
|
||||
int iRow=0;
|
||||
int iCol=2;
|
||||
CString cStr("");
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_EnCloseLoop);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_RetryTimes);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_so7_config.m_ShiftPositionX);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_so7_config.m_ShiftPositionY);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ);
|
||||
cStr.Format(_T("%.3f"),m_pSO7_Proto->g_so7_config.m_ShiftPositionZ);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.GetInterruptMsgMethod);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_WriteDataSleepTime);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_AccuraErrPulseX);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_AccuraErrPulseY);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_AccuraErrPulseZ);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_EQUIDIS_X);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_EQUIDIS_Y);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_EQUIDIS_Z);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_CNC_Deadlock_Solution);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_CNC_Deadlock_JudgeMaxCnts);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_TouchProbeEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_FootSwitchEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_bJoyStickEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_STIL_CCS_PRIMA_Enable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_bDebugOutputEnable);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_CntThreadSleepVal);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[0]);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[1]);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[2]);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[3]);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
|
||||
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_MachineType);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_MachineType);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_so7_config.m_VideoCardType);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
|
||||
|
||||
@@ -381,9 +381,9 @@ void CSetSo7MotionConfig::UpdateDataValue()
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO);
|
||||
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryAxisNO);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis);
|
||||
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryCircleDis);
|
||||
m_ConfigList.SetItemText(iRow++,iCol,cStr);
|
||||
|
||||
}
|
||||
@@ -398,112 +398,112 @@ void CSetSo7MotionConfig::SaveDataValue()
|
||||
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_EnCloseLoop=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_RetryTimes=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX=atof(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_ShiftPositionX=atof(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY=atof(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_ShiftPositionY=atof(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_ShiftPositionZ=atof(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod=static_cast<char>(atoi(cTemp));
|
||||
m_pSO7_Proto->g_so7_config.GetInterruptMsgMethod=static_cast<char>(atoi(cTemp));
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_WriteDataSleepTime=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_AccuraErrPulseX=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_AccuraErrPulseY=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_AccuraErrPulseZ=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_EQUIDIS_X=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_EQUIDIS_Y=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_EQUIDIS_Z=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_CNC_Deadlock_Solution=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_CNC_Deadlock_JudgeMaxCnts=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_TouchProbeEnable=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.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);
|
||||
m_pSO7_Proto->g_so7_config.m_bJoyStickEnable=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_STIL_CCS_PRIMA_Enable=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_bDebugOutputEnable=atoi(cTemp);
|
||||
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_CntThreadSleepVal=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[0]=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[1]=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[2]=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_SV4000E_DenoisePara[3]=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_MachineType=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_MachineType=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType=atoi(cTemp);
|
||||
m_pSO7_Proto->g_so7_config.m_VideoCardType=atoi(cTemp);
|
||||
iRow++;
|
||||
|
||||
|
||||
@@ -545,25 +545,25 @@ void CSetSo7MotionConfig::SaveDataValue()
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryAxisNO=atoi(cTemp);
|
||||
iRow++;
|
||||
cStr=m_ConfigList.GetItemText(iRow,iCol);
|
||||
cTemp=T2A(cStr);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp);
|
||||
m_pSO7_Proto->g_machine.s_machine_config.r_axis.m_RotaryCircleDis=atof(cTemp);
|
||||
iRow++;
|
||||
}
|
||||
void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk()
|
||||
{
|
||||
SaveDataValue();
|
||||
CString m_csMsg=_T("");
|
||||
m_pSO7_Proto->Save_So7_Config();
|
||||
m_pSO7_Proto->Save_So7_Config_Inifile();
|
||||
m_pSO7_Proto->GetAppPath(m_csMsg);
|
||||
m_csMsg=_T("配置文件保存在:")+m_csMsg+_T("\\UtilitySo7Config.ini。");
|
||||
m_csMsg=_T("配置文件保存在:")+m_csMsg+_T("\\So7Config_Utility.ini。");
|
||||
OutputWithScroll(m_csMsg,m_edit_MsgOut);
|
||||
}
|
||||
void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigSetDefault()
|
||||
{
|
||||
m_pSO7_Proto->so7_config_para_set_default();
|
||||
m_pSO7_Proto->so7_config_cfg_set_default_para();
|
||||
UpdateDataValue();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -312,7 +312,7 @@ void CSetup_so7config::OnBnClickedButtonSo7configZoomPrecision()
|
||||
m_pSO7_Proto->GetAppPath(m_csMsg);
|
||||
m_csMsg=_T("配置文件保存在:")+m_csMsg+_T("\\so7_config.ini。");
|
||||
OutputWithScroll(m_csMsg,m_edit_MsgOut);
|
||||
m_pSO7_Proto->Save_So7_Config();
|
||||
m_pSO7_Proto->Save_So7_Config_Inifile();
|
||||
|
||||
m_nStep=0;
|
||||
ChangGUIWithStep(m_nStep);
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
// So7_Keyence9011.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "So7_Keyence9011.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
|
||||
#include "resource.h"
|
||||
extern CPSerial* m_pSO7_Keyence9011;
|
||||
static BYTE bSendData[6]= {0x4D,0x30,0x2C,0x30,0x0D,0x0A};
|
||||
static UINT_PTR nIDTimer1 = 1;
|
||||
static CString csFileTitle("9011_value.txt");
|
||||
|
||||
// CSo7_Keyence9011 对话框
|
||||
|
||||
IMPLEMENT_DYNAMIC(CSo7_Keyence9011, CDialogEx)
|
||||
|
||||
CSo7_Keyence9011::CSo7_Keyence9011(CWnd* pParent /*=NULL*/)
|
||||
: CDialogEx(CSo7_Keyence9011::IDD, pParent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CSo7_Keyence9011::~CSo7_Keyence9011()
|
||||
{
|
||||
}
|
||||
|
||||
void CSo7_Keyence9011::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialogEx::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CSo7_Keyence9011, CDialogEx)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Close)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Recv)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_STOP, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Stop)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Save)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_EXIT, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Exit)
|
||||
ON_BN_CLICKED(IDC_CHECK_SO7_UTIL_Keyence9011_CYCLE, &CSo7_Keyence9011::OnBnClickedCheckSo7UtilKeyence9011Cycle)
|
||||
ON_WM_TIMER()
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN, &CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Open)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CSo7_Keyence9011 消息处理程序
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Close()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
if (m_pSO7_Keyence9011)
|
||||
{
|
||||
m_pSO7_Keyence9011->Close();
|
||||
}
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_STOP)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_EXIT)->EnableWindow(TRUE);
|
||||
m_StatusBar.SetText(_T("串口已关闭"), 0, 0);
|
||||
m_StatusBar.SetText(_T(""), 1, 0);
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Recv()
|
||||
{
|
||||
// TODO:
|
||||
CString csValue;
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_STOP)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE)->EnableWindow(TRUE);
|
||||
m_StatusBar.SetText(_T("数据接收中"), 1, 0);
|
||||
|
||||
bcycle = ((CButton*)(GetDlgItem(IDC_CHECK_SO7_UTIL_Keyence9011_CYCLE)))->GetCheck();
|
||||
if(bcycle)
|
||||
{
|
||||
GetDlgItem(IDC_EDIT_SO7_UTIL_Keyence9011_TIMER)->GetWindowTextW(csValue);
|
||||
int iT =_ttoi(csValue)*1000;
|
||||
SetTimer(nIDTimer1,iT,NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
RecvAndDispalyData();
|
||||
}
|
||||
strtxt = "";
|
||||
m_StatusBar.SetText(_T(" "), 2, 0);
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Stop()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_STOP)->EnableWindow(FALSE);
|
||||
m_StatusBar.SetText(_T("终止检测"), 1, 0);
|
||||
KillTimer(nIDTimer1);
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Save()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
|
||||
if(file.Open(csFileTitle,CFile::modeNoTruncate | CFile::modeWrite,&e))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
file.Open(csFileTitle,CFile::modeCreate | CFile::modeWrite);
|
||||
}
|
||||
file.SeekToEnd();
|
||||
file.WriteString(strtxt);
|
||||
file.Close();
|
||||
file.Flush();
|
||||
m_StatusBar.SetText(_T("保存成功"), 2, 0);
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Exit()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
CDialog::OnCancel();
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedCheckSo7UtilKeyence9011Cycle()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
}
|
||||
|
||||
|
||||
BOOL CSo7_Keyence9011::OnInitDialog()
|
||||
{
|
||||
CDialogEx::OnInitDialog();
|
||||
|
||||
// TODO: 在此添加额外的初始化
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_STOP)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_EXIT)->EnableWindow(TRUE);
|
||||
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->ResetContent();
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM1");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM2");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM3");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM4");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM5");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM6");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM7");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->AddString(L"COM8");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->SetCurSel(0);
|
||||
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->ResetContent();
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"110");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"300");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"600");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"1200");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"2400");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"4800");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"9600");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"14400");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"19200");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"38400");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"56000");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"57600");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"115200");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"128000");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->AddString(L"256000");
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->SetCurSel(6);
|
||||
|
||||
m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101);
|
||||
m_StatusBar.SetBkColor(RGB(0xff, 0xff, 0x00));
|
||||
int arWidth[] = {330,450, -1 };
|
||||
m_StatusBar.SetParts(3, arWidth);
|
||||
m_StatusBar.SetText(_T("System ready."), 0, 0);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// 异常: OCX 属性页应返回 FALSE
|
||||
}
|
||||
|
||||
BOOL CSo7_Keyence9011::GetPortAndBaud()
|
||||
{
|
||||
int i = ((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_PORT)))->GetCurSel();
|
||||
switch(i)
|
||||
{
|
||||
case 0:
|
||||
iPort = 1;
|
||||
break;
|
||||
case 1:
|
||||
iPort = 2;
|
||||
break;
|
||||
case 2:
|
||||
iPort = 3;
|
||||
break;
|
||||
case 3:
|
||||
iPort = 4;
|
||||
break;
|
||||
case 4:
|
||||
iPort = 5;
|
||||
break;
|
||||
case 5:
|
||||
iPort = 6;
|
||||
break;
|
||||
case 6:
|
||||
iPort = 7;
|
||||
break;
|
||||
case 7:
|
||||
iPort = 8;
|
||||
break;
|
||||
default:
|
||||
iPort = 1;
|
||||
return false;
|
||||
}
|
||||
int j = ((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_Keyence9011_BAUD)))->GetCurSel();
|
||||
switch(j)
|
||||
{
|
||||
case 0:
|
||||
iBaud = CBR_110;
|
||||
break;
|
||||
case 1:
|
||||
iBaud = CBR_300;
|
||||
break;
|
||||
case 2:
|
||||
iBaud = CBR_600;
|
||||
break;
|
||||
case 3:
|
||||
iBaud = CBR_1200;
|
||||
break;
|
||||
case 4:
|
||||
iBaud = CBR_2400;
|
||||
break;
|
||||
case 5:
|
||||
iBaud = CBR_4800;
|
||||
break;
|
||||
case 6:
|
||||
iBaud = CBR_9600;
|
||||
break;
|
||||
case 7:
|
||||
iBaud = CBR_14400;
|
||||
break;
|
||||
case 8:
|
||||
iBaud = CBR_19200;
|
||||
break;
|
||||
case 9:
|
||||
iBaud = CBR_38400;
|
||||
break;
|
||||
case 10:
|
||||
iBaud = CBR_56000;
|
||||
break;
|
||||
case 11:
|
||||
iBaud = CBR_57600;
|
||||
break;
|
||||
case 12:
|
||||
iBaud = CBR_115200;
|
||||
break;
|
||||
case 13:
|
||||
iBaud = CBR_128000;
|
||||
break;
|
||||
case 14:
|
||||
iBaud = CBR_256000;
|
||||
break;
|
||||
default:
|
||||
iBaud = CBR_38400;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void CSo7_Keyence9011::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||
RecvAndDispalyData();
|
||||
CDialogEx::OnTimer(nIDEvent);
|
||||
}
|
||||
|
||||
|
||||
void CSo7_Keyence9011::OnBnClickedButtonSo7UtilKeyence9011Open()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
if (m_pSO7_Keyence9011)
|
||||
{
|
||||
// int iPort = ((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_UTIL_TEMPERATURE_DISPLAY_PORT)))->GetCurSel() + 1;
|
||||
if(!GetPortAndBaud())
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_pSO7_Keyence9011->SetPort(iPort,iBaud);
|
||||
CString Param,Params;
|
||||
int Port;
|
||||
int Baud;
|
||||
char Parity;
|
||||
int Bits;
|
||||
int StopBits;
|
||||
int HandShake;
|
||||
m_pSO7_Keyence9011->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake);
|
||||
Params.Format( TEXT("[COM%d]"), iPort );
|
||||
Param.Format( TEXT(" Baud=%d"), iBaud );
|
||||
Params += Param;
|
||||
Param.Format( TEXT(" Parity=%c"), Parity );
|
||||
Params += Param;
|
||||
Param.Format( TEXT(" Data=%d"), Bits );
|
||||
Params += Param;
|
||||
Param.Format( TEXT(" Stop=%d"), StopBits );
|
||||
Params += Param;
|
||||
m_StatusBar.SetText(Params, 0, 0);
|
||||
|
||||
//BYTE bRecvData[32] = {0};
|
||||
if(m_pSO7_Keyence9011->Open())
|
||||
{
|
||||
m_StatusBar.SetText(_T("串口打开成功"), 1, 0);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_SO7_UTIL_Keyence9011_RECV)->EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_StatusBar.SetText(_T("串口打开失败"), 1, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_StatusBar.SetText(_T("串口打开失败"), 1, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CSo7_Keyence9011::RecvAndDispalyData()
|
||||
{
|
||||
iWriteByte = m_pSO7_Keyence9011->Send((char*)bSendData,6);
|
||||
|
||||
//쌈肝鑒앴
|
||||
INT iRetrys(0);
|
||||
CString csVaue;
|
||||
CString csn("\r\n");
|
||||
while(!m_pSO7_Keyence9011->m_iRecvState && iRetrys<20)
|
||||
{
|
||||
iRetrys++;
|
||||
Sleep(100);
|
||||
}
|
||||
if (m_pSO7_Keyence9011->m_iRecvState)
|
||||
{
|
||||
if(m_pSO7_Keyence9011->m_RecvData[0]==0)
|
||||
{
|
||||
m_pSO7_Keyence9011->m_iRecvState=FALSE;
|
||||
INT iRetrys2(0);
|
||||
while(!m_pSO7_Keyence9011->m_iRecvState && iRetrys2<60)
|
||||
{
|
||||
iRetrys2++;
|
||||
Sleep(100);
|
||||
}
|
||||
}
|
||||
m_pSO7_Keyence9011->m_iRecvState=FALSE;
|
||||
csVaue = m_pSO7_Keyence9011->m_RecvData;
|
||||
strtxt = strtxt + csVaue;
|
||||
strtxt = strtxt + csn;
|
||||
GetDlgItem(IDC_EDIT_SO7_UTIL_Keyence9011_RECVDATA)->SetWindowTextW((LPCTSTR)strtxt);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_StatusBar.SetText(_T("数据接收失败"), 1, 0);
|
||||
}
|
||||
/*
|
||||
m_pSO7_Keyence9011->m_RecvData[0] = '+';
|
||||
m_pSO7_Keyence9011->m_RecvData[1] = '5';
|
||||
m_pSO7_Keyence9011->m_RecvData[2] = '3';
|
||||
m_pSO7_Keyence9011->m_RecvData[3] = '.';
|
||||
m_pSO7_Keyence9011->m_RecvData[4] = '0';
|
||||
m_pSO7_Keyence9011->m_RecvData[5] = '2';
|
||||
|
||||
csVaue = m_pSO7_Keyence9011->m_RecvData;
|
||||
strtxt = strtxt + csVaue;
|
||||
strtxt = strtxt + csn;
|
||||
GetDlgItem(IDC_EDIT_SO7_UTIL_Keyence9011_RECVDATA)->SetWindowTextW((LPCTSTR)strtxt);
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
// CSo7_Keyence9011 对话框
|
||||
|
||||
class CSo7_Keyence9011 : public CDialogEx
|
||||
{
|
||||
DECLARE_DYNAMIC(CSo7_Keyence9011)
|
||||
|
||||
public:
|
||||
CSo7_Keyence9011(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~CSo7_Keyence9011();
|
||||
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_So7_Util_Keyence9011 };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
protected:
|
||||
CStatusBarCtrl m_StatusBar;
|
||||
DWORD iWriteByte;
|
||||
CString strtxt;
|
||||
CStdioFile file;
|
||||
CFileException e;
|
||||
int iPort;
|
||||
int iBaud;
|
||||
BOOL bcycle;
|
||||
public:
|
||||
BOOL GetPortAndBaud();
|
||||
void RecvAndDispalyData();
|
||||
public:
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Close();
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Recv();
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Stop();
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Save();
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Exit();
|
||||
afx_msg void OnBnClickedCheckSo7UtilKeyence9011Cycle();
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
afx_msg void OnBnClickedButtonSo7UtilKeyence9011Open();
|
||||
};
|
||||
@@ -12,8 +12,8 @@
|
||||
#include "ProcessButton.h"
|
||||
#include "EditableListCtrl.h"
|
||||
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
#include "VideoCardDefine.h"
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
#include "..\..\..\Videocard\SDK3000\sdk3000_7130.h"
|
||||
#include "Videocard_SDK3000.h"
|
||||
#include "..\..\..\Videocard\SV2000E\datastru.h"
|
||||
@@ -28,8 +28,14 @@
|
||||
#include "..\..\..\Videocard\MV900\Convert.h"
|
||||
#include "..\..\..\Videocard\MV900\MVSDK.h"
|
||||
#include "Videocard_MV900.h"
|
||||
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
|
||||
#include "..\..\..\Videocard\MindVision\Include\CameraDefine.h"
|
||||
#include "..\..\..\Videocard\MindVision\Include\CameraStatus.h"
|
||||
#include "..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.h"
|
||||
#include "Videocard_Mindvision.h"
|
||||
|
||||
#include "..\..\..\STIL\Common\inc\cAcqEasy.h"
|
||||
#include "..\..\..\STIL\STIL_CCS_PRIMA_Laser.h"
|
||||
#include "STIL_CCS_PRIMA_Dlg.h"
|
||||
@@ -65,11 +71,17 @@
|
||||
#include "afxdialogex.h"
|
||||
#include "So7_Temperature_Sensor.h"
|
||||
#include "SO7_Temperature_Display.h"
|
||||
#include "So7_Keyence9011.h"
|
||||
#include "So7_Robot_Control.h"
|
||||
#include "So7_UseRobotDll.h"
|
||||
#include "EF1A_Manual_Machine.h"
|
||||
//#define _RELEASE_ONLY_ONE_FUNCTION
|
||||
|
||||
//CSerial* m_pSO7_Serial=NULL;
|
||||
CPSerial* m_pSO7_TemperatureDisplay = NULL;
|
||||
CPSerial* m_pSO7_TemperatureSensor = NULL;
|
||||
CPSerial* m_pSO7_Keyence9011 = NULL;
|
||||
So7_UseRobotDll* m_pSO7_Robot = NULL;
|
||||
CPSerial* m_pSO7_PCDSerial=NULL;
|
||||
CSO7_Proto* m_pSO7_Proto=NULL;
|
||||
CSO7_Proto_Aux* m_pSO7_Proto_Aux=NULL;
|
||||
@@ -87,6 +99,7 @@ CSTIL_CCS_PRIMA_Laser* g_pSTIL_CCS_PRIMA=NULL;
|
||||
CSo7_TCPIP* g_pSo7_TCPIP=NULL;
|
||||
CSo7_TCPIP_Server* g_pSo7_TCPIP_Server=NULL;
|
||||
|
||||
Camera_MindVision_GIGE* g_pMindVision_GIGE=NULL;
|
||||
// CSo7_Option dialog
|
||||
|
||||
IMPLEMENT_DYNAMIC(CSo7_Option, CDialog)
|
||||
@@ -148,7 +161,7 @@ BOOL CSo7_Option::OnInitDialog()
|
||||
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_MV900))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER))->SetCheck(TRUE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_VERIFICATION_ALGORITHM))->SetCheck(FALSE);
|
||||
@@ -156,7 +169,8 @@ BOOL CSo7_Option::OnInitDialog()
|
||||
((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC_SERVER))->SetCheck(FALSE);
|
||||
|
||||
((CButton *)GetDlgItem(IDC_RADIO_CONTROL_EF1A))->SetCheck(TRUE);
|
||||
|
||||
#ifdef _RELEASE_SO7_CONTROLER_ONLY/*
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC))->EnableWindow(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_OMRON_PLC_SERVER))->EnableWindow(FALSE);*/
|
||||
@@ -214,7 +228,7 @@ void CSo7_Option::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
}
|
||||
//===================================
|
||||
void CSo7_Option::OnBnClickedOk()
|
||||
{
|
||||
{
|
||||
if (((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER))->GetCheck())
|
||||
{
|
||||
if (!m_pEF8000_Interface)
|
||||
@@ -444,6 +458,25 @@ void CSo7_Option::OnBnClickedOk()
|
||||
CVideocard_MV900* pVideocard_MV900=new CVideocard_MV900();
|
||||
pVideocard_MV900->DoModal();
|
||||
delete pVideocard_MV900;
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->GetCheck())
|
||||
{
|
||||
#ifdef _RELEASE_FULL_VERSION
|
||||
if(!g_pMindVision_GIGE)
|
||||
{
|
||||
g_pMindVision_GIGE=new Camera_MindVision_GIGE();
|
||||
}
|
||||
|
||||
CVideocard_Mindvision* pVideocard_Mindvision=new CVideocard_Mindvision();
|
||||
pVideocard_Mindvision->DoModal();
|
||||
delete pVideocard_Mindvision;
|
||||
pVideocard_Mindvision=NULL;
|
||||
if (g_pMindVision_GIGE)
|
||||
{
|
||||
delete g_pMindVision_GIGE;
|
||||
g_pMindVision_GIGE=NULL;
|
||||
}
|
||||
#endif //_RELEASE_FULL_VERSION
|
||||
}
|
||||
else if(((CButton *)GetDlgItem(IDC_RADIO_TEST_IMAGE_DLL))->GetCheck())
|
||||
@@ -498,26 +531,116 @@ void CSo7_Option::OnBnClickedOk()
|
||||
pSO7_Verfication_Algorithm->DoModal();
|
||||
delete pSO7_Verfication_Algorithm;
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_SO7_TEMPERATURE_SENSOR))->GetCheck())
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_SO7_TEMPERATURE_SENSOR))->GetCheck())
|
||||
{
|
||||
|
||||
if (!m_pSO7_TemperatureDisplay)
|
||||
{
|
||||
m_pSO7_TemperatureDisplay = new CPSerial();
|
||||
}
|
||||
|
||||
CSO7_Temperature_Display* pSO7_Temperature_Display=new CSO7_Temperature_Display();
|
||||
CSO7_Temperature_Display* pSO7_Temperature_Display=new CSO7_Temperature_Display();
|
||||
pSO7_Temperature_Display->DoModal();
|
||||
delete pSO7_Temperature_Display;
|
||||
|
||||
if (m_pSO7_TemperatureDisplay)
|
||||
{
|
||||
delete m_pSO7_TemperatureDisplay;
|
||||
m_pSO7_TemperatureDisplay=NULL;
|
||||
}
|
||||
|
||||
m_pSO7_TemperatureDisplay=NULL;
|
||||
}
|
||||
}
|
||||
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_SO7_keyence9011))->GetCheck())
|
||||
{
|
||||
|
||||
if (!m_pSO7_Keyence9011)
|
||||
{
|
||||
m_pSO7_Keyence9011 = new CPSerial();
|
||||
}
|
||||
|
||||
CSo7_Keyence9011* pSo7_Keyence9011=new CSo7_Keyence9011();
|
||||
pSo7_Keyence9011->DoModal();
|
||||
delete pSo7_Keyence9011;
|
||||
|
||||
if (m_pSO7_Keyence9011)
|
||||
{
|
||||
delete m_pSO7_Keyence9011;
|
||||
m_pSO7_Keyence9011=NULL;
|
||||
}
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_SO7_ROBOT))->GetCheck())
|
||||
{
|
||||
if(!m_pSO7_Robot)
|
||||
{
|
||||
m_pSO7_Robot = new So7_UseRobotDll();
|
||||
}
|
||||
So7_Robot_Control *pSo7_Robot = new So7_Robot_Control();
|
||||
pSo7_Robot->DoModal();
|
||||
delete pSo7_Robot;
|
||||
if(m_pSO7_Robot)
|
||||
{
|
||||
delete m_pSO7_Robot;
|
||||
m_pSO7_Robot = NULL;
|
||||
}
|
||||
}
|
||||
else if (((CButton *)GetDlgItem(IDC_RADIO_CONTROL_EF1A))->GetCheck())
|
||||
{
|
||||
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto = new CSO7_Proto();
|
||||
}
|
||||
/*
|
||||
CEF1A_UtilDlg *pEF1A_UtilDlg = new CEF1A_UtilDlg();
|
||||
m_pSO7_Proto->g_EF1AUsbDevice = new CEF1AUsbDevice();
|
||||
pEF1A_UtilDlg->m_pUsbDevice = m_pSO7_Proto->g_EF1AUsbDevice;
|
||||
m_pSO7_Proto->isEF1AController = true;
|
||||
pEF1A_UtilDlg->DoModal();
|
||||
m_pSO7_Proto->isEF1AController = false;
|
||||
delete pEF1A_UtilDlg;
|
||||
delete m_pSO7_Proto->g_EF1AUsbDevice;
|
||||
*/
|
||||
if (!m_pEF8000_Interface)
|
||||
{
|
||||
m_pEF8000_Interface=new CEF8000_Interface();
|
||||
}
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto = new CSO7_Proto();
|
||||
}
|
||||
if (!XBoxPlayer)
|
||||
{
|
||||
XBoxPlayer = new CXBOXController(1);
|
||||
}
|
||||
m_pSO7_Proto->isEF1AController = true;
|
||||
if (m_pSO7_Proto->g_EF1AUsbDevice==nullptr)
|
||||
{
|
||||
m_pSO7_Proto->g_EF1AUsbDevice = new CEF1AUsbDevice();
|
||||
}
|
||||
CSO7_UtilDlg* pSO7_UtilDlg=new CSO7_UtilDlg();
|
||||
pSO7_UtilDlg->DoModal();
|
||||
delete pSO7_UtilDlg;
|
||||
if (m_pSO7_Proto->g_EF1AUsbDevice!=nullptr)
|
||||
{
|
||||
delete m_pSO7_Proto->g_EF1AUsbDevice;
|
||||
m_pSO7_Proto->g_EF1AUsbDevice=nullptr;
|
||||
}
|
||||
m_pSO7_Proto->isEF1AController = false;
|
||||
if (XBoxPlayer)
|
||||
{
|
||||
delete XBoxPlayer;
|
||||
XBoxPlayer=NULL;
|
||||
}
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
delete m_pSO7_Proto;
|
||||
m_pSO7_Proto=NULL;
|
||||
}
|
||||
if (m_pEF8000_Interface)
|
||||
{
|
||||
delete m_pEF8000_Interface;
|
||||
m_pEF8000_Interface=NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#ifdef _RELEASE_ONLY_ONE_FUNCTION
|
||||
OnBnClickedCancel();
|
||||
|
||||
@@ -24,4 +24,5 @@ public:
|
||||
afx_msg void OnBnClickedCancel();
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
afx_msg void OnBnClickedRadioArtPci8622();
|
||||
afx_msg void OnBnClickedRadioSo7TemperatureSensor();
|
||||
};
|
||||
|
||||
@@ -0,0 +1,284 @@
|
||||
// So7_Robot_Control.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "So7_Robot_Control.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "So7_UseRobotDll.h"
|
||||
#include "resource.h"
|
||||
#include <windot11.h>
|
||||
|
||||
// So7_Robot_Control 对话框
|
||||
extern So7_UseRobotDll *m_pSO7_Robot;
|
||||
static UINT_PTR nIDTimer1 = 1;
|
||||
IMPLEMENT_DYNAMIC(So7_Robot_Control, CDialogEx)
|
||||
|
||||
So7_Robot_Control::So7_Robot_Control(CWnd* pParent /*=NULL*/)
|
||||
: CDialogEx(So7_Robot_Control::IDD, pParent)
|
||||
, m_sSenddata(_T(""))
|
||||
, m_Speed(_T(""))
|
||||
, m_WriteProg(_T(""))
|
||||
, m_WriteNumber(_T(""))
|
||||
, m_WriteValue(_T(""))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
So7_Robot_Control::~So7_Robot_Control()
|
||||
{
|
||||
}
|
||||
|
||||
void So7_Robot_Control::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialogEx::DoDataExchange(pDX);
|
||||
// DDX_Control(pDX, IDC_COMBO1, m_cCombo);
|
||||
DDX_Text(pDX, IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PROGRAM, m_sSenddata);
|
||||
DDX_Text(pDX, IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SPEED, m_Speed);
|
||||
DDX_Text(pDX, IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNAME, m_WriteProg);
|
||||
DDX_Text(pDX, IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNUMBER, m_WriteNumber);
|
||||
DDX_Text(pDX, IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGVALUE, m_WriteValue);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(So7_Robot_Control, CDialogEx)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlRun)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlEnd)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlConnect)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT, &So7_Robot_Control::OnBnClickedButtonSo7UtilRebotControlDisconnect)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_EXIT, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlExit)
|
||||
ON_WM_TIMER()
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlServon)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlServoff)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SETSPEED, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlSetspeed)
|
||||
ON_BN_CLICKED(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SAVEPROG, &So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlSaveprog)
|
||||
ON_EN_CHANGE(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X2, &So7_Robot_Control::OnEnChangeEditSo7RebotControlPositionX2)
|
||||
ON_EN_CHANGE(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X1, &So7_Robot_Control::OnEnChangeEditSo7RebotControlPositionX1)
|
||||
ON_BN_CLICKED(IDC_BUTTON_ReadPosition, &So7_Robot_Control::OnBnClickedButtonReadposition)
|
||||
ON_EN_CHANGE(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNAME, &So7_Robot_Control::OnEnChangeButtonSo7UtilRobotContorlWriteprogname)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// So7_Robot_Control 消息处理程序
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlRun()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
BOOL bExecute,bCycle;
|
||||
int Method;
|
||||
|
||||
|
||||
|
||||
// CString csValue;
|
||||
bExecute = ((CButton*)(GetDlgItem(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PRO_SELECT)))->GetCheck();
|
||||
bCycle = ((CButton*)(GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CYCLE)))->GetCheck();
|
||||
UpdateData(TRUE);
|
||||
if(bExecute)
|
||||
{
|
||||
// GetDlgItem(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PROGRAM)->GetWindowTextW(csValue);
|
||||
|
||||
if(bCycle)
|
||||
{
|
||||
Method = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Method = 0;
|
||||
}
|
||||
m_pSO7_Robot->ExecuteProgram_Robot(m_sSenddata,Method);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END)->EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("please select program!"));
|
||||
}
|
||||
|
||||
|
||||
//Robot.ExecuteProgram();
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlEnd()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
CString sdata;
|
||||
sdata.Format(_T("0"));
|
||||
m_pSO7_Robot->StopProgram();
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END)->EnableWindow(FALSE);
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlConnect()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
m_pSO7_Robot->Start_Robot();
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END)->EnableWindow(FALSE);
|
||||
SetTimer(nIDTimer1,100,NULL);
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRebotControlDisconnect()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
m_pSO7_Robot->End_Robot();
|
||||
KillTimer(nIDTimer1);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_EXIT)->EnableWindow(TRUE);
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlExit()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
CDialog::OnCancel();
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
// TODO: 在此添加消息处理程序代码和/或调用默认值
|
||||
CString csPosition;
|
||||
csPosition = m_pSO7_Robot->GetCurrentPosition_Robot();
|
||||
GetDlgItem(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X1)->SetWindowTextW(csPosition);
|
||||
|
||||
CDialogEx::OnTimer(nIDEvent);
|
||||
|
||||
}
|
||||
|
||||
|
||||
BOOL So7_Robot_Control::OnInitDialog()
|
||||
{
|
||||
CDialogEx::OnInitDialog();
|
||||
|
||||
// TODO: 在此添加额外的初始化
|
||||
m_pSO7_Robot->InitDll();
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_EXIT)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON)->EnableWindow(TRUE);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// 异常: OCX 属性页应返回 FALSE
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlServon()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
long rid;
|
||||
rid = m_pSO7_Robot->ServerON_Robot();
|
||||
if(rid == 1)
|
||||
{
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF)->EnableWindow(TRUE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON)->EnableWindow(FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("ServerON failed!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlServoff()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
long rid;
|
||||
rid = m_pSO7_Robot->ServerOFF_Robot();
|
||||
if(rid == 1)
|
||||
{
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON)->EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("ServerOFF failed!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlSetspeed()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
long rid;
|
||||
UpdateData(TRUE);
|
||||
rid = m_pSO7_Robot->SetSpeed_Robot(m_Speed);
|
||||
if(rid)
|
||||
{
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF)->EnableWindow(FALSE);
|
||||
GetDlgItem(IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON)->EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("ServerOFF failed!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonSo7UtilRobotContorlSaveprog()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
long rid;
|
||||
UpdateData(TRUE);
|
||||
rid = m_pSO7_Robot->WritePosition_Robot(m_WriteValue,m_WriteProg,m_WriteNumber);
|
||||
if(rid)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("WRITE POSITION DATA failed!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnEnChangeEditSo7RebotControlPositionX2()
|
||||
{
|
||||
// TODO: 如果该控件是 RICHEDIT 控件,它将不
|
||||
// 发送此通知,除非重写 CDialogEx::OnInitDialog()
|
||||
// 函数并调用 CRichEditCtrl().SetEventMask(),
|
||||
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。
|
||||
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnEnChangeEditSo7RebotControlPositionX1()
|
||||
{
|
||||
// TODO: 如果该控件是 RICHEDIT 控件,它将不
|
||||
// 发送此通知,除非重写 CDialogEx::OnInitDialog()
|
||||
// 函数并调用 CRichEditCtrl().SetEventMask(),
|
||||
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。
|
||||
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnBnClickedButtonReadposition()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
CString csPosition;
|
||||
csPosition = m_pSO7_Robot->GetCurrentPosition_Robot();
|
||||
GetDlgItem(IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X1)->SetWindowTextW(csPosition);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void So7_Robot_Control::OnEnChangeButtonSo7UtilRobotContorlWriteprogname()
|
||||
{
|
||||
// TODO: 如果该控件是 RICHEDIT 控件,它将不
|
||||
// 发送此通知,除非重写 CDialogEx::OnInitDialog()
|
||||
// 函数并调用 CRichEditCtrl().SetEventMask(),
|
||||
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。
|
||||
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
#include"resource.h"
|
||||
|
||||
// So7_Robot_Control 对话框
|
||||
|
||||
class So7_Robot_Control : public CDialogEx
|
||||
{
|
||||
DECLARE_DYNAMIC(So7_Robot_Control)
|
||||
|
||||
public:
|
||||
So7_Robot_Control(CWnd* pParent = NULL); // 标准构造函数
|
||||
virtual ~So7_Robot_Control();
|
||||
|
||||
// 对话框数据
|
||||
enum { IDD = IDD_SO7_UTIL_Robot_Control };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlRun();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlEnd();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlConnect();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRebotControlDisconnect();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlExit();
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
virtual BOOL OnInitDialog();
|
||||
CString m_sSenddata;
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlServon();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlServoff();
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlSetspeed();
|
||||
CString m_Speed;
|
||||
afx_msg void OnBnClickedButtonSo7UtilRobotContorlSaveprog();
|
||||
CString m_WriteProg;
|
||||
afx_msg void OnEnChangeEditSo7RebotControlPositionX2();
|
||||
afx_msg void OnEnChangeEditSo7RebotControlPositionX1();
|
||||
afx_msg void OnBnClickedButtonReadposition();
|
||||
afx_msg void OnEnChangeButtonSo7UtilRobotContorlWriteprogname();
|
||||
CString m_WriteNumber;
|
||||
CString m_WriteValue;
|
||||
};
|
||||
@@ -0,0 +1,116 @@
|
||||
#include "StdAfx.h"
|
||||
#include "So7_UseRobotDll.h"
|
||||
#include <Windows.h>
|
||||
|
||||
So7_UseRobotDll::So7_UseRobotDll(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
So7_UseRobotDll::~So7_UseRobotDll(void)
|
||||
{
|
||||
}
|
||||
|
||||
void So7_UseRobotDll::InitDll()
|
||||
{
|
||||
m_hImageDLL = (HMODULE)LoadLibrary(_T("RobotControlDll.dll"));
|
||||
if(m_hImageDLL)
|
||||
{
|
||||
Start = (START)GetProcAddress(m_hImageDLL,"OnStart");
|
||||
ExecuteProgram = (EXECUTEPROGRAM)GetProcAddress(m_hImageDLL,"Execute_Program");
|
||||
StopProgram = (STOPPROGRAM)GetProcAddress(m_hImageDLL,"Stop_Program");
|
||||
GetCurrentPosition = (GETCURRENTPOSITION)GetProcAddress(m_hImageDLL,"GetPosition");
|
||||
End = (END)GetProcAddress(m_hImageDLL,"OnEnd");
|
||||
Server_ON = (SERVER_ON)GetProcAddress(m_hImageDLL,"Server_ON");
|
||||
Server_OFF = (SERVER_OFF)GetProcAddress(m_hImageDLL,"Server_OFF");
|
||||
SetSpeed = (SETSPEED)GetProcAddress(m_hImageDLL,"SetSpeed");
|
||||
Write_Position_data = (WRITEPOSITIONDATA)GetProcAddress(m_hImageDLL,"SetPosition");
|
||||
if(!Write_Position_data)
|
||||
{
|
||||
MessageBox(NULL, _T("cannot find function Write_Position_data"), _T("Message"), MB_OK);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(NULL, _T("Load Image.dll failed!"), _T("Message"), MB_OK);
|
||||
}
|
||||
}
|
||||
void So7_UseRobotDll::Start_Robot()
|
||||
{
|
||||
Start();
|
||||
}
|
||||
long So7_UseRobotDll::ExecuteProgram_Robot(CString csData,int Method)
|
||||
{
|
||||
long rid;
|
||||
char* ProgName;
|
||||
ProgName = (LPSTR)(LPCTSTR)csData;
|
||||
rid = ExecuteProgram(ProgName,Method);
|
||||
return rid;
|
||||
}
|
||||
long So7_UseRobotDll::StopRrogram_Robot()
|
||||
{
|
||||
long rid;
|
||||
rid = StopProgram();
|
||||
return rid;
|
||||
}
|
||||
CString So7_UseRobotDll::GetCurrentPosition_Robot()
|
||||
{
|
||||
CString Position;
|
||||
Position = GetCurrentPosition();
|
||||
return Position;
|
||||
}
|
||||
void So7_UseRobotDll::End_Robot()
|
||||
{
|
||||
End();
|
||||
}
|
||||
long So7_UseRobotDll::ServerON_Robot()
|
||||
{
|
||||
long rid;
|
||||
rid = Server_ON();
|
||||
return rid;
|
||||
}
|
||||
long So7_UseRobotDll::ServerOFF_Robot()
|
||||
{
|
||||
long rid;
|
||||
rid = Server_OFF();
|
||||
return rid;
|
||||
}
|
||||
long So7_UseRobotDll::SetSpeed_Robot(CString sdata)
|
||||
{
|
||||
long rid;
|
||||
// char Speed[4];
|
||||
//char* cdata;
|
||||
//int length;
|
||||
//length = sizeof(Speed);
|
||||
// cdata = CT2A(sdata);
|
||||
//memset(Speed,0,length);
|
||||
//cdata = (LPSTR)(LPCTSTR)sdata;
|
||||
//for (int i=0;i<sdata.GetLength();i++)
|
||||
//{
|
||||
// if (i>=length)
|
||||
// {
|
||||
// break;
|
||||
// }
|
||||
// Speed[i] =(sdata.GetAt(i));
|
||||
// cdata++;
|
||||
//}
|
||||
static CStringA strbuf;
|
||||
strbuf = CT2A(sdata);
|
||||
rid = SetSpeed(strbuf.GetBuffer());
|
||||
return rid;
|
||||
}
|
||||
|
||||
long So7_UseRobotDll::WritePosition_Robot(CString Position,CString ProgName,CString ProgNumber)
|
||||
{
|
||||
long rid;
|
||||
static CStringA cPosition;
|
||||
static CStringA cProgName;
|
||||
static CStringA cProgNumber;
|
||||
cPosition = CT2A(Position);
|
||||
cProgName = CT2A(ProgName);
|
||||
cProgNumber = CT2A(ProgNumber);
|
||||
rid = Write_Position_data(cPosition.GetBuffer(),cProgName.GetBuffer(),cProgNumber.GetBuffer());
|
||||
return rid;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
|
||||
typedef void (*START)();
|
||||
typedef long (*WRITEPOSITIONDATA)(char* Position,char* ProgName,char* ProgNumber);
|
||||
typedef long (*EXECUTEPROGRAM)(char* ProgName,int Method);
|
||||
typedef long (*STOPPROGRAM)();
|
||||
typedef void (*END)();
|
||||
typedef char* (*GETCURRENTPOSITION)();
|
||||
typedef long (*SERVER_ON)();
|
||||
typedef long (*SERVER_OFF)();
|
||||
typedef long (*SETSPEED)(char* Speed);
|
||||
class So7_UseRobotDll
|
||||
{
|
||||
public:
|
||||
So7_UseRobotDll(void);
|
||||
~So7_UseRobotDll(void);
|
||||
HMODULE m_hImageDLL;
|
||||
|
||||
START Start;
|
||||
EXECUTEPROGRAM ExecuteProgram;
|
||||
STOPPROGRAM StopProgram;
|
||||
GETCURRENTPOSITION GetCurrentPosition;
|
||||
END End;
|
||||
SERVER_ON Server_ON;
|
||||
SERVER_OFF Server_OFF;
|
||||
SETSPEED SetSpeed;
|
||||
WRITEPOSITIONDATA Write_Position_data;
|
||||
|
||||
void Start_Robot();
|
||||
long ExecuteProgram_Robot(CString csData,int Method);
|
||||
long StopRrogram_Robot();
|
||||
CString GetCurrentPosition_Robot();
|
||||
void End_Robot();
|
||||
long ServerON_Robot();
|
||||
long ServerOFF_Robot();
|
||||
long SetSpeed_Robot(CString sdata);
|
||||
long WritePosition_Robot(CString Position,CString ProgName,CString ProgNumber);
|
||||
|
||||
void InitDll();
|
||||
|
||||
};
|
||||
|
||||
@@ -71,9 +71,7 @@ BOOL CSo7_Util_PLC_TCPIP::OnInitDialog()
|
||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||
}
|
||||
}
|
||||
|
||||
m_IPAddress.SetAddress(192,168,0,5);
|
||||
GetDlgItem(IDC_EDIT__PLC_TCPIP_PORTNUMBER)->SetWindowText(_T("9600"));
|
||||
OpenINI();
|
||||
|
||||
UpdateData(FALSE);
|
||||
|
||||
@@ -156,7 +154,7 @@ void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipWrite()
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_DATA_SIZE)->GetWindowText(str);
|
||||
cTempValue=T2A(str);
|
||||
int sSize=(atoi(cTempValue));
|
||||
|
||||
|
||||
short* _Data=new short[sSize];
|
||||
for(int i=0;i<sSize;i++)
|
||||
{
|
||||
@@ -178,9 +176,83 @@ void CSo7_Util_PLC_TCPIP::OnBnClickedButtonPlcTcpipClearMsg()
|
||||
void CSo7_Util_PLC_TCPIP::OnBnClickedCancel()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
SaveINI();
|
||||
CDialog::OnCancel();
|
||||
}
|
||||
|
||||
//******************************************************************************
|
||||
void CSo7_Util_PLC_TCPIP::GetAppPath(CString &Path)
|
||||
{
|
||||
Path=_T(""); // Speed optimization - noticed slow in GlowCode
|
||||
if (Path.IsEmpty())
|
||||
{
|
||||
CString tmpPath;
|
||||
GetModuleFileName(NULL,tmpPath.GetBuffer(255),255);
|
||||
tmpPath.ReleaseBuffer();
|
||||
tmpPath.TrimRight();
|
||||
int nLastSlash = tmpPath.ReverseFind('\\');
|
||||
if (nLastSlash >= 0)
|
||||
tmpPath = tmpPath.Left(nLastSlash);
|
||||
else
|
||||
tmpPath.Empty();
|
||||
Path=tmpPath;
|
||||
}
|
||||
};
|
||||
|
||||
//=====================================================================================
|
||||
void CSo7_Util_PLC_TCPIP::SaveINI()
|
||||
{
|
||||
UpdateData(TRUE);
|
||||
USES_CONVERSION;
|
||||
CString csAppPath;
|
||||
GetAppPath(csAppPath);
|
||||
CString cFileName=csAppPath+_T("\\UtilityGui.ini");
|
||||
CString csTmp;
|
||||
in_addr IPAddress;
|
||||
m_IPAddress.GetAddress(IPAddress.S_un.S_un_b.s_b1,IPAddress.S_un.S_un_b.s_b2,IPAddress.S_un.S_un_b.s_b3,IPAddress.S_un.S_un_b.s_b4);
|
||||
|
||||
csTmp.Format(_T("%d.%d.%d.%d"),
|
||||
IPAddress.S_un.S_un_b.s_b1,IPAddress.S_un.S_un_b.s_b2,
|
||||
IPAddress.S_un.S_un_b.s_b3,IPAddress.S_un.S_un_b.s_b4);
|
||||
::WritePrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_IP"),csTmp,cFileName);
|
||||
GetDlgItem(IDC_EDIT__PLC_TCPIP_PORTNUMBER)->GetWindowText(csTmp);
|
||||
::WritePrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_PORT_NUMBER"),csTmp,cFileName);
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_ADDR)->GetWindowText(csTmp);
|
||||
::WritePrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_ADDR"),csTmp,cFileName);
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_Data)->GetWindowText(csTmp);
|
||||
::WritePrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_DATA"),csTmp,cFileName);
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_DATA_SIZE)->GetWindowText(csTmp);
|
||||
::WritePrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_DATA_SIZE"),csTmp,cFileName);
|
||||
}
|
||||
//=====================================================================================
|
||||
void CSo7_Util_PLC_TCPIP::OpenINI()
|
||||
{
|
||||
USES_CONVERSION;
|
||||
CString csAppPath;
|
||||
GetAppPath(csAppPath);
|
||||
CString cFileName=csAppPath+_T("\\UtilityGui.ini");
|
||||
CString csTmp;
|
||||
const int max_length=255;
|
||||
::GetPrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_IP"),_T("192.168.110.50"),csTmp.GetBuffer(max_length),max_length,cFileName);
|
||||
csTmp.ReleaseBuffer();
|
||||
const char* cTmp=T2A(csTmp);
|
||||
in_addr IPAddress;
|
||||
IPAddress.S_un.S_addr=inet_addr(cTmp);
|
||||
m_IPAddress.SetAddress(IPAddress.S_un.S_un_b.s_b1,IPAddress.S_un.S_un_b.s_b2,IPAddress.S_un.S_un_b.s_b3,IPAddress.S_un.S_un_b.s_b4);
|
||||
|
||||
::GetPrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_PORT_NUMBER"),_T("8501"),csTmp.GetBuffer(max_length),max_length,cFileName);
|
||||
csTmp.ReleaseBuffer();
|
||||
GetDlgItem(IDC_EDIT__PLC_TCPIP_PORTNUMBER)->SetWindowText(csTmp);
|
||||
::GetPrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_ADDR"),_T("8000"),csTmp.GetBuffer(max_length),max_length,cFileName);
|
||||
csTmp.ReleaseBuffer();
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_ADDR)->SetWindowText(csTmp);
|
||||
::GetPrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_DATA"),_T("10"),csTmp.GetBuffer(max_length),max_length,cFileName);
|
||||
csTmp.ReleaseBuffer();
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_Data)->SetWindowText(csTmp);
|
||||
::GetPrivateProfileString(_T("GUI_TCPIP_CLIENT"),_T("SERVER_DATA_SIZE"),_T("10"),csTmp.GetBuffer(max_length),max_length,cFileName);
|
||||
csTmp.ReleaseBuffer();
|
||||
GetDlgItem(IDC_EDIT_PLC_TCPIP_DATA_SIZE)->SetWindowText(csTmp);
|
||||
}
|
||||
//=====================================================================================
|
||||
//Print message on edit control
|
||||
void CSo7_Util_PLC_TCPIP::OutputWithScroll(const CString &strNewText,CEdit &edtOutput)
|
||||
@@ -229,8 +301,13 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
|
||||
{
|
||||
if (g_pSo7_TCPIP)
|
||||
{
|
||||
CString csTmp;
|
||||
m_csMSG=_T("");
|
||||
#ifdef PLC_KEYENCE
|
||||
CStringA csaStr;
|
||||
csaStr.Format(("<< %s"),g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._buffer);
|
||||
m_csMSG=csaStr;
|
||||
#else
|
||||
CString csTmp;
|
||||
int iDataSize(0);
|
||||
iDataSize=g_pSo7_TCPIP->m_TCPIPData.s_recv_data._DataSize;
|
||||
m_csMSG.Format(_T("<< Read status:%d;DataSize:%d;Data:"),g_pSo7_TCPIP->m_TCPIPData.s_status._ReadDataCompleted,iDataSize);
|
||||
@@ -241,6 +318,7 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
|
||||
csTmp.Format(_T("%d,"),iTmp);
|
||||
m_csMSG+=csTmp;
|
||||
}
|
||||
#endif
|
||||
OutputWithScroll(m_csMSG,m_edMSG);
|
||||
m_csMSG=_T("[Read]");
|
||||
}
|
||||
@@ -269,12 +347,15 @@ LRESULT CSo7_Util_PLC_TCPIP::OnTCPIPRecv(WPARAM w, LPARAM p)
|
||||
m_csMSG+=csTmp;
|
||||
csTmp.Format(_T("RecvSize:%d;"),g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._size);
|
||||
m_csMSG+=csTmp;
|
||||
#ifdef PLC_KEYENCE
|
||||
#else
|
||||
m_csMSG+=_T("RecvData:");
|
||||
for (int i=0;i<g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._size;i++)
|
||||
{
|
||||
csTmp.Format(_T("0x%02X "),static_cast<BYTE>(g_pSo7_TCPIP->m_TCPIPBuf[CH_RECV]._buffer[i]));
|
||||
m_csMSG+=csTmp;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
m_csMSG+=_T(".");
|
||||
OutputWithScroll(m_csMSG,m_edMSG);
|
||||
|
||||
@@ -19,6 +19,10 @@ protected:
|
||||
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
|
||||
virtual BOOL OnInitDialog();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
void GetAppPath(CString &Path);
|
||||
void SaveINI();
|
||||
void OpenINI();
|
||||
public:
|
||||
CIPAddressCtrl m_IPAddress;
|
||||
CString m_csMSG;
|
||||
|
||||
+1427
-79
File diff suppressed because it is too large
Load Diff
@@ -33,7 +33,63 @@ protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
virtual BOOL OnInitDialog();
|
||||
DECLARE_MESSAGE_MAP()
|
||||
protected:
|
||||
static unsigned __stdcall m_Thread(LPVOID pThis) ;
|
||||
static HANDLE m_Thread_Id;
|
||||
static HANDLE m_Thread_Mutex;
|
||||
static HANDLE m_hTriggerEvent;
|
||||
static int m_Thread_State;
|
||||
|
||||
static HANDLE m_hEvent_DimeHandle;
|
||||
static HANDLE m_hEvent_GaussHandle;
|
||||
|
||||
static unsigned __stdcall m_Thread_Dime(LPVOID pThis) ;
|
||||
static HANDLE m_Thread_Dime_Id;
|
||||
static HANDLE m_Thread_Dime_Mutex;
|
||||
static HANDLE m_hTriggerEvent_Dime;
|
||||
static int m_Thread_Dime_State;
|
||||
|
||||
static unsigned __stdcall m_Thread_Gauss(LPVOID pThis) ;
|
||||
static HANDLE m_Thread_Gauss_Id;
|
||||
static HANDLE m_Thread_Gauss_Mutex;
|
||||
static HANDLE m_hTriggerEvent_Gauss;
|
||||
static int m_Thread_Gauss_State;
|
||||
|
||||
|
||||
static unsigned __stdcall m_Thread_Weighing(LPVOID pThis) ;
|
||||
static HANDLE m_Thread_Weighing_Id;
|
||||
static HANDLE m_Thread_Weighing_Mutex;
|
||||
static HANDLE m_hTriggerEvent_Weighing;
|
||||
static int m_Thread_Weighing_State;
|
||||
|
||||
void CreateThread();
|
||||
void CloseThread();
|
||||
bool m_IsRuningCNC;
|
||||
bool SaveCSVFile(const CString& _aStr);
|
||||
bool ReadCSVFile(const CString& _aStr);
|
||||
int iStartRow,iEndRow;
|
||||
BOOL m_bEnableLog;
|
||||
int m_iProjectNo;
|
||||
void m_Init();
|
||||
int m_iUploadProducts;
|
||||
int m_iDownloadProducts;
|
||||
int m_iMeasureProducts;
|
||||
int m_iMeasureTransferProducts;
|
||||
int m_iGaussMeasureProducts;
|
||||
int m_iGaussMeasureTransferProducts;
|
||||
int m_iWeighingMeasureProducts;
|
||||
|
||||
bool m_bFirstMeasure;
|
||||
void AutoTest();
|
||||
void AutoTest583584();
|
||||
void AutoTest598603();
|
||||
void CCDMock598603();
|
||||
void TrigMSTest();
|
||||
void DimenMeasure();
|
||||
void GaussMeasure();
|
||||
void WeighingMeasure();
|
||||
public:
|
||||
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerStart();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerStop();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatestate();
|
||||
@@ -49,10 +105,20 @@ public:
|
||||
void m_UpdateListControl(int _type);
|
||||
void m_UpdateControls(int _type);
|
||||
CString TCPIPMsg(s_tcpip_msg_data _Type);
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
|
||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrCcdDm();
|
||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrDm5000();
|
||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrDm8000();
|
||||
afx_msg void OnBnClickedRadioPlcTcpipServerAddrDm200();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerUpdatestateDm200();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerAutotest();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerImport();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerExport();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerAutotest2();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerAutotest3();
|
||||
afx_msg void OnBnClickedButtonPlcTcpipServerGaussTest();
|
||||
afx_msg void OnBnClickedCheckMsgLogEnable();
|
||||
afx_msg void OnBnClickedRadioProject598603();
|
||||
afx_msg void OnBnClickedRadioProject583584();
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "..\..\..\SevenOcean\Program\CSO7_CMD.H"
|
||||
#include "..\..\..\SevenOcean\Program\So7_CNC_Point.h"
|
||||
#include "..\..\..\SevenOcean\Program\So7_CNC_Program.h"
|
||||
#include "..\..\..\SevenOcean\Program\CPOINT3.H"
|
||||
#include "So7_Util_Program.h"
|
||||
#include "afxdialogex.h"
|
||||
|
||||
@@ -16,6 +17,8 @@
|
||||
#define THREAD_RUNNING_STATE 0
|
||||
#define THREAD_PAUSED 1
|
||||
#define THREAD_EXIT -1
|
||||
const int MAX_COLS=305;
|
||||
const int MAX_ROWS=500;
|
||||
|
||||
HANDLE CSo7_Util_Program::m_Thread_Id=NULL;
|
||||
HANDLE CSo7_Util_Program::m_Thread_Mutex=NULL;
|
||||
@@ -29,11 +32,11 @@ CSo7_CNC_Program* m_pSo7_CNC_Program=NULL;
|
||||
|
||||
IMPLEMENT_DYNAMIC(CSo7_Util_Program, CDialog)
|
||||
|
||||
CSo7_Util_Program::CSo7_Util_Program(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CSo7_Util_Program::IDD, pParent)
|
||||
CSo7_Util_Program::CSo7_Util_Program(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CSo7_Util_Program::IDD, pParent)
|
||||
{
|
||||
m_RptCol=1;
|
||||
m_RptRow=0;
|
||||
m_RptRowMax=m_RptRow=0;
|
||||
m_RptColMax=m_RptCol=4;
|
||||
m_bSetZeroX=FALSE;
|
||||
m_bSetZeroY=FALSE;
|
||||
m_bSetZeroZ=FALSE;
|
||||
@@ -42,6 +45,7 @@ CSo7_Util_Program::CSo7_Util_Program(CWnd* pParent /*=NULL*/)
|
||||
m_FinishTime=0;
|
||||
m_duration=0.0;
|
||||
m_RuningCNCTimes=1;
|
||||
m_deadband=0.01;
|
||||
m_IntervalTimePerCNC=0;
|
||||
}
|
||||
|
||||
@@ -51,22 +55,22 @@ CSo7_Util_Program::~CSo7_Util_Program()
|
||||
|
||||
void CSo7_Util_Program::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
CDialog::DoDataExchange(pDX);
|
||||
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_X, m_csXPos);
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_Y, m_csYPos);
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_Z, m_csZPos);
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_X, m_csXPos);
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_Y, m_csYPos);
|
||||
DDX_Text(pDX, IDC_EDIT_READOUT_Z, m_csZPos);
|
||||
|
||||
DDX_Control(pDX, IDC_LIST_REPORT_OUTPUT, m_RptListCtrl);
|
||||
DDX_Control(pDX, IDC_LIST_REPORT_OUTPUT, m_RptListCtrl);
|
||||
|
||||
DDX_Control(pDX, IDC_EDIT_SO7_PROGRAM_MSG_OUTPUT, m_edMSG);
|
||||
DDX_Control(pDX, IDC_EDIT_SO7_PROGRAM_MSG_OUTPUT, m_edMSG);
|
||||
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT, m_Button_MoveX_Left);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT, m_Button_MoveX_Right);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD, m_Button_MoveY_Front);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD, m_Button_MoveY_Back);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Z_UP, m_Button_MoveZ_Up);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN, m_Button_MoveZ_Down);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT, m_Button_MoveX_Left);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT, m_Button_MoveX_Right);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD, m_Button_MoveY_Front);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD, m_Button_MoveY_Back);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Z_UP, m_Button_MoveZ_Up);
|
||||
DDX_Control(pDX, IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN, m_Button_MoveZ_Down);
|
||||
|
||||
}
|
||||
|
||||
@@ -93,6 +97,10 @@ BEGIN_MESSAGE_MAP(CSo7_Util_Program, CDialog)
|
||||
ON_EN_KILLFOCUS(IDC_EDIT_SO7_PROGEAM_CNC_RUING_TIMES, &CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamCncRuingTimes)
|
||||
ON_BN_CLICKED(IDC_CHECK_SO7_RUNING_PROGRAM_RUNING_INFINITE, &CSo7_Util_Program::OnBnClickedCheckSo7RuningProgramRuningInfinite)
|
||||
ON_EN_KILLFOCUS(IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC, &CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamIntercalTimePerCnc)
|
||||
ON_BN_CLICKED(IDC_BUTTON_PROGRAM_CLEAR_LOG, &CSo7_Util_Program::OnBnClickedButtonProgramClearLog)
|
||||
ON_BN_CLICKED(IDC_BUTTON_PROGRAM_EXPORT, &CSo7_Util_Program::OnBnClickedButtonProgramExport)
|
||||
ON_EN_KILLFOCUS(IDC_EDIT_SO7_PROGRAM_DEADBAND, &CSo7_Util_Program::OnEnKillfocusEditSo7ProgramDeadband)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SO7_PROGRAM_MOVETO_POINT, &CSo7_Util_Program::OnBnClickedButtonSo7ProgramMovetoPoint)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
@@ -120,12 +128,13 @@ BOOL CSo7_Util_Program::OnInitDialog()
|
||||
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGEAM_CNC_RUING_TIMES))->SetWindowTextW(_T("1"));
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC))->SetWindowTextW(_T("0"));
|
||||
|
||||
|
||||
((CButton *)GetDlgItem(IDC_RADIO_SO7_PROGRAM_MOVE))->SetCheck(1);
|
||||
((CButton *)GetDlgItem(IIDC_RADIO_SO7_PROGRAM_MOVE_TO))->SetCheck(0);
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGRAM_X_MOVETO))->SetWindowTextW(_T("10"));
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGRAM_Y_MOVETO))->SetWindowTextW(_T("10"));
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGRAM_Z_MOVETO))->SetWindowTextW(_T("10"));
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGRAM_DEADBAND))->SetWindowTextW(_T("0.01"));
|
||||
|
||||
m_Readout_Font.CreatePointFont(180,_T("Arial")) ;
|
||||
|
||||
@@ -140,20 +149,25 @@ BOOL CSo7_Util_Program::OnInitDialog()
|
||||
{
|
||||
int ColWidth(30);
|
||||
m_RptListCtrl.InsertColumn(0, _T("NO."), LVCFMT_LEFT, ColWidth);
|
||||
ColWidth+=40;
|
||||
ColWidth=80;
|
||||
m_RptListCtrl.InsertColumn(1, _T("Start Time"), LVCFMT_LEFT, ColWidth);
|
||||
ColWidth+=30;
|
||||
ColWidth=80;
|
||||
m_RptListCtrl.InsertColumn(2, _T("End Time"), LVCFMT_LEFT, ColWidth);
|
||||
ColWidth+=50;
|
||||
ColWidth=100;
|
||||
m_RptListCtrl.InsertColumn(3, _T("Elapsed Time(s)"), LVCFMT_LEFT,ColWidth);
|
||||
ColWidth+=30;
|
||||
m_RptListCtrl.InsertColumn(4, _T(" "), LVCFMT_LEFT,ColWidth);
|
||||
ColWidth+=30;
|
||||
m_RptListCtrl.InsertColumn(5, _T(" "), LVCFMT_LEFT,ColWidth);
|
||||
ColWidth+=145;
|
||||
m_RptListCtrl.InsertColumn(6, _T(" "), LVCFMT_LEFT,ColWidth);
|
||||
ColWidth=80;
|
||||
for (int iCol=4;iCol<MAX_COLS;iCol+=3)
|
||||
{
|
||||
CString str;
|
||||
str.Format(_T("P%d X"), (iCol-4)/3+1);
|
||||
m_RptListCtrl.InsertColumn(iCol,str, LVCFMT_LEFT,ColWidth);
|
||||
str.Format(_T("P%d Y"), (iCol-4)/3+1);
|
||||
m_RptListCtrl.InsertColumn(iCol+1,str, LVCFMT_LEFT,ColWidth);
|
||||
str.Format(_T("P%d Z"), (iCol-4)/3+1);
|
||||
m_RptListCtrl.InsertColumn(iCol+2,str, LVCFMT_LEFT,ColWidth);
|
||||
}
|
||||
|
||||
for (int i = 1; i < 1000; i++)
|
||||
for (int i = 1; i < MAX_ROWS; i++)
|
||||
{
|
||||
CString str;
|
||||
str.Format(_T("%d"), i);
|
||||
@@ -357,6 +371,7 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramAddCncProgram()
|
||||
m_pnt.z=m_pSO7_Proto->g_machine.z._d_cur_pos_;
|
||||
CSo7_CNC_Point *pCncPnt =new CSo7_CNC_Point(m_pnt);
|
||||
m_pSo7_CNC_Program->AddCncStep(pCncPnt);
|
||||
UpdateCncList();
|
||||
m_OutMessage.Format(_T("[Pro No%d]X:%3.4f,Y:%3.4f,Z:%3.4f"),m_pSo7_CNC_Program->m_Program_Number, m_pnt.x, m_pnt.y, m_pnt.z);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
@@ -364,6 +379,7 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramAddCncProgram()
|
||||
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramNewCnc()
|
||||
{
|
||||
m_pSo7_CNC_Program->RemoveAll();
|
||||
UpdateCncList();
|
||||
OutputWithScroll(_T("Remove all cnc program."),m_edMSG);
|
||||
}
|
||||
//===================================================
|
||||
@@ -387,14 +403,14 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramOpenCnc()
|
||||
m_pSo7_CNC_Program->m_CNC_element[i]->GetPoint(0,0,0,NULL,m_pnt);
|
||||
CString csType=m_pSo7_CNC_Program->GetEntityName(iType);
|
||||
m_OutMessage.Format(_T("[No.%d] X:%3.4f,Y:%3.4f,Z:%3.4f"),
|
||||
m_pSo7_CNC_Program->m_CNC_element[i]->m_ID,
|
||||
m_pnt.x, m_pnt.y, m_pnt.z
|
||||
);
|
||||
m_pSo7_CNC_Program->m_CNC_element[i]->m_ID,
|
||||
m_pnt.x, m_pnt.y, m_pnt.z
|
||||
);
|
||||
m_OutMessage=_T("Add ")+csType+m_OutMessage;
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
}
|
||||
delete fileDialog;
|
||||
UpdateCncList();
|
||||
}
|
||||
//===================================================
|
||||
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramSaveCncFile()
|
||||
@@ -406,14 +422,13 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramSaveCncFile()
|
||||
|
||||
CFileDialog fdlg(FALSE,_T("Prog"),PathName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
|
||||
|
||||
if( fdlg.DoModal()==IDOK)
|
||||
if(fdlg.DoModal()==IDOK)
|
||||
{
|
||||
m_pSo7_CNC_Program->m_CncProgFileName=fdlg.GetPathName();
|
||||
m_pSo7_CNC_Program->Save();
|
||||
m_OutMessage=_T("CNC Program has been saved to[")+m_pSo7_CNC_Program->m_CncProgFileName+_T("].");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
delete fdlg;
|
||||
}
|
||||
//===================================================
|
||||
void CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamCncRuingTimes()
|
||||
@@ -425,15 +440,26 @@ void CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamCncRuingTimes()
|
||||
const char* cTmp=T2A(csTmp);
|
||||
m_RuningCNCTimes =static_cast<unsigned int>( atoi(cTmp));
|
||||
}
|
||||
//===================================================
|
||||
void CSo7_Util_Program::OnEnKillfocusEditSo7ProgramDeadband()
|
||||
{
|
||||
UpdateData(TRUE);
|
||||
USES_CONVERSION;
|
||||
CString csTmp;
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGRAM_DEADBAND))->GetWindowText(csTmp);
|
||||
const char* cTmp=T2A(csTmp);
|
||||
m_deadband =static_cast<unsigned int>( atoi(cTmp));
|
||||
}
|
||||
|
||||
//===================================================
|
||||
void CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamIntercalTimePerCnc()
|
||||
{
|
||||
UpdateData(TRUE);
|
||||
USES_CONVERSION;
|
||||
CString csTmp;
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC))->GetWindowText(csTmp);
|
||||
const char* cTmp=T2A(csTmp);
|
||||
m_IntervalTimePerCNC =static_cast<unsigned int>( atoi(cTmp));
|
||||
UpdateData(TRUE);
|
||||
USES_CONVERSION;
|
||||
CString csTmp;
|
||||
(GetDlgItem(IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC))->GetWindowText(csTmp);
|
||||
const char* cTmp=T2A(csTmp);
|
||||
m_IntervalTimePerCNC =static_cast<unsigned int>( atoi(cTmp));
|
||||
}
|
||||
|
||||
//===================================================
|
||||
@@ -473,6 +499,19 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramRunCnc()
|
||||
SetEvent(m_hTriggerEvent);
|
||||
}
|
||||
}
|
||||
void CSo7_Util_Program::OnBnClickedButtonProgramClearLog()
|
||||
{
|
||||
m_edMSG.SetWindowTextW(_T(""));
|
||||
for (int iRow=1; iRow<=m_RptRowMax; iRow++)
|
||||
{
|
||||
for (int iCol=1; iCol<=m_RptColMax; iCol++)
|
||||
{
|
||||
m_RptListCtrl.SetItemText(iRow,iCol,_T(""));
|
||||
}
|
||||
}
|
||||
m_RptRowMax=m_RptRow=0;
|
||||
m_RptColMax=m_RptCol=4;
|
||||
}
|
||||
//===================================================
|
||||
void CSo7_Util_Program::UpdateCNCCtrl(BOOL _IsRuningCNC)
|
||||
{
|
||||
@@ -492,46 +531,100 @@ void CSo7_Util_Program::UpdateCNCCtrl(BOOL _IsRuningCNC)
|
||||
|
||||
}
|
||||
|
||||
//===================================================
|
||||
void CSo7_Util_Program::UpdateCncList(int type)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(type);
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_PROGRAM_CNCLIST)))->ResetContent();
|
||||
for(int id=0;id<m_pSo7_CNC_Program->m_Program_Number;id++)
|
||||
{
|
||||
CString csStr;
|
||||
csStr.Format(_T("Pnt-%d"),id+1);
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_PROGRAM_CNCLIST)))->InsertString(id,csStr);
|
||||
}
|
||||
if (m_pSo7_CNC_Program->m_Program_Number>0)
|
||||
{
|
||||
((CComboBox*)(GetDlgItem(IDC_COMBO_SO7_PROGRAM_CNCLIST)))->SetCurSel(m_pSo7_CNC_Program->m_Program_Number-1);
|
||||
}
|
||||
}
|
||||
|
||||
//===================================================
|
||||
BOOL CSo7_Util_Program::RunCNC()
|
||||
{
|
||||
WaitForSingleObject(m_Thread_Mutex, INFINITE);
|
||||
SYSTEMTIME st;
|
||||
CString csTime;
|
||||
CString csStr;
|
||||
unsigned int iRuningCNC(0);
|
||||
m_RptCol=4;
|
||||
m_RptListCtrl.SetItemText(m_RptRow,1,_T("Theoretical"));
|
||||
for(int id=0;id<m_pSo7_CNC_Program->m_Program_Number;id++)
|
||||
{
|
||||
CPoint3 m_pnt;
|
||||
m_pSo7_CNC_Program->m_CNC_element.at(id)->GetPoint(0,0,0,NULL,m_pnt);
|
||||
csStr.Format(_T("%8.4lf"), m_pnt.x);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
csStr.Format(_T("%8.4lf"), m_pnt.y);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
csStr.Format(_T("%8.4lf"), m_pnt.z);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
}
|
||||
m_RptRow++;
|
||||
|
||||
while(m_IsRuningCNC &&(iRuningCNC<m_RuningCNCTimes))
|
||||
{
|
||||
m_RuningCNCIndex=0;
|
||||
GetLocalTime(&st);
|
||||
csTime.Format(_T("%02d:%02d:%02d"),st.wHour,st.wMinute,st.wSecond);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,1,csTime);
|
||||
csStr.Format(_T("%02d:%02d:%02d"),st.wHour,st.wMinute,st.wSecond);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,1,csStr);
|
||||
m_StartTime=clock();
|
||||
m_RptCol=4;
|
||||
while (m_IsRuningCNC &&(m_RuningCNCIndex<m_pSo7_CNC_Program->m_Program_Number))
|
||||
{
|
||||
m_OutMessage.Format(_T("[Runing]%d/%d"),m_RuningCNCIndex+1,m_pSo7_CNC_Program->m_Program_Number);
|
||||
m_OutMessage.Format(_T("[Runing][%d] %d/%d"),iRuningCNC,m_RuningCNCIndex+1,m_pSo7_CNC_Program->m_Program_Number);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
CPoint3 m_pnt;
|
||||
m_pSo7_CNC_Program->m_CNC_element.at(m_RuningCNCIndex)->GetPoint(0,0,0,NULL,m_pnt);
|
||||
m_pSO7_Proto->so7_motion_set_position_xyz(m_pnt.x,m_pnt.y,m_pnt.z,true);
|
||||
m_RuningCNCIndex++;
|
||||
Sleep(m_IntervalTimePerCNC);
|
||||
CPoint3 m_curPnt;
|
||||
m_pSO7_Proto->so7_motion_get_position_xyz(m_curPnt.x,m_curPnt.y,m_curPnt.z);
|
||||
csStr.Format(_T("%8.4lf"), m_curPnt.x);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
csStr.Format(_T("%8.4lf"), m_curPnt.y);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
csStr.Format(_T("%8.4lf"), m_curPnt.z);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,m_RptCol++,csStr);
|
||||
if (m_RptCol>m_RptColMax)
|
||||
{
|
||||
m_RptColMax=m_RptCol;
|
||||
}
|
||||
if (!CompareDeadband(m_pnt,m_curPnt))
|
||||
{
|
||||
m_IsRuningCNC=FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (m_IsRuningCNC)
|
||||
{
|
||||
m_FinishTime=clock();
|
||||
m_duration=static_cast<double>(m_FinishTime-m_StartTime);
|
||||
csTime.Format(_T("%3.4f"),(m_duration/1000.0));
|
||||
m_RptListCtrl.SetItemText(m_RptRow,3,csTime);
|
||||
csStr.Format(_T("%3.4f"),(m_duration/1000.0));
|
||||
m_RptListCtrl.SetItemText(m_RptRow,3,csStr);
|
||||
GetLocalTime(&st);
|
||||
csTime.Format(_T("%02d:%02d:%02d"),st.wHour,st.wMinute,st.wSecond);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,2,csTime);
|
||||
csStr.Format(_T("%02d:%02d:%02d"),st.wHour,st.wMinute,st.wSecond);
|
||||
m_RptListCtrl.SetItemText(m_RptRow,2,csStr);
|
||||
|
||||
m_OutMessage=_T("--Run CNC Finished--");
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
m_RptRow++;
|
||||
if (m_RptRow>m_RptRowMax)
|
||||
{
|
||||
m_RptRowMax=m_RptRow;
|
||||
}
|
||||
m_RptListCtrl.SetFocus();
|
||||
m_RptListCtrl.EnsureVisible(m_RptRow,FALSE);
|
||||
iRuningCNC++;
|
||||
Sleep(m_IntervalTimePerCNC);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -549,6 +642,31 @@ BOOL CSo7_Util_Program::RunCNC()
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
//================================================================================================
|
||||
bool CSo7_Util_Program::CompareDeadband(CPoint3 _TheoPnt,CPoint3 _ActPnt)
|
||||
{
|
||||
bool rStatus(true);
|
||||
if (fabs(_TheoPnt.x-_ActPnt.x)>m_deadband)
|
||||
{
|
||||
rStatus=false;
|
||||
m_OutMessage.Format(_T("!Err x(Theo:%.4f,Actual:%.4f)"),_TheoPnt.x,_ActPnt.x);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
if (fabs(_TheoPnt.y-_ActPnt.y)>m_deadband)
|
||||
{
|
||||
rStatus=false;
|
||||
m_OutMessage.Format(_T("!Err y(Theo:%.4f,Actual:%.4f)"),_TheoPnt.y,_ActPnt.y);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
if (fabs(_TheoPnt.z-_ActPnt.z)>m_deadband)
|
||||
{
|
||||
rStatus=false;
|
||||
m_OutMessage.Format(_T("!Err z(Theo:%.4f,Actual:%.4f)"),_TheoPnt.z,_ActPnt.z);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
return rStatus;
|
||||
}
|
||||
|
||||
//================================================================================================
|
||||
void CSo7_Util_Program::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
@@ -663,6 +781,73 @@ void CSo7_Util_Program::OutputWithScroll(const CString &strNewText,CEdit &edtOut
|
||||
edtOutput.SetWindowText(strOutput);
|
||||
int iLine = edtOutput.GetLineCount();
|
||||
edtOutput.LineScroll(iLine, 0);
|
||||
|
||||
edtOutput.SetSel(iCount, iCount);
|
||||
edtOutput.SetRedraw(TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
void CSo7_Util_Program::OnBnClickedButtonProgramExport()
|
||||
{
|
||||
CString csCsvFile=_T("Report");
|
||||
CString szFilter=_T("CSV Files(*.csv)|*.csv|ALL Files(*.*)|*.*||");
|
||||
CFileDialog fileDialog(FALSE,_T("CSV"),csCsvFile,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
|
||||
|
||||
if(fileDialog.DoModal()==IDOK)
|
||||
{
|
||||
csCsvFile=fileDialog.GetPathName();
|
||||
SaveCSVFile(csCsvFile);
|
||||
|
||||
m_OutMessage=_T("<Csv> Export:")+csCsvFile;
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
bool CSo7_Util_Program::SaveCSVFile(const CString& _aStr)
|
||||
{
|
||||
bool rStatus(false);
|
||||
CString aStr;
|
||||
char *outBuff = NULL;
|
||||
FILE* iFileHandle= NULL;
|
||||
_wfopen_s(&iFileHandle, _aStr, _T("wt"));
|
||||
USES_CONVERSION;
|
||||
if(iFileHandle)
|
||||
{
|
||||
for(int iRow=0;iRow<=m_RptRowMax;iRow++)
|
||||
{
|
||||
aStr="";
|
||||
for(int iCol=0;iCol<=m_RptColMax;iCol++)
|
||||
{
|
||||
aStr=m_RptListCtrl.GetItemText(iRow,iCol);
|
||||
aStr+=",";
|
||||
outBuff=T2A(aStr);
|
||||
aStr.ReleaseBuffer();
|
||||
fprintf(iFileHandle,"%s", outBuff);
|
||||
}
|
||||
aStr="\n";
|
||||
outBuff=T2A(aStr);
|
||||
fprintf(iFileHandle,"%s", outBuff);
|
||||
}
|
||||
fclose(iFileHandle);
|
||||
rStatus=true;
|
||||
}
|
||||
return rStatus;
|
||||
}
|
||||
|
||||
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramMovetoPoint()
|
||||
{
|
||||
int CncIndex=((CComboBox *)GetDlgItem(IDC_COMBO_SO7_PROGRAM_CNCLIST))->GetCurSel();
|
||||
if (CncIndex<m_pSo7_CNC_Program->m_Program_Number)
|
||||
{
|
||||
CPoint3 m_pnt;
|
||||
m_pSo7_CNC_Program->m_CNC_element.at(CncIndex)->GetPoint(0,0,0,NULL,m_pnt);
|
||||
m_pSO7_Proto->so7_motion_set_position_xyz(m_pnt.x,m_pnt.y,m_pnt.z,true);
|
||||
m_OutMessage.Format(_T(">>MovetoPnt X:%8.4lf;Y:%8.4lf;Z:%8.4lf."),m_pnt.x,m_pnt.y,m_pnt.z);
|
||||
CPoint3 m_curPnt;
|
||||
m_pSO7_Proto->so7_motion_get_position_xyz(m_curPnt.x,m_curPnt.y,m_curPnt.z);
|
||||
m_OutMessage.Format(_T("<<MoveDone X:%8.4lf;Y:%8.4lf;Z:%8.4lf."),m_curPnt.x,m_curPnt.y,m_curPnt.z);
|
||||
CompareDeadband(m_pnt,m_curPnt);
|
||||
OutputWithScroll(m_OutMessage,m_edMSG);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,13 +47,17 @@ protected:
|
||||
BOOL m_bSetZeroZ;
|
||||
clock_t m_StartTime, m_FinishTime;
|
||||
double m_duration;
|
||||
double m_deadband;
|
||||
unsigned int m_RuningCNCTimes;
|
||||
unsigned int m_IntervalTimePerCNC;
|
||||
BOOL m_IsRuningCNC;
|
||||
int m_RuningCNCIndex;
|
||||
int m_RptCol;
|
||||
int m_RptRow;
|
||||
int m_RptColMax;
|
||||
int m_RptRowMax;
|
||||
void UpdateCNCCtrl(BOOL _IsRuningCNC);
|
||||
void UpdateCncList(int type=0);
|
||||
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);
|
||||
BOOL RunCNC(void);
|
||||
protected:
|
||||
@@ -63,6 +67,8 @@ protected:
|
||||
static HANDLE m_hTriggerEvent;
|
||||
static int m_Thread_State;
|
||||
static BOOL m_bThread_Status;
|
||||
bool SaveCSVFile(const CString& _aStr);
|
||||
bool CompareDeadband(CPoint3 _TheoPnt,CPoint3 _ActPnt);
|
||||
public:
|
||||
afx_msg void OnBnClickedCancel();
|
||||
afx_msg void OnBnClickedMfcbuttonSo7ProgramPlusSpeed();
|
||||
@@ -83,4 +89,8 @@ public:
|
||||
afx_msg void OnEnKillfocusEditSo7ProgeamCncRuingTimes();
|
||||
afx_msg void OnBnClickedCheckSo7RuningProgramRuningInfinite();
|
||||
afx_msg void OnEnKillfocusEditSo7ProgeamIntercalTimePerCnc();
|
||||
afx_msg void OnBnClickedButtonProgramClearLog();
|
||||
afx_msg void OnBnClickedButtonProgramExport();
|
||||
afx_msg void OnEnKillfocusEditSo7ProgramDeadband();
|
||||
afx_msg void OnBnClickedButtonSo7ProgramMovetoPoint();
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#define XBTHREAD_RUNNING_STATE 0
|
||||
#define XBTHREAD_EXIT -1
|
||||
|
||||
#pragma comment(lib, "XInput.lib")
|
||||
#pragma comment(lib, "xinput9_1_0.lib")
|
||||
|
||||
enum EXBOX_MOVEXYZ_TYPE
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="DebugS07|Win32">
|
||||
<Configuration>DebugS07</Configuration>
|
||||
@@ -54,12 +54,14 @@
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseSO7|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
@@ -73,17 +75,19 @@
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugS07|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
@@ -97,7 +101,9 @@
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Template|Win32'" />
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Template|Win32'">
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Template|x64'">
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
@@ -206,7 +212,7 @@
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<TreatWarningAsError>false</TreatWarningAsError>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||
<DisableSpecificWarnings>
|
||||
</DisableSpecificWarnings>
|
||||
@@ -323,7 +329,7 @@
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<TreatWarningAsError>false</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -427,6 +433,7 @@
|
||||
<ClCompile Include="..\..\..\STIL\Common\src\cAcqEasy.cpp" />
|
||||
<ClCompile Include="..\..\..\STIL\STIL_CCS_PRIMA_Laser.cpp" />
|
||||
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp" />
|
||||
<ClCompile Include="..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.cpp" />
|
||||
<ClCompile Include="..\LOGGER.CPP" />
|
||||
<ClCompile Include="..\Proto_Util.cpp" />
|
||||
<ClCompile Include="AboutDlg.cpp" />
|
||||
@@ -435,6 +442,7 @@
|
||||
<ClCompile Include="DirDialog.cpp" />
|
||||
<ClCompile Include="DrawGraph.cpp" />
|
||||
<ClCompile Include="EditableListCtrl.cpp" />
|
||||
<ClCompile Include="EF1A_Manual_Machine.cpp" />
|
||||
<ClCompile Include="FileUtilitiesDlg.cpp" />
|
||||
<ClCompile Include="KeyenceLKH_Dlg.cpp" />
|
||||
<ClCompile Include="KeyenceTM065_Dlg.cpp" />
|
||||
@@ -455,16 +463,20 @@
|
||||
<ClCompile Include="ProcessButton.cpp" />
|
||||
<ClCompile Include="SetSo7MotionConfig.cpp" />
|
||||
<ClCompile Include="Setup_so7config.cpp" />
|
||||
<ClCompile Include="SO7OperateIODlg.cpp" />
|
||||
<ClCompile Include="So7_Art_PCI8622.cpp" />
|
||||
<ClCompile Include="SO7_Automatic_Zoom.cpp" />
|
||||
<ClCompile Include="So7_Config_Pages.cpp" />
|
||||
<ClCompile Include="So7_Keyence9011.cpp" />
|
||||
<ClCompile Include="So7_Manual_Machine.cpp" />
|
||||
<ClCompile Include="So7_Motion_Pages.cpp" />
|
||||
<ClCompile Include="SO7_Move_Location.cpp" />
|
||||
<ClCompile Include="So7_Option.cpp" />
|
||||
<ClCompile Include="So7_Robot_Control.cpp" />
|
||||
<ClCompile Include="SO7_Send_Parameter.cpp" />
|
||||
<ClCompile Include="SO7_Temperature_Display.cpp" />
|
||||
<ClCompile Include="So7_Temperature_Sensor.cpp" />
|
||||
<ClCompile Include="So7_UseRobotDll.cpp" />
|
||||
<ClCompile Include="SO7_UtilDlg.cpp" />
|
||||
<ClCompile Include="So7_UtilUsbCtlR.cpp" />
|
||||
<ClCompile Include="So7_Util_External_Trig.cpp" />
|
||||
@@ -487,6 +499,7 @@
|
||||
</ClCompile>
|
||||
<ClCompile Include="STIL_CCS_PRIMA_Dlg.cpp" />
|
||||
<ClCompile Include="TestTesaStarEDialog.cpp" />
|
||||
<ClCompile Include="Videocard_Mindvision.cpp" />
|
||||
<ClCompile Include="Videocard_MV900.cpp" />
|
||||
<ClCompile Include="Videocard_SDK3000.cpp" />
|
||||
<ClCompile Include="Videocard_SV2000E.cpp" />
|
||||
@@ -525,6 +538,7 @@
|
||||
<ClInclude Include="..\..\..\SevenOcean\So7_TCPIP_Server.h" />
|
||||
<ClInclude Include="..\..\..\STIL\STIL_CCS_PRIMA_Laser.h" />
|
||||
<ClInclude Include="..\..\..\Tesa\TesaStarE.h" />
|
||||
<ClInclude Include="..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.h" />
|
||||
<ClInclude Include="..\..\..\Videocard\SDK3000\sdk3000_7130.h" />
|
||||
<ClInclude Include="..\Proto_Util.h" />
|
||||
<ClInclude Include="AboutDlg.h" />
|
||||
@@ -533,7 +547,9 @@
|
||||
<ClInclude Include="DirDialog.h" />
|
||||
<ClInclude Include="DrawGraph.h" />
|
||||
<ClInclude Include="EditableListCtrl.h" />
|
||||
<ClInclude Include="EF1A_Manual_Machine.h" />
|
||||
<ClInclude Include="FileUtilitiesDlg.h" />
|
||||
<ClInclude Include="hidsdi.h" />
|
||||
<ClInclude Include="KeyenceLKH_Dlg.h" />
|
||||
<ClInclude Include="KeyenceTM065_Dlg.h" />
|
||||
<ClInclude Include="Keyence_LKG5000_Ethernet.h" />
|
||||
@@ -553,17 +569,22 @@
|
||||
<ClInclude Include="ProcessButton.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="SetSo7MotionConfig.h" />
|
||||
<ClInclude Include="SetupAPI.h" />
|
||||
<ClInclude Include="Setup_so7config.h" />
|
||||
<ClInclude Include="SO7OperateIODlg.h" />
|
||||
<ClInclude Include="So7_Art_PCI8622.h" />
|
||||
<ClInclude Include="SO7_Automatic_Zoom.h" />
|
||||
<ClInclude Include="So7_Config_Pages.h" />
|
||||
<ClInclude Include="So7_Keyence9011.h" />
|
||||
<ClInclude Include="So7_Manual_Machine.h" />
|
||||
<ClInclude Include="So7_Motion_Pages.h" />
|
||||
<ClInclude Include="SO7_Move_Location.h" />
|
||||
<ClInclude Include="So7_Option.h" />
|
||||
<ClInclude Include="So7_Robot_Control.h" />
|
||||
<ClInclude Include="SO7_Send_Parameter.h" />
|
||||
<ClInclude Include="SO7_Temperature_Display.h" />
|
||||
<ClInclude Include="So7_Temperature_Sensor.h" />
|
||||
<ClInclude Include="So7_UseRobotDll.h" />
|
||||
<ClInclude Include="SO7_UtilDlg.h" />
|
||||
<ClInclude Include="So7_UtilUsbCtlR.h" />
|
||||
<ClInclude Include="So7_Util_External_Trig.h" />
|
||||
@@ -580,6 +601,7 @@
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="TestTesaStarEDialog.h" />
|
||||
<ClInclude Include="VideoCardDefine.h" />
|
||||
<ClInclude Include="Videocard_Mindvision.h" />
|
||||
<ClInclude Include="Videocard_MV900.h" />
|
||||
<ClInclude Include="Videocard_SDK3000.h" />
|
||||
<ClInclude Include="Videocard_SV2000E.h" />
|
||||
@@ -608,6 +630,10 @@
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Mv_Util.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="hid.lib" />
|
||||
<Library Include="setupapi.lib" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
||||
@@ -241,6 +241,25 @@
|
||||
<ClCompile Include="SO7_Temperature_Display.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="So7_Keyence9011.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="So7_Robot_Control.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="So7_UseRobotDll.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Videocard_Mindvision.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.cpp">
|
||||
<Filter>Sources Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="EF1A_Manual_Machine.cpp">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SO7OperateIODlg.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CaptureDataDlg.h">
|
||||
@@ -516,6 +535,31 @@
|
||||
<ClInclude Include="SO7_Temperature_Display.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="So7_Keyence9011.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Videocard_Mindvision.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="So7_Robot_Control.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="So7_UseRobotDll.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="EF1A_Manual_Machine.h">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="hidsdi.h">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SetupAPI.h">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SO7OperateIODlg.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ReadMe.txt" />
|
||||
@@ -582,10 +626,21 @@
|
||||
<Filter Include="Resource Files\ICO">
|
||||
<UniqueIdentifier>{f1889d31-a64f-4163-af5f-c4408931dd8b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="EF1A_Controller">
|
||||
<UniqueIdentifier>{a3c07e45-ce0a-4270-acb9-8bad6e2724b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Mv_Util.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="hid.lib">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</Library>
|
||||
<Library Include="setupapi.lib">
|
||||
<Filter>EF1A_Controller</Filter>
|
||||
</Library>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -3,4 +3,8 @@
|
||||
<PropertyGroup>
|
||||
<ShowAllFiles>false</ShowAllFiles>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugS07|Win32'">
|
||||
<LocalDebuggerWorkingDirectory>$(TargetDir)</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,11 +1,14 @@
|
||||
#pragma once
|
||||
#define WM_UPDATE_IMAGE WM_USER+100
|
||||
|
||||
//ת»»ÀàÐÍ
|
||||
typedef enum{
|
||||
RGB24TORGB = 0,
|
||||
YUY2TORGB,
|
||||
RGB24TOGRAY,
|
||||
YUY2TOGRAY
|
||||
YUY2TOGRAY,
|
||||
RGB24TOBINARYZATION,
|
||||
YUY2TOBINARYZATION
|
||||
}ConvertColorType;
|
||||
|
||||
typedef struct Image_Buffer
|
||||
|
||||
@@ -10,13 +10,12 @@
|
||||
#include "Videocard_MV900.h"
|
||||
#include "afxdialogex.h"
|
||||
|
||||
#define WM_UPDATE_IMAGE WM_USER+100
|
||||
static BYTE g_DataBuffer[768*576*3];
|
||||
int m_VideoWidth=768;//640;
|
||||
int m_VideoHeight=576;//480;
|
||||
int m_VideoBitcount=3;
|
||||
int m_DisplayWidth=640;
|
||||
int m_DisplayHeight=480;
|
||||
static int m_VideoWidth=768;//640;
|
||||
static int m_VideoHeight=576;//480;
|
||||
static int m_VideoBitcount=3;
|
||||
static int m_DisplayWidth=640;
|
||||
static int m_DisplayHeight=480;
|
||||
// CVideocard_MV900 dialog
|
||||
HWND Msg_Hwnd=NULL;
|
||||
|
||||
@@ -466,6 +465,7 @@ void CVideocard_MV900::OnPaint()
|
||||
if (m_bSaveFile)
|
||||
{
|
||||
SaveBitmapToFile(pBitBmp,m_SaveFile);
|
||||
DumpBin(m_SaveFile);
|
||||
//CImage imgTemp;
|
||||
//imgTemp.Attach(pBitBmp.operator HBITMAP());
|
||||
//imgTemp.Save(m_SaveFile);
|
||||
@@ -512,6 +512,31 @@ void CVideocard_MV900::UpdateImage()
|
||||
OnPaint();
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
int CVideocard_MV900::DumpBin(CString lpFileName)
|
||||
{
|
||||
FILE* pOutFile;
|
||||
unsigned long byte_pos = 0;
|
||||
|
||||
CString OutFileName =lpFileName+_T("_ASCII.txt");
|
||||
_wfopen_s(&pOutFile, OutFileName, _T("wt"));
|
||||
if (!pOutFile)
|
||||
return -1;
|
||||
|
||||
for (int i=0;i<640*480*3;i+=32)
|
||||
{
|
||||
fprintf(pOutFile, "%8.8X : ", byte_pos);
|
||||
for (int j = 0; j < 8; j++)
|
||||
{
|
||||
fprintf(pOutFile, "%2.2X %2.2X %2.2X %2.2X ", *(g_DataBuffer+i+j*4), *(g_DataBuffer+i+j*4+1), *(g_DataBuffer+i+j*4+2), *(g_DataBuffer+i+j*4+3));
|
||||
};
|
||||
fprintf(pOutFile, "\n");
|
||||
byte_pos += 32;
|
||||
}
|
||||
|
||||
fclose(pOutFile);
|
||||
return 0;
|
||||
}
|
||||
afx_msg LRESULT CVideocard_MV900::OnUpdateImage(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
@@ -537,7 +562,8 @@ void CVideocard_MV900::OnTimer(UINT_PTR nIDEvent)
|
||||
static int iStartX(64);
|
||||
static int iStartY(48);
|
||||
|
||||
//==================================SV4000E=====================================
|
||||
static BYTE m_pFrameBufferindex[640*480*3]={0};
|
||||
//==================================MV900=====================================
|
||||
VOID CALLBACK MV900_PrcVidCapCallBack(PUCHAR pData, ULONG Length,CVideocard_MV900* pIS)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(Length);
|
||||
@@ -549,6 +575,24 @@ VOID CALLBACK MV900_PrcVidCapCallBack(PUCHAR pData, ULONG Length,CVideocard_MV90
|
||||
g_DataBuffer[(y-iStartY)*m_DisplayWidth*3+(x-iStartX*3)]=(BYTE)pData[y*m_VideoWidth*3+x];
|
||||
}
|
||||
}
|
||||
|
||||
long long iCnt(0);
|
||||
long long iCnt1(0);
|
||||
for (int i=0;i<640*480*3;i++)
|
||||
{
|
||||
if (g_DataBuffer[i]==0xff)
|
||||
{
|
||||
iCnt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pFrameBufferindex[iCnt1++]=g_DataBuffer[i];
|
||||
}
|
||||
}
|
||||
TRACE1("<MV900>%d,",iCnt);
|
||||
TRACE1("%d,",iCnt1);
|
||||
TRACE1("%d.\r\n",iCnt+iCnt1);
|
||||
|
||||
pIS->UpdateImage();
|
||||
|
||||
//PostMessage(Msg_Hwnd,WM_UPDATE_IMAGE,0,0);
|
||||
|
||||
@@ -32,6 +32,7 @@ private:
|
||||
BOOL SetVideocardPara();
|
||||
BOOL SetVideocardDefaultPara();
|
||||
|
||||
int DumpBin(CString lpFileName);
|
||||
BOOL m_status;
|
||||
HANDLE m_hDev;
|
||||
int m_nSharpness;
|
||||
|
||||
@@ -0,0 +1,623 @@
|
||||
// Videocard_Mindvision.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "RESOURCE.H"
|
||||
#include "VideoCardDefine.h"
|
||||
#include "..\..\..\Videocard\MindVision\Include\CameraDefine.h"
|
||||
#include "..\..\..\Videocard\MindVision\Include\CameraStatus.h"
|
||||
#include "..\..\..\Videocard\MindVision\MindVision_GIGE_Camera.h"
|
||||
#include "Videocard_Mindvision.h"
|
||||
#include "afxdialogex.h"
|
||||
|
||||
|
||||
// CVideocard_Mindvision dialog
|
||||
extern Camera_MindVision_GIGE* g_pMindVision_GIGE;
|
||||
|
||||
static BYTE g_DataBuffer[640*480*3];
|
||||
|
||||
int m_VideoWidth=640;
|
||||
int m_VideoHeight=480;
|
||||
int m_VideoBitcount=3;
|
||||
int m_DisplayWidth=640;
|
||||
int m_DisplayHeight=480;
|
||||
|
||||
IMPLEMENT_DYNAMIC(CVideocard_Mindvision, CDialog)
|
||||
|
||||
CVideocard_Mindvision::CVideocard_Mindvision(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CVideocard_Mindvision::IDD, pParent)
|
||||
{
|
||||
m_ConvertColorType=RGB24TORGB;
|
||||
m_bSaveFile=FALSE;
|
||||
m_bMirror=FALSE;
|
||||
}
|
||||
|
||||
CVideocard_Mindvision::~CVideocard_Mindvision()
|
||||
{
|
||||
}
|
||||
|
||||
void CVideocard_Mindvision::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CVideocard_Mindvision, CDialog)
|
||||
ON_WM_TIMER()
|
||||
ON_BN_CLICKED(IDC_RADIO_RGB, &CVideocard_Mindvision::OnBnClickedRadioRgb)
|
||||
ON_BN_CLICKED(IDC_RADIO_GRAY, &CVideocard_Mindvision::OnBnClickedRadioGray)
|
||||
ON_BN_CLICKED(IDC_RADIO_BINARZATION, &CVideocard_Mindvision::OnBnClickedRadioBinarzation)
|
||||
ON_BN_CLICKED(IDC_CHECK_MIRROR_VERTICALLY, &CVideocard_Mindvision::OnBnClickedCheckMirrorVertically)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SAVE_PICTURE, &CVideocard_Mindvision::OnBnClickedButtonSavePicture)
|
||||
ON_BN_CLICKED(IDOK, &CVideocard_Mindvision::OnBnClickedOk)
|
||||
ON_BN_CLICKED(IDCANCEL, &CVideocard_Mindvision::OnBnClickedCancel)
|
||||
ON_MESSAGE(WM_UPDATE_IMAGE, &CVideocard_Mindvision::OnUpdateImage)
|
||||
ON_BN_CLICKED(IDC_BUTTON_SET_PARA, &CVideocard_Mindvision::OnBnClickedButtonSetPara)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CVideocard_Mindvision message handlers
|
||||
//==============================================================================
|
||||
BOOL CVideocard_Mindvision::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// Add "About..." menu item to system menu.
|
||||
|
||||
// IDM_ABOUTBOX must be in the system command range.
|
||||
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
||||
ASSERT(IDM_ABOUTBOX < 0xF000);
|
||||
|
||||
CMenu* pSysMenu = GetSystemMenu(FALSE);
|
||||
if (pSysMenu != NULL)
|
||||
{
|
||||
BOOL bNameValid;
|
||||
CString strAboutMenu;
|
||||
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
|
||||
ASSERT(bNameValid);
|
||||
if (!strAboutMenu.IsEmpty())
|
||||
{
|
||||
pSysMenu->AppendMenu(MF_SEPARATOR);
|
||||
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
|
||||
}
|
||||
}
|
||||
Msg_Hwnd=m_hWnd;//AfxGetApp()->GetMainWnd()->m_hWnd;
|
||||
((CButton *)GetDlgItem(IDC_RADIO_RGB))->SetCheck(TRUE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_GRAY))->SetCheck(FALSE);
|
||||
((CButton *)GetDlgItem(IDC_RADIO_BINARZATION))->SetCheck(FALSE);
|
||||
UpdateData(FALSE);
|
||||
if (g_pMindVision_GIGE)
|
||||
{
|
||||
g_pMindVision_GIGE->InitDll();
|
||||
}
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedRadioRgb()
|
||||
{
|
||||
m_ConvertColorType=RGB24TORGB;
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedRadioGray()
|
||||
{
|
||||
m_ConvertColorType=RGB24TOGRAY;
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedRadioBinarzation()
|
||||
{
|
||||
m_ConvertColorType=RGB24TOBINARYZATION;
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedCheckMirrorVertically()
|
||||
{
|
||||
if (((CButton *)GetDlgItem(IDC_CHECK_MIRROR_VERTICALLY))->GetCheck())
|
||||
{
|
||||
m_bMirror=TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_bMirror=FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedButtonSavePicture()
|
||||
{
|
||||
|
||||
CString CTmpString;
|
||||
CString PathName;
|
||||
CString path_and_fileName;
|
||||
|
||||
PathName=_T("Mindvision.bmp");
|
||||
CString szFilter=_T("BMP Files(*.bmp)|*.bmp|ALL Files(*.*)|*.*||");
|
||||
CFileDialog fdlg(FALSE,_T("BMP"),PathName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
|
||||
|
||||
if( fdlg.DoModal()==IDOK)
|
||||
{
|
||||
m_SaveFile=fdlg.GetPathName();
|
||||
m_bSaveFile=TRUE;
|
||||
}
|
||||
delete fdlg;
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedButtonSetPara()
|
||||
{
|
||||
g_pMindVision_GIGE->SetAdvancedPara();
|
||||
}
|
||||
void CVideocard_Mindvision::OnBnClickedOk()
|
||||
{
|
||||
g_pMindVision_GIGE->init_video(Msg_Hwnd);
|
||||
GetDlgItem(IDOK)->EnableWindow(false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void CVideocard_Mindvision::OnBnClickedCancel()
|
||||
{
|
||||
g_pMindVision_GIGE->Quit_Video();
|
||||
g_pMindVision_GIGE->UnitDll();
|
||||
CDialog::OnCancel();
|
||||
}
|
||||
LRESULT CVideocard_Mindvision::OnUpdateImage(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
OnPaint();
|
||||
return 0;
|
||||
}
|
||||
|
||||
//================================================================================================
|
||||
void CVideocard_Mindvision::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
switch(nIDEvent)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
OnPaint();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
CDialog::OnTimer(nIDEvent);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void CVideocard_Mindvision::MedianFilter(BYTE* _Buf)
|
||||
{
|
||||
int i=0,j=0;
|
||||
int iPixData=0;
|
||||
|
||||
BYTE *pNewBuffer = new BYTE[640*480];
|
||||
memcpy(pNewBuffer,_Buf,640*480);
|
||||
for(i=1;i<479;i++)
|
||||
for(j=1;j<639;j++)
|
||||
{
|
||||
iPixData=(pNewBuffer[(i-1)*640+j-1]+pNewBuffer[(i-1)*640+j]+pNewBuffer[(i-1)*640+j+1]+
|
||||
pNewBuffer[i*640+j-1]+pNewBuffer[i*640+j]+pNewBuffer[i*640+j+1]+
|
||||
pNewBuffer[(i+1)*640+j-1]+pNewBuffer[(i+1)*640+j]+pNewBuffer[(i+1)*640+j+1])/9;
|
||||
if(iPixData>255)
|
||||
iPixData=255;
|
||||
_Buf[i*640+j] = static_cast<BYTE>(iPixData);
|
||||
}
|
||||
delete[] pNewBuffer;
|
||||
}
|
||||
//================================================================
|
||||
void CVideocard_Mindvision::ConvertVideoSubType(const Image_Buffer& _ImageBuffer,
|
||||
BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror)
|
||||
{
|
||||
if (_type==RGB24TOBINARYZATION
|
||||
||_type==YUY2TOBINARYZATION)
|
||||
{
|
||||
BYTE pBinaryzationData[640*480]={0};
|
||||
int x(0),y(0);
|
||||
long yCnt=0,xCnt=0,iIndex=0;
|
||||
BYTE BPixData(0);
|
||||
yCnt=0;
|
||||
for(y=0;y<m_DisplayHeight;y++)
|
||||
{
|
||||
xCnt=0;
|
||||
for(x=0;x<m_DisplayWidth;x++)
|
||||
{
|
||||
if (true)
|
||||
{
|
||||
iIndex=y*m_DisplayWidth*3+x*3;
|
||||
BPixData=_pSrcData[iIndex];
|
||||
if(BPixData<_pSrcData[iIndex+1])
|
||||
BPixData=_pSrcData[iIndex+1];
|
||||
if(BPixData<_pSrcData[iIndex+2])
|
||||
BPixData=_pSrcData[iIndex+2];
|
||||
if(_bMirror==1)
|
||||
pBinaryzationData[(479-y)*m_DisplayWidth+x]=BPixData;
|
||||
else
|
||||
pBinaryzationData[y*m_DisplayWidth+x]=BPixData;
|
||||
}
|
||||
else
|
||||
{
|
||||
iIndex=y*640*2+x*2;
|
||||
if(y>=477)
|
||||
iIndex=476*640*2+x*2;
|
||||
if(_bMirror==1)
|
||||
pBinaryzationData[(479-yCnt)*640+xCnt]=_pSrcData[iIndex];
|
||||
else
|
||||
pBinaryzationData[yCnt*640+xCnt]=_pSrcData[iIndex];
|
||||
}
|
||||
xCnt++;
|
||||
}
|
||||
yCnt++;
|
||||
}
|
||||
|
||||
MedianFilter(pBinaryzationData);
|
||||
MedianFilter(pBinaryzationData);
|
||||
MedianFilter(pBinaryzationData);
|
||||
|
||||
BYTE *pDstData=NULL;
|
||||
iIndex=0;
|
||||
for(y=0;y<m_DisplayHeight;y++)
|
||||
{
|
||||
pDstData=(BYTE*)_ImageBuffer.ScanLine[y];
|
||||
for(x=0;x<m_DisplayWidth*3;x+=3)
|
||||
{
|
||||
pDstData[x+2]=pBinaryzationData[iIndex];
|
||||
pDstData[x+1]=pBinaryzationData[iIndex];
|
||||
pDstData[x]=pBinaryzationData[iIndex];
|
||||
iIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int x=0;
|
||||
int y=0;
|
||||
long lCnt1=0;
|
||||
long lCnt2=0;
|
||||
long lCnt3=0;
|
||||
int Color_R=0,Color_G=0,Color_B=0;
|
||||
BYTE *pDstData=NULL;
|
||||
for(y=0;y<m_DisplayHeight;y++)
|
||||
{
|
||||
lCnt1=0;
|
||||
if(!_bMirror)
|
||||
pDstData=(BYTE*)_ImageBuffer.ScanLine[y];
|
||||
else
|
||||
pDstData=(BYTE*)_ImageBuffer.ScanLine[m_DisplayHeight-1-y];
|
||||
for(x=0;x<m_DisplayWidth*3;x+=3)
|
||||
{
|
||||
switch(_type)
|
||||
{
|
||||
case RGB24TORGB:
|
||||
{
|
||||
pDstData[x]=_pSrcData[y*m_DisplayWidth*3+x+2];
|
||||
pDstData[x+1]=_pSrcData[y*m_DisplayWidth*3+x+1];
|
||||
pDstData[x+2]=_pSrcData[y*m_DisplayWidth*3+x];
|
||||
break;
|
||||
}
|
||||
case YUY2TORGB:
|
||||
{
|
||||
Color_R=(1164*(_pSrcData[lCnt2*2]-16)+1596*(_pSrcData[lCnt3+3]-128))/1000;
|
||||
if(Color_R>255)Color_R=255;
|
||||
if(Color_R<0)Color_R=0;
|
||||
pDstData[x+2]=static_cast<BYTE>(Color_R);
|
||||
|
||||
|
||||
Color_G=(1164*(_pSrcData[lCnt2*2]-16)-813*(_pSrcData[lCnt3+1]-128)-392*(_pSrcData[lCnt3+3]-128))/1000;
|
||||
if(Color_G>255)Color_G=255;
|
||||
if(Color_G<0)Color_G=0;
|
||||
pDstData[x+1]=static_cast<BYTE>(Color_G);
|
||||
|
||||
|
||||
Color_B=(1164*(_pSrcData[lCnt2*2]-16)+2017*(_pSrcData[lCnt3+1]-128))/1000;
|
||||
if(Color_B>255)Color_B=255;
|
||||
if(Color_B<0)Color_B=0;
|
||||
pDstData[x]=static_cast<BYTE>(Color_B);
|
||||
|
||||
break;
|
||||
}
|
||||
case RGB24TOGRAY:
|
||||
{
|
||||
pDstData[x+2]=(_pSrcData[lCnt2*3+2]+_pSrcData[lCnt2*3+1]+_pSrcData[lCnt2*3])/3;
|
||||
pDstData[x+1]=(_pSrcData[lCnt2*3+2]+_pSrcData[lCnt2*3+1]+_pSrcData[lCnt2*3])/3;
|
||||
pDstData[x]=(_pSrcData[lCnt2*3+2]+_pSrcData[lCnt2*3+1]+_pSrcData[lCnt2*3])/3;
|
||||
break;
|
||||
}
|
||||
case YUY2TOGRAY:
|
||||
{
|
||||
pDstData[x+2]=_pSrcData[2*lCnt2];
|
||||
pDstData[x+1]=_pSrcData[2*lCnt2];
|
||||
pDstData[x]=_pSrcData[2*lCnt2];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if((lCnt1%2)==1)
|
||||
lCnt3=lCnt3+4;
|
||||
lCnt2++;
|
||||
lCnt1++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//================================================================
|
||||
BOOL CVideocard_Mindvision::SaveBitmapToFile(const CBitmap& _bitmap, CString _lpFileName)
|
||||
{
|
||||
HBITMAP hBitmap; // 为刚才的屏幕位图句柄
|
||||
HDC hDC; //设备描述表
|
||||
int iBits; //当前显示分辨率下每个像素所占字节数
|
||||
WORD wBitCount(24); //位图中每个像素所占字节数
|
||||
DWORD dwPaletteSize = 0, //定义调色板大小
|
||||
dwBmBitsSize, //位图中像素字节大小
|
||||
dwDIBSize, //位图文件大小
|
||||
dwWritten; //写入文件字节数
|
||||
BITMAP Bitmap; //位图属性结构
|
||||
BITMAPFILEHEADER bmhFiledr; //位图文件头结构
|
||||
BITMAPINFOHEADER bi; //位图信息头结构
|
||||
LPBITMAPINFOHEADER lpbi; //指向位图信息头结构
|
||||
HANDLE hFile, //定义文件
|
||||
hDib, //分配内存句柄
|
||||
hPal, //调色板句柄
|
||||
hOldPal = NULL;
|
||||
|
||||
//计算位图文件每个像素所占字节数
|
||||
hBitmap = (HBITMAP)_bitmap;
|
||||
hDC = CreateDC(_T("DISPLAY"),NULL,NULL,NULL);
|
||||
iBits = GetDeviceCaps(hDC, BITSPIXEL) * GetDeviceCaps(hDC, PLANES);
|
||||
DeleteDC(hDC);
|
||||
|
||||
if (iBits <= 1)
|
||||
wBitCount = 1;
|
||||
else if (iBits <= 4)
|
||||
wBitCount = 4;
|
||||
else if (iBits <= 8)
|
||||
wBitCount = 8;
|
||||
else if (iBits <= 24)
|
||||
wBitCount = 24;
|
||||
else if (iBits <= 32)
|
||||
wBitCount = 32;
|
||||
|
||||
//计算调色板大小
|
||||
if (wBitCount <= 8)
|
||||
dwPaletteSize = (1 << wBitCount) * sizeof (RGBQUAD);
|
||||
|
||||
//设置位图信息头结构
|
||||
GetObject(hBitmap, sizeof (BITMAP), (LPSTR)&Bitmap);
|
||||
bi.biSize = sizeof (BITMAPINFOHEADER);
|
||||
bi.biWidth = Bitmap.bmWidth;
|
||||
bi.biHeight = Bitmap.bmHeight;
|
||||
bi.biPlanes = 1;
|
||||
bi.biBitCount = wBitCount;
|
||||
bi.biCompression = BI_RGB;
|
||||
bi.biSizeImage = 0;
|
||||
bi.biXPelsPerMeter = 0;
|
||||
bi.biYPelsPerMeter = 0;
|
||||
bi.biClrUsed = 0;
|
||||
bi.biClrImportant = 0;
|
||||
|
||||
dwBmBitsSize = ((Bitmap.bmWidth * wBitCount+31) / 32) * 4 * Bitmap.bmHeight;
|
||||
|
||||
//为位图内容分配内存
|
||||
hDib = GlobalAlloc(GHND, dwBmBitsSize + dwPaletteSize + sizeof (BITMAPINFOHEADER));
|
||||
lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
|
||||
*lpbi = bi;
|
||||
|
||||
// 处理调色板
|
||||
hPal = GetStockObject(DEFAULT_PALETTE);
|
||||
if (hPal)
|
||||
{
|
||||
hDC = ::GetDC(NULL);
|
||||
hOldPal = ::SelectPalette(hDC, (HPALETTE)hPal, FALSE);
|
||||
RealizePalette(hDC);
|
||||
}
|
||||
|
||||
// 获取该调色板下新的像素值
|
||||
GetDIBits(hDC, hBitmap, 0, (UINT) Bitmap.bmHeight, (LPSTR)lpbi + sizeof (BITMAPINFOHEADER) + dwPaletteSize, (LPBITMAPINFO)lpbi, DIB_RGB_COLORS);
|
||||
|
||||
//恢复调色板
|
||||
if (hOldPal)
|
||||
{
|
||||
SelectPalette(hDC, (HPALETTE)hOldPal, TRUE);
|
||||
RealizePalette(hDC);
|
||||
::ReleaseDC(NULL, hDC);
|
||||
}
|
||||
|
||||
//创建位图文件
|
||||
hFile = CreateFile(_lpFileName, GENERIC_WRITE,
|
||||
0, NULL, CREATE_ALWAYS,
|
||||
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL);
|
||||
|
||||
if (hFile == INVALID_HANDLE_VALUE)
|
||||
return FALSE;
|
||||
|
||||
// 设置位图文件头
|
||||
bmhFiledr.bfType = 0x4D42; // "BM"
|
||||
dwDIBSize = sizeof (BITMAPFILEHEADER) + sizeof (BITMAPINFOHEADER) + dwPaletteSize + dwBmBitsSize;
|
||||
bmhFiledr.bfSize = dwDIBSize;
|
||||
bmhFiledr.bfReserved1 = 0;
|
||||
bmhFiledr.bfReserved2 = 0;
|
||||
bmhFiledr.bfOffBits = (DWORD)sizeof (BITMAPFILEHEADER) + (DWORD)sizeof (BITMAPINFOHEADER) + dwPaletteSize;
|
||||
|
||||
// 写入位图文件头
|
||||
WriteFile(hFile, (LPSTR)&bmhFiledr, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);
|
||||
|
||||
// 写入位图文件其余内容
|
||||
WriteFile(hFile, (LPSTR)lpbi, dwDIBSize,&dwWritten, NULL);
|
||||
|
||||
//清除
|
||||
GlobalUnlock(hDib);
|
||||
GlobalFree(hDib);
|
||||
CloseHandle(hFile);
|
||||
|
||||
return TRUE;
|
||||
};
|
||||
//================================================================
|
||||
void CVideocard_Mindvision::OnPaint()
|
||||
{
|
||||
CDC* dc= this->GetDC();
|
||||
int nMode;
|
||||
CDC* pMemDC = new CDC;
|
||||
CBitmap pBitBmp;
|
||||
CBitmap pBitBmpNav;
|
||||
BYTE *pData;
|
||||
CBitmap* pOldBitmap;
|
||||
BITMAPINFO bmpInfo;
|
||||
bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
bmpInfo.bmiHeader.biWidth = m_DisplayWidth;
|
||||
bmpInfo.bmiHeader.biHeight = m_DisplayHeight;
|
||||
bmpInfo.bmiHeader.biPlanes = 1;
|
||||
bmpInfo.bmiHeader.biBitCount = 24;//X位色
|
||||
bmpInfo.bmiHeader.biCompression = BI_RGB;
|
||||
bmpInfo.bmiHeader.biSizeImage = 0;
|
||||
bmpInfo.bmiHeader.biXPelsPerMeter = 30000;
|
||||
bmpInfo.bmiHeader.biYPelsPerMeter = 30000;
|
||||
bmpInfo.bmiHeader.biClrUsed = 0;
|
||||
bmpInfo.bmiHeader.biClrImportant = 0;
|
||||
|
||||
ConvertVideoSubType(m_ImageBuffer,g_DataBuffer,m_ConvertColorType,m_bMirror);
|
||||
|
||||
pData = (BYTE *)m_ImageBuffer.ScanLine;
|
||||
pBitBmp.CreateCompatibleBitmap(dc,m_DisplayWidth,m_DisplayHeight);
|
||||
SetDIBits(dc->m_hDC,pBitBmp,0,m_DisplayHeight,pData,&bmpInfo,DIB_RGB_COLORS);
|
||||
|
||||
if (m_bSaveFile)
|
||||
{
|
||||
SaveBitmapToFile(pBitBmp,m_SaveFile);
|
||||
DumpBin(m_SaveFile);
|
||||
|
||||
//CImage imgTemp;
|
||||
//imgTemp.Attach(pBitBmp.operator HBITMAP());
|
||||
//imgTemp.Save(m_SaveFile);
|
||||
m_bSaveFile=FALSE;
|
||||
}
|
||||
if (!pMemDC->m_hDC)
|
||||
{
|
||||
pMemDC->CreateCompatibleDC(dc);
|
||||
}
|
||||
pOldBitmap = pMemDC->SelectObject(&pBitBmp);
|
||||
nMode = pMemDC->SetBkMode(TRANSPARENT);
|
||||
|
||||
CPen m_Pen(PS_DASH,0,RGB(255,0,0));
|
||||
POINT m_point;
|
||||
pMemDC->SelectObject(&m_Pen);
|
||||
m_point.x=0;
|
||||
m_point.y=static_cast<int>(m_DisplayHeight*0.5);
|
||||
pMemDC->MoveTo(m_point);
|
||||
m_point.x=m_DisplayWidth;
|
||||
m_point.y=static_cast<int>(m_DisplayHeight*0.5);
|
||||
pMemDC->LineTo(m_point);
|
||||
m_point.x=static_cast<int>(m_DisplayWidth*0.5);
|
||||
m_point.y=0;
|
||||
pMemDC->MoveTo(m_point);
|
||||
m_point.x=static_cast<int>(m_DisplayWidth*0.5);
|
||||
m_point.y=m_DisplayHeight;
|
||||
pMemDC->LineTo(m_point);
|
||||
|
||||
dc->BitBlt(0, 0, m_DisplayWidth, m_DisplayHeight, pMemDC,0,0, SRCCOPY);
|
||||
|
||||
pMemDC->SetBkMode(nMode);
|
||||
pMemDC->SelectObject(pOldBitmap);
|
||||
ReleaseDC(pMemDC);
|
||||
|
||||
m_Pen.DeleteObject();
|
||||
|
||||
delete pMemDC;
|
||||
ReleaseDC(dc);
|
||||
|
||||
}
|
||||
|
||||
// ==========================================================================================
|
||||
int CVideocard_Mindvision::DumpBin(CString lpFileName)
|
||||
{
|
||||
FILE* pOutFile;
|
||||
unsigned long byte_pos = 0;
|
||||
|
||||
CString OutFileName =lpFileName+_T("_ASCII.txt");
|
||||
_wfopen_s(&pOutFile, OutFileName, _T("wt"));
|
||||
if (!pOutFile)
|
||||
return -1;
|
||||
|
||||
for (int i=0;i<640*480*3;i+=32)
|
||||
{
|
||||
fprintf(pOutFile, "%8.8X : ", byte_pos);
|
||||
for (int j = 0; j < 8; j++)
|
||||
{
|
||||
fprintf(pOutFile, "%2.2X%2.2X%2.2X%2.2X ", *(g_DataBuffer+i+j*4), *(g_DataBuffer+i+j*4+1), *(g_DataBuffer+i+j*4+2), *(g_DataBuffer+i+j*4+3));
|
||||
};
|
||||
fprintf(pOutFile, "\n");
|
||||
byte_pos += 32;
|
||||
}
|
||||
|
||||
fclose(pOutFile);
|
||||
return 0;
|
||||
}
|
||||
//================================================================
|
||||
static int iStartX(0);
|
||||
static int iStartY(0);
|
||||
static bool bCompare(0);
|
||||
static long long iMaxCnt(0);
|
||||
static BYTE m_pFrameBufferindex[640*480*3]={0};
|
||||
void _stdcall GrabImageCallback(CameraHandle hCamera, BYTE *pFrameBuffer, tSdkFrameHead* pFrameHead,PVOID pContext)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(hCamera);
|
||||
CameraSdkStatus status;
|
||||
Camera_MindVision_GIGE *pThis = (Camera_MindVision_GIGE*)pContext;
|
||||
|
||||
//将获得的原始数据转换成RGB格式的数据,同时经过ISP模块,对图像进行降噪,边沿提升,颜色校正等处理。
|
||||
//我公司大部分型号的相机,原始数据都是Bayer格式的
|
||||
long long iCnt(0);
|
||||
long long iCnt1(0);
|
||||
if (pFrameHead->uiMediaType==CAMERA_MEDIA_TYPE_BAYGR8)
|
||||
{
|
||||
iCnt=1;
|
||||
}
|
||||
status = pThis->m_CameraImageProcess(pThis->m_hCamera, pFrameBuffer,pThis->m_pFrameBuffer,pFrameHead);
|
||||
if (pFrameHead->uiMediaType==CAMERA_MEDIA_TYPE_BGR8)
|
||||
{
|
||||
iCnt1=1;
|
||||
}
|
||||
iCnt=0;
|
||||
iCnt1=0;
|
||||
for (int i=0;i<640*480*3;i++)
|
||||
{
|
||||
if (pThis->m_pFrameBuffer[i]==0xff)
|
||||
{
|
||||
iCnt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
iCnt1++;
|
||||
//m_pFrameBufferindex[iCnt1++]=pThis->m_pFrameBuffer[i];
|
||||
}
|
||||
}
|
||||
//TRACE1("<MINDVISION> %d,",iCnt);
|
||||
//TRACE1("%d.\r\n",iCnt1);
|
||||
if (bCompare)
|
||||
{
|
||||
memcpy(m_pFrameBufferindex,g_DataBuffer,640*480*3);
|
||||
}
|
||||
memcpy(g_DataBuffer,pThis->m_pFrameBuffer,640*480*3);
|
||||
|
||||
iCnt=0;
|
||||
iCnt1=0;
|
||||
for (int i=0;i<640*480*3;i++)
|
||||
{
|
||||
if (g_DataBuffer[i]==m_pFrameBufferindex[i])
|
||||
{
|
||||
iCnt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
iCnt1++;
|
||||
}
|
||||
}
|
||||
if (iMaxCnt<iCnt1)
|
||||
{
|
||||
iMaxCnt=iCnt1;
|
||||
}
|
||||
//TRACE1("<MINDVISION> eq=%d,",iCnt);
|
||||
//TRACE1("uneql=%d.\r\n",iCnt1);
|
||||
TRACE1("Max=%d.\r\n",iMaxCnt);
|
||||
pThis->UpdateImage();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
// CVideocard_Mindvision dialog
|
||||
|
||||
class CVideocard_Mindvision : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(CVideocard_Mindvision)
|
||||
|
||||
public:
|
||||
CVideocard_Mindvision(CWnd* pParent = NULL); // standard constructor
|
||||
virtual ~CVideocard_Mindvision();
|
||||
|
||||
// Dialog Data
|
||||
enum { IDD = IDD_SO7_VIDEOCARD_MINDVISION };
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
|
||||
virtual BOOL OnInitDialog();
|
||||
afx_msg void OnPaint();
|
||||
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
HWND Msg_Hwnd;
|
||||
Image_Buffer m_ImageBuffer;
|
||||
ConvertColorType m_ConvertColorType;
|
||||
BOOL m_bMirror;
|
||||
BOOL m_bSaveFile;
|
||||
CString m_SaveFile;
|
||||
void ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *pSrcData,ConvertColorType _type,BOOL _bMirror);
|
||||
BOOL SaveBitmapToFile(const CBitmap& bitmap, CString lpFileName);
|
||||
void MedianFilter(BYTE* buf);
|
||||
BOOL LoadVideocard();
|
||||
BOOL UnloadVideocard();
|
||||
int DumpBin(CString lpFileName);
|
||||
|
||||
public:
|
||||
afx_msg void OnBnClickedRadioRgb();
|
||||
afx_msg void OnBnClickedRadioGray();
|
||||
afx_msg void OnBnClickedRadioGray2();
|
||||
afx_msg void OnBnClickedCheckMirrorVertically();
|
||||
afx_msg void OnBnClickedButtonSavePicture();
|
||||
afx_msg void OnBnClickedOk();
|
||||
afx_msg void OnBnClickedCancel();
|
||||
afx_msg void OnBnClickedRadioBinarzation();
|
||||
afx_msg LRESULT OnUpdateImage(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
|
||||
afx_msg void OnBnClickedButtonSetPara();
|
||||
};
|
||||
Binary file not shown.
@@ -0,0 +1,487 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Module Name:
|
||||
|
||||
HIDSDI.H
|
||||
|
||||
Abstract:
|
||||
|
||||
This module contains the PUBLIC definitions for the
|
||||
code that implements the HID dll.
|
||||
|
||||
Environment:
|
||||
|
||||
Kernel & user mode
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef _HIDSDI_H
|
||||
#define _HIDSDI_H
|
||||
|
||||
#include <pshpack4.h>
|
||||
|
||||
//#include "wtypes.h"
|
||||
|
||||
//#include <windef.h>
|
||||
//#include <win32.h>
|
||||
//#include <basetyps.h>
|
||||
|
||||
typedef LONG NTSTATUS;
|
||||
#include "hidusage.h"
|
||||
#include "hidpi.h"
|
||||
|
||||
typedef struct _HIDD_CONFIGURATION {
|
||||
PVOID cookie;
|
||||
ULONG size;
|
||||
ULONG RingBufferSize;
|
||||
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
|
||||
|
||||
typedef struct _HIDD_ATTRIBUTES {
|
||||
ULONG Size; // = sizeof (struct _HIDD_ATTRIBUTES)
|
||||
|
||||
//
|
||||
// Vendor ids of this hid device
|
||||
//
|
||||
USHORT VendorID;
|
||||
USHORT ProductID;
|
||||
USHORT VersionNumber;
|
||||
|
||||
//
|
||||
// Additional fields will be added to the end of this structure.
|
||||
//
|
||||
} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;
|
||||
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetAttributes (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PHIDD_ATTRIBUTES Attributes
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Fill in the given HIDD_ATTRIBUTES structure with the attributes of the
|
||||
given hid device.
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
void __stdcall
|
||||
HidD_GetHidGuid (
|
||||
OUT LPGUID HidGuid
|
||||
);
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetPreparsedData (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PHIDP_PREPARSED_DATA * PreparsedData
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Given a handle to a valid Hid Class Device Object, retrieve the preparsed
|
||||
data for the device. This routine will allocate the appropriately
|
||||
sized buffer to hold this preparsed data. It is up to client to call
|
||||
HidP_FreePreparsedData to free the memory allocated to this structure when
|
||||
it is no longer needed.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device that the client obtains using
|
||||
a call to CreateFile on a valid Hid device string name.
|
||||
The string name can be obtained using standard PnP calls.
|
||||
|
||||
PreparsedData An opaque data structure used by other functions in this
|
||||
library to retrieve information about a given device.
|
||||
|
||||
Return Value:
|
||||
TRUE if successful.
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_FreePreparsedData (
|
||||
IN PHIDP_PREPARSED_DATA PreparsedData
|
||||
);
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_FlushQueue (
|
||||
IN HANDLE HidDeviceObject
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Flush the input queue for the given HID device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device that the client obtains using
|
||||
a call to CreateFile on a valid Hid device string name.
|
||||
The string name can be obtained using standard PnP calls.
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetConfiguration (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PHIDD_CONFIGURATION Configuration,
|
||||
IN ULONG ConfigurationLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Get the configuration information for this Hid device
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Configuration A configuration structure. HidD_GetConfiguration MUST
|
||||
be called before the configuration can be modified and
|
||||
set using HidD_SetConfiguration
|
||||
|
||||
ConfigurationLength That is ``sizeof (HIDD_CONFIGURATION)''. Using this
|
||||
parameter, we can later increase the length of the
|
||||
configuration array and not break older apps.
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_SetConfiguration (
|
||||
IN HANDLE HidDeviceObject,
|
||||
IN PHIDD_CONFIGURATION Configuration,
|
||||
IN ULONG ConfigurationLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Set the configuration information for this Hid device...
|
||||
|
||||
NOTE: HidD_GetConfiguration must be called to retrieve the current
|
||||
configuration information before this information can be modified
|
||||
and set.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Configuration A configuration structure. HidD_GetConfiguration MUST
|
||||
be called before the configuration can be modified and
|
||||
set using HidD_SetConfiguration
|
||||
|
||||
ConfigurationLength That is ``sizeof (HIDD_CONFIGURATION)''. Using this
|
||||
parameter, we can later increase the length of the
|
||||
configuration array and not break older apps.
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetFeature (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID ReportBuffer,
|
||||
IN ULONG ReportBufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Retrieve a feature report from a HID device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
ReportBuffer The buffer that the feature report should be placed
|
||||
into. The first byte of the buffer should be set to
|
||||
the report ID of the desired report
|
||||
|
||||
ReportBufferLength The size (in bytes) of ReportBuffer. This value
|
||||
should be greater than or equal to the
|
||||
FeatureReportByteLength field as specified in the
|
||||
HIDP_CAPS structure for the device
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_SetFeature (
|
||||
IN HANDLE HidDeviceObject,
|
||||
IN PVOID ReportBuffer,
|
||||
IN ULONG ReportBufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Send a feature report to a HID device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
ReportBuffer The buffer of the feature report to send to the device
|
||||
|
||||
ReportBufferLength The size (in bytes) of ReportBuffer. This value
|
||||
should be greater than or equal to the
|
||||
FeatureReportByteLength field as specified in the
|
||||
HIDP_CAPS structure for the device
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetInputReport (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID ReportBuffer,
|
||||
IN ULONG ReportBufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Retrieve an input report from a HID device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
ReportBuffer The buffer that the input report should be placed
|
||||
into. The first byte of the buffer should be set to
|
||||
the report ID of the desired report
|
||||
|
||||
ReportBufferLength The size (in bytes) of ReportBuffer. This value
|
||||
should be greater than or equal to the
|
||||
InputReportByteLength field as specified in the
|
||||
HIDP_CAPS structure for the device
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_SetOutputReport (
|
||||
IN HANDLE HidDeviceObject,
|
||||
IN PVOID ReportBuffer,
|
||||
IN ULONG ReportBufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
Send an output report to a HID device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
ReportBuffer The buffer of the output report to send to the device
|
||||
|
||||
ReportBufferLength The size (in bytes) of ReportBuffer. This value
|
||||
should be greater than or equal to the
|
||||
OutputReportByteLength field as specified in the
|
||||
HIDP_CAPS structure for the device
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetNumInputBuffers (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PULONG NumberBuffers
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function returns the number of input buffers used by the specified
|
||||
file handle to the Hid device. Each file object has a number of buffers
|
||||
associated with it to queue reports read from the device but which have
|
||||
not yet been read by the user-mode app with a handle to that device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
NumberBuffers Number of buffers currently being used for this file
|
||||
handle to the Hid device
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_SetNumInputBuffers (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT ULONG NumberBuffers
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This function sets the number of input buffers used by the specified
|
||||
file handle to the Hid device. Each file object has a number of buffers
|
||||
associated with it to queue reports read from the device but which have
|
||||
not yet been read by the user-mode app with a handle to that device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
NumberBuffers New number of buffers to use for this file handle to
|
||||
the Hid device
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetPhysicalDescriptor (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves the raw physical descriptor for the specified
|
||||
Hid device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Buffer Buffer which on return will contain the physical
|
||||
descriptor if one exists for the specified device
|
||||
handle
|
||||
|
||||
BufferLength Length of buffer (in bytes)
|
||||
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetManufacturerString (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves the manufacturer string from the specified
|
||||
Hid device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Buffer Buffer which on return will contain the manufacturer
|
||||
string returned from the device. This string is a
|
||||
wide-character string
|
||||
|
||||
BufferLength Length of Buffer (in bytes)
|
||||
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetProductString (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves the product string from the specified
|
||||
Hid device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Buffer Buffer which on return will contain the product
|
||||
string returned from the device. This string is a
|
||||
wide-character string
|
||||
|
||||
BufferLength Length of Buffer (in bytes)
|
||||
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetIndexedString (
|
||||
IN HANDLE HidDeviceObject,
|
||||
IN ULONG StringIndex,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves a string from the specified Hid device that is
|
||||
specified with a certain string index.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
StringIndex Index of the string to retrieve
|
||||
|
||||
Buffer Buffer which on return will contain the product
|
||||
string returned from the device. This string is a
|
||||
wide-character string
|
||||
|
||||
BufferLength Length of Buffer (in bytes)
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetSerialNumberString (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves the serial number string from the specified
|
||||
Hid device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Buffer Buffer which on return will contain the serial number
|
||||
string returned from the device. This string is a
|
||||
wide-character string
|
||||
|
||||
BufferLength Length of Buffer (in bytes)
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
BOOLEAN __stdcall
|
||||
HidD_GetMsGenreDescriptor (
|
||||
IN HANDLE HidDeviceObject,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG BufferLength
|
||||
);
|
||||
/*++
|
||||
Routine Description:
|
||||
This function retrieves the Microsoft Genre descriptor from the specified
|
||||
Hid device.
|
||||
|
||||
Arguments:
|
||||
HidDeviceObject A handle to a Hid Device Object.
|
||||
|
||||
Buffer Buffer which on return will contain the descriptor
|
||||
returned from the device.
|
||||
|
||||
BufferLength Length of Buffer (in bytes)
|
||||
|
||||
Return Value:
|
||||
TRUE if successful
|
||||
FALSE otherwise -- Use GetLastError() to get extended error information
|
||||
--*/
|
||||
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
#endif
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -11,4 +11,4 @@
|
||||
// Add manually edited resources here...
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
SYS_SNOOPY_NT RCDATA "..\\SniffUSB.exe"
|
||||
//SYS_SNOOPY_NT RCDATA "..\\SniffUSB.exe"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -63,6 +63,9 @@
|
||||
#define IDD_SO7_UTIL_CAMERA 194
|
||||
#define IDD_SO7_TEMPERATURE_SENSOR 195
|
||||
#define IDD_SO7_UTIL_TEMPERATURE_DISPLAY 198
|
||||
#define IDD_SO7_UTIL_Robot_Control 200
|
||||
#define IDD_So7_Util_Keyence9011 201
|
||||
#define IDD_DIALOG_OPERATE_EXTRA_IO 204
|
||||
#define IDC_BUTTON_START_MACHINE 1000
|
||||
#define IDC_BUTTON_START_MACHINE3 1001
|
||||
#define IDC_BUTTON_START_POLL_58 1002
|
||||
@@ -204,6 +207,7 @@
|
||||
#define IDC_RADIO_HEX_ASCII2BIN 1149
|
||||
#define IDC_RADIO_2BIN 1149
|
||||
#define IDC_EDIT_MV_CONFIG_FILE 1150
|
||||
#define IDC_RADIO_BIN2HEX 1150
|
||||
#define IDC_RADIO_DUMP_BINARY 1153
|
||||
#define IDC_BUTTON_GET_MV_CONFIG 1154
|
||||
#define IDC_RADIO_DUMP_PRS 1154
|
||||
@@ -355,6 +359,7 @@
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_C1 1274
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_C1 1274
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_C0 1274
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_Z0 1274
|
||||
#define IDC_EDIT_FRESHSPEED_X2 1275
|
||||
#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ2 1275
|
||||
#define IDC_EDIT_MANUAL_MACHINE_MSG 1275
|
||||
@@ -394,6 +399,7 @@
|
||||
#define IDC_BUTTON_SAVE_REPETEST 1291
|
||||
#define IDC_EDIT_FRESHSPEED_Z5 1291
|
||||
#define IDC_CHECK_REPETESTY 1292
|
||||
#define IDC_BUTTON_SAVE2 1292
|
||||
#define IDC_CHECK_REPETESTZ 1293
|
||||
#define IDC_CHECK_REPETEST_ABSOLUTE 1294
|
||||
#define IDC_EDIT_MAXSPEED_X1 1298
|
||||
@@ -502,11 +508,13 @@
|
||||
#define IDC_CHECK_LKG5000_CONTINUE_READ2 1394
|
||||
#define IDC_CHECK_SO7_CONTROL_MODE_X 1394
|
||||
#define IDC_CHECK_PLC_TCPIP_SERVER_E__STOP 1394
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CYCLE 1394
|
||||
#define IDC_BUTTON_MANUAL_HOME 1395
|
||||
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2 1395
|
||||
#define IDC_CHECK_ 1396
|
||||
#define IDC_CHECK_REPETEST_VOLCOMP 1396
|
||||
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3 1396
|
||||
#define IDC_CHECK_MSG_LOG_ENABLE 1396
|
||||
#define IDC_BUTTON_CALIBRATE_ENCODER 1397
|
||||
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4 1397
|
||||
#define IDC_COMBOREPETEST_FROM 1398
|
||||
@@ -639,6 +647,8 @@
|
||||
#define IDC_BUTTON_START_SAMPLE_SCURVE 1519
|
||||
#define IDC_BUTTON_SAVE_PICTURE 1520
|
||||
#define IDC_BUTTON_SV2000E_SAVEFILE 1521
|
||||
#define IDC_BUTTON_SAVE_PICTURE2 1521
|
||||
#define IDC_BUTTON_SET_PARA 1521
|
||||
#define IDC_BTN_CONFIGURE_CALIBRATEV 1522
|
||||
#define IDC_BUTTON_SETUP_SO7CONFIG 1523
|
||||
#define IDC_BUTTON_SCAN_KEYENCE_LK_GLASER 1524
|
||||
@@ -670,6 +680,11 @@
|
||||
#define IDC_BUTTON_SO7_MOTION_SET_CNTS 1542
|
||||
#define IDC_BUTTON_SO7_TEMPERATURE_SENSOR_UPDATE 1542
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_CLOSE 1542
|
||||
#define IDC_BUTTON_So7_UTIL_REBOT_CONTROL_DISCONNECT 1542
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_CLOSE 1542
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_EXPORT 1542
|
||||
#define IDC_BUTTON_PROGRAM_EXPORT 1542
|
||||
#define IDC_BUTTON_SET_IO_0 1542
|
||||
#define IDC_BUTTON_STOP_SAMPLE_SCURVE 1543
|
||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_READOUT2 1543
|
||||
#define IDC_BUTTON_SO7_MOTION_CONFIG_OK2 1543
|
||||
@@ -700,6 +715,7 @@
|
||||
#define IDC_STATIC_SDK3000_PICTURE 1562
|
||||
#define IDC_RADIO_GRAY 1563
|
||||
#define IDC_RADIO_SV2000E_GRAY 1564
|
||||
#define IDC_RADIO_BINARZATION 1564
|
||||
#define IDC_BTN_CONFIGURE_MOVEVIN 1565
|
||||
#define IDC_EDIT_CONFIGURE_MSGOUT 1566
|
||||
#define IDC_EDIT_SO7CONFIG_ZOOMID 1567
|
||||
@@ -886,6 +902,7 @@
|
||||
#define IDD_SO7_VIDEOCARD_MV900 1723
|
||||
#define IDD_SO7_UTIL_PLC_TCPIP 1724
|
||||
#define IDD_SO7_UTIL_PLC_TCPIP_SERVER 1725
|
||||
#define IDD_SO7_VIDEOCARD_MINDVISION 1726
|
||||
#define IDC_RADIO_SPEED_SLOW 1770
|
||||
#define IDC_RADIO_SCALE 1772
|
||||
#define IDC_EDIT_SPEED_X 1773
|
||||
@@ -921,16 +938,27 @@
|
||||
#define IDC_BUTTON_IMAGEDLL_CCSPRIMA_START 1794
|
||||
#define IDC_BUTTON_SO7_TEMPERATURE_SENSOR_EXIT 1794
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_OPEN 1794
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_CONNECT 1794
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_OPEN 1794
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST 1794
|
||||
#define IDC_BUTTON_PROGRAM_CLEAR_LOG 1794
|
||||
#define IDC_BUTTON_SET_IO_1 1794
|
||||
#define IDC_COMBO_RWDATA_ADDR 1795
|
||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_CONNECT2 1795
|
||||
#define IDC_BUTTON_STIL_LASER_SET_MODE 1795
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST2 1795
|
||||
#define IDC_EDIT_MOTION_SPEEDY 1796
|
||||
#define IDC_COMBO_OUTPORT_NUMBER 1796
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST3 1796
|
||||
#define IDC_EDIT4 1797
|
||||
#define IDC_EDIT_MOTION_SPEEDZ 1797
|
||||
#define IDC_EDIT_SO7_EXTRIG_RESULT 1797
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_A2 1797
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_A2 1797
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_A0 1797
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SPEED 1797
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_AUTOTEST4 1797
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_GAUSS_TEST 1797
|
||||
#define IDC_EDIT_MOTION_SPEEDX 1798
|
||||
#define IDC_BUTTON_SCAN_KEYENCE_LK_H_LASER 1799
|
||||
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_H_LASER 1800
|
||||
@@ -939,6 +967,7 @@
|
||||
#define IDC_COMBO_SO7_HOMEMODE 1802
|
||||
#define IDC_COMBO_SO7_TEMOERATURE_SENSOR_PORT 1802
|
||||
#define IDC_COMBO_SO7_UTIL_TEMPERATURE_DISPLAY_PORT 1802
|
||||
#define IDC_COMBO_SO7_PROGRAM_CNCLIST 1802
|
||||
#define IDC_EDIT_ZOOM_TIME 1803
|
||||
#define IDC_RADIO_READ_INPUT_PORT 1804
|
||||
#define IDC_RADIO_READ_OUTPUT_PORT 1805
|
||||
@@ -1040,11 +1069,15 @@
|
||||
#define IDC_BUTTON_SO7_TRIGPULSE_READ_PARA 1855
|
||||
#define IDC_BUTTON_SO7_MOTION_GET_SEGMENT_DIS 1855
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_END 1855
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_SAVE 1855
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVON 1855
|
||||
#define IDC_BUTTON4 1856
|
||||
#define IDC_BUTTON_SET_SCALE_COEFFICIENT 1856
|
||||
#define IDC_BUTTON_SO7_MOTION_SET_SEGMENT_DIS 1856
|
||||
#define IDC_BUTTON_SO7_TEMPERATURE_SENSOR_END 1856
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_EXIT 1856
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_END 1856
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_STOP 1856
|
||||
#define IDC_BUTTON_STIL_GET_DATA 1857
|
||||
#define IDC_EDIT_STIL_INTERVAL 1858
|
||||
#define IDC_CHECK_STIL_CONTINUE_GET_DATA 1859
|
||||
@@ -1135,6 +1168,7 @@
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_Temperature3 1949
|
||||
#define IDC_EDIT16 1950
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_Temperature4 1950
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_N1 1950
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_UPDATE 1951
|
||||
#define IDC_BUTTON_SO7_UTIL_TEMPERATURE_DISPLAY_SAVE 1952
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_A1 1953
|
||||
@@ -1143,10 +1177,66 @@
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_B4 1955
|
||||
#define IDC_EDIT5 1956
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_C4 1956
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_B0 1956
|
||||
#define IDC_CHECK_PLC_TCPIP_SERVER_MEASURE_TRIG 1957
|
||||
#define IDC_CHECK4 1958
|
||||
#define IDC_CHECK_PLC_TCPIP_SERVER_FIX2 1958
|
||||
#define IDC_EDIT_SO7_UTIL_TEMPERATURE_DISPLAY_VALUE_A4 1959
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_Y0 1960
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_C0 1961
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_M0 1962
|
||||
#define IDC_EDIT8 1963
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_N0 1963
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X1 1964
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_Y1 1965
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_Z1 1966
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_A1 1967
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_B1 1968
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_C1 1969
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_M1 1970
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_RUN 1971
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_EXIT 1972
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X0 1973
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_X2 1973
|
||||
#define IDC_COMBO2 1974
|
||||
#define IDC_COMBO_SO7_UTIL_Keyence9011_BAUD 1974
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_RECV 1975
|
||||
#define IDC_BUTTON_SO7_UTIL_Keyence9011_EXIT 1976
|
||||
#define IDC_CHECK_SO7_UTIL_Keyence9011_CYCLE 1977
|
||||
#define IDC_EDIT_SO7_UTIL_Keyence9011_TIMER 1978
|
||||
#define IDC_COMBO_SO7_UTIL_Keyence9011_PORT 1979
|
||||
#define IDC_EDIT_SO7_UTIL_Keyence9011_RECVDATA 1980
|
||||
#define IDC_RADIO_SO7_keyence9011 1981
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PRO_SELECT 1983
|
||||
#define IDC_EDIT_SO7_REBOT_CONTROL_POSITION_PROGRAM 1984
|
||||
#define IDC_RADIO_SO7_ROBOT 1988
|
||||
#define IDC_BUTTON3 1989
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SAVEPROG 1989
|
||||
#define IDC_BUTTON_PLC_TCPIP_SERVER_IMPORT 1989
|
||||
#define IDC_BUTTON_SO7_PROGRAM_MOVETO_POINT 1989
|
||||
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SERVOFF 1990
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_SETSPEED 1991
|
||||
#define IDC_EDIT2 1992
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGVALUE 1992
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROG 1994
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNAME 1994
|
||||
#define IDC_BUTTON_ReadPosition 1995
|
||||
#define IDC_BUTTON_So7_UTIL_ROBOT_CONTORL_WRITEPROGNUMBER 1996
|
||||
#define IDC_EDIT_SO7_PROGRAM_DEADBAND 1997
|
||||
#define IDC_RADIO_PROJECT_58354 1999
|
||||
#define IDC_RADIO_PROJECT_583584 1999
|
||||
#define IDC_RADIO_PROJECT_598603 2000
|
||||
#define IDC_RADIO_CONTROL_EF1A 2001
|
||||
#define IDC_STATIC_SELECT_IO 2003
|
||||
#define IDC_STATIC_IO_OPRATION 2004
|
||||
#define IDC_BUTTON_READ_IO 2006
|
||||
#define IDC_STATIC_IO_STAURT 2007
|
||||
#define IDC_EDIT_IO_NUMBER 2008
|
||||
#define IDC_MFCBUTTON1 2009
|
||||
#define IDC_MFCBUTTON_IO_STAURT 2020
|
||||
#define IDC_BUTTON_IO_TEST 2030
|
||||
#define IDC_BUTTON_SET_MOTION_TYPE 2031
|
||||
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
|
||||
#define ID_EDIT_SO7_CONFIG_MOTION 32741
|
||||
|
||||
@@ -1154,9 +1244,9 @@
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 200
|
||||
#define _APS_NEXT_RESOURCE_VALUE 206
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 1960
|
||||
#define _APS_NEXT_CONTROL_VALUE 2010
|
||||
#define _APS_NEXT_SYMED_VALUE 104
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user