Essetre-PF1500rl :
- aggiunte posizioni TC 16, 17 e 18 - migliorati approcci e retrazioni con prima e seconda lama su testa 1 - corretti movimenti testa 2 per approcci e retrazioni su lavorazioni in doppio - in WallData corretto nome file dati macchina da caricare da TS3v7.
This commit is contained in:
+35
-34
@@ -634,8 +634,7 @@ function OnRapid()
|
||||
if nHSet == 1 then
|
||||
-- selezione testa (posso muovere X solo a Zmax)
|
||||
local MaxZ1 = EgtGetAxisMax( 'Z1')
|
||||
local bXSpec = ( EMT.L2 > -DeltaTabY)
|
||||
EmitMoveDataHead( 1, { X=EgtIf( bXSpec, -DeltaTabY, EMT.L2), Z=MaxZ1, S=Speed})
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=MaxZ1, S=Speed})
|
||||
EmitMoveStartHead( 1)
|
||||
EmitMoveWaitHead( 1)
|
||||
EmitMoveWaitChars( EgtIf( bOnlyCharY, 1, 3))
|
||||
@@ -645,9 +644,17 @@ function OnRapid()
|
||||
local dPosT = EMT.TPOS or EMT.L1op
|
||||
EmitParkRoller( dPosT, bSplitCut)
|
||||
end
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, C=EMT.R1, S=Speed})
|
||||
if bXSpec then EmitMoveDataHead( 1, { X=EMT.L2, S=Speed}) end
|
||||
-- in caso di rotazione della lama lontano dalla posizione di home degli assi rotanti
|
||||
if EMT.HEAD == 'H12' and ( abs( PrevR1 - EMT.R1) > 1 or abs( PrevR2 - EMT.R2) > 1) and ( abs( HomeR1 - EMT.R1) > 30.1 or abs( HomeR2 - EMT.R2) > 30.1) then
|
||||
EmitMoveDataHead( 1, { B=0, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||
-- caso standard
|
||||
else
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
end
|
||||
EmitMoveStartHead( 1)
|
||||
-- se lavorazione in doppio
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
@@ -800,41 +807,35 @@ function OnRapid()
|
||||
-- se testa 1
|
||||
if nHSet == 1 then
|
||||
-- movimento testa
|
||||
local dSafeZ1 = EgtGetAxisHomePos( 'Z1')
|
||||
local HomeZ1 = EgtGetAxisHomePos( 'Z1')
|
||||
local MyMaxZ1 = EgtGetAxisMax( 'Z1')
|
||||
local HomeC1 = EgtGetAxisHomePos( 'C1')
|
||||
local HomeB1 = EgtGetAxisHomePos( 'B1')
|
||||
local Speed = EMT.S * EgtIf( EMT.HEAD ~= 'H12' and EMT.HEAD ~= 'H22', 1, 1.65)
|
||||
local Speed = EMT.S * EgtIf( EMT.HEAD ~= 'H12' and EMT.HEAD ~= 'H16', 1, 1.65)
|
||||
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||
-- se fresa o lama
|
||||
if EMT.HEAD == 'H11' or EMT.HEAD == 'H12' then
|
||||
if EMT.HEAD ~= 'H13' then
|
||||
local CurrZ1 = EMT.L3pp or MyMaxZ1
|
||||
local CurrB1 = PrevR2
|
||||
local CurrC1 = PrevR1
|
||||
local dXref = EMT.L2
|
||||
EmitMoveDataHead( 1, { X=dXref, S=Speed})
|
||||
local dZref = EMT.L3
|
||||
dZref = min( dSafeZ1 + GetZExtra( EMT.HEAD, EMT.R2), MyMaxZ1)
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||
-- in caso di rotazione della lama lontano dalla posizione di home degli assi rotanti
|
||||
if EMT.HEAD == 'H12' and ( abs( PrevR1 - EMT.R1) > 1 or abs( PrevR2 - EMT.R2) > 1) and ( abs( HomeC1 - EMT.R1) > 30.1 or abs( HomeB1 - EMT.R2) > 30.1) then
|
||||
EmitMoveDataHead( 1, { B=0, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=dZref, B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||
-- caso standard
|
||||
else
|
||||
EmitMoveDataHead( 1, { Z=dZref, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
else
|
||||
-- Porto la Z alla giusta quota
|
||||
if EMT.L3 > dSafeZ1 + 1 and abs( EMT.R2) > 89.9 then
|
||||
if EMT.L3 > HomeZ1 + 1 and abs( EMT.R2) > 89.9 then
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=dSafeZ1, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=HomeZ1, S=Speed})
|
||||
end
|
||||
EmitMoveDataHead( 1, { Z=dSafeZ1, B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { Z=HomeZ1, B=EMT.R2, S=Speed})
|
||||
end
|
||||
end
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, Z=EMT.L3, B=EMT.R2, C=EMT.R1, S=Speed})
|
||||
@@ -845,6 +846,7 @@ function OnRapid()
|
||||
local dB2 = EMT.R2
|
||||
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||
local dSafeZ2 = EgtGetAxisHomePos( 'Z2')
|
||||
EmitMoveDataHead( 2, { X=SafeX2, TPos=EMT.DOU_TPOS, S=EMT.DOU_SPEED})
|
||||
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
|
||||
@@ -1282,7 +1284,8 @@ function PrepareLoad( sCmd, nInd, bStart)
|
||||
SetStartValue( 5, 110)
|
||||
EMT.V1POS = ParkV1
|
||||
elseif Cmd[2] == 'T' then
|
||||
local MDChar = { Y1=tonumber(Cmd[3]), IniStatY1=-76, FinStatY1=EMT.FSY1, FinStatV1=-1, BeamVise=0, MovType=1}
|
||||
local sDeltaY1 = 'Delta=' .. EgtNumToString( tonumber(Cmd[5]) - tonumber(Cmd[3]), 1)
|
||||
local MDChar = { Y1=tonumber(Cmd[3]), IniStatY1=-76, FinStatY1=EMT.FSY1, FinStatV1=-1, BeamVise=0, MovType=1, Remark=sDeltaY1}
|
||||
table.insert( EMT.MDCHAR, MDChar)
|
||||
end
|
||||
EMT.TPOS = GetCmdAxMove( Cmd, 'T') or EMT.TPOS
|
||||
@@ -1968,21 +1971,18 @@ end
|
||||
---------------------------------------------------------------------
|
||||
function EmitDouZMax( nDouType)
|
||||
-- posizioni sicure
|
||||
local dSafeX2 = EgtGetAxisHomePos( 'X2')
|
||||
local dSafeZ2 = EgtGetAxisHomePos( 'Z2')
|
||||
local dSafeB2 = EgtGetAxisHomePos( 'B2')
|
||||
local dSafeC2 = EgtGetAxisHomePos( 'C2')
|
||||
local dHomeX2 = EgtGetAxisHomePos( 'X2')
|
||||
local dHomeZ2 = EgtGetAxisHomePos( 'Z2')
|
||||
local dHomeB2 = EgtGetAxisHomePos( 'B2')
|
||||
local dHomeC2 = EgtGetAxisHomePos( 'C2')
|
||||
-- se lavorazione in doppio in Y (prima mi allontano in Y)
|
||||
if nDouType == 2 then
|
||||
EmitMoveDataHead( 2, { X=dSafeX2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { B=dSafeB2, C=dSafeC2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { Z=-dSafeZ2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
-- altrimenti lavorazione in doppio in Z (prima scendo in Z)
|
||||
else
|
||||
EmitMoveDataHead( 2, { Z=-dSafeZ2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { B=dSafeB2, C=dSafeC2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { X=dSafeX2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { X=SafeX2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
end
|
||||
-- scendo in Z, sistemo B e C porto X in home
|
||||
EmitMoveDataHead( 2, { Z=-dHomeZ2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { B=dHomeB2, C=dHomeC2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveDataHead( 2, { X=dHomeX2, TPos=EMT.DOU_TPOS, Fmt=1})
|
||||
EmitMoveStartHead( 2)
|
||||
EmitMoveWaitHead( 2)
|
||||
-- dichiaro eseguito
|
||||
@@ -2242,6 +2242,7 @@ function EmitMoveDataChars( MoData)
|
||||
if MoData.FinStatV1 then local sVal = EgtNumToString( MoData.FinStatV1, 0) ; sOut = sOut .. ' P19=' .. sVal .. ' P20=' .. sVal end
|
||||
if MoData.IniStatV2 then local sVal = EgtNumToString( MoData.IniStatV2, 0) ; sOut = sOut .. ' P21=' .. sVal .. ' P22=' .. sVal end
|
||||
if MoData.FinStatV2 then local sVal = EgtNumToString( MoData.FinStatV2, 0) ; sOut = sOut .. ' P23=' .. sVal .. ' P24=' .. sVal end
|
||||
if MoData.Remark then sOut = sOut .. ' ('.. MoData.Remark .. ')' end
|
||||
MyOutput( sOut)
|
||||
end
|
||||
|
||||
|
||||
+10
-10
@@ -600,6 +600,9 @@ function OnSimulMachiningStart()
|
||||
local bAgg = EgtExistsInfo( EMT.PATHID, 'CNT')
|
||||
ExecParkRoller( nil, nil, nil, nil, false, bAgg)
|
||||
-- eseguo
|
||||
if EMT.DOU_TO_ZMAX == 2 then
|
||||
SimulMoveAxis( 'X2', SafeX2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
SimulMoveAxes( 'Z2', MinZ2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.COLLROT, 'C2', ParkC2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
@@ -760,22 +763,17 @@ function OnSimulMoveStart()
|
||||
if EMT.HEAD ~= 'H13' then
|
||||
-- se movimento iniziale da Zmax con lama o fresa
|
||||
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||
--EgtOutBox( 'Flag 2,1', 'Info Rapid')
|
||||
local dXref = EMT.L2
|
||||
SimulMoveAxis( 'X1', dXref, MCH_SIM_STEP.RAPID)
|
||||
local dZref = EMT.L3
|
||||
dZref = min( Z1Home + GetZExtra( EMT.HEAD, EMT.R2), Z1Pos)
|
||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||
-- in caso di rotazione della lama lontano dalla posizione di home degli assi rotanti
|
||||
if EMT.HEAD == 'H12' and ( abs( C1Pos - EMT.R1) > 1 or abs( B1Pos - EMT.R2) > 1) and ( abs( C1Home - EMT.R1) > 30.1 or abs( B1Home - EMT.R2) > 30.1) then
|
||||
SimulMoveAxis( 'B1', 0, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'Z1', dZref, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||
-- caso standard
|
||||
else
|
||||
SimulMoveAxis( 'Z1', dZref, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
end
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
@@ -817,6 +815,7 @@ function OnSimulMoveStart()
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
-- se primo movimento, eseguo movimento rotatorio preliminare
|
||||
if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then
|
||||
SimulMoveAxis( 'X2', SafeX2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'C2', EMT.R1, MCH_SIM_STEP.RAPROT, 'B2', EMT.R2, MCH_SIM_STEP.RAPROT)
|
||||
else
|
||||
EMT.AuxAxes = 4 + 4
|
||||
@@ -1183,9 +1182,10 @@ function ExecMoveZmax( bMchSplit)
|
||||
end
|
||||
-- se lavorazione in doppio
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'X2', SafeX2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'Z2', ParkZ2, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.COLLROT, 'C2', ParkC2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
EMT.DOU_TO_ZMAX = nil
|
||||
elseif EMT.DOU_TYPE == 3 then
|
||||
SimulMoveAxis( 'Z2', ParkZ2, MCH_SIM_STEP.RAPID)
|
||||
|
||||
+24
-24
@@ -1,4 +1,4 @@
|
||||
-- Special Operations macchina Essetre-PF1500 by EgalWare s.r.l. 2023/11/13
|
||||
-- Special Operations macchina Essetre-PF1500 by EgalWare s.r.l. 2023/11/14
|
||||
-- Intestazioni
|
||||
|
||||
require( 'EmtGenerator')
|
||||
@@ -48,10 +48,10 @@ function OnSpecialGetMaxZ()
|
||||
if vtTp:isSmall() then
|
||||
vtTp = X_AX()
|
||||
bFromZmax = true
|
||||
if EMC.HEAD == 'H11' or EMC.HEAD == 'H12' then
|
||||
if EMC.HEAD == 'H11' or EMC.HEAD == 'H12' or EMC.HEAD == 'H16' then
|
||||
EMC.R1p = ParkC1
|
||||
EMC.R2p = ParkB1
|
||||
elseif EMC.HEAD == 'H21' or EMC.HEAD == 'H22' then
|
||||
elseif EMC.HEAD == 'H21' then
|
||||
EMC.R1p = ParkC2
|
||||
EMC.R2p = ParkB2
|
||||
end
|
||||
@@ -86,6 +86,24 @@ function OnSpecialGetMaxZ()
|
||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H16' then
|
||||
if vtTp:getX() > 0.3 and vtT:getX() > 0.3 then
|
||||
if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then
|
||||
EMC.MAXZ = MaxZ1 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif vtTp:getZ() > 0.707 or vtT:getZ() > 0.707 then
|
||||
EMC.MAXZ = ParkZ1 + 200
|
||||
else
|
||||
EMC.MAXZ = ParkZ1 + 1
|
||||
end
|
||||
elseif bBSameSign and EMC.R1p > 29.9 and EMC.R1p < 180.1 and EMC.R1 > 29.9 and EMC.R1 < 180.1 and EMC.R2p > -10 and EMC.R2 > -10 then
|
||||
EMC.MAXZ = MaxZ1 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif bBSameSign and EMC.R1p > -0.1 and EMC.R1p < 180.1 and EMC.R1 > -0.1 and EMC.R1 < 180.1 and EMC.R2p > -10 and EMC.R2 > -10 then
|
||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H21' then
|
||||
if bBSameSign and vtTp:getX() > -0.1 and vtT:getX() > -0.1 then
|
||||
EMC.MAXZ = MaxZ2
|
||||
@@ -93,24 +111,6 @@ function OnSpecialGetMaxZ()
|
||||
local vMZ = {{ Tz=0.85, Ez=390}, { Tz=0.5, Ez=280}, { Tz=-0.01, Ez=160}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
elseif EMC.HEAD == 'H22' then
|
||||
if vtTp:getX() > 0.3 and vtT:getX() > 0.3 then
|
||||
if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then
|
||||
EMC.MAXZ = MaxZ2 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif vtTp:getZ() > 0.707 or vtT:getZ() > 0.707 then
|
||||
EMC.MAXZ = ParkZ2 + 200
|
||||
else
|
||||
EMC.MAXZ = ParkZ2 + 1
|
||||
end
|
||||
elseif bBSameSign and EMC.R1p > -180.1 and EMC.R1p < -29.9 and EMC.R1 > -180.1 and EMC.R1 < -29.9 and EMC.R2p < 10 and EMC.R2 < 10 then
|
||||
EMC.MAXZ = MaxZ2 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130)
|
||||
elseif bBSameSign and EMC.R1p > -180.1 and EMC.R1p < 0.1 and EMC.R1 > -180.1 and EMC.R1 < 0.1 and EMC.R2p < 10 and EMC.R2 < 10 then
|
||||
local vMZ = {{ Tz=0.85, Ez=440}, { Tz=0.5, Ez=200}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
else
|
||||
local vMZ = {{ Tz=0.85, Ez=400}, { Tz=0.7, Ez=300}, { Tz=0.5, Ez=195}, { Tz=0.15, Ez=70}, { Tz=-0.01, Ez=5}, { Tz=-0.5, Ez=1}}
|
||||
EMC.MAXZ = ParkZ2 + CalcExtraZ( vtTpZm, vtT, vMZ)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -153,10 +153,10 @@ function OnSpecialMoveZup()
|
||||
EMC.MODIF = true
|
||||
end
|
||||
end
|
||||
-- se lama su testa2
|
||||
elseif EMC.HEAD == 'H22' then
|
||||
-- se seconda lama su testa1
|
||||
elseif EMC.HEAD == 'H16' then
|
||||
-- se inclinata oltre 90 gradi e interferisce con la trave
|
||||
if ( EMC.R2 < -87.9 and ( EMC.R1 < -180.0 or EMC.R1 > -15.0)) or ( EMC.R2 > 87.9 and ( EMC.R1 < 15.0 and EMC.R1 > 180.0)) then
|
||||
if ( EMC.R2 > 87.9 and ( EMC.R1 < 15.0 or EMC.R1 > 180.0)) or ( EMC.R2 < -87.9 and ( EMC.R1 > -15.0 and EMC.R1 < 180.0)) then
|
||||
local dZref = dZmax + min( 330 * vtT:getZ(), 0) + 260 * ( 1 - sqrt( 1- vtT:getZ() * vtT:getZ()))
|
||||
-- se troppo in alto
|
||||
if EMC.L3 > dZref + 1 then
|
||||
|
||||
Binary file not shown.
+48
-25
@@ -5,7 +5,8 @@
|
||||
-- 2023/05/19 ver 2.5e5 Larghezza tavola portata a 1600.
|
||||
-- 2023/05/23 ver 2.5e6 Gestione parametri P11 e P12 di M115 (forza pinze). Impostazione con BD.CHAR_LOAD_DIST della posizione pinza al carico.
|
||||
-- 2023/09/29 ver 2.5i1 In BeamData e mlde aggiunta la lettura di alcuni parametri da Ts3Data.
|
||||
-- 2023/11/13 ver 2.5k1 Migliorata gestione risalite in Z e movimenti in Home. Si controlla in MLSE direzione assi lavorazione attuale con lavorazione precedente
|
||||
-- 2023/11/13 ver 2.5k1 Migliorata gestione risalite in Z e movimenti in Home. Si controlla in MLSE direzione assi lavorazione attuale con lavorazione precedente.
|
||||
-- Aggiunte posizioni TC 16, 17 e 18.
|
||||
|
||||
|
||||
-- Intestazioni
|
||||
@@ -93,6 +94,7 @@ MaxC2 = 275
|
||||
MinB2 = -127
|
||||
MaxB2 = 127
|
||||
ParkX2 = -100
|
||||
SafeX2 = -400
|
||||
ParkZ2 = 0
|
||||
ParkC2 = -90
|
||||
ParkB2 = -90
|
||||
@@ -631,6 +633,27 @@ if Tc2Active then
|
||||
TDir = -Y_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T15'}
|
||||
EmtTcPos {
|
||||
Name = 'T16',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 5 * vtDt2,
|
||||
TDir = -Y_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T16'}
|
||||
EmtTcPos {
|
||||
Name = 'T17',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 6 * vtDt2,
|
||||
TDir = -Y_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T17'}
|
||||
EmtTcPos {
|
||||
Name = 'T18',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 7 * vtDt2,
|
||||
TDir = -Y_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T18'}
|
||||
end
|
||||
local ptTc3 = Point3d( 480, 529, -200.8 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
EmtTcPos {
|
||||
@@ -862,32 +885,32 @@ end
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale
|
||||
function GetZExtra( sHead, dAngV)
|
||||
if sHead == 'H11' or sHead == 'H21' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif sHead == 'H12' or sHead == 'H22' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
if sHead == 'H11' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif sHead == 'H12' or sHead == 'H16' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per impostare spia stato morsa carrello Y1
|
||||
|
||||
+30
-24
@@ -1,5 +1,5 @@
|
||||
-- 2023/02/20
|
||||
-- Gestione attrezzaggio per Essetre-PF1250
|
||||
-- 2023/11/13
|
||||
-- Gestione attrezzaggio per Essetre-PF1500rl
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
@@ -45,17 +45,20 @@ if bTc2Active and SecondSaw then
|
||||
{Pos = "Pos11", TcPos = "T12", Head = "H16", Group = "G3"},
|
||||
{Pos = "Pos12", TcPos = "T14", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos13", TcPos = "T15", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos14", TcPos = "T20", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos15", TcPos = "T21", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos16", TcPos = "T22", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos17", TcPos = "T23", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos18", TcPos = "T24", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos19", TcPos = "T25", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos20", TcPos = "T26", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos21", TcPos = "T27", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos22", TcPos = "T28", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos23", TcPos = "T29", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos24", TcPos = "T30", Head = "H21", Group = "G4"}}
|
||||
{Pos = "Pos14", TcPos = "T16", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos15", TcPos = "T17", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos16", TcPos = "T18", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos17", TcPos = "T20", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos18", TcPos = "T21", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos19", TcPos = "T22", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos20", TcPos = "T23", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos21", TcPos = "T24", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos22", TcPos = "T25", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos23", TcPos = "T26", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos24", TcPos = "T27", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos25", TcPos = "T28", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos26", TcPos = "T29", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos27", TcPos = "T30", Head = "H21", Group = "G4"}}
|
||||
elseif bTc2Active then
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
@@ -72,17 +75,20 @@ elseif bTc2Active then
|
||||
{Pos = "Pos13", TcPos = "T13", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos14", TcPos = "T14", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos15", TcPos = "T15", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos16", TcPos = "T20", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos17", TcPos = "T21", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos18", TcPos = "T22", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos19", TcPos = "T23", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos20", TcPos = "T24", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos21", TcPos = "T25", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos22", TcPos = "T26", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos23", TcPos = "T27", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos24", TcPos = "T28", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos25", TcPos = "T29", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos26", TcPos = "T30", Head = "H21", Group = "G4"}}
|
||||
{Pos = "Pos16", TcPos = "T16", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos17", TcPos = "T17", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos18", TcPos = "T18", Head = "H11", Group = "G3"},
|
||||
{Pos = "Pos19", TcPos = "T20", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos20", TcPos = "T21", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos21", TcPos = "T22", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos22", TcPos = "T23", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos23", TcPos = "T24", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos24", TcPos = "T25", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos25", TcPos = "T26", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos26", TcPos = "T27", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos27", TcPos = "T28", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos28", TcPos = "T29", Head = "H21", Group = "G4"},
|
||||
{Pos = "Pos29", TcPos = "T30", Head = "H21", Group = "G4"}}
|
||||
else
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ local WallData = {
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1250.data"
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1500rl.data"
|
||||
local sDataWall = EgtGetSourceDir().."\\Ts3Data.lua"
|
||||
local sDataBeam = EgtGetCurrMachineDir()..'\\Beam\\Ts3Data.lua'
|
||||
if EgtExistsFile( sTs3Data) then
|
||||
|
||||
Reference in New Issue
Block a user