Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c86b246b27 | |||
| d56ca531ee | |||
| 39dfb1921c | |||
| 09b6705296 | |||
| 63158d4d23 | |||
| 11a6fc610b |
+8
-1
@@ -12,7 +12,8 @@ local BeamData = {
|
||||
MAX_WIDTH = 1250, -- larghezza massima del grezzo
|
||||
MAX_HEIGHT = 400, -- altezza massima del grezzo
|
||||
LEN_SHORT_PART = 1200, -- lunghezza massima pezzo piccolo
|
||||
MAX_RAW = 20000, -- massima lunghezza grezzo (deve essere minore di LenTable - RAW_OFFSET)
|
||||
LEN_VERY_SHORT_PART = 800, -- lunghezza massima pezzo molto corto (molto probabile lo scarico a caduta)
|
||||
MAX_RAW = 26000, -- massima lunghezza grezzo (deve essere minore di LenTable - RAW_OFFSET)
|
||||
STD_RAW = 14000, -- lunghezza standard della barra di grezzo
|
||||
OVM_HEAD = 10, -- sovramateriale testa
|
||||
OVM_MID = 5.4, -- sovramateriale intermedio (spessore lama)
|
||||
@@ -101,6 +102,12 @@ if EgtExistsFile( sDataBeam) then
|
||||
BeamData.DIM_STRIP_SMALL = Machine.Offsets.DIM_STRIP_SMALL or BeamData.DIM_STRIP_SMALL
|
||||
BeamData.DIM_TO_CENTER_STRIP = Machine.Offsets.DIM_TO_CENTER_STRIP or BeamData.DIM_TO_CENTER_STRIP
|
||||
BeamData.MAXDIAM_POCK_CORNER = Machine.Offsets.MAXDIAM_POCK_CORNER or BeamData.MAXDIAM_POCK_CORNER
|
||||
BeamData.LONGCUT_ENDLEN = Machine.Offsets.LONGCUT_ENDLEN or BeamData.LONGCUT_ENDLEN
|
||||
BeamData.LONGCUT_MAXLEN = Machine.Offsets.LONGCUT_MAXLEN or BeamData.LONGCUT_MAXLEN
|
||||
BeamData.ADVANCE_TAIL_OFFS = Machine.Offsets.ADVANCE_TAIL_OFFS or BeamData.ADVANCE_TAIL_OFFS
|
||||
BeamData.LEN_VERY_SHORT_PART = Machine.Offsets.LEN_VERY_SHORT_PART or BeamData.LEN_VERY_SHORT_PART
|
||||
BeamData.LEN_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART
|
||||
BeamData.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID
|
||||
if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end
|
||||
if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end
|
||||
end
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
33=AntiSplintMillCut_H2
|
||||
34=SideMillAsBlade
|
||||
35=SideMillAsBlade_H2
|
||||
36=Prof_end
|
||||
|
||||
[Pocketing]
|
||||
1=Pocket
|
||||
|
||||
+10
-12
@@ -28,7 +28,9 @@ function OnStart()
|
||||
--EMT.LINEINC = 1 -- incremento numerazione linee
|
||||
--EMT.Ft = 'F' -- token per feed
|
||||
--EMT.St = 'S' -- token per speed
|
||||
EMT.FMAXPINZE = EgtClamp( MaxFeedPinze or 116000, 20000, 116000) -- feed massima pinze
|
||||
EMT.FMAXPINZE = EgtClamp( MaxFeedPinze or 116000, 20000, 130000) -- feed massima pinze
|
||||
EMT.MAXACC = MaxAcc or 6000 -- accelerazione massima pinze. In realtà è il tempo in millisecondi, quindi MAXACC corrisponde al tempo massimo per raggiungere la velocità desiderata
|
||||
EMT.MINACC = MinAcc or 600 -- accelerazione minima pinze. In realtà è il tempo in millisecondi, quindi MINACC corrisponde al tempo massimo per raggiungere la velocità desiderata
|
||||
SetToParkLine() -- si inizia con linee da parcheggiare su stack
|
||||
end
|
||||
|
||||
@@ -1623,24 +1625,20 @@ end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function CalcDinamicaPinze( dH, dS, dL)
|
||||
local MinTempoAcc = 0.6 -- [s]
|
||||
local MaxTempoAcc = 6.0 -- [s]
|
||||
local KgMtCubo= WoodDensity or 550 -- densità legno [Kg / metro cubo]
|
||||
local MinTempoAcc = EMT.MINACC -- [ms] ~600
|
||||
local MaxTempoAcc = EMT.MAXACC -- [ms] ~6000
|
||||
local KgMtCubo= WoodDensity or 550 -- densità legno [Kg / metro cubo]
|
||||
local Massa = ( dH * dS * dL * KgMtCubo ) / 1e9 -- massa [Kg]
|
||||
local FMaxPinze = EMT.FMAXPINZE -- Feed massima pinze [mm/min]
|
||||
local ForzaAttrito = 350 * 9.8 * 0.2 -- Forza chiusura pinze [Kgf] * g * Coeff_Attrito -> [N]
|
||||
local TempoAcc = ( ( Massa * FMaxPinze) / ( 60 * ForzaAttrito) / 1000)
|
||||
if ( TempoAcc < MinTempoAcc) then TempoAcc = MinTempoAcc end
|
||||
if ( TempoAcc > MaxTempoAcc) then TempoAcc = MaxTempoAcc end
|
||||
local AccMaxPinze = FMaxPinze / ( 60 * MinTempoAcc)
|
||||
local AccPinze = FMaxPinze / ( 60 * TempoAcc)
|
||||
local TempoAcc = EgtClamp( ( Massa * FMaxPinze) / ( 60 * ForzaAttrito), MinTempoAcc, MaxTempoAcc)
|
||||
local RidFeed = 100 / Massa * 100
|
||||
if RidFeed > 100 then
|
||||
RidFeed = 100
|
||||
elseif RidFeed < 10 then
|
||||
RidFeed = 10
|
||||
end
|
||||
return TempoAcc * 1000, MinTempoAcc * 1000, RidFeed
|
||||
return TempoAcc, MinTempoAcc, RidFeed
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -2325,7 +2323,7 @@ function AdjustTcPos( bLen3, sTcPos, dAxR3)
|
||||
end
|
||||
end
|
||||
if sPos == '111' then
|
||||
if not dAxR3 then dAxR3 = EMT.R3 end
|
||||
if not dAxR3 then dAxR3 = EMT.R3 or 0 end
|
||||
-- controllo che il valore esista. Altrimenti è una testa senza asse ausiliario
|
||||
if dAxR3 then
|
||||
if abs( dAxR3 - 0) < 0.1 then
|
||||
@@ -2342,7 +2340,7 @@ function AdjustTcPos( bLen3, sTcPos, dAxR3)
|
||||
end
|
||||
end
|
||||
if sPos == '121' then
|
||||
if not dAxR3 then dAxR3 = EMT.R3 end
|
||||
if not dAxR3 then dAxR3 = EMT.R3 or 0 end
|
||||
-- controllo che il valore esista. Altrimenti è una testa senza asse ausiliario
|
||||
if dAxR3 then
|
||||
if abs( dAxR3 - 0) < 0.1 then
|
||||
|
||||
+13
-12
@@ -2170,18 +2170,19 @@ end
|
||||
---------------------------------------------------------------------
|
||||
-- *** ESTIMATION T&L ***
|
||||
---------------------------------------------------------------------
|
||||
local RAPID_X_FEED = 70000 -- mm/min
|
||||
local RAPID_Y_FEED = 100000 -- mm/min
|
||||
local RAPID_Z_FEED = 32000 -- mm/min
|
||||
local RAPID_C_FEED = 15000 -- deg/min
|
||||
local RAPID_B_FEED = 15000 -- deg/min
|
||||
local RAPID_MIN_T = 0.1 -- s
|
||||
local LOAD_T = 2 -- s
|
||||
local CHAR_ONE_MOVE_T = 1 -- s
|
||||
local ROTATION_T = 40 -- s
|
||||
local SPLIT_T = 6 -- s
|
||||
local UNLOAD_T = 4 -- s
|
||||
local FALL_T = 2 -- s
|
||||
local ESTIMATION_RAPID_COEFF = EstimationRapidMultiplier or 1
|
||||
local RAPID_X_FEED = 70000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||
local RAPID_Y_FEED = 100000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||
local RAPID_Z_FEED = 32000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||
local RAPID_C_FEED = 15000 / ESTIMATION_RAPID_COEFF -- deg/min
|
||||
local RAPID_B_FEED = 15000 / ESTIMATION_RAPID_COEFF -- deg/min
|
||||
local RAPID_MIN_T = 0.1 * ESTIMATION_RAPID_COEFF -- s
|
||||
local LOAD_T = 2 * ESTIMATION_RAPID_COEFF -- s
|
||||
local CHAR_ONE_MOVE_T = 1 * ESTIMATION_RAPID_COEFF -- s
|
||||
local ROTATION_T = 40 * ESTIMATION_RAPID_COEFF -- s
|
||||
local SPLIT_T = 6 * ESTIMATION_RAPID_COEFF -- s
|
||||
local UNLOAD_T = 4 * ESTIMATION_RAPID_COEFF -- s
|
||||
local FALL_T = 2 * ESTIMATION_RAPID_COEFF -- s
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function OnEstimStart()
|
||||
|
||||
+13
-6
@@ -1301,8 +1301,11 @@ function SpecCalcUnload()
|
||||
EgtOutLog( ' *[U1]', 1)
|
||||
end
|
||||
local vCmd = {}
|
||||
-- Tipo di scarico
|
||||
local bStdUl = ( not MaxUnloadLen or MaxUnloadLen < 1 or EMC.LB - EMC.HOVM < MaxUnloadLen + 1)
|
||||
|
||||
-- Commento
|
||||
table.insert( vCmd, { 0, 'Unloading'})
|
||||
table.insert( vCmd, { 0, 'Unloading', EgtIf( bStdUl, 'Unloading', 'Manual Unloading')})
|
||||
-- posizionamento sicuro teste e rulli (non serve ?)
|
||||
--table.insert( vCmd, { 4, 0})
|
||||
-- Se pinza Y chiusa, la apro
|
||||
@@ -1310,11 +1313,15 @@ function SpecCalcUnload()
|
||||
table.insert( vCmd, { 11, 0})
|
||||
EMC.CNT = nil
|
||||
end
|
||||
-- Sposto il pezzo in posizione di scarico
|
||||
local dFinT = EgtIf( EMC.LB < MaxLenSmT, UnloadSmT, UnloadT) - EMC.LB
|
||||
local dFinY2 = dFinT + EMC.Y2DELTA
|
||||
table.insert( vCmd, { 2, 'T', dFinT, 'Y2', dFinY2})
|
||||
EgtOutLog( ' Y2PosF=' .. EgtNumToString( dFinY2), 1)
|
||||
-- Se non supero la lunghezza massima di scarico, sposto il pezzo in posizione di scarico
|
||||
if bStdUl then
|
||||
local dFinT = EgtIf( EMC.LB < MaxLenSmT, UnloadSmT, UnloadT) - EMC.LB
|
||||
local dFinY2 = dFinT + EMC.Y2DELTA
|
||||
table.insert( vCmd, { 2, 'T', dFinT, 'Y2', dFinY2})
|
||||
EgtOutLog( ' Y2PosF=' .. EgtNumToString( dFinY2), 1)
|
||||
else
|
||||
table.insert( vCmd, { 1, 'Y2', MaxY2})
|
||||
end
|
||||
-- apro la morsa
|
||||
table.insert( vCmd, { 12, 0})
|
||||
-- riporto il carrello in home
|
||||
|
||||
+12
-7
@@ -30,10 +30,10 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.7d2'
|
||||
PP_NVER = '2.7.4.2'
|
||||
PP_VER = '2.7h2'
|
||||
PP_NVER = '2.7.8.2'
|
||||
MIN_MACH_VER = '2.7d2'
|
||||
MACH_NAME = 'Essetre-PF1250'
|
||||
MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio
|
||||
|
||||
-- Carico i dati globali
|
||||
local sMachDir = EgtGetCurrMachineDir()
|
||||
@@ -148,7 +148,7 @@ DeltaTabY = 2467.0
|
||||
DeltaTabZ = -1128 + MillOffs -- per TPA : -1128.0 + MillOffs -- per NUM : -958.0
|
||||
DeltaRulliTraveZ = -903
|
||||
DimTabY = 1400
|
||||
DimTabX = 24000
|
||||
DimTabX = 34000
|
||||
Delta2TabY = -1185.9
|
||||
Delta2TabZ = 693 - Mill2Offs -- per TPA : 378.0 - Mill2Offs -- per NUM : 208.0
|
||||
Head2X = 0
|
||||
@@ -167,6 +167,7 @@ EmitAccClamps = true
|
||||
WriteAllCoordsOnFirstM101 = true
|
||||
ForceToCloseRollersGate = false
|
||||
Motors23KW = false
|
||||
EstimationRapidMultiplier = 1
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PF1250.data"
|
||||
@@ -244,7 +245,11 @@ if EgtExistsFile( sDataBeam) then
|
||||
if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end
|
||||
if Machine.Offsets.MINPRESS then MinForzaPinze = Machine.Offsets.MINPRESS end
|
||||
if Machine.Offsets.MAXPRESS then MaxForzaPinze = Machine.Offsets.MAXPRESS end
|
||||
if Machine.Offsets.NOULOAD then MaxUnloadLen = Machine.Offsets.NOULOAD end
|
||||
if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end
|
||||
if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end
|
||||
if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end
|
||||
if Machine.Offsets.COEFF_STIMATEMPI and Machine.Offsets.COEFF_STIMATEMPI > 0 then EstimationRapidMultiplier = Machine.Offsets.COEFF_STIMATEMPI end
|
||||
if Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO then ForceToCloseRollersGate = Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO == 1 end
|
||||
if Machine.Offsets.WOOD_DENSITY then WoodDensity = Machine.Offsets.WOOD_DENSITY end
|
||||
if Machine.Offsets.MOTORS23KW then Motors23KW = Machine.Offsets.MOTORS23KW == 1 end
|
||||
@@ -454,10 +459,10 @@ local B2Id = EmtAxis {
|
||||
Geo = EgtIf( Motors23KW, 'B2_AXIS_23KW/GEO', 'B2_AXIS/GEO'),
|
||||
Aux = {EgtIf( Motors23KW, 'B2_AXIS_23KW/SOLID', 'B2_AXIS/SOLID'), EgtIf( Motors23KW, 'B2_AXIS_23KW/COLLISION', 'B2_AXIS/COLLISION')}}
|
||||
|
||||
local vtMoveZ2 = Vector3d( 0, 0, Head2Z + 1481.0)
|
||||
local vtMoveZ2 = Vector3d( 0, 0, Head2Z + 1381.0)
|
||||
EgtMove( EgtGetFirstNameInGroup( Z2Id, 'SOLID'), vtMoveZ2 - vtOffset23KW, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( Z2Id, 'COLLISION'), vtMoveZ2 - vtOffset23KW, GDB_RT.GLOB)
|
||||
local vtMoveX2 = Vector3d( 0, Head2Y - 3635.9, Head2Z + 1481.0)
|
||||
local vtMoveX2 = Vector3d( 0, Head2Y - 3635.9, Head2Z + 1381.0)
|
||||
EgtMove( EgtGetFirstNameInGroup( X2Id, 'SOLID'), vtMoveX2 - vtOffset23KW, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( X2Id, 'COLLISION'), vtMoveX2 - vtOffset23KW, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( C2Id, 'SOLID'), vtMoveX2, GDB_RT.GLOB)
|
||||
@@ -589,7 +594,7 @@ EmtAxis {
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = - X_AX(),
|
||||
Pos = Point3d(0.0,2450.0,-958.0),
|
||||
Stroke = {-20000, 20000},
|
||||
Stroke = {-30000, 30000},
|
||||
Home = LoadT,
|
||||
Geo = 'T_AXIS/GEO'}
|
||||
EmtTable {
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,13 @@
|
||||
==== Common_PF1250 Update Log ====
|
||||
|
||||
Versione 2.7h1 (20/08/2025)
|
||||
- (GEN) Per posizione T111 e T121, se non è presente asse rotante per presa aggregato (es. se si mette una fresa normale) viene settato a zero.
|
||||
- (MLDE-SIM) Aggiunta variabile FACOLTATIVA 'EstimationRapidMultiplier' in mlde per regolare il tempo stimato di rapido su macchine vecchie. Se non presente default 1.
|
||||
|
||||
Versione 2.7g1 (01/07/2025)
|
||||
- (GEN) Lettura parametri accelerazioni da TS3. Ticket#2052
|
||||
- (SIM-GEN) Aggiunta gestione massima lunghezza scarico
|
||||
|
||||
Versione 2.7d2 (24/04/2025)
|
||||
- (SIM) Modifica qualità VMILL. Da ora si può impostare da impostazioni CAM5
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_PF1250', -- nome script PP standard
|
||||
VERSION = '2.7d2', -- versione script
|
||||
VERSION = '2.7h1', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user