EgtMachKernel 1.6p3 :

- gestione script OnSetTable in file mde per modificare dati assi
- migliorato sequenziamento curve per lavorazione
- eliminata tabella LOC per variabili locali in generazione part program
- aggiunte funzioni EmtModifyAxisStroke e EmtModifyAxisHome richiamabili da lua macchina
- aggiunta ExistsTable in interfaccia.
This commit is contained in:
Dario Sassi
2016-04-19 15:55:10 +00:00
parent 9b7d870bcc
commit 06a8b15d99
15 changed files with 238 additions and 107 deletions
+16 -88
View File
@@ -88,7 +88,6 @@ static const string GVAR_C3T = ".C3t" ; // (num) token del terzo
static const string GVAR_RRT = ".RRt" ; // (num) token del raggio per arco
static const string GVAR_MASK = ".MASK" ; // (int) mask associato ai movimenti in rapido
static const string GVAR_FLAG = ".FLAG" ; // (int) flag associato ad ogni movimento
static const string TEMP_VAR = "LOC" ; // tavola variabili locali (temporanee)
static const string ON_START = "OnStart" ;
static const string ON_END = "OnEnd" ;
static const string ON_PROGRAM_START = "OnProgramStart" ;
@@ -435,8 +434,6 @@ Generator::OnStart( void)
{
// definisco tavola variabili globali
bool bOk = m_pMachine->LuaCreateGlobTable( GLOB_VAR) ;
// definisco tavola variabili locali (temporanee)
bOk = bOk && m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno valori di default
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_USETO1, false) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MODAL, false) ;
@@ -452,8 +449,6 @@ Generator::OnStart( void)
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_ST, "S") ;
// chiamo la funzione
bOk = bOk && m_pMachine->LuaCallFunction( ON_START) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -461,12 +456,8 @@ Generator::OnStart( void)
bool
Generator::OnEnd( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo la funzione
bOk = bOk && m_pMachine->LuaCallFunction( ON_END) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_END) ;
return bOk ;
}
@@ -480,15 +471,11 @@ Generator::OnProgramStart( const string& sCncFile, const string& sInfo)
LOG_INFO( GetEMkLogger(), "Error opening Cnc file") ;
// assegno nome file
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FILE, sCncFile) ;
// definisco tavola variabili locali (temporanee)
bOk = bOk && m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno info
string sTxt = sInfo + " " + CurrDateTime() ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_INFO, sTxt) ;
// chiamo la funzione di inizio programma
bOk = bOk && m_pMachine->LuaCallFunction( ON_PROGRAM_START) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -496,12 +483,8 @@ Generator::OnProgramStart( const string& sCncFile, const string& sInfo)
bool
Generator::OnProgramEnd( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo fine programma
bOk = bOk && m_pMachine->LuaCallFunction( ON_PROGRAM_END) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_PROGRAM_END) ;
return bOk ;
}
@@ -509,17 +492,13 @@ Generator::OnProgramEnd( void)
bool
Generator::OnDispositionStart( int nOpId, int nOpInd, int nPhase)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno identificativo e indice disposizione
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_DISPID, nOpId) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_DISPID, nOpId) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_DISPIND, nOpInd) ;
// assegno nuovo indice di fase
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PHASE, nPhase) ;
// chiamo la funzione di inizio disposizione
bOk = bOk && m_pMachine->LuaCallFunction( ON_DISPOSITION_START) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -527,12 +506,8 @@ Generator::OnDispositionStart( int nOpId, int nOpInd, int nPhase)
bool
Generator::OnDispositionEnd( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo la funzione di fine disposizione
bOk = bOk && m_pMachine->LuaCallFunction( ON_DISPOSITION_END) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_DISPOSITION_END) ;
return bOk ;
}
@@ -540,15 +515,11 @@ Generator::OnDispositionEnd( void)
bool
Generator::OnTableData( const string& sName, const Point3d& ptOri1)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno nome tavola e valore riferimento
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TABNAME, sName) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TABNAME, sName) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TABORI1, ptOri1) ;
// chiamo la funzione di gestione dati tavola
bOk = bOk && m_pMachine->LuaCallFunction( ON_TABLE_DATA) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -556,18 +527,14 @@ Generator::OnTableData( const string& sName, const Point3d& ptOri1)
bool
Generator::OnFixtureData( int nFixId, int nFixInd, const string& sName, const Point3d& ptPos, double dAngDeg)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno dati bloccaggio
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXID, nFixId) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXID, nFixId) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXIND, nFixInd) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXNAME, sName) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXPOS, ptPos) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FIXANG, dAngDeg) ;
// chiamo la funzione di gestione dati bloccaggio
bOk = bOk && m_pMachine->LuaCallFunction( ON_FIXTURE_DATA) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -575,18 +542,14 @@ Generator::OnFixtureData( int nFixId, int nFixInd, const string& sName, const Po
bool
Generator::OnRawMoveData( int nRawId, int RawMoveInd, int nType, const Point3d& ptPos, int nFlag)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno dati bloccaggio
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWID, nRawId) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWID, nRawId) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWIND, RawMoveInd) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWTYPE, nType) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWPOS, ptPos) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_RAWFLAG, nFlag) ;
// chiamo la funzione di gestione movimento del grezzo
bOk = bOk && m_pMachine->LuaCallFunction( ON_RAWMOVE_DATA) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -594,9 +557,8 @@ Generator::OnRawMoveData( int nRawId, int RawMoveInd, int nType, const Point3d&
bool
Generator::OnToolSelect( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno il nome degli assi
bool bOk = true ;
int nNumAxes = int( m_AxesName.size()) ;
for ( int i = 1 ; i <= MAX_AXES ; ++ i) {
if ( i <= nNumAxes)
@@ -606,8 +568,6 @@ Generator::OnToolSelect( void)
}
// chiamo la funzione di selezione utensile
bOk = bOk && m_pMachine->LuaCallFunction( ON_TOOL_SELECT) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -615,12 +575,8 @@ Generator::OnToolSelect( void)
bool
Generator::OnToolDeselect( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo la funzione di deselezione utensile
bOk = bOk && m_pMachine->LuaCallFunction( ON_TOOL_DESELECT) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_TOOL_DESELECT) ;
return bOk ;
}
@@ -628,17 +584,13 @@ Generator::OnToolDeselect( void)
bool
Generator::OnMachiningStart( int nOpId, int nOpInd, double dSpeed)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno identificativo e indice lavorazione
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MCHID, nOpId) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MCHID, nOpId) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MCHIND, nOpInd) ;
// assegno speed
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_S, dSpeed) ;
// chiamo la funzione di inizio lavorazione
bOk = bOk && m_pMachine->LuaCallFunction( ON_MACHINING_START) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -646,12 +598,8 @@ Generator::OnMachiningStart( int nOpId, int nOpInd, double dSpeed)
bool
Generator::OnMachiningEnd( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo la funzione di fine lavorazione
bOk = bOk && m_pMachine->LuaCallFunction( ON_MACHINING_END) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_MACHINING_END) ;
return bOk ;
}
@@ -659,15 +607,11 @@ Generator::OnMachiningEnd( void)
bool
Generator::OnPathStart( int nClPathId, int nClPathInd)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno identificativo e indice percorso di lavorazione
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PATHID, nClPathId) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PATHID, nClPathId) ;
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_PATHIND, nClPathInd) ;
// chiamo la funzione di inizio percorso di lavorazione
bOk = bOk && m_pMachine->LuaCallFunction( ON_PATH_START) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -675,12 +619,8 @@ Generator::OnPathStart( int nClPathId, int nClPathInd)
bool
Generator::OnPathEnd( void)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// chiamo la funzione di fine percorso di lavorazione
bOk = bOk && m_pMachine->LuaCallFunction( ON_PATH_END) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
bool bOk = m_pMachine->LuaCallFunction( ON_PATH_END) ;
return bOk ;
}
@@ -690,10 +630,8 @@ Generator::OnRapid( int nMove, const DBLVECTOR& AxesEnd, int nAxesMask, int nFla
{
// cancello variabili estranee
ResetArcData() ;
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno il tipo di movimento
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
// assegno il valore degli assi
int nNumAxes = int( AxesEnd.size()) ;
for ( int i = 1 ; i <= MAX_AXES ; ++ i) {
@@ -708,8 +646,6 @@ Generator::OnRapid( int nMove, const DBLVECTOR& AxesEnd, int nAxesMask, int nFla
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FLAG, nFlag) ;
// chiamo la funzione di movimento in rapido
bOk = bOk && m_pMachine->LuaCallFunction( ON_RAPID) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -719,10 +655,8 @@ Generator::OnLinear( int nMove, const DBLVECTOR& AxesEnd, double dFeed, int nFla
{
// cancello variabili estranee
ResetArcData() ;
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno il tipo di movimento
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
// assegno il valore degli assi
int nNumAxes = int( AxesEnd.size()) ;
for ( int i = 1 ; i <= MAX_AXES ; ++ i) {
@@ -737,8 +671,6 @@ Generator::OnLinear( int nMove, const DBLVECTOR& AxesEnd, double dFeed, int nFla
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FLAG, nFlag) ;
// chiamo la funzione di movimento in rapido
bOk = bOk && m_pMachine->LuaCallFunction( ON_LINEAR) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}
@@ -747,10 +679,8 @@ bool
Generator::OnArc( int nMove, const DBLVECTOR& AxesEnd, const Point3d& ptCen, double dRad, double dAngCen,
double dFeed, int nFlag)
{
// definisco tavola variabili locali (temporanee)
bool bOk = m_pMachine->LuaCreateGlobTable( TEMP_VAR) ;
// assegno il tipo di movimento
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MOVE, nMove) ;
// assegno il valore degli assi
int nNumAxes = int( AxesEnd.size()) ;
for ( int i = 1 ; i <= MAX_AXES ; ++ i) {
@@ -773,8 +703,6 @@ Generator::OnArc( int nMove, const DBLVECTOR& AxesEnd, const Point3d& ptCen, dou
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FLAG, nFlag) ;
// chiamo la funzione di movimento in rapido
bOk = bOk && m_pMachine->LuaCallFunction( ON_ARC) ;
// cancello variabili locali
bOk = bOk && m_pMachine->LuaResetGlobVar( TEMP_VAR) ;
return bOk ;
}