From 40af75d2ad40cfcf71f960ca046b4888e0b9ec5d Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 27 Feb 2024 14:48:28 +0100 Subject: [PATCH] - Aggiunto parametro 'SafeXRotAxes' in MLDE per ruotare motosega in zona sicura - In simulazione utilizzate costanti 'MCH_SIM_STEP' --- Common-FAST.NUM.mlpe | 40 ++++++++++++++++++++--- Common-FAST.NUM_PLUS.mlpe | 39 +++++++++++++++++++--- Common-FAST.TPA.mlpe | 39 +++++++++++++++++++--- Common-FAST.mlpe | 69 +++++++++++++++++++-------------------- UpdateLog.txt | 6 +++- Version.lua | 2 +- 6 files changed, 143 insertions(+), 52 deletions(-) diff --git a/Common-FAST.NUM.mlpe b/Common-FAST.NUM.mlpe index fcc6bba..a7db40c 100644 --- a/Common-FAST.NUM.mlpe +++ b/Common-FAST.NUM.mlpe @@ -490,6 +490,7 @@ function OnMachiningEnd() EMT.AUXTYPE = nil EMT.U_STD = nil EMT.PREVTOOL = EMT.TOOL + EMT.PREVHEAD = EMT.HEAD end --------------------------------------------------------------------- @@ -499,6 +500,11 @@ function OnPathStart() -- primo posizionamento sempre in globale EMT.REFLOC = nil EMT.IPLGL = false + + -- salvo precedenti rotanti + EMT.R1pp = EMT.R1p + EMT.R2pp = EMT.R2p + -- reset valori precedenti (per forzare emissione di tutti gli assi del 1° movimento) EmtResetPrev() EMT.AUXCMD = {} @@ -615,19 +621,43 @@ function OnRapid() local sOut = string.gsub( string.gsub( EMT.MCHNAME..'/'..EMT.TOOL, '%(', '-'), '%)', '-') EmtOutput( '( *** ' .. sOut .. ' *** )') end + -- primo posizionamento - EmtResetPrev() + local MyZHome = EgtGetAxisHomePos( 'Z') local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1) + -- se avevo motosega, torno in zona sicura senza ruotare assi rotanti + if EMT.PREVHEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + ' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) .. + ' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES + EmtOutput( sOutPreMove) + end + + -- ricavo i dati per la lavorazione local sEE = ' EE' .. EgtIf( bZmax, '3', '4') local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3) local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3) local sET = GetET( EMT.HEAD, EMT.TCPOS, EMT.R3) local sES = ' ES'..EgtNumToString( EMT.S, 0) - local sOut = 'G101' .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') .. - EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES - if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then - sOut = sOut .. ' EH1' + + -- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione + if EMT.HEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sEEPreMove = ' EE' .. EgtIf( bZmax, '3', '4') + local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES + EmtOutput( sOutPreMove) end + EmtResetPrev() + -- se sono su pezzi alti e movimento da emettere, per sicurezza a Z massima + local MyZPos = EMT.L3 + if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + MyZPos = MyZHome + end + local sOut = 'G101' .. EmtGetAxis( 'L2') .. ' Z' .. EmtLenToString( MyZPos, 3) .. + EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES + -- faccio backup dati in caso mi servano per lavorazione successiva + EMT.PREVsEE = sEE ; EMT.PREVsEL = sEL ; EMT.PREVsER = sER ; EMT.PREVsET = sET ; EMT.PREVsES = sES + if EMT.LOAD or bHeadFirst then sOut = sOut..' L0=0' EmtOutput( sOut) diff --git a/Common-FAST.NUM_PLUS.mlpe b/Common-FAST.NUM_PLUS.mlpe index 4e9ef18..1eed103 100644 --- a/Common-FAST.NUM_PLUS.mlpe +++ b/Common-FAST.NUM_PLUS.mlpe @@ -517,6 +517,7 @@ function OnMachiningEnd() EMT.AUXTYPE = nil EMT.U_STD = nil EMT.PREVTOOL = EMT.TOOL + EMT.PREVHEAD = EMT.HEAD EMT.PREVR3 = EMT.R3 end @@ -527,6 +528,11 @@ function OnPathStart() -- primo posizionamento sempre in globale EMT.REFLOC = nil EMT.IPLGL = false + + -- salvo precedenti rotanti + EMT.R1pp = EMT.R1p + EMT.R2pp = EMT.R2p + -- reset valori precedenti (per forzare emissione di tutti gli assi del 1° movimento) EmtResetPrev() EMT.AUXCMD = {} @@ -645,18 +651,41 @@ function OnRapid() EmtOutput( '( *** ' .. sOut .. ' *** )') end -- primo posizionamento - EmtResetPrev() + local MyZHome = EgtGetAxisHomePos( 'Z') local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1) + -- se avevo motosega, torno in zona sicura senza ruotare assi rotanti + if EMT.PREVHEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + ' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) .. + ' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES + EmtOutput( sOutPreMove) + end + + -- ricavo i dati per la lavorazione local sEE = ' EE' .. EgtIf( bZmax, '3', '4') local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3) local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3) local sET = GetET( EMT.HEAD, EMT.TCPOS, EMT.R3) local sES = ' ES'..EgtNumToString( EMT.S, 0) - local sOut = 'G101' .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') .. - EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES - if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then - sOut = sOut .. ' EH1' + + -- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione + if EMT.HEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sEEPreMove = ' EE' .. EgtIf( bZmax, '3', '4') + local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) .. + EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES + EmtOutput( sOutPreMove) end + EmtResetPrev() + -- se sono su pezzi alti e movimento da emettere, per sicurezza a Z massima + local MyZPos = EMT.L3 + if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + MyZPos = MyZHome + end + local sOut = 'G101' .. EmtGetAxis( 'L2') .. ' Z' .. EmtLenToString( MyZPos, 3) .. + EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. sEE .. sEL .. sER .. sET .. sES + -- faccio backup dati in caso mi servano per lavorazione successiva + EMT.PREVsEE = sEE ; EMT.PREVsEL = sEL ; EMT.PREVsER = sER ; EMT.PREVsET = sET ; EMT.PREVsES = sES + if EMT.LOAD or bHeadFirst then sOut = sOut .. ' L0=0' if EMT.LOAD or #EMT.AUXSTR > 0 then diff --git a/Common-FAST.TPA.mlpe b/Common-FAST.TPA.mlpe index 6713643..72d31da 100644 --- a/Common-FAST.TPA.mlpe +++ b/Common-FAST.TPA.mlpe @@ -511,6 +511,8 @@ function OnMachiningEnd() EMT.AUXTYPE = nil EMT.U_STD = nil EMT.PREVTOOL = EMT.TOOL + EMT.PREVHEAD = EMT.HEAD + EMT.PREVS = EMT.S end --------------------------------------------------------------------- @@ -521,6 +523,11 @@ function OnPathStart() -- primo posizionamento sempre in globale EMT.REFLOC = nil EMT.IPLGL = false + + -- salvo precedenti rotanti + EMT.R1pp = EMT.R1p + EMT.R2pp = EMT.R2p + -- reset valori precedenti (per forzare emissione di tutti gli assi del 1° movimento) EmtResetPrev() EMT.AUXCMD = {} @@ -641,15 +648,35 @@ function OnRapid() EmtOutput( '( * ' .. sOut .. ' * )') end -- primo posizionamento - EmtResetPrev() + local MyZHome = EgtGetAxisHomePos( 'Z') local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1) - local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, 3) .. ' P3=' .. EmtLenToString( EMT.L3, 3) .. + -- se avevo motosega, torno in zona sicura senza ruotare assi rotanti + if EMT.PREVHEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, 3) .. ' P3=' .. EmtLenToString( MyZHome, 3) .. + ' P4=' .. EgtNumToString( EMT.R2pp, 3) .. ' P5=' .. EgtNumToString( EMT.R1pp, 3) .. + ' P6=' .. EgtNumToString( EMT.PREVTCPOS, 3) .. ' P7=' .. EgtNumToString( EMT.PREVS, 0) .. + ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') + EmtOutput( sOutPreMove) + end + -- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione + if EMT.HEAD == 'H3' and EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, 3) .. ' P3=' .. EmtLenToString( MyZHome, 3) .. + ' P4=' .. EgtNumToString( EMT.R2, 3) .. ' P5=' .. EgtNumToString( EMT.R1, 3) .. + ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. + ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') + EmtOutput( sOutPreMove) + end + -- resetto valori precedenti + EmtResetPrev() + local MyZPos = EMT.L3 + -- se sono su pezzi alti e movimento da emettere, per sicurezza a Z massima + if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then + MyZPos = MyZHome + end + local sOut = 'M101 P1=1' .. ' P2=' .. EmtLenToString( EMT.L2, 3) .. ' P3=' .. EmtLenToString( MyZPos, 3) .. ' P4=' .. EgtNumToString( EMT.R2, 3) .. ' P5=' .. EgtNumToString( EMT.R1, 3) .. ' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) .. ' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4') - if EMT.ST > BeamHeightForFixRot and EMT.FLAG2 == 1 then - sOut = sOut .. ' P12=1' - end if EMT.LOAD then ParkLine( sOut) else @@ -1613,6 +1640,8 @@ function AdjustTcPos( bLen3) sPos = '0' .. sPos end end + -- salvo posizione + EMT.PREVTCPOS = sPos return sPos end diff --git a/Common-FAST.mlpe b/Common-FAST.mlpe index cafaef1..39e5d2f 100644 --- a/Common-FAST.mlpe +++ b/Common-FAST.mlpe @@ -533,39 +533,40 @@ function OnSimulToolDeselect() -- se sega a catena o rinvio o punta lunga o utensile di grosso diametro, devo cambiare if EMT.HEAD == 'H3' or EMT.HEAD == 'H5' or ( EMT.HEAD == 'H1' and ( EMT.TOTLEN > LONG_TOOL_MINLEN or EMT.TOTDIAM > BIG_TOOL_DIAM)) then EgtOutText( 'Tool change in progress...') - local RapSimStep = 4 * EMT.SIMSTEP - local RapSimRotStep = RapSimStep / 10 - local CollSimRotStep = min( RapSimRotStep, 5) -- movimento scarico sega a catena if EMT.HEAD == 'H3' then + -- se avevo motosega, torno in zona sicura senza ruotare assi rotanti + if EMT.HB > BeamHeightForFixRot then + SimulMoveAxis( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID) + end local dPosA = EgtGetAxisPos( 'A') if abs( dPosA) < 0.1 then - SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 180, 0), CollSimRotStep) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, 180, 0), MCH_SIM_STEP.COLLROT) else - SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), CollSimRotStep) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), MCH_SIM_STEP.COLLROT) end - SimulMoveAxis( 'X', 0, RapSimStep) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) -- movimento scarico rinvio elseif EMT.HEAD == 'H5' then - SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', -90, CollSimRotStep) - SimulMoveAxis( 'X', 0, RapSimStep) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', -90, MCH_SIM_STEP.COLLROT) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) -- movimento scarico punta lunga su T111 elseif EMT.TOTLEN > LONG_TOOL_MINLEN then -- se su cambio utensile T111 if EMT.TCPOS == 'T111' then - SimulMoveAxis( 'X', 0, RapSimStep) - SimulMoveAxes( 'B', 0, CollSimRotStep, 'C', 0, CollSimRotStep) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', 0, MCH_SIM_STEP.COLLROT) -- altrimenti posizioni standard rastrelliera else - SimulMoveAxis( 'X', 0, RapSimStep) - SimulMoveAxes( 'B', 90, CollSimRotStep, 'C', -90, CollSimRotStep) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) + SimulMoveAxes( 'B', 90, MCH_SIM_STEP.COLLROT, 'C', -90, MCH_SIM_STEP.COLLROT) end -- movimento scarico utensile di grosso diametro (su T111) else local dPosB = EgtGetAxisPos( 'B') local dNewB = EgtIf( dPosB < 0, -90, 90) - SimulMoveAxes( 'B', dNewB, CollSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 180, 0), CollSimRotStep) - SimulMoveAxis( 'X', 0, RapSimStep) + SimulMoveAxes( 'B', dNewB, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, 180, 0), MCH_SIM_STEP.COLLROT) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) end -- breve pausa EgtPause( 100) @@ -574,9 +575,9 @@ function OnSimulToolDeselect() ShowToolInTcPos( EMT.TCPOS_1, true) -- movimento per carico utensile if EMT.NEXTHEAD ~= 'H3' and EMT.NEXTHEAD ~= 'H5' then - SimulMoveAxes( 'B', 90, RapSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), RapSimRotStep) + SimulMoveAxes( 'B', 90, MCH_SIM_STEP.RAPROT, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), MCH_SIM_STEP.RAPROT) else - SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), RapSimRotStep) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.RAPROT, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), MCH_SIM_STEP.RAPROT) end -- se segue lama, carico utensile di default if EMT.NEXTHEAD == 'H2' then @@ -592,12 +593,9 @@ function OnSimulToolDeselect() elseif EMT.NEXTHEAD ~= 'H2' and EMT.NEXTHEAD ~= 'H4' then if EMT.NEXTTOOL ~= EMT.TOOL_1 then EgtOutText( 'Tool change in progress...') - local RapSimStep = 4 * EMT.SIMSTEP - local RapSimRotStep = RapSimStep / 10 - local CollSimRotStep = min( RapSimRotStep, 10) -- simulo movimento - SimulMoveAxes( 'B', 90, CollSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), CollSimRotStep) - SimulMoveAxis( 'X', 0, RapSimStep) + SimulMoveAxes( 'B', 90, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), MCH_SIM_STEP.COLLROT) + SimulMoveAxis( 'X', 0, MCH_SIM_STEP.RAPID) -- breve pausa EgtPause( 100) ShowToolInTcPos( EMT.TCPOS_1, true) @@ -608,7 +606,7 @@ function OnSimulToolDeselect() EgtSetStatus( EgtGetHeadId( EMT.HEAD), GDB_ST.OFF) end -- eseguo movimento opportuno - SimulMoveAxes( 'B', 0, RapSimRotStep, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), RapSimRotStep) + SimulMoveAxes( 'B', 0, MCH_SIM_STEP.RAPROT, 'C', EgtIf( BD.RIGHT_LOAD, 90, -90), MCH_SIM_STEP.RAPROT) -- se altrimenti lama su cambio utensile elseif EMT.NEXTHEAD == 'H1' and SpecialBH and EMT.NEXTTCPOS == 'T111' then -- se non lama, nascondo l'utensile corrente @@ -616,7 +614,7 @@ function OnSimulToolDeselect() EgtSetStatus( EgtGetHeadId( EMT.HEAD), GDB_ST.OFF) end -- eseguo movimento opportuno - SimulMoveAxes( 'B', -90, RapSimRotStep, 'C', 0, RapSimRotStep) + SimulMoveAxes( 'B', -90, MCH_SIM_STEP.RAPROT, 'C', 0, MCH_SIM_STEP.RAPROT) end else EMT.TOOL_1 = nil @@ -779,9 +777,11 @@ function OnSimulMoveStart() EgtOutText( '') EMT.MCHFIRST = false -- con pezzi alti aggiorno gli assi rotanti prima di muovermi sopra il pezzo - if not EMT.LOAD and EMT.MOVE == 0 and EMT.HB > BeamHeightForFixRot then - local RapSimStep = 4 * EMT.SIMSTEP - SimulMoveAxes( 'C', EMT.R1, RapSimStep/10, 'B', EMT.R2, RapSimStep/10) + if not EMT.LOAD and EMT.MOVE == 0 and EMT.HB > BeamHeightForFixRot and EMT.FLAG2 == 1 then + -- se motosega mi muovo a X di sicurezza per ruotare + if EMT.HEAD == 'H3'then + SimulMoveAxes( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID, 'C', EMT.R1, MCH_SIM_STEP.COLLROT, 'B', EMT.R2, MCH_SIM_STEP.COLLROT) + end end EMT.POSTROT = nil end @@ -814,7 +814,6 @@ end --------------------------------------------------------------------- function ExecAuxCmd( sCmd) - local RapSimStep = 4 * EMT.SIMSTEP local Cmd = EgtSplitString( sCmd) if Cmd[1] == '0' then if Cmd[2] == 'Unloading' then @@ -824,7 +823,7 @@ function ExecAuxCmd( sCmd) end EgtOutText( EgtIf( Cmd[3], Cmd[3], Cmd[2])) elseif Cmd[1] == '1' then - if not SimulMoveAxis( Cmd[2], tonumber( Cmd[3]), RapSimStep) then + if not SimulMoveAxis( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID) then if VerifyYVStroke( Cmd[2], tonumber( Cmd[3])) == nil then EgtOutLog( 'Error on ExecAuxCmd : ' .. sCmd) end @@ -838,8 +837,8 @@ function ExecAuxCmd( sCmd) -- Verifico movimento carrello con trave agganciata VerifyOneChariotSlide( Cmd[2], Cmd[3], Cmd[4], Cmd[5]) -- Eseguo il movimento - local _, bOk, bOk2 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), RapSimStep, - Cmd[4], tonumber( Cmd[5]), RapSimStep) + local _, bOk, bOk2 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID, + Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID) if not ( bOk and bOk2) then local nI = EgtIf( not bOk, 2, 4) if VerifyYVStroke( Cmd[nI], tonumber( Cmd[nI+1])) == nil then @@ -850,9 +849,9 @@ function ExecAuxCmd( sCmd) -- Verifico movimento carrelli con trave agganciata VerifyTwoChariotsSlide( Cmd[2], Cmd[3], Cmd[4], Cmd[5], Cmd[6], Cmd[7]) -- Eseguo il movimento - local _, bOk, bOk2, bOk3 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), RapSimStep, - Cmd[4], tonumber( Cmd[5]), RapSimStep, - Cmd[6], tonumber( Cmd[7]), RapSimStep) + local _, bOk, bOk2, bOk3 = SimulMoveAxes( Cmd[2], tonumber( Cmd[3]), MCH_SIM_STEP.RAPID, + Cmd[4], tonumber( Cmd[5]), MCH_SIM_STEP.RAPID, + Cmd[6], tonumber( Cmd[7]), MCH_SIM_STEP.RAPID) if not ( bOk and bOk2 and bOk3) then local nI = EgtIf( not bOk, 2, EgtIf( not bOk2, 4, 6)) if VerifyYVStroke( Cmd[nI], tonumber( Cmd[nI+1])) == nil then @@ -864,14 +863,14 @@ function ExecAuxCmd( sCmd) if Cmd[2] ~= '0' then dPY = EgtIf( EMT.ROT == -1, EMT.HB, EMT.SB) end - SimulMoveAxis( 'PY', dPY, RapSimStep) + SimulMoveAxis( 'PY', dPY, MCH_SIM_STEP.RAPID) SetPYLight( Cmd[2] ~= '0') elseif Cmd[1] == '12' then local dPV = MaxOpen if Cmd[2] ~= '0' then dPV = EgtIf( EMT.ROT == -1, EMT.HB, EMT.SB) end - SimulMoveAxis( 'PV', dPV, RapSimStep) + SimulMoveAxis( 'PV', dPV, MCH_SIM_STEP.RAPID) SetPVLight( Cmd[2] ~= '0') elseif Cmd[1] == '21' then local nYDelta = tonumber( Cmd[2]) diff --git a/UpdateLog.txt b/UpdateLog.txt index 142975e..c6faa46 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,5 +1,9 @@ ==== Common_FAST Update Log ==== +Versione 2.6c4 (27/02/2024) +- (MLDE-SIM-GEN) Con pezzi molto alti '> BeamHeightForFixRot', aggiunto parametro 'SafeXRotAxes' per ruotare motosega in zona sicura lontano dal pezzo +- (SIM) Nelle funzioni movimentaizone assi, utilizzate costanti 'MCH_SIM_STEP' + Versione 2.6c3 (23/02/2024) - (SIM) Corretta lettura parametro RIGHT_LOAD - (SIM-GEN) Rimossa chiamata funzione EgtGetSourceDir rimasta in MLPE @@ -12,4 +16,4 @@ Versione 2.6c1 (23/02/2024) - (SIM-GEN) "BeamData" caricato come libreria con 'require' anziché come file con 'dofile' - (SIM) Aggiunta funzioni "OnSimulInit" e "OnSimulExit" per orientare vista corretta in caso di macchina con carico destro. N.B.= serve CAM5 2.6b4 - (SIM-GEN) In BeamData aggiunto flag per direzione carico RIGHT_LOAD -- (ASIM-GENLL) Aggiornamento 'Compile.bat' con nuovi nomi file \ No newline at end of file +- (SIM-GEN) Aggiornamento 'Compile.bat' con nuovi nomi file \ No newline at end of file diff --git a/Version.lua b/Version.lua index e4bca02..a6cc8c4 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common-FAST', -- nome script PP standard - VERSION = '2.6c3', -- versione script + VERSION = '2.6c4', -- versione script MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel }