diff --git a/Saomad-KAIROS-MK2.SIEMENS.mlpe b/Saomad-KAIROS-MK2.SIEMENS.mlpe index 2640970..6585b4a 100644 --- a/Saomad-KAIROS-MK2.SIEMENS.mlpe +++ b/Saomad-KAIROS-MK2.SIEMENS.mlpe @@ -664,6 +664,9 @@ function OnRapid() MyEmtOutput( sOut) EMT.SPEED_ON = true MyEmtOutput( '_N'..sStep1..':STOPRE') + else + local sStep = EgtNumToString( EMT.NSTEP, 0) + MyEmtOutput( '_N'..sStep..':STOPRE') end -- eventuale avvio mandrino (se non giĆ  avviato) EmitSpeedOn( EMT.S) @@ -1337,28 +1340,28 @@ function PrepareUnload( sCmd) local sStep = EgtNumToString( EMT.NSTEP, 0) local sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) + sOut = '_N'..sStep..':STOPRE' + table.insert( EMT.AUXSTR, sOut) local sX2Pos = Cmd[3] sOut = string.format( 'POS[X2]=%s FA[X2]=%d', sX2Pos, EMT.FMAXPINZE) table.insert( EMT.AUXSTR, sOut) - sOut = '_POSIZ_T(5,,,,,3,,,,)' -- discesa blocco pezzo - table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + sOut = '_POSIZ_T(5,,,,,3,,,,)\n' -- discesa blocco pezzo table.insert( EMT.AUXSTR, sOut) EMT.NSTEP = EMT.NSTEP + 10 sStep = EgtNumToString( EMT.NSTEP, 0) sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) - sOut = '_POSIZ_T(5,,,,,4,,,,)' -- pistone scarico avanti per spingere pezzo + sOut = '_N'..sStep..':STOPRE' table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + sOut = '_POSIZ_T(5,,,,,4,,,,)\n' -- pistone scarico avanti per spingere pezzo table.insert( EMT.AUXSTR, sOut) EMT.NSTEP = EMT.NSTEP + 10 sStep = EgtNumToString( EMT.NSTEP, 0) sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) - sOut = '_POSIZ_T(5,,,,,5,,,,)' -- pistone scarico indietro + sOut = '_N'..sStep..':STOPRE' table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + sOut = '_POSIZ_T(5,,,,,5,,,,)\n' -- pistone scarico indietro table.insert( EMT.AUXSTR, sOut) end elseif Cmd[1] == '2' then @@ -1366,10 +1369,10 @@ function PrepareUnload( sCmd) local sStep = EgtNumToString( EMT.NSTEP, 0) local sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) - local sX2Pos = Cmd[5] - sOut = string.format( 'POS[X2]=%s FA[X2]=%d', sX2Pos, EMT.FMAXPINZE) + sOut = '_N'..sStep..':STOPRE' table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + local sX2Pos = Cmd[5] + sOut = string.format( 'POS[X2]=%s FA[X2]=%d\n', sX2Pos, EMT.FMAXPINZE) table.insert( EMT.AUXSTR, sOut) elseif Cmd[1] == '3' then -- non gestito @@ -1380,17 +1383,17 @@ function PrepareUnload( sCmd) local sStep = EgtNumToString( EMT.NSTEP, 0) local sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) - sOut = '_POSIZ_T(5,,,,,1,,,,)' -- apre pinza 2 + sOut = '_N'..sStep..':STOPRE' table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + sOut = '_POSIZ_T(5,,,,,1,,,,)\n' -- apre pinza 2 table.insert( EMT.AUXSTR, sOut) EMT.NSTEP = EMT.NSTEP + 10 sStep = EgtNumToString( EMT.NSTEP, 0) sOut = '_STEP='..sStep table.insert( EMT.AUXSTR, sOut) - sOut = '_POSIZ_T(5,,,,,2,,,,)' -- solleva il blocca-pezzo + sOut = '_N'..sStep..':STOPRE' table.insert( EMT.AUXSTR, sOut) - sOut = '_N'..sStep..':STOPRE\n' + sOut = '_POSIZ_T(5,,,,,2,,,,)\n' -- solleva il blocca-pezzo table.insert( EMT.AUXSTR, sOut) elseif Cmd[1] == '21' then -- non interessa diff --git a/Saomad-KAIROS-MK2.mlde b/Saomad-KAIROS-MK2.mlde index cb3fe68..485a54a 100644 --- a/Saomad-KAIROS-MK2.mlde +++ b/Saomad-KAIROS-MK2.mlde @@ -9,7 +9,7 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '3.1d1_DEV10' +PP_VER = '3.1e1_DEV1' MIN_MACH_VER = '3.1c1' EgtOutLog ( '** Saomad-KAIROS '..PP_VER..' (MinMach '.. MIN_MACH_VER ..') **', 1) @@ -19,7 +19,7 @@ NumericalControl = 'SIEMENS' ChainSaw = false MinY = -823 MaxY = 520 -ParkY = 400 +ParkY = -125 FmaxY = 45000 MinZ = -298 MaxZ = 915 @@ -30,6 +30,8 @@ MaxA = 120 MinSawA = -101 MaxSawA = 101 ParkA = 0 +TakePosTC_R = -90 +TakePosTC_L = 90 FmaxA = 10440 MinC = -240 MaxC = 240 diff --git a/Saomad-KAIROS-MK2.mlpe b/Saomad-KAIROS-MK2.mlpe index 52431e3..b7a2391 100644 --- a/Saomad-KAIROS-MK2.mlpe +++ b/Saomad-KAIROS-MK2.mlpe @@ -504,6 +504,10 @@ function OnSimulToolSelect( dPosCS) EMT.TCPOS_1 = EMT.TCPOS -- lo nascondo sul portautensili ShowToolInTcPos( EMT.TCPOS, false) + -- movimento di uscita dal porta utensile + if EMT.HEAD == 'H1' or EMT.HEAD == 'H2' then + SimulMoveAxes( 'Y', ParkY, MCH_SIM_STEP.RAPID, 'A', ParkA, MCH_SIM_STEP.RAPROT, 'C', ParkC, MCH_SIM_STEP.RAPROT) + end end --------------------------------------------------------------------- @@ -522,30 +526,39 @@ function OnSimulToolDeselect() else SimulMoveAxes( 'A', ParkA, MCH_SIM_STEP.COLLROT, 'C', GetChainSawCHomeFromVirtualAxis( dPosCS), MCH_SIM_STEP.COLLROT) end - SimulMoveAxis( 'Y', ParkY, MCH_SIM_STEP.RAPID) + elseif EMT.HEAD == 'H2' then + SimulMoveAxes( 'A', TakePosTC_R, MCH_SIM_STEP.COLLROT, 'C', ParkC, MCH_SIM_STEP.COLLROT) + elseif EMT.HEAD == 'H1' then + SimulMoveAxes( 'A', TakePosTC_L, MCH_SIM_STEP.COLLROT, 'C', ParkC, MCH_SIM_STEP.COLLROT) end + SimulMoveAxis( 'Y', MinY, MCH_SIM_STEP.RAPID) -- breve pausa EgtPause( 100) -- nascondo utensile su testa e lo visualizzo su TcPos EgtSetMode( EgtGetHeadId( EMT.HEAD), GDB_MD.HIDDEN) ShowToolInTcPos( EMT.TCPOS_1, true) -- movimento per carico utensile - SimulMoveAxes( 'A', ParkA, MCH_SIM_STEP.RAPROT, 'C', ParkC, MCH_SIM_STEP.RAPROT) + --SimulMoveAxes( 'Y', ParkY, MCH_SIM_STEP.RAPID, 'A', ParkA, MCH_SIM_STEP.RAPROT, 'C', ParkC, MCH_SIM_STEP.RAPROT) EgtOutText( '') -- deposito utensile else if EMT.NEXTTOOL ~= EMT.TOOL_1 then EgtOutText( 'Tool change in progress...') -- simulo movimento - SimulMoveAxes( 'A', ParkA, MCH_SIM_STEP.COLLROT, 'C', ParkC, MCH_SIM_STEP.COLLROT) - SimulMoveAxis( 'Y', ParkY, MCH_SIM_STEP.RAPID) + if EMT.HEAD == 'H2' then + SimulMoveAxes( 'A', TakePosTC_R, MCH_SIM_STEP.COLLROT, 'C', ParkC, MCH_SIM_STEP.COLLROT) + elseif EMT.HEAD == 'H1' then + SimulMoveAxes( 'A', TakePosTC_L, MCH_SIM_STEP.COLLROT, 'C', ParkC, MCH_SIM_STEP.COLLROT) + end + SimulMoveAxis( 'Y', MinY, MCH_SIM_STEP.RAPID) -- breve pausa EgtPause( 100) + -- nascondo utensile su testa e lo visualizzo su TcPos + EgtSetMode( EgtGetHeadId( EMT.HEAD), GDB_MD.HIDDEN) ShowToolInTcPos( EMT.TCPOS_1, true) - -- nascondo l'utensile corrente - EgtSetStatus( EgtGetHeadId( EMT.HEAD), GDB_ST.OFF) - -- eseguo movimento opportuno - SimulMoveAxes( 'A', ParkA, MCH_SIM_STEP.RAPROT, 'C', ParkC, MCH_SIM_STEP.RAPROT) + EgtOutText( '') + -- eseguo movimento opportuno + --SimulMoveAxes( 'A', ParkA, MCH_SIM_STEP.RAPROT, 'C', ParkC, MCH_SIM_STEP.RAPROT) else EMT.TOOL_1 = nil EMT.TCPOS_1 = nil