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:
DarioS
2023-03-02 15:54:42 +01:00
parent 69e2c196f4
commit 139ec4678f
7 changed files with 24 additions and 22 deletions
+2 -2
View File
@@ -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
+7 -7
View File
@@ -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
View File
@@ -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
---------------------------------------------------------------------
+2 -1
View File
@@ -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
+3 -2
View File
@@ -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.