From 565dbe8aee55feb50b035a6f2571ddfef45a8842 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 17 Aug 2018 07:39:51 +0000 Subject: [PATCH] EgtExecutor : - razionalizzazione della interfaccia di simulazione (aggiunta ExeSimInit e rinominata ExeSimStop in ExeSimExit). --- EXE_MachMgr.cpp | 54 ++++++++++++++++------------ LUA_MachMgr.cpp | 94 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 94 insertions(+), 54 deletions(-) diff --git a/EXE_MachMgr.cpp b/EXE_MachMgr.cpp index 8ebb08e..b0501a6 100644 --- a/EXE_MachMgr.cpp +++ b/EXE_MachMgr.cpp @@ -2483,6 +2483,16 @@ ExeUpdateAllMachinings( bool bStopOnFirstErr, string& sErrList) //----------------------------------------------------------------------------- // Simulazione +//----------------------------------------------------------------------------- +bool +ExeSimInit( void) +{ + IMachMgr* pMachMgr = GetCurrMachMgr() ; + VERIFY_MACHMGR( pMachMgr, false) + // preparo la simulazione della macchinata corrente + return pMachMgr->SimInit() ; +} + //----------------------------------------------------------------------------- bool ExeSimStart( bool bFirst) @@ -2513,6 +2523,26 @@ ExeSimHome( void) return pMachMgr->SimGoHome() ; } +//----------------------------------------------------------------------------- +bool +ExeSimSetStep( double dStep) +{ + IMachMgr* pMachMgr = GetCurrMachMgr() ; + VERIFY_MACHMGR( pMachMgr, false) + // imposto lo step di riferimento per la simulazione della macchinata corrente + return pMachMgr->SimSetStep( dStep) ; +} + +//----------------------------------------------------------------------------- +bool +ExeSimSetUiStatus( int nUiStatus) +{ + IMachMgr* pMachMgr = GetCurrMachMgr() ; + VERIFY_MACHMGR( pMachMgr, false) + // imposto lo stato utente del simulatore + return pMachMgr->SimSetUiStatus( nUiStatus) ; +} + //----------------------------------------------------------------------------- bool ExeSimGetAxisInfoPos( int nI, string& sName, string& sToken, bool& bLinear, double& dVal) @@ -2555,32 +2585,12 @@ ExeSimGetMoveInfo( int& nGmove, double& dFeed) //----------------------------------------------------------------------------- bool -ExeSimSetStep( double dStep) -{ - IMachMgr* pMachMgr = GetCurrMachMgr() ; - VERIFY_MACHMGR( pMachMgr, false) - // imposto lo step di riferimento per la simulazione della macchinata corrente - return pMachMgr->SimSetStep( dStep) ; -} - -//----------------------------------------------------------------------------- -bool -ExeSimSetUiStatus( int nUiStatus) -{ - IMachMgr* pMachMgr = GetCurrMachMgr() ; - VERIFY_MACHMGR( pMachMgr, false) - // imposto lo stato utente del simulatore - return pMachMgr->SimSetUiStatus( nUiStatus) ; -} - -//----------------------------------------------------------------------------- -bool -ExeSimStop( void) +ExeSimExit( void) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, false) // termino la simulazione della macchinata corrente - return pMachMgr->SimStop() ; + return pMachMgr->SimExit() ; } //----------------------------------------------------------------------------- diff --git a/LUA_MachMgr.cpp b/LUA_MachMgr.cpp index 93c11c5..85fd9a1 100644 --- a/LUA_MachMgr.cpp +++ b/LUA_MachMgr.cpp @@ -2587,6 +2587,19 @@ LuaUpdateAllMachinings( lua_State* L) //------------------------------------------------------------------------------- // Simulation +//------------------------------------------------------------------------------- +static int +LuaSimInit( lua_State* L) +{ + // nessuno + LuaClearStack( L) ; + // avvio la simulazione + bool bOk = ExeSimInit() ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- static int LuaSimStart( lua_State* L) @@ -2617,6 +2630,49 @@ LuaSimMove( lua_State* L) return 2 ; } +//------------------------------------------------------------------------------- +static int +LuaSimHome( lua_State* L) +{ + // nessun parametro + LuaClearStack( L) ; + // porto la macchina in posizione home + bool bOk = ExeSimHome() ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + +//------------------------------------------------------------------------------- +static int +LuaSimSetStep( lua_State* L) +{ + // 1 parametro : dStep + double dStep ; + LuaCheckParam( L, 1, dStep) + LuaClearStack( L) ; + // imposto lo step di riferimento per la simulazione + bool bOk = ExeSimSetStep( dStep) ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + +//------------------------------------------------------------------------------- +static int +LuaSimSetUiStatus( lua_State* L) +{ + // 1 parametro : nUiStatus + int nUiStatus ; + LuaCheckParam( L, 1, nUiStatus) + LuaClearStack( L) ; + // imposto lo step di riferimento per la simulazione + bool bOk = ExeSimSetUiStatus( nUiStatus) ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- static int LuaSimGetAxisInfoPos( lua_State* L) @@ -2715,40 +2771,12 @@ LuaSimGetMoveInfo( lua_State* L) //------------------------------------------------------------------------------- static int -LuaSimHome( lua_State* L) -{ - // nessun parametro - LuaClearStack( L) ; - // porto la macchina in posizione home - bool bOk = ExeSimHome() ; - // restituisco il risultato - LuaSetParam( L, bOk) ; - return 1 ; -} - -//------------------------------------------------------------------------------- -static int -LuaSimSetStep( lua_State* L) -{ - // 1 parametro : dStep - double dStep ; - LuaCheckParam( L, 1, dStep) - LuaClearStack( L) ; - // imposto lo step di riferimento per la simulazione - bool bOk = ExeSimSetStep( dStep) ; - // restituisco il risultato - LuaSetParam( L, bOk) ; - return 1 ; -} - -//------------------------------------------------------------------------------- -static int -LuaSimStop( lua_State* L) +LuaSimExit( lua_State* L) { // nessun parametro LuaClearStack( L) ; // termino la simulazione - bool bOk = ExeSimStop() ; + bool bOk = ExeSimExit() ; // restituisco il risultato LuaSetParam( L, bOk) ; return 1 ; @@ -3532,15 +3560,17 @@ LuaInstallMachMgr( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtApplyAllMachinings", LuaApplyAllMachinings) ; bOk = bOk && luaMgr.RegisterFunction( "EgtUpdateAllMachinings", LuaUpdateAllMachinings) ; // Simulation + bOk = bOk && luaMgr.RegisterFunction( "EgtSimInit", LuaSimInit) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimStart", LuaSimStart) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimMove", LuaSimMove) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimHome", LuaSimHome) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSimSetStep", LuaSimSetStep) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSimSetUiStatus", LuaSimSetUiStatus) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimGetAxisInfoPos", LuaSimGetAxisInfoPos) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimGetToolInfo", LuaSimGetToolInfo) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimGetOperationInfo", LuaSimGetOperationInfo) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSimGetMoveInfo", LuaSimGetMoveInfo) ; - bOk = bOk && luaMgr.RegisterFunction( "EgtSimSetStep", LuaSimSetStep) ; - bOk = bOk && luaMgr.RegisterFunction( "EgtSimStop", LuaSimStop) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSimExit", LuaSimExit) ; // Generation & T&L estimation bOk = bOk && luaMgr.RegisterFunction( "EgtGenerate", LuaGenerate) ; bOk = bOk && luaMgr.RegisterFunction( "EgtEstimate", LuaEstimate) ;