- Allineamento common ver. 2.7b4
- Gestione aggregato flottante
This commit is contained in:
+42
-1
@@ -530,8 +530,10 @@ function OnSimulToolSelect( dPosA)
|
|||||||
EMT.A2n = 'Y2'
|
EMT.A2n = 'Y2'
|
||||||
EMT.A3n = 'V1'
|
EMT.A3n = 'V1'
|
||||||
EMT.A4n = 'V2'
|
EMT.A4n = 'V2'
|
||||||
-- se attivo Vmill
|
-- se utensile non flottante, abilito per Vmill
|
||||||
|
if not EMT.TFLOAT then
|
||||||
EmtSetToolForVmill( EMT.TOOL, EMT.HEAD, EMT.EXIT, EMT.VMILL)
|
EmtSetToolForVmill( EMT.TOOL, EMT.HEAD, EMT.EXIT, EMT.VMILL)
|
||||||
|
end
|
||||||
-- se attivo Collision Check
|
-- se attivo Collision Check
|
||||||
EMT.SAFEDIST = COLL_SAFE_DIST
|
EMT.SAFEDIST = COLL_SAFE_DIST
|
||||||
if EMT.COLLOBJ then
|
if EMT.COLLOBJ then
|
||||||
@@ -1265,6 +1267,18 @@ function OnSimulMoveStart()
|
|||||||
end
|
end
|
||||||
EMT.ZMAX = nil
|
EMT.ZMAX = nil
|
||||||
EMT.TO_ZMAX = nil
|
EMT.TO_ZMAX = nil
|
||||||
|
|
||||||
|
-- se aggregato flottante su inizio attacco va compresso
|
||||||
|
if EMT.TFLOAT and not EMT.TFLOAT_CMP and EMT.MOVE == 1 and EgtGetName( EMT.MOVEID) == 'LI' then
|
||||||
|
-- recupero lunghezza
|
||||||
|
local dOffsL = - EgtGetMachiningParam( MCH_MP.OFFSL)
|
||||||
|
-- imposto compressione della parte flottante
|
||||||
|
SetFloatPos( EMT.HEAD, dOffsL)
|
||||||
|
-- imposto dati utensile in posizione compressa
|
||||||
|
EmtSetToolForVmill( EMT.TOOL, EMT.HEAD, EMT.EXIT, EMT.VMILL, 2, -dOffsL)
|
||||||
|
-- dichiaro che è compresso (assegnando Id entità di movimento)
|
||||||
|
EMT.TFLOAT_CMP = EMT.MOVEID
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
@@ -1323,12 +1337,39 @@ function OnSimulMoveEnd()
|
|||||||
ExecMoveZmax( EMT.MCHSPLIT, bToXhome)
|
ExecMoveZmax( EMT.MCHSPLIT, bToXhome)
|
||||||
EMT.TO_ZMAX = nil
|
EMT.TO_ZMAX = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- se utensile flottante e movimento di compressione
|
||||||
|
if EMT.TFLOAT and EMT.MOVEID == EMT.TFLOAT_CMP then
|
||||||
|
-- verifico ci sia stata collisione tra ghiera flottante (portautensile e pezzo)
|
||||||
|
if not EMT.TFLOAT_TH_COMPR_COLL then
|
||||||
|
local sErr = 'CUTID='..tostring( EMT.CUTID)..'; TASKID='..tostring( EMT.TASKID)..'; Mach='..EMT.MCHNAME..'; Floating Ring not compressed on approach'
|
||||||
|
EmtSetLastError( 1222, sErr)
|
||||||
|
EgtOutLog( 'Error : ' .. sErr, 1)
|
||||||
|
else
|
||||||
|
EgtOutLog( 'Floating Ring compressed on approach (MOVEID='..EgtNumToString( EMT.MOVEID)..')', 1)
|
||||||
|
end
|
||||||
|
EMT.TFLOAT_TH_COMPR_COLL = nil
|
||||||
|
end
|
||||||
|
-- se aggregato flottante su fine uscita va rilasciato
|
||||||
|
if EMT.TFLOAT and EMT.TFLOAT_CMP and EMT.MOVE == 1 and EgtGetName( EMT.MOVEID) == 'LO' and EgtGetName( EgtGetNext( EMT.MOVEID) or GDB_ID.NULL) ~= 'LO' then
|
||||||
|
-- reset compressione della parte flottante
|
||||||
|
SetFloatPos( EMT.HEAD, 0)
|
||||||
|
-- dichiaro che è rilasciato
|
||||||
|
EMT.TFLOAT_CMP = nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
function OnSimulCollision()
|
function OnSimulCollision()
|
||||||
-- se prima collisione della lavorazione, la segnalo
|
-- se prima collisione della lavorazione, la segnalo
|
||||||
if EMT.MCHNAME ~= EMT.LAST_MCHNAME_COLLIDE then
|
if EMT.MCHNAME ~= EMT.LAST_MCHNAME_COLLIDE then
|
||||||
|
-- speciale per utensile flottante (suo holder contro il grezzo)
|
||||||
|
if EMT.TFLOAT and EMT.TFLOAT_CMP and EMT.SIMCOBIND == 1002 and EMT.SIMVMID == EMT.VMILL[1] then
|
||||||
|
if EMT.MOVEID == EMT.TFLOAT_CMP then
|
||||||
|
EMT.TFLOAT_TH_COMPR_COLL = true
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
local Class = ''
|
local Class = ''
|
||||||
if EMT.SIMCOBIND == 1001 or EMT.SIMCOBIND == 1011 then
|
if EMT.SIMCOBIND == 1001 or EMT.SIMCOBIND == 1011 then
|
||||||
Class = 'T_'..EMT.HEAD
|
Class = 'T_'..EMT.HEAD
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( false)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '2.7b3_DEV1'
|
PP_VER = '2.7b4'
|
||||||
PP_NVER = '2.7.2.3'
|
PP_NVER = '2.7.2.4'
|
||||||
MIN_MACH_VER = '2.5k1'
|
MIN_MACH_VER = '2.5k1'
|
||||||
MACH_NAME = 'Essetre-PF1500MAXrl-3T'
|
MACH_NAME = 'Essetre-PF1500MAXrl-3T'
|
||||||
|
|
||||||
@@ -1489,6 +1489,37 @@ function GetPY2Light()
|
|||||||
return ( EgtGetInfo( PY2LightId, 'On') == '1')
|
return ( EgtGetInfo( PY2LightId, 'On') == '1')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
-- Funzione per impostare la posizione del rinvio flottante
|
||||||
|
function SetFloatPos( sHead, dPos)
|
||||||
|
-- recupero Id testa
|
||||||
|
local nHeadId = EgtGetHeadId( sHead)
|
||||||
|
if not nHeadId then return false end
|
||||||
|
-- se ci sono entità flottanti nel ToolHolder
|
||||||
|
local nRefId = EgtGetFirstNameInGroup( nHeadId, '_T1')
|
||||||
|
local vtTool = EgtFR( nRefId, GDB_ID.ROOT):getVersZ()
|
||||||
|
local nObjId = EgtGetFirstGroupInGroup( EgtGetFirstNameInGroup( nHeadId, 'T1'))
|
||||||
|
local FloatEntities = EgtGetInfoInGroup( nObjId, 'Float')
|
||||||
|
if FloatEntities and #FloatEntities > 0 then
|
||||||
|
-- il porta-utensile flottante non può comprimersi più di 10mm
|
||||||
|
if dPos > 10 then
|
||||||
|
local sErr = 'Floating Ring compressed more than 10mm'
|
||||||
|
EmtSetLastError( 1222, sErr)
|
||||||
|
EgtOutLog( 'Error : ' .. sErr, 1)
|
||||||
|
end
|
||||||
|
local dFloat = EgtGetInfo( FloatEntities[1], 'Float', 'd')
|
||||||
|
if abs( dPos - dFloat) > 10 * GEO.EPS_SMALL then
|
||||||
|
local vtMove = ( dPos - dFloat) * vtTool
|
||||||
|
-- sposto tutte le entità flottanti
|
||||||
|
for i = 1, #FloatEntities do
|
||||||
|
EgtMove( FloatEntities[i], vtMove, GDB_RT.GLOB)
|
||||||
|
EgtSetInfo( FloatEntities[i], 'Float', dPos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
-- Funzione per resettare tutte le attivazioni della macchina
|
-- Funzione per resettare tutte le attivazioni della macchina
|
||||||
@@ -1497,6 +1528,9 @@ function OnResetMachine()
|
|||||||
EmtUnlinkAllFixturesFromGroups()
|
EmtUnlinkAllFixturesFromGroups()
|
||||||
SetPY1Light( false)
|
SetPY1Light( false)
|
||||||
SetPY2Light( false)
|
SetPY2Light( false)
|
||||||
|
--resetto eventuale flottante
|
||||||
|
SetFloatPos( 'H11', 0)
|
||||||
|
SetFloatPos( 'H21', 0)
|
||||||
-- nascondo Vmill
|
-- nascondo Vmill
|
||||||
local nRawId = EgtGetFirstRawPart()
|
local nRawId = EgtGetFirstRawPart()
|
||||||
while nRawId do
|
while nRawId do
|
||||||
|
|||||||
Binary file not shown.
@@ -27,6 +27,7 @@
|
|||||||
2=d,SIDESTEP
|
2=d,SIDESTEP
|
||||||
3=d,SIDEDEPTH
|
3=d,SIDEDEPTH
|
||||||
4=s,DOUBLE
|
4=s,DOUBLE
|
||||||
|
5=dr,TOOL_OVERHANG
|
||||||
|
|
||||||
[MILL_NOTIP]
|
[MILL_NOTIP]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
@@ -34,6 +35,7 @@
|
|||||||
2=d,SIDESTEP
|
2=d,SIDESTEP
|
||||||
3=d,SIDEDEPTH
|
3=d,SIDEDEPTH
|
||||||
4=s,DOUBLE
|
4=s,DOUBLE
|
||||||
|
5=dr,TOOL_OVERHANG
|
||||||
|
|
||||||
[MORTISE_STD]
|
[MORTISE_STD]
|
||||||
0=b,MORTISE
|
0=b,MORTISE
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,8 @@
|
|||||||
==== Common_PF1250 Update Log ====
|
==== Common_PF1250 Update Log ====
|
||||||
|
|
||||||
Versione 2.7-- (--/--/2025)
|
Versione 2.7b4 (21/02/2025)
|
||||||
- (SIM-GEN) Ripristinato comportamento precedente calcolo posizione dei rulli di pinzaggio fatto con 2.7b2.
|
- (SIM-GEN) Ripristinato comportamento precedente calcolo posizione dei rulli di pinzaggio fatto con 2.7b2.
|
||||||
|
- (MLDE-SIM) Gestione aggregato flottante. Serve modifica MLDE. Ticket#2297
|
||||||
|
|
||||||
Versione 2.7b3 (06/02/2025)
|
Versione 2.7b3 (06/02/2025)
|
||||||
- (SIM) Dopo aver scaricato utensile, si setta nota "HIDDEN" per dichiarare utensile non più sulla testa e non considerare le collisioni.
|
- (SIM) Dopo aver scaricato utensile, si setta nota "HIDDEN" per dichiarare utensile non più sulla testa e non considerare le collisioni.
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
local InfoCommon_STD_PP = {
|
local InfoCommon_STD_PP = {
|
||||||
NAME = 'Common_PF1250', -- nome script PP standard
|
NAME = 'Common_PF1250', -- nome script PP standard
|
||||||
VERSION = '2.7--', -- versione script
|
VERSION = '2.7b4', -- versione script
|
||||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user