Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 408c4d1de2 | |||
| 004bb7e74d |
@@ -166,7 +166,7 @@ function OnDispositionStart()
|
||||
' P15='..EmtLenToString( -DeltaTabY, 2)..' P16='..EmtLenToString( DeltaTabZ - MillOffs, 2)..
|
||||
' P17='..EmtLenToString( Delta2TabY, 2)..' P18='..EmtLenToString( -Delta2TabZ - Mill2Offs, 2)
|
||||
-- se è in configurazione a 3 teste
|
||||
if EgtGetHeadId( 'H31') then
|
||||
if EgtGetHeadId( 'H31') then
|
||||
sOut = sOut .. ' P19='..EmtLenToString( -Delta3TabY, 2)..' P20='..EmtLenToString( Delta3TabZ - Mill3Offs, 2)..
|
||||
' P21='..EmtLenToString( Mill3Offs, 2).. ' P22='.. EmtLenToString( -ParkInLavZ2, 2)
|
||||
else
|
||||
@@ -1417,7 +1417,7 @@ end
|
||||
function CalcDinamicaPinze( dH, dS, dL)
|
||||
local MinTempoAcc = 0.6 -- [s]
|
||||
local MaxTempoAcc = 6.0 -- [s]
|
||||
local KgMtCubo= 550 -- densità legno [Kg / metro cubo]
|
||||
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]
|
||||
@@ -1442,7 +1442,7 @@ function CalcForzaPinze( dH, dS, dL, dT)
|
||||
if dMinJoin < 0.9 * BD.MIN_JOIN_L then
|
||||
return MinForzaPinze
|
||||
else
|
||||
local KgMtCubo= 550 -- densità legno [Kg / metro cubo]
|
||||
local KgMtCubo= WoodDensity or 550 -- densità legno [Kg / metro cubo]
|
||||
local Massa = ( dH * dS * dL * KgMtCubo ) / 1e9 -- massa [Kg]
|
||||
local Forza = Massa / MassaRef * MaxForzaPinze
|
||||
return EgtClamp( Forza, MinForzaPinze, MaxForzaPinze)
|
||||
@@ -2306,6 +2306,10 @@ function EmitZmax( bReset, bEnd, PrevR1, PrevR2, bSplitCut, bTopGoHome)
|
||||
else
|
||||
EmitMoveDataHead( 2, { X=dHomeX2, Fmt=1})
|
||||
end
|
||||
-- solo se è macchina a 3 teste, devo stare più alto
|
||||
if EgtGetHeadId( 'H31') then
|
||||
EmitMoveDataHead( 2, { Z=-ParkInLavZ2, Fmt=1})
|
||||
end
|
||||
EmitMoveStartHead( 2)
|
||||
EmitMoveWaitHead( 2)
|
||||
-- altrimenti testa 3
|
||||
|
||||
@@ -1328,6 +1328,15 @@ end
|
||||
function ExecMoveHome( bNearV, bMchSplit)
|
||||
-- risalita a Zmax
|
||||
ExecMoveZmax( bMchSplit)
|
||||
-- se testa sotto e macchian a 3 teste
|
||||
if GetHeadSet( EMT.HEAD) == 2 and EgtGetHeadId( 'H31') then
|
||||
if not SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) then
|
||||
EgtOutLog( 'Error on MoveHome : X2')
|
||||
end
|
||||
if not SimulMoveAxis( 'Z2', ParkInLavZ2, MCH_SIM_STEP.RAPID) then
|
||||
EgtOutLog( 'Error on MoveHome : X2')
|
||||
end
|
||||
end
|
||||
EMT.TO_ZMAX = nil
|
||||
-- se richiesto, avvicino i rulli
|
||||
if bNearV then
|
||||
@@ -1410,6 +1419,10 @@ function ExecMoveZmax( bMchSplit)
|
||||
else
|
||||
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- solo se è macchina a 3 teste, devo stare più alto
|
||||
if EgtGetHeadId( 'H31') then
|
||||
SimulMoveAxis( 'Z2', ParkInLavZ2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- altrimenti testa 3
|
||||
else
|
||||
SimulMoveAxes( 'Z3', MaxZ3, MCH_SIM_STEP.RAPID)
|
||||
|
||||
+12
-4
@@ -57,13 +57,16 @@
|
||||
-- 2024/04/23 ver 2.6d2 Allineamento con common ver. 2.6d2
|
||||
-- Aggiunta variabile MaxZ1Blade e relativa gestione
|
||||
-- Aggiunto solido collisione in NGE
|
||||
-- 2024/04/24 ver 2.6d3 Aggiunta simulazione macchina tipo "corsa corta" e "corsa lunga"
|
||||
-- 2024/04/30 ver 2.6e1 Allineamento con common ver. 2.6e1
|
||||
-- Aggiunta variabile WoodDensity per gestione WOOD_DENSITY
|
||||
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.6d2'
|
||||
PP_VER = '2.6e1'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = 'Essetre-PF1250'
|
||||
|
||||
@@ -128,7 +131,7 @@ SawB2Offs = 0
|
||||
MinX1 = 0
|
||||
MaxX1 = 3300
|
||||
MinZ1 = -1550
|
||||
MaxZ1 = -100
|
||||
MaxZ1 = -50
|
||||
MaxZ1Blade = -100
|
||||
MinC1 = -275
|
||||
MaxC1 = 275
|
||||
@@ -271,6 +274,8 @@ if EgtExistsFile( sDataBeam) then
|
||||
if Machine.Offsets.MINPRESS then MinForzaPinze = Machine.Offsets.MINPRESS end
|
||||
if Machine.Offsets.MAXPRESS then MaxForzaPinze = Machine.Offsets.MAXPRESS 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
|
||||
|
||||
-- aggiustamenti
|
||||
MinY1 = MinV1 + MinDeltaYV
|
||||
MaxY1 = MaxMchY1
|
||||
@@ -300,7 +305,9 @@ EmtGeneral {
|
||||
AngDeltaMinForHome = 80,
|
||||
Special = 'Common-PF1250.mlse',
|
||||
Processor = 'Common-PF1250.mlpe'}
|
||||
local sBaseAux = {'BASE/SOLID', 'BASE/CONVOYER', 'BASE/COLLISION', 'BASE/TC1', 'BASE/TCR', 'BASE/TC3'}
|
||||
-- in base alla corsa macchina, si carica la rulliera di carico/scarico appropriata
|
||||
local sGeomConvoyer = EgtIf( MaxY1 > 6500, '_8M', '_5M')
|
||||
local sBaseAux = {'BASE/SOLID', 'BASE/CONVOYER'..sGeomConvoyer, 'BASE/COLLISION', 'BASE/TC1', 'BASE/TCR', 'BASE/TC3'}
|
||||
if Tc2Active then table.insert( sBaseAux, 5, 'BASE/TC2') end
|
||||
local BaseId = EmtBase {
|
||||
Name = 'Base',
|
||||
@@ -820,7 +827,7 @@ EgtMove( EgtGetFirstNameInGroup( BaseId, 'TCR') or GDB_ID.NULL, vtMovB, GDB_RT.G
|
||||
EgtMove( EgtGetFirstNameInGroup( X1Id, 'SOLID'), vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( X1Id, 'COLLISION'), vtMovB, GDB_RT.GLOB)
|
||||
local vtMove = Vector3d( 0, ( DeltaTabY - 2450.0), ( DeltaTabZ + 958.0))
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'CONVOYER'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'CONVOYER'..sGeomConvoyer), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( Y1Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( PY1Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( Y2Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
@@ -895,6 +902,7 @@ function OnSetHead()
|
||||
local CSawPosA = GetCurrChainSawingVirtualAxis()
|
||||
EmtModifyAxisHome( 'X1', ParkCSawX1)
|
||||
EmtModifyAxisHome( 'Z1', GetChainSawZHomeFromVirtualAxis( CSawPosA, EMC.TOTLEN))
|
||||
EmtModifyAxisStroke( 'Z1', {MinZ1, MaxZ1})
|
||||
EmtModifyAxisStroke( 'C1', {MinC1, MaxC1})
|
||||
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA, EMC.TOTLEN))
|
||||
EmtModifyAxisHome( 'B1', EgtIf( EMC.TOTLEN < MinLengthLongCSaw, ParkCSawB1, ParkLongCSawB1))
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,9 @@
|
||||
==== Common_PF1250 Update Log ====
|
||||
|
||||
Versione 2.6e1 (30/04/2024)
|
||||
- (SIM-GEN) Per macchina a 3 teste, ripristinato posizionamento testa 2 tramite parametro ParkInLavZ2. La gestione era stata persa dal common.
|
||||
- (MLDE-GEN) Gestione facoltativa parametro WOOD_DENSITY settabile in Ts3. In MLDE, mettere il valore di WOOD_DENSITY nella nostra variabile 'WoodDensity'.
|
||||
|
||||
Versione 2.6d2 (23/04/2024)
|
||||
- (MLDE-GEN) Aggiunto parametro 'IS_TEST_MACHINE' FACOLTATIVO. Se non esiste o 'false' è macchina standard, se 'true' è una macchina utilizzata per i test Egalware interni
|
||||
- (GEN) Chiamando la macchina con un nome che termini con '.TEST' si abilita come macchina per test interni, equivalente a settare 'IS_TEST_MACHINE' (che comunque rimane)
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_PF1250', -- nome script PP standard
|
||||
VERSION = '2.6d2', -- versione script
|
||||
VERSION = '2.6e1', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user