Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ccdf8a231 | ||
|
|
484141cbcd | ||
|
|
9a9bee2869 | ||
|
|
859c08b456 | ||
|
|
d4bb6af5db | ||
|
|
843b98a0fa | ||
|
|
1add97b879 | ||
|
|
ba6726a594 | ||
|
|
535291ea33 | ||
|
|
06ad954b81 | ||
|
|
85bee7987d |
@@ -15,4 +15,3 @@
|
||||
/Wall/PocketingData.lua
|
||||
/Wall/SawingData.lua
|
||||
/Wall/Ts3Data.lua
|
||||
.vscode/settings.json
|
||||
|
||||
+101
-22
@@ -2,19 +2,27 @@ variables:
|
||||
VERS_MAIN: '1.0'
|
||||
MACH_NAME: ''
|
||||
MACH_NAME_TEST: ''
|
||||
MANUFACTURER: ''
|
||||
NEW_REL: ''
|
||||
NET_SHARE_X: '\\10.74.82.201\EgwTech'
|
||||
NET_SHARE_Z: '\\10.74.82.201\Artifacts'
|
||||
NET_SHARE_S: '\\10.74.82.201\Scambio'
|
||||
NET_SHARE_R: '\\10.74.82.201\EgwTech'
|
||||
NET_SHARE_H: '\\10.74.82.252\team drives'
|
||||
NET_USERQ: 'steamw\egalware'
|
||||
NET_USER_SERVICES: 'steamw\services'
|
||||
MACH_VERS: '0.0.0.0'
|
||||
TEMP_PATH: 'C:\MachinesDeploy'
|
||||
MACHINES_PATH_R: 'R:\EgtData\Machines'
|
||||
DEST_MACHINES_PATH_R: 'R:\EgtData\Machines\zTestYAML'
|
||||
MACHINES_PATH_R: 'R:\EgtData\Machines_GIT'
|
||||
DEST_MACHINES_PATH_H: 'H:'
|
||||
SRC_PATH: ''
|
||||
BASE_PATH: ''
|
||||
TEST_PATH: ''
|
||||
URL_VERSIONS_LOG: "https://liman.egalware.com/ELM.API/api/release/save"
|
||||
MACH_VERS_NUM: '0.0.0.0'
|
||||
CRITICAL_STRING: "#critical#"
|
||||
TOOLS_MACHINE_PATH: ""
|
||||
|
||||
|
||||
#Note compilazione LUA:
|
||||
# lua54 -o bin\$FileName -s $FileName: -o = output, -s = NON include i debug symbols
|
||||
@@ -38,12 +46,29 @@ variables:
|
||||
echo "-----------------------"
|
||||
echo " Copia macchina su R"
|
||||
echo "-----------------------"
|
||||
ROBOCOPY /MIR "$env:SRC_PATH" "$env:DEST_MACHINES_PATH_R\$env:MACH_NAME\" /XD "bin"
|
||||
ROBOCOPY "$env:TEST_PATH" "$env:DEST_MACHINES_PATH_R\$env:MACH_NAME_TEST\" /E /XD "bin"
|
||||
ROBOCOPY /MIR "$env:BASE_PATH" "$env:DEST_MACHINES_PATH_R\Deploy\$env:MACH_NAME\$env:MACH_VERS\" /XD "bin" /XD "$env:MACH_NAME_TEST"
|
||||
$customerPathR = $env:MACHINES_PATH_R + "\" + $env:MANUFACTURER
|
||||
ROBOCOPY /MIR "$env:SRC_PATH" "$customerPathR\$env:MACH_NAME\" /XD "bin"
|
||||
ROBOCOPY "$env:TEST_PATH" "$customerPathR\_TestMachines\$env:MACH_NAME_TEST\" /E /XD "bin"
|
||||
ROBOCOPY /MIR "$env:BASE_PATH" "$customerPathR\_Deploy\$env:MACH_NAME\$env:MACH_VERS\" /XD "bin" /XD "$env:MACH_NAME_TEST"
|
||||
SLEEP 2
|
||||
net use R: /delete
|
||||
|
||||
# helper copia script verso drive condiviso
|
||||
.ReplicaStor01: &ReplicaStor01
|
||||
- |
|
||||
net use H: /delete
|
||||
SLEEP 2
|
||||
net use H: $env:NET_SHARE_H /u:$env:NET_USER_SERVICES $SRVCS_PASSWD
|
||||
echo "-----------------------"
|
||||
echo " Copia macchina su stor01"
|
||||
echo "-----------------------"
|
||||
SLEEP 2
|
||||
$customerPathH = $env:DEST_MACHINES_PATH_H + "\" + $env:MANUFACTURER + "\test"
|
||||
$destinationPath = "$customerPathH\$env:MACH_NAME" + "\"
|
||||
ROBOCOPY "$env:BASE_PATH" "$destinationPath\" *.zip
|
||||
SLEEP 2
|
||||
net use H: /delete
|
||||
|
||||
# helper copia script verso cartella di rete R:\ per develop
|
||||
.ReplicaR_DEV: &ReplicaR_DEV
|
||||
- |
|
||||
@@ -53,7 +78,8 @@ variables:
|
||||
echo "-----------------------"
|
||||
echo " Copia macchina su R - DEV"
|
||||
echo "-----------------------"
|
||||
ROBOCOPY /MIR "$env:BASE_PATH" "$env:DEST_MACHINES_PATH_R\Deploy\$env:MACH_NAME\_DEV\$env:MACH_VERS\" /XD "bin" /XD "$env:MACH_NAME_TEST"
|
||||
$customerPathR = $env:MACHINES_PATH_R + "\" + $env:MANUFACTURER
|
||||
ROBOCOPY /MIR "$env:BASE_PATH" "$customerPathR\_Deploy\$env:MACH_NAME\_DEV\$env:MACH_VERS\" /XD "bin" /XD "$env:MACH_NAME_TEST"
|
||||
SLEEP 2
|
||||
net use R: /delete
|
||||
|
||||
@@ -66,8 +92,15 @@ variables:
|
||||
echo "-----------------------"
|
||||
echo " Recupero file non git da R e copia su macchina virtuale"
|
||||
echo "-----------------------"
|
||||
ROBOCOPY "$env:LAST_MACHINE_PATH" "$env:SRC_PATH" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
ROBOCOPY "$env:LAST_MACHINE_PATH" "$env:SRC_PATH\bin\$env:MACH_NAME\" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
# test se la cartella con gli utensili esiste per questa macchina
|
||||
if (!(Test-Path -Path $env:TOOLS_MACHINE_PATH)) {
|
||||
echo "-----------------------"
|
||||
echo "CANNOT FIND TOOLS FOR THIS MACHINE!!"
|
||||
echo "-----------------------"
|
||||
Exit 1}
|
||||
ROBOCOPY "$env:TOOLS_MACHINE_PATH" "$env:SRC_PATH" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
ROBOCOPY "$env:TOOLS_MACHINE_PATH" "$env:TEST_PATH" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
ROBOCOPY "$env:TOOLS_MACHINE_PATH" "$env:SRC_PATH\bin\$env:MACH_NAME\" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
SLEEP 2
|
||||
net use R: /delete
|
||||
|
||||
@@ -84,27 +117,27 @@ variables:
|
||||
Rename-Item -Path "$env:TEST_PATH\$env:MACH_NAME.ini" -NewName "$env:MACH_NAME_TEST.ini"
|
||||
ROBOCOPY . "$env:SRC_PATH\bin\$env:MACH_NAME\" /E /XF "*.bat" /XF "*.yml" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt" /XD ".vscode"
|
||||
echo "-----------------------"
|
||||
echo " Compilazione file *.lua 32/64bit di Common_*"
|
||||
echo " Compilazione file *.lua 32/64bit"
|
||||
echo "-----------------------"
|
||||
$FileList = Get-ChildItem("Common_*")
|
||||
$FileList = Get-ChildItem * -Include( "*.mlpe", "*.mlse")
|
||||
ForEach ($File in $FileList) {
|
||||
$FileName = Split-Path $File -leaf
|
||||
lua54 -o $env:SRC_PATH\bin\$env:MACH_NAME\$FileName -s $FileName
|
||||
echo "lua54 -o bin\$FileName -s $FileName"
|
||||
}
|
||||
echo "-----------------------"
|
||||
echo " FINE Compilazione"
|
||||
echo "-----------------------"
|
||||
|
||||
# helper recupero nome macchina
|
||||
# helper recupero nome macchina e costruttore
|
||||
.machName-fix: &machName-fix
|
||||
- |
|
||||
echo "-----------------------"
|
||||
echo " Recupero nome macchina"
|
||||
echo " Recupero nome macchina e costruttore"
|
||||
echo "-----------------------"
|
||||
$fileName = dir *.mlde
|
||||
$env:MACH_NAME = $fileName.BaseName
|
||||
$env:MACH_NAME_TEST = $env:MACH_NAME + ".TEST"
|
||||
$comp = $fileName.BaseName -split "-"
|
||||
$env:MANUFACTURER = $comp[0]
|
||||
Write-Output $env:MANUFACTURER
|
||||
|
||||
# helper calcolo versione
|
||||
.version-fix: &version-fix
|
||||
@@ -112,12 +145,22 @@ variables:
|
||||
echo "-----------------------"
|
||||
echo " Calcolo versione"
|
||||
echo "-----------------------"
|
||||
|
||||
# calcolo versione formato stringa
|
||||
$fPath = "$env:MACH_NAME.mlde";
|
||||
$vLine = Select-String -path $fPath -Pattern 'PP_VER';
|
||||
$vLine = Select-String -path $fPath -Pattern '^PP_VER';
|
||||
$comp = $vLine -split "=";
|
||||
$env:MACH_VERS = $comp[1].Replace("'","").Trim()
|
||||
# display versione
|
||||
Write-Output $env:MACH_VERS;
|
||||
# display versione formato stringa
|
||||
Write-Output $env:MACH_VERS
|
||||
|
||||
# calcolo versione formato numerico
|
||||
$fPath = "$env:MACH_NAME.mlde";
|
||||
$vLine = Select-String -path $fPath -Pattern '^PP_NVER';
|
||||
$comp = $vLine -split "=";
|
||||
$env:MACH_VERS_NUM = $comp[1].Replace("'","").Trim()
|
||||
# display versione formato numerico
|
||||
Write-Output $env:MACH_VERS_NUM
|
||||
|
||||
# helper calcolo versione se develop
|
||||
.version-fix_DEV: &version-fix_DEV
|
||||
@@ -129,7 +172,7 @@ variables:
|
||||
$commitAuthor = $commitAuthor[0].Trim()
|
||||
$env:MACH_VERS = $commitAuthor
|
||||
# display versione
|
||||
Write-Output $env:MACH_VERS;
|
||||
Write-Output $env:MACH_VERS
|
||||
|
||||
# helper creazione folders
|
||||
.folder-fix: &folder-fix
|
||||
@@ -137,8 +180,8 @@ variables:
|
||||
echo "-----------------------"
|
||||
echo " Creazione cartelle su macchina virtuale"
|
||||
echo "-----------------------"
|
||||
$env:LAST_MACHINE_PATH = "$env:MACHINES_PATH_R\$env:MACH_NAME";
|
||||
Write-Output $env:LAST_MACHINE_PATH;
|
||||
$env:TOOLS_MACHINE_PATH = "$env:MACHINES_PATH_R\$env:MANUFACTURER\_DefaultMachineSetup\$env:MACH_NAME"
|
||||
Write-Output $env:TOOLS_MACHINE_PATH
|
||||
$env:SRC_PATH = "$env:TEMP_PATH\$env:MACH_NAME\$env:MACH_VERS\$env:MACH_NAME";
|
||||
$env:BASE_PATH = "$env:TEMP_PATH\$env:MACH_NAME\$env:MACH_VERS";
|
||||
$env:TEST_PATH = "$env:TEMP_PATH\$env:MACH_NAME\$env:MACH_VERS\$env:MACH_NAME_TEST";
|
||||
@@ -161,6 +204,39 @@ variables:
|
||||
7zip a -tzip $Target $Source
|
||||
Write-Output "called ZIP $Source --> $Target"
|
||||
|
||||
# helper invio notifica a log versioni online (LiMan)
|
||||
.SendToVersionsLog: &SendToVersionsLog
|
||||
- |
|
||||
echo "-----------------------"
|
||||
echo " Invio versione a log online"
|
||||
echo "-----------------------"
|
||||
$tags = ""
|
||||
$date = ""
|
||||
# se critico scrive tag
|
||||
if ( $CI_COMMIT_MESSAGE | Select-String -Pattern $env:CRITICAL_STRING) {
|
||||
$tags = "CRITICAL"
|
||||
$date = (Get-Date).AddDays(1).toString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
||||
}
|
||||
else
|
||||
{
|
||||
$date = (Get-Date).AddDays(3).toString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
||||
}
|
||||
$body =
|
||||
@{
|
||||
codInst = "EgalWare"
|
||||
codApp = $env:MACH_NAME
|
||||
uplAppId = "UpdateManager"
|
||||
masterKey = $LiMan_Key
|
||||
tipo = "Machine"
|
||||
versNum = $env:MACH_VERS_NUM
|
||||
versText = $env:MACH_VERS
|
||||
releaseDate = $date
|
||||
relTags = $tags
|
||||
}
|
||||
$jsonBody = ConvertTo-Json -InputObject $body
|
||||
echo $jsonBody
|
||||
Invoke-WebRequest -Method Post -URI $env:URL_VERSIONS_LOG -ContentType "application/json" -Body $jsonBody -UseBasicParsing
|
||||
|
||||
|
||||
# helper esecuzione test
|
||||
.RunTest: &RunTest
|
||||
@@ -189,6 +265,8 @@ LuaCompile:build:
|
||||
- *LuaCompile
|
||||
- *ZipClean
|
||||
- *ReplicaR
|
||||
- *ReplicaStor01
|
||||
- *SendToVersionsLog
|
||||
|
||||
LuaCompileDev:build:
|
||||
stage: build
|
||||
@@ -236,4 +314,5 @@ LuaCompileDev:build:
|
||||
# script:
|
||||
# - *LuaCompile
|
||||
# - *ZipClean
|
||||
# - *ReplicaR
|
||||
# - *ReplicaR
|
||||
|
||||
|
||||
+7
-1
@@ -72,7 +72,10 @@ local BeamData = {
|
||||
ADVANCE_TAIL_OFFS = 5, -- accorciamento taglio di coda avanzato (minimo 1)
|
||||
DOUBLE_HEAD_DOVETAIL = true, -- flag abilitazione lavorazione mortase a coda di rondine in doppio
|
||||
DOUBLE_HEAD_MORTISE = true, -- flag abilitazione lavorazione mortase in doppio
|
||||
DOUBLE_HEAD_DRILLING = true -- flag abilitazione forature in doppio
|
||||
DOUBLE_HEAD_DRILLING = true, -- flag abilitazione forature in doppio
|
||||
PRECUT_HEAD = true, -- flag abilitazione pretaglio grezzo a zero in testa
|
||||
PRECUT_TAIL = true, -- flag abilitazione pretaglio grezzo a zero in coda
|
||||
MIN_HEIGHT_ADDED_CUTS = 400, -- altezza minima pezzo per effettuare tagli orizzontali aggiuntivi in testa e coda
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
@@ -92,6 +95,9 @@ if EgtExistsFile( sDataBeam) then
|
||||
if Machine.Offsets.DOUBLE_HEAD_DOVETAIL then BeamData.DOUBLE_HEAD_DOVETAIL = ( Machine.Offsets.DOUBLE_HEAD_DOVETAIL == 1) end
|
||||
if Machine.Offsets.DOUBLE_HEAD_POCKET then BeamData.DOUBLE_HEAD_MORTISE = ( Machine.Offsets.DOUBLE_HEAD_POCKET == 1) end
|
||||
if Machine.Offsets.DOUBLE_HEAD_DRILLING then BeamData.DOUBLE_HEAD_DRILLING = ( Machine.Offsets.DOUBLE_HEAD_DRILLING == 1) end
|
||||
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
|
||||
if Machine.Offsets.MIN_HEIGHT_ADDED_CUTS then BeamData.MIN_HEIGHT_ADDED_CUTS = min( Machine.Offsets.MIN_HEIGHT_ADDED_CUTS, BeamData.MIN_HEIGHT_ADDED_CUTS) end
|
||||
BeamData.MINRAW_S = max( BeamData.MINRAW_S, Machine.Offsets.MINRAW_S or BeamData.MINRAW_S)
|
||||
BeamData.MINRAW_L = max( BeamData.MINRAW_L, Machine.Offsets.MINRAW_L or BeamData.MINRAW_L)
|
||||
BeamData.CUT_EXTRA = Machine.Offsets.CUT_EXTRA or BeamData.CUT_EXTRA
|
||||
|
||||
+49
-18
@@ -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 IsHeadExisting( 3) then
|
||||
sOut = sOut .. ' P19='..EmtLenToString( -Delta3TabY, 2)..' P20='..EmtLenToString( Delta3TabZ - Mill3Offs, 2)..
|
||||
' P21='..EmtLenToString( Mill3Offs, 2).. ' P22='.. EmtLenToString( -ParkInLavZ2, 2)
|
||||
else
|
||||
@@ -397,6 +397,8 @@ function OnMachiningStart()
|
||||
EMT.MCHNAME = EgtGetOperationName( EMT.MCHID)
|
||||
EMT.MCHTYPE = EgtGetMachiningParam( MCH_MP.TYPE)
|
||||
EMT.MCHUSERNOTES = EgtGetMachiningParam( MCH_MP.USERNOTES)
|
||||
EMT.MCHCUT = ( EMT.MCHUSERNOTES:find( 'Cut;', 1, true) ~= nil)
|
||||
|
||||
-- se sega a catena, aggiusto subito angolo scelto per asse virtuale A
|
||||
if EMT.HEAD == 'H13' then
|
||||
-- valore dell'asse virtuale
|
||||
@@ -473,18 +475,18 @@ function OnMachiningEnd()
|
||||
EmitRemark( 'PART UNLOAD')
|
||||
elseif EMT.AUXTYPE == 'P' then
|
||||
if EMT.PREROT then
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2)
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false)
|
||||
EMT.ZMAX = true
|
||||
EmitRemark( 'PART ROTATION')
|
||||
elseif EMT.FALL then
|
||||
if EMT.TO_ZMAX and not EMT.ZMAX then
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2)
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false)
|
||||
EMT.ZMAX = true
|
||||
EMT.TO_ZMAX = nil
|
||||
end
|
||||
EmitRemark( 'PART FALL')
|
||||
else
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2)
|
||||
EmitZmax( false, true, EMT.R1, EMT.R2, false, false, false)
|
||||
EMT.ZMAX = true
|
||||
EmitRemark( 'PART SPLIT 2')
|
||||
end
|
||||
@@ -533,7 +535,10 @@ function OnMachiningEnd()
|
||||
EMT.PREVTOOL = EMT.TOOL
|
||||
if EMT.DOU_TYPE and not EMT.ZMAX then EMT.DOU_TO_ZMAX = EMT.DOU_TYPE end
|
||||
EMT.DOU_TYPE = nil
|
||||
|
||||
-- se taglio finale, aggiorno lunghezza barra
|
||||
if EMT.MCHCUT then
|
||||
EMT.LB = EMT.LT + ( EMT.X_OFF or 0)
|
||||
end
|
||||
-- salvo dati utensile
|
||||
local nSetHead = GetHeadSet( EMT.HEAD)
|
||||
-- per gruppo testa 1
|
||||
@@ -585,6 +590,10 @@ function OnPathEnd()
|
||||
if not EMT.ZMAX then
|
||||
EmitResetMachining()
|
||||
end
|
||||
|
||||
-- salvo dati precedenti
|
||||
EMT.L2pp = EMT.L2o
|
||||
|
||||
EMT.AUXTYPE = nil
|
||||
EMT.UNL = nil
|
||||
EMT.PREROT = nil
|
||||
@@ -928,7 +937,7 @@ function OnRapid()
|
||||
EmitParkedLines()
|
||||
-- se sfrido grande, emetto comando speciale
|
||||
if EMT.HOVM > 99 then
|
||||
if EgtGetHeadId( 'H31') then
|
||||
if IsHeadExisting( 3) then
|
||||
MyOutput( 'M107')
|
||||
else
|
||||
MyOutput( ';M107')
|
||||
@@ -944,11 +953,11 @@ function OnRapid()
|
||||
-- Allora salvo l'attuale e imposto il vecchio solo momentanemente, per poi ripristinarlo
|
||||
local sBckTcPos = EMT.TCPOS
|
||||
EMT.TCPOS = EMT.PREVTCPOSREAL_H2
|
||||
EmitZmax( false, false, PrevR1, PrevR2)
|
||||
EmitZmax( false, false, PrevR1, PrevR2, false, false, true)
|
||||
EMT.TCPOS = sBckTcPos
|
||||
EMT.R3_CHANGED = nil
|
||||
else
|
||||
EmitZmax( false, false, PrevR1, PrevR2)
|
||||
EmitZmax( false, false, PrevR1, PrevR2, false, false, true)
|
||||
end
|
||||
EMT.ZMAX = true
|
||||
EMT.TO_ZMAX = nil
|
||||
@@ -986,7 +995,7 @@ function OnRapid()
|
||||
if EMT.MCHUSERNOTES and EMT.MCHUSERNOTES:find( 'Cut', 1, true) then
|
||||
-- se sfrido grande, emetto comando speciale
|
||||
if EMT.LB - EMT.LT > 99 then
|
||||
if EgtGetHeadId( 'H31') then
|
||||
if IsHeadExisting( 3) then
|
||||
MyOutput( 'M107')
|
||||
else
|
||||
MyOutput( ';M107')
|
||||
@@ -1027,9 +1036,20 @@ function OnRapid()
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed})
|
||||
-- caso standard
|
||||
else
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
-- se ero in posizione speciale, prima ruoto poi scendo
|
||||
if bXSpec then
|
||||
local dZPos = max( HomeZ1, EMT.L3)
|
||||
EmitMoveDataHead( 1, { Z=dZPos, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, C=EMT.R1, S=Speed})
|
||||
EmitMoveDataHead( 1, { X=EMT.L2, S=Speed})
|
||||
if abs( dZPos - EMT.L3) > 1 then
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
end
|
||||
else
|
||||
EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed})
|
||||
EmitMoveDataHead( 1, { B=EMT.R2, S=Speed})
|
||||
EmitMoveDataHead( 1, { C=EMT.R1, S=Speed})
|
||||
end
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
else
|
||||
@@ -1300,6 +1320,14 @@ function OnRapid()
|
||||
EMT.R1p = nil
|
||||
EMT.R2p = nil
|
||||
else
|
||||
-- se lavorazione in doppio controllo le corse
|
||||
if EMT.DOU_TYPE == 2 then
|
||||
local dZ2 = -Head2Z + MillOffs + Mill2Offs + EMT.L3
|
||||
-- dato che la testa 2 è slave, bisogna controllare eventuale extra-corsa da post
|
||||
if dZ2 > MaxZ2 then
|
||||
EmtSetLastError( 1220, EMT.MCHNAME..' ==> Out of Stroke: Z2 : '.. EgtNumToString( dZ2-MaxZ2, 2))
|
||||
end
|
||||
end
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
end
|
||||
@@ -1325,7 +1353,7 @@ function OnRapid()
|
||||
-- porto in home la testa corrente se lavorazione successiva sopra con testa diversa oppure se punta lunga
|
||||
local nNextTopHSet = GetNextTopHSet( EMT.MCHID)
|
||||
local bTopGoHome = ( nHSet ~= 2 and nNextTopHSet ~= 0 and nHSet ~= nNextTopHSet) or ( nHSet == 1 and EMT.TTOTLEN > LongTool)
|
||||
EmitZmax( true, true, EMT.R1p, EMT.R2p, bSplitCut, bTopGoHome)
|
||||
EmitZmax( true, true, EMT.R1p, EMT.R2p, bSplitCut, bTopGoHome, false)
|
||||
-- aggiorno quota finale trave dopo Zmax
|
||||
EMT.L1o = EMT.TPOS
|
||||
EMT.ZMAX = true
|
||||
@@ -2337,11 +2365,12 @@ function GetHeadToolCode()
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function EmitZmax( bReset, bEnd, PrevR1, PrevR2, bSplitCut, bTopGoHome)
|
||||
function EmitZmax( bReset, bEnd, PrevR1, PrevR2, bSplitCut, bTopGoHome, bUsePrevDelta)
|
||||
if bReset then
|
||||
EmitResetMachining()
|
||||
end
|
||||
local nSetHead = GetHeadSet( EMT.HEAD)
|
||||
local dXPos = EgtIf( bUsePrevDelta, EMT.L2pp or EMT.L2o, EMT.L2o)
|
||||
-- se testa 1
|
||||
if nSetHead == 1 then
|
||||
-- posizioni sicure
|
||||
@@ -2362,12 +2391,12 @@ function EmitZmax( bReset, bEnd, PrevR1, PrevR2, bSplitCut, bTopGoHome)
|
||||
local dZref = dHomeZ1 + GetZExtra( EMT.HEAD, PrevR2)
|
||||
dZref = min( dZref, dMaxZ1)
|
||||
local MovH = { Z = EgtIf( dZref > EMT.L3o, dZref, EMT.L3o)}
|
||||
MovH.X = -EMT.L2o ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ;
|
||||
MovH.X = -dXPos ; MovH.B = EgtClamp( PrevR2, -90, 90) ; MovH.C = PrevR1 ;
|
||||
EmitMoveDataHead( 1, MovH)
|
||||
if ( EMT.HEAD == 'H12' or EMT.HEAD == 'H16') and ( abs( dHomeC1 - PrevR1) > 30.1 or abs( dHomeB1 - PrevR2) > 30.1) then
|
||||
EmitMoveDataHead( 1, { Z=dMaxZ1, B=0, Fmt=1})
|
||||
end
|
||||
if EgtIf( BD.RIGHT_LOAD, ( EMT.L2 > -DeltaTabY), ( EMT.L2 < -DeltaTabY)) then
|
||||
if EgtIf( BD.RIGHT_LOAD, ( -dXPos > -DeltaTabY), ( -dXPos < -DeltaTabY)) then
|
||||
EmitMoveDataHead( 1, { X=-DeltaTabY, Fmt=1})
|
||||
end
|
||||
EmitMoveDataHead( 1, { C=dHomeC1, Fmt=1})
|
||||
@@ -2413,8 +2442,8 @@ 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
|
||||
-- solo se è macchina a 3 teste con gruppo truciolatore 4 assi, devo stare più alto
|
||||
if EgtGetHeadId( 'H39') then
|
||||
EmitMoveDataHead( 2, { Z=-ParkInLavZ2, Fmt=1})
|
||||
end
|
||||
EmitMoveStartHead( 2)
|
||||
@@ -2612,6 +2641,8 @@ function PreselectNextDiffHead( nMchId, sHead)
|
||||
if sNextHead == 'H22' or EMT.PREVHEAD_H2 == 'H22' then return end
|
||||
-- se la Z di lavoro è più bassa del cambio della minima Z
|
||||
if EMT.MAXMIN[3] < MinZ1ToChangeH2 then
|
||||
-- se diametro utensile più del truciolatore standard grande, si rischia di collidere anche con il carro X testa sotto (quindi indipendentemente dalla Y della lavorazione)
|
||||
if EMT.TTOTDIAM > 201 then return end
|
||||
-- verifico quota del TC
|
||||
if BD.RIGHT_LOAD and EMT.MAXMAX[2] > ( DeltaTabY + MaxHoOpen + 200) then return end
|
||||
if not BD.RIGHT_LOAD and EMT.MAXMAX[2] > ( DeltaTabY + 200) then return end
|
||||
|
||||
+54
-26
@@ -106,7 +106,7 @@ function OnSimulStart()
|
||||
AddToCollisionCheck( 'X2', 'COLLISION', EMT.COLLOBJ)
|
||||
AddToCollisionCheck( 'C2', 'COLLISION', EMT.COLLOBJ)
|
||||
AddToCollisionCheck( 'B2', 'COLLISION', EMT.COLLOBJ)
|
||||
if EgtGetHeadId('H31') then
|
||||
if IsHeadExisting( 3) then
|
||||
AddToCollisionCheck( 'Z3', 'COLLISION', EMT.COLLOBJ)
|
||||
AddToCollisionCheck( 'C3', 'COLLISION', EMT.COLLOBJ)
|
||||
AddToCollisionCheck( 'B3', 'COLLISION', EMT.COLLOBJ)
|
||||
@@ -121,12 +121,15 @@ function OnSimulStart()
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'COL2'},
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'CHSAW'},
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'CEIL'},
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'TC1'},
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'TC2'},
|
||||
{ Grp = 'Base', Sub = 'COLLISION', Name = 'TCR'},
|
||||
{ Grp = 'Z2', Sub = 'COLLISION', Name = 'COL1'},
|
||||
{ Grp = 'Z2', Sub = 'COLLISION', Name = 'CHAIN'},
|
||||
{ Grp = 'Z2', Sub = 'COLLISION', Name = 'COL2'},
|
||||
{ Grp = 'X1', Sub = 'COLLISION', Name = 'STM'}}
|
||||
|
||||
if EgtGetHeadId('H31') then
|
||||
if IsHeadExisting( 3) then
|
||||
table.insert( McdData, { Grp = 'X3', Sub = 'COLLISION', Name = 'STM'})
|
||||
end
|
||||
|
||||
@@ -453,7 +456,7 @@ function OnSimulToolSelect( dPosA)
|
||||
-- se fresa o lama su testa 1, reset assi rotanti
|
||||
if nSetHead == 1 then
|
||||
-- se ho la testa 3, la mando a parcheggio
|
||||
if EgtGetHeadId( 'H31') then
|
||||
if IsHeadExisting( 3) then
|
||||
EgtSetAxisPos( 'X3', ParkX3)
|
||||
end
|
||||
if EMT.HEAD == 'H12' or EMT.HEAD == 'H16' then
|
||||
@@ -559,12 +562,12 @@ function OnSimulToolDeselect( dPrevA)
|
||||
local nPrevTc = GetTcForTopHeadTool( EMT.PREVTCPOS_H1)
|
||||
if EMT.PREVTTOTLEN_H1 < LongTool then
|
||||
SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT)
|
||||
local dPosX = EgtIf( nPrevTc ~= 2, ParkX1, ParkTc2X1)
|
||||
local dPosX = EgtIf( nPrevTc ~= 2, ParkTc1X1, ParkTc2X1)
|
||||
SimulMoveAxis( 'X1', dPosX, MCH_SIM_STEP.RAPID)
|
||||
else
|
||||
if nPrevTc ~= 2 then
|
||||
SimulMoveAxes( 'B1', ParkLongB1, MCH_SIM_STEP.RAPROT, 'C1', ParkLongTc1C1, MCH_SIM_STEP.RAPROT)
|
||||
local dPosX = ParkX1
|
||||
local dPosX = ParkTc1X1
|
||||
SimulMoveAxis( 'X1', dPosX, MCH_SIM_STEP.RAPID)
|
||||
else
|
||||
SimulMoveAxes( 'B1', ParkLongB1, MCH_SIM_STEP.RAPROT, 'C1', ParkLongTc2C1, MCH_SIM_STEP.RAPROT)
|
||||
@@ -576,7 +579,7 @@ function OnSimulToolDeselect( dPrevA)
|
||||
elseif EMT.PREVHEAD_H1 == 'H12' then
|
||||
-- simulo movimento
|
||||
SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT)
|
||||
SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'X1', ParkTc1X1, MCH_SIM_STEP.RAPID)
|
||||
-- deposito utensile sega a catena
|
||||
elseif EMT.PREVHEAD_H1 == 'H13' then
|
||||
-- simulo movimento
|
||||
@@ -615,14 +618,14 @@ function OnSimulToolDeselect( dPrevA)
|
||||
if EMT.NEXTHEAD == 'H11' then
|
||||
-- simulo movimento
|
||||
SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT)
|
||||
local dPosX = EgtIf( GetTcForTopHeadTool( EMT.NEXTTCPOS) ~= 2, ParkX1, ParkTc2X1)
|
||||
local dPosX = EgtIf( GetTcForTopHeadTool( EMT.NEXTTCPOS) ~= 2, ParkTc1X1, ParkTc2X1)
|
||||
SimulMoveAxis( 'X1', dPosX, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'Z1', MaxZ1, MCH_SIM_STEP.RAPID)
|
||||
-- prendo utensile lama
|
||||
elseif EMT.NEXTHEAD == 'H12' then
|
||||
-- simulo movimento
|
||||
SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT)
|
||||
SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'X1', ParkTc1X1, MCH_SIM_STEP.RAPID)
|
||||
-- prendo utensile sega a catena
|
||||
elseif EMT.NEXTHEAD == 'H13' then
|
||||
-- simulo movimento
|
||||
@@ -741,11 +744,19 @@ function OnSimulMachiningStart()
|
||||
AddToolToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2, true)
|
||||
AddToolHolderToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2 + 1)
|
||||
end
|
||||
if nSetHead ~= 3 and EgtGetHeadId( 'H31') then
|
||||
if nSetHead ~= 3 and IsHeadExisting( 3) then
|
||||
local nPrevExit_H3 = 1
|
||||
local nInd_H3 = 1001
|
||||
AddToolToCollisionObj( nil, 'H31', nPrevExit_H3, 1001)
|
||||
AddToolHolderToCollisionObj( nil, 'H31', nPrevExit_H3, 1002)
|
||||
local sHeadName
|
||||
if EgtGetHeadId( 'H39') then
|
||||
sHeadName = 'H39'
|
||||
elseif EgtGetHeadId( 'H38') then
|
||||
sHeadName = 'H38'
|
||||
else
|
||||
sHeadName = 'H31'
|
||||
end
|
||||
AddToolToCollisionObj( nil, sHeadName, nPrevExit_H3, 1001)
|
||||
AddToolHolderToCollisionObj( nil, sHeadName, nPrevExit_H3, 1002)
|
||||
end
|
||||
end
|
||||
-- se precedente in doppio ma ora solo testa 1 e non in sicurezza
|
||||
@@ -797,12 +808,12 @@ function OnSimulMachiningEnd()
|
||||
EMT.PREVTCPOS_H2 = EMT.TCPOS
|
||||
EMT.PREVTTOTLEN_H2 = EMT.TTOTLEN
|
||||
EMT.PREVTCPOSREAL_H2 = EMT.TCPOSREAL
|
||||
-- per gruppo testa 3 (resetto dati testa 1)
|
||||
-- per gruppo testa 3
|
||||
else
|
||||
EMT.PREVTOOL_H3 = nil
|
||||
EMT.PREVHEAD_H3 = nil
|
||||
EMT.PREVTCPOS_H3 = nil
|
||||
EMT.PREVTTOTLEN_H3 = nil
|
||||
EMT.PREVTOOL_H3 = EMT.TOOL
|
||||
EMT.PREVHEAD_H3 = EMT.HEAD
|
||||
EMT.PREVTCPOS_H3 = EMT.TCPOS
|
||||
EMT.PREVTTOTLEN_H3 = EMT.TTOTLEN
|
||||
end
|
||||
|
||||
end
|
||||
@@ -958,10 +969,21 @@ function OnSimulMoveStart()
|
||||
if WriteAllCoordsOnFirstM101 then
|
||||
SimulMoveAxis( 'X1', EgtIf( bXSpec, DeltaTabY, EMT.L2), MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxis( 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||
-- se ero in posizione speciale, prima ruoto poi scendo
|
||||
if bXSpec then
|
||||
local dZPos = max( Z1Home, EMT.L3)
|
||||
SimulMoveAxis( 'Z1', dZPos, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'B1', EMT.R2, MCH_SIM_STEP.COLLROT, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||
if abs( dZPos - EMT.L3) > 1 then
|
||||
SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
else
|
||||
SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID)
|
||||
SimulMoveAxes( 'B1', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||
SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- altrimenti sega a catena
|
||||
@@ -1019,6 +1041,10 @@ function OnSimulMoveStart()
|
||||
end
|
||||
end
|
||||
else
|
||||
-- solo se è macchina a 3 teste con gruppo truciolatore 4 assi, devo andare prima in Z0
|
||||
if EgtGetHeadId( 'H39') then
|
||||
SimulMoveAxis( 'Z2', Z2Home, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- Porto la X alla giusta quota
|
||||
if EMT.ZMAX and X2Pos > ParkMchY2 and ( B2Pos ~= EMT.R2 or C2Pos ~= EMT.R1) then
|
||||
SimulMoveAxis( 'X2', ParkMchY2, MCH_SIM_STEP.RAPID)
|
||||
@@ -1372,13 +1398,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
|
||||
-- se testa sotto e macchian a 3 teste e gruppo truciolatore a 4 assi
|
||||
if GetHeadSet( EMT.HEAD) == 2 and IsHeadExisting( 3) 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')
|
||||
if EgtGetHeadId( 'H39') then
|
||||
if not SimulMoveAxis( 'Z2', ParkInLavZ2, MCH_SIM_STEP.RAPID) then
|
||||
EgtOutLog( 'Error on MoveHome : Z2')
|
||||
end
|
||||
end
|
||||
end
|
||||
EMT.TO_ZMAX = nil
|
||||
@@ -1463,8 +1491,8 @@ 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
|
||||
-- solo se è macchina a 3 teste con gruppo truciolatore 4 assi, devo stare più alto
|
||||
if EgtGetHeadId( 'H39') then
|
||||
SimulMoveAxis( 'Z2', ParkInLavZ2, MCH_SIM_STEP.RAPID)
|
||||
end
|
||||
-- altrimenti testa 3
|
||||
|
||||
+1
-1
@@ -895,7 +895,7 @@ function SpecialCalcMachiningEncumbrance( nMchId, bPreCut)
|
||||
EgtSetAxisPos( 'A2', vAxMid[6])
|
||||
end
|
||||
b3Enc = EgtGetBBoxGlob( EgtGetAxisId( 'C2'), GDB_BB.ONLY_VISIBLE)
|
||||
else -- 'H31'
|
||||
else -- testa 3
|
||||
EgtSetAxisPos( 'C3', vAxMid[4])
|
||||
EgtSetAxisPos( 'B3', vAxMid[5])
|
||||
b3Enc = EgtGetBBoxGlob( EgtGetAxisId( 'C3'), GDB_BB.ONLY_VISIBLE)
|
||||
|
||||
Binary file not shown.
+21
-63
@@ -1,72 +1,15 @@
|
||||
-- Descrizione macchina Essetre-PF1250MAX by EgalWare s.r.l. 2024/03/28
|
||||
-- 2023/12/07 ver 2.5l1 Prima versione. Derivata da PF1250 ver 2.5l4
|
||||
-- 2023/12/15 ver 2.5l2 Corretti vari offset in simulazione
|
||||
-- 2023/12/18 ver 2.5l3 Ultimata gestione aggregato lama da sotto
|
||||
-- Spostato alcune funzioni proprie del C.U. nel MLDE (per post-proc common)
|
||||
-- Spostato magazzini sotto traversa ( di 200mm) come da modifica meccanica
|
||||
-- 2023/12/20 ver 2.6a1 Prima versione con post Common-PF1250
|
||||
-- Invertiti magazzini mortasatrice-truciolatore e adeguati solidi di collisione
|
||||
-- Abbassata testa 2 di 300mm
|
||||
-- Parcheggio motosega portato a -1700mm
|
||||
-- In BeamData aggiunta GetSawBlockedAxis per fissare asse bloccato per aggregato lama sotto.
|
||||
-- Costanti MinForzaPinze e MaxForzaPinze portati in mlde/Ts3data (erano hardcoded - Common)
|
||||
-- Aggiunto variabile 'WriteAllCoordsOnFirstM101' e allineamento con 2.6a1 common
|
||||
-- 2023/12/20 ver 2.6a2 Allineamento con Common-PF1250 v.2.6a2
|
||||
-- 2024/01/22 ver 2.6a3 Migliorata preselezione utensile
|
||||
-- Rimosse funzioni ribaltamento pezzo
|
||||
-- Allineamento con Common-PF1250 v.2.6a3
|
||||
-- In BeamData aggiunta la funzione GetBlockedAxis che sostituisce le altre (GetChainSawBlockedAxis e GetSawBlockedAxis)
|
||||
-- 2024/01/25 ver 2.6a4 Allineamento con Common 2.6a4
|
||||
-- 2024/02/09 ver 2.6b1 Corretto errore in definizione testa H22
|
||||
-- In BeamData migliorata funzione GetBlockedAxis
|
||||
-- 2024/02/12 ver 2.6b2 Allineamento con common 2.6b2
|
||||
-- 2024/02/20 ver 2.6b3 Allineamento con common 2.6b3
|
||||
-- 2024/02/26 ver 2.6b4 Allineamento con common ver. 2.6b4; in mlde aggiunte chiamate EgtAddToPackagePath
|
||||
-- 2024/02/29 ver 2.6c1 Allineamento con common ver. 2.6c1
|
||||
-- 2024/03/04 ver 2.6c2 Modificato log con nome macchina
|
||||
-- Allineamento con common ver. 2.6c2
|
||||
-- 2024/03/05 ver 2.6c3 Corretto portautensile Standard_LC_108.
|
||||
-- 2024/03/12 ver 2.6c4 Allineamento con common ver. 2.6c3
|
||||
-- 2024/03/14 ver 2.6c5 Allineamento con common ver. 2.6c4
|
||||
-- Aggiunto nuovo tipo di lavorazione: Predrill
|
||||
-- 2024/03/14 ver 2.6c6 Predrill: aggiunta lavorazione tipo 'Predrill_H2' per testa sotto
|
||||
-- 2024/03/26 ver 2.6c7 Aggiunto variabile 'ParkLongB1' posizione parcheggio per punte lunghe
|
||||
-- Modificate collisioni traversa. Ora non comprende carro X1 che ha il proprio
|
||||
-- Allineamento con common ver. 2.6c5
|
||||
-- 2024/03/26 ver 2.6c8 Aggiunta lettura nuovi parametri offset per lama su aggregato testa sotto
|
||||
-- 2024/03/28 ver 2.6c9 Correzioni per pezzi lunghi fino a 30 metri.
|
||||
-- 2024/04/12 ver 2.6d1 Allineamento con common ver. 2.6d1
|
||||
-- Aggiunto parametro ForceToCloseRollersGate
|
||||
-- 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/24 ver 2.6d4 In simulazione aggiunti solidi griglie vicino TC margherita con relativo controllo collisione
|
||||
-- 2024/04/30 ver 2.6e1 Allineamento con common ver. 2.6e1
|
||||
-- Aggiunta variabile WoodDensity per gestione WOOD_DENSITY
|
||||
-- 2024/05/06 ver 2.6e2 Allineamento con common ver. 2.6e2
|
||||
-- 2024/05/15 ver 2.6e4 Allineamento con common ver. 2.6e4
|
||||
-- Corretta posizione griglia sotto CU margherita nel modello 3D
|
||||
-- 2024/05/23 ver 2.6e5 Allineamento con common ver. 2.6e5
|
||||
-- 2024/05/28 ver 2.6e6 Allineamento con common ver. 2.6e6
|
||||
-- 2024/06/03 ver 2.6f1 Aggiunta funzione GetSetupInfo a BeamData per nuovo automatismo
|
||||
-- Allineamento con common ver. 2.6f1
|
||||
-- 2024/06/06 ver 2.6f2 Allineamento con common ver. 2.6f2
|
||||
-- 2024/07/08 ver 2.6g1 Allineamento con common ver. 2.6g1
|
||||
-- 2024/07/12 ver 2.6g2 Allineamento con common ver. 2.6g2
|
||||
-- 2024/07/22 ver 2.6g3 Allineamento con common ver. 2.6g3
|
||||
-- 2024/07/23 ver 2.6g4 Allineamento con common ver. 2.6g4
|
||||
-- Aggiunti file per note utensile e lavorazione
|
||||
-- 2024/07/24 ver 2.6g5 Allineamento con common ver. 2.6g5
|
||||
-- Gestione limite corsa asse B2 se lama su H21
|
||||
-- 2024/08/07 ver 2.6h1 Allineamento con common ver. 2.6h1
|
||||
-- 2024/08/28 ver 2.6h2 Allineamento con common ver. 2.6h2
|
||||
-------------------------------------
|
||||
-- NOTE VERSIONI SUCCESSIVE IN GIT --
|
||||
-------------------------------------
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.6h2'
|
||||
PP_VER = '2.6j3'
|
||||
PP_NVER = '2.6.10.3'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = 'Essetre-PF1250MAX'
|
||||
|
||||
@@ -145,6 +88,7 @@ MaxB1 = 127
|
||||
MinB1b = -119
|
||||
MaxB1b = 119
|
||||
ParkX1 = 250
|
||||
ParkTc1X1 = 250
|
||||
ParkTc2X1 = 3100
|
||||
ParkZ1 = -525
|
||||
ParkC1 = -90
|
||||
@@ -206,7 +150,7 @@ MaxForzaPinze = 1000 -- [Kgf]
|
||||
Tc2Active = true -- magazzino prima sega a catena
|
||||
SecondSaw = true -- seconda lama su aggregato su TC3 presente
|
||||
SecondChain = true -- magazzino seconda sega a catena
|
||||
TcSpecialTools = true -- magarzzino per utensili speciali. In genere truciolatore
|
||||
TcSpecialTools = true -- magazzino per utensili speciali. In genere truciolatore
|
||||
TcAggreBladeUnder = true -- lama su aggregato per testa da sotto
|
||||
EmitAccClamps = true
|
||||
WriteAllCoordsOnFirstM101 = true
|
||||
@@ -1124,6 +1068,20 @@ function GetHeadSetFromTcPos( sTcPos)
|
||||
return 0, 0
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che ritorna bool per dire se esiste o meno al testa richiesta
|
||||
function IsHeadExisting( nHeadSet)
|
||||
if nHeadSet == 1 then
|
||||
return H11Id ~= nil
|
||||
elseif nHeadSet == 2 then
|
||||
return H21Id ~= nil
|
||||
elseif nHeadSet == 3 then
|
||||
return H31Id ~= nil
|
||||
else
|
||||
return ''
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che ritorna il nome della testa in base alla posizione utensile (ATT: deve rispecchiare il setup)
|
||||
function GetAdjHeadFromTcPos( nHeadSet, sTcPos)
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
==== Common_PF1250 Update Log ====
|
||||
|
||||
Versione 2.6j3 (25/10/2024)
|
||||
- (GEN) Piccola correzione per capire se testa 3 presente
|
||||
- (SIM-GEN) In caso di lavorazione successiva alla prima, rivisto primo posizionamento alla quota Z di lavoro se precedentemente spostati a quota rotazione assi rotanti.
|
||||
|
||||
Versione 2.6j2 (23/10/2024)
|
||||
- (MLDE-SIM) Aggiunto parametro ParkTc1X1 in MLDE per simulazione quota parcheggio Testa 1 su TC1.
|
||||
- (SIM-GEN) Per movimento a ZMAX si considera utensile attuale o precedente
|
||||
- (SIM-GEN) Prima versione con gestione testa 3 dedicata lama
|
||||
|
||||
Versione 2.6j1 (01/10/2024)
|
||||
- (GEN) Migliorato calcolo chiusura paratia rulli con aggiornamento lunghezza della barra in caso di ultimo taglio e grezzo residuo in coda. Ticket#2017
|
||||
- (NGE-SIM) Aggiunta gestione solidi collisione per TC verticali e TC rotante sotto
|
||||
- (GEN) Per lavorazione in doppio: messaggio bloccante in caso di extra-corsa durante un movimento standard su piano generico della lavorazione.
|
||||
|
||||
Versione 2.6i1 (10/09/2024)
|
||||
- (GEN) Se diametro utensile più del truciolatore standard grande, non si preseleziona. Ticket#2028
|
||||
|
||||
Versione 2.6h2 (28/08/2024)
|
||||
- (SIM-GEN) Quando si aprono i rulli, se la trave non può seguire i rulli perchè la pinza andrebbe in extra-corsa, si sposta comunque la pinza fino al massimo della sua corsa. Ticket#1949
|
||||
- (GEN) La testa veniva spostata a quota X sicurezza rotazione assi rotanti prima di aprire le rulliere. Ticket#1991
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_PF1250', -- nome script PP standard
|
||||
VERSION = '2.6h2', -- versione script
|
||||
VERSION = '2.6j3', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user