8 Commits

Author SHA1 Message Date
andrea.villa cc6592dc62 Modificate accelerazioni minima e massima 2026-04-09 15:58:20 +02:00
andrea.villa fc1e206cf7 - Piccole modifiche a simulazione in caso di motosega caricata con Q=0
- Blocco della generazione se Q=0
2025-08-29 08:57:41 +02:00
andrea.villa 93b0c6e2ed Aggiunte note utensile e lavorazioni
Aggiunto variabili precut
2025-04-17 08:38:29 +02:00
luca.mazzoleni efcd4c4138 update gitignore e YAML 2024-09-25 13:16:23 +02:00
luca.mazzoleni 68fca60e04 update gitignore e YAML 2024-09-24 14:59:58 +02:00
luca.mazzoleni 8a4427063e - Modificato YAML per comunicazione versioni a LiMan.
- Aggiunta PP_NVER, versione in formato numerico.
2024-09-19 10:13:35 +02:00
luca.mazzoleni dbb7786844 Merge branch 'develop' 2024-04-16 17:10:22 +02:00
luca.mazzoleni f67e3b01fa Merge branch 'develop' 2024-04-16 15:13:51 +02:00
7 changed files with 233 additions and 28 deletions
+100 -18
View File
@@ -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
@@ -86,22 +119,25 @@ variables:
echo "-----------------------"
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"
}
# 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
@@ -109,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
@@ -126,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
@@ -134,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";
@@ -158,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
@@ -186,6 +265,8 @@ LuaCompile:build:
- *LuaCompile
- *ZipClean
- *ReplicaR
- *ReplicaStor01
- *SendToVersionsLog
LuaCompileDev:build:
stage: build
@@ -233,4 +314,5 @@ LuaCompileDev:build:
# script:
# - *LuaCompile
# - *ZipClean
# - *ReplicaR
# - *ReplicaR
+5 -1
View File
@@ -57,6 +57,8 @@ local BeamData = {
DRILL_VZ_MIN_LONG_TOOL = 0.984, -- componente limite per lavorazioni con punta lunga
MAX_TOOL_LEN_BACK_HOR_MACH = 501, -- massima lunghezza utensile per poter eseguire lavorazioni (forature/svuotature) da dietro (faccia 4)
TURN = true, -- macchina tipo Turn
PRECUT_HEAD = true, -- flag abilitazione pretaglio grezzo a zero in testa
PRECUT_TAIL = true, -- flag abilitazione pretaglio grezzo a zero in coda
TWO_EQUAL_HEADS = true, -- macchina con due teste equivalenti
KIOTP = 3.5, -- coefficiente moltiplicativo per attacco/uscita lama tangente anzichè perpendicolare
MAXDIAM_POCK_CORNER = 30, -- diametro massimo utensile ammesso per tasche con angoli interni
@@ -77,7 +79,9 @@ if EgtExistsFile( sData) then
if Machine then
if Machine.Offsets then
BeamData.ANG_TRASM = ( Machine.Offsets.SECSUP and Machine.Offsets.SECSUP >= 2)
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
end
if Machine.Trave then
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
BeamData.MIN_HEIGHT = Machine.Trave.ZMIN or BeamData.MIN_HEIGHT
+4 -3
View File
@@ -178,8 +178,8 @@ function OnDispositionEnd()
local STrave = EMT.ST
local HOverM = EMT.HOVM
-- calcolo dati pinze
local MinAccPinze = 0.3
local MaxAccPinze = 4
local MinAccPinze = 1
local MaxAccPinze = 12
local KgMtCubo= 550 -- densità legno in Kg / metro cubo
local Massa = ( HTrave * STrave * LBarra * KgMtCubo ) / 1000000000
local FMaxPinze = EMT.FMAXPINZE
@@ -1747,7 +1747,8 @@ function GetET( sHead, sTcPos, dAxR3)
return ' ET42'
elseif sHead == 'H13' then
if dAxR3 and abs( dAxR3 - 0) < 0.1 then
return ' ET101'
EmtSetLastError( 1210, 'Chain saw orientation not allowed: ' .. EMT.MCHNAME)
-- return ' ET101'
elseif dAxR3 and abs( dAxR3 + 90) < 0.1 then
return ' ET102'
else
+18 -3
View File
@@ -21,11 +21,13 @@
-- 2023/09/26 DS ver 2.5i2 Corretta emissione G114 per modifica precedente.
-- 2024/02/19 LM ver 2.6b1 In BeamData aggiunta funzione GetBlockedAxis che sostituisce la GetChainSawBlockedAxis.
-- 2024/02/27 LM ver 2.6b2 Tutte le chiamate a EgtGetSourceDir() sostituite con EgtGetCurrMachineDir(). Aggiunto compile.
-- 2024/09/19 LM ver 2.6i1 Modificato YAML per comunicazione versioni a LiMan. Aggiunta PP_NVER, versione in formato numerico.
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.6b2'
PP_VER = '3.1d1'
PP_NVER = '2.7.8.1'
-- Parametri macchina
NumericalControl = 'NUM' -- solo NUM
@@ -37,10 +39,12 @@ ParkX1 = -1.0
MinZ1 = 0
MaxZ1 = 1810
ParkZ1 = 0
ParkZ1_H13_101 = 1600
MinA1 = -180
MaxA1 = 360
ParkA1 = 0
ParkH11_A1 = 0
ParkH13_A1 = 90
MillOffs = 177.0
SawOffs = -242.55
SawBOffs = 0
@@ -691,20 +695,31 @@ function OnSetHead()
EmtModifyAxisStroke( 'A1', { MinA1, MaxA1})
EmtModifyAxisHome( 'A1', ParkH11_A1)
end
EmtModifyAxisHome( 'Z1', ParkZ1)
-- se testa 1 lama
elseif EMC.HEAD == 'H12' then
EmtModifyAxisStroke( 'A1', { MinA1, MaxA1})
EmtModifyAxisHome( 'A1', ParkA1)
EmtModifyAxisHome( 'A1', ParkA1)
EmtModifyAxisHome( 'Z1', ParkZ1)
-- se testa sega a catena
elseif EMC.HEAD == 'H13' then
-- aggiustamenti per distanza
if EMC.DIST and abs( EMC.DIST) > 1 then
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, EMC.DIST, 0))
local vtMove = Point3d( 0, EMC.DIST, 0) - Point3d( EMC.EXITPOS)
local ExitId = EgtGetFirstNameInGroup( EgtGetHeadId( EMC.HEAD), 'T'..tostring( EMC.EXIT))
EgtMove( ExitId, vtMove)
end
-- recupero il valore dell'asse virtuale bloccato Q
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
dPosQ = tonumber( sVal:sub( 3))
if abs( dPosQ) < 0.1 then
EmtModifyAxisHome( 'Z1', ParkZ1_H13_101)
else
EmtModifyAxisHome( 'Z1', ParkZ1)
end
EmtModifyAxisStroke( 'A1', { MinA1, MaxA1})
EmtModifyAxisHome( 'A1', ParkA1)
EmtModifyAxisHome( 'A1', ParkH13_A1)
-- se testa 2 fresa
elseif EMC.HEAD == 'H21' then
-- se con utensile lungo limito la corsa e imposto home speciale
+5 -3
View File
@@ -434,7 +434,8 @@ function OnSimulToolSelect( dPosQ)
-- imposto il valore di Q
EgtSetAxisPos( 'Q', dPosQ)
if abs( dPosQ) < 0.1 then
EgtSetAxisPos( 'B', 0)
EgtSetAxisPos( 'B', -90)
EgtSetAxisPos( 'Z1', ParkZ1_H13_101)
end
EgtSetAxisPos( 'A1', 90)
end
@@ -465,11 +466,12 @@ function OnSimulToolDeselect()
local CollSimRotStep = min( RapSimRotStep, 5)
-- movimento scarico sega a catena
if EMT.HEAD == 'H13' then
SimulMoveAxis( 'Z1', MinZ1, RapSimStep)
local dPosQ = EgtGetAxisPos( 'Q')
if abs( dPosQ) < 0.1 then
SimulMoveAxis( 'Z1', ParkZ1_H13_101, RapSimStep)
SimulMoveAxes( 'A1', 90, CollSimRotStep, 'B', -90, CollSimRotStep)
else
SimulMoveAxis( 'Z1', MinZ1, RapSimStep)
SimulMoveAxes( 'A1', 90, CollSimRotStep, 'B', -180, CollSimRotStep)
end
-- movimento scarico utensile di grosso diametro
@@ -751,7 +753,7 @@ function OnSimulMoveStart()
local BPos = EgtGetAxisPos( 'B')
if abs( EMT.R1 - BPos) > 30 then
if nHSet == 1 then
SimulMoveAxis( 'Z1', ParkZ1, RapSimStep)
SimulMoveAxis( 'Z1', EgtGetAxisHomePos( 'Z1'), RapSimStep)
else
SimulMoveAxis( 'Z2', ParkZ2, RapSimStep)
end
+58
View File
@@ -0,0 +1,58 @@
; Commento per evitare BOM con UTF-8
;Index = Type, Description, Default Value
; Type : b=boolean, d=double, l=lenght, s=string
[Drilling]
[Sawing]
[Milling]
0=l,MaxElev,0
1=d,OutRaw,0
2=l,SideElev,0
3=d,TrimExt,0
4=s,VtFaceUse,0,0,0
5=s,EdgesFaceUse,0
[Pocketing]
0=l,MaxElev,0
1=b,Open,0
2=d,OpenMinSafe,0
3=d,OpenOutRaw,0
4=l,MaxOptSize,0
[Mortising]
0=d,MaxElev,0
[Chiseling]
[SawRoughing]
[SawFinishing]
[GenMachining]
[SurfRoughing]
0=l,MaxElev,1000
1=b,PlaneZ,0
[SurfFinishing]
0=b,SkipMaxDown,1
[5AxMilling]
0=l,LinTol,0.01
1=l,MaxLen,10
2=s,Type,ZigZag
3=d,SideAng,90
4=l,Step,10
5=d,AngIni,-90
6=d,AngFin,90
7=l,LiTang,0
8=l,LiOrth,0
9=l,LiElev,0
10=l,LoTang,0
11=l,LoOrth,0
12=l,LoElev,0
13=b,DirFromGuide,0
14=b,SurfAvoid,0
+43
View File
@@ -0,0 +1,43 @@
; Commento per evitare BOM con UTF-8
; Index, Type, Description, Value
; Index = 0,1,..,n
; Type : d=double, l=lenght, s=string, b=boolean, dr=double recalc, sr= string recalc, lr=lenght recalc, br=boolean recalc, th=toolholder
; Description : STEP, SIDESTEP, ...
[DRILL_STD]
0=th,TH,
1=d,STEP
2=s,DOUBLE
[SAW_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=b,LONGCUT
[SAW_FLAT]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=b,LONGCUT
[MILL_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
5=dr,TOOL_OVERHANG
[MILL_NOTIP]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
5=dr,TOOL_OVERHANG
[MORTISE_STD]
0=b,MORTISE
1=d,STEP
2=d,SIDESTEP