Essetre-PF1250rl 2.5c1 :
- Corretta generazione CN per lavorazioni in doppio (erano scambiate le dimensioni X e Y della trave).
This commit is contained in:
+2
-2
@@ -48,8 +48,8 @@ local BeamData = {
|
||||
MAX_LEN_RIDGELAP_FROM_BOTTOM = 0, -- massima lunghezza ridgelap lavorabile da sotto
|
||||
MAX_LEN_RIDGELAP_FROM_BOTTOM_HBEAM = 0, -- massima lunghezza ridgelap lavorabile da sotto con trave alta
|
||||
DIM_TO_CENTER_STRIP = 0, -- larghezza minima trave per inserimento codolo nel centro della trave; 0 = automatico
|
||||
DIM_STRIP = 3, -- dimensione codolo sostegno parti lasciate su contorno libero o archi
|
||||
DIM_STRIP_SMALL = 3, -- dimensione codolo piccolo (quando le parti sostenute sono sicuramente sulla parte sopra del pezzo)
|
||||
DIM_STRIP = -1, -- dimensione codolo sostegno parti lasciate su contorno libero o archi
|
||||
DIM_STRIP_SMALL = 2, -- dimensione codolo piccolo (quando le parti sostenute sono sicuramente sulla parte sopra del pezzo)
|
||||
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
|
||||
RAW_OFFSET = 2000, -- spostamento grezzo rimanente dopo split
|
||||
VICE_MINH = 110, -- altezza minima della morsa
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- Processore macchina Essetre-PF1250rl by EgalTech s.r.l. 2023/02/22
|
||||
-- Processore macchina Essetre-PF1250rl by EgalTech s.r.l. 2023/03/02
|
||||
-- Con controllo numerico TPA
|
||||
|
||||
-- Carico i dati globali
|
||||
@@ -652,7 +652,7 @@ function OnRapid()
|
||||
EmitMoveStartHead( 1)
|
||||
-- se lavorazione in doppio
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.SB)
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.HB)
|
||||
local dZ2 = -Head2Z + MillOffs + Mill2Offs + EMT.L3
|
||||
dZ2 = min( dZ2, MaxZ2)
|
||||
local dC2 = EMT.R1
|
||||
@@ -664,7 +664,7 @@ function OnRapid()
|
||||
EmitMoveWaitHead( 2)
|
||||
elseif EMT.DOU_TYPE == 3 then
|
||||
local dX2 = -Head2Y - EMT.L2
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.HB)
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.SB)
|
||||
dZ2 = max( dZ2, MinZ2)
|
||||
local dC2 = EMT.R1
|
||||
local dB2 = EMT.R2
|
||||
@@ -843,7 +843,7 @@ function OnRapid()
|
||||
EmitMoveDataHead( 2, { Z=-dSafeZ2, TPos=EMT.DOU_TPOS, S=EMT.DOU_SPEED})
|
||||
EmitMoveDataHead( 2, { B=dB2, C=dC2, TPos=EMT.DOU_TPOS, S=EMT.DOU_SPEED})
|
||||
else
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.SB)
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.HB)
|
||||
local dZ2 = EgtClamp( -Head2Z + MillOffs + Mill2Offs + EMT.L3, MinZ2, MaxZ2)
|
||||
EmitMoveDataHead( 2, { X=dX2, Z=-dZ2, B=dB2, C=dC2, TPos=EMT.DOU_TPOS, S=EMT.DOU_SPEED})
|
||||
end
|
||||
@@ -852,7 +852,7 @@ function OnRapid()
|
||||
EmitMoveWaitHead( 2)
|
||||
elseif EMT.DOU_TYPE == 3 then
|
||||
local dX2 = -Head2Y - EMT.L2
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.HB)
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.SB)
|
||||
dZ2 = max( dZ2, MinZ2)
|
||||
local dC2 = EMT.R1
|
||||
local dB2 = EMT.R2
|
||||
@@ -940,7 +940,7 @@ function OnRapid()
|
||||
if EMT.HEAD == 'H12' or EMT.HEAD == 'H16' then Speed = 1.65 * EMT.S end
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, S=Speed})
|
||||
EmitMoveStartHead( 1)
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.SB)
|
||||
local dX2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY - EMT.L2 + EMT.TLEN - EMT.HB)
|
||||
local dZ2 = -Head2Z + MillOffs + Mill2Offs + EMT.L3
|
||||
local dC2 = EMT.R1
|
||||
local dB2 = EMT.R2
|
||||
@@ -961,7 +961,7 @@ function OnRapid()
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, S=Speed})
|
||||
EmitMoveStartHead( 1)
|
||||
local dX2 = -Head2Y - EMT.L2
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.HB)
|
||||
local dZ2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.SB)
|
||||
local dC2 = EMT.R1
|
||||
local dB2 = EMT.R2
|
||||
EmitMoveDataHead( 2, { X=dX2, Z=-dZ2, B=dB2, C=dC2, TPos=EMT.DOU_TPOS, S=EMT.DOU_SPEED})
|
||||
|
||||
+10
-10
@@ -127,11 +127,11 @@ function OnSimulDispositionStart()
|
||||
-- Determino sezione del grezzo
|
||||
local nSolId = EgtGetFirstNameInGroup( EgtGetFirstRawPart() or GDB_ID.NULL, 'RawSolid') or GDB_ID.NULL
|
||||
local b3Sol = EgtGetBBoxGlob( nSolId, GDB_BB.STANDARD)
|
||||
EMT.SB = 0
|
||||
EMT.HB = 0
|
||||
EMT.SB = 0
|
||||
if b3Sol then
|
||||
EMT.SB = b3Sol:getDimY()
|
||||
EMT.HB = b3Sol:getDimZ()
|
||||
EMT.HB = b3Sol:getDimY()
|
||||
EMT.SB = b3Sol:getDimZ()
|
||||
end
|
||||
-- Se vero inizio e abilitato creo gli Zmap
|
||||
EMT.VMILL = {}
|
||||
@@ -817,7 +817,7 @@ function OnSimulMoveStart()
|
||||
else
|
||||
EMT.AuxAxes = 4 + 4
|
||||
EMT.A5n = 'X2'
|
||||
local X2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY + EMT.L2 + EMT.TLEN - EMT.SB)
|
||||
local X2 = Delta2TabY + EMT.DOU_TLEN - ( -DeltaTabY + EMT.L2 + EMT.TLEN - EMT.HB)
|
||||
if EMT.MCHTYPE == MCH_MY.DRILLING and EMT.FLAG == 101 then
|
||||
EMT.DOU_DRILL_END = -( EMT.L2p - EMT.L2)
|
||||
X2 = X2 + 2 * EMT.DOU_DRILL_END
|
||||
@@ -852,7 +852,7 @@ function OnSimulMoveStart()
|
||||
EMT.A5 = X2
|
||||
EMT.A5m = EgtIf( ( EMT.MOVE == 2 or EMT.MOVE == 3), 'X1', nil)
|
||||
EMT.A6n = 'Z2'
|
||||
local Z2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.HB)
|
||||
local Z2 = Delta2TabZ - EMT.DOU_TLEN - ( -DeltaTabZ + EMT.L3 - EMT.TLEN - EMT.SB)
|
||||
if EMT.MCHTYPE == MCH_MY.DRILLING and EMT.FLAG == 101 then
|
||||
EMT.DOU_DRILL_END = EMT.L3p - EMT.L3
|
||||
Z2 = Z2 - 2 * EMT.DOU_DRILL_END
|
||||
@@ -1047,10 +1047,10 @@ function ExecAuxCmd( sCmd)
|
||||
elseif Cmd[1] == '4' then
|
||||
ExecMoveHome( Cmd[2] == '1')
|
||||
elseif Cmd[1] == '11' then
|
||||
SimulMoveAxes( 'PY1', EgtIf( Cmd[2] == '0', MaxHoOpen, EMT.SB), MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'PY1', EgtIf( Cmd[2] == '0', MaxHoOpen, EMT.HB), MCH_SIM_STEP.RAPID)
|
||||
SetPY1Light( Cmd[2] ~= '0')
|
||||
elseif Cmd[1] == '12' then
|
||||
SimulMoveAxes( 'PY2', EgtIf( Cmd[2] == '0', MaxHoOpen, EMT.SB), MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'PY2', EgtIf( Cmd[2] == '0', MaxHoOpen, EMT.HB), MCH_SIM_STEP.RAPID)
|
||||
SetPY2Light( Cmd[2] ~= '0')
|
||||
elseif Cmd[1] == '21' then
|
||||
local nY1Delta = tonumber( Cmd[2])
|
||||
@@ -1235,7 +1235,7 @@ function ExecUnloading()
|
||||
-- li sposto per lasciare spazio al nuovo pezzo
|
||||
local nId = EgtGetFirstInGroup( nVmGrpId)
|
||||
while nId do
|
||||
EgtMove( nId, Vector3d( 0, ( EMT.SB + 50.0), 0), GDB_RT.GLOB)
|
||||
EgtMove( nId, Vector3d( 0, ( EMT.HB + 50.0), 0), GDB_RT.GLOB)
|
||||
nId = EgtGetNext( nId)
|
||||
end
|
||||
-- creo un nuovo layer e vi inserisco il nuovo pezzo
|
||||
@@ -1411,8 +1411,8 @@ end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function ExecCloseRoller( nInd)
|
||||
EgtSetAxisPos( EgtIf( nInd == 1, 'PV1', 'PV2'), EMT.SB)
|
||||
EgtSetAxisPos( EgtIf( nInd == 1, 'QV1', 'QV2'), EMT.HB)
|
||||
EgtSetAxisPos( EgtIf( nInd == 1, 'PV1', 'PV2'), EMT.HB)
|
||||
EgtSetAxisPos( EgtIf( nInd == 1, 'QV1', 'QV2'), EMT.SB)
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
@@ -23,7 +23,8 @@ H13.1=ChainSaw.nge
|
||||
H16.1=Saw.nge
|
||||
H21.1=Standard.nge
|
||||
H21.1:MILL_NOTIP=MillNoTip.nge
|
||||
H21.1:SAW_FLAT=SawH2.nge
|
||||
H21.1:SAW_STD=SawH2Std.nge
|
||||
H21.1:SAW_FLAT=SawH2Flat.nge
|
||||
|
||||
[Machinings]
|
||||
Drilling=1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- Descrizione macchina Essetre-PF1250rl by EgalTech s.r.l. 2023/02/21
|
||||
-- Descrizione macchina Essetre-PF1250rl by EgalTech s.r.l. 2023/03/02
|
||||
-- 2021/08/03 ver 2.3h1 Prima versione.
|
||||
-- 2021/09/14 ver 2.3i9 Estesa gestione sega a catena.
|
||||
-- 2021/09/16 ver 2.3i10 Correzione per apertura paratie per Zmax appena dopo split.
|
||||
@@ -20,12 +20,13 @@
|
||||
-- 2023/02/20 ver 2.5b2 Sistemazioni per seconda lama in posizione T12. Sistemazioni per lavorazioni in doppio. Aggiunta gestione Distanza su Sega a Catena.
|
||||
-- 2023/02/20 ver 2.5b3 Sistemate soglie correzione direzioni assi e teste per consentire compensazioni B e C lame 1 e 2.
|
||||
-- 2023/02/22 ver 2.5b4 Corretto posizionamento gruppi COLLISION di V1 e V2. Corretto P5=-1 al carico subito seguito da Split+Fall. Aggiunto calcolo ForzaPinze.
|
||||
-- 2023/03/02 ver 2.5c1 Corretta generazione CN per lavorazioni in doppio (erano scambiate le dimensioni X e Y della trave).
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.5b4'
|
||||
PP_VER = '2.5c1'
|
||||
|
||||
-- Parametri macchina
|
||||
NumericalControl = 'TPA' -- NUM o TPA
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user