Compare commits
8 Commits
3.1d1_DEV1
...
NewLink
| Author | SHA1 | Date | |
|---|---|---|---|
| 54f5c7e488 | |||
| 62d5cefb35 | |||
| 913be3f3e7 | |||
| 898380b4ba | |||
| ec79024eb3 | |||
| f9fb148fd8 | |||
| 6780390b28 | |||
| 482e6fb281 |
+1
-1
@@ -60,7 +60,7 @@ local BeamData = {
|
||||
ADVANCE_TAIL_CUT = true, -- per spostare prima del taglio di separazione il taglio di coda su pezzi corti con probabile caduta
|
||||
ADVANCE_TAIL_OFFS = 5, -- accorciamento taglio di coda avanzato (minimo 1)
|
||||
STRATEGIES_CONFIG_FILE = 'Std2.json',
|
||||
FASTCLAMPING = true
|
||||
FASTCLAMPING = false
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da B&W
|
||||
|
||||
@@ -38,7 +38,7 @@ local BeamData = {
|
||||
VICE_MINH = 110, -- altezza minima della morsa
|
||||
VICE_MAXH = 370, -- altezza massima zona pinzaggio orizzontale
|
||||
USER_HOLE_DIAM = 0, -- diametro foro per L20
|
||||
FASTCLAMPING = true
|
||||
FASTCLAMPING = false
|
||||
}
|
||||
|
||||
-- costanti riportate da mlde non necessarie per automatismo (sostituire con GetParameters o simile)
|
||||
|
||||
+100
-87
@@ -99,7 +99,6 @@ function OnToolData()
|
||||
local tToolType = { [256] = 'DRILL', [257] = 'DRILL_L', [512] = 'SAW', [513] = 'SAW_F', [1024] = 'MILL', [1025] = 'MILL_NT',
|
||||
[1026] = 'POLISHING', [2048] = 'CHAINSAW', [4096] = 'CHISEL'}
|
||||
-- emissione dati utensile
|
||||
--local sOut = ';'..EMT.TCPOS..' L='..EmtLenToString( EMT.TLEN, 3)..' D='..EmtLenToString( EMT.TDIAM, 3)..' A='..EgtIf( EMT.TUSED, '1', '0')..' '..( tToolType[EMT.TTYPE] or 'NONE')
|
||||
local sOut = ';'..EMT.TCPOS..' L='..EmtLenToString( EMT.TLEN, 3)..' D='..EmtLenToString( EMT.TDIAM, 3)..' A='..EgtIf( EMT.TUSED, '1', '0')..' '..EMT.TOOL
|
||||
MyEmtOutput( sOut)
|
||||
end
|
||||
@@ -174,7 +173,7 @@ function OnDispositionEnd()
|
||||
end
|
||||
-- Inizio produzione trave
|
||||
if IdTrave >= 0 then
|
||||
local BtlInfoId = EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or EgtGetCurrMachGroup() or GDB_ID.NULL
|
||||
local BtlInfoId = EgtGetCurrMachGroup() or EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or GDB_ID.NULL
|
||||
EMT.PRODID = EgtGetInfo( BtlInfoId, 'PRODID', 'i') or 0
|
||||
EMT.PATTID = EgtGetInfo( BtlInfoId, 'PATTID', 'i') or 0
|
||||
EMT.CUTID = EgtGetInfo( EMT.IDT, 'CUTID', 'i') or 0
|
||||
@@ -241,10 +240,6 @@ function OnDispositionEnd()
|
||||
MyEmtOutput( ';PART UNLOAD')
|
||||
MyEmtOutput( 'STOPRE')
|
||||
MyEmtOutput( 'TRANS')
|
||||
if EMT.X1MASTER then
|
||||
MyEmtOutput( 'GEOAX(1,X2,2,Y1,3,Z1)')
|
||||
EMT.X1MASTER = false
|
||||
end
|
||||
end
|
||||
for i = 1, #EMT.AUXSTR do
|
||||
MyEmtOutput( EMT.AUXSTR[i])
|
||||
@@ -369,39 +364,35 @@ function OnMachiningEnd()
|
||||
-- EmitSpeedOff()
|
||||
MyEmtOutput( ';PART SPLIT')
|
||||
elseif EMT.AUXTYPE == 'U' then
|
||||
if not EMT.ZMAX then
|
||||
EmitZmax()
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
--if not EMT.ZMAX then
|
||||
-- EmitZmax()
|
||||
-- EMT.ZMAX = true
|
||||
--end
|
||||
if IsLastMachining( EMT.MCHID) then
|
||||
-- EmitSpeedOff()
|
||||
end
|
||||
MyEmtOutput( ';PART UNLOAD')
|
||||
MyEmtOutput( 'STOPRE')
|
||||
MyEmtOutput( 'TRANS')
|
||||
if EMT.X1MASTER then
|
||||
MyEmtOutput( 'GEOAX(1,X2,2,Y1,3,Z1)')
|
||||
EMT.X1MASTER = false
|
||||
end
|
||||
|
||||
elseif EMT.AUXTYPE == 'P' then
|
||||
if EMT.PREROT then
|
||||
if not EMT.ZMAX then
|
||||
EmitZmax()
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
--if not EMT.ZMAX then
|
||||
-- EmitZmax()
|
||||
-- EMT.ZMAX = true
|
||||
--end
|
||||
MyEmtOutput( ';PART ROTATION')
|
||||
elseif EMT.FALL then
|
||||
if not EMT.ZMAX then
|
||||
EmitZmax()
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
--if not EMT.ZMAX then
|
||||
-- EmitZmax()
|
||||
-- EMT.ZMAX = true
|
||||
--end
|
||||
MyEmtOutput( ';FALL')
|
||||
else
|
||||
if not EMT.ZMAX then
|
||||
EmitZmax()
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
--if not EMT.ZMAX then
|
||||
-- EmitZmax()
|
||||
-- EMT.ZMAX = true
|
||||
--end
|
||||
MyEmtOutput( ';SPLIT 2')
|
||||
end
|
||||
end
|
||||
@@ -550,13 +541,6 @@ function OnRapid()
|
||||
MyBackupAxes()
|
||||
-- se primo movimento della lavorazione, gestione speciale
|
||||
if EMT.MCHFIRST and not EMT.OPEISDISP then
|
||||
-- decido se muovere prima testa o carrelli (standard prima testa)
|
||||
local bHeadFirst = true
|
||||
local sLateG101
|
||||
if not ( EMT.LOAD or EMT.RELOAD) and not EMT.ZMAX then
|
||||
local DeltaT = EMT.L1 - EMT.TLAST
|
||||
if ( DeltaT < -GEO.EPS_SMALL and EMT.X2DELTA) or ( DeltaT > GEO.EPS_SMALL and EMT.X1DELTA) then bHeadFirst = false end
|
||||
end
|
||||
-- sistemo movimenti
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
@@ -592,16 +576,16 @@ function OnRapid()
|
||||
end
|
||||
EMT.AUXSTR = {}
|
||||
-- supporti in posizione intermedia
|
||||
local sOut = 'SUPPORT(1,1)'
|
||||
MyEmtOutput( sOut)
|
||||
-- local sOut = 'SUPPORT(1,1)'
|
||||
-- MyEmtOutput( sOut)
|
||||
-- prima lavorazione
|
||||
sOut = EMT.MCHNAME..'/'..EMT.TOOL
|
||||
local sOut = EMT.MCHNAME..'/'..EMT.TOOL
|
||||
MyEmtOutput( '; *** ' .. sOut .. ' ***')
|
||||
-- altri casi
|
||||
else
|
||||
if not EMT.RELOAD and not EMT.ZMAX and #EMT.AUXSTR > 0 then
|
||||
EmitZmax()
|
||||
EMT.ZMAX = true
|
||||
--EmitZmax()
|
||||
--EMT.ZMAX = true
|
||||
EMT.PREVTOOL = EMT.TOOL
|
||||
end
|
||||
if bMoveChar then
|
||||
@@ -621,10 +605,10 @@ function OnRapid()
|
||||
end
|
||||
if not bStoPre then MyEmtOutput( 'STOPRE') end
|
||||
MyEmtOutput( '')
|
||||
EMT.NSTEP = EMT.NSTEP + 10
|
||||
local sStep = EgtNumToString( EMT.NSTEP, 0)
|
||||
MyEmtOutput( '_STEP='..sStep)
|
||||
end
|
||||
EMT.NSTEP = EMT.NSTEP + 10
|
||||
local sStep = EgtNumToString( EMT.NSTEP, 0)
|
||||
MyEmtOutput( '_STEP='..sStep)
|
||||
local sOut = EMT.MCHNAME..'/'..EMT.TOOL
|
||||
MyEmtOutput( '; *** ' .. sOut .. ' ***')
|
||||
-- movimento carrelli
|
||||
@@ -664,11 +648,11 @@ function OnRapid()
|
||||
-- primo posizionamento testa rispetto a 0M
|
||||
EmtResetPrev()
|
||||
local sOut
|
||||
if EMT.ZMAX then
|
||||
sOut = 'SUPA G0 D0 Z'..EgtNumToString( ParkZ, 3)
|
||||
else
|
||||
-- sOut = 'SUPA G0 D0' .. EmtGetAxis( 'L3')
|
||||
end
|
||||
--if EMT.ZMAX then
|
||||
-- sOut = 'SUPA G0 D0 Z'..EgtNumToString( ParkZ, 3)
|
||||
--else
|
||||
-- -- sOut = 'SUPA G0 D0' .. EmtGetAxis( 'L3')
|
||||
--end
|
||||
MyEmtOutput( sOut)
|
||||
-- sega a catena da gestire
|
||||
if EMT.HEAD == 'H3' then
|
||||
@@ -676,13 +660,9 @@ function OnRapid()
|
||||
EgtOutLog( 'ERROR : CHAINSAW START MOVEMENTS TO BE CALCULATED !!!')
|
||||
end
|
||||
-- movimento YAC con interpolazione approssimata tramite F opportune per ogni asse
|
||||
local dFeedY, dFeedA, dFeedC = CalcFeedYAC( EMT.L2opp - EMT.L2, EMT.R2pp - EMT.R2, EMT.R1pp - EMT.R1)
|
||||
--sOut = '_POSIZ_YAC('..EgtNumToString( EMT.L2, 3)..','..EgtNumToString( EMT.R2, 3)..','..EgtNumToString( EMT.R1, 3)..','.. EgtNumToString( FmaxY, 0)..',,)'
|
||||
sOut = 'TRANS'
|
||||
MyEmtOutput( sOut)
|
||||
-- local dFeedY, dFeedA, dFeedC = CalcFeedYAC( EMT.L2opp - EMT.L2, EMT.R2pp - EMT.R2, EMT.R1pp - EMT.R1)
|
||||
-- sOut = '_POSIZ_YAC('..EgtNumToString( EMT.L2, 3)..','..EgtNumToString( EMT.R2, 3)..','..EgtNumToString( EMT.R1, 3)..','.. EgtNumToString( FmaxY, 0)..',,)'
|
||||
|
||||
sOut = 'G1 Y=' .. EgtNumToString( EMT.L2, 3)..' A1='..EgtNumToString( EMT.R2, 3)..' C1='..EgtNumToString( EMT.R1, 3) .. ' F' .. EgtNumToString( FmaxY, 3)
|
||||
MyEmtOutput( sOut)
|
||||
|
||||
-- si ripete macro di carico con opzione di precarico eseguito
|
||||
if EMT.LOAD then
|
||||
@@ -690,6 +670,15 @@ function OnRapid()
|
||||
EMT.PRELOADCMD = nil
|
||||
end
|
||||
|
||||
-- se si sono spostati i carrelli
|
||||
if bMoveChar then
|
||||
sOut = 'TRANS'
|
||||
MyEmtOutput( sOut)
|
||||
sOut = 'G1 Y=' .. EgtNumToString( EMT.L2, 3)..' A1='..EgtNumToString( EMT.R2, 3)..' C1='..EgtNumToString( EMT.R1, 3) .. ' F' .. EgtNumToString( FmaxY, 3)
|
||||
MyEmtOutput( sOut)
|
||||
end
|
||||
|
||||
|
||||
EMT.LOAD = false
|
||||
|
||||
-- se ho lanciato split in modo asincrono, dopo POSIZ_YAC devo attendere
|
||||
@@ -718,14 +707,21 @@ function OnRapid()
|
||||
end
|
||||
-- assegnazione assi geometrici (GEOAX)
|
||||
MyEmtOutput( 'TRANS')
|
||||
if EMT.X1DELTA then
|
||||
sOut = 'GEOAX(1,X1,2,Y1,3,Z1)'
|
||||
EMT.X1MASTER = true
|
||||
else
|
||||
sOut = 'GEOAX(1,X2,2,Y1,3,Z1)'
|
||||
EMT.X1MASTER = false
|
||||
|
||||
-- se stato pinza attiva non coerente con master, si riscrivono gli assi
|
||||
if EMT.X1DELTA or EMT.X2DELTA then
|
||||
if EMT.X1DELTA and not EMT.X1MASTER then
|
||||
sOut = 'GEOAX(1,X1,2,Y1,3,Z1)'
|
||||
EMT.X1MASTER = true
|
||||
MyEmtOutput( sOut)
|
||||
MyEmtOutput( 'G90 G17')
|
||||
elseif EMT.X2DELTA and ( EMT.X1MASTER and not EMT.X1DELTA) then
|
||||
sOut = 'GEOAX(1,X2,2,Y1,3,Z1)'
|
||||
EMT.X1MASTER = false
|
||||
MyEmtOutput( sOut)
|
||||
MyEmtOutput( 'G90 G17')
|
||||
end
|
||||
end
|
||||
MyEmtOutput( sOut)
|
||||
|
||||
-- dopo aver spostato i carrelli, lancio precarico
|
||||
-- se taglio di coda senza residuo da scaricare, emetto macro per accelerare il carico della barra successiva
|
||||
@@ -735,23 +731,37 @@ function OnRapid()
|
||||
MyEmtOutput( sOut)
|
||||
end
|
||||
|
||||
MyEmtOutput( 'G90 G17')
|
||||
-- primo posizionamento carrello rispetto a 0M
|
||||
if EMT.X1DELTA then
|
||||
local dPosX1 = EMT.L1 + EMT.X1DELTA
|
||||
sOut = 'G1 X' .. EmtLenToString( dPosX1, 3) .. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
elseif EMT.X2DELTA then
|
||||
local dPosX2 = EMT.L1 + EMT.X2DELTA
|
||||
sOut = 'G1 X' .. EmtLenToString( dPosX2, 3) .. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
-- se si sono mossi i carrelli
|
||||
if bMoveChar then
|
||||
-- primo posizionamento carrello rispetto a 0M
|
||||
if EMT.X1DELTA then
|
||||
local dPosX1 = EMT.L1 + EMT.X1DELTA
|
||||
sOut = 'G1 X' .. EmtLenToString( dPosX1, 3) .. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
elseif EMT.X2DELTA then
|
||||
local dPosX2 = EMT.L1 + EMT.X2DELTA
|
||||
sOut = 'G1 X' .. EmtLenToString( dPosX2, 3) .. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
else
|
||||
EmtSetLastError( 1213, "Part to machine without charriots")
|
||||
end
|
||||
else
|
||||
EmtSetLastError( 1213, "Part to machine without charriots")
|
||||
end
|
||||
if EMT.ZMAX and EMT.L3 < ParkZ - 10 then
|
||||
sOut = 'SUPA G0 D0' .. EmtGetAxis( 'L3')
|
||||
MyEmtOutput( sOut)
|
||||
-- primo posizionamento carrello rispetto a 0M
|
||||
if EMT.X1DELTA then
|
||||
local dPosX1 = EMT.L1 + EMT.X1DELTA
|
||||
sOut = 'G1 X=' .. EmtLenToString( dPosX1, 3) .. ' Y=' .. EgtNumToString( EMT.L2, 3)..
|
||||
' A1='..EgtNumToString( EMT.R2, 3).. ' C1='..EgtNumToString( EMT.R1, 3).. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
elseif EMT.X2DELTA then
|
||||
local dPosX2 = EMT.L1 + EMT.X2DELTA
|
||||
sOut = 'G1 X' .. EmtLenToString( dPosX2, 3) .. ' Y=' .. EgtNumToString( EMT.L2, 3)..
|
||||
' A1='..EgtNumToString( EMT.R2, 3).. ' C1='..EgtNumToString( EMT.R1, 3).. ' F' .. GetClampFeed( EMT.LENGTHBEAM)
|
||||
MyEmtOutput( sOut)
|
||||
else
|
||||
EmtSetLastError( 1213, "Part to machine without charriots")
|
||||
end
|
||||
end
|
||||
|
||||
-- se taglio di separazione prima di scarico a caduta, emissione stop tappeto scarico trucioli
|
||||
if EMT.PREFALLCUT then
|
||||
MyEmtOutput( ';M29')
|
||||
@@ -795,7 +805,7 @@ function OnRapid()
|
||||
EMT.IPLGL = false
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
EmitZmax()
|
||||
EmitZmax( EMT.L3)
|
||||
EMT.ZMAX = true
|
||||
-- se altrimenti movimento in Home
|
||||
elseif EMT.FLAG == 4 then
|
||||
@@ -1101,16 +1111,19 @@ function PrepareMoveChar( sCmd)
|
||||
EMT.X1DELTA = nil
|
||||
EMT.X2DELTA = dX2Delta
|
||||
end
|
||||
table.insert( ALL_CLAMP_POS, CLAMP_POS)
|
||||
CLAMP_POS = {}
|
||||
local nFunz = 77
|
||||
local nVertClamp = 0
|
||||
local dPress = 2.5
|
||||
local dFeed = GetClampFeed( EMT.LENGTHPART)
|
||||
local dAcc = 4
|
||||
local nOpt = #ALL_CLAMP_POS * 100
|
||||
local sOut = string.format( '_POSIZ_T(%d,,,,,%d,,,,,,)', nFunz, nOpt)
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
-- se ci sono movimenti, si scrive macro
|
||||
if #CLAMP_POS > 0 then
|
||||
table.insert( ALL_CLAMP_POS, CLAMP_POS)
|
||||
CLAMP_POS = {}
|
||||
local nFunz = 77
|
||||
local nVertClamp = 0
|
||||
local dPress = 2.5
|
||||
local dFeed = GetClampFeed( EMT.LENGTHPART)
|
||||
local dAcc = 4
|
||||
local nOpt = #ALL_CLAMP_POS * 100
|
||||
local sOut = string.format( '_POSIZ_T(%d,,,,,%d,,,,,,)', nFunz, nOpt)
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1670,8 +1683,8 @@ function VerifyEmitRotation()
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function EmitZmax()
|
||||
local sOut = 'SUPA G0 D0 Z'..EgtNumToString( ParkZ, 3)
|
||||
function EmitZmax( dPosZ)
|
||||
local sOut = 'SUPA G0 D0 Z'..EgtNumToString( dPosZ, 3)
|
||||
MyEmtOutput( sOut)
|
||||
end
|
||||
|
||||
|
||||
+11
-2
@@ -3,8 +3,8 @@
|
||||
Material=Beam
|
||||
NCType=5 ; 1=Tpa, 2=Num Flexium, 3=Num Axium APServer, 4=Num Axium PCToolkit, 5=Siemens_Sharp7
|
||||
Flow=2
|
||||
IsoFileDir=\\192.168.214.253\iso
|
||||
Ip=192.168.214.1
|
||||
IsoFileDir=\\192.168.0.253\iso
|
||||
Ip=192.168.0.1
|
||||
Rack=0
|
||||
Slot=1
|
||||
Debug=2
|
||||
@@ -47,6 +47,15 @@ Debug=2
|
||||
29=PLC_Messages5,302:26.0:2,c,plc
|
||||
30=PLC_Messages6,302:28.0:2,c,plc
|
||||
31=W_Carico,301:8.0:2,c,plc
|
||||
32=NextPartL,301:10.0:2,c,plc
|
||||
33=NextPartW,301:12.0:2,c,plc
|
||||
34=NextPartH,301:14.0:2,c,plc
|
||||
35=NextPartPressX1,301:16.0:4,c,plc
|
||||
36=NextPartFeed,301:20.0:4,c,plc
|
||||
37=NextPartAcc,301:24.0:4,c,plc
|
||||
38=NextPartRef1,301:28.0:4,c,plc
|
||||
39=NextPartRef2,301:32.0:4,c,plc
|
||||
40=Stop_Working,301:1.7:1,c,plc
|
||||
|
||||
[Languages]
|
||||
Enable=0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '3.1d1_DEV1'
|
||||
PP_VER = '3.1d1_DEV7'
|
||||
MIN_MACH_VER = '3.1c1'
|
||||
|
||||
EgtOutLog ( '** Saomad-KAIROS '..PP_VER..' (MinMach '.. MIN_MACH_VER ..') **', 1)
|
||||
@@ -135,7 +135,7 @@ EmtGeneral {
|
||||
AxisMaxRotAdj = 0.5,
|
||||
ExitMaxAdjust = 30,
|
||||
ExitMaxRotAdj = 0.5,
|
||||
AngDeltaMinForHome = 165,
|
||||
--AngDeltaMinForHome = 165,
|
||||
NewLinkMgr = 1,
|
||||
Special = 'Saomad-KAIROS-MK2.mlse',
|
||||
Processor = 'Saomad-KAIROS-MK2.mlpe'}
|
||||
|
||||
+18
-3
@@ -28,6 +28,21 @@ function OnSpecialLink()
|
||||
elseif EMC.LINKTYPE == 2 then
|
||||
-- altrimenti collegamento tra due lavorazioni (3)
|
||||
else
|
||||
local nClId = EgtGetFirstNameInGroup( EMC.NEXTMCHID, 'CL') -- recupero Id del gruppo CL della lavorazione corrente
|
||||
local nPathId = EgtGetFirstInGroup( nClId or GDB_ID.NULL) -- Id del primo gruppo nella lavorazione (P1)
|
||||
local dAuxMoveCount = EgtGetInfo( nPathId, 'AS#', 'd') or 0 -- numero di movimenti ausiliari
|
||||
-- se ci sono stati movimenti di pinze vado a una quota sicura
|
||||
if dAuxMoveCount > 3 then
|
||||
-- recupero quota massima di collegamento
|
||||
local dZSecRotAx = 500
|
||||
-- retrazione
|
||||
EmtRemoveRise( EMC.PREVMCHID)
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, EMC.L2p, dZSecRotAx, EMC.R1p, EMC.R2p}, 30, 3, 2, 'UniqueRise=1;')
|
||||
-- approccio
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, dZSecRotAx, EMC.R1, EMC.R2}, 31, 2, 2, 'FirstClimb=1;')
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 30, 2, 2, 'LastClimb=1;')
|
||||
end
|
||||
end
|
||||
-- se motosega
|
||||
elseif EMC.HEAD == 'H3' then
|
||||
@@ -1568,7 +1583,7 @@ function SpecCalcUnload()
|
||||
EMC.X1DELTANEXT = nil
|
||||
EMC.X2DELTANEXT = dX2LastPos
|
||||
-- effettuo scambio
|
||||
vCmdPre = GetCarriagesRepositioningCmd( vCmdPre, EMC.TPOS, EMC.X1DELTA, nil, nil, nil, dX2LastPos)
|
||||
vCmdPre = GetCarriagesRepositioningCmd( vCmdPre, EMC.TPOS, EMC.X1DELTA, dX2CurrPos, nil, nil, dX2LastPos)
|
||||
if EMC.ERR ~= 0 then
|
||||
return {}
|
||||
end
|
||||
@@ -1582,7 +1597,7 @@ function SpecCalcUnload()
|
||||
-- Commento
|
||||
table.insert( vCmd, { 0, 'Unloading', EgtIf( bStdUl, 'Unloading', 'Manual Unloading')})
|
||||
-- risalita testa a Zmax
|
||||
vCmd = AddZmaxMove( vCmd)
|
||||
-- vCmd = AddZmaxMove( vCmd)
|
||||
-- Se pinza X1 chiusa, la apro
|
||||
if EMC.X1DELTA then
|
||||
table.insert( vCmd, { 11, 0})
|
||||
@@ -1704,7 +1719,7 @@ function GetCarriagesRepositioningCmd( vCmd, dTPosI, dX1DeltaI, dX2DeltaI, dTPos
|
||||
if #vCmd == 0 then
|
||||
table.insert( vCmd, { 0, 'Clamp repositioning'})
|
||||
-- risalita testa a Zmax
|
||||
vCmd = AddZmaxMove( vCmd)
|
||||
-- vCmd = AddZmaxMove( vCmd)
|
||||
end
|
||||
|
||||
-- si ribadisce il pinzaggio
|
||||
|
||||
Reference in New Issue
Block a user