增加EF3解析相关按钮的界面设计

This commit is contained in:
wio
2022-10-08 15:38:17 +08:00
parent c01cb1400f
commit 58eabbedad
17 changed files with 193 additions and 218 deletions
+1
View File
@@ -3,3 +3,4 @@
*.resources
*.licenses
HSI_HexagonMI_EF3/x64/Debug/
.vscode/
+3 -3
View File
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.2.32616.157
# Visual Studio 15
VisualStudioVersion = 15.0.28307.2017
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_Sevenocean_EF1", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_Sevenocean_EF1\HSI_Sevenocean_EF1.vcxproj", "{09F6ECED-CD30-4ACA-BD5E-FFB4F53C353A}"
EndProject
@@ -17,7 +17,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACS Motion", "Motion\ACS Mo
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_CONTROLLER_WPFTest", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_GOOGOL_GTS800_WPFTest\HSI_CONTROLLER_WPFTest.csproj", "{A21A5B56-EB1C-4377-9E76-141FAC055988}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "..\项目资料\锁存板(串口)\SerialAssistant-Version_1.3.0\WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "SerialAssistant\WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+2 -2
View File
@@ -189,9 +189,9 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome)
}
//===========================================================================
/**
* .询问机台是否在原点
* .ѯʻ̨Ƿԭ
*
* \param bHomed 是否在 原 点
* \param bHomed Ƿ ԭ
* \return
*/
//HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed)
+10 -10
View File
@@ -284,18 +284,18 @@ enum HSI_MOTION_IO_TYPE
{
HSI_MOTION_INPUT = 0x0001,
HSI_MOTION_INPUT_LIMIT_SWITCH,
HSI_MOTION_INPUT_CH1,//固高、众为兴、EF1输入
HSI_MOTION_INPUT_CH1,//̸ߡΪˡEF1
HSI_MOTION_INPUT_CH2,
HSI_MOTION_INPUT_CH3,//串口控制器输入
HSI_MOTION_INPUT_CH4,//众为兴运动控制卡测试输入
HSI_MOTION_INPUT_ALARM,//驱动报警
HSI_MOTION_INPUT_CH3,//ڿ
HSI_MOTION_INPUT_CH4,//Ϊ˶ƿ
HSI_MOTION_INPUT_ALARM,//
HSI_MOTION_OUTPUT = 0x0100,
HSI_MOTION_OUTPUT_LASER_PEN,
HSI_MOTION_OUTPUT_CH1,//固高、众为兴、EF1输出
HSI_MOTION_OUTPUT_CH1,//̸ߡΪˡEF1
HSI_MOTION_OUTPUT_CH2,
HSI_MOTION_OUTPUT_CH3,//串口控制器输出
HSI_MOTION_OUTPUT_CH4//众为兴运动控制卡测试输出
HSI_MOTION_OUTPUT_CH3,//ڿ
HSI_MOTION_OUTPUT_CH4//Ϊ˶ƿ
};
const UINT HSI_MOTION_AXIS_ALL = HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_Y | HSI_MOTION_AXIS_Z;
@@ -326,9 +326,9 @@ enum HSI_SCAN_MOTION_TYPE
HSI_SCAN_MOTION_SPEC_LOCA = 100,//EF1
HSI_SCAN_MOTION_EQ_DIS,
HSI_SCAN_MOTION_EQ_DIS_II,
HSI_SCAN_MOTION_LINEAR_TEST,//测试使用
HSI_SCAN_MOTION_EQ_TEST,//测试使用
HSI_SCAN_MOTION_MANUAL_TEST//测试使用
HSI_SCAN_MOTION_LINEAR_TEST,//ʹ
HSI_SCAN_MOTION_EQ_TEST,//ʹ
HSI_SCAN_MOTION_MANUAL_TEST//ʹ
};
enum HSI_ZOOM_TYPE
+116 -116
View File
@@ -1,4 +1,4 @@
// HSI_Motion.cpp : 定义 DLL 的初始化例程。
// HSI_Motion.cpp : 定义 DLL 的初始化例程。
//
#include "stdafx.h"
#include "HSI.h"
@@ -18,7 +18,7 @@ using namespace std;
//===========================================================================
HSI_Motion *g_pHSI_Motion = nullptr;
CLogger extern *g_pLogger = nullptr;
HANDLE hCom;//串口句柄
HANDLE hCom;//串口句柄
const int WSA_MAJOR_VERSION = 2;
const int WSA_MINOR_VERSION = 2;
@@ -127,7 +127,7 @@ HSI_Motion::HSI_Motion()
bSaveSpeedFlag = false;
m_IsUseManualRunin = 0;
fourthAxisFlag = false;
bCircleRun = false;//圆弧插补
bCircleRun = false;//圆弧插补
m_UseAxisNum = 1;
jogAxisNum = 0;
jogDirFlag = false;
@@ -136,9 +136,9 @@ HSI_Motion::HSI_Motion()
set_start = 0;
set_end = 0;
m_iSpeedType = 0;
m_axisDirX = 0;//探针运动时X轴的运动方向
m_axisDirY = 0;//探针运动时Y轴的运动方向
m_axisDirZ = 0;//探针运动时Z轴的运动方向
m_axisDirX = 0;//探针运动时X轴的运动方向
m_axisDirY = 0;//探针运动时Y轴的运动方向
m_axisDirZ = 0;//探针运动时Z轴的运动方向
m_probeSeekSpeed = 0;
bUseGlueDispenser = false;
@@ -147,9 +147,9 @@ HSI_Motion::HSI_Motion()
m_iGlueAccSpeed = 1;
GlueDispenserindexNum = 0;
m_isUseAport = 0;//A串口
m_isUseAport = 0;//A串口
m_portAnum = 0;
m_isUseBport = 0;//B串口
m_isUseBport = 0;//B串口
m_portBnum = 0;
m_bEmergencyState = false;
SpCompleteTStart = 0;
@@ -182,7 +182,7 @@ HSI_Motion::HSI_Motion()
}
CTime tm = CTime::GetCurrentTime();
CString csTime = tm.Format("%Y-%m-%d");//显示年月日
CString csTime = tm.Format("%Y-%m-%d");//显示年月日
CString dir = L"\\Log\\" + csTime += L".SO7_EF3.Log";
g_pLogger = new CLogger(dir);
g_pLogger2 = new CLogger(L"\\Log\\EF3_SumTime.Log");
@@ -190,7 +190,7 @@ HSI_Motion::HSI_Motion()
{
for (int j = 0; j < 5; j++)
{
m_JogDriveSpeed[j][i] = 10; //表示5个档位
m_JogDriveSpeed[j][i] = 10; //表示5个档位
m_JogStartSpeed[j][i] = 10;
m_JogAccLine[j][i] = 5;
m_JogAccCurve[j][i] = 0;
@@ -293,12 +293,12 @@ bool HSI_Motion::PortInit(int iSerialComPort, int iBuadRate)
sprintf_s(buf, "COM%d", iSerialComPort);
CString comName(buf);
hCom = CreateFile(comName,
GENERIC_READ | GENERIC_WRITE, //允许读和写
0, //独占方式,串口必须为0
GENERIC_READ | GENERIC_WRITE, //允许读和写
0, //独占方式,串口必须为0
NULL,
OPEN_EXISTING, //打开而不是创建,串口必须为打开
0, //同步方式,同步执行时,函数直到操作完成后才返回
NULL);//串口必须为NULL
OPEN_EXISTING, //打开而不是创建,串口必须为打开
0, //同步方式,同步执行时,函数直到操作完成后才返回
NULL);//串口必须为NULL
if (hCom != (HANDLE)-1)
{
PurgeComm(hCom, PURGE_TXCLEAR | PURGE_RXCLEAR);
@@ -315,7 +315,7 @@ bool HSI_Motion::PortInit(int iSerialComPort, int iBuadRate)
return false;//Setting Error!!!!
}
//设置读写超时时间
//设置读写超时时间
COMMTIMEOUTS to;
memset(&to, 0, sizeof(to));
to.ReadIntervalTimeout = 100;
@@ -371,7 +371,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3控制器打开失败,串口");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3控制器打开失败,串口");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -418,7 +418,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
g_pLogger->SendAndFlushWithTime(L"[Startup] DriverAlarmStatus HSI_STATUS_FAILED\n");
//return HSI_STATUS_FAILED;
}
//无效软限位
//无效软限位
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MOTOR_SET;
m_cSendData[2] = AXIS_XYZU;
@@ -431,12 +431,12 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
m_cSendData[9] = 0;
m_cSendData[10] = 0;
m_cSendData[11] = 0;
m_WriteByte = Send_Command(0, (const char*)m_cSendData, m_SendDataLength);//初始化防止第一次无效
m_WriteByte = Send_Command(0, (const char*)m_cSendData, m_SendDataLength);//初始化防止第一次无效
Sleep(5);
m_WriteByte = Send_Command(0, (const char*)m_cSendData, m_SendDataLength);
g_pLogger->SendAndFlushWithTime(L"[Startup] Limit no Enable\n");
//设置方向4个轴的方向,按位
//设置方向4个轴的方向,按位
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MOTOR_SET;
m_cSendData[2] = AXIS_X;
@@ -448,28 +448,28 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
Sleep(10);
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MDATA_INIT;
m_cSendData[2] = m_motorType & 0xff; //电机类型(步进电机或伺服电机)
m_cSendData[3] = m_IsUseExternalTrigger; //是否启用外触发功能
m_cSendData[4] = m_IsUseSixRingEightArea; //是否启用六环八区灯功能
m_cSendData[2] = m_motorType & 0xff; //电机类型(步进电机或伺服电机)
m_cSendData[3] = m_IsUseExternalTrigger; //是否启用外触发功能
m_cSendData[4] = m_IsUseSixRingEightArea; //是否启用六环八区灯功能
m_cSendData[5] = m_IsHardLimit;
m_cSendData[6] = m_IsEnableAxis;
m_cSendData[7] = m_IsProbe; //是否启用探针
m_cSendData[8] = m_EF3LightType; //5V高频灯光配置
m_cSendData[9] = m_IsUseRocker; //是否启用摇杆
m_cSendData[10] = m_IsHavePattern; //光栅
m_cSendData[11] = m_AxisHomeDirection; //轴回家方向
m_cSendData[12] = m_IsCollectPos; //是否从串口打印位置
m_cSendData[16] = m_IsLightDebug; //是否不回家也能调试灯光
m_cSendData[7] = m_IsProbe; //是否启用探针
m_cSendData[8] = m_EF3LightType; //5V高频灯光配置
m_cSendData[9] = m_IsUseRocker; //是否启用摇杆
m_cSendData[10] = m_IsHavePattern; //光栅
m_cSendData[11] = m_AxisHomeDirection; //轴回家方向
m_cSendData[12] = m_IsCollectPos; //是否从串口打印位置
m_cSendData[16] = m_IsLightDebug; //是否不回家也能调试灯光
if (m_IsStartInput == 1 && m_IsUseRocker == 2)
{
m_cSendData[14] = m_StartInputPort >> 8 & 0xff; //外部启动端口号 H
m_cSendData[15] = m_StartInputPort & 0xff; //外部启动端口号 L
m_cSendData[14] = m_StartInputPort >> 8 & 0xff; //外部启动端口号 H
m_cSendData[15] = m_StartInputPort & 0xff; //外部启动端口号 L
}
m_WriteByte = Send_Command(0, (const char*)m_cSendData, m_SendDataLength);
Sleep(10);
////步进电机补偿值设定
////步进电机补偿值设定
//if (m_motorType == 0)
//{
// m_cSendData[0] = CT_MOTOR;
@@ -485,7 +485,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
// g_pLogger->SendAndFlushWithTime(L"[Startup] Set Encoder Dir\n");
//}
//多光源板
//多光源板
if (m_bISUseMoreLights > 0)
{
for (int i = 0; i < m_bISUseMoreLights; i++)
@@ -505,7 +505,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板打开网口失败");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板打开网口失败");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -529,7 +529,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
}
}
//摇杆速度设置
//摇杆速度设置
if (m_IsUseRocker == 1)
{
m_cSendData[0] = CT_MOTOR;
@@ -557,7 +557,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
Sleep(5);
g_pLogger->SendAndFlushWithTime(L"[Startup] Set Rocker Success\n");
}
//摇杆2下载档位
//摇杆2下载档位
if (m_IsUseRocker == 2)
{
SetAllGears();
@@ -604,7 +604,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly)
return rStatus;
}
//获取EF3固件版本
//获取EF3固件版本
HSI_STATUS HSI_Motion::GetFirmwareVersion(byte *version)
{
m_Thread_StateData = HSI_THREAD_PAUSED;
@@ -663,7 +663,7 @@ HSI_STATUS HSI_Motion::GetFirmwareVersion(byte *version)
return HSI_STATUS_NORMAL;
}
//回家
//回家
//===========================================================================
HSI_STATUS HSI_Motion::HomeMachine(bool bHomed)
{
@@ -680,7 +680,7 @@ HSI_STATUS HSI_Motion::HomeMachine(bool bHomed)
if (g_pHSI_Motion)
{
g_pLogger->SendAndFlushWithTime(L"[HomeMachine] In\n");
//判断是否需要回家
//判断是否需要回家
bool home(false);
IsHomed(home);
if (home == true)
@@ -700,7 +700,7 @@ HSI_STATUS HSI_Motion::HomeMachine(bool bHomed)
}
if (m_bEmergencyState)
{
AfxMessageBox(_T("急停或安全门或安全光幕触发!"));
AfxMessageBox(_T("急停或安全门或安全光幕触发!"));
return HSI_STATUS_FAILED;
}
CurrentHomeMachineState = E_EF3_HOME_ING;
@@ -842,7 +842,7 @@ HSI_STATUS HSI_Motion::HomeFindIndex()
if (m_Home_Machine_Axis[i] == 1)
{
AxisTypes = IndexConvertAxis(i);
//无效软限位
//无效软限位
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MOTOR_SET;
m_cSendData[2] = AxisTypes;
@@ -974,7 +974,7 @@ HSI_STATUS HSI_Motion::HomeFindIndex()
}
if (m_bEmergencyState)
{
AfxMessageBox(_T("急停或安全门或安全光幕触发!"));
AfxMessageBox(_T("急停或安全门或安全光幕触发!"));
return HSI_STATUS_FAILED;
}
if (Count > 25000)
@@ -984,7 +984,7 @@ HSI_STATUS HSI_Motion::HomeFindIndex()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "回家超时");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "回家超时");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -995,22 +995,22 @@ HSI_STATUS HSI_Motion::HomeFindIndex()
bool bHomed = true;
if ((m_SO7_Serial.m_RecvData[38] & 0x01) == 0 && m_Home_Machine_Axis[1] == 1)
{
strcat_s(MessageHome, 30, "1、");
strcat_s(MessageHome, 30, "1、");
bHomed = false;
}
if ((m_SO7_Serial.m_RecvData[38] & 0x02) == 0 && m_Home_Machine_Axis[2] == 1)
{
strcat_s(MessageHome, 30, "2、");
strcat_s(MessageHome, 30, "2、");
bHomed = false;
}
if ((m_SO7_Serial.m_RecvData[38] & 0x04) == 0 && m_Home_Machine_Axis[3] == 1)
{
strcat_s(MessageHome, 30, "3、");
strcat_s(MessageHome, 30, "3、");
bHomed = false;
}
if ((m_SO7_Serial.m_RecvData[38] & 0x08) == 0 && m_Home_Machine_Axis[4] == 1)
{
strcat_s(MessageHome, 30, "4、");
strcat_s(MessageHome, 30, "4、");
bHomed = false;
}
if (!bHomed)
@@ -1019,7 +1019,7 @@ HSI_STATUS HSI_Motion::HomeFindIndex()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcat_s(MessageHome, 100, "轴回家失败!");
strcat_s(MessageHome, 100, "轴回家失败!");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, MessageHome);
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
@@ -1069,11 +1069,11 @@ HSI_STATUS HSI_Motion::IsHomed(bool &bHomed)
g_pLogger->SendAndFlushWithTime(L"[IsHomed] In\n");
short isHomed[5] = { 1, 1, 1, 1, 1 };
//int Count = 0;
//if (bHomed == true)//定位是增大判断精度
//if (bHomed == true)//定位是增大判断精度
//{
// Count = 1000;
//}
//所有轴都不需要回家
//所有轴都不需要回家
if (m_Home_Machine_Axis[1] == 0 && m_Home_Machine_Axis[2] == 0 && m_Home_Machine_Axis[3] == 0 && m_Home_Machine_Axis[4] == 0)
{
g_pLogger->SendAndFlushWithTime(L"[IsHomed] No Axis Go Home E_GTS_HOME_FINISHED\n");
@@ -1082,7 +1082,7 @@ HSI_STATUS HSI_Motion::IsHomed(bool &bHomed)
return HSI_STATUS_NORMAL;
}
//判断是否需要回家
//判断是否需要回家
int Delay = 0;
while (m_SO7_Serial.m_RecvData[0] != 2)
{
@@ -1176,7 +1176,7 @@ HSI_STATUS HSI_Motion::ZeroPos(bool bZeroPos)
return rStatus;
}
//JOG模式
//JOG模式
//===========================================================================
HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
{
@@ -1221,7 +1221,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
else
{
//无效软限位
//无效软限位
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MOTOR_SET;
m_cSendData[2] = AxisTypes;
@@ -1254,7 +1254,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
{
if (AxisTypes == AXIS_X && m_motorType & 0x01)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[1] / m_Resolution[1]) - (int)(m_N_Work_Limit[1] / m_Resolution[1]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1285,7 +1285,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
else if (AxisTypes == AXIS_Y && m_motorType & 0x02)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[2] / m_Resolution[2]) - (int)(m_N_Work_Limit[2] / m_Resolution[2]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1316,7 +1316,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
if (AxisTypes == AXIS_Z && m_motorType & 0x04)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[3] / m_Resolution[3]) - (int)(m_N_Work_Limit[3] / m_Resolution[3]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1347,7 +1347,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
if (AxisTypes == AXIS_U && m_motorType & 0x08)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[4] / m_Resolution[4]) - (int)(m_N_Work_Limit[4] / m_Resolution[4]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1426,7 +1426,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
m_cSendData[0] = CT_MOTOR;
if (AxisNumber == 1 || AxisNumber == 2)
{
if (!bJOGDir)//方向
if (!bJOGDir)//方向
{
m_cSendData[1] = CT_START_JOG_NEG;
}
@@ -1437,7 +1437,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
else
{
if (bJOGDir)//方向
if (bJOGDir)//方向
{
m_cSendData[1] = CT_START_JOG_POS;
}
@@ -1455,7 +1455,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
}
return rStatus;
}
//JOG模式
//JOG模式
//===========================================================================
HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
{
@@ -1500,7 +1500,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
}
else
{
//无效软限位
//无效软限位
m_cSendData[0] = CT_MOTOR;
m_cSendData[1] = CT_MOTOR_SET;
m_cSendData[2] = AxisTypes;
@@ -1537,7 +1537,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
{
if (AxisTypes == AXIS_X && m_motorType & 0x01)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[1] / m_Resolution[1]) - (int)(m_N_Work_Limit[1] / m_Resolution[1]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1568,7 +1568,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
}
else if (AxisTypes == AXIS_Y && m_motorType & 0x02)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[2] / m_Resolution[2]) - (int)(m_N_Work_Limit[2] / m_Resolution[2]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1599,7 +1599,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
}
if (AxisTypes == AXIS_Z && m_motorType & 0x04)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[3] / m_Resolution[3]) - (int)(m_N_Work_Limit[3] / m_Resolution[3]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1630,7 +1630,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
}
if (AxisTypes == AXIS_U && m_motorType & 0x08)
{
if (!bJOGDir)//负方向
if (!bJOGDir)//负方向
{
RemainPul = (int)(now_pos[4] / m_Resolution[4]) - (int)(m_N_Work_Limit[4] / m_Resolution[4]);
limitSDPul = (DriveSpeed - StartSpeed) * 13;
@@ -1709,7 +1709,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
m_cSendData[0] = CT_MOTOR;
if (AxisNumber == 1 || AxisNumber == 2)
{
if (!bJOGDir)//方向
if (!bJOGDir)//方向
{
m_cSendData[1] = CT_START_JOG_NEG;
}
@@ -1720,7 +1720,7 @@ HSI_STATUS HSI_Motion::JoyStick(UINT AxisTypes, long Speed)
}
else
{
if (bJOGDir)//方向
if (bJOGDir)//方向
{
m_cSendData[1] = CT_START_JOG_POS;
}
@@ -1849,7 +1849,7 @@ int HSI_Motion::P2P(short AxisNumber, long Pos, double Speed, double Acc)
return 0;
}
//运动控制部分
//运动控制部分
//===========================================================================
HSI_STATUS HSI_Motion::GetPositionEncPrfMulti(UINT AxisTypes, double *EncPos, double *PrfPos, int Count)
{
@@ -1919,7 +1919,7 @@ HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double &PositionX, double
{
auto rStatus = HSI_STATUS_NORMAL;
UNREFERENCED_PARAMETER(AxisTypes);
//读取3个轴的位置
//读取3个轴的位置
CString tempStr;
if (g_pHSI_Motion)
{
@@ -1980,7 +1980,7 @@ HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double &PositionX, double
HSI_STATUS HSI_Motion::GetEncoderXyz(long *lEncoderVal)
{
auto rStatus = HSI_STATUS_NORMAL;
//读取3个轴的编码器值
//读取3个轴的编码器值
if (g_pHSI_Motion)
{
if (m_SO7_Serial.m_RecvData[0] == 2)
@@ -2112,19 +2112,19 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double
Pos_t[4] = NowPos[4] = (int)(m_EncPos[4] / m_Resolution[4]);
}
if (m_motorType & 0x01) //步进电机
if (m_motorType & 0x01) //步进电机
Pos[1] = (int)(PositionX / m_Resolution[1]) - NowPos[1];
else
Pos[1] = (int)(PositionX / m_Resolution[1]) - Pos_t[1];
if (m_motorType & 0x02) //步进电机
if (m_motorType & 0x02) //步进电机
Pos[2] = (int)(PositionX / m_Resolution[2]) - NowPos[2];
else
Pos[2] = (int)(PositionY / m_Resolution[2]) - Pos_t[2];
if (m_motorType & 0x04) //步进电机
if (m_motorType & 0x04) //步进电机
Pos[3] = (int)(PositionX / m_Resolution[3]) - NowPos[3];
else
Pos[3] = (int)(PositionZ / m_Resolution[3]) - Pos_t[3];
if (m_motorType & 0x08) //步进电机
if (m_motorType & 0x08) //步进电机
Pos[4] = (int)(PositionX / m_Resolution[4]) - NowPos[4];
else
Pos[4] = (int)(m_PositionA / m_Resolution[4]) - Pos_t[4];
@@ -2454,7 +2454,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double
}
Sleep(10);
//启动插补和定位功能
//启动插补和定位功能
/* if (m_motorType == 1)
{
send_pos_data[0] = CT_MOTOR;
@@ -2617,7 +2617,7 @@ HSI_STATUS HSI_Motion::SetCircleInterpolate(double PositionX, double PositionY
return rStatus;
}
//探针接口
//探针接口
//===========================================================================
void HSI_Motion::ProbeRetractManDist(int RetractManDist)
{
@@ -2750,7 +2750,7 @@ HSI_STATUS HSI_Motion::JogProbe(UINT AxisTypes, double Speed)
return rStatus;
}
//读取配置
//读取配置
//===========================================================================
HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
{
@@ -2762,7 +2762,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
CString temp = L"";
CString strGear[5] = { L"GEAR0_", L"GEAR1_", L"GEAR2_", L"GEAR3_", L"GEAR4_" };
CString axisNum[5] = { L"0", L"1", L"2", L"3", L"4" };
//判断Log目录是否存在,不存在就创建
//判断Log目录是否存在,不存在就创建
if (CreateDirectory(m_AppPath + L"\\Log", NULL))
{
g_pLogger->SendAndFlushWithTime(L"[Load_EF3_Motion_Inifile] Create Log Directory\n");
@@ -2775,7 +2775,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3_Motion.ini文件不存在!");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3_Motion.ini文件不存在!");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -2836,7 +2836,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
m_setPositionPrecision = GetPrivateProfileInt(L"SETPOSITION", L"SETPPSITION_PRECISION", 1, csAppPath);
m_setPositionNum = GetPrivateProfileInt(L"SETPOSITION", L"SETPOSITION_NUMBER", 1, csAppPath);
//两块四路光源板
//两块四路光源板
m_isUseAport = GetPrivateProfileInt(L"COMPORT", L"IS_COM_PORT_A", 0, csAppPath);
m_portAnum = GetPrivateProfileInt(L"COMPORT", L"COM_PORT_A", 0, csAppPath);
m_isUseBport = GetPrivateProfileInt(L"COMPORT", L"IS_COM_PORT_B", 0, csAppPath);
@@ -2909,7 +2909,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Config_Inifile(CString GoogolIniFile)
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3_Config.ini文件不存在!");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3_Config.ini文件不存在!");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -2977,7 +2977,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Config_Inifile(CString GoogolIniFile)
return rStatus;
}
//读取/设置光栅尺精度
//读取/设置光栅尺精度
//===========================================================================
HSI_STATUS HSI_Motion::GetScaleResolution(double &_ScaleX, double &_ScaleY, double &_ScaleZ)
{
@@ -3003,7 +3003,7 @@ HSI_STATUS HSI_Motion::SetScaleResolution(double _ScaleX, double _ScaleY, double
return rStatus;
}
//回调定位完成
//回调定位完成
//===========================================================================
void HSI_Motion::SendMsgMotionFinished()
{
@@ -3014,7 +3014,7 @@ void HSI_Motion::SendMsgMotionFinished()
EventCallback(sEvenProp);
}
//回调探针运行
//回调探针运行
//===========================================================================
void HSI_Motion::SendMsgProbeFinished()
{
@@ -3095,7 +3095,7 @@ void HSI_Motion::UpdateMotionState()
// double ProPulse[5] = { 0.0 };
if (interpolationflag&&m_motorType)
{
while (Count < m_SetPotion_Count[1])//到位次数判断
while (Count < m_SetPotion_Count[1])//到位次数判断
{
Sleep(2);
GetPositionXyz(HSI_MOTION_AXIS_ALL, prfpos[1], prfpos[2], prfpos[3], prfpos[0]);
@@ -3122,7 +3122,7 @@ void HSI_Motion::UpdateMotionState()
Count++;
g_pLogger->SendAndFlushWithTime(L"[UpdateMotionState] m_SetPotion_Count = %d\n", Count);
}
//if (Count == m_SetPotion_Count[1]) //超时退出
//if (Count == m_SetPotion_Count[1]) //超时退出
//{
// if (g_IsClose == false)
// {
@@ -3131,7 +3131,7 @@ void HSI_Motion::UpdateMotionState()
// sEvenProp.EventType = HSI_EVENT_ERROR;
// sEvenProp.EventID = HSI_EVENT_MOTION;
// sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
// strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "Nowait_HSI定位超时!");
// strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "Nowait_HSI定位超时!");
// EventCallback(sEvenProp);
// }
// else
@@ -3164,7 +3164,7 @@ void HSI_Motion::UpdateMotionState()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "Nowait_EF3定位超时!");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "Nowait_EF3定位超时!");
EventCallback(sEvenProp);
}
switch (CurrentMotionState)
@@ -3207,7 +3207,7 @@ void HSI_Motion::UpdateMotionStateIO()
UINT recvData = 0;
while (m_Thread_StateIO == HSI_THREAD_RUNNING)
{
//1个脚踏开关
//1个脚踏开关
Sleep(3);
GetDIO(HSI_MOTION_INPUT_CH1, m_InputStatus);
if (m_IsStartInput == 1)
@@ -3371,7 +3371,7 @@ void HSI_Motion::DoEvents()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "DoEvents_异常");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "DoEvents_异常");
EventCallback(sEvenProp);
}
if (g_IsClose)
@@ -3445,12 +3445,12 @@ HSI_STATUS HSI_Motion::GetDIO(UINT IOChannel, UINT& _Status)
{
_Status = m_SO7_Serial.m_RecvData[40];
}
if (IOChannel == HSI_MOTION_INPUT_CH1) //获取通用输入
if (IOChannel == HSI_MOTION_INPUT_CH1) //获取通用输入
{
_Status = m_SO7_Serial.m_RecvData[34];
_Status = (m_SO7_Serial.m_RecvData[35] | (_Status << 8)) & 0xffff;
}
if (IOChannel == HSI_MOTION_OUTPUT_CH1) //获取通用输出
if (IOChannel == HSI_MOTION_OUTPUT_CH1) //获取通用输出
{
_Status = m_SO7_Serial.m_RecvData[36];
_Status = (m_SO7_Serial.m_RecvData[37] | (_Status << 8)) & 0xffff;
@@ -3549,7 +3549,7 @@ HSI_STATUS HSI_Motion::GetAxisStatus(int* _Status)
}
//===========================================================================
//暂停和关闭
//暂停和关闭
HSI_STATUS HSI_Motion::AbortMotion()
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3653,7 +3653,7 @@ HSI_STATUS HSI_Motion::Shutdown()
}
//===========================================================================
//触发灯光
//触发灯光
HSI_STATUS HSI_Motion::SetTriggerLight(int triggleNum, int delayLighting, int delayLightBefor, int triggleMode, double* Intensities)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3715,7 +3715,7 @@ HSI_STATUS HSI_Motion::SetTriggerLight(int triggleNum, int delayLighting, int de
return rStatus;
}
//硬件触发拍照
//硬件触发拍照
//===========================================================================
HSI_STATUS HSI_Motion::DCCPPStartPoint(double *startPoint)
{
@@ -3736,7 +3736,7 @@ HSI_STATUS HSI_Motion::DCCScanSetData(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType
auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Motion)
{
//触发的位置为相对位置,用法一般是移动到起点位置,再开始设置触发位置(相对位置),最终设置终点位置
//触发的位置为相对位置,用法一般是移动到起点位置,再开始设置触发位置(相对位置),最终设置终点位置
g_pLogger->SendAndFlushWithTime(L"[DCCScanSetData] In\n");
int axisNum;
unsigned char m_SendDCCData[64] = { 0 };
@@ -4272,7 +4272,7 @@ HSI_STATUS HSI_Motion::DCCForLightPlate()
return rStatus;
}
//转盘
//转盘
//===========================================================================
HSI_STATUS HSI_Motion::StartPlcJob(int* CamerasDis, int* BinsDis, int SubArea, int filterTime1, int filterTime2, int pluseSumDis)
{
@@ -4287,7 +4287,7 @@ HSI_STATUS HSI_Motion::StartPlcJob(int* CamerasDis, int* BinsDis, int SubArea, i
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "开始前请确认当前位置大于零!");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "开始前请确认当前位置大于零!");
EventCallback(sEvenProp);
return HSI_STATUS_FAILED;
}
@@ -4387,7 +4387,7 @@ HSI_STATUS HSI_Motion::GetTriggleCount(int *nCount, int& nArea)
return rStatus;
}
//===========================================================================
//点胶
//点胶
HSI_STATUS HSI_Motion::GluePPSpnts(int* ppsDir, double* gluePPSPos, int* delayLightBefore, int* lightTime, double* lightData, int num)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -4395,20 +4395,20 @@ HSI_STATUS HSI_Motion::GluePPSpnts(int* ppsDir, double* gluePPSPos, int* delayLi
{
unsigned char send_gluePPS_data[64] = { 0 };
send_gluePPS_data[0] = CT_GLUEDISPENSER;
send_gluePPS_data[1] = 0x01; //擦除指令
send_gluePPS_data[1] = 0x01; //擦除指令
m_WriteByte = Send_Command(0, (const char*)send_gluePPS_data, m_SendDataLength);
Sleep(200);
int posIndex = 0;
int loadFeet[4];
int j = 0;
int c = 0; //触发计数
int c = 0; //触发计数
int dirType = 0;
int saveDir = 0;
int duanNum = 0;
double triggerPnt[4];
double savePPSPnt[4];
GlueDispenserindexNum = 0;
#pragma region 拍照点
#pragma region 拍照点
for (size_t i = 0; i < num; i++)
{
if (i == 0)
@@ -5274,7 +5274,7 @@ HSI_STATUS HSI_Motion::GetPntsDistance(double& pDistance, int& spTimeCount)
return rStatus;
}
//===========================================================================
//运动控制参数读取及设置
//运动控制参数读取及设置
//===========================================================================
int HSI_Motion::SpeedPercent(int AxisNum, double &Speed, int &DirveSpeed, int &StartSpeed, int &AccLine, int &DecLine, int &AccCurve, int &DecCurve)
{
@@ -5338,7 +5338,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double &Speed, int &DirveSpeed, int &S
return (int)Speed;
}
//===========================================================================
//JoyStick运动控制参数读取及设置
//JoyStick运动控制参数读取及设置
//===========================================================================
bool HSI_Motion::SpeedPercentJoyStick(int AxisNum, long &Speed, int &DirveSpeed, int &StartSpeed, int &AccLine, int &DecLine, int &AccCurve, int &DecCurve)
{
@@ -5505,7 +5505,7 @@ double HSI_Motion::LimitOver(UINT AxisTypes, double &LimitPos)
{
switch (AxisNumber)
{
case 1: //轴1
case 1: //轴1
{
if (LimitPos >= m_P_Work_Limit[1])
{
@@ -6201,7 +6201,7 @@ unsigned __stdcall HSI_Motion::m_ThreadData(LPVOID pThis)
}
//===========================================================================
//JOG运行到软限位的运动调节
//JOG运行到软限位的运动调节
//===========================================================================
void HSI_Motion::UpdateMotionStateJOGStop()
{
@@ -6311,7 +6311,7 @@ void HSI_Motion::UpdateMotionStateJOGStop()
case 4:
{
//第四轴未添加
//第四轴未添加
} break;
default:
break;
@@ -6399,7 +6399,7 @@ unsigned __stdcall HSI_Motion::m_ThreadJOGStop(LPVOID pThis)
}
}
//===========================================================================
//无用
//无用
HSI_STATUS HSI_Motion::IOStep(bool RunSts)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -6465,7 +6465,7 @@ BOOL HSI_Motion::Send_Command(int com, const char* _SendData, DWORD SendDataLeng
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3控制器已断开连接");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "EF3控制器已断开连接");
EventCallback(sEvenProp);
}
}
@@ -6481,7 +6481,7 @@ BOOL HSI_Motion::Send_Command(int com, const char* _SendData, DWORD SendDataLeng
/////////////////////////////////////////////////////////////////////////
#pragma region //网口通信8路 26路光源板通信
#pragma region //网口通信8路 26路光源板通信
#pragma warning(disable:4996)
TCPIP_RETURN_CODE HSI_Motion::TCPConnect(int index, char* Address, u_short port)
@@ -6505,7 +6505,7 @@ TCPIP_RETURN_CODE HSI_Motion::TCPConnect(int index, char* Address, u_short port)
{
int iMode = 1;
int i = 0;
int retVal = ioctlsocket(m_socket[index], FIONBIO, (u_long FAR*)&iMode);//非阻塞连接
int retVal = ioctlsocket(m_socket[index], FIONBIO, (u_long FAR*)&iMode);//非阻塞连接
if (retVal == SOCKET_ERROR)
{
closesocket(m_socket[index]);
@@ -6545,7 +6545,7 @@ TCPIP_RETURN_CODE HSI_Motion::TCPConnect(int index, char* Address, u_short port)
}
}
iMode = 0;
retVal = ioctlsocket(m_socket[index], FIONBIO, (u_long FAR*)&iMode);//设置阻塞
retVal = ioctlsocket(m_socket[index], FIONBIO, (u_long FAR*)&iMode);//设置阻塞
if (retVal == SOCKET_ERROR)
{
closesocket(m_socket[index]);
@@ -6680,7 +6680,7 @@ TCPIP_RETURN_CODE HSI_Motion::TCPSend()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板已断开连接");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板已断开连接");
EventCallback(sEvenProp);
m_ThreadTCP_State = TCPIP_THREAD_EXIT;
closesocket(m_socket[m_selectedIndex]);
@@ -6723,7 +6723,7 @@ TCPIP_RETURN_CODE HSI_Motion::TCPSend()
sEvenProp.EventType = HSI_EVENT_ERROR;
sEvenProp.EventID = HSI_EVENT_MOTION;
sEvenProp.EventResponse = HSI_EVENT_RESPONSE_OK;
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板已断开连接");
strcpy_s(sEvenProp.EventData, HSI_MaxStringLength, "光源板已断开连接");
EventCallback(sEvenProp);
m_ThreadTCP_State = TCPIP_THREAD_EXIT;
closesocket(m_socket[m_selectedIndex]);
@@ -6845,7 +6845,7 @@ HSI_STATUS HSI_Motion::SetAllGears()
unsigned char send_glue_data[64] = { 0 };
send_glue_data[0] = 0x01;
send_glue_data[1] = 0x01;
send_glue_data[2] = 0x01 << (i - 1); //轴号
send_glue_data[2] = 0x01 << (i - 1); //轴号
send_glue_data[3] = 0x08;
for (size_t j = 0; j < 5; j++)
+1 -1
View File
@@ -1,4 +1,4 @@
#ifndef HSI_MOTION_INCLUDED_
#ifndef HSI_MOTION_INCLUDED_
#define HSI_MOTION_INCLUDED_
#pragma once
+1 -1
View File
@@ -1,4 +1,4 @@
// HSI_Sevenocean_EF3.cpp : 定义 DLL 的初始化例程。
// HSI_Sevenocean_EF3.cpp : 定义 DLL 的初始化例程。
//
#include "stdafx.h"
+1 -1
View File
@@ -1,4 +1,4 @@
// HSI_Sevenocean_EF3.h : HSI_Sevenocean_EF3 DLL 的主头文件
// HSI_Sevenocean_EF3.h : HSI_Sevenocean_EF3 DLL 的主头文件
//
#pragma once
-31
View File
@@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.2017
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_Sevenocean_EF3", "HSI_Sevenocean_EF3.vcxproj", "{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x64.ActiveCfg = Debug|x64
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x64.Build.0 = Debug|x64
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x86.ActiveCfg = Debug|Win32
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x86.Build.0 = Debug|Win32
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Release|x64.ActiveCfg = Release|x64
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Release|x64.Build.0 = Release|x64
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Release|x86.ActiveCfg = Release|Win32
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {42B783E2-47F1-4296-8EC0-027EA1067B24}
EndGlobalSection
EndGlobal
+1 -1
View File
@@ -1,4 +1,4 @@
// stdafx.cpp : 只包括标准包含文件的源文件
// stdafx.cpp : 只包括标准包含文件的源文件
// HSI_Sevenocean_EF3.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
-22
View File
@@ -1,22 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -371,7 +371,7 @@
Header="EF3板设置">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50*" />
<RowDefinition Height="45*" />
<RowDefinition Height="80*" />
</Grid.RowDefinitions>
<!-- EF3锁存模式 -->
@@ -434,40 +434,53 @@
Margin="5"
Header="功能按键">
<StackPanel>
<TextBox
x:Name="textVersion"
Margin="5"
Padding="10" />
<Button
Name="clear5"
x:Name="getVersionButton"
Margin="5"
Padding="3"
Click="GetVersionButton_Click"
Content="获取EF3固件版本" />
<Button
Name="clear4"
x:Name="setZeroButton"
Margin="5"
Padding="3"
Click="SetZeroButton_Click"
Content="设置零点" />
<Button
Name="clear"
x:Name="startRecordButtion"
Margin="5"
Padding="3"
Click="StartRecordButtion_Click"
Content="开始锁存" />
<Button
Name="clear33"
x:Name="stopRecordButton"
Margin="5"
Padding="3"
Click="StopRecordButton_Click"
Content="停止锁存" />
<Button
Name="clear34"
x:Name="getRecordButton"
Margin="5"
Padding="3"
Click="GetRecordButton_Click"
Content="读取锁存值" />
<Button
Name="clear2"
x:Name="clearFlashButton"
Margin="5"
Padding="3"
Click="ClearFlashButton_Click"
Content="清除flash" />
<Button
Name="clear3"
x:Name="getPointsButton"
Margin="5"
Padding="3"
Click="GetPointsButton_Click"
Content="获取锁存点的数量" />
</StackPanel>
@@ -641,7 +654,7 @@
<GroupBox
BorderBrush="{Binding ElementName=serialPortConfigPanel, Path=BorderBrush}"
BorderThickness="{Binding ElementName=serialPortConfigPanel, Path=BorderThickness}"
Header="自动发送设置面板">
Header="自动发送设置">
<Grid Margin="0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*" />
@@ -39,6 +39,41 @@ namespace WPFSerialAssistant
private void FreDivsionRadioButton_Checked(object sender, RoutedEventArgs e)
{
}
//获取固件版本
private void GetVersionButton_Click(object sender, RoutedEventArgs e)
{
}
//设置归零
private void SetZeroButton_Click(object sender, RoutedEventArgs e)
{
}
//开始锁存
private void StartRecordButtion_Click(object sender, RoutedEventArgs e)
{
}
//停止锁存
private void StopRecordButton_Click(object sender, RoutedEventArgs e)
{
}
//获取锁存值
private void GetRecordButton_Click(object sender, RoutedEventArgs e)
{
}
//清除Flash区
private void ClearFlashButton_Click(object sender, RoutedEventArgs e)
{
}
//获得锁存点数量
private void GetPointsButton_Click(object sender, RoutedEventArgs e)
{
}
}
}
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
-20
View File
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<source_groups>
<source_group_a170c5ff-c94e-42ce-8d92-5e1a6a461f15>
<build_file_path>
<compilation_db_path>compile_commands.json</compilation_db_path>
</build_file_path>
<indexed_header_paths>
<indexed_header_path>HSI_HexagonMI_EF3</indexed_header_path>
</indexed_header_paths>
<name>C/C++ from Compilation Database</name>
<pch_flags>
<use_compiler_flags>1</use_compiler_flags>
</pch_flags>
<status>enabled</status>
<type>C/C++ from Compilation Database</type>
</source_group_a170c5ff-c94e-42ce-8d92-5e1a6a461f15>
</source_groups>
<version>8</version>
</config>