79bbc3ec0e
- aggiunta gestione Assi di macchina per lettura e movimento - aggiunta gestione Teste di macchina per lettura e carico/scarico utensili.
132 lines
4.4 KiB
C++
132 lines
4.4 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2015-2015
|
|
//----------------------------------------------------------------------------
|
|
// File : MachMgrMachines.cpp Data : 02.05.15 Versione : 1.6e1
|
|
// Contenuto : Implementazione gestione macchine della classe MachMgr.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 02.05.15 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//--------------------------- Include ----------------------------------------
|
|
#include "stdafx.h"
|
|
#include "MachMgr.h"
|
|
#include "MachConst.h"
|
|
#include "/EgtDev/Include/EGkGdbIterator.h"
|
|
#include "/EgtDev/Include/EgnStringUtils.h"
|
|
#include "/EgtDev/Include/EgnFileUtils.h"
|
|
#include "/EgtDev/Include/EgtPointerOwner.h"
|
|
|
|
using namespace std ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::LoadMachine( const string& sMachineName)
|
|
{
|
|
// verifico validità del nome
|
|
if ( ! IsValidName( sMachineName))
|
|
return false ;
|
|
// se macchina già caricata, non devo fare alcunchè
|
|
if ( GetMachine( sMachineName) != - 1)
|
|
return true ;
|
|
// creo gruppo ausiliario di base per le macchine
|
|
if ( ! CreateMachAux())
|
|
return false ;
|
|
// creo una nuova macchina
|
|
PtrOwner<Machine> pMch( new( nothrow) Machine) ;
|
|
if ( IsNull( pMch))
|
|
return false ;
|
|
// tento di caricarla
|
|
if ( pMch->Init( sMachineName, this)) {
|
|
m_vMachines.push_back( Release( pMch)) ;
|
|
return true ;
|
|
}
|
|
return false ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
int
|
|
MachMgr::GetMachine( const string& sMachineName) const
|
|
{
|
|
// ciclo sulle macchine
|
|
for ( size_t i = 0 ; i < m_vMachines.size() ; ++ i) {
|
|
if ( m_vMachines[i] != nullptr &&
|
|
CompareNoCase( m_vMachines[i]->GetMachineName(), sMachineName))
|
|
return int( i) ;
|
|
}
|
|
return - 1 ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
int
|
|
MachMgr::GetCurrMGeoId( void) const
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return GDB_ID_NULL ;
|
|
return m_vMachines[m_nCurrMch]->GetMGeoId() ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::SetAxisPos( const string& sAxis, double dVal)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return GDB_ID_NULL ;
|
|
return m_vMachines[m_nCurrMch]->SetAxisPos( sAxis, dVal) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::GetAxisPos( const string& sAxis, double& dVal)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return GDB_ID_NULL ;
|
|
return m_vMachines[m_nCurrMch]->GetAxisPos( sAxis, dVal) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::GetAxisHomePos( const string& sAxis, double& dHomeVal)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return GDB_ID_NULL ;
|
|
return m_vMachines[m_nCurrMch]->GetAxisHomePos( sAxis, dHomeVal) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::ResetAxisPos( const string& sAxis)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return GDB_ID_NULL ;
|
|
return m_vMachines[m_nCurrMch]->ResetAxisPos( sAxis) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::LoadTool( const string& sHead, int nExit, const string& sTool)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return false ;
|
|
return m_vMachines[m_nCurrMch]->LoadTool( sHead, nExit, sTool) ;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
bool
|
|
MachMgr::ResetHeadSet( const string& sHead)
|
|
{
|
|
if ( m_nCurrMch < 0 || m_nCurrMch >= int( m_vMachines.size()) ||
|
|
m_vMachines[m_nCurrMch] == nullptr)
|
|
return false ;
|
|
return m_vMachines[m_nCurrMch]->ResetHeadSet( sHead) ;
|
|
}
|