From 95598273106a14d06e9520ea9e2c5e95b3df0c82 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Fri, 9 May 2014 12:11:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9MachineInterfaceDll.dll?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E8=AE=BE=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MachineInterfaceDll.cpp | 34 +++++++++--------- .../MachineInterfaceDll/MachineInterfaceDll.h | 34 +++++++++--------- .../MachineInterfaceDll.rc | Bin 4676 -> 4676 bytes .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 121856 -> 125440 bytes 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp index 2262ec4..2f905f0 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp @@ -20,7 +20,7 @@ EMACHINE_AXIS ActiveAxis=MACHINE_AXIS_NONE; SSI_STATUS_MOTION LoadMotionParameter(); //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode) +extern "C" EXP_IMP SSI_STATUS_MOTION Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode) { SSI_STATUS_MOTION rStatus=SSI_STATUS_MOTION_NORMAL; g_bOfflineOnly=bOfflineOnly; @@ -73,7 +73,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,EH return rStatus; } //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Shutdown() +extern "C" EXP_IMP SSI_STATUS_MOTION Machine_Shutdown() { if (m_pEF8000_Interface) { @@ -98,7 +98,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Shutdown() } /**************************Motion**********************************/ -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode) +EXP_IMP SSI_STATUS_MOTION Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode) { if (!g_bOfflineOnly) { @@ -116,7 +116,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachi return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedXYZ(bool &bHomed) +EXP_IMP SSI_STATUS_MOTION Motion_IsHomedXYZ(bool &bHomed) { if (!g_bOfflineOnly) { @@ -135,7 +135,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedXYZ(bool &bHomed) return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ) +EXP_IMP SSI_STATUS_MOTION Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ) { if (!g_bOfflineOnly) { @@ -153,7 +153,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionXYZ(double &PositionX, double return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait) +EXP_IMP SSI_STATUS_MOTION Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait) { if (!g_bOfflineOnly) { @@ -171,7 +171,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionXYZ(double PositionX, double return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedXYZ(bool &bFinished) +EXP_IMP SSI_STATUS_MOTION Motion_IsFinishedXYZ(bool &bFinished) { if (!g_bOfflineOnly) { @@ -189,7 +189,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedXYZ(bool &bFinished) return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis) +EXP_IMP SSI_STATUS_MOTION Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis) { if (!g_bOfflineOnly) { @@ -209,7 +209,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSp } //SpeedGear:1,2,3,4(Faster) -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear) +EXP_IMP SSI_STATUS_MOTION Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear) { if (!g_bOfflineOnly) { @@ -319,7 +319,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear) return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Stop() +EXP_IMP SSI_STATUS_MOTION Motion_Stop() { if (!g_bOfflineOnly) { @@ -347,7 +347,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Stop() /**************************Rotary Table****************************/ //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos) +extern "C" EXP_IMP SSI_STATUS_MOTION Motion_GetPositionR(double& dPos) { if (!g_bOfflineOnly) { @@ -366,7 +366,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos) } } //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolutePos,bool bWait) +extern "C" EXP_IMP SSI_STATUS_MOTION Motion_SetPositionR(double dAbsolutePos,bool bWait) { if (!g_bOfflineOnly) { @@ -385,7 +385,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolute } } //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeR() +extern "C" EXP_IMP SSI_STATUS_MOTION Motion_DCCHomeR() { if (!g_bOfflineOnly) { @@ -405,7 +405,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeR() } //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedR(bool &bHomed) +extern "C" EXP_IMP SSI_STATUS_MOTION Motion_IsHomedR(bool &bHomed) { if (!g_bOfflineOnly) { @@ -424,7 +424,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedR(bool &bHomed) } } //================================================================== -extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedR(bool &bFinished) +extern "C" EXP_IMP SSI_STATUS_MOTION Motion_IsFinishedR(bool &bFinished) { if (!g_bOfflineOnly) { @@ -443,7 +443,7 @@ extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedR(bool &bFinished) } } /*******************************************************************/ -EXP_IMP SSI_STATUS_MOTION WINAPI Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch) +EXP_IMP SSI_STATUS_MOTION Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch) { if (!g_bOfflineOnly) { @@ -461,7 +461,7 @@ EXP_IMP SSI_STATUS_MOTION WINAPI Illumination_SetLampState(double dTopLightPerce return SSI_STATUS_MOTION_NORMAL; } } -EXP_IMP SSI_STATUS_MOTION WINAPI SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data) +EXP_IMP SSI_STATUS_MOTION SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data) { if (!g_bOfflineOnly) { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h index a2e0325..34aeac2 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h @@ -45,33 +45,33 @@ enum SSI_STATUS_MOTION extern "C" { /////////////////////////////////////////////////////////////////////////////////// - EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode); - EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Shutdown(); + EXP_IMP SSI_STATUS_MOTION Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode); + EXP_IMP SSI_STATUS_MOTION Machine_Shutdown(); //================================================================================= //===============================Motion============================================ - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedXYZ(bool &bHomed); + EXP_IMP SSI_STATUS_MOTION Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode); + EXP_IMP SSI_STATUS_MOTION Motion_IsHomedXYZ(bool &bHomed); //Units:mm - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedXYZ(bool &bFinished); + EXP_IMP SSI_STATUS_MOTION Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ); + EXP_IMP SSI_STATUS_MOTION Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait); + EXP_IMP SSI_STATUS_MOTION Motion_IsFinishedXYZ(bool &bFinished); //SpeedGear:1,2,3,4(Faster) - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis); + EXP_IMP SSI_STATUS_MOTION Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis); //SpeedGear:1,2,3,4(Faster) - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Stop(); + EXP_IMP SSI_STATUS_MOTION Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear); + EXP_IMP SSI_STATUS_MOTION Motion_Stop(); //===================================Rotary Table================================== - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeR(); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedR(bool &bHomed); + EXP_IMP SSI_STATUS_MOTION Motion_DCCHomeR(); + EXP_IMP SSI_STATUS_MOTION Motion_IsHomedR(bool &bHomed); //Units:Rad - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolutePos,bool bWait); - EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedR(bool &bFinished); + EXP_IMP SSI_STATUS_MOTION Motion_GetPositionR(double& dPos); + EXP_IMP SSI_STATUS_MOTION Motion_SetPositionR(double dAbsolutePos,bool bWait); + EXP_IMP SSI_STATUS_MOTION Motion_IsFinishedR(bool &bFinished); //==============================Illumination======================================= //Range value:0.0-100.0 - EXP_IMP SSI_STATUS_MOTION WINAPI Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch); + EXP_IMP SSI_STATUS_MOTION Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch); //==============================CMD================================================ - EXP_IMP SSI_STATUS_MOTION WINAPI SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data); + EXP_IMP SSI_STATUS_MOTION SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data); } \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc index 0143fa6f057b74e7f38e8d9cc318579c077bc400..e12db99b5d6e40d82731639fb41bf84bcef131f0 100644 GIT binary patch delta 42 vcmX@2aztgrDh@`Y$*VaG8I3mI<@nA7U0Wll7#5e2liLn3xFyag; delta 42 vcmX@2aztgrDh@`&$*VaG84Wkz<@nA7U0Wll7#5e2liLn3xFog^y diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index 6ff4169109e0da3ff58912cb66666e427c12c35d..d14645cc839fb3a1f2fe0d1217f1f5d4502499a5 100644 GIT binary patch delta 4264 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 Y%R3Eo*x5Yr7PfT4d}pEP1e7ZO1A~IQEC2ui delta 3225 zcma)8e^k@g760CEzKIDh;zH;=>J?-zspvoGi6ynDaz z-gn=FImaV4a&70*=fLw7?0Hk7Jin5e&?vqFbGZzgz~OIHE!dK979as%r3mBXFj zE-8*PNs*HjHLy*2upfORp)73==pYu?SKh$RiUt_KkGkGK_cyc9;g3LHg@9J?VP?sL z*YqI&whTyT3PYi}cvu>@LbK8(%alf9buaSGk|7-?ida=7Ge%=LNLX}ITTDdBbW8i7Vx7UtvDll#!>U!=*WZ!{g{~?S~#YJ`cmI%%WY*m~#iwKN1TW zc;utgihgble%!SOEoHNqb}ob~<7rbbiG`unS;~A7V4?#{iP=JuRjgeNu}aC>9QH&3 z>}T57U zv;Q^+Z3D$njoD#aaO#(Fly}#Dob7F287SL^;UKwWA1?XYK<>XKXP4vachE4{`!M93H$0r^dWwlHwFXSt*bO+2?=3^m&krxx?`o zyZ0zQOk)GntpgnkH&XsOzU`EojfC4#z%Ql>DR{SCc~i-(y-*4T_Z$EtRVybvd5zfrkUr78LGvcf?`VEc^H^0*_R;%1<99$D znY58uostcNi3qQM#I3-g6A@x94<4Rv)<7i|R>Xswoe76$#WWT8fW=E?*jcuLtxpF% zsaQ!W+JY%I6$Y`XmErIw`ONnxP>CBtz@=ovR!Cr4HJAwa6i6AOkc2zB$DB-xq?SHF z(y0cZaE#DvK$^dLxE2k1CJpRV9qEoh?^%tC6D@%a8_~xB6y9!>P~Asf*2>?Cng2h{S%(tu~v!eBOm(#IT8V5Xatk<204B?sqI{02wML<+Nd zpoHDe2OZA2ZWh}zV4ebx)=<3|P_d!8RG*~s6GO2+!Up$}g-bHQ1#n0zA3p-aYIY+F zE)lx=Za0a>g>Z#`uc?!I^9w+WbHKN}2u_~q3!odDOQ|QGfDq;?0IO(S0&@Uk%jjxL z!Kc9b$rBk{PTjoQGKJY!fK8oC=PwOjm<3kA=SujUL`yF%F|ZN{j^{UqKW)ofy8L?Y z>@U_YQEm}4RzthM)(Bvf?iS7p^S~)pFF7y6nKKtIGtXv-!_5^_+0?agL2~Knz?^TN zq1L7r)7HU#s9K{F7p#X@L7hjRm(hIa_zj@t6&I+vo~hmmJ_(GkqxIrpiuXnhR1rii zaz3b#L>zLdE}|zVDZx$Uo5VspEEdKeSa<#Wb8Vl#6nRb8leq2r53jK^vGDVjZE#j4 zwM8-TI`jZq1T70Of<>{MTZ}uq_uvaX5ipVE?17W6x20lJA3vde8lXH)V+j7u#7eJP+y6? LU=-bcuub|uo8Xi|