diff --git a/HSI_HexagonMI_EF3.sln b/HSI_HexagonMI_EF3.sln
index f42d1ae..ff0b6e3 100644
--- a/HSI_HexagonMI_EF3.sln
+++ b/HSI_HexagonMI_EF3.sln
@@ -7,8 +7,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_Sevenocean_EF1", "..\EF
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_Sevenocean_EF1_WPFTest", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_Sevenocean_EF1_WPFTest\HSI_Sevenocean_EF1_WPFTest.csproj", "{B8B35406-6406-424C-94B4-C6BB4A481413}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_SEVENOCEAN_EF1_CsTest", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_SEVENOCEAN_EF1_CsTest\HSI_SEVENOCEAN_EF1_CsTest.csproj", "{7ED499CB-651C-4154-9741-EEF347BDBFB5}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_Sevenocean_EF3", "..\EF3-Interfac\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\HSI_Sevenocean_EF3\HSI_Sevenocean_EF3.vcxproj", "{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HSI_HexagonMI_EF3", "HSI_HexagonMI_EF3\HSI_HexagonMI_EF3.vcxproj", "{ECCF081D-DDA4-49D5-A03F-9DD5AB8B666B}"
@@ -19,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_CONTROLLER_WPFTest", ".
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFSerialAssistant", "SerialAssistant\WPFSerialAssistant\WPFSerialAssistant.csproj", "{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HSI_SEVENOCEAN_EF1_CsTest", "HSI_SEVENOCEAN_EF1_CsTest\HSI_SEVENOCEAN_EF1_CsTest.csproj", "{7ED499CB-651C-4154-9741-EEF347BDBFB5}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -49,17 +49,6 @@ Global
{B8B35406-6406-424C-94B4-C6BB4A481413}.Release|x64.Build.0 = Release|x64
{B8B35406-6406-424C-94B4-C6BB4A481413}.Release|x86.ActiveCfg = Release|Any CPU
{B8B35406-6406-424C-94B4-C6BB4A481413}.Release|x86.Build.0 = Release|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x86.ActiveCfg = Debug|x86
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x86.Build.0 = Debug|x86
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|Any CPU.Build.0 = Release|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x64.ActiveCfg = Release|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x64.Build.0 = Release|Any CPU
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x86.ActiveCfg = Release|x86
- {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x86.Build.0 = Release|x86
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|Any CPU.ActiveCfg = Debug|Win32
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x64.ActiveCfg = Debug|x64
{3B731938-04B1-46FE-9EEA-CBDD1D3B522A}.Debug|x86.ActiveCfg = Debug|Win32
@@ -110,6 +99,18 @@ Global
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Release|x64.Build.0 = Release|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Release|x86.ActiveCfg = Release|Any CPU
{DA01B86D-5BC1-4863-BAAC-71B309B09CC0}.Release|x86.Build.0 = Release|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x64.Build.0 = Debug|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x86.ActiveCfg = Debug|x86
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Debug|x86.Build.0 = Debug|x86
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x64.ActiveCfg = Release|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x64.Build.0 = Release|Any CPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x86.ActiveCfg = Release|x86
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/HSI_HexagonMI_EF3/HSI.cpp b/HSI_HexagonMI_EF3/HSI.cpp
index 618fa11..b5c6dd1 100644
--- a/HSI_HexagonMI_EF3/HSI.cpp
+++ b/HSI_HexagonMI_EF3/HSI.cpp
@@ -3,9 +3,9 @@
#include "HSI_Motion.h"
#include "HSI_Sevenocean_EF3.h"
#include "SevenOcean\CMMIO_SERIAL.h"
-#include "HSI_Illumination.h"
-#include "HSI_Function.h"
-#include "HSI_JoyStick.h"
+//#include "HSI_Illumination.h"
+//#include "HSI_Function.h"
+//#include "HSI_JoyStick.h"
#ifdef _DEBUG
#define new DEBUG_NEW
@@ -42,7 +42,7 @@ HSI_API HSI_STATUS WINAPI HSI_STARTUP(HWND _hWnd, bool _bOfflineOnly)
g_bOfflineOnly = _bOfflineOnly;
return rStatus;
}
-//===========================================================================
+//==========================获取机器控制器信息,3代表EF3=================================================
HSI_API HSI_STATUS WINAPI HSI_GET_MACHINE_INFO(int &_NumMachineTypes)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -62,7 +62,7 @@ HSI_API HSI_STATUS WINAPI HSI_SET_EVENT_CALLBACK(pEventCallback _pCallback)
auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Sevenocean_EF3)
{
- rStatus = g_pHSI_Sevenocean_EF3->SetEventCallback(_pCallback);
+ rStatus = g_pHSI_Sevenocean_EF3->SetEventCallback(_pCallback); //设置事件
}
else
{
@@ -114,33 +114,50 @@ HSI_API HSI_STATUS WINAPI HSI_SHUTDOWM()
#pragma endregion
////////////////////////////////////////////////////////////////////////////////
-// MOTION API
+// MOTION API 运动相关API
///////////////////////////////////////////////////////////////////////////////
#pragma region Motion API
-
-
-
-
-HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types)
+#pragma region 第一阶段实现的API功能
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome)
{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_bOfflineOnly == 0)
- {
- if (!g_pHSI_Motion)
- {
- g_pHSI_Motion = new HSI_Motion();
- }
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->IsSupported(Types);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- }
- return rStatus;
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_bOfflineOnly == 0)
+ {
+ if (!g_pHSI_Motion)
+ {
+ g_pHSI_Motion = new HSI_Motion();
+ }
+ if (g_pHSI_Motion && g_pHSI_Sevenocean_EF3)
+ {
+ rStatus = g_pHSI_Motion->Startup(g_hWnd, g_bOfflineOnly);
+ if (rStatus == HSI_STATUS_FAILED)
+ {
+ return HSI_STATUS_FAILED;
+ }
+ rStatus = g_pHSI_Motion->HomeMachine(bHome);
+ switch (g_pHSI_Motion->m_iJoyStick)
+ {
+ case 0:
+ break;
+ case 1:
+ //if (!g_pHSI_JoyStick)
+ //{
+ // g_pHSI_JoyStick = new HSI_Joystick(g_pHSI_Motion);
+ // g_pHSI_JoyStick->ResumeJoyStickThread();
+ //}
+ break;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ }
+ return rStatus;
}
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_FIREWAREVERION(byte *verion)
@@ -157,58 +174,130 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_FIREWAREVERION(byte *verion)
return rStatus;
}
//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome)
+HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN()
{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_bOfflineOnly == 0)
- {
- if (!g_pHSI_Motion)
- {
- g_pHSI_Motion = new HSI_Motion();
- }
- if (g_pHSI_Motion && g_pHSI_Sevenocean_EF3)
- {
- rStatus = g_pHSI_Motion->Startup(g_hWnd, g_bOfflineOnly);
- if (rStatus == HSI_STATUS_FAILED)
- {
- return HSI_STATUS_FAILED;
- }
- rStatus = g_pHSI_Motion->HomeMachine(bHome);
- switch (g_pHSI_Motion->m_iJoyStick)
- {
- case 0:
- break;
- case 1:
- //if (!g_pHSI_JoyStick)
- //{
- // g_pHSI_JoyStick = new HSI_Joystick(g_pHSI_Motion);
- // g_pHSI_JoyStick->ResumeJoyStickThread();
- //}
- break;
- default:
- break;
- }
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- }
- return rStatus;
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->Shutdown();
+ delete g_pHSI_Motion;
+ g_pHSI_Motion = nullptr;
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG(UINT AxisTypes, double Speed)
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->Jog(AxisTypes, Speed);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_STOP_JOG()
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->StopJog();
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZ(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &Time)
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->GetPositionXyz(AxisTypes, PositionX, PositionY, PositionZ, Time);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear)
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->SetPositionXyz(AxisTypes, PositionX, PositionY, PositionZ, eType, dSpeedGear);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_ABORT_MOTION()
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->AbortMotion();
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
}
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed)
{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->IsHomed(bHomed);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->IsHomed(bHomed);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+#pragma endregion
+
+#ifdef USE_Motion_API
+
+#pragma region 后续考虑
+//===========================================================================
+HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types)
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_bOfflineOnly == 0)
+ {
+ if (!g_pHSI_Motion)
+ {
+ g_pHSI_Motion = new HSI_Motion();
+ }
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->IsSupported(Types);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ }
+ return rStatus;
}
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_EF3MOTION_GET_SPEED_XYZ(int axis,double &Speed)
@@ -364,34 +453,6 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband)
return HSI_STATUS_NOT_SUPPORTED;
}
//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG(UINT AxisTypes, double Speed)
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->Jog(AxisTypes, Speed);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
-//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_STOP_JOG()
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->StopJog();
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
-//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCPRF_MULTI(UINT AxisTypes, double *EncPos, double *PrfPos, int Count)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -406,20 +467,6 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCPRF_MULTI(UINT AxisTypes, double *En
return rStatus;
}
//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZ(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &Time)
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->GetPositionXyz(AxisTypes, PositionX, PositionY, PositionZ, Time);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
-//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -461,20 +508,7 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG_PROBE(UINT AxisTypes, double speed)
}
return rStatus;
}
-//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear)
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->SetPositionXyz(AxisTypes, PositionX, PositionY, PositionZ, eType, dSpeedGear);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
+
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZA(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, double PositionA, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear)
{
@@ -535,20 +569,6 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double Posi
return HSI_STATUS_NOT_SUPPORTED;
}
//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_ABORT_MOTION()
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->AbortMotion();
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
-//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -950,22 +970,7 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_TRIGGLECOUNT(int* nCount, int& nArea)
}
return rStatus;
}
-//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN()
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->Shutdown();
- delete g_pHSI_Motion;
- g_pHSI_Motion = nullptr;
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
+
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_FINDORIGINTEST(bool type)
{
@@ -981,15 +986,31 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_FINDORIGINTEST(bool type)
return rStatus;
}
+HSI_API HSI_STATUS WINAPI HSI_MOTION_COLLECTPOS(bool isEnable, MOTOR_AXISCHOOES_CMD axis, short cycle)
+{
+ auto rStatus = HSI_STATUS_NORMAL;
+ if (g_pHSI_Motion)
+ {
+ rStatus = g_pHSI_Motion->CollectPos(isEnable, axis, cycle);
+ }
+ else
+ {
+ rStatus = HSI_STATUS_FAILED;
+ }
+ return rStatus;
+}
+#pragma endregion
+#endif // DEBUG
+
#pragma endregion
-//补光灯
-#ifdef USE_ILLUMINATION_API
////////////////////////////////////////////////////////////////////////////////
-// ILLUMINATION API
+// ILLUMINATION API 补光灯
///////////////////////////////////////////////////////////////////////////////
+#ifdef USE_ILLUMINATION_API
+
#pragma region // ILLUMINATION API
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_IS_SUPPORTED(UINT &Types)
@@ -1161,11 +1182,12 @@ HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_TESTLIGHT(bool flag)
#endif // USE_ILLUMINATION_API
-//探针
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Probe API 探针
+///////////////////////////////////////////////////////////////////////////////
#ifdef USE_Probe_API
-///////////////////////////////////////////////////////////////////////////////
-// Probe API
-///////////////////////////////////////////////////////////////////////////////
#pragma region probe
//===========================================================================
HSI_API HSI_STATUS WINAPI HSI_TP_STARTUP()
@@ -1358,25 +1380,7 @@ HSI_API HSI_STATUS WINAPI HSI_TP_SHUTDOWN()
#endif // USE_Probe_API
-//测试
-#ifdef Test
+///////////////////////////////////////////////////////////////////////////////
+// 测试功能
+///////////////////////////////////////////////////////////////////////////////
-#pragma region Test
-//===========================================================================
-HSI_API HSI_STATUS WINAPI HSI_MOTION_COLLECTPOS(bool isEnable, MOTOR_AXISCHOOES_CMD axis, short cycle)
-{
- auto rStatus = HSI_STATUS_NORMAL;
- if (g_pHSI_Motion)
- {
- rStatus = g_pHSI_Motion->CollectPos(isEnable, axis, cycle);
- }
- else
- {
- rStatus = HSI_STATUS_FAILED;
- }
- return rStatus;
-}
-//===========================================================================
-#pragma endregion
-
-#endif // Test
\ No newline at end of file
diff --git a/HSI_HexagonMI_EF3/HSI.h b/HSI_HexagonMI_EF3/HSI.h
index 4aee761..57308af 100644
--- a/HSI_HexagonMI_EF3/HSI.h
+++ b/HSI_HexagonMI_EF3/HSI.h
@@ -21,8 +21,8 @@
#define HSI_API extern "C" __declspec(dllimport)
#endif
-const int HSI_APIVersionMajor = 1;
-const int HSI_APIVersionMinor = 9;
+const int HSI_APIVersionMajor = 0;
+const int HSI_APIVersionMinor = 1;
const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
///////////////////////////////////////////////////////////////////////////////
@@ -82,9 +82,9 @@ enum HSI_STATUS
};
enum HSI_MACHINE_TYPE
{
- HSI_MACHINE_UNKNOWN = 0,
- HSI_MACHINE_SO7 = 1,
- HSI_MACHINE_NAVITAR_AUTOZOOM = 2,
+ HSI_MACHINE_UNKNOWN = 0,
+ HSI_MACHINE_SO7 = 1,
+ HSI_MACHINE_NAVITAR_AUTOZOOM = 2,
HSI_MACHINE_EF3 = 3,
HSI_MACHINE_GOOGOL = 4,
HSI_MACHINE_TYPE_TOTAL,
@@ -347,47 +347,48 @@ typedef struct
const int HSI_MAX_POSITIONS_STORED = 500;
// >>>> In Interfaces
-HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types);
+// 第一阶段需要重写的API 函数
+
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed);
-
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
+HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_FIREWAREVERION(byte *verion);
+HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN();
HSI_API HSI_STATUS WINAPI HSI_EF3MOTION_GET_SPEED_XYZ(int axis, double &Speed);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
-
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
-
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
-
+HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_EX(UINT AxisTypes, double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG(UINT AxisTypes, double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_STOP_JOG();
-
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZ(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &Time);
-
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
-
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
HSI_API HSI_STATUS WINAPI HSI_MOTION_ABORT_MOTION();
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
+HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_DIO(UINT IOChannel, UINT _Status);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
-HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
+
+
+
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_DIO(UINT IOChannel, UINT _Status);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
+//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
@@ -398,10 +399,10 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_EX(UINT AxisTypes, double &Position, double &Time);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_EX(UINT AxisTypes, double Position, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_EX(UINT AxisTypes, double &Speed);
-//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_EX(UINT AxisTypes, double Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_EX(UINT AxisTypes, double &Accel);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_EX(UINT AxisTypes, double Accel);
+
//暂未实现
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_MAGNIFICATION(UINT AxisTypes, double mag, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_MAGNIFICATION(UINT AxisTypes, double &mag);
@@ -412,7 +413,7 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_TOUCH_MOVE(double dSpeed, double dEndPosX, double dEndPosY, double dEndPosZ, double dI, double dJ, double dK);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZA_PROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &dI, double &dJ, double &dK, double &PositionA);
-HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN();
+
// <<<< Out Interfaces
diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
index 52c2c81..b72e4c8 100644
--- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
+++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
@@ -104,8 +104,7 @@
-
-
+ copy "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)HSI_SEVENOCEAN_EF1_CsTest\bin\Debug\HSI.dll"
version.cmd
diff --git a/HSI_HexagonMI_EF3/HSI_Motion.cpp b/HSI_HexagonMI_EF3/HSI_Motion.cpp
index 5e06bd7..283652b 100644
--- a/HSI_HexagonMI_EF3/HSI_Motion.cpp
+++ b/HSI_HexagonMI_EF3/HSI_Motion.cpp
@@ -602,8 +602,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;
@@ -658,12 +657,10 @@ HSI_STATUS HSI_Motion::GetFirmwareVersion(byte *version)
}
}
m_Thread_StateData = HSI_THREAD_RUNNING;
- SetEvent(m_hTriggerEventData);
+ SetEvent(m_hTriggerEventData); //触发事件,其中hEvent表示句柄,返回值:如果操作成功,则返回非零值,否则为0。
return HSI_STATUS_NORMAL;
}
-
-//回家
-//===========================================================================
+//================================回家=======================================
HSI_STATUS HSI_Motion::HomeMachine(bool bHomed)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -1175,8 +1172,7 @@ HSI_STATUS HSI_Motion::ZeroPos(bool bZeroPos)
return rStatus;
}
-//JOG模式
-//===========================================================================
+//===============================JOG模式============================================
HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -1847,7 +1843,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)
@@ -2563,7 +2559,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double
ReleaseMutex(g_WR_ToMove_Mutex);
return rStatus;
}
-
+//===========================================================================
int HSI_Motion::CaculateStepMotorACC(int pos, int maxacc, int minacc)
{
double mpos = (double)abs(pos) / 1000;
@@ -2574,7 +2570,6 @@ int HSI_Motion::CaculateStepMotorACC(int pos, int maxacc, int minacc)
acc = maxacc;
return acc;
}
-
//===========================================================================
HSI_STATUS HSI_Motion::SetPositionXyza(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, double PositionA, HSI_MOTION_MOVE_TYPE eType, double dFlyRadius)
{
@@ -2600,7 +2595,7 @@ HSI_STATUS HSI_Motion::SetPositionXyzCache(UINT AxisTypes, HSI_MOTION_MOVE_TYPE
}
return rStatus;
}
-
+//===========================================================================
HSI_STATUS HSI_Motion::SetCircleInterpolate(double PositionX, double PositionY, double PositionZ)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -2615,9 +2610,7 @@ HSI_STATUS HSI_Motion::SetCircleInterpolate(double PositionX, double PositionY
}
return rStatus;
}
-
-//探针接口
-//===========================================================================
+//===========================探针接口================================================
void HSI_Motion::ProbeRetractManDist(int RetractManDist)
{
if (g_pHSI_Motion)
@@ -2748,9 +2741,7 @@ HSI_STATUS HSI_Motion::JogProbe(UINT AxisTypes, double Speed)
}
return rStatus;
}
-
-//读取配置
-//===========================================================================
+//=============================读取配置==============================================
HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -2975,9 +2966,7 @@ HSI_STATUS HSI_Motion::Load_EF3_Config_Inifile(CString GoogolIniFile)
}
return rStatus;
}
-
-//读取/设置光栅尺精度
-//===========================================================================
+//===============================读取/设置光栅尺精度============================================
HSI_STATUS HSI_Motion::GetScaleResolution(double &_ScaleX, double &_ScaleY, double &_ScaleZ)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3001,9 +2990,7 @@ HSI_STATUS HSI_Motion::SetScaleResolution(double _ScaleX, double _ScaleY, double
}
return rStatus;
}
-
-//回调定位完成
-//===========================================================================
+//============================回调定位完成===============================================
void HSI_Motion::SendMsgMotionFinished()
{
sEvenProp.Init();
@@ -3013,8 +3000,7 @@ void HSI_Motion::SendMsgMotionFinished()
EventCallback(sEvenProp);
}
-//回调探针运行
-//===========================================================================
+//=============================回调探针运行==============================================
void HSI_Motion::SendMsgProbeFinished()
{
sEvenProp.Init();
@@ -3023,7 +3009,6 @@ void HSI_Motion::SendMsgProbeFinished()
sEvenProp.EventResponse = HSI_EVENT_FUNCTION_OK;
EventCallback(sEvenProp);
}
-
//===========================================================================
void HSI_Motion::UpdateMotionState()
{
@@ -3427,8 +3412,7 @@ HSI_STATUS HSI_Motion::SpecialMotorMove(short AxisNumber, double Position)
return rStatus;
}
-//IO
-//===========================================================================
+//========================IO===================================================
HSI_STATUS HSI_Motion::GetDIO(UINT IOChannel, UINT& _Status)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3546,9 +3530,8 @@ HSI_STATUS HSI_Motion::GetAxisStatus(int* _Status)
}
return rStatus;
}
-//===========================================================================
-//暂停和关闭
+//=============================暂停和关闭==============================================
HSI_STATUS HSI_Motion::AbortMotion()
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3587,7 +3570,7 @@ HSI_STATUS HSI_Motion::AbortMotion()
}
return rStatus;
}
-//===========================================================================
+//===============================关闭============================================
HSI_STATUS HSI_Motion::Shutdown()
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3650,9 +3633,8 @@ HSI_STATUS HSI_Motion::Shutdown()
}
return rStatus;
}
-//===========================================================================
-//触发灯光
+//==============================触发灯光=============================================
HSI_STATUS HSI_Motion::SetTriggerLight(int triggleNum, int delayLighting, int delayLightBefor, int triggleMode, double* Intensities)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -3714,8 +3696,7 @@ HSI_STATUS HSI_Motion::SetTriggerLight(int triggleNum, int delayLighting, int de
return rStatus;
}
-//硬件触发拍照
-//===========================================================================
+//=============================硬件触发拍照==============================================
HSI_STATUS HSI_Motion::DCCPPStartPoint(double *startPoint)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -4271,8 +4252,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)
{
g_pLogger->SendAndFlushWithTime(L"[StartPlcJob] In\n");
@@ -4387,6 +4367,7 @@ HSI_STATUS HSI_Motion::GetTriggleCount(int *nCount, int& nArea)
}
//===========================================================================
//点胶
+//===========================================================================
HSI_STATUS HSI_Motion::GluePPSpnts(int* ppsDir, double* gluePPSPos, int* delayLightBefore, int* lightTime, double* lightData, int num)
{
auto rStatus = HSI_STATUS_NORMAL;
@@ -5272,9 +5253,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)
{
int MovetoSpeedGear = 0;
@@ -5336,9 +5315,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double &Speed, int &DirveSpeed, int &S
Speed = MovetoSpeedGear * flag;
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)
{
Speed = Speed > 1000 ? 1000 : Speed;
diff --git a/HSI_HexagonMI_EF3/HSI_Motion.h b/HSI_HexagonMI_EF3/HSI_Motion.h
index e4bdff2..d8a4585 100644
--- a/HSI_HexagonMI_EF3/HSI_Motion.h
+++ b/HSI_HexagonMI_EF3/HSI_Motion.h
@@ -125,7 +125,6 @@ enum E_SO7_MOTION_READ_TYPE
typedef enum {
TCPIP_CONNECT_OK = 0,
-
TCPIP_INIT_WINSOCK_ERROR,
TCPIP_INVAILD_SOCKET,
TCPIP_INVAILD_IP_ADDRESS,
@@ -256,7 +255,7 @@ public:
//点胶运行状态
static int bRunGlueDispenser;
- //读取EF3的JOG stop的状态
+ //读取EF3的JOG stop 的状态
static int m_Thread_StateJOGStop;
static HANDLE m_Thread_IdJOGStop;
static HANDLE m_Thread_MutexJOGStop;
@@ -290,7 +289,7 @@ public:
int m_stepPosition_acc[10];
double m_PositionA;//第四轴的地位位置
- //jog参数
+ //jog 参数
int m_JogDriveSpeed[5][5];//5:轴号,从1开始;5:档位
int m_JogStartSpeed[5][5];
int m_JogAccLine[5][5];
@@ -366,7 +365,7 @@ public:
long m_ProbeCapturePos[5];//锁存各轴的位置
double m_ProbeReturnPos;//探针触发时,调试时返回的距离mm,点击启动按钮时不起作用,默认10.0mm
int m_ProbeReturnSpeed;//探针触发后,轴的回退速度
- int m_isOKGlint; //是否开启ok/ng闪烁
+ int m_isOKGlint; //是否开启ok/ng 闪烁
int m_ETIPort;//外部触发拍照输入端口号
int m_axisStatus;//运动各轴的状态
int m_axisAlarmStatus;//轴报警状态
diff --git a/HSI_HexagonMI_EF3/logger.h b/HSI_HexagonMI_EF3/logger.h
index e5e4131..a9a456d 100644
--- a/HSI_HexagonMI_EF3/logger.h
+++ b/HSI_HexagonMI_EF3/logger.h
@@ -50,7 +50,7 @@ public:
void SendAndFlush(LPCTSTR, ...);
void SendAndFlushPerMode(LPCTSTR, ...);
void SendAndFlushWithTime(LPCTSTR, ...);
- bool IsEnabledLog/* = false*/;//锟角凤拷锟斤拷锟斤拷锟斤拷志
+ bool IsEnabledLog/* = false*/;//鏄惁鍚敤鏃ュ織
CString m_FileName;
long m_lLogMask;
FILE *m_File;
diff --git a/HSI_HexagonMI_EF3/version.cmd b/HSI_HexagonMI_EF3/version.cmd
index 34d3db5..524ec12 100644
--- a/HSI_HexagonMI_EF3/version.cmd
+++ b/HSI_HexagonMI_EF3/version.cmd
@@ -3,9 +3,9 @@
echo Generate release version
::闇瑕佷汉宸ヨ缃殑鐗堟湰鍙----------------------------------------------------------------------------------
-set major_ver=1
+set major_ver=0
set minor_ver=0
-set revsion_ver=0
+set revsion_ver=1
::------------------------------------------------------------------------------------------------------
set revfile="%~dp0version.h"
diff --git a/HSI_HexagonMI_EF3/version.h b/HSI_HexagonMI_EF3/version.h
index 2956bb3..58f4d97 100644
--- a/HSI_HexagonMI_EF3/version.h
+++ b/HSI_HexagonMI_EF3/version.h
@@ -4,13 +4,13 @@
#define HSI_VERSION_NUM
#define HSI_VERSION_SET _T("")
///
-#define HSI_VERSION "1.0.0"
-#define HSI_VERSION_CSTRING _T("1.0.0")
-#define HSI_VERSION_MAJOR 1
+#define HSI_VERSION "0.0.1"
+#define HSI_VERSION_CSTRING _T("0.0.1")
+#define HSI_VERSION_MAJOR 0
#define HSI_VERSION_MINOR 0
-#define HSI_VERSION_REVISION 0
+#define HSI_VERSION_REVISION 1
#define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ )
-#define HSI_FILE_DESCRIPTION "2022.10.10 / 9:43 "
-#define HSI_FILE_CSDESCRIPTION _T("2022.10.10 / 9:43 ")
+#define HSI_FILE_DESCRIPTION "2022.10.10 / 11:34 "
+#define HSI_FILE_CSDESCRIPTION _T("2022.10.10 / 11:34 ")
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.command.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.command.1.tlog
deleted file mode 100644
index ddfbea2..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.command.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.read.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.read.1.tlog
deleted file mode 100644
index 985cd03..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.read.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.write.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.write.1.tlog
deleted file mode 100644
index 58a8ed8..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/CL.write.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.lastbuildstate b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.lastbuildstate
deleted file mode 100644
index dc1b392..0000000
--- a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.lastbuildstate
+++ /dev/null
@@ -1,2 +0,0 @@
-#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
-Release|x64|D:\Metus_git\2020_R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\|
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.write.1u.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.write.1u.tlog
deleted file mode 100644
index 3bd2fde..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/HSI_Sevenocean_EF3.write.1u.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.command.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.command.1.tlog
deleted file mode 100644
index c134f24..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.command.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.read.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.read.1.tlog
deleted file mode 100644
index 469c74d..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.read.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.write.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.write.1.tlog
deleted file mode 100644
index 0e71c58..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/link.write.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.command.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.command.1.tlog
deleted file mode 100644
index b44e2d3..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.command.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.read.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.read.1.tlog
deleted file mode 100644
index c470100..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.read.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.write.1.tlog b/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.write.1.tlog
deleted file mode 100644
index 3fba24e..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Seve.3B731938.tlog/rc.write.1.tlog and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.exp b/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.exp
deleted file mode 100644
index 8c404ef..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.exp and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.iobj b/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.iobj
deleted file mode 100644
index 2151598..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.iobj and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.ipdb b/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.ipdb
deleted file mode 100644
index 14e8262..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.ipdb and /dev/null differ
diff --git a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.res b/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.res
deleted file mode 100644
index e1e3d90..0000000
Binary files a/HSI_HexagonMI_EF3/x64/Release/HSI_Sevenocean_EF3.res and /dev/null differ
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/App.config b/HSI_SEVENOCEAN_EF1_CsTest/App.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/App.config
@@ -0,0 +1,6 @@
+锘
+
+
+
+
+
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs b/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs
new file mode 100644
index 0000000..aaa9a16
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs
@@ -0,0 +1,587 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Windows.Forms;
+
+namespace HSI_SEVENOCEAN_EF1_CsTest.HSI
+{
+ internal class Interface
+ {
+ // >>>> In Interfaces
+ public delegate void PEventCallback(
+ Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType, uint eventId, string eventData,
+ ref uint eventCallbackId);
+
+ public static PEventCallback HsiCallback;
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS GetInterfaceVersion(ref uint apiVersionMajor, ref uint apiVersionMinor);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_STARTUP", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS Startup(IntPtr hWnd, bool bOfflineOnly);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS GetInterfaceVersion();
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_GET_MACHINE_INFO", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS GetMachineInfo(ref int numMachineTypes);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_SET_EVENT_CALLBACK", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS SetEventCallback(PEventCallback pCallback);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_SHUTDOWM", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS Shutdown();
+
+ // <<<< Out Interfacess
+
+ public static void EventCallback(Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType,
+ uint eventId, string eventData, ref uint eventCallbackId)
+ {
+ var msgBtn = MessageBoxButtons.OK;
+ switch (responseType)
+ {
+ case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_OK:
+ msgBtn = MessageBoxButtons.OK;
+ break;
+ case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_RETRY:
+ msgBtn = MessageBoxButtons.RetryCancel;
+ break;
+ case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_CANCEL:
+ msgBtn = MessageBoxButtons.OKCancel;
+ break;
+ case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_YES:
+ msgBtn = MessageBoxButtons.YesNo;
+ break;
+ }
+ switch (eventType)
+ {
+ case Def.HSI_EVENT_TYPE.HSI_EVENT_NONE:
+ break;
+ case Def.HSI_EVENT_TYPE.HSI_EVENT_ERROR:
+ break;
+ case Def.HSI_EVENT_TYPE.HSI_EVENT_FUNCTION:
+ var eventFunctionId = (Def.HSI_EVENT_FUNCTION_ID) eventId;
+ switch (eventFunctionId)
+ {
+ case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOTION_DCC_HOME:
+ {
+ System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Home_Machine, Resources.Interface_Tips,
+ msgBtn, MessageBoxIcon.Information);
+ break;
+ }
+ case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_DEBUG_LOG:
+ {
+ System.Windows.Forms.MessageBox.Show(eventData, Resources.Interface_Tips,
+ msgBtn, MessageBoxIcon.Information);
+ break;
+ }
+ case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOVE_POINT:
+ {
+ System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Motion_Finished, Resources.Interface_Tips,
+ msgBtn, MessageBoxIcon.Information);
+ ; //Motion completed
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ internal class Motion
+ {
+ // >>>> In Interfaces
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS IsSupported(ref uint types);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STARTUP", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS Startup(bool bHome);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_HOMED", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS IsHomed(ref bool bHomed);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_XYZ", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS GetSpeedXyz(ref double speed);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_XYZ", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS SetSpeedXyz(double speed);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_R", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetSpeedR(ref double speed);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_R", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS SetSpeedR(double speed);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetScaleResolution(
+ // ref double scaleX, ref double scaleY, ref double scaleZ);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS SetScaleResolution(double scaleX, double scaleY, double scaleZ);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DEADBAND", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetDeadBand(
+ // ref double deadbandX, ref double deadbandY, ref double deadbandZ, ref double deadbandR);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_REFRESH_DEADBAND", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetRefreshDeadBand(ref double deadband);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_JOG", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS Jog(uint axisTypes, double speed);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STOP_JOG", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS StopJog();
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_XYZ", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS GetPositionXyz(
+ uint axisTypes, ref double positionX, ref double positionY, ref double positionZ, ref double time);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_XYZ", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS SetPositionXyz(
+ uint axisTypes, double positionX, double positionY, double positionZ, Def.HSI_MOTION_MOVE_TYPE eType,
+ double dFlyRadius);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_R", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetPositionR(uint axisTypes, ref double positionR, ref double time);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_R", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS SetPositionR(
+ // uint axisTypes, double positionR, Def.HSI_MOTION_AXIS_R_MOVE_TYPE directionType, bool bWait);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_ABORT_MOTION", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS AbortMotion();
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DIO", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS GetDIO(uint ioChannel, ref uint status);
+
+ //[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_DIO", CharSet = CharSet.Unicode)]
+ //public static extern Def.HSI_STATUS SetDIO(uint ioChannel, uint status);
+
+ [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SHUTDOWN", CharSet = CharSet.Unicode)]
+ public static extern Def.HSI_STATUS Shutdown();
+
+ // <<<< Out Interfaces
+ public Motion()
+ {
+ _supported = 0;
+ _bFirst = true;
+ }
+
+ //public static bool IsActive(bool bForce = false)
+ //{
+ // if (_bFirst || bForce)
+ // {
+ // IsSupported(ref _supported);
+ // _bFirst = false;
+ // }
+ // return (_supported != 0);
+ //}
+
+ private static bool _bFirst;
+ private static uint _supported;
+ }
+
+
+ //internal class Illumination
+ // {
+ // // >>>> In Interfaces
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS IsSupported(ref uint types);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_STARTUP();
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_COUNT(ref int nLamps);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_INFO(ref int lampInfo, ref int numLamps,
+ // int[] lampsType,
+ // int[] numRings, int[] numSectors, int[] color, double[] angle, ref bool bCanBeCalibrated);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE(
+ // int nLamp, bool[] bBulbStates, double[] intensities, ref int color, ref double angle);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE(
+ // int nLamp, bool[] bBulbStates, double[] intensities, int color, double angle, bool bWait);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE_ALL(
+ // int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE_ALL(
+ // int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities, bool bWait);
+
+ // [DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
+ // public static extern Def.HSI_STATUS HSI_ILLUMINATION_SHUTDOWN();
+
+ // // <<<< Out Interfaces
+ // public Illumination()
+ // {
+ // _supported = 0;
+ // _bFirst = true;
+ // }
+
+ // public static bool IsActive(bool bForce = false)
+ // {
+ // if (_bFirst || bForce)
+ // {
+ // IsSupported(ref _supported);
+ // _bFirst = false;
+ // }
+ // return (_supported != 0);
+ // }
+
+ // private static bool _bFirst;
+ // private static uint _supported;
+ // }
+
+ internal class Def
+ {
+ public const int HSI_APIVersionMajor = 1;
+ public const int HSI_APIVersionMinor = 3;
+
+ public const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
+ ///////////////////////////////////////////////////////////////////////////////
+ // Interface API
+ ///////////////////////////////////////////////////////////////////////////////
+ public enum HSI_STATUS
+ {
+ HSI_STATUS_NOT_SUPPORTED = -1,
+ HSI_STATUS_NORMAL = 0,
+ HSI_STATUS_FAILED,
+ HSI_FAILED_DLL_LOAD,
+
+ HSI_STATUS_PORTLOCK_HSI_MISMATCH,
+
+ HSI_STATUS_FILE_NOT_FOUND,
+ HSI_STATUS_HARDWARE_NOT_FOUND,
+ HSI_STATUS_INVALID_PARAMETERS,
+ HSI_STATUS_INVALID_POINTS,
+ HSI_STATUS_PART_NOT_DETECTED,
+ HSI_STATUS_MEASURE_ERROR,
+ HSI_STATUS_TEMPERATURE_ERROR,
+
+ HSI_STATUS_ILLUMINATION_COMM = 50,
+
+ HSI_STATUS_OPTICS_COMM = 100,
+ HSI_STATUS_OPTICS_HOMING,
+ HSI_STATUS_OPTICS_TIMEOUT,
+ HSI_STATUS_OPTICS_CALIBRATIONDATA,
+ HSI_STATUS_OPTICS_CALIBRATIONDATADEFAULT,
+ HSI_STATUS_OPTICS_CALFILEDATACOUNTMISMATCH,
+
+ HSI_STATUS_MOTION_COMM = 150,
+ HSI_STATUS_MOTION_HOMING,
+ HSI_STATUS_MOTION_TIMEOUT,
+ HSI_STATUS_MOTION_EMERGENCY_STOP,
+ HSI_STATUS_MOTION_EXCEED_LIMIT,
+ HSI_STATUS_MOTION_UNKNOWN_ERROR,
+ HSI_STATUS_MOTION_EXCEED_SW_LIMIT,
+ HSI_STATUS_MOTION_POSITION_ERROR,
+ HSI_STATUS_MOTION_MOVING,
+
+ HSI_STATUS_TP_UNEXPECTED_HIT = 200,
+ HSI_STATUS_TP_TIMEOUT = 201,
+ HSI_STATUS_TP_APPROACH_TIMEOUT = 202,
+ HSI_STATUS_TP_WRIST_ERROR,
+
+ HSI_STATUS_FG_COMM = 250,
+ HSI_STATUS_FG_TIMEOUT,
+ HSI_STATUS_FG_DIRECTX,
+ HSI_STATUS_FG_COLORDEPTH,
+
+ HSI_STATUS_LP_TIMEOUT = 300,
+ HSI_STATUS_LP_EXCEED_LIMIT = 301,
+
+ HSI_STATUS_VP_TIMEOUT = 350,
+ HSI_STATUS_VP_IMAGEPROCESS_FAIL
+ };
+
+ public enum HSI_MACHINE_TYPE
+ {
+ HSI_MACHINE_UNKNOWN = 0,
+ HSI_MACHINE_SO7 = 1,
+ HSI_MACHINE_TYPE_TOTAL,
+ };
+
+ public enum HSI_EVENT_TYPE
+ {
+ HSI_EVENT_NONE = 0,
+ HSI_EVENT_ERROR = 1,
+ HSI_EVENT_FUNCTION = 2
+ };
+
+ public enum HSI_EVENT_FUNCTION_ID //EventData
+ {
+ //SendReceive
+ // V4.2 & V4.3 +
+ HSI_EVENT_DONE = 0, //N/A N/A
+ HSI_EVENT_TAKE_HIT = 1, //N/A N/A
+ HSI_EVENT_ERASE_HIT = 2, //N/AN/A
+ HSI_EVENT_TIME_CRITICAL = 3, //"ON", or "OFF" N/A
+ HSI_EVENT_ZOOM_IN = 4, //"MAX", "COARSE", or "FINE" N/A
+ HSI_EVENT_ZOOM_OUT = 5, //"MAX", "COARSE", or "FINE" N/A
+ HSI_EVENT_REFRESH_LIVE_VIEW = 6, //N/AN/A
+ HSI_EVENT_UPDATE_READOUTS = 7, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"N/A
+ HSI_EVENT_READ_MC_POSITION = 8, //"AxisFlags""AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"
+ HSI_EVENT_MOVE_MC_POSITION = 9, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed},%1d{bWait}"N/A
+ HSI_EVENT_CONVERT_MC_TO_GLOBAL = 10, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_UPDATE_STATUS_MESSAGE = 11, //N/AN/A
+ HSI_EVENT_OPENFILE_DLG = 12, //N/A"FileName"
+ HSI_EVENT_DISPLAY_YESNO_MESSAGE = 13, //N/AN/A
+ HSI_EVENT_DISPLAY_OKCANCEL_MESSAGE = 14, //N/AN/A
+ HSI_EVENT_DISPLAY_OK_MESSAGE = 15, //N/AN/A
+
+ // V4.3 + Only
+ HSI_EVENT_DEBUG_LOG = 20, //"%s" N/A
+ HSI_EVENT_MOVE_MC_POSITION_AND_SETTLE = 21, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed}" N/A
+ HSI_EVENT_CONVERT_GLOBAL_TO_MM = 22, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_CONVERT_ROT_TO_TABLE_POINT = 23, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_CONVERT_ROT_OUT_TABLE_POINT = 24, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_CONVERT_ROT_TO_TABLE_VECTOR = 25, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_CONVERT_ROT_OUT_TABLE_VECTOR = 26, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
+ HSI_EVENT_ILLUMINATION_REFRESH = 27,
+ HSI_EVENT_ILLUMINATION_LOCK = 28,
+ HSI_EVENT_ILLUMINATION_STORE_SET = 29,
+ HSI_EVENT_ILLUMINATION_RESTORE_SET = 30,
+ HSI_EVENT_ILLUMINATION_DECREASE_ACTIVE = 31, // "%d"
+ HSI_EVENT_ILLUMINATION_INCREASE_ACTIVE = 32, // "%d"
+ HSI_EVENT_ILLUMINATION_DECREASE_ALL = 33, // "%d"
+ HSI_EVENT_ILLUMINATION_INCREASE_ALL = 34, // "%d"
+ HSI_EVENT_ILLUMINATION_SELECT_LAMP = 35, // "%d"
+ HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY = 36, // "%d"
+ HSI_EVENT_ILLUMINATION_GET_LAMP_INTENSITY = 37, // "%d"
+ HSI_EVENT_ILLUMINATION_SET_LAMP_CALIBRATION_OVERRIDE = 38, // "%d"
+ HSI_EVENT_ILLUMINATION_NEXT_RING = 39,
+ HSI_EVENT_ILLUMINATION_PREV_RING = 40,
+ HSI_EVENT_ILLUMINATION_NEXT_SECTOR = 41,
+ HSI_EVENT_ILLUMINATION_PREV_SECTOR = 42,
+ HSI_EVENT_ILLUMINATION_NUM_LAMPS_INSTALLED = 43,
+ HSI_EVENT_ILLUMINATION_IS_LAMP_INSTALLED = 44,
+ HSI_EVENT_ILLUMINATION_APPLY = 45,
+ HSI_EVENT_ILLUMINATION_ALLOFF = 46,
+ HSI_EVENT_ILLUMINATION_ALLON = 47,
+ HSI_EVENT_ILLUMINATION_UNLOCK = 48,
+ HSI_EVENT_IS_PROGRAMMING_MODE = 49, //1/0
+ HSI_EVENT_IS_PORTLOCK_DCC = 50, //1/0
+ HSI_EVENT_IS_ROTAB_ENABLED = 51, //1/0
+ HSI_EVENT_IS_TIME_CRITICAL = 52, // 1/0
+ HSI_EVENT_CONVERT_MM_TO_GLOBAL = 53,
+ HSI_EVENT_CONVERT_GLOBAL_TO_MC = 54,
+ HSI_EVENT_LASER_FOCUS_ENABLE = 55, // "%d" 0 = not available, 1 = available
+ HSI_EVENT_MOVE_POINT = 56, //N/AN/A
+ HSI_EVENT_MAG_CHANGED = 57,
+ HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY_IN_MACHINE_LEVELx100 = 58,
+ // "%d" //PR251359-- Instructed to "Please focus on slide" but it's rather unhelpfully turned the lights off for us.
+ HSI_EVENT_DCC_SCAN_POINTS_AVAILABLE = 59, //"%d"= more to come, 1 = last set N/A
+ HSI_EVENT_ILLUMINATION_IS_ALL_OFF = 60,
+ //1/0//PR253777-- Sensilight does not work if the target has 'ALL OFF' for illum setting--4/16/2008
+ HSI_EVENT_ILLUMINATION_DECREASE_ALL_NONZERO = 61,
+ // Sensilight command that wont change a lamp currently set to zero
+ HSI_EVENT_ILLUMINATION_INCREASE_ALL_NONZERO = 62,
+ // Sensilight command that wont change a lamp currently set to zero22
+
+ HSI_EVENT_LP_QUALITY = 63, //"%d" 0-100%
+ HSI_EVENT_TP_QUALITY = 64, //"%d" 0-100%
+ HSI_EVENT_VP_QUALITY = 65, //"%d" 0-100%
+
+ HSI_EVENT_FLYMODE_MOVE_COMPLETE = 66, // A queued flymode move has completed
+ HSI_EVENT_PENDANT_SPEED_PERCENT = 67, // 108336 HMV : Add calls to HSI.H for Speed
+ HSI_EVENT_PENDANT_AXES_SELECTED = 68, // 108335 HMV : Need to add calls to the HSI.H for Stacked Rotary
+
+ HSI_EVENT_MOTION = 500,
+ HSI_EVENT_MOTION_DCC_HOME = 501,
+ HSI_EVENT_SHUTDOWN_ = 999 //N/AN/A
+ };
+
+ public enum HSI_NOTIFY_TYPE
+ {
+ HSI_NOTIFY_PROGRAM_EXECUTION_START = 0,
+ HSI_NOTIFY_PROGRAM_EXECUTION_STOP = 1,
+
+ HSI_NOTIFY_TIME_CRITICAL_EVENT_START = 2,
+ HSI_NOTIFY_TIME_CRITICAL_EVENT_STOP = 3,
+ HSI_NOTIFY_PROGRAM_OPEN = 4,
+ HSI_NOTIFY_PROGRAM_CLOSE = 5,
+ HSI_NOTIFY_PCDMIS_SHUTDOWN = 6
+ };
+
+ public enum HSI_EVENT_RESPONSE_TYPE
+ {
+ HSI_EVENT_CALLBACK = 0,
+ HSI_EVENT_RESPONSE_OK = 1,
+ HSI_EVENT_RESPONSE_RETRY = 2,
+ HSI_EVENT_RESPONSE_CANCEL = 3,
+ HSI_EVENT_RESPONSE_YES = 4,
+ HSI_EVENT_RESPONSE_NO = 5,
+ HSI_EVENT_FUNCTION_OK = 6,
+ HSI_EVENT_FUNCTION_FAILED = 7
+ };
+
+ public struct SHsiEventProperties
+ {
+ public uint EventId;
+ public uint EventCallbackId;
+ public HSI_EVENT_TYPE EventType;
+ public HSI_EVENT_RESPONSE_TYPE EventResponse;
+ public char[] EventData;
+
+ public void Init()
+ {
+ EventId = (uint) HSI_EVENT_FUNCTION_ID.HSI_EVENT_DONE;
+ EventCallbackId = 0;
+ EventType = HSI_EVENT_TYPE.HSI_EVENT_NONE;
+ EventResponse = HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_CALLBACK;
+ EventData = new char[HSI_MaxStringLength + 1];
+ }
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////////////
+ // Motion API
+ ///////////////////////////////////////////////////////////////////////////////
+
+ public enum HSI_MOTION_TYPE
+ {
+ HSI_MOTION_SUPPORTS_DCC_CONTROL = 0x0001,
+ HSI_MOTION_SUPPORTS_MANUAL_CONTROL = 0x0002,
+ HSI_MOTION_SUPPORTS_HOMING = 0x0004,
+ HSI_MOTION_SUPPORTS_CIRCULAR_MOVES = 0x0008,
+ HSI_MOTION_SUPPORTS_CMM_WRIST = 0x0010,
+ HSI_MOTION_SUPPORTS_BUFFERED_MOVES = 0x0020,
+ HSI_MOTION_SUPPORTS_FLY_MOVES = 0x0040,
+ HSI_MOTION_SUPPORTS_SCAN = 0x0080,
+ HSI_MOTION_SUPPORTS_ALL_AXIS_MOVE = 0x0100,
+ HSI_MOTION_SUPPORTS_MEASPOINT_VW = 0x0200
+ };
+
+ public enum HSI_MOTION_AXIS_TYPE
+ {
+ HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
+ HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
+ HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
+ HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
+ HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Z1 = 0x0040, // This is the 1st Z Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_R1 = 0x0080, // This is the 1st R Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_X2 = 0x0100, // This is the 2nd X Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Y2 = 0x0200, // This is the 2nd Y Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Z2 = 0x0400, // This is the 2nd Z Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_R2 = 0x0800, // This is the 2nd R Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_X3 = 0x1000, // This is the 3rd X Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Y3 = 0x2000, // This is the 3rd Y Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_Z3 = 0x4000, // This is the 3rd Z Axis - use on multiple axis machines when specific axis needed
+ HSI_MOTION_AXIS_R3 = 0x8000 // This is the 3rd R Axis - use on multiple axis machines when specific axis needed
+ };
+
+ public enum HSI_MOTION_IO_TYPE
+ {
+ HSI_MOTION_INPUT1 = 0x0001,
+ HSI_MOTION_INPUT2,
+
+ HSI_MOTION_OUTPUT1 = 0x0100,
+ HSI_MOTION_OUTPUT2
+ };
+
+ public const uint HSI_MOTION_AXIS_ALL =
+ (uint)
+ (HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y |
+ HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z);
+
+ public enum HSI_MOTION_MOVE_TYPE
+ {
+ HSI_MOTION_MOVE_WAIT = 1,
+ HSI_MOTION_MOVE_NOWAIT = 2,
+ HSI_MOTION_MOVE_INTERMEDIATE_POSITION = 3,
+ HSI_MOTION_MOVE_FINAL_POSITION = 4,
+ HSI_MOTION_IN_POSITION_EVENT = 5,
+ HSI_MOTION_MOVE_FLYMODE = 6,
+ HSI_MOTION_MOVE_START_POSITION = 7,
+ HSI_MOTION_MOVE_START_FINAL_POSITION = 8
+ };
+
+ public enum HSI_MOTION_AXIS_R_MOVE_TYPE
+ {
+ HSI_MOTION_AXIS_R_CLOCKWISE = 1,
+ HSI_MOTION_AXIS_R_ANTICLOCKWISE = 2,
+ HSI_MOTION_AXIS_R_FASTEST = 3
+ };
+
+ public const int HSI_MAX_POSITIONS_STORED = 500;
+
+
+ ///////////////////////////////////////////////////////////////////////////////
+ //Illumination API
+ ///////////////////////////////////////////////////////////////////////////////
+ public enum HSI_ILLUMINATION_INFO
+ {
+ HSI_ILLUMINATION_INFO_UNKNOWN = 0,
+ HSI_ILLUMINATION_INFO_HSI = 0x01,
+ HSI_ILLUMINATION_INFO_HSI_II = 0x02, //lvgang
+ HSI_ILLUMINATION_INFO_HSI_III = 0x04, //shixuyong
+ HSI_ILLUMINATION_INFO_TOTAL
+ };
+
+ public enum HSI_ILLUMINATION_BULB_TYPE
+ {
+ HSI_ILLUMINATION_BULB_ROUND = 1,
+ HSI_ILLUMINATION_BULB_SQUARE = 2,
+ HSI_ILLUMINATION_BULB_RING = 3,
+ HSI_ILLUMINATION_BULB_GRID = 4
+ };
+
+ public enum HSI_ILLUMINATION_LAMP_TYPE
+ {
+ HSI_ILLUMINATION_LAMP_NONE = 0,
+ HSI_ILLUMINATION_LAMP_COAXIAL = 1,
+ HSI_ILLUMINATION_LAMP_SURFACE = 2,
+ HSI_ILLUMINATION_LAMP_PROFILE = 3,
+ HSI_ILLUMINATION_LAMP_PROFILE_OUTER = 4
+ };
+
+ public enum HSI_ILLUMINATION_LAMP_CONTROL_TYPE
+ {
+ HSI_ILLUMINATION_LAMP_CONTROL_NONE = 0x0000,
+ HSI_ILLUMINATION_LAMP_CONTROL_BY_WHOLE_LAMP = 0x0001,
+ HSI_ILLUMINATION_LAMP_CONTROL_BY_RINGS = 0x0002,
+ HSI_ILLUMINATION_LAMP_CONTROL_BY_OCTANTS = 0x0004,
+ HSI_ILLUMINATION_LAMP_CONTROL_BY_SEGMENTS = 0x0008,
+ HSI_ILLUMINATION_LAMP_CONTROL_BY_OTHER
+ };
+
+ public enum HSI_ILLUMINATION_BULB_STATE
+ {
+ HSI_ILLUMINATION_BULB_STATE_TURN_ON = 0,
+ HSI_ILLUMINATION_BULB_STATE_TURN_OFF = 1,
+ HSI_ILLUMINATION_BULB_STATE_TOTAL
+ };
+
+ public enum HSI_ILLUMINATION_TYPE
+ {
+ HSI_ILLUMINATION_SUPPORTS_DCC_CONTROL = 0x0001,
+ HSI_ILLUMINATION_SUPPORTS_MANUAL_CONTROL = 0x0002
+ };
+
+ public enum HSI_ILLUMINATION_LAMP_LOCATION_TYPE
+ {
+ HSI_ILLUMINATION_LAMP_LOCATION_NONE = 0,
+ HSI_ILLUMINATION_LAMP_LOCATION_TOP_ON_AXIS = 1,
+ HSI_ILLUMINATION_LAMP_LOCATION_TOP_ANGLED = 2,
+ HSI_ILLUMINATION_LAMP_LOCATION_BOTTOM = 3,
+ HSI_ILLUMINATION_LAMP_LOCATION_MOVABLE = 4
+ };
+
+ public const int HSI_ILLUMINATION_MAX_LAMPS = 6;
+ public const int HSI_ILLUMINATION_MAX_BULB_COLORS = 3;
+ public const int HSI_ILLUMINATION_MAX_RINGS = 12;
+ public const int HSI_ILLUMINATION_MAX_SECTORS = 16;
+ public const int HSI_ILLUMINATION_MAX_BULBS = HSI_ILLUMINATION_MAX_RINGS*HSI_ILLUMINATION_MAX_SECTORS;
+
+ public const int HSI_MaxLampNameLength = 29, HSI_MaxLampDescriptionLength = 255;
+ // Maximum string length (buffer size - 1)
+ }
+}
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj b/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj
new file mode 100644
index 0000000..5640e49
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj
@@ -0,0 +1,137 @@
+锘
+
+
+
+ Debug
+ AnyCPU
+ {7ED499CB-651C-4154-9741-EEF347BDBFB5}
+ Exe
+ Properties
+ HSI_SEVENOCEAN_EF1_CsTest
+ HSI_SEVENOCEAN_EF1_CsTest
+ v4.5
+ 512
+ 鍙戝竷\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ x64
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+ true
+
+
+ bin\x86\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ prompt
+ MinimumRecommendedRules.ruleset
+ true
+
+
+ true
+
+
+ MainIcon.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.5 %28x86 鍜 x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj.DotSettings b/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj.DotSettings
new file mode 100644
index 0000000..73e9656
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/HSI_SEVENOCEAN_EF1_CsTest.csproj.DotSettings
@@ -0,0 +1,2 @@
+锘
+ CSharp60
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/MainIcon.ico b/HSI_SEVENOCEAN_EF1_CsTest/MainIcon.ico
new file mode 100644
index 0000000..a355278
Binary files /dev/null and b/HSI_SEVENOCEAN_EF1_CsTest/MainIcon.ico differ
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Program.cs b/HSI_SEVENOCEAN_EF1_CsTest/Program.cs
new file mode 100644
index 0000000..5b6b0d9
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/Program.cs
@@ -0,0 +1,134 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+using HSI_SEVENOCEAN_EF1_CsTest;
+using HSI_SEVENOCEAN_EF1_CsTest.HSI;
+
+namespace HSI_SEVENOCEAN_EF1_CsTest
+{
+ class Program
+ {
+ private static Interface.PEventCallback _eventCallback;
+
+
+
+ static void Main(string[] args)
+ {
+ uint major = Def.HSI_APIVersionMajor;
+ uint minjor = Def.HSI_APIVersionMinor;
+ var rStatus = Interface.GetInterfaceVersion(ref major, ref minjor);
+ Console.WriteLine("Interface.GetInterfaceVersion:{0}", rStatus);
+ Console.WriteLine("Version:{0}.{1}", major, minjor);
+ var mainIntPtr = User32Api.GetCurrentWindowHandle();
+ rStatus = Interface.Startup(mainIntPtr, false);
+ Console.WriteLine("Interface.Startup:{0}", rStatus);
+
+ Interface.HsiCallback=new Interface.PEventCallback(Interface.EventCallback);
+ rStatus = Interface.SetEventCallback(Interface.HsiCallback);
+ Console.WriteLine("SetEventCallback:{0}", rStatus);
+
+ //if (Motion.IsActive(true))
+ {
+ rStatus = Motion.Startup(true);
+ Console.WriteLine("Motion.Startup:{0}", rStatus);
+
+ var bHomed = true;
+ rStatus = Motion.IsHomed(ref bHomed);
+ Console.WriteLine("Motion.IsHomed:{0}", rStatus);
+ var bexit = false;
+ double SpeedGear = 1.0;
+ var dPos = new double[3];
+ do
+ {
+ var info = Console.ReadKey();
+ double dTime = 0;
+ switch (info.Key)
+ {
+ case ConsoleKey.P:
+ dPos[0] += 10.0;
+ dPos[1] += 10.0;
+ rStatus = Motion.SetPositionXyz(Def.HSI_MOTION_AXIS_ALL, dPos[0], dPos[1], dPos[2], Def.HSI_MOTION_MOVE_TYPE.HSI_MOTION_MOVE_NOWAIT, 0.0);
+
+ break;
+ case ConsoleKey.Enter:
+ rStatus = Motion.GetPositionXyz(Def.HSI_MOTION_AXIS_ALL, ref dPos[0], ref dPos[1], ref dPos[2], ref dTime);
+ Console.WriteLine("Motion.GetPositionXyz:{0}", rStatus);
+ Console.WriteLine("Motion.XYZ:{0},{1},{2}", dPos[0], dPos[1], dPos[2]);
+ break;
+ case ConsoleKey.Escape:
+ bexit = true;
+ break;
+ case ConsoleKey.Spacebar:
+ rStatus = Motion.StopJog();
+ Console.WriteLine("Motion.StopJog:{0}", rStatus);
+ break;
+ case ConsoleKey.NumPad1:
+ case ConsoleKey.D1:
+ SpeedGear = 1.0;
+ Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
+ break;
+ case ConsoleKey.NumPad2:
+ case ConsoleKey.D2:
+ SpeedGear = 2.0;
+ Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
+ break;
+ case ConsoleKey.NumPad3:
+ case ConsoleKey.D3:
+ SpeedGear = 3.0;
+ Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
+ break;
+ case ConsoleKey.NumPad4:
+ case ConsoleKey.D4:
+ SpeedGear = 4.0;
+ Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
+ break;
+ case ConsoleKey.LeftArrow:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, -SpeedGear);
+ Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, SpeedGear);
+ break;
+ case ConsoleKey.RightArrow:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, SpeedGear);
+ Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, SpeedGear);
+ break;
+ case ConsoleKey.DownArrow:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, -SpeedGear);
+ Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, SpeedGear);
+ break;
+ case ConsoleKey.UpArrow:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, SpeedGear);
+ Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, SpeedGear);
+ break;
+ case ConsoleKey.PageUp:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z, SpeedGear);
+ Console.WriteLine("Motion.Jog(Z,{1}):{0}", rStatus, SpeedGear);
+ break;
+ case ConsoleKey.PageDown:
+ rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z, -SpeedGear);
+ Console.WriteLine("Motion.Jog(Z,{1}):{0}", rStatus, SpeedGear);
+ break;
+ default:
+ Console.WriteLine("Invalid");
+ break;
+ }
+ } while (!bexit);
+
+
+
+
+ rStatus = Motion.Shutdown();
+ Console.WriteLine("Motion.Startup:{0}", rStatus);
+ }
+
+
+ rStatus = Interface.Shutdown();
+ Console.WriteLine("Interface.Shutdown:{0}", rStatus);
+
+ Console.WriteLine();
+ Console.WriteLine("Press any key to exit...");
+ Console.ReadKey();
+ }
+ }
+}
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Properties/AssemblyInfo.cs b/HSI_SEVENOCEAN_EF1_CsTest/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..60a4fc3
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 鏈夊叧绋嬪簭闆嗙殑甯歌淇℃伅閫氳繃浠ヤ笅
+// 鐗规ч泦鎺у埗銆傛洿鏀硅繖浜涚壒鎬у煎彲淇敼
+// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭
+[assembly: AssemblyTitle("HSI_SEVENOCEAN_EF1_CsTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HSI_SEVENOCEAN_EF1_CsTest")]
+[assembly: AssemblyCopyright("Copyright 漏 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 灏 ComVisible 璁剧疆涓 false 浣挎绋嬪簭闆嗕腑鐨勭被鍨
+// 瀵 COM 缁勪欢涓嶅彲瑙併 濡傛灉闇瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷锛
+// 鍒欏皢璇ョ被鍨嬩笂鐨 ComVisible 鐗规ц缃负 true銆
+[assembly: ComVisible(false)]
+
+// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID
+[assembly: Guid("eef743e0-3721-4c9e-9744-7d8002c9f7bf")]
+
+// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅闈㈠洓涓肩粍鎴:
+//
+// 涓荤増鏈
+// 娆$増鏈
+// 鐢熸垚鍙
+// 淇鍙
+//
+// 鍙互鎸囧畾鎵鏈夎繖浜涘硷紝涔熷彲浠ヤ娇鐢ㄢ滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊硷紝
+// 鏂规硶鏄寜濡備笅鎵绀轰娇鐢ㄢ*鈥:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Resources.Designer.cs b/HSI_SEVENOCEAN_EF1_CsTest/Resources.Designer.cs
new file mode 100644
index 0000000..222224d
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/Resources.Designer.cs
@@ -0,0 +1,90 @@
+锘//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18408
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace HSI_SEVENOCEAN_EF1_CsTest {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HSI_SEVENOCEAN_EF1_CsTest.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 鎻愮ず.
+ ///
+ internal static string Interface_Tips {
+ get {
+ return ResourceManager.GetString("Interface_Tips", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 鍑嗗鍥炲.
+ ///
+ internal static string Interface_Tips_Home_Machine {
+ get {
+ return ResourceManager.GetString("Interface_Tips_Home_Machine", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 瀹氫綅瀹屾垚.
+ ///
+ internal static string Interface_Tips_Motion_Finished {
+ get {
+ return ResourceManager.GetString("Interface_Tips_Motion_Finished", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Resources.resx b/HSI_SEVENOCEAN_EF1_CsTest/Resources.resx
new file mode 100644
index 0000000..aad10f8
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/Resources.resx
@@ -0,0 +1,129 @@
+锘
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 鎻愮ず
+
+
+ 鍑嗗鍥炲
+
+
+ 瀹氫綅瀹屾垚
+
+
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Resources/Icon.bmp b/HSI_SEVENOCEAN_EF1_CsTest/Resources/Icon.bmp
new file mode 100644
index 0000000..37f2b6f
Binary files /dev/null and b/HSI_SEVENOCEAN_EF1_CsTest/Resources/Icon.bmp differ
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Resources/MainIcon.ico b/HSI_SEVENOCEAN_EF1_CsTest/Resources/MainIcon.ico
new file mode 100644
index 0000000..a355278
Binary files /dev/null and b/HSI_SEVENOCEAN_EF1_CsTest/Resources/MainIcon.ico differ
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/User32API.cs b/HSI_SEVENOCEAN_EF1_CsTest/User32API.cs
new file mode 100644
index 0000000..4753676
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/User32API.cs
@@ -0,0 +1,88 @@
+锘縰sing System;
+using System.Runtime.InteropServices;
+using System.Collections;
+
+namespace HSI_SEVENOCEAN_EF1_CsTest
+{
+ class User32Api
+ {
+ private static readonly Hashtable ProcessWnd = null;
+
+ public delegate bool Wndenumproc(IntPtr hwnd, uint lParam);
+
+ static User32Api()
+ {
+ if (ProcessWnd == null)
+ {
+ ProcessWnd = new Hashtable();
+ }
+ }
+
+ [DllImport("user32.dll", EntryPoint = "EnumWindows", SetLastError = true)]
+ public static extern bool EnumWindows(Wndenumproc lpEnumFunc, uint lParam);
+
+ [DllImport("user32.dll", EntryPoint = "GetParent", SetLastError = true)]
+ public static extern IntPtr GetParent(IntPtr hWnd);
+
+ [DllImport("user32.dll", EntryPoint = "GetWindowThreadProcessId")]
+ public static extern uint GetWindowThreadProcessId(IntPtr hWnd, ref uint lpdwProcessId);
+
+ [DllImport("user32.dll", EntryPoint = "IsWindow")]
+ public static extern bool IsWindow(IntPtr hWnd);
+
+ [DllImport("kernel32.dll", EntryPoint = "SetLastError")]
+ public static extern void SetLastError(uint dwErrCode);
+
+ public static IntPtr GetCurrentWindowHandle()
+ {
+ IntPtr ptrWnd = IntPtr.Zero;
+ uint uiPid = (uint)System.Diagnostics.Process.GetCurrentProcess().Id; // 褰撳墠杩涚▼ ID
+ object objWnd = ProcessWnd[uiPid];
+
+ if (objWnd != null)
+ {
+ ptrWnd = (IntPtr)objWnd;
+ if (ptrWnd != IntPtr.Zero && IsWindow(ptrWnd)) // 浠庣紦瀛樹腑鑾峰彇鍙ユ焺
+ {
+ return ptrWnd;
+ }
+ else
+ {
+ ptrWnd = IntPtr.Zero;
+ }
+ }
+
+ bool bResult = EnumWindows(new Wndenumproc(EnumWindowsProc), uiPid);
+ // 鏋氫妇绐楀彛杩斿洖 false 骞朵笖娌℃湁閿欒鍙锋椂琛ㄦ槑鑾峰彇鎴愬姛
+ if (!bResult && Marshal.GetLastWin32Error() == 0)
+ {
+ objWnd = ProcessWnd[uiPid];
+ if (objWnd != null)
+ {
+ ptrWnd = (IntPtr)objWnd;
+ }
+ }
+
+ return ptrWnd;
+ }
+
+ private static bool EnumWindowsProc(IntPtr hwnd, uint lParam)
+ {
+ uint uiPid = 0;
+
+ if (GetParent(hwnd) == IntPtr.Zero)
+ {
+ GetWindowThreadProcessId(hwnd, ref uiPid);
+ if (uiPid == lParam) // 鎵惧埌杩涚▼瀵瑰簲鐨勪富绐楀彛鍙ユ焺
+ {
+ ProcessWnd[uiPid] = hwnd; // 鎶婂彞鏌勭紦瀛樿捣鏉
+ SetLastError(0); // 璁剧疆鏃犻敊璇
+ return false; // 杩斿洖 false 浠ョ粓姝㈡灇涓剧獥鍙
+ }
+ }
+
+ return true;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/bin/Debug/HSI_SEVENOCEAN_EF1_CsTest.exe.config b/HSI_SEVENOCEAN_EF1_CsTest/bin/Debug/HSI_SEVENOCEAN_EF1_CsTest.exe.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/bin/Debug/HSI_SEVENOCEAN_EF1_CsTest.exe.config
@@ -0,0 +1,6 @@
+锘
+
+
+
+
+
\ No newline at end of file
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs
new file mode 100644
index 0000000..e5dc9b8
--- /dev/null
+++ b/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")]
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
diff --git a/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/HSI_SEVENOCEAN_EF1_CsTest/obj/x86/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29