From 7861cdf51154efb3fc348c8ae1adc686491115ee Mon Sep 17 00:00:00 2001 From: "zhengxuan.zhang" Date: Fri, 14 Oct 2022 16:44:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=87=BD=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=9B=9E=E5=AE=B6=E5=87=BD=E6=95=B0=E5=88=A4=E6=96=AD=EF=BC=8C?= =?UTF-8?q?=E6=AD=A3=E5=9C=A8=E8=B0=83=E8=AF=95=20=E8=AF=BB=E5=8F=96ACS=20?= =?UTF-8?q?,=20EF3,=20DLL=E7=89=88=E6=9C=AC=E5=8F=B7=EF=BC=8C=E9=81=97?= =?UTF-8?q?=E7=95=99=E6=97=A5=E5=BF=97=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HSI_HexagonMI_EF3/HSI.h | 1 + HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj | 6 +- .../HSI_HexagonMI_EF3.vcxproj.filters | 3 - HSI_HexagonMI_EF3/HSI_Motion.cpp | 60 ++++++++++-------- HSI_HexagonMI_EF3/HSI_Motion.h | 7 +- HSI_HexagonMI_EF3/logger.cpp | 20 ++++++ HSI_HexagonMI_EF3/logger.h | 2 + HSI_HexagonMI_EF3/version.h | 4 +- HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs | 1 + HSI_SEVENOCEAN_EF1_CsTest/Program.cs | 14 ++-- .../bin/Debug/Config/EF3_Config.ini | Bin 7670 -> 7670 bytes 11 files changed, 73 insertions(+), 45 deletions(-) diff --git a/HSI_HexagonMI_EF3/HSI.h b/HSI_HexagonMI_EF3/HSI.h index 84d564f..a8c6c29 100644 --- a/HSI_HexagonMI_EF3/HSI.h +++ b/HSI_HexagonMI_EF3/HSI.h @@ -428,6 +428,7 @@ const int HSI_MAX_POSITIONS_STORED = 500; // 第一阶段需要重写的API 函数 HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome); + 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); diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj index eb90254..bfd2364 100644 --- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj +++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj @@ -100,9 +100,10 @@ Windows true - hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;%(AdditionalDependencies);%(AdditionalDependencies) + hid.lib;setupapi.lib;DirectXLib\lib\x64\d2d1.lib;DirectXLib\lib\x64\d3d9.lib;DirectXLib\lib\x64\d3d10.lib;DirectXLib\lib\x64\d3d10_1.lib;DirectXLib\lib\x64\d3d11.lib;DirectXLib\lib\x64\d3dcompiler.lib;DirectXLib\lib\x64\D3DCSX.lib;DirectXLib\lib\x64\d3dx9.lib;DirectXLib\lib\x64\d3dx10.lib;DirectXLib\lib\x64\d3dx11.lib;DirectXLib\lib\x64\d3dxof.lib;DirectXLib\lib\x64\dinput8.lib;DirectXLib\lib\x64\dsound.lib;DirectXLib\lib\x64\dwrite.lib;DirectXLib\lib\x64\DxErr.lib;DirectXLib\lib\x64\dxgi.lib;DirectXLib\lib\x64\dxguid.lib;DirectXLib\lib\x64\X3DAudio.lib;DirectXLib\lib\x64\xapobase.lib;DirectXLib\lib\x64\XAPOFX.lib;DirectXLib\lib\x64\XInput.lib;ACSCL_x64.LIB;%(AdditionalDependencies) + $(LocalDebuggerWorkingDirectory)\ACS;%(AdditionalLibraryDirectories) copy "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)HSI_SEVENOCEAN_EF1_CsTest\bin\Debug\HSI.dll" @@ -198,9 +199,6 @@ xcopy "$(OutDir)\$(ProjectName).pdb" ..\HSI_GOOGOL_GTS800_WPFTest\bin\Debug\HSI. Create - - - diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters index 059d84c..207a525 100644 --- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters +++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters @@ -22,7 +22,4 @@ - - - \ No newline at end of file diff --git a/HSI_HexagonMI_EF3/HSI_Motion.cpp b/HSI_HexagonMI_EF3/HSI_Motion.cpp index ad53140..032e9e5 100644 --- a/HSI_HexagonMI_EF3/HSI_Motion.cpp +++ b/HSI_HexagonMI_EF3/HSI_Motion.cpp @@ -18,6 +18,7 @@ using namespace std; #ifdef _DEBUG #define new DEBUG_NEW #endif + //=========================================================================== HSI_Motion* g_pHSI_Motion = nullptr; CLogger extern* g_pLogger = nullptr; @@ -197,12 +198,16 @@ HSI_Motion::HSI_Motion() { m_SixEightSubArea[i] = 0; //六环八区分区功能 } + //日志处理 + //DeleteDirectory() CTime tm = CTime::GetCurrentTime(); CString csTime = tm.Format("%Y-%m-%d_%H-%M-%S"); //构造时间字符串 CString dir = L"\\Log\\" + csTime += L"_EF3.Log"; g_pLogger = new CLogger(dir); g_pLogger2 = new CLogger(L"\\Log\\EF3_SumTime.Log"); + + //档位参数 for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) @@ -253,7 +258,8 @@ HSI_Motion::HSI_Motion() } GetAppPath(m_AppPath); m_LogIsOpen[0] = GetPrivateProfileInt(L"LOG", L"LOG_IS_OPEN_0", 0, m_AppPath + _T("\\Config\\EF3_Motion.ini")); - g_pLogger->IsEnabledLog = m_LogIsOpen[0] == 1 ? true : false; + g_pLogger->IsEnabledLog = m_LogIsOpen[0] == 1 ? true : false;//是否启用日志 + m_Set_XYZA_Reserve = 0; //XYZA轴方向 m_motorType = 0; //电机类型 1为伺服电机 0为步进电机 m_AxisHex[0] = 0; @@ -401,7 +407,7 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly) } m_SO7_Serial.SetTimeouts(1000, 1000); m_bConnected = true; - g_pLogger->SendAndFlushWithTime(L"[Startup] Serial is open success\n"); + g_pLogger->SendAndFlushWithTime(L"[Startup] Serial: [%d] is open success\n", m_EF3COMPort); } else { @@ -419,7 +425,6 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly) L"[ACS Motion] Wait for opening of communication with the controller... \n"); // 10.0.0.100 - default IP address of the controller - handleACS = acsc_OpenCommEthernet("10.0.0.100", ACSC_SOCKET_DGRAM_PORT); // for the connection to the controller via local network or Internet // hComm = acsc_OpenCommEthernet("10.0.0.100", ACSC_SOCKET_STREAM_PORT); @@ -437,19 +442,17 @@ HSI_STATUS HSI_Motion::Startup(HWND _hWnd, bool _bOfflineOnly) return HSI_STATUS_FAILED; } m_bACSConnected = true; - g_pLogger->SendAndFlushWithTime( - L"[ACS Motion] Communication with the controller established success\n"); + g_pLogger->SendAndFlushWithTime(L"[ACS Motion] ACS Established Success\n"); //获取ACS 控制器版本号 char Firmware[256]; int Received; - if(!acsc_GetFirmwareVersion(handleACS,Firmware,255,&Received,nullptr)) + if (!acsc_GetFirmwareVersion(handleACS, Firmware, 255, &Received, nullptr)) { g_pLogger->SendAndFlushWithTime(L"[ACS Motion] GET ACS Controller Version failed\n"); } - g_pLogger->SendAndFlushWithTime(L"[ACS Motion] ACS Controller Version: %s \n",Firmware); - + g_pLogger->SendAndFlushWithTime(L"[ACS Motion] ACS Controller Version: %s\n", Firmware); } else { @@ -722,7 +725,7 @@ HSI_STATUS HSI_Motion::GetFirmwareVersion(byte* version) m_Thread_StateData = HSI_THREAD_PAUSED; Sleep(3); int waite_count = 0; - unsigned char senddata[64] = {0}; + unsigned char senddata[8] = {0}; //senddata[0] = 0x04; //senddata[1] = 0x03; @@ -1007,7 +1010,7 @@ HSI_STATUS HSI_Motion::HomeMachine(bool bHomed) //运行 ACS 控制器内buffer0 自动回家动作 //回家后,启用正负限位 - if (!acsc_RunBuffer(handleACS, 0, NULL, ACSC_SYNCHRONOUS)) + if (!acsc_RunBuffer(handleACS, ACSC_BUFFER_6, nullptr, ACSC_SYNCHRONOUS)) { g_pLogger->SendAndFlushWithTime(L"[HomeMachine] ACS Run Buffer 0 error\n"); return HSI_STATUS_FAILED; @@ -1381,8 +1384,9 @@ HSI_STATUS HSI_Motion::IsHomed(bool& bHomed) } // 判断是否需要回家,读取ACS控制器回家标志位,来判断本次上电是否已经回过家 - if (!acsc_ReadInteger(handleACS, ACSC_NONE, "ISHOMED", ACSC_NONE, ACSC_NONE, ACSC_NONE, ACSC_NONE, isHomed, - NULL)) + if (!acsc_ReadInteger(handleACS, ACSC_NONE, "YAW_HOME_DONE", ACSC_NONE, ACSC_NONE, ACSC_NONE, ACSC_NONE, + isHomed, + nullptr)) { g_pLogger->SendAndFlushWithTime(L"[IsHomed] ACS Read ISHOMED Flag Error\n"); CurrentHomeMachineState = E_EF3_HOME_NONE; @@ -1390,7 +1394,8 @@ HSI_STATUS HSI_Motion::IsHomed(bool& bHomed) bHomed = false; } - g_pLogger->SendAndFlushWithTime(L"[IsHomed] ACS Read ISHOMED X:%d Y1:%d Y2:%d Z:%d\n", isHomed[0], isHomed[1], + g_pLogger->SendAndFlushWithTime(L"[IsHomed] ACS Read YAW_HOME_DONE X:%d Y1:%d Y2:%d Z:%d\n", isHomed[0], + isHomed[1], isHomed[2], isHomed[3]); //如果各个轴标志位 已经回过家 @@ -1778,7 +1783,6 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed) if (CurrentHomeMachineState == E_EF3_HOME_FINISHED) { //软限位 - } else { @@ -1806,7 +1810,7 @@ HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed) int acsDirection = bJOGDir ? ACSC_POSITIVE_DIRECTION : ACSC_NEGATIVE_DIRECTION; if (!acsc_Jog(handleACS, 0, AxisTypes, acsDirection, nullptr)) { - g_pLogger->SendAndFlushWithTime(L"[Jog] [%d] 轴 [%s] 方向移动失败",AxisTypes,bJOGDir?"正":"负"); + g_pLogger->SendAndFlushWithTime(L"[Jog] [%d] 轴 [%s] 方向移动失败", AxisTypes, bJOGDir ? "正" : "负"); } jogMoving = true; @@ -2177,7 +2181,7 @@ HSI_STATUS HSI_Motion::StopJogOld() g_pLogger->SendAndFlushWithTime(L"[StopJog] PushButtonTime = %d\n", t_use); Sleep(t_use); } - unsigned char m_SendJogData[64] = { 0 }; + unsigned char m_SendJogData[64] = {0}; if (m_IsUseJerk == 0) { m_SendJogData[0] = CT_MOTOR; @@ -2430,8 +2434,9 @@ HSI_STATUS HSI_Motion::GetPositionXyzOld(UINT AxisTypes, double& PositionX, doub } return rStatus; } + HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, - double& Time) + double& Time) { auto rStatus = HSI_STATUS_NORMAL; //UNREFERENCED_PARAMETER(AxisTypes)的意思就是告诉编译器, @@ -2467,7 +2472,7 @@ HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double& PositionX, double& m_EncPos[1] = PositionX; m_EncPos[2] = PositionY; m_EncPos[3] = PositionZ; - m_EncPos[4] = m_PosForAllAxis[4];// m_PosForAllAxis 记录4轴位置 + m_EncPos[4] = m_PosForAllAxis[4]; // m_PosForAllAxis 记录4轴位置 m_PosForAllAxis[1] = PositionX; m_PosForAllAxis[2] = PositionY; m_PosForAllAxis[3] = PositionZ; @@ -2483,7 +2488,7 @@ HSI_STATUS HSI_Motion::GetPositionXyz(UINT AxisTypes, double& PositionX, double& m_PosForAllAxis[4] = m_EncPos[4]; g_pLogger->SendAndFlushWithTime(L"[GetPositionEncPrfMulti] failed\n"); } - + Time = set_end - set_start; } return rStatus; @@ -3160,7 +3165,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P m_PosThread[3] = PositionZ; m_PosThread[4] = m_PositionA; - + //打印当前位置,目标位置 //g_pLogger->SendAndFlushWithTime( // L"[SetPositionXyzNowPos] Pos[1] = %.4f,Pos[2] = %.4f,Pos[3] = %.4f,Pos[4] = %.4f\n", @@ -3171,19 +3176,20 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P PositionY, PositionZ, m_PositionA); //打印轴当前运动参数 - double motionParam[5] = { 0 }; + double motionParam[5] = {0}; GetMotorParam(AXIS_X, motionParam); g_pLogger->SendAndFlushWithTime( - L"[SetPositionXyz] axis= %d,GetVelocity = %d,GetAcceleration= %d,GetDeceleration= %d, GetKillDeceleration= %d, GetJerk= %d\n",AXIS_X,motionParam[0],motionParam[1],motionParam[2],motionParam[3],motionParam[4]); + L"[SetPositionXyz] axis= %d,GetVelocity = %d,GetAcceleration= %d,GetDeceleration= %d, GetKillDeceleration= %d, GetJerk= %d\n", + AXIS_X, motionParam[0], motionParam[1], motionParam[2], motionParam[3], motionParam[4]); //设置轴运动速度,TO-DO //开始运动到指定位置 - int Axes[] = { ACSC_AXIS_0, ACSC_AXIS_1, ACSC_AXIS_2 }; //需要运动的轴 - double Points[] = { PositionX ,PositionY,PositionZ }; //目标位置点 - if(!acsc_ToPointM(handleACS, 0, Axes, Points, nullptr)) + int Axes[] = {ACSC_AXIS_0, ACSC_AXIS_1, ACSC_AXIS_2}; //需要运动的轴 + double Points[] = {PositionX, PositionY, PositionZ}; //目标位置点 + if (!acsc_ToPointM(handleACS, 0, Axes, Points, nullptr)) { g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] ACS Multi Motion Error"); } @@ -3194,7 +3200,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P //圆弧插补 - if (eType == HSI_MOTION_MOVE_NOWAIT)//非等待 + if (eType == HSI_MOTION_MOVE_NOWAIT) //非等待 { g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Nowait SetEvent\n"); g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Nowait move!\n"); @@ -3204,7 +3210,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P m_Thread_State = HSI_THREAD_RUNNING; SetEvent(m_hTriggerEvent); } - if (eType == HSI_MOTION_MOVE_WAIT)//等待模式 + if (eType == HSI_MOTION_MOVE_WAIT) //等待模式 { g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Out Success Wait Mode\n"); m_Thread_State = HSI_THREAD_RUNNING; diff --git a/HSI_HexagonMI_EF3/HSI_Motion.h b/HSI_HexagonMI_EF3/HSI_Motion.h index 921c7fd..3210f9d 100644 --- a/HSI_HexagonMI_EF3/HSI_Motion.h +++ b/HSI_HexagonMI_EF3/HSI_Motion.h @@ -158,6 +158,11 @@ public: ~HSI_Motion() override; HSI_STATUS IsSupported(UINT& Types) override; HSI_STATUS Startup(HWND _hWnd, bool _bOfflineOnly) override; + /** + * \brief 获取EF3固件版本 + * \param version + * \return + */ HSI_STATUS GetFirmwareVersion(byte* version); /** * \brief 判断机台是否回家,如果没有,则执行回家动作 @@ -272,7 +277,7 @@ public: * \return */ HSI_STATUS Shutdown() override; - HSI_STATUS ShutdownOld() override; + //HSI_STATUS ShutdownOld() override; HSI_STATUS IsSupportedEx(UINT AxisTypes, UINT& Types); HSI_STATUS StartupEx(UINT AxisTypes, bool bHome); diff --git a/HSI_HexagonMI_EF3/logger.cpp b/HSI_HexagonMI_EF3/logger.cpp index 5c7957b..dd0e1a7 100644 --- a/HSI_HexagonMI_EF3/logger.cpp +++ b/HSI_HexagonMI_EF3/logger.cpp @@ -2,6 +2,10 @@ #include "logger.h" #include #include +#include +#include +#include + void CLogger::SendAtTime(const TCHAR* buffer) { @@ -115,3 +119,19 @@ void CLogger::SendAndFlushPerMode(LPCTSTR format, ...) } LeaveCriticalSection(&m_lockLogger); } + + +//void Getfilepath(const char* path, const char* filename, char* filepath) +//{ +// strcpy(filepath, path); +// if (filepath[strlen(path) - 1] != '/') +// strcat(filepath, "/"); +// strcat(filepath, filename); +// printf("path is = %s\n", filepath); +//} + +//删除当前目录下txt文件 +void CLogger::DeleteOldFile() +{ + +} \ No newline at end of file diff --git a/HSI_HexagonMI_EF3/logger.h b/HSI_HexagonMI_EF3/logger.h index 8663f52..e71a116 100644 --- a/HSI_HexagonMI_EF3/logger.h +++ b/HSI_HexagonMI_EF3/logger.h @@ -51,6 +51,8 @@ public: void SendAndFlush(LPCTSTR, ...); void SendAndFlushPerMode(LPCTSTR, ...); void SendAndFlushWithTime(LPCTSTR, ...); + void CLogger::DeleteOldFile(); + bool IsEnabledLog/* = false*/; //鏄惁鍚敤鏃ュ織 CString m_FileName; long m_lLogMask; diff --git a/HSI_HexagonMI_EF3/version.h b/HSI_HexagonMI_EF3/version.h index bac2876..261fb7b 100644 --- a/HSI_HexagonMI_EF3/version.h +++ b/HSI_HexagonMI_EF3/version.h @@ -12,5 +12,5 @@ #define HSI_VERSION_REVNUM #define HSI_VERSION_BUILD_DATE _T(__DATE__ ) #define HSI_VERSION_BUILD_TIME _T(__TIME__ ) -#define HSI_FILE_DESCRIPTION "2022.10.13 / 17:21 " -#define HSI_FILE_CSDESCRIPTION _T("2022.10.13 / 17:21 ") +#define HSI_FILE_DESCRIPTION "2022.10.14 / 11:53 " +#define HSI_FILE_CSDESCRIPTION _T("2022.10.14 / 11:53 ") diff --git a/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs b/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs index e11b415..a15c576 100644 --- a/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs +++ b/HSI_SEVENOCEAN_EF1_CsTest/HSI/HSI.cs @@ -125,6 +125,7 @@ namespace HSI_SEVENOCEAN_EF1_CsTest.HSI [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); diff --git a/HSI_SEVENOCEAN_EF1_CsTest/Program.cs b/HSI_SEVENOCEAN_EF1_CsTest/Program.cs index 65beeb6..b1fbccc 100644 --- a/HSI_SEVENOCEAN_EF1_CsTest/Program.cs +++ b/HSI_SEVENOCEAN_EF1_CsTest/Program.cs @@ -12,27 +12,25 @@ namespace HSI_SEVENOCEAN_EF1_CsTest private static void Main(string[] args) { - //鑾峰彇HSI Dll鐗堟湰 + //1 鑾峰彇HSI Dll鐗堟湰 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("HSI.dll Version: {0}.{1}", major, minjor); - //HSI 鍒濆鍖 + //2 HSI 鍒濆鍖 var mainIntPtr = User32Api.GetCurrentWindowHandle(); rStatus = Interface.Startup(mainIntPtr, false); Console.WriteLine("Interface.Startup: {0}", rStatus); - //鑾峰彇鏈哄櫒绫诲瀷 + //3 鑾峰彇鏈哄櫒绫诲瀷 var machineVersion = Def.HSI_EF3Version; rStatus = Interface.GetMachineInfo(ref machineVersion); Console.WriteLine("Interface.GetMachineInfo: {0}", rStatus); Console.WriteLine("HSI EF3 Version: {0}", machineVersion); - - - //璁剧疆鍥炶皟锛屾柟渚挎牴鎹洖璋冪粨鏋滆繘琛屾彁閱 + //4 璁剧疆鍥炶皟锛屾柟渚挎牴鎹洖璋冪粨鏋滆繘琛屾彁閱 Interface.HsiCallback = Interface.EventCallback; rStatus = Interface.SetEventCallback(Interface.HsiCallback); Console.WriteLine("SetEventCallback:{0}", rStatus); //浜嬩欢鍥炶皟鎴愬姛 @@ -42,14 +40,14 @@ namespace HSI_SEVENOCEAN_EF1_CsTest rStatus = Motion.Startup(true); //杩愬姩鍒濆鍖栵紝鍥炲鍒ゆ柇 Console.WriteLine("Motion.Startup:{0}", rStatus); - //鑾峰彇EF3鍥轰欢鐗堟湰鍙,寰呮祴璇 + //5 鑾峰彇EF3鍥轰欢鐗堟湰鍙,寰呮祴璇 var EF3Version = new byte[20]; //IntPtr intPtrEF3Version = IntPtr.Zero; IntPtr intPtrEF3Version = Marshal.StringToHGlobalAnsi(""); rStatus = Interface.MotionGetFirewareVerion(intPtrEF3Version); Console.WriteLine("Interface.MotionGetFirewareVerion: {0}", rStatus); Marshal.Copy(intPtrEF3Version, EF3Version, 0, EF3Version.Length); - Console.WriteLine("EF3 FirewareVerion Version: {0}", Encoding.Unicode.GetString(EF3Version)); + Console.WriteLine("EF3 FirewareVerion Version: {0}", Encoding.UTF8.GetString(EF3Version)); var bHomed = true; rStatus = Motion.IsHomed(ref bHomed); diff --git a/HSI_SEVENOCEAN_EF1_CsTest/bin/Debug/Config/EF3_Config.ini b/HSI_SEVENOCEAN_EF1_CsTest/bin/Debug/Config/EF3_Config.ini index f143dae197784541d557e678d79200680120c44e..ad11e48b22bee06f168c59495bbc9325b4056695 100644 GIT binary patch delta 19 bcmexn{mpv9B1XfFi?2#E8gH(YsbvHJTwe$U delta 19 bcmexn{mpv9B1VIai?2#E8f~tWsbvHJTulfA