Essetre-ONErl prima versione
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
-- BeamData.lua by Egaltech s.r.l. 2021/11/10
|
||||
-- Raccolta dati generali per Travi
|
||||
|
||||
EgtOutLog( ' ONE-BeamData started')
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamData = {
|
||||
RIGHT_LOAD = true, -- flag carico da destra
|
||||
SIMUL_VIEW_DIR = 1, -- direzione di vista predefinita per la simulazione (1=NW, 2=SW, 3=NE, 4=SE)
|
||||
ROT90 = false, -- flag abilitazione rotazione 90 gradi
|
||||
MIN_WIDTH = 40, -- larghezza minima del grezzo
|
||||
MIN_HEIGHT = 40, -- altezza minima del grezzo
|
||||
MAX_WIDTH = 400, -- larghezza massima del grezzo
|
||||
MAX_HEIGHT = 800, -- altezza massima del grezzo
|
||||
LEN_SHORT_PART = 1200, -- lunghezza massima pezzo piccolo
|
||||
LEN_VERY_SHORT_PART = 700, -- lunghezza massima pezzo molto corto (molto probabile lo scarico a caduta)
|
||||
MAX_RAW = 20000, -- 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.0, -- sovramateriale intermedio (spessore lama)
|
||||
MIN_JOIN_S = 100, -- minima presa pinza per pezzo piccolo
|
||||
MIN_JOIN_L = 450, -- minima presa pinza per pezzo grande
|
||||
MINRAW_S = 980, -- minimo grezzo in coda scaricabile per sezioni piccole
|
||||
MINRAW_L = 1570, -- minimo grezzo in coda scaricabile per sezioni grandi
|
||||
CHAR_EXTRA_DIST = 400, -- distanza aggiuntiva per minimizzare scambi di carrelli
|
||||
MAX_LEN_SCRAP = 150, -- massima lunghezza scarto di coda
|
||||
MAX_LEN_SCRAP_START = 150, -- massima lunghezza scarto di testa
|
||||
MAX_DIM_HTCUT = 175, -- larghezza massima taglio di testa o coda
|
||||
MAX_DIM_HTCUT_HBEAM = -145, -- larghezza massima taglio di testa o coda con trave alta
|
||||
MIN_DIM_HBEAM = 680, -- altezza minima di trave alta
|
||||
OVM_CHAIN_HBEAM = 8, -- sovramateriale per split con sega a catena
|
||||
MAX_DIM_DICE = 155, -- dimensione trasversale massima cubetto
|
||||
MAX_LEN_DICE = 400, -- lunghezza massima cubetto
|
||||
DECR_VERT_CUT = 20, -- riduzione profondità per affondamento verticale in taglio orizzontale
|
||||
COLL_SIC = 5, -- distanza di sicurezza per collisioni
|
||||
CUT_SIC = 40, -- distanza di sicurezza per tagli
|
||||
CUT_EXTRA = 5, -- affondamento extra standard per tagli di lama e fresature
|
||||
CUT_EXTRA_MIN = 2, -- affondamento extra ridotto per tagli di lama e fresature
|
||||
NZ_MINA = -0.6, -- componente limite in Z normale di una faccia (-30deg)
|
||||
NZ_MINB = -0.4, -- componente limite in Z normale di un insieme di facce (-23deg)
|
||||
DRILL_TOL = 0.2, -- tolleranza tra diametro foro e diametro punta
|
||||
DRILL_VZ_MIN = - 0.51, -- componente limite in Z del versore di un foro
|
||||
DRILL_VX_MAX = 0.867, -- componente limite in X del versore di un foro sulle facce laterali
|
||||
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
|
||||
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
|
||||
MAX_DIST_HTFEA = 50.0, -- massima distanza di feature da testa o coda per essere considerata tale
|
||||
MAX_LEN_HTFEA = 2550.0, -- massima lunghezza di feature di testa o coda
|
||||
LONGCUT_ENDLEN = 1500, -- lunghezza lavoro estremi iniziale e finale
|
||||
LONGCUT_MAXLEN = 4000, -- lunghezza massima sezione di taglio longitudinale
|
||||
MAX_LEN_RIDGELAP_FROM_BOTTOM = 0, -- massima lunghezza ridgelap lavorabile da sotto
|
||||
MAX_LEN_RIDGELAP_FROM_BOTTOM_HBEAM = 0, -- massima lunghezza ridgelap lavorabile da sotto con trave alta
|
||||
DIM_TO_CENTER_STRIP = 0, -- larghezza minima trave per inserimento codolo nel centro della trave; 0 = automatico
|
||||
DIM_STRIP = 3, -- dimensione codolo sostegno parti lasciate su contorno libero o archi
|
||||
DIM_STRIP_SMALL = 0.1, -- dimensione codolo piccolo (quando le parti sostenute sono sicuramente sulla parte sopra del pezzo)
|
||||
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
|
||||
RAW_OFFSET = 2000, -- spostamento grezzo rimanente dopo split
|
||||
VICE_MINH = 110, -- altezza minima della morsa
|
||||
OFFSET_DRILL_TENON = 0, -- offset fori su tenoni verso base degli stessi (0=non fare)
|
||||
USER_HOLE_DIAM = 14, -- diametro foro per L20
|
||||
MAX_TOOL_LEN_FOR_HOR_MACH = 500, -- massima lunghezza ingombro per poter fare forature (fresature) oltre i 10 gradi dalla verticale
|
||||
DRILL_VZ_MIN_LONG_TOOL = 0.984, -- componente limite per lavorazioni con punta lunga
|
||||
MAX_TOOL_LEN_BACK_HOR_MACH = 500, -- massima lunghezza utensile per poter eseguire lavorazioni (forature/svuotature) da dietro (faccia 4)
|
||||
PRESS_ROLLER = true, -- dichiarazione presenza rulli pressori
|
||||
C_SIMM = true, -- dichiarazione simmetria mensola asse C
|
||||
C_SIMM_ENC = 180, -- ingombro semi-forcella in X da naso mandrino (compresa sicurezza)
|
||||
KIOTP = 6, -- coefficiente moltiplicativo per attacco/uscita lama tangente anzichè perpendicolare
|
||||
MAXDIAM_POCK_CORNER = 31, -- diametro massimo utensile ammesso per tasche con angoli interni
|
||||
USE_LONGCUT = false, -- per i tagli longitudinali usare solo la lavorazione di lama LongCut
|
||||
ADVANCE_TAIL_CUT = true, -- per spostare prima del taglio di separazione il taglio di coda su pezzi corti con robabile caduta
|
||||
ADVANCE_TAIL_OFFS = 1 -- accorciamento taglio di coda avanzato (minimo 1)
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-ONErl.data"
|
||||
local sData = EgtGetSourceDir().."\\Ts3Data.lua"
|
||||
if EgtExistsFile( sTs3Data) then
|
||||
EgtCopyFile( sTs3Data, sData)
|
||||
local sTs3DataOld = sTs3Data..'.old'
|
||||
EgtEraseFile( sTs3DataOld)
|
||||
EgtRenameFile( sTs3Data, sTs3DataOld)
|
||||
end
|
||||
if EgtExistsFile( sData) then
|
||||
local Machine = dofile( sData)
|
||||
if Machine then
|
||||
if Machine.Offsets then
|
||||
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
|
||||
BeamData.CUT_EXTRA_MIN = Machine.Offsets.CUT_EXTRA_MIN or BeamData.CUT_EXTRA_MIN
|
||||
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
|
||||
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
|
||||
BeamData.MAX_WIDTH = Machine.Trave.XMAX or BeamData.MAX_WIDTH
|
||||
BeamData.MAX_HEIGHT = Machine.Trave.ZMAX or BeamData.MAX_HEIGHT
|
||||
end
|
||||
if Machine.User then
|
||||
BeamData.OFFSET_DRILL_TENON = Machine.User.L040_OFFSET_P1 or BeamData.OFFSET_DRILL_TENON
|
||||
if Machine.User.OPTIMIZATIONS_ENABLE_SLICES_F5 == 1 then
|
||||
BeamData.MAX_LEN_SCRAP = Machine.User.OPTIMIZATIONS_LENGTH_SLICES or BeamData.MAX_LEN_SCRAP
|
||||
else
|
||||
BeamData.MAX_LEN_SCRAP = 100000
|
||||
end
|
||||
if Machine.User.OPTIMIZATIONS_ENABLE_SLICES_F6 == 1 then
|
||||
BeamData.MAX_LEN_SCRAP_START = Machine.User.OPTIMIZATIONS_LENGTH_SLICES or BeamData.MAX_LEN_SCRAP_START
|
||||
else
|
||||
BeamData.MAX_LEN_SCRAP_START = 100000
|
||||
end
|
||||
BeamData.USER_HOLE_DIAM = Machine.User.L020_DIAM_HOLE or BeamData.USER_HOLE_DIAM
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetMaxLenRidgeLapFromBottom( dHRaw)
|
||||
if dHRaw < BeamData.MIN_DIM_HBEAM then
|
||||
return BeamData.MAX_LEN_RIDGELAP_FROM_BOTTOM + 0.01
|
||||
else
|
||||
return BeamData.MAX_LEN_RIDGELAP_FROM_BOTTOM_HBEAM + 0.01
|
||||
end
|
||||
end
|
||||
BeamData.GetMaxLenRidgeLapFromBottom = GetMaxLenRidgeLapFromBottom
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetSectionCoeff( dW, dH, dL)
|
||||
local SEZ_L = 80000
|
||||
local SEZ_S = 20000
|
||||
local LEN_SMALL = 2000
|
||||
local dSez = dW * dH
|
||||
if dSez <= SEZ_S then
|
||||
return 0.0
|
||||
elseif dSez < SEZ_L then
|
||||
if dL and dL < LEN_SMALL then dSez = max( 0.6 * dSez, SEZ_S) end
|
||||
local dCoeff = ( dSez - SEZ_S) / ( SEZ_L - SEZ_S)
|
||||
return dCoeff
|
||||
else
|
||||
return 1.0
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetMinJoin( dW, dH, dL)
|
||||
local dCoeff = GetSectionCoeff( dW, dH, dL)
|
||||
return ( 1 - dCoeff) * BeamData.MIN_JOIN_S + dCoeff * BeamData.MIN_JOIN_L
|
||||
end
|
||||
BeamData.GetMinJoin = GetMinJoin
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetMinUnloadableRaw( dW, dH)
|
||||
local dCoeff = GetSectionCoeff( dW, dH)
|
||||
return ( 1 - dCoeff) * BeamData.MINRAW_S + dCoeff * BeamData.MINRAW_L
|
||||
end
|
||||
BeamData.GetMinUnloadableRaw = GetMinUnloadableRaw
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetChainSawBlockedAxis( nInd)
|
||||
if nInd == 1 then
|
||||
return 'A=-90'
|
||||
else
|
||||
return 'A=0'
|
||||
end
|
||||
end
|
||||
BeamData.GetChainSawBlockedAxis = GetChainSawBlockedAxis
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function GetChainSawInitAngs( vtN, vtO, nInd)
|
||||
if abs( vtN:getY()) < 0.5 then
|
||||
return EgtIf( vtO:getY() > 0, 'C=180', 'C=0')
|
||||
else
|
||||
return EgtIf( vtN:getY() > 0, 'C=180', 'C=0')
|
||||
end
|
||||
end
|
||||
BeamData.GetChainSawInitAngs = GetChainSawInitAngs
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return BeamData
|
||||
@@ -0,0 +1,9 @@
|
||||
-- %TABLE_NAME%.lua by Egaltech s.r.l. %DATE_TIME%
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local %TABLE_NAME% = {
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return %TABLE_NAME%
|
||||
@@ -0,0 +1,12 @@
|
||||
-- CutData.lua by Egaltech s.r.l. 27/04/2023 12:14:21
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local CutData = {
|
||||
{ On = true, Name = 'MiSideInvSaw520', Type = 'HeadSide'},
|
||||
{ On = true, Name = 'MiSideSaw520', Type = 'TailSide'},
|
||||
{ On = true, Name = 'MiSideSaw520', Type = 'LongCut'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return CutData
|
||||
@@ -0,0 +1,24 @@
|
||||
-- DrillData.lua by Egaltech s.r.l. 04/08/2023 15:22:17
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local DrillData = {
|
||||
{ On = true, Name = 'Drill_D4', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D6', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D8', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D12', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D14', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D16', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D18', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D20', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D22', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D24', Type = 'Drill'},
|
||||
{ On = true, Name = 'Drill_D25', Type = 'Drill'},
|
||||
{ On = true, Name = 'DrillPock8x25', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock12x150', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock25x130', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock20x50', Type = 'Pocket'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return DrillData
|
||||
@@ -0,0 +1,30 @@
|
||||
-- GetTs3Data.lua by Egaltech s.r.l. 2022/04/07
|
||||
-- Recupero dati da file Ts3Data.lua di macchina
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Per test
|
||||
--GTSD = {}
|
||||
--GTSD.TS3PATH = 'Essetre-FAST\\Ts3Data.lua'
|
||||
|
||||
local sLog = 'GetTs3Data : ' .. GTSD.TS3PATH
|
||||
EgtOutLog( sLog)
|
||||
|
||||
if EgtExistsFile( GTSD.TS3PATH) then
|
||||
local Machine = dofile( GTSD.TS3PATH)
|
||||
-- Assegno valori di interesse
|
||||
Offsets = Machine.Offsets
|
||||
_G.Offsets = Offsets
|
||||
Trave = Machine.Trave
|
||||
_G.Trave = Trave
|
||||
User = Machine.User
|
||||
_G.User = User
|
||||
end
|
||||
|
||||
-- Tutto ok
|
||||
GTSD.ERR = 0
|
||||
|
||||
EgtOutLog( ' +++ GetTs3Data completed')
|
||||
@@ -0,0 +1,59 @@
|
||||
; PIndex = Type, PName, Default, Description
|
||||
; Type : d=double, l=length, s=string
|
||||
|
||||
[1]
|
||||
Name=Offsets
|
||||
1=d,PROGRESS,0,0=ONE 1=PROGRESS
|
||||
2=d,MORTISER,0,ONLY_FOR_ONE
|
||||
3=l,X1_NEG,-2725,MIN_X1
|
||||
4=l,X1_POS,0,MAX_X1
|
||||
5=l,Z1_NEG,-1570.0,MIN_Z1
|
||||
6=l,Z1_POS,-20,MAX_Z1
|
||||
7=l,PARK_Z1,-535.0,PARK_Z1
|
||||
8=l,PARK_SAWZ1,-150.0,---
|
||||
9=d,C1_NEG,-275,MIN_C1
|
||||
10=d,C1_POS,275,MAX_C1
|
||||
11=d,B1_NEG,-127,MIN_B1
|
||||
12=d,B1_POS,127,MAX_B1
|
||||
13=d,B1_NEG1,-119,MIN_B1_SAW
|
||||
14=d,B1_POS1,119,MAX_B1_SAW
|
||||
15=l,PIVOT_T1,169.7,PIVOT_HEAD1
|
||||
16=l,MIN_Y1,275,MIN_Y1
|
||||
17=l,MAX_Y1,5717,MAX_Y1
|
||||
18=l,PARK_Y1,951,PARK_Y1
|
||||
19=l,MIN_V1,5,MIN_V1
|
||||
20=l,MAX_V1,676,MAX_V1
|
||||
21=l,MIN_Y2,-5721,MIN_Y2
|
||||
22=l,MAX_Y2,-270,MAX_Y2
|
||||
23=l,PARK_Y2,-954,PARK_Y2
|
||||
24=l,MIN_V2,-684,MIN_V2
|
||||
25=l,MAX_V2,-5,MAX_V2
|
||||
26=l,MIN_DELTAVY,275,MIN_DELTA_VY
|
||||
27=d,CLAMP5,0,SMALL_CLAMP
|
||||
28=l,MINWOPEN,38,MIN_OPEN_SMALL_CLAMP
|
||||
29=l,MAXWOPEN,160,MAX_OPEN_SMALL_CLAMP
|
||||
30=l,MAXWHEIGHT,305,MAX_BEAM_HEIGHT_ON_SMALL_CLAMP
|
||||
31=l,DIST_FTZERO,2137.3,DIST_LASER
|
||||
32=l,DELTA_CARICZERO,40.0,DELTA_LASER_LOAD
|
||||
33=l,DIST_UNLOAD,-2300,DIST_UNLOAD
|
||||
34=l,OFFSETXT1,-1210,OFFSETX_HEAD1
|
||||
35=l,OFFSETZT1,-1042.7,OFFSETZ_HEAD1
|
||||
36=l,OFFSETZSOTTOTRAVE,970,DELTAZ_RULLI_SOTTOTRAVE
|
||||
37=l,OFFSETZTAPPETO,495,DELTAZ_RULLI_TAPPETO
|
||||
38=d,OFFSETCLAMAT1,0,OFFSETCLAMA_HEAD1
|
||||
39=d,OFFSETBLAMAT1,0,OFFSETBLAMA_HEAD1
|
||||
|
||||
[2]
|
||||
Name=Trave
|
||||
1=l,XMIN,50,XMIN
|
||||
2=l,XMAX,401,XMAX
|
||||
3=l,ZMIN,50,ZMIN
|
||||
4=l,ZMAX,801,ZMAX
|
||||
|
||||
[3]
|
||||
Name=User
|
||||
1=d,OPTIMIZATIONS_ENABLE_SLICES_F5,1,ENABLE_SLICES_ON_END
|
||||
2=d,OPTIMIZATIONS_ENABLE_SLICES_F6,1,ENABLE_SLICES_ON_START
|
||||
3=d,OPTIMIZATIONS_LENGTH_SLICES,100,SLICES_LENGTH
|
||||
4=l,L020_DIAM_HOLE,20,L020_HOLE_DIAM
|
||||
5=l,L040_OFFSET_P1,0,L040_ON_TENON_OFFSET
|
||||
@@ -0,0 +1,37 @@
|
||||
[Cut]
|
||||
1=HeadSide
|
||||
2=TailSide
|
||||
3=LongCut
|
||||
|
||||
[Drill]
|
||||
1=Drill
|
||||
2=Pocket
|
||||
|
||||
[Milling]
|
||||
1=Prof
|
||||
2=FreeContour
|
||||
3=Tenon
|
||||
4=DtTenon
|
||||
5=DtMortise
|
||||
6=BirdsMouth
|
||||
7=Chamfer
|
||||
8=Mark
|
||||
9=Text
|
||||
10=Decor01
|
||||
11=Long2Cut
|
||||
12=Long2CutDown
|
||||
13=Long2CutSide
|
||||
14=LongSmallCut
|
||||
15=BHSideMill
|
||||
16=CleanCorner
|
||||
17=ProfTCone
|
||||
18=SmallToolContour
|
||||
19=AntiSplintMillCut
|
||||
|
||||
[Pocketing]
|
||||
1=Pocket
|
||||
2=OpenPocket
|
||||
3=Mortise
|
||||
|
||||
[Sawing]
|
||||
1=Sawing
|
||||
@@ -0,0 +1,28 @@
|
||||
-- MillingData.lua by Egaltech s.r.l. 27/04/2023 10:34:35
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local MillingData = {
|
||||
{ On = true, Name = 'Profiling25x130', Type = 'Prof'},
|
||||
{ On = true, Name = 'FreeCont25x130_L104/250', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'FreeCont20x50', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Mill_Tenon200x60', Type = 'Tenon'},
|
||||
{ On = true, Name = 'Mill_DtTen60x130', Type = 'DtTenon'},
|
||||
{ On = true, Name = 'Mill_DtMrt60x130', Type = 'DtMortise'},
|
||||
{ On = true, Name = 'Milling200x60', Type = 'BirdsMouth'},
|
||||
{ On = true, Name = 'Mill_L2C200x60_Down_L010/12', Type = 'Chamfer'},
|
||||
{ On = true, Name = 'Chanfering_45', Type = 'Mark'},
|
||||
{ On = true, Name = 'Text-Smusso45_L060', Type = 'Text'},
|
||||
{ On = true, Name = 'Mill_L2C200x60_L010/12', Type = 'Long2Cut'},
|
||||
{ On = true, Name = 'Mill_L2C200x60_Down_L010/12', Type = 'Long2CutDown'},
|
||||
{ On = true, Name = 'Mill_L2CD25x130_', Type = 'Long2CutDown'},
|
||||
{ On = true, Name = 'Milling20x50', Type = 'LongSmallCut'},
|
||||
{ On = true, Name = 'Milling25x130', Type = 'LongSmallCut'},
|
||||
{ On = true, Name = 'Milling200x60', Type = 'LongSmallCut'},
|
||||
{ On = true, Name = 'Mill_L2C200x60_SIDE_L10/12', Type = 'Long2CutSide'},
|
||||
{ On = true, Name = 'Milling25x130', Type = 'AntiSplintMillCut'},
|
||||
{ On = true, Name = 'Milling20x50', Type = 'AntiSplintMillCut'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return MillingData
|
||||
@@ -0,0 +1,18 @@
|
||||
-- PocketingData.lua by Egaltech s.r.l. 27/04/2023 10:36:40
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local PocketingData = {
|
||||
{ On = true, Name = 'Pocket_200x60_open', Type = 'OpenPocket'},
|
||||
{ On = true, Name = 'Pocket_20x50_open', Type = 'OpenPocket'},
|
||||
{ On = true, Name = 'Pocket_25x130_open', Type = 'OpenPocket'},
|
||||
{ On = true, Name = 'Pocket_12x150_open', Type = 'OpenPocket'},
|
||||
{ On = true, Name = 'Pocket_8x25_open', Type = 'OpenPocket'},
|
||||
{ On = true, Name = 'Pocket_20x50_close', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Pocket_25x130_close', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Pocket_12x150_close', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Pocket_8x25_close', Type = 'Pocket'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return PocketingData
|
||||
@@ -0,0 +1,10 @@
|
||||
-- SawingData.lua by Egaltech s.r.l. 27/04/2023 13:50:48
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local SawingData = {
|
||||
{ On = true, Name = 'Chainsaw', Type = 'Sawing'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return SawingData
|
||||
@@ -0,0 +1,59 @@
|
||||
local Offsets = {
|
||||
PROGRESS=0,
|
||||
MORTISER=0,
|
||||
X1_NEG=-2725,
|
||||
X1_POS=0,
|
||||
Z1_NEG=-1550,
|
||||
Z1_POS=-20,
|
||||
PARK_Z1=-545,
|
||||
PARK_SAWZ1=-150,
|
||||
C1_NEG=-275,
|
||||
C1_POS=275,
|
||||
B1_NEG=-127,
|
||||
B1_POS=127,
|
||||
B1_NEG1=-119,
|
||||
B1_POS1=119,
|
||||
PIVOT_T1=169.7,
|
||||
MIN_Y1=275,
|
||||
MAX_Y1=5717,
|
||||
PARK_Y1=951,
|
||||
MIN_V1=5,
|
||||
MAX_V1=676,
|
||||
MIN_Y2=-5721,
|
||||
MAX_Y2=-270,
|
||||
PARK_Y2=-954,
|
||||
MIN_V2=-684,
|
||||
MAX_V2=-5,
|
||||
MIN_DELTAVY=275,
|
||||
CLAMP5=0,
|
||||
MINWOPEN=38,
|
||||
MAXWOPEN=160,
|
||||
MAXWHEIGHT=305,
|
||||
DIST_FTZERO=2137.3,
|
||||
DELTA_CARICZERO=40,
|
||||
DIST_UNLOAD=-2300,
|
||||
OFFSETXT1=-1210,
|
||||
OFFSETZT1=-1042.4,
|
||||
OFFSETZSOTTOTRAVE=970,
|
||||
OFFSETZTAPPETO=495,
|
||||
OFFSETCLAMAT1=0,
|
||||
OFFSETBLAMAT1=0,
|
||||
}
|
||||
|
||||
local Trave = {
|
||||
XMIN=50,
|
||||
XMAX=401,
|
||||
ZMIN=50,
|
||||
ZMAX=801,
|
||||
}
|
||||
|
||||
local User = {
|
||||
OPTIMIZATIONS_ENABLE_SLICES_F5=1,
|
||||
OPTIMIZATIONS_ENABLE_SLICES_F6=1,
|
||||
OPTIMIZATIONS_LENGTH_SLICES=100,
|
||||
L020_DIAM_HOLE=6,
|
||||
L040_OFFSET_P1=0,
|
||||
}
|
||||
|
||||
local Machine = { Offsets=Offsets, Trave=Trave, User=User}
|
||||
return Machine
|
||||
File diff suppressed because it is too large
Load Diff
+2073
File diff suppressed because it is too large
Load Diff
+2703
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,140 @@
|
||||
; Commento per evitare BOM con UTF-8
|
||||
[General]
|
||||
Material=Beam
|
||||
NCType=4 ; 1=Tpa, 2=Num Flexium, 3=Num Axium APServer, 4=Num Axium PCToolkit
|
||||
Flow=2
|
||||
;ConnectionString=XIP01,0,63,0,0,0
|
||||
ConnectionString=COM
|
||||
|
||||
[Axes]
|
||||
; 1 = Type, Id, Name
|
||||
; Type => l=linear;r=rotational
|
||||
1=l,0,X
|
||||
2=l,1,Y
|
||||
3=l,2,Z
|
||||
4=l,3,U
|
||||
5=l,4,V
|
||||
6=r,7,B
|
||||
7=r,8,C
|
||||
|
||||
[Channels]
|
||||
1=0,Channel 1
|
||||
|
||||
[MainVariables]
|
||||
; 1 = Name, Variable Path, ReadType, Type
|
||||
; ReadType => o=one time;c=continuous
|
||||
; Type => plc;cn
|
||||
1=P_Prod,E81295,c,cn
|
||||
2=P_Machgroup,E81296,c,cn
|
||||
3=P_Part,E81297,c,cn
|
||||
4=P_State,E81298,c,cn
|
||||
5=Reset_State,E80048,c,cn
|
||||
6=ISO_Num,E80045,c,cn
|
||||
7=ISO_Sent,E80046,c,cn
|
||||
8=Running,E80047,c,cn
|
||||
9=Start_State,%R3.2,c,plc
|
||||
10=Stop_State,%R3.1,c,plc
|
||||
11=MachIndex,E80000,c,cn
|
||||
12=PLC_Messages1,%V800.L,c,plc
|
||||
13=PLC_Messages2,%V804.L,c,plc
|
||||
14=PLC_Messages3,%V808.L,c,plc
|
||||
15=PLC_Messages4,%V80C.L,c,plc
|
||||
16=PLC_Messages5,%V810.L,c,plc
|
||||
17=PLC_Messages6,%V814.L,c,plc
|
||||
18=SendPermission,E30099,c,plc
|
||||
|
||||
[MDI]
|
||||
; 1 = Command, Description
|
||||
1=M3T1S1000,1
|
||||
2=M4T1S1000,2
|
||||
3=M6T1,3
|
||||
4=M6T2,4
|
||||
5=M6T3,5
|
||||
6=M6T4,6
|
||||
7=M6T5,7
|
||||
8=M6T6,8
|
||||
9=M6T7,9
|
||||
10=M6T8,10
|
||||
11=M6T9,11
|
||||
12=M6T10,12
|
||||
13=M6T11,13
|
||||
14=M6T12,14
|
||||
15=M6T13,15
|
||||
16=M6T14,16
|
||||
17=M6T15,17
|
||||
18=M6T16,18
|
||||
19=M6T17,19
|
||||
20=M6T18,20
|
||||
21=M6T50,21
|
||||
22=M6T101,22
|
||||
23=M90,23
|
||||
24=M198,24
|
||||
25=M199,25
|
||||
26=M75,26
|
||||
27=M85,27
|
||||
28=M28,28
|
||||
29=E80001=0,29
|
||||
|
||||
[Languages]
|
||||
Enable=1
|
||||
Language1=Italiano,Ita.txt
|
||||
Language2=English,Eng.txt
|
||||
|
||||
[Tools]
|
||||
Drillbit=1
|
||||
Sawblade=1
|
||||
Mill=1
|
||||
Mortise=1
|
||||
Chisel=0
|
||||
DrillMaker=MakeWoodDrill.lua
|
||||
SawbladeMaker=MakeSawblade.lua
|
||||
MillMaker=MakeWoodCylMill.lua
|
||||
MortiseMaker=MakeMortise.lua
|
||||
ChiselMaker=MakeChisel.lua
|
||||
Active=1
|
||||
|
||||
[ToolHolder]
|
||||
H11.1=Standard.nge
|
||||
H11.1:MILL_NOTIP=MillNoTip.nge
|
||||
H12.1=Saw.nge
|
||||
H13.1=ChainSaw.nge
|
||||
H15.1=ChainSaw.nge
|
||||
|
||||
[Machinings]
|
||||
Drilling=1
|
||||
Sawing=1
|
||||
Milling=1
|
||||
Pocketing=1
|
||||
Mortising=1
|
||||
Chiseling=0
|
||||
SawRoughing=0
|
||||
SawFinishing=0
|
||||
|
||||
[Machining]
|
||||
InitScript=InitMach.lua
|
||||
ExitScript=ExitMach.lua
|
||||
|
||||
[Disposition]
|
||||
;InitScript=InitDisp.lua
|
||||
|
||||
[Heads]
|
||||
; 5 axis head
|
||||
H11=6608
|
||||
; 5 axis saw
|
||||
H12=6615
|
||||
; Chainsaw
|
||||
H13=6616
|
||||
; Chainsaw
|
||||
H15=6616
|
||||
|
||||
[SetUp]
|
||||
Default=Standard
|
||||
|
||||
[Estimations]
|
||||
Enable=1
|
||||
WinPlace=0,514,138,628,810
|
||||
|
||||
[VMill]
|
||||
Enable=1
|
||||
Save=0
|
||||
|
||||
@@ -0,0 +1,831 @@
|
||||
-- Descrizione macchina Essetre-ONErl by EgalWare s.r.l. 2023/11/15
|
||||
-- 2023/11/15 ver 2.5k1 Prima versione (derivata da ONE carico standard).
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( true)
|
||||
|
||||
PP_VER = '2.5k1'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
|
||||
-- Parametri macchina
|
||||
NumericalControl = 'NUM' -- NUM o TPA
|
||||
Progress = false
|
||||
Mortiser = false -- solo per One (nella Progress la stessa posizione è per ChainSaw)
|
||||
MinMchY1 = 335
|
||||
MaxMchY1 = 5700.0
|
||||
ParkMchY1 = 960.0
|
||||
MinMchY2 = -5700.0
|
||||
MaxMchY2 = -335
|
||||
ParkMchY2 = -975.0
|
||||
MinV1 = 20.0
|
||||
MaxV1 = 682.0
|
||||
ParkV1 = 670.0
|
||||
MinV2 = -682.0
|
||||
MaxV2 = -20.0
|
||||
ParkV2 = -670.0
|
||||
MinDeltaYV = 280 + 0.1
|
||||
ExtraParkV = 600
|
||||
MinY1 = MinV1 + MinDeltaYV
|
||||
MaxY1 = MaxMchY1
|
||||
MaxY2 = MaxV2 - MinDeltaYV
|
||||
MinY2 = MinMchY2
|
||||
ParkY1 = ParkV1 + MinDeltaYV
|
||||
ParkY2 = ParkV2 - MinDeltaYV
|
||||
MaxHoOpen = 420
|
||||
MaxVeOpen = 820
|
||||
RollCageMin = 120
|
||||
RollCageMax = 250
|
||||
Clamp5 = false
|
||||
LoadT = 2131.2
|
||||
UnloadT = -2400
|
||||
MillOffs = 170.0
|
||||
SawOffsX = 110.0
|
||||
SawOffsY = 0
|
||||
SawOffsZ = -149.5
|
||||
SawC1Offs = 0
|
||||
SawB1Offs = 0
|
||||
ChSawLen = 94.0
|
||||
MinX1 = 0
|
||||
MaxX1 = 2735
|
||||
MinZ1 = -1550
|
||||
MaxZ1 = -20 -- per evitare problemi con striscia led
|
||||
MinC1 = -275
|
||||
MaxC1 = 275
|
||||
MinB1 = -127
|
||||
MaxB1 = 127
|
||||
MinB1b = -119
|
||||
MaxB1b = 119
|
||||
ParkX1 = MaxX1
|
||||
ParkFrnX1 = MinX1
|
||||
ParkZ1 = -535
|
||||
ParkC1 = 90
|
||||
ParkFrnC1 = -90
|
||||
ParkB1 = 90
|
||||
ParkFrnB1 = -90
|
||||
LimX1RotSaw = 2900
|
||||
ParkCSawX1 = 1350
|
||||
ParkCSawX1S = MinX1
|
||||
ParkCSawZ1 = -50
|
||||
ParkCSaw0Z1 = -400
|
||||
ParkCSawC1 = 90
|
||||
ParkCSaw0C1 = 0
|
||||
ParkCSawB1 = 0
|
||||
TurnerOffs = 50.0
|
||||
AggLoad = 50
|
||||
DeltaTabY = 1210.0
|
||||
DeltaTabZ = -1060.0 -- per TPA la quota è dal centro di rotazione (va aggiunto MillOffs)
|
||||
DeltaRulliTraveZ = 980
|
||||
DeltaRulliTappetoZ = -485
|
||||
DimTabY = 500
|
||||
DimTabX = 24000
|
||||
AutomaticRotation = true
|
||||
AutoRotMinLen = 0
|
||||
DefTcPos1 = 'T3'
|
||||
CoeffVM = 0.5
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-ONErl.data"
|
||||
local sData = EgtGetSourceDir().."\\Beam\\Ts3Data.lua"
|
||||
if EgtExistsFile( sTs3Data) then
|
||||
EgtCopyFile( sTs3Data, sData)
|
||||
local sTs3DataOld = sTs3Data..'.old'
|
||||
EgtEraseFile( sTs3DataOld)
|
||||
EgtRenameFile( sTs3Data, sTs3DataOld)
|
||||
end
|
||||
if EgtExistsFile( sData) then
|
||||
local Machine = dofile( sData)
|
||||
if Machine then
|
||||
if Machine.Offsets then
|
||||
--NumericalControl = EgtIf( Machine.Offsets.TIPO_CN == 0, 'NUM', 'TPA')
|
||||
if Machine.Offsets.X1_POS then MinX1 = -Machine.Offsets.X1_POS end
|
||||
if Machine.Offsets.X1_NEG then MaxX1 = -Machine.Offsets.X1_NEG end
|
||||
if Machine.Offsets.Z1_NEG then MinZ1 = Machine.Offsets.Z1_NEG end
|
||||
if Machine.Offsets.Z1_POS then MaxZ1 = min( MaxZ1, Machine.Offsets.Z1_POS) end
|
||||
if Machine.Offsets.PARK_Z1 then ParkZ1 = Machine.Offsets.PARK_Z1 end
|
||||
if Machine.Offsets.C1_NEG then MinC1 = Machine.Offsets.C1_NEG end
|
||||
if Machine.Offsets.C1_POS then MaxC1 = Machine.Offsets.C1_POS end
|
||||
if Machine.Offsets.B1_NEG then MinB1 = Machine.Offsets.B1_NEG end
|
||||
if Machine.Offsets.B1_POS then MaxB1 = Machine.Offsets.B1_POS end
|
||||
if Machine.Offsets.B1_NEG1 then MinB1b = Machine.Offsets.B1_NEG1 end
|
||||
if Machine.Offsets.B1_POS1 then MaxB1b = Machine.Offsets.B1_POS1 end
|
||||
if Machine.Offsets.MIN_Y1 then MinMchY1 = Machine.Offsets.MIN_Y1 end
|
||||
if Machine.Offsets.MAX_Y1 then MaxMchY1 = Machine.Offsets.MAX_Y1 end
|
||||
if Machine.Offsets.PARK_Y1 then ParkMchY1 = Machine.Offsets.PARK_Y1 end
|
||||
if Machine.Offsets.MIN_V1 then MinV1 = Machine.Offsets.MIN_V1 end
|
||||
if Machine.Offsets.MAX_V1 then MaxV1 = Machine.Offsets.MAX_V1 end
|
||||
if Machine.Offsets.MIN_Y2 then MinMchY2 = Machine.Offsets.MIN_Y2 end
|
||||
if Machine.Offsets.MAX_Y2 then MaxMchY2 = Machine.Offsets.MAX_Y2 end
|
||||
if Machine.Offsets.PARK_Y2 then ParkMchY2 = Machine.Offsets.PARK_Y2 end
|
||||
if Machine.Offsets.MIN_V2 then MinV2 = Machine.Offsets.MIN_V2 end
|
||||
if Machine.Offsets.MAX_V2 then MaxV2 = Machine.Offsets.MAX_V2 end
|
||||
if Machine.Offsets.DIST_FTZERO then LoadT = Machine.Offsets.DIST_FTZERO end
|
||||
if Machine.Offsets.DELTA_CARICZERO then TurnerOffs = Machine.Offsets.DELTA_CARICZERO end
|
||||
if Machine.Offsets.MIN_DELTAVY then MinDeltaYV = Machine.Offsets.MIN_DELTAVY + 0.1 end
|
||||
if Machine.Offsets.DIST_UNLOAD then UnloadT = Machine.Offsets.DIST_UNLOAD end
|
||||
if Machine.Offsets.PIVOT_T1 then MillOffs = Machine.Offsets.PIVOT_T1 end
|
||||
if Machine.Offsets.OFFSETCLAMAT1 then SawC1Offs= Machine.Offsets.OFFSETCLAMAT1 end
|
||||
if Machine.Offsets.OFFSETBLAMAT1 then SawB1Offs= Machine.Offsets.OFFSETBLAMAT1 end
|
||||
if Machine.Offsets.OFFSETXT1 then DeltaTabY = -Machine.Offsets.OFFSETXT1 end
|
||||
if Machine.Offsets.OFFSETZT1 then DeltaTabZ = Machine.Offsets.OFFSETZT1 + EgtIf( NumericalControl == 'TPA', MillOffs, 0) end
|
||||
if Machine.Offsets.OFFSETZSOTTOTRAVE then DeltaRulliTraveZ = abs( Machine.Offsets.OFFSETZSOTTOTRAVE) end
|
||||
if Machine.Offsets.OFFSETZTAPPETO then DeltaRulliTappetoZ = -abs( Machine.Offsets.OFFSETZTAPPETO) end
|
||||
if Machine.Offsets.RIB_AUTO then AutomaticRotation = ( Machine.Offsets.RIB_AUTO == 1) end
|
||||
if Machine.Offsets.PROGRESS then Progress = ( Machine.Offsets.PROGRESS == 1) end
|
||||
if Machine.Offsets.MORTISER then Mortiser = ( Machine.Offsets.MORTISER == 1) end
|
||||
if Machine.Offsets.SAWOFFSX then SawOffsX = Machine.Offsets.SAWOFFSX end
|
||||
if Machine.Offsets.SAWOFFSZ then SawOffsZ = Machine.Offsets.SAWOFFSZ end
|
||||
if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end
|
||||
-- aggiustamenti
|
||||
MinY1 = MinV1 + MinDeltaYV
|
||||
MaxY1 = MaxMchY1
|
||||
ParkY1 = ParkV1 + MinDeltaYV
|
||||
MinY2 = MinMchY2
|
||||
MaxY2 = MaxV2 - MinDeltaYV
|
||||
ParkY2 = ParkV2 - MinDeltaYV
|
||||
ParkV1 = min( ParkV1, MaxV1, abs( MinV2))
|
||||
ParkV2 = -ParkV1
|
||||
ParkX1 = MaxX1
|
||||
ParkFrnX1 = MinX1
|
||||
ParkCSawZ1 = min( ParkCSawZ1, MaxZ1)
|
||||
ParkCSaw0Z1 = min( ParkCSaw0Z1, MaxZ1)
|
||||
Mortiser = ( Mortiser and not Progress)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
EmtGeneral {
|
||||
File='Essetre-ONE.nge',
|
||||
Offset = Vector3d(0.0,1360.0,-1730.0),
|
||||
AxisMaxAdjust = 300,
|
||||
AxisMaxRotAdj = 0.5,
|
||||
ExitMaxAdjust = 300,
|
||||
ExitMaxRotAdj = 0.5,
|
||||
AngDeltaMinForHome = 80,
|
||||
Special = 'Essetre-ONE.mlse',
|
||||
Processor = 'Essetre-ONE.mlpe'}
|
||||
local sBaseAux = {'BASE/SOLID', 'BASE/SIGN', 'BASE/CONVOYER', 'BASE/BELT', 'BASE/COLLISION', 'BASE/TC1'}
|
||||
if Progress then
|
||||
table.insert( sBaseAux, 'BASE/TC1S')
|
||||
table.insert( sBaseAux, 'BASE/TC2')
|
||||
table.insert( sBaseAux, 'BASE/TC3')
|
||||
else
|
||||
table.insert( sBaseAux, 'BASE/MTC')
|
||||
if Mortiser then table.insert( sBaseAux, 'BASE/TC3') end
|
||||
end
|
||||
local BaseId = EmtBase {
|
||||
Name = 'Base',
|
||||
Geo = 'BASE/GEO',
|
||||
Aux = sBaseAux}
|
||||
local X1Id = EmtAxis {
|
||||
Name = 'X1',
|
||||
Parent = 'Base',
|
||||
Token = 'X',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Y_AX(),
|
||||
Pos = Point3d(207.0,-300.0,104.0),
|
||||
Stroke = {MinX1, MaxX1},
|
||||
Home = ParkX1,
|
||||
Invert = true,
|
||||
Geo = 'X1_AXIS/GEO',
|
||||
Aux = 'X1_AXIS/SOLID'}
|
||||
-- *** Testa 1 ***
|
||||
EmtAxis {
|
||||
Name = 'Z1',
|
||||
Parent = 'X1',
|
||||
Token = 'Z',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Z_AX(),
|
||||
Pos = Point3d(0.0,-140.1,113.0),
|
||||
Stroke = {MinZ1, MaxZ1},
|
||||
Home = ParkZ1,
|
||||
Geo = 'Z1_AXIS/GEO',
|
||||
Aux = {'Z1_AXIS/SOLID', 'Z1_AXIS/COLLISION'}}
|
||||
EmtAxis {
|
||||
Name = 'C1',
|
||||
Parent = 'Z1',
|
||||
Token = 'C',
|
||||
Type = MCH_AT.ROTARY,
|
||||
Dir = Z_AX(),
|
||||
Pos = Point3d(0.0,0.0,503.0),
|
||||
Stroke = {MinC1, MaxC1},
|
||||
Home = ParkC1,
|
||||
Geo = 'C1_AXIS/GEO',
|
||||
Aux = {'C1_AXIS/SOLID', 'C1_AXIS/COLLISION'}}
|
||||
EmtAxis {
|
||||
Name = 'B1',
|
||||
Parent = 'C1',
|
||||
Token = 'B',
|
||||
Type = MCH_AT.ROTARY,
|
||||
Dir = X_AX(),
|
||||
Pos = Point3d(-108.4,0.0,MillOffs),
|
||||
Stroke = {MinB1, MaxB1},
|
||||
Home = ParkB1,
|
||||
Geo = 'B1_AXIS/GEO',
|
||||
Aux = {'B1_AXIS/SOLID', 'B1_AXIS/COLLISION'}}
|
||||
-- Frese
|
||||
local H11Id = EmtHead {
|
||||
Name = 'H11',
|
||||
Parent = 'B1',
|
||||
HSet = 'H11',
|
||||
Type = MCH_HT.STD,
|
||||
Pos = Point3d(0,0,0),
|
||||
TDir = Z_AX(),
|
||||
ADir = -Y_AX(),
|
||||
Rot1W = 0.2,
|
||||
Rot2Stroke = { MinB1, MaxB1},
|
||||
OthColl = {'B1/SOLID', 'C1/SOLID'},
|
||||
Geo = 'H11_HEAD/GEO'}
|
||||
-- Lama
|
||||
local H12Id = EmtHead {
|
||||
Name = 'H12',
|
||||
Parent = 'B1',
|
||||
HSet = 'H11',
|
||||
Type = MCH_HT.STD,
|
||||
Pos = Point3d(SawOffsX,SawOffsY,SawOffsZ),
|
||||
TDir = Vector3d( 0, sin( SawB1Offs), cos( SawB1Offs)),
|
||||
ADir = -X_AX(),
|
||||
Rot1W = 0.5,
|
||||
Rot2Stroke = { MinB1b, MaxB1b},
|
||||
OthColl = {'B1/SOLID', 'C1/SOLID'},
|
||||
Geo = 'H12_HEAD/GEO'}
|
||||
--EgtSetInfo( H12Id, 'ZMAXONROT', '1,190')
|
||||
-- Sega a catena
|
||||
EmtAxis {
|
||||
Name = 'A',
|
||||
Parent = 'B1',
|
||||
Token = '**',
|
||||
Type = MCH_AT.ROTARY,
|
||||
Dir = Z_AX(),
|
||||
Pos = Point3d( 0, 0, 0),
|
||||
Stroke = { -90.1, 90.1},
|
||||
Home = 0,
|
||||
Geo = 'A1_AXIS/GEO'}
|
||||
local H13Id
|
||||
if Progress then
|
||||
H13Id = EmtHead {
|
||||
Name = 'H13',
|
||||
Parent = 'A',
|
||||
HSet = 'H11',
|
||||
Type = MCH_HT.STD,
|
||||
Pos = Point3d( 0, 0, -ChSawLen),
|
||||
TDir = -X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Rot1W = 0.2,
|
||||
Rot2Stroke = { -90.1, 90.1},
|
||||
SolCh = MCH_SCC.ADIR_NEAR,
|
||||
OthColl = {'B1/SOLID', 'C1/SOLID'},
|
||||
Geo = 'H15_HEAD/GEO',
|
||||
Aux = 'H15_HEAD/SOLID'}
|
||||
else
|
||||
H13Id = EmtHead {
|
||||
Name = 'H13',
|
||||
Parent = 'A',
|
||||
HSet = 'H11',
|
||||
Type = MCH_HT.STD,
|
||||
Pos = Point3d( 0, 0, -ChSawLen),
|
||||
TDir = X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Rot1W = 0.2,
|
||||
Rot2Stroke = { -90.1, 90.1},
|
||||
SolCh = MCH_SCC.ADIR_NEAR,
|
||||
OthColl = {'B1/SOLID', 'C1/SOLID'},
|
||||
Geo = 'H13_HEAD/GEO',
|
||||
Aux = 'H13_HEAD/SOLID'}
|
||||
end
|
||||
EgtSetInfo( H13Id, 'ZSAFEDELTA', '60')
|
||||
EgtSetInfo( H13Id, 'ZMAXONROT', '1,80')
|
||||
-- Mortasatrice sotto la traversa (solo per One)
|
||||
local H15Id
|
||||
if not Progress and Mortiser then
|
||||
H15Id = EmtHead {
|
||||
Name = 'H15',
|
||||
Parent = 'A',
|
||||
HSet = 'H11',
|
||||
Type = MCH_HT.STD,
|
||||
Pos = Point3d( 0, 0, -ChSawLen),
|
||||
TDir = -X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Rot1W = 0.2,
|
||||
Rot2Stroke = { -90.1, 90.1},
|
||||
SolCh = MCH_SCC.ADIR_NEAR,
|
||||
OthColl = {'B1/SOLID', 'C1/SOLID'},
|
||||
Geo = 'H15_HEAD/GEO',
|
||||
Aux = 'H15_HEAD/SOLID'}
|
||||
EgtSetInfo( H15Id, 'ZSAFEDELTA', '60')
|
||||
EgtSetInfo( H15Id, 'ZMAXONROT', '1,80')
|
||||
end
|
||||
-- *** Carrelli ***
|
||||
-- Morse
|
||||
local Y1Id = EmtAxis {
|
||||
Name = 'Y1',
|
||||
Parent = 'Base',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d(-865.7,2626.8,-866.0),
|
||||
Stroke = { MinY1, MaxY1},
|
||||
Home = ParkY1,
|
||||
Geo = 'Y1_AXIS/GEO',
|
||||
Aux = 'Y1_AXIS/SOLID'}
|
||||
local PY1Id = EmtAxis {
|
||||
Name = 'PY1',
|
||||
Parent = 'Y1',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Y_AX(),
|
||||
Pos = Point3d(-469.6,2367.5,-751.6),
|
||||
Stroke = {0, MaxHoOpen},
|
||||
Home = MaxHoOpen,
|
||||
Geo = 'PY1_AXIS/GEO',
|
||||
Aux = 'PY1_AXIS/SOLID'}
|
||||
local Y2Id = EmtAxis {
|
||||
Name = 'Y2',
|
||||
Parent = 'Base',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d(865.7,2626.8,-866.0),
|
||||
Stroke = { MinY2, MaxY2},
|
||||
Home = ParkY2,
|
||||
Geo = 'Y2_AXIS/GEO',
|
||||
Aux = 'Y2_AXIS/SOLID'}
|
||||
local PY2Id = EmtAxis {
|
||||
Name = 'PY2',
|
||||
Parent = 'Y2',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Y_AX(),
|
||||
Pos = Point3d(469.6,2367.5,-751.6),
|
||||
Stroke = {0, MaxHoOpen},
|
||||
Home = MaxHoOpen,
|
||||
Geo = 'PY2_AXIS/GEO',
|
||||
Aux = 'PY2_AXIS/SOLID'}
|
||||
-- Rulli
|
||||
local V1Id = EmtAxis {
|
||||
Name = 'V1',
|
||||
Parent = 'Base',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d(-875.5,1072.0,-1509.1),
|
||||
Stroke = { MinV1, MaxV1},
|
||||
Home = ParkV1,
|
||||
Geo = 'V1_AXIS/GEO',
|
||||
Aux = {'V1_AXIS/SOLID', 'V1_AXIS/COLLISION'}}
|
||||
local PV1Id = EmtAxis {
|
||||
Name = 'PV1',
|
||||
Parent = 'V1',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Y_AX(),
|
||||
Pos = Point3d(-194.0,2364.7,-879.1),
|
||||
Stroke = {0, MaxHoOpen},
|
||||
Home = MaxHoOpen,
|
||||
Geo = 'PV1_AXIS/GEO',
|
||||
Aux = 'PV1_AXIS/SOLID'}
|
||||
local QV1Id = EmtAxis {
|
||||
Name = 'QV1',
|
||||
Parent = 'V1',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Z_AX(),
|
||||
Pos = Point3d(-287.0,2481.0,-943.0),
|
||||
Stroke = {0, MaxVeOpen},
|
||||
Home = MaxVeOpen,
|
||||
Geo = 'QV1_AXIS/GEO',
|
||||
Aux = 'QV1_AXIS/SOLID'}
|
||||
local V2Id = EmtAxis {
|
||||
Name = 'V2',
|
||||
Parent = 'Base',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d(875.5,1072.0,-1509.1),
|
||||
Stroke = { MinV2, MaxV2},
|
||||
Home = ParkV2,
|
||||
Geo = 'V2_AXIS/GEO',
|
||||
Aux = {'V2_AXIS/SOLID', 'V2_AXIS/COLLISION'}}
|
||||
local PV2Id = EmtAxis {
|
||||
Name = 'PV2',
|
||||
Parent = 'V2',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Y_AX(),
|
||||
Pos = Point3d(194.0,2364.7,-879.1),
|
||||
Stroke = {0, MaxHoOpen},
|
||||
Home = MaxHoOpen,
|
||||
Geo = 'PV2_AXIS/GEO',
|
||||
Aux = 'PV2_AXIS/SOLID'}
|
||||
local QV2Id = EmtAxis {
|
||||
Name = 'QV2',
|
||||
Parent = 'V2',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = Z_AX(),
|
||||
Pos = Point3d(287.0,2481.0,-943.0),
|
||||
Stroke = {0, MaxVeOpen},
|
||||
Home = MaxVeOpen,
|
||||
Geo = 'QV2_AXIS/GEO',
|
||||
Aux = 'QV2_AXIS/SOLID'}
|
||||
-- *** Tavola ***
|
||||
EmtAxis {
|
||||
Name = 'T',
|
||||
Parent = 'Base',
|
||||
--Token = '**',
|
||||
Type = MCH_AT.LINEAR,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d(0.0,2450.0,-958.0),
|
||||
Stroke = {-20000, 20000},
|
||||
Home = LoadT,
|
||||
Geo = 'T_AXIS/GEO'}
|
||||
EmtTable {
|
||||
Name = 'Tab',
|
||||
Parent = 'T',
|
||||
Type = MCH_TT.FLAT,
|
||||
Ref1 = Point3d( - DimTabX, DeltaTabY, DeltaTabZ),
|
||||
Geo = 'TABLE/GEO',
|
||||
Aux = 'TABLE/SOLID'}
|
||||
-- *** ToolChanger ***
|
||||
local ptTc1 = Point3d( 150, 2914, -217 + ( DeltaTabZ + DeltaRulliTraveZ + 29))
|
||||
local vtDt1 = Vector3d( 0, 0, - 102.5)
|
||||
if Progress then
|
||||
EmtTcPos {
|
||||
Name = 'T1',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T1b'}
|
||||
EmtTcPos {
|
||||
Name = 'T2',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 1 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T2'}
|
||||
else
|
||||
EmtTcPos {
|
||||
Name = 'T1',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + Vector3d( SawOffsX, -SawOffsZ, 0),
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T1'}
|
||||
end
|
||||
EmtTcPos {
|
||||
Name = 'T3',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 2 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T3'}
|
||||
EmtTcPos {
|
||||
Name = 'T4',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 3 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T4'}
|
||||
EmtTcPos {
|
||||
Name = 'T5',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 4 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T5'}
|
||||
EmtTcPos {
|
||||
Name = 'T6',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 5 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T6'}
|
||||
EmtTcPos {
|
||||
Name = 'T7',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 6 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T7'}
|
||||
EmtTcPos {
|
||||
Name = 'T8',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 7 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T8'}
|
||||
EmtTcPos {
|
||||
Name = 'T9',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 8 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T9'}
|
||||
EmtTcPos {
|
||||
Name = 'T10',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc1 + 9 * vtDt1,
|
||||
TDir = -Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T10'}
|
||||
if Progress then
|
||||
local ptTc2 = Point3d( 150, -170, -217 + ( DeltaTabZ + DeltaRulliTraveZ + 29))
|
||||
local vtDt2 = Vector3d( 0, 0, - 102.5)
|
||||
EmtTcPos {
|
||||
Name = 'T11',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + Vector3d( SawOffsX, SawOffsZ, 0),
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T11'}
|
||||
EmtTcPos {
|
||||
Name = 'T13',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 2 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T13'}
|
||||
EmtTcPos {
|
||||
Name = 'T14',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 3 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T14'}
|
||||
EmtTcPos {
|
||||
Name = 'T15',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 4 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T15'}
|
||||
EmtTcPos {
|
||||
Name = 'T16',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 5 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T16'}
|
||||
EmtTcPos {
|
||||
Name = 'T17',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 6 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T17'}
|
||||
EmtTcPos {
|
||||
Name = 'T18',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 7 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T18'}
|
||||
EmtTcPos {
|
||||
Name = 'T19',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 8 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T19'}
|
||||
EmtTcPos {
|
||||
Name = 'T20',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2 + 9 * vtDt2,
|
||||
TDir = Y_AX(),
|
||||
ADir = -X_AX(),
|
||||
Geo = 'BASE/T20'}
|
||||
else
|
||||
local ptTc2a = Point3d( 0.5, 19.7, -216.5 + ( DeltaTabZ + DeltaRulliTraveZ + 29))
|
||||
local ptTc2b = Point3d( 0.5, 199.7, -364.0 + ( DeltaTabZ + DeltaRulliTraveZ + 29))
|
||||
EmtTcPos {
|
||||
Name = 'T101',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2a,
|
||||
TDir = X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Geo = 'BASE/T101'}
|
||||
EmtTcPos {
|
||||
Name = 'T201',
|
||||
Parent = 'Base',
|
||||
Pos = ptTc2b,
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T201'}
|
||||
end
|
||||
if Progress or Mortiser then
|
||||
local ptTc3 = Point3d( 480, 2233.9, -200.8 + ( DeltaTabZ + DeltaRulliTraveZ + 29))
|
||||
local sName = EgtIf( Progress, 'T101', 'T301')
|
||||
EmtTcPos {
|
||||
Name = sName,
|
||||
Parent = 'Base',
|
||||
Pos = ptTc3,
|
||||
TDir = -X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Geo = 'BASE/T301'}
|
||||
end
|
||||
|
||||
-- Aggiusto posizioni geometriche
|
||||
local vtMovB = Vector3d( 0, 0, ( DeltaTabZ + DeltaRulliTraveZ + 80)) -- -( -1060 + 980)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'SOLID'), vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'COLLISION'), vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'SIGN') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC1') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC1S') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC2') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC3') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'MTC') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( X1Id, 'SOLID'), vtMovB, GDB_RT.GLOB)
|
||||
local vtMovC = Vector3d( 0, 0, ( DeltaTabZ + DeltaRulliTappetoZ + 1545)) -- -( -1060 - 485)
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'BELT'), vtMovC, GDB_RT.GLOB)
|
||||
local vtMove = Vector3d( 0, ( DeltaTabY - 1210.0), ( DeltaTabZ + 1060.0))
|
||||
EgtMove( EgtGetFirstNameInGroup( BaseId, 'CONVOYER'), 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)
|
||||
EgtMove( EgtGetFirstNameInGroup( PY2Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( V1Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( PV1Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( QV1Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( V2Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( PV2Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
EgtMove( EgtGetFirstNameInGroup( QV2Id, 'SOLID'), vtMove, GDB_RT.GLOB)
|
||||
|
||||
-- Assegno identificativi alle spie delle morse
|
||||
PY1LightId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( PY1Id, 'SOLID') or GDB_ID.NULL, 'Light')
|
||||
PY2LightId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( PY2Id, 'SOLID') or GDB_ID.NULL, 'Light')
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzioni richiamate per modificare i dati macchina in casi particolari
|
||||
--function OnSetTable()
|
||||
--end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function OnSetHead()
|
||||
-- se testa H11 (fresa) o H12 (lama)
|
||||
if EMC.HEAD == 'H11' or EMC.HEAD == 'H12' then
|
||||
if EMC.HEAD == 'H11' then
|
||||
local dRawH = GetRawHeight()
|
||||
EmtModifyAxisHome( 'Z1', ParkZ1 + EgtIf( dRawH > 650, EgtIf( EMC.TOTDIAM < 61, 235, 165), 0))
|
||||
EmtModifyAxisDirection( 'B1', X_AX())
|
||||
else
|
||||
EmtModifyAxisHome( 'Z1', ParkZ1)
|
||||
EmtModifyAxisDirection( 'B1', Vector3d( cos( SawC1Offs), -sin( SawC1Offs), 0))
|
||||
end
|
||||
local nPos = tonumber( string.sub( EMC.TCPOS, 2)) or 0
|
||||
if nPos <= 10 then
|
||||
EmtModifyAxisHome( 'X1', ParkX1)
|
||||
EmtModifyAxisHome( 'C1', ParkC1)
|
||||
EmtModifyAxisHome( 'B1', ParkB1)
|
||||
else
|
||||
EmtModifyAxisHome( 'X1', ParkFrnX1)
|
||||
EmtModifyAxisHome( 'C1', ParkFrnC1)
|
||||
EmtModifyAxisHome( 'B1', ParkFrnB1)
|
||||
end
|
||||
-- se testa H13 (sega a catena)
|
||||
elseif EMC.HEAD == 'H13' then
|
||||
-- aggiustamenti per distanza
|
||||
local dDist = EgtIf( EMC.DIST and abs( EMC.DIST) > 1, EMC.DIST, ChSawLen)
|
||||
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, 0, -dDist))
|
||||
local vtMove = Point3d( 0, 0, -dDist) - Point3d( EMC.EXITPOS)
|
||||
local ExitId = EgtGetFirstNameInGroup( EgtGetHeadId( EMC.HEAD), 'T'..tostring( EMC.EXIT))
|
||||
EgtMove( ExitId, vtMove)
|
||||
-- recupero valore asse A bloccato
|
||||
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
||||
local CSawPosA = tonumber( sVal:sub( 3) or '')
|
||||
EmtModifyAxisHome( 'X1', ParkCSawX1)
|
||||
EmtModifyAxisHome( 'Z1', GetChainSawZHomeFromVirtualAxis( CSawPosA))
|
||||
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA))
|
||||
EmtModifyAxisHome( 'B1', ParkCSawB1)
|
||||
EmtModifyAxisDirection( 'B1', X_AX())
|
||||
-- se testa H15 (mortasatrice di One)
|
||||
elseif EMC.HEAD == 'H15' then
|
||||
error( 'Error : Mortiser not yet managed')
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che restituisce l'altezza del pezzo in lavorazione
|
||||
function GetRawHeight()
|
||||
local nRawId = EgtGetFirstRawPart()
|
||||
if not nRawId then
|
||||
local vLnkRawId = EmtGetAllLinkedRawParts()
|
||||
if vLnkRawId and #vLnkRawId >0 then nRawId = vLnkRawId[1] end
|
||||
end
|
||||
local b3Raw = EgtGetRawPartBBox( nRawId or GDB_ID.NULL)
|
||||
if not b3Raw or b3Raw:isEmpty() then return 0 end
|
||||
return b3Raw:getDimZ()
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che riconosce testa per sega a catena
|
||||
function HeadIsChainSaw( sHead)
|
||||
return ( sHead == 'H13' or sHead == 'H15')
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che calcola la posizione Home di Z per la sega a catena dal valore dell'asse virtuale
|
||||
function GetChainSawZHomeFromVirtualAxis( dPosA)
|
||||
-- se A=0 -> T101 -> HomeZ = -400
|
||||
if abs( dPosA) < 0.1 then
|
||||
return ParkCSaw0Z1
|
||||
-- altrimenti A=-90 -> T102 o A=90 -> T104 -> HomeZ = -100
|
||||
else
|
||||
return ParkCSawZ1
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale
|
||||
function GetChainSawCHomeFromVirtualAxis( dPosA)
|
||||
-- se A=0 -> T101 -> HomeC = 0
|
||||
if abs( dPosA) < 0.1 then
|
||||
return ParkCSaw0C1
|
||||
-- altrimenti A=-90 -> T102 -> HomeC = 90
|
||||
elseif abs( dPosA + 90) < 0.1 then
|
||||
return 90
|
||||
-- altrimenti A=90 -> T104 -> HomeC = -90
|
||||
elseif abs( dPosA - 90) < 0.1 then
|
||||
return -90
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale
|
||||
function GetZExtra( sHead, dAngV)
|
||||
if sHead == 'H11' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif sHead == 'H12' then
|
||||
if abs( dAngV) < 30.1 then
|
||||
return 400
|
||||
elseif abs( dAngV) < 45.1 then
|
||||
return 300
|
||||
elseif abs( dAngV) < 60.1 then
|
||||
return 200
|
||||
elseif abs( dAngV) < 90.1 then
|
||||
return 10
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per impostare spia stato morsa carrello Y1
|
||||
function SetPY1Light( bClosed)
|
||||
if not PY1LightId then return end
|
||||
EgtSetColor( PY1LightId, EgtIf( bClosed, 'RED', 'LIME'))
|
||||
if bClosed then
|
||||
EgtSetInfo( PY1LightId, 'On', '1')
|
||||
else
|
||||
EgtRemoveInfo( PY1LightId, 'On')
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per leggere lo stato della morsa carrello Y1
|
||||
function GetPY1Light()
|
||||
if not PY1LightId then return false end
|
||||
return ( EgtGetInfo( PY1LightId, 'On') == '1')
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per impostare spia stato morsa carrello Y2
|
||||
function SetPY2Light( bClosed)
|
||||
if not PY2LightId then return end
|
||||
EgtSetColor( PY2LightId, EgtIf( bClosed, 'RED', 'LIME'))
|
||||
if bClosed then
|
||||
EgtSetInfo( PY2LightId, 'On', '1')
|
||||
else
|
||||
EgtRemoveInfo( PY2LightId, 'On')
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per leggere lo stato della morsa carrello Y2
|
||||
function GetPY2Light()
|
||||
if not PY2LightId then return false end
|
||||
return ( EgtGetInfo( PY2LightId, 'On') == '1')
|
||||
end
|
||||
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione per resettare tutte le attivazioni della macchina
|
||||
function OnResetMachine()
|
||||
EmtUnlinkAllRawPartsFromGroups()
|
||||
EmtUnlinkAllFixturesFromGroups()
|
||||
SetPY1Light( false)
|
||||
SetPY2Light( false)
|
||||
-- nascondo Vmill
|
||||
local nRawId = EgtGetFirstRawPart()
|
||||
while nRawId do
|
||||
local nVmId = EgtGetFirstNameInGroup( nRawId, 'VMill')
|
||||
local nId = EgtGetFirstInGroup( nRawId)
|
||||
while nId do
|
||||
EgtSetStatus( nId, EgtIf( nId ~= nVmId, GDB_ST.ON, GDB_ST.OFF))
|
||||
nId = EgtGetNext( nId)
|
||||
end
|
||||
nRawId = EgtGetNextRawPart( nRawId)
|
||||
end
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'VMill') or GDB_ID.NULL, GDB_ST.OFF)
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,712 @@
|
||||
// English machine message file 2022/08/27
|
||||
|
||||
[MDI]
|
||||
1=Load tool n° 1
|
||||
2=Load tool n° 2
|
||||
3=Load tool n° 3
|
||||
4=Load tool n° 4
|
||||
5=Load tool n° 5
|
||||
6=Load tool n° 6
|
||||
7=Load tool n° 7
|
||||
8=Load tool n° 8
|
||||
9=Load tool n° 9
|
||||
10=Load tool n° 10
|
||||
11=Load tool n° 11
|
||||
12=Load tool n° 12
|
||||
13=Load tool n° 13
|
||||
14=Load tool n° 14
|
||||
15=Load tool n° 15
|
||||
16=Load tool n° 16
|
||||
17=Load tool n° 17
|
||||
18=Load tool n° 18
|
||||
19=Unload all tool
|
||||
20=Activate tool magazine
|
||||
21=Open rotary tool change protection
|
||||
22=Closed rotary tool change protection
|
||||
23=Pull up front stop
|
||||
24=Pull down front stop
|
||||
25=Pull up lateral stop
|
||||
26=Pull down side stop
|
||||
27=Manual tool number assignment in the 5-axis head
|
||||
28 = Workplan cleaning cycle
|
||||
|
||||
[PLC]
|
||||
1=Machine switched off
|
||||
2=FREE MESSAGE
|
||||
3=UPS malfunction in machine electric cabinet
|
||||
4=UPS battery discharged in machine electric cabinet
|
||||
5=FREE MESSAGE
|
||||
6=Home axes B and C not executed
|
||||
7=FREE MESSAGE
|
||||
8=Check oil lubrication of chain aggregates
|
||||
9=Thermal magnetic circuit breaker intervened in machine electric cabinet
|
||||
10=FREE MESSAGE
|
||||
11=FREE MESSAGE
|
||||
12=Minimum grease level in the punp
|
||||
13=Axis lubrication plant fault
|
||||
14=Compressed air is missing
|
||||
15=Over temperature in machine electric cabinet left
|
||||
16=Over temperature in machine electric cabinet right
|
||||
17=Electrospindle and motor cooler malfunction
|
||||
18=FREE MESSAGE
|
||||
19=FREE MESSAGE
|
||||
20=FREE MESSAGE
|
||||
21=FREE MESSAGE
|
||||
22=FREE MESSAGE
|
||||
23=Possible collision electrospindle with rotary tool change
|
||||
24=X axis drive in alarm
|
||||
25=Y axis drive in alarm
|
||||
26=Z axis drive in alarm
|
||||
27=B axis drive in alarm
|
||||
28=C axis drive in alarm
|
||||
29=U axis drive in alarm
|
||||
30=Y1 axis drive in alarm
|
||||
31=W axis drive in alarm
|
||||
32=X axis drive not enabled
|
||||
33=Y axis drive not enabled
|
||||
34=Z axis drive not enabled
|
||||
35=B axis drive not enabled
|
||||
36=C axis drive not enabled
|
||||
37=U axis drive not enabled
|
||||
38=Y1 axis drive not enabled
|
||||
39=W axis drive not enabled
|
||||
40=V axis drive in alarm
|
||||
41=V axis drive not enabled
|
||||
42=A axis drive in alarm
|
||||
43=A axis drive not enabled
|
||||
44=Rotary tool change warehouse protection open
|
||||
45=Waiting for insertion of blade motor contactor
|
||||
46=Waiting for insertion of electrospindle contactor
|
||||
47=Electrospindle position not ok for side tool magazine exit
|
||||
48=Electrospindle position not ok for under beam tool magazine exit
|
||||
49=Electrospindle position not ok for chain saw tool magazine exit
|
||||
50=Alarm of safety zones workplan
|
||||
51=Pre-alarm workplan safety zones
|
||||
52=FREE MESSAGE
|
||||
53=Obstacle descent portal suction cap
|
||||
54=Obstacle descent electrospindle suction cap
|
||||
55=Obstacle descent saw blade suction cap
|
||||
56=Inverter malfunction cportal suction cap
|
||||
57=Inverter malfunction celectrospindle suction cap
|
||||
58=Inverter malfunction csaw blade suction cap
|
||||
59=*** CE MAINTENANCE ***
|
||||
60=FREE MESSAGE
|
||||
61=FREE MESSAGE
|
||||
62=FREE MESSAGE
|
||||
63=FREE MESSAGE
|
||||
64=FREE MESSAGE
|
||||
65=FREE MESSAGE
|
||||
66=FREE MESSAGE
|
||||
67=FREE MESSAGE
|
||||
68=FREE MESSAGE
|
||||
69=FREE MESSAGE
|
||||
70=FREE MESSAGE
|
||||
71=FREE MESSAGE
|
||||
72=FREE MESSAGE
|
||||
73=FREE MESSAGE
|
||||
74=FREE MESSAGE
|
||||
75=FREE MESSAGE
|
||||
76=FREE MESSAGE
|
||||
77=FREE MESSAGE
|
||||
78=FREE MESSAGE
|
||||
79=FREE MESSAGE
|
||||
80=FREE MESSAGE
|
||||
81=Side tool loader not backwards program M90 and then M195
|
||||
82=Side tool magazine forward sensor not Ok
|
||||
83=Side tool magazine back sensor not Ok
|
||||
84=Tool magazine under beam not back program M90 and then M197
|
||||
85=Under beam tool magazine forward sensor not Ok
|
||||
86=Under beam tool magazine back sensor not Ok
|
||||
87=Chain saw tool magazine not back program M90 and then M199
|
||||
88=Tool magazine chain saw forward Sensor not Ok
|
||||
89=Tool magazine chain saw back Sensor not Ok
|
||||
90=FREE MESSAGE
|
||||
91=FREE MESSAGE
|
||||
92=Contemporary sensors for side tool change magazine
|
||||
93=Contemporary sensors for under beam tool change magazine sottotrave
|
||||
94=Contemporary sensors for chain saw tool change magazine catena
|
||||
95=Tuning inserted allowed only manual movements
|
||||
96=FREE MESSAGE
|
||||
97=FREE MESSAGE
|
||||
98=FREE MESSAGE
|
||||
99=FREE MESSAGE
|
||||
100=FREE MESSAGE
|
||||
101=Number of revolutions electrospindle or motor not Ok
|
||||
102=FREE MESSAGE
|
||||
103=FREE MESSAGE
|
||||
104=FREE MESSAGE
|
||||
105=Rotation electrospindle forbidden without tools
|
||||
106=FREE MESSAGE
|
||||
107=FREE MESSAGE
|
||||
108=Wait for power
|
||||
109=Press reset button
|
||||
110=FREE MESSAGE
|
||||
111=FREE MESSAGE
|
||||
112=FREE MESSAGE
|
||||
113=FREE MESSAGE
|
||||
114=FREE MESSAGE
|
||||
115=Overtemperature brake resistors mill inverter
|
||||
116=Mill Electrospindle overtemperature
|
||||
117=Saw Motor overtemperature
|
||||
118=Flow switch Electrospindle not Ok
|
||||
119=Saw blade Motor flow switch not Ok
|
||||
120=Overcurrent inverter
|
||||
121=Problem on electro-valve or vacuum workplan: zone 1
|
||||
122=Problem on electro-valve or vacuum workplan: zone 2
|
||||
123=Problem on electro-valve or vacuum workplan: zone 3
|
||||
124=Problem on electro-valve or vacuum workplan: zone 4
|
||||
125=Problem on electro-valve or vacuum workplan: zone 5
|
||||
126=Problem on electro-valve or vacuum workplan: zone 6
|
||||
127=Problem on electro-valve or vacuum workplan: zone 7
|
||||
128=Problem on electro-valve or vacuum workplan: zone 8
|
||||
129=Problem on electro-valve or vacuum workplan: zone 9
|
||||
130=Problem on electro-valve or vacuum workplan: zone 10
|
||||
131=Problem on electro-valve or vacuum workplan: zone 11
|
||||
132=Problem on electro-valve or vacuum workplan: zone 12
|
||||
133=Problem on electro-valve or vacuum workplan: zone 13
|
||||
134=Problem on electro-valve or vacuum workplan: zone 14
|
||||
135=FREE MESSAGE
|
||||
136=FREE MESSAGE
|
||||
137=FREE MESSAGE
|
||||
138=Switch on the remote control
|
||||
139=Remote Control Battery Almost Empty
|
||||
140=FREE MESSAGE
|
||||
141=FREE MESSAGE
|
||||
142=Problem on electro-valve or sensor in lateral zero reference workplan 1
|
||||
143=Problem on electro-valve or sensor in lateral zero reference workplan 2
|
||||
144=Problem on electro-valve or sensor in lateral zero reference workplan 3
|
||||
145=Problem on electro-valve or sensor in lateral zero reference workplan 4
|
||||
146=Problem on electro-valve or sensor in lateral zero reference workplan 5
|
||||
147=Problem on electro-valve or sensor in lateral zero reference workplan 6
|
||||
148=Problem on electro-valve or sensor in lateral zero reference workplan 7
|
||||
149=Problem on electro-valve or sensor in the front zero reference
|
||||
150=FREE MESSAGE
|
||||
151=Electrospindle tool locking defect
|
||||
152=FREE MESSAGE
|
||||
153=Tool on Electrospindle with E80001=0
|
||||
154=FREE MESSAGE
|
||||
155=Electrospindle tool unlock defect
|
||||
156=FREE MESSAGE
|
||||
157=FREE MESSAGE
|
||||
158=FREE MESSAGE
|
||||
159=Electrospindle Piston unlocking tool not at rest
|
||||
160=FREE MESSAGE
|
||||
161=FREE MESSAGE
|
||||
162=FREE MESSAGE
|
||||
163=FREE MESSAGE
|
||||
164=FREE MESSAGE
|
||||
165=FREE MESSAGE
|
||||
166=FREE MESSAGE
|
||||
167=FREE MESSAGE
|
||||
168=FREE MESSAGE
|
||||
200=Defect on one or more EtherCAT modules: restart the machine
|
||||
201=Function Block Safety in error - input signal discrepancy
|
||||
202=Safety module communication defect
|
||||
203=Safety output defect
|
||||
204=Service Mode ON
|
||||
|
||||
[CNC]
|
||||
1=Unknown character or Axis not recognized by the system
|
||||
2=Unknown G Function or or a mandatory argument missing after the G
|
||||
3=Attribute of a G code wrongly positioned
|
||||
4=Option not enabled or option parameter conflict
|
||||
5=Geometric Programming Option not enabled
|
||||
6=Polynomial interpolation option missing
|
||||
7=Movements parallel to the inclined axes
|
||||
8=Tool corrector number too high
|
||||
9=Too many consecutive non executable blocks
|
||||
10=PLC I/O access: wrong bus exchange
|
||||
11=PLC I/O access: wrong bus initialization or exchange inhibited
|
||||
12=PLC I/O access: wrong rack parameter
|
||||
13=PLC I/O access: card missing
|
||||
14=Inclined plane option missing - PLC I/O access: channel missing
|
||||
15=Invalid line configuration
|
||||
16=Error in activating RTCP
|
||||
17=Missing closing bracket
|
||||
18=Servo error: P50 too small
|
||||
19=RESET RAM at the next power-up
|
||||
20=M02 missing or blocks left non-executable by a personalized G code
|
||||
21=Incoherent definition of the blank in 3D
|
||||
22=Current Part Program corrupted
|
||||
24=Error in the definition of an inclined plane
|
||||
25=Unknown sub-programme or block number
|
||||
26=Sub-programme nesting too deep
|
||||
27=Tool Radius Correction
|
||||
28=Syntax error in CCSPD or working radius definition
|
||||
29=No programmed range in CCSPD / No suitable range for S in G97
|
||||
30=Serial line error
|
||||
31=Mode PPR or PPL impossible with the selected line's protocol
|
||||
32=Axis referencing error
|
||||
33=All channels waiting for synchronization
|
||||
34=Minimum radius for interpolation reached - G21
|
||||
35=Searched for block number, not found
|
||||
36=Part programme memory full
|
||||
37=Maximum feed exceeded in thread cutting
|
||||
38=Control of a spindle already affected to another channel
|
||||
39=Axis synchronisation fault
|
||||
40=Excessive following error on axis 0
|
||||
41=Excessive following error on axis 1
|
||||
42=Excessive following error on axis 2
|
||||
43=Excessive following error on axis 3
|
||||
44=Excessive following error on axis 4
|
||||
45=Excessive following error on axis 5
|
||||
46=Excessive following error on axis 6
|
||||
47=Excessive following error on axis 7
|
||||
48=Excessive following error on axis 8
|
||||
49=Excessive following error on axis 9
|
||||
50=Excessive following error on axis 10
|
||||
51=Excessive following error on axis 11
|
||||
52=Excessive following error on axis 12
|
||||
53=Excessive following error on axis 13
|
||||
54=Excessive following error on axis 14
|
||||
55=Excessive following error on axis 15
|
||||
56=Excessive following error on axis 16
|
||||
57=Excessive following error on axis 17
|
||||
58=Excessive following error on axis 18
|
||||
59=Excessive following error on axis 19
|
||||
60=Excessive following error on axis 20
|
||||
61=Excessive following error on axis 21
|
||||
62=Excessive following error on axis 22
|
||||
63=Excessive following error on axis 23
|
||||
64=Excessive following error on axis 24
|
||||
65=Excessive following error on axis 25
|
||||
66=Excessive following error on axis 26
|
||||
67=Excessive following error on axis 27
|
||||
68=Excessive following error on axis 28
|
||||
69=Excessive following error on axis 29
|
||||
70=Excessive following error on axis 30
|
||||
71=Excessive following error on axis 31
|
||||
72=Incremental programming after an incomplete block
|
||||
75=G20 to G21 or G22 transition
|
||||
76=In G21 : turning or milling fixed cycles are not allowed
|
||||
77=Tool type not compatible with the operation
|
||||
78=Syntax error in synchronizing channels
|
||||
79=Invalid TANDEM Configuration
|
||||
80=Drive not in HALT
|
||||
91=Unknown parameter or variable
|
||||
92=Error in assignment to a parameter or variable
|
||||
93=Error in the definition of a parameter or in the expression of a test
|
||||
94=Impossible operation
|
||||
95=Trying to write to a read only parameter
|
||||
96=Preceding block "look ahead"
|
||||
97=Assignment of a parameter in G76 not possible
|
||||
98=Writing by a channel of a dynamic operator already used by another channel
|
||||
99=Error associated with the N/M AUTO function
|
||||
101=PGP: insufficient data in the programming of a circle
|
||||
102=PGP: when programming a line by angle and one coordinate
|
||||
106=In G2 G3: 3rd axis programmed without helical option
|
||||
107=PGP: circle programmed by its radius and end point
|
||||
110=PGP: syntax error in the first of 2 blocks.
|
||||
111=PGP: syntax error in the second block.
|
||||
112=PGP: line-line intersection in which
|
||||
113=PGP: the values programmed in the two blocks do not allow
|
||||
114=PGP: intersection or tangent point not defined by ET+ ET- ES+ ES-
|
||||
121=PGP: syntax error in last of 3 blocks
|
||||
122=PGP: the first two blocks are non-secant lines
|
||||
123=PGP: data in the 3 blocks doesn't allow the tangent points to be calculated
|
||||
124=PGP: tangent point second-third block not defined by ET+ or ET-
|
||||
130=no axis movement in 1 of the 2 blocks connected by a fillet or chamfer
|
||||
131=M0,M1 or M2 is not allowed in a block with a fillet or chamfer
|
||||
135=A chamfer can only be between 2 lines
|
||||
136=More than 2 non movement blocks between 2 elements whose
|
||||
137=Change of interpolation plane even though the block is not valid
|
||||
138=Change of interpolation plane must be in G40
|
||||
139=Two parallel [carried] axes programmed in the same block
|
||||
140=Programming error in radius correction
|
||||
141=Parallel carried axes : programming a circle whose
|
||||
143=G73/G74 is not allowed in radius correction mode
|
||||
144=Quantified axis displacement is different from the Increment
|
||||
145=G29: abs value > 1 mm
|
||||
146=3D Tool offsets, with G29 or G43
|
||||
148=Number of interpolated axes higher than the maximum allowed
|
||||
149=Tool radius to large in relation to the programmed trajectory
|
||||
150=X axis out of limits
|
||||
151=Y axis out of limits
|
||||
152=Z axis out of limits
|
||||
153=U axis out of limits
|
||||
154=V axis out of limits
|
||||
155=W axis out of limits
|
||||
156=A axis out of limits
|
||||
157=B axis out of limits
|
||||
158=C axis out of limits
|
||||
159=Move demanded on a not-homed axis
|
||||
160=Slave axis homing error
|
||||
161=Synchro axis homing error
|
||||
190=Too many nested jumps or loops
|
||||
191=Syntax error in structured programming
|
||||
192=Unknown or forbidden key word
|
||||
193=Structural error
|
||||
195=Stack overflow
|
||||
196=Error in the table index declaration
|
||||
197=Use of an undeclared symbol
|
||||
198=Syntax error in declaring the symbol for a variable
|
||||
199=Syntax error in declaring a variable
|
||||
200=Poor signal or complementarity error on handwheel 0
|
||||
201=Poor signal or complementarity error on handwheel 1
|
||||
202=Poor signal or complementarity error on handwheel 2
|
||||
203=Poor signal or complementarity error on handwheel 3
|
||||
210=Poor signal or channel loss or serial feedback fault on axis 0
|
||||
211=Poor signal or channel loss or serial feedback fault on axis 1
|
||||
212=Poor signal or channel loss or serial feedback fault on axis 2
|
||||
213=Poor signal or channel loss or serial feedback fault on axis 3
|
||||
214=Poor signal or channel loss or serial feedback fault on axis 4
|
||||
215=Poor signal or channel loss or serial feedback fault on axis 5
|
||||
216=Poor signal or channel loss or serial feedback fault on axis 6
|
||||
217=Poor signal or channel loss or serial feedback fault on axis 7
|
||||
218=Poor signal or channel loss or serial feedback fault on axis 8
|
||||
219=Poor signal or channel loss or serial feedback fault on axis 9
|
||||
220=Poor signal or channel loss or serial feedback fault on axis 10
|
||||
221=Poor signal or channel loss or serial feedback fault on axis 11
|
||||
222=Poor signal or channel loss or serial feedback fault on axis 12
|
||||
223=Poor signal or channel loss or serial feedback fault on axis 13
|
||||
224=Poor signal or channel loss or serial feedback fault on axis 14
|
||||
225=Poor signal or channel loss or serial feedback fault on axis 15
|
||||
226=Poor signal or channel loss or serial feedback fault on axis 16
|
||||
227=Poor signal or channel loss or serial feedback fault on axis 17
|
||||
228=Poor signal or channel loss or serial feedback fault on axis 18
|
||||
229=Poor signal or channel loss or serial feedback fault on axis 19
|
||||
230=Poor signal or channel loss or serial feedback fault on axis 20
|
||||
231=Poor signal or channel loss or serial feedback fault on axis 21
|
||||
232=Poor signal or channel loss or serial feedback fault on axis 22
|
||||
233=Poor signal or channel loss or serial feedback fault on axis 23
|
||||
234=Poor signal or channel loss or serial feedback fault on axis 24
|
||||
235=Poor signal or channel loss or serial feedback fault on axis 25
|
||||
236=Poor signal or channel loss or serial feedback fault on axis 26
|
||||
237=Poor signal or channel loss or serial feedback fault on axis 27
|
||||
238=Poor signal or channel loss or serial feedback fault on axis 28
|
||||
239=Poor signal or channel loss or serial feedback fault on axis 29
|
||||
240=Poor signal or channel loss or serial feedback fault on axis 30
|
||||
241=Poor signal or channel loss or serial feedback fault on axis 31
|
||||
245=Digital servo loop fault
|
||||
246=Bad homing reference mark detected
|
||||
247=Drive parameter fault DISC NT
|
||||
248=Axis drive or digital spindle fault
|
||||
249=Communication error between CNC and PLC
|
||||
250=Invalid PERSOChip
|
||||
251=Inconsistent PERSOChip Data
|
||||
252=Invalid Licence File
|
||||
253=Nesting of subroutines called by M function not allowed
|
||||
260=Executive memory busy
|
||||
261=Programme number too high
|
||||
262=NU number not amongst those authorised
|
||||
263=TEST or GRAPHIC mode obligatory after initial load or modification
|
||||
264=No dimension in the profiling plane or dimension outside plane
|
||||
265=First positioning block missing
|
||||
266=Insufficient memory
|
||||
267=Invalid character in pocket syntax
|
||||
268=Incomplete pocket block or containing unauthorised data
|
||||
269=Incomplete profiling block
|
||||
270=Pocket definition, partially or totally missing
|
||||
271=Tool orientation not perpendicular in relation to profiling plane
|
||||
272=Real tool incompatible with pocket machining data
|
||||
273=Change of profiling plane between pocket definition and execution
|
||||
274=Two pocket definitions overlapped
|
||||
275=NU0 programmed with 59
|
||||
276=Zero pocket depth
|
||||
277=Incomplete start or end point coordinates in pocket definition
|
||||
278=Spindle rotation inconsistent with that requested in pocket definition
|
||||
279=G Function unauthorised in pocket programming block
|
||||
280=First profiling block incomplete
|
||||
281=Profile inconsistency
|
||||
282=Incorrect pocket parameters
|
||||
283=Outer profile must exist and be unique
|
||||
284=Error in profile definition
|
||||
285=Too many profiles
|
||||
286=Tool pass too great relative to the tool diameter
|
||||
287=Tool pass too shallow in relation to the dimensions
|
||||
288=Finishing OP start point at a re-entrant angle or an area not yet
|
||||
289=Tool diameter too large
|
||||
290=Pocket: Internal error
|
||||
291=Finishing start point outside the profile
|
||||
292=Double positioning at start of profile
|
||||
293=Rough end point found in face milling section
|
||||
300=Axis 0 declared in P2 but not detected on the bus or feedback fault
|
||||
301=Axis 1 declared in P2 but not detected on the bus or feedback fault
|
||||
302=Axis 2 declared in P2 but not detected on the bus or feedback fault
|
||||
303=Axis 3 declared in P2 but not detected on the bus or feedback fault
|
||||
304=Axis 4 declared in P2 but not detected on the bus or feedback fault
|
||||
305=Axis 5 declared in P2 but not detected on the bus or feedback fault
|
||||
306=Axis 6 declared in P2 but not detected on the bus or feedback fault
|
||||
307=Axis 7 declared in P2 but not detected on the bus or feedback fault
|
||||
308=Axis 8 declared in P2 but not detected on the bus or feedback fault
|
||||
309=Axis 9 declared in P2 but not detected on the bus or feedback fault
|
||||
310=Axis 10 declared in P2 but not detected on the bus or feedback fault
|
||||
311=Axis 11 declared in P2 but not detected on the bus or feedback fault
|
||||
312=Axis 12 declared in P2 but not detected on the bus or feedback fault
|
||||
313=Axis 13 declared in P2 but not detected on the bus or feedback fault
|
||||
314=Axis 14 declared in P2 but not detected on the bus or feedback fault
|
||||
315=Axis 15 declared in P2 but not detected on the bus or feedback fault
|
||||
316=Axis 16 declared in P2 but not detected on the bus or feedback fault
|
||||
317=Axis 17 declared in P2 but not detected on the bus or feedback fault
|
||||
318=Axis 18 declared in P2 but not detected on the bus or feedback fault
|
||||
319=Axis 19 declared in P2 but not detected on the bus or feedback fault
|
||||
320=Axis 20 declared in P2 but not detected on the bus or feedback fault
|
||||
321=Axis 21 declared in P2 but not detected on the bus or feedback fault
|
||||
322=Axis 22 declared in P2 but not detected on the bus or feedback fault
|
||||
323=Axis 23 declared in P2 but not detected on the bus or feedback fault
|
||||
324=Axis 24 declared in P2 but not detected on the bus or feedback fault
|
||||
325=Axis 25 declared in P2 but not detected on the bus or feedback fault
|
||||
326=Axis 26 declared in P2 but not detected on the bus or feedback fault
|
||||
327=Axis 27 declared in P2 but not detected on the bus or feedback fault
|
||||
328=Axis 28 declared in P2 but not detected on the bus or feedback fault
|
||||
329=Axis 29 declared in P2 but not detected on the bus or feedback fault
|
||||
330=Axis 30 declared in P2 but not detected on the bus or feedback fault
|
||||
331=Axis 31 declared in P2 but not detected on the bus or feedback fault
|
||||
400=Loading dyn ops in C: The size of user code is too big
|
||||
401=Loading dyn ops in C: Format error
|
||||
402=Loading dyn ops in C: Checksum error
|
||||
403=The system has insufficient memory for dyn ops in C
|
||||
404=Loading dyn ops in C: Open error
|
||||
405=Loading dyn ops in C: Read error
|
||||
406=Loading dyn ops in C: Close error
|
||||
407=Loading dyn ops in C: The directory is empty
|
||||
410=Dyn ops in C: Number of parameters passed doesn't tally
|
||||
411=Dyn ops in C: user error from init: negative return
|
||||
413=Unrecognised dyn ops in C
|
||||
414=Dyn ops in C without MAIN
|
||||
420=Dynops in C: USER ERROR from the QUIT function
|
||||
421=Dynops in C: USER ERROR from the QUIT function: negative return
|
||||
423=Dynops in C: Range of function in C not from 0 at 100
|
||||
424=Floating point unit exception error
|
||||
900=Invalid tool number M6T
|
||||
901=Tool number loaded not OK
|
||||
902=Invalid tool number E80001 on electrospindle
|
||||
903=Sensor home B electrospindle not OK
|
||||
904=Sensor home C electrospindle not OK
|
||||
905=Sensor home B motor saw blade not OK
|
||||
906=Sensor home C motor saw blade not OK
|
||||
907=free message
|
||||
908=free message
|
||||
909=free message
|
||||
910=free message
|
||||
911=free message
|
||||
912=free message
|
||||
913=free message
|
||||
914=free message
|
||||
915=free message
|
||||
916=Define spindle number et.. (1=blade 2=mill 3=right driller 4=left driller)
|
||||
917=free message
|
||||
918=free message
|
||||
919=free message
|
||||
920=free message
|
||||
921=free message
|
||||
922=free message
|
||||
923=free message
|
||||
924=OFFSET X SAW BLADE NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
925=OFFSET Y SAW BLADE NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
926=OFFSET Z SAW BLADE NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
927=PIVOT Z SAW BLADE NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
928=PIVOT C SAW BLADE NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
929=OFFSET X MILL NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
930=OFFSET Y MILL NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
931=OFFSET Z MILL NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
932=PIVOT Z MILL NOT ALIGNED BETWEEN MACHINE AND CADCAM
|
||||
933=Mandatory X-U-W-Z programming with G102EH.. not zero
|
||||
934=free message
|
||||
935=free message
|
||||
936=free message
|
||||
937=free message
|
||||
938=free message
|
||||
939=free message
|
||||
1206=Axes Moving
|
||||
1207=Program in execution
|
||||
1604=Program being executed
|
||||
2001=Flexium system has not been shutdown correctly. Some programs may not be up to date. The programs need to be checked in the programming page
|
||||
2007=Flexium System was not shutdown correctly! Previous Zone 0 files are transfered to the NCK
|
||||
5000=No communication with Flexium RTS
|
||||
|
||||
[INPUT]
|
||||
1=MACHINE ON
|
||||
2=MOTOR THERMOELEMENTS
|
||||
3=REMOTE SWITCH ELECTRICSPINDLE INSERTED
|
||||
4=SUCTION CAP PORTAL MOTOR DRIVE OK
|
||||
5=SUCTION CAP ELECTRICSPINDLE MOTOR DRIVE OK
|
||||
6=THERMAL PROBE - INVERTER BRAKE RESISTANCE
|
||||
7=SUCTION CAP SAW BLADE MOTOR DRIVE OK
|
||||
8=SENSOR HIGH UP SUCTION CAP PORTAL
|
||||
9=SENSOR LOW-DOWN UP SUCTION CAP PORTAL
|
||||
10=MAINTENANCE SELECTION MACHINE CE
|
||||
11=SENSOR HIGH UP SUCTION CAP ELECTRICSPINDLE
|
||||
12=SENSOR LOW-DOWN UP SUCTION CAP ELECTRICSPINDLE
|
||||
13=SENSOR HIGH UP SUCTION CAP SAW BLADE MOTOR
|
||||
14=SENSOR LOW-DOWN UP SUCTION CAP SAW BLADE MOTOR
|
||||
15=SENSOR CHANGING ROTATIVE UTENSILE PROTECTION OPENED
|
||||
16=FREE INPUT
|
||||
17=FREE INPUT
|
||||
18=FREE INPUT
|
||||
19=FREE INPUT
|
||||
20=FREE INPUT
|
||||
21=FREE INPUT
|
||||
22=FREE INPUT
|
||||
23=SENSOR FORWARD CHAIN SAW TOOL CHANGE
|
||||
24=SENSOR BACKWARDS CHAIN SAW TOOL CHANGE
|
||||
25=THERMAL PROBE SENSOR ELECTRICSPINDLE
|
||||
26=THERMAL PROBE SENSOR SAW BLADE MOTOR
|
||||
27=FREE INPUT
|
||||
28=SENSOR FORWARD SIDE TOOL CHANGE
|
||||
29=SENSOR BACKWARDS SIDE TOOL CHANGE
|
||||
30=ELECTRICSPINDLE AND SAW BLADE MOTOR COOLER OK
|
||||
31=ELECTRICSPINDLE FLOW SWITCH
|
||||
32=ALARM RESET BUTTON
|
||||
33=PRESSURE DEVICE AXES LUBRICATION
|
||||
34=PRESSURE DEVICE COMPRESSED AIR
|
||||
35=SENSOR MINIMUM GREASE LEVEL
|
||||
36=SENSOR MINIMUM OIL LEVEL
|
||||
37=FREE INPUT
|
||||
38=OVER TEMPERATURE LEFT CABINET
|
||||
39=SENSOR UNLOCKED PISTON CONE AT REST
|
||||
40=PRE-ALARM WORKPLAN SAFETY ZONES
|
||||
41=SAW BLADE MOTOR FLOW SWITCH
|
||||
42=REMOTE SWITCH SAW BLADE MOTOR INSERTED
|
||||
43=SENSOR FORWARD UNDER BEAM TOOL CHANGE
|
||||
44=SENSOR BACKWARDS UNDER BEAM TOOL CHANGE
|
||||
45=ALARM OF SAFETY ZONES WORKPLAN
|
||||
46=FREE INPUT
|
||||
47=UPS BATTERY OK
|
||||
48=UPS-CURRENT OUTPUT
|
||||
49=SENSOR LOW-DOWN FRONTAL STOP
|
||||
50=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 1
|
||||
51=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 2
|
||||
52=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 3
|
||||
53=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 4
|
||||
54=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 5
|
||||
55=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 6
|
||||
56=FREE INPUT
|
||||
57=FREE INPUT
|
||||
58=SELECTOR CONVEYOR BELT ACTIVATION
|
||||
59=FREE INPUT
|
||||
60=FREE INPUT
|
||||
61=FREE INPUT
|
||||
62=FREE INPUT
|
||||
63=OVER TEMPERATURE RIGHT CABINET
|
||||
64=FREE INPUT
|
||||
65=VACUUM RESERVATION ZONE 1
|
||||
66=VACUUM RESERVATION ZONE 2
|
||||
67=VACUUM RESERVATION ZONE 3
|
||||
68=VACUUM RESERVATION ZONE 4
|
||||
69=VACUUM RESERVATION ZONE 5
|
||||
70=VACUUM RESERVATION ZONE 6
|
||||
71=VACUUM RESERVATION ZONE 7
|
||||
72=VACUUM RESERVATION ZONE 8
|
||||
73=VACUUM RESERVATION ZONE 9
|
||||
74=VACUUM RESERVATION ZONE 10
|
||||
75=VACUUM RESERVATION ZONE 11
|
||||
76=VACUUM RESERVATION ZONE 12
|
||||
77=FREE INPUT
|
||||
78=FREE INPUT
|
||||
79=FREE INPUT
|
||||
80=FREE INPUT
|
||||
81=VACUUM SWITCH ZONE 1
|
||||
82=VACUUM SWITCH ZONE 2
|
||||
83=VACUUM SWITCH ZONE 3
|
||||
84=VACUUM SWITCH ZONE 4
|
||||
85=VACUUM SWITCH ZONE 5
|
||||
86=VACUUM SWITCH ZONE 6
|
||||
87=VACUUM SWITCH ZONE 7
|
||||
88=VACUUM SWITCH ZONE 8
|
||||
89=VACUUM SWITCH ZONE 9
|
||||
90=VACUUM SWITCH ZONE 10
|
||||
91=VACUUM SWITCH ZONE 11
|
||||
92=VACUUM SWITCH ZONE 12
|
||||
93=FREE INPUT
|
||||
94=FREE INPUT
|
||||
95=FREE INPUT
|
||||
96=FREE INPUT
|
||||
|
||||
[OUTPUT]
|
||||
1=CONTROL, DRY AIR SOLENOID VALVE OPENING
|
||||
2=CE REGULATION MODE CONSENT
|
||||
3=SELECTION HOME AXIS C1 ELECTRICSPINDLE
|
||||
4=SELECTION HOME AXIS C2 SAW BLADE MOTOR
|
||||
5=OPENINGOF THE SOLENOID VALVE OF THE ROTARY TOOL CHANGE PROTECTION
|
||||
6=CLOSINGOF THE SOLENOID VALVE OF THE ROTARY TOOL CHANGE PROTECTION
|
||||
7=HOURCOUNTER
|
||||
8=REMOTE SWITCH ARMING ELECTRICSPINDLE
|
||||
9=SCRAPS CONVEYOR BELT
|
||||
10=AXIS MOTOR PUMP LUBRICATION
|
||||
11=SOLENOID VALVE LUBRICATION CHAIN
|
||||
12=FREE OUTPUT
|
||||
13=MESSAGES LAMP
|
||||
14=FREE OUTPUT
|
||||
15=FREE OUTPUT
|
||||
16=REMOTE SWITCH ARMING SAW BLADE MOTOR
|
||||
17=SOLENOID VALVE TOOL LOCK
|
||||
18=SOLENOID VALVE TOOL UNLOCK
|
||||
19=FREE OUTPUT
|
||||
20=SOLENOID VALVE LATERAL TOOL CHANGE FORWARD
|
||||
21=SOLENOID VALVE LATERAL TOOL CHANGE BACKWARD
|
||||
22=SOLENOID VALVE CHAIN TOOL CHANGE FORWARD
|
||||
23=SOLENOID VALVE CHAIN TOOL CHANGE BACKWARD
|
||||
24=SOLENOID VALVE CHAIN CLEANING BLOW
|
||||
25=SOLENOID VALVE CLIMB FRONTAL RIGHT STOP
|
||||
26=SOLENOID VALVE CLIMB LATERAL WORKPLAN 1
|
||||
27=SOLENOID VALVE CLIMB LATERAL WORKPLAN 2
|
||||
28=SOLENOID VALVE CLIMB LATERAL WORKPLAN 3
|
||||
29=SOLENOID VALVE CLIMB LATERAL WORKPLAN 4
|
||||
30=SOLENOID VALVE CLIMB LATERAL WORKPLAN 5
|
||||
31=SOLENOID VALVE CLIMB LATERAL WORKPLAN 6
|
||||
32=SOLENOID VALVE CLIMB LATERAL WORKPLAN 7
|
||||
33=SOLENOID VALVE ELECTRICSPINDLE BLOW
|
||||
34=SOLENOID VALVE TOOL CHANGE UNDER BEAM FORWARD
|
||||
35=SOLENOID VALVE TOOL CHANGE UNDER BEAM BACWARD
|
||||
36=SOLENOID VALVE AXIS ELECTRICSPINDLE CLEANING BLOW
|
||||
37=SOLENOID VALVE FRONTAL BLOW
|
||||
38=SOLENOID VALVE LATERAL BLOW
|
||||
39=VACUUM REQUEST ENABLE
|
||||
40=OPEN VACUUM
|
||||
41=SOLENOID VALVE VACUUM OPEN ZONE 1
|
||||
42=SOLENOID VALVE VACUUM OPEN ZONE 2
|
||||
43=SOLENOID VALVE VACUUM OPEN ZONE 3
|
||||
44=SOLENOID VALVE VACUUM OPEN ZONE 4
|
||||
45=SOLENOID VALVE VACUUM OPEN ZONE 5
|
||||
46=SOLENOID VALVE VACUUM OPEN ZONE 6
|
||||
47=SOLENOID VALVE VACUUM OPEN ZONE 7
|
||||
48=SOLENOID VALVE VACUUM OPEN ZONE 8
|
||||
49=SOLENOID VALVE VACUUM OPEN ZONE 9
|
||||
50=SOLENOID VALVE VACUUM OPEN ZONE 10
|
||||
51=SOLENOID VALVE VACUUM OPEN ZONE 11
|
||||
52=SOLENOID VALVE VACUUM OPEN ZONE 12
|
||||
53=SOLENOID VALVE VACUUM OPEN ZONE 13
|
||||
54=SOLENOID VALVE VACUUM OPEN ZONE 14
|
||||
55=FREE OUTPUT
|
||||
56=SOLENOID VALVE AXIS MOTOR SAW BLADE CLEANING BLOW
|
||||
57=VACUUM PRESSURE
|
||||
58=PORTAL ASPIRATION SUCTION CAP RISE
|
||||
59=PORTAL ASPIRATION SUCTION CAP DESCEND
|
||||
60=PORTAL SUCTION CAP FAST COMMAND
|
||||
61=PORTAL SUCTION CAP BRAKE UNLOCK
|
||||
62=ELECTRICSPINDLE SUCTION CAP RISE
|
||||
63=ELECTRICSPINDLE SUCTION CAP DESCEND
|
||||
64=ELECTRICSPINDLE SUCTION CAP FAST COMMAND
|
||||
65=ELECTRICSPINDLE SUCTION CAP BRAKE UNLOCK
|
||||
66=MOTOR SAW BLADE SUCTION CAP RISE
|
||||
67=MOTOR SAW BLADE SUCTION CAP DESCEND
|
||||
68=MOTOR SAW BLADE SUCTION CAP FAST COMMAND
|
||||
69=MOTOR SAW BLADE SUCTION CAP BRAKE UNLOCK
|
||||
70=SOLENOID VALVE CLEANING AIR TANK LOAD RIGHT
|
||||
71=SOLENOID VALVE OPENING BLOW CLEANING CABIN RIGHT
|
||||
72=SOLENOID VALVE CLEANING AIR TANK LOAD LEFT
|
||||
73=SOLENOID VALVE BLOW CLEANING CABIN LEFT
|
||||
74=SOLENOID VALVE BLOW CAMERA CLEANING
|
||||
75=SOLENOID VALVE SUCTION CAP ELECTRICSPINDLE
|
||||
76=SOLENOID VALVE SUCTION CAP SAW MOTOR
|
||||
77=SOLENOID VALVE SUCTION CAP PORTAL
|
||||
78=SOLENOID VALVE SUCTION CAP PORTAL CLEANING
|
||||
79=OUTPUT MACHINE IN PARKING POSITION
|
||||
80=OUTPUT ZERO REFERENCE WORKPLAN LOW-DOWN
|
||||
81=OUTPUT SCRAPS CONVEYOR BELT ROTATING
|
||||
82=OUTPUT MACHINE SWITCHED ON
|
||||
83=OUTPUT ALARM OF SAFETY ZONES WORKPLAN
|
||||
84=FREE OUTPUT
|
||||
85=FREE OUTPUT
|
||||
86=FREE OUTPUT
|
||||
87=FREE OUTPUT
|
||||
88=FREE OUTPUT
|
||||
89=FREE OUTPUT
|
||||
90=FREE OUTPUT
|
||||
91=FREE OUTPUT
|
||||
92=FREE OUTPUT
|
||||
93=FREE OUTPUT
|
||||
94=FREE OUTPUT
|
||||
95=FREE OUTPUT
|
||||
96=FREE OUTPUT
|
||||
@@ -0,0 +1,709 @@
|
||||
// File dei messaggi macchina Italiano 2022/08/27
|
||||
[MDI]
|
||||
1=Rotazione oraria motore a 1000 giri/1'
|
||||
2=Rotazione antioraria motore a 1000 giri/1'
|
||||
3=Carica utensile n° 1
|
||||
4=Carica utensile n° 2
|
||||
5=Carica utensile n° 3
|
||||
6=Carica utensile n° 4
|
||||
7=Carica utensile n° 5
|
||||
8=Carica utensile n° 6
|
||||
9=Carica utensile n° 7
|
||||
10=Carica utensile n° 8
|
||||
11=Carica utensile n° 9
|
||||
12=Carica utensile n° 10
|
||||
13=Carica utensile n° 11
|
||||
14=Carica utensile n° 12
|
||||
15=Carica utensile n° 13
|
||||
16=Carica utensile n° 14
|
||||
17=Carica utensile n° 15
|
||||
18=Carica utensile n° 16
|
||||
19=Carica utensile n° 17
|
||||
20=Carica utensile n° 18
|
||||
21=Scarica utensili
|
||||
22=Carica utensile n° 101
|
||||
23=Attiva magazzino utensili
|
||||
24=Apertura cambio utensile
|
||||
25=Chiusura cambio utensile
|
||||
26=Carica trave su macchina
|
||||
27=Scarica trave da macchina
|
||||
28=Start tappeto sfridi
|
||||
29=Assegnazione manuale numero utensile nella testa a 5 assi
|
||||
|
||||
[PLC]
|
||||
1=Macchina spenta
|
||||
2=Assi in extracorsa
|
||||
3=
|
||||
4=
|
||||
5=
|
||||
6=
|
||||
7=
|
||||
8=Verificare olio lubrificazione aggregati catena
|
||||
9=Termici motori
|
||||
10=Trasferimento programma in corso
|
||||
11=
|
||||
12=Minimo livello grasso
|
||||
13=Difetto impianto lubrificazione assi verificare livello grasso
|
||||
14=Manca aria compressa
|
||||
15=Sovratemperatura armadio sinistro
|
||||
16=Sovratemperatura armadio destro
|
||||
17=Refrigratore mandrini
|
||||
18=Malfunzionamento vuoto
|
||||
19=Malfunzionamento pressoi
|
||||
20=Movimento asse V1 non possibile fare Pom
|
||||
21=Movimento asse V2 non possibile fare Pom
|
||||
22=Attesa conferma per chiusura Pinza 1 o 4
|
||||
23=Barriere intervenute !!!
|
||||
24=Malfunzionamento azion. asse X1-X2
|
||||
25=Malfunzionamento azion. asse Y1-Y2
|
||||
26=Malfunzionamento azion. asse Z1-Z2
|
||||
27=Malfunzionamento azion. asse B1-B2
|
||||
28=Malfunzionamento azion. asse C1-C2
|
||||
29=Malfunzionamento azion. asse V1-V2
|
||||
30=Malfunzionamento azion. asse Cu
|
||||
31=
|
||||
32=
|
||||
33=
|
||||
34=
|
||||
35=
|
||||
36=Attesa conferma rotazione ribaltatore 1200 a zero
|
||||
37=Attesa Pinza 5 aperta
|
||||
38=
|
||||
39=
|
||||
40=
|
||||
41=Attesa ribaltamento 90 gradi trave (Girare chiave in modo manuale)
|
||||
42=Attesa ribaltamento 180 gradi trave (Girare chiave in modo manuale)
|
||||
43=Attesa ribaltamento 270 gradi trave (Girare chiave in modo manuale)
|
||||
44=Attesa scarico spezzone in entrata (Girare chiave in modo manuale)
|
||||
45=Pezzo scaricato non tagliato !!!
|
||||
46=Rotazione T1 proibita senza utensili: verificare
|
||||
47=Rotazione T2 proibita senza utensili: verificare
|
||||
48=Ribaltamento trave non indietro !!!
|
||||
49=Ribaltamento trave non basso !!!
|
||||
50=Possibile collisione pinza 4 uscita con scarico sfridi
|
||||
51=Ft Presset pinza 1 in discesa occupata
|
||||
52=Ft Presset pinza 2 in discesa occupata
|
||||
53=Ft Presset pinza 3 in discesa occupata
|
||||
54=Ft Presset pinza 4 in discesa occupata
|
||||
55=Attesa riferimento zero pinza 1 avanti
|
||||
56=Attesa riferimento zero pinza 1 indietro
|
||||
57=Attesa riferimento zero pinza 4 avanti
|
||||
58=Attesa riferimento zero pinza 4 indietro
|
||||
59=*** MANUTENZIONE CE ***
|
||||
60=Pinza 1 bloccata su cinghia e su pattini !!!
|
||||
61=Pinza 2 bloccata su cinghia e su pattini !!!
|
||||
62=Pinza 3 bloccata su cinghia e su pattini !!!
|
||||
63=Pinza 4 bloccata su cinghia e su pattini !!!
|
||||
64=Pezzo scaricato non completo !!!
|
||||
65=Attesa conferma scarico spezzone corto non tenuto da pinza 1
|
||||
66=Assi V1 o V2 non a zero per cambio aggregati
|
||||
67=Attesa stampa etichetta pezzo precedente
|
||||
68=Attesa carico trave M75 in corso
|
||||
69=Traslatore scarico pieno
|
||||
70=Testa nuovo trave non trovata
|
||||
71=Corsa arretramento spezzone troppo grande
|
||||
72=Ft lettura testa trave occupata
|
||||
73=Attesa Start dopo carico trave con muletto
|
||||
74=Pezzo scaricato su nastro !!!!!
|
||||
75=Scaricare trave con muletto e resettare allarme
|
||||
76=Pinza 1 chiusa senza trave aprirla con M111
|
||||
77=Pinza 4 chiusa senza trave aprirla con M171
|
||||
78=Micro controllo chiusura pinza 1 non Ok
|
||||
79=Micro controllo chiusura pinza 2 non Ok
|
||||
80=Micro controllo chiusura pinza 3 non Ok
|
||||
81=Micro controllo chiusura pinza 4 non Ok
|
||||
82=Attesa Ft pinza 1 lettura coda trave a zero
|
||||
83=T2 in cambio programmare M92 e poi M197
|
||||
84=Cu Sx non indietro programmare M90 e poi M199
|
||||
85=Cu Catena non indietro programmare M92 e poi M187
|
||||
86=Avanti Cu laterale Dx non Ok
|
||||
87=Indietro Cu laterale Dx non Ok
|
||||
88=Avanti Cu laterale Sx T1 non Ok
|
||||
89=Indietro Cu laterale Sx T1 non Ok
|
||||
90=Ripari di protezione destri aperti
|
||||
91=Ripari di protezione sinistri aperti
|
||||
92=Avanti Cu Catena laterale non Ok
|
||||
93=Indietro Cu Catena laterale non Ok
|
||||
94=Cu Mortasa non indietro programmare M92 e poi M189
|
||||
95=Messa a punto inserita permessi solo movimenti manuali
|
||||
96=Avanti Cu Mortasa laterale non Ok
|
||||
97=Indietro Cu Mortasa laterale non Ok
|
||||
98=Avanti Cu laterale Dx T2 non Ok
|
||||
99=Indietro Cu laterale Dx T2 non Ok
|
||||
100=
|
||||
101=Motore T1 non in rotazione (Fcinv0=1)
|
||||
102=Motore T2 non in rotazione (Fcinv0=2)
|
||||
103=Attesa apertura pinza 1
|
||||
104=Attesa chiusura pinza 1
|
||||
105=Attesa apertura pinza 4
|
||||
106=Attesa chiusura pinza 4
|
||||
107=Memoria utensile su Testa 2 E80001 non OK !!!
|
||||
108=Attendere inserzioni di potenza
|
||||
109=Premere reset su CNC
|
||||
110=Memoria utensile su Testa 2 E80002 non OK !!!
|
||||
111=Malfunzionamento inverter1
|
||||
112=Malfunzionamento inverter2
|
||||
113=Attesa apertura pinza 2
|
||||
114=Attesa chiusura pinza 2
|
||||
115=Attesa apertura pinza 3
|
||||
116=Attesa chiusura pinza 3
|
||||
117=
|
||||
118=Flussostato T1 non Ok
|
||||
119=Flussostato T2 non Ok
|
||||
120=
|
||||
121=Sovratemperatura resistenze di frenatura inverter1
|
||||
122=Sovratemperatura resistenze di frenatura inverter2
|
||||
123=
|
||||
124=
|
||||
125=
|
||||
126=
|
||||
127=
|
||||
128=
|
||||
129=
|
||||
130=
|
||||
131=Sovratemperatura motore testa1
|
||||
132=Sovratemperatura motore testa2
|
||||
133=
|
||||
134=
|
||||
135=Larghezza trave EX non Ok !!!
|
||||
136=Altezza trave EZ non Ok !!!
|
||||
137=
|
||||
138=
|
||||
139=
|
||||
140=
|
||||
141=Sovracorrente inverter1
|
||||
142=Sovracorrente inverter2
|
||||
143=
|
||||
144=
|
||||
145=
|
||||
146=Comunicazione seriale asse C1 non Ok
|
||||
147=Comunicazione seriale asse C2 non Ok
|
||||
148=
|
||||
149=
|
||||
150=
|
||||
151=Difetto bloccaggio utensile 1
|
||||
152=Difetto bloccaggio utensile 2
|
||||
153=Utensile presente su T1 con E80001=0
|
||||
154=Utensile presente su T2 con E80002=0
|
||||
155=Difetto sbloccaggio utensile 1
|
||||
156=Difetto sbloccaggio utensile 2
|
||||
157=Cono utensile sporco utensile 1
|
||||
158=Cono utensile sporco utensile 2
|
||||
159=Pistone sbloccaggio cono non a riposo utensile 1
|
||||
160=Pistone sbloccaggio cono non a riposo utensile 2
|
||||
161=Verificare ingresso E24
|
||||
162=Verificare ingresso E25
|
||||
163=Verificare ingresso E57
|
||||
164=Verificare ingresso E58
|
||||
165=Verificare ingresso E34
|
||||
166=Verificare ingresso E35
|
||||
167=Verificare ingresso E59
|
||||
168=Verificare ingresso E60
|
||||
169=
|
||||
|
||||
[CNC]
|
||||
N1 Carattere sconosciuto o Asse non riconosciuto dal sistema
|
||||
N2 Funzione G sconosciuta dal sistema o assenza di un argomento obbligatorio dopo la G
|
||||
N3 Argomento di una funzione G mal posizionato nel blocco
|
||||
N4 Opzione non valida o parametro incoerente con l'opzione
|
||||
N5 Opzione programmazione geometrica non abilitata
|
||||
N6 Opzione interpolazione polinomiale assente
|
||||
N7 Spostamenti paralleli agli assi inclinati
|
||||
N8 No. correttore utensile troppo grande
|
||||
N9 Troppi blocchi non eseguibili di seguito
|
||||
N10 Accesso I/U PLC: scambio su bus scorretto
|
||||
N11 Accesso I/U PLC: iniz bus scorretta o scambio inibito
|
||||
N12 Accesso I/U PLC: parametro rack scorretto
|
||||
N13 Accesso I/U PLC: scheda inesistente
|
||||
N14 Assenza opzione piano inclinato
|
||||
N15 Configurazione linea non valida
|
||||
N16 Errore nella attivazione RTCP
|
||||
N17 Fine blocco in un commento
|
||||
N18 Errore d'asservimento: P50 troppo basso
|
||||
N19 RAZ RAM al prossimo avviamento
|
||||
N20 Manca M02 a fine programma
|
||||
N21 Incoerenza della definizione del grezzo in 3D
|
||||
N22 Programma di pezzi attuale corrotto.
|
||||
N24 Errore nella dichiarazione di un piano inclinato
|
||||
N25 Numero sottoprogramma o blocco inesistente
|
||||
N26 Troppi annidamenti di sotto programmi
|
||||
N27 Attivazione o disattivazione della correzione raggio
|
||||
N28 Errore di sintassi in VTC o nella definizione del raggio
|
||||
N29 Nessuna gamma programmata in VTC
|
||||
N30 Rilevamento errore di linea
|
||||
N31 Modo PPR o PPL impossibile con il protocollo di linea selezionato
|
||||
N32 Difetto POM - Asse gia' sul fine corsa
|
||||
N33 Canali in attesa di sincronizzazione
|
||||
N34 Raggiunto il raggio minimo in interpolazione G21
|
||||
N35 Numero di blocco non trovato in RNS
|
||||
N36 Memoria programma pezzo satura
|
||||
N37 Velocita' max superata in filettatura
|
||||
N38 Comando mandrino gia' programmato in un altro canale
|
||||
N39 Errore sincronizzazione assi
|
||||
N40 Inseguimento troppo grande asse 0
|
||||
N41 Inseguimento troppo grande asse 1
|
||||
N42 Inseguimento troppo grande asse 2
|
||||
N43 Inseguimento troppo grande asse 3
|
||||
N44 Inseguimento troppo grande asse 4
|
||||
N45 Inseguimento troppo grande asse 5
|
||||
N46 Inseguimento troppo grande asse 6
|
||||
N47 Inseguimento troppo grande asse 7
|
||||
N48 Inseguimento troppo grande asse 8
|
||||
N49 Inseguimento troppo grande asse 9
|
||||
N50 Inseguimento troppo grande asse 10
|
||||
N51 Inseguimento troppo grande asse 11
|
||||
N52 Inseguimento troppo grande asse 12
|
||||
N53 Inseguimento troppo grande asse 13
|
||||
N54 Inseguimento troppo grande asse 14
|
||||
N55 Inseguimento troppo grande asse 15
|
||||
N56 Inseguimento troppo grande asse 16
|
||||
N57 Inseguimento troppo grande asse 17
|
||||
N58 Inseguimento troppo grande asse 18
|
||||
N59 Inseguimento troppo grande asse 19
|
||||
N60 Inseguimento troppo grande asse 20
|
||||
N61 Inseguimento troppo grande asse 21
|
||||
N62 Inseguimento troppo grande asse 22
|
||||
N63 Inseguimento troppo grande asse 23
|
||||
N64 Inseguimento troppo grande asse 24
|
||||
N65 Inseguimento troppo grande asse 25
|
||||
N66 Inseguimento troppo grande asse 26
|
||||
N67 Inseguimento troppo grande asse 27
|
||||
N68 Inseguimento troppo grande asse 28
|
||||
N69 Inseguimento troppo grande asse 29
|
||||
N70 Inseguimento troppo grande asse 30
|
||||
N71 Inseguimento troppo grande asse 31
|
||||
N72 Programmazione relativa dopo un blocco incompleto
|
||||
N75 Passaggio da G20 a G21 o G22
|
||||
N76 In G21: Programma di un ciclo di tornitura o di fresatura
|
||||
N77 Tipo di utensile incompatibile con la fase di lavoro
|
||||
N78 Errore di sintassi nella programmazione di una sincronizzazione canali
|
||||
N79 Configurazione TANDEM non valida
|
||||
N80 Azionamento non in Halt
|
||||
N91 No parametro sconosciuto
|
||||
N92 Funzione senza segno associata ad un parametro negativo
|
||||
N93 Errore nella dichiarazione di un param. o nell' espressione di testo
|
||||
N94 Operazione non ammessa di un'espressione parametrica
|
||||
N95 Tentativo di scrittura di un param. esterno di ingresso
|
||||
N96 Blocco precedente la dichiarazione di un paramametro esterno incompleto
|
||||
N97 Modifica impossibile di un parametro in G76
|
||||
N98 Scrittura di un canale di una operazione dinamica gia' utilizzata da un altro canale
|
||||
N99 Errore riscontrato con la funzione N/M AUTO
|
||||
N101 PGP: Dati insufficienti nella programmazione di un cerchio
|
||||
N102 PGP: programmazione di una retta con angolo {EA} e una coordinata X,Y O Z
|
||||
N106 In G2 G3 programmazione 3" terzo asse senza opzione elicoidale
|
||||
N107 PGP: programmazione di un cerchio con raggio e pt. d'arrivo
|
||||
N110 PGP: errore di sintassi nel primo dei 2 blocchi
|
||||
N111 PGP: errore di sintassi nel secondo blocco
|
||||
N112 PGP: Intersezione retta-retta
|
||||
N113 PGP: i valori programmati nei 2 blocchi non consentono di determinare una intersezione o una tangente
|
||||
N114 PGP: punti d'intersezione o tangenza non determinati da ET+ ET- ES+ ES-
|
||||
N121 PGP: errore di sintassi negli ultimi 3 blocchi
|
||||
N122 PGP: i primi 2 blocchi sono delle rette non secanti
|
||||
N123 PGP: i dati prog. nei 3 blocchi non consentono di calcolare i punti di tangenza
|
||||
N124 PGP: punti di tangenza secondo o terzo blocco non precisati da ET+ o ET-
|
||||
N130 Spostamento nullo nel primo dei 2 blocchi uniti da raccordo o smusso
|
||||
N131 Prog. raccordo o smusso in un blocco con M0 M1 o M2
|
||||
N135 Uno smusso puo' unire solo due rette
|
||||
N136 Piu' di 2 blocchi senza movimento tra 2 elementi geometrici il cui punti di intersezione o di tangenza e' da calcolare
|
||||
N137 Cambio piano d'interpolazione quando il blocco non e' convalidato
|
||||
N138 Cambio piano d'interpolazione non in G40
|
||||
N139 Prog. nello stesso blocco di due assi paralleli portati
|
||||
N140 Errore di programmazione in correzione di raggio
|
||||
N141 Assi paralleli portati : programmazione di un cerchio
|
||||
N143 Annullamento o convalida del fattore di scala in correz. raggio
|
||||
N144 Spostamento di un asse quantificato diverso dall'incremento
|
||||
N145 G29 valore assoluto > 1 mm
|
||||
N146 Lavorazione nello spazio G29 e G43
|
||||
N148 Numero di assi programmati superiore al max. consentito
|
||||
N149 Raggio utensile troppo grande rispetto alla traiettoria programmata
|
||||
N150 Fine corsa asse X
|
||||
N151 Fine corsa asse Y
|
||||
N152 Fine corsa asse Z
|
||||
N153 Fine corsa asse U
|
||||
N154 Fine corsa asse V
|
||||
N155 Fine corsa asse W
|
||||
N156 Fine corsa asse A
|
||||
N157 Fine corsa asse B
|
||||
N158 Fine corsa asse C
|
||||
N159 Programmazione di un asse la cui POM non e' stata fatta
|
||||
N160 Errore di POM asse slave
|
||||
N161 Errore di POM asse sinchro
|
||||
N190 Troppi livelli di annidamento
|
||||
N191 Sintassi errata in Programmazione Strutturata
|
||||
N192 Parola chiave non ammessa o riconosciuta nel contesto del programma
|
||||
N193 Errore di strutturazione
|
||||
N195 Stack programma saturo
|
||||
N196 Errore nella dichiarazione degli indici delle tabelle
|
||||
N197 Utilizzazione di un simbolo non dichiarato in VAR
|
||||
N198 Errore di sintassi nella dichiarazione del simbolo di una variabile
|
||||
N199 Sintassi errata nella dichiarazione delle variabili
|
||||
N200 Difetto di sporcizia o di complementarità volantino 0
|
||||
N201 Difetto di sporcizia o di complementarità volantino 1
|
||||
N202 Difetto di sporcizia o di complementarità volantino 2
|
||||
N203 Difetto di sporcizia o di complementarità volantino 3
|
||||
N210 Difetto misura o anomalia seriale asse 0
|
||||
N211 Difetto misura o anomalia seriale asse 1
|
||||
N212 Difetto misura o anomalia seriale asse 2
|
||||
N213 Difetto misura o anomalia seriale asse 3
|
||||
N214 Difetto misura o anomalia seriale asse 4
|
||||
N215 Difetto misura o anomalia seriale asse 5
|
||||
N216 Difetto misura o anomalia seriale asse 6
|
||||
N217 Difetto misura o anomalia seriale asse 7
|
||||
N218 Difetto misura o anomalia seriale asse 8
|
||||
N219 Difetto misura o anomalia seriale asse 9
|
||||
N220 Difetto misura o anomalia seriale asse 10
|
||||
N221 Difetto misura o anomalia seriale asse 11
|
||||
N222 Difetto misura o anomalia seriale asse 12
|
||||
N223 Difetto misura o anomalia seriale asse 13
|
||||
N224 Difetto misura o anomalia seriale asse 14
|
||||
N225 Difetto misura o anomalia seriale asse 15
|
||||
N226 Difetto misura o anomalia seriale asse 16
|
||||
N227 Difetto misura o anomalia seriale asse 17
|
||||
N228 Difetto misura o anomalia seriale asse 18
|
||||
N229 Difetto misura o anomalia seriale asse 19
|
||||
N230 Difetto misura o anomalia seriale asse 20
|
||||
N231 Difetto misura o anomalia seriale asse 21
|
||||
N232 Difetto misura o anomalia seriale asse 22
|
||||
N233 Difetto misura o anomalia seriale asse 23
|
||||
N234 Difetto misura o anomalia seriale asse 24
|
||||
N235 Difetto misura o anomalia seriale asse 25
|
||||
N236 Difetto misura o anomalia seriale asse 26
|
||||
N237 Difetto misura o anomalia seriale asse 27
|
||||
N238 Difetto misura o anomalia seriale asse 28
|
||||
N239 Difetto misura o anomalia seriale asse 29
|
||||
N240 Difetto misura o anomalia seriale asse 30
|
||||
N241 Difetto misura o anomalia seriale asse 31
|
||||
N245 Difetto su un asservimento digitale
|
||||
N246 Segnalazione non corretta del riferimento POM
|
||||
N247 Parametro non corretto azionamento DISC NT
|
||||
N248 Azionamento asse o mandrino digitale in allarme
|
||||
N249 Errore di comunicazione tra CN e PLC
|
||||
N250 PERSOchip non valido
|
||||
N251 Dati PERSOChip non conformi
|
||||
N252 File licenza non valido
|
||||
N253 Annidamento di sottoprogramma chiamato da funzioni M vietato
|
||||
N260 Memoria di lavoro occupata
|
||||
N261 Numero di programma troppo grande
|
||||
N262 Numero di NU non compreso in quelli autorizzati
|
||||
N263 Esecuzione impossibile. Modo test o grafico obbligatori dopo il primo caricamento o dopo modifica
|
||||
N264 Quota non programmata in un piano di contornatura
|
||||
N265 Manca il primo blocco di posizionamento,la definizione del profilo deve iniziare in G0 o G1
|
||||
N266 Zona memoria insufficiente
|
||||
N267 Carattere non ammesso nella sintassi della tasca
|
||||
N268 Blocco di programmazione della tasca incompleto o con delle informazioni non ammesse
|
||||
N269 Blocco di contornatura incompleto
|
||||
N270 Definizione di tasca mancante o incompleta
|
||||
N271 Direzione utensile non perpendicolare al piano di contornatura
|
||||
N272 Utensile non compatibile con i dati tecnologici della tasca
|
||||
N273 Cambio del piano di contornatura tra la definizione di tasca a la lavorazione
|
||||
N274 Due definizioni di tasche annidate
|
||||
N275 NU 0 programmata con G59
|
||||
N276 Profondita' di tasca nulla
|
||||
N277 In definizione di tasca le coordinate del punto di inizio e di fine sono incomplete
|
||||
N278 Il senso di rotazione del mandrino e' incompatibile con quello richiesto nella definizione della tasca
|
||||
N279 Funzione G non ammessa in un blocco di programmazione di tasca
|
||||
N280 Primo blocco del profilo incompleto
|
||||
N281 Discontinuita' in uno dei profili descritti
|
||||
N282 Parametri di definizione tasca errati
|
||||
N283 Il profilo esterno deve essere unico e dichiarato
|
||||
N284 Errata definizione di un profilo
|
||||
N285 Troppi profili
|
||||
N286 Valore di passata troppo grande rispetto al diametro dell' utensile
|
||||
N287 Valore di passata troppo piccola rispetto alle dimensioni
|
||||
N288 Avvicinamento per finitura con un angolo rientrante o in una zona non sgrossata
|
||||
N289 Diametro utensile troppo grande
|
||||
N290 Errore interno
|
||||
N291 Avvicinamento per finitura fuori dal profilo
|
||||
N292 Doppio posizionamento all'inizio d'un profilo
|
||||
N293 Presenza di un punto di fine sgrossatura in spianatura
|
||||
N300 Asse 0 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N301 Asse 1 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N302 Asse 2 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N303 Asse 3 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N304 Asse 4 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N305 Asse 5 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N306 Asse 6 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N307 Asse 7 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N308 Asse 8 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N309 Asse 9 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N310 Asse 10 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N311 Asse 11 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N312 Asse 12 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N313 Asse 13 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N314 Asse 14 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N315 Asse 15 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N316 Asse 16 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N317 Asse 17 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N318 Asse 18 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N319 Asse 19 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N320 Asse 20 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N321 Asse 21 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N322 Asse 22 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N323 Asse 23 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N324 Asse 24 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N325 Asse 25 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N326 Asse 26 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N327 Asse 27 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N328 Asse 28 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N329 Asse 29 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N330 Asse 30 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N331 Asse 31 dichiarato in P2 ed assente sul bus o difetto misura
|
||||
N400 Caricamento Opzione din in C: Taglia del codice USER troppo grande
|
||||
N401 Caricamento Opzione din in C: Errore di formato
|
||||
N402 Caricamento Opzione din in C: Errore di checksum
|
||||
N403 Il sistema ha una memoria insufficiente per accettare degli Opzione din in C
|
||||
N404 Caricamento Opzione din in C: Open error
|
||||
N405 Caricamento Opzione din in C: Read error
|
||||
N406 Caricamento Opzione din in C: Close error
|
||||
N407 Caricamento Opzione din in C: L'indice e' vuoto
|
||||
N410 Opzione din in C: Numero di parametri passati non conformi
|
||||
N411 Opzione din in C: Errore USER durante la funzione INIT: ritorno negativo
|
||||
N413 Opzione dinamico in C non conosciuto
|
||||
N414 Opzione dinamico in C senza MAIN
|
||||
N420 Opzione din in C: Errore USER durante la funzione QUIT
|
||||
N421 Opzione din in C: Errore USER durante la funzione QUIT: ritorno negativo
|
||||
N423 Opzione din in C: Posto della funzione in C non valido
|
||||
N424 Errore exception unità virgola mobile
|
||||
900=Numero utensile non valido M6T
|
||||
901=Numero utensile caricato non ok
|
||||
902=Numero utensile su elettromandrino non valido E80001
|
||||
903=Sensore POM B elettromandrino non ok
|
||||
904=Sensore POM C elettromandrino non ok
|
||||
905=Sensore POM B lama non ok
|
||||
906=Sensore POM C lama non ok
|
||||
907=MESSAGGIO LIBERO
|
||||
908=MESSAGGIO LIBERO
|
||||
909=MESSAGGIO LIBERO
|
||||
910=MESSAGGIO LIBERO
|
||||
911=MESSAGGIO LIBERO
|
||||
912=MESSAGGIO LIBERO
|
||||
913=MESSAGGIO LIBERO
|
||||
914=MESSAGGIO LIBERO
|
||||
915=MESSAGGIO LIBERO
|
||||
916=Definire numero mandrino ET.. (1=Lama 2=Elettromandrino)
|
||||
917=MESSAGGIO LIBERO
|
||||
918=MESSAGGIO LIBERO
|
||||
919=MESSAGGIO LIBERO
|
||||
920=MESSAGGIO LIBERO
|
||||
921=MESSAGGIO LIBERO
|
||||
922=MESSAGGIO LIBERO
|
||||
923=MESSAGGIO LIBERO
|
||||
924=Offset X Lama non allineato tra MACCHINA e CADCAM
|
||||
925=Offset Y Lama non allineato tra MACCHINA e CADCAM
|
||||
926=Offset Z Lama non allineato tra MACCHINA e CADCAM
|
||||
927=Pivot Z Lama non allineato tra MACCHINA e CADCAM
|
||||
928=Pivot C Lama non allineato tra MACCHINA e CADCAM
|
||||
929=Offset X Fresa non allineato tra MACCHINA e CADCAM
|
||||
930=Offset Y Fresa non allineato tra MACCHINA e CADCAM
|
||||
931=Offset Z Fresa non allineato tra MACCHINA e CADCAM
|
||||
932=Pivot Z Fresa non allineato tra MACCHINA e CADCAM
|
||||
933=Programmazione X-U-W-Z obbligatoria con G102EH.. diverso da zero
|
||||
934=MESSAGGIO LIBERO
|
||||
935=MESSAGGIO LIBERO
|
||||
936=MESSAGGIO LIBERO
|
||||
937=MESSAGGIO LIBERO
|
||||
938=MESSAGGIO LIBERO
|
||||
939=MESSAGGIO LIBERO
|
||||
1050=Nessuna comunicazione con il CN
|
||||
1206=Assi in movimento
|
||||
1207=Programma in esecuzione
|
||||
1604=Programma in esecuzione
|
||||
2001=Il sistema Flexium non è stato arrestato normalmente. Alcuni programmi non sono attuali. Controllare i programmi nelle pagine di programmazione pagine.
|
||||
2007=Il sistema Flexium non è stato arrestato correttamente. I vecchi file Zona 0 vengono trasferiti al NCK
|
||||
5000=Nessuna comunicazione con Flexium RTS
|
||||
|
||||
[INPUT]
|
||||
1=MACCHINA IN POTENZA
|
||||
2=TERMICI MOTORI
|
||||
3=TELERUTTORE MOTORE FRESA INSERITO
|
||||
4=DRIVE OK MOTORE CUFFIA ASPIRAZIONE PORTALE
|
||||
5=DRIVE OK MOTORE CUFFIA ASPIRAZIONE FRESA
|
||||
6=SONDA TERMICA - RESISTENZA FRENATURA INVERTER LAMA
|
||||
7=DRIVE OK MOTORE CUFFIA ASPIRAZIONE LAMA
|
||||
8=SENSORE CUFFIA ASPIRAZIONE ALTA PORTALE
|
||||
9=SENSORE CUFFIA ASPIRAZIONE BASSA PORTALE
|
||||
10=SELEZIONE MANUTENZIONE MACCHINA CE
|
||||
11=SENSORE CUFFIA ASPIRAZIONE FRESA ALTA
|
||||
12=SENSORE CUFFIA ASPIRAZIONE FRESA BASSA
|
||||
13=SENSORE CUFFIA ASPIRAZIONE LAMA ALTA
|
||||
14=SENSORE CUFFIA ASPIRAZIONE LAMA BASSA
|
||||
15=SENSORE PROTEZIONE CAMBIO UTENSILE ROTATIVO APERTO
|
||||
16=INGRESSO A DISPOSIZIONE
|
||||
17=INGRESSO A DISPOSIZIONE
|
||||
18=INGRESSO A DISPOSIZIONE
|
||||
19=INGRESSO A DISPOSIZIONE
|
||||
20=INGRESSO A DISPOSIZIONE
|
||||
21=INGRESSO A DISPOSIZIONE
|
||||
22=INGRESSO A DISPOSIZIONE
|
||||
23=SENSORE CAMBIO UTENSILE CATENA AVANTI
|
||||
24=SENSORE CAMBIO UTENSILE CATENA INDIETRO
|
||||
25=SENSORE SONDA TERMICA MOTORE FRESA
|
||||
26=SENSORE SONDA TERMICA MOTORE LAMA
|
||||
27=INGRESSO A DISPOSIZIONE
|
||||
28=SENSORE CAMBIO UTENSILE LATERALE AVANTI
|
||||
29=SENSORE CAMBIO UTENSILE LATERALE INDIETRO
|
||||
30=REFRIGERATORE FRESA E LAMA OK
|
||||
31=FLUSSOSTATO TESTA FRESA
|
||||
32=PULSANTE RESET ALLARMI
|
||||
33=PRESSOSTATO LUBRIFICAZIONE ASSI
|
||||
34=PRESSOSTATO ARIA COMPRESSA
|
||||
35=SENSORE MINIMO LIVELLO GRASSO
|
||||
36=SENSORE MINIMO LIVELLO OLIO SEGA
|
||||
37=INGRESSO A DISPOSIZIONE
|
||||
38=SOVRATEMPERATURA ARMADIO SINISTRO
|
||||
39=SENSORE PISTONE SBLOCCATO CONO A RIPOSO
|
||||
40=PRE ALLARME ZONA DI SICUREZZA
|
||||
41=FLUSSOSTATO TESTA LAMA
|
||||
42=TELERUTTORE MOTORE LAMA INSERITO
|
||||
43=SENSORE CAMBIO UTENSILE SOTTO TRAVE AVANTI
|
||||
44=SENSORE CAMBIO UTENSILE SOTTO TRAVE INDIETRO
|
||||
45=ALLARME ZONA DI SICUREZZA
|
||||
46=INGRESSO A DISPOSIZIONE
|
||||
47=UPS BATTERIA OK
|
||||
48=UPS USCITA IN SOVRACORRENTE
|
||||
49=SENSORE ARRESTO FRONTALE BASSO
|
||||
50=SENSORE ARRESTO LATERALE BANCO 1 BASSO
|
||||
51=SENSORE ARRESTO LATERALE BANCO 2 BASSO
|
||||
52=SENSORE ARRESTO LATERALE BANCO 3 BASSO
|
||||
53=SENSORE ARRESTO LATERALE BANCO 4 BASSO
|
||||
54=SENSORE ARRESTO LATERALE BANCO 5 BASSO
|
||||
55=SENSORE ARRESTO LATERALE BANCO 6 BASSO
|
||||
56=INGRESSO A DISPOSIZIONE
|
||||
57=INGRESSO A DISPOSIZIONE
|
||||
58=SELETTORE ATTIVAZIONE TAPPETO SCARICO SFRIDI
|
||||
59=INGRESSO A DISPOSIZIONE
|
||||
60=INGRESSO A DISPOSIZIONE
|
||||
61=INGRESSO A DISPOSIZIONE
|
||||
62=INGRESSO A DISPOSIZIONE
|
||||
63=SOVRATEMPERATURA ARMADIO ELETTRICO DESTRO
|
||||
64=INGRESSO A DISPOSIZIONE
|
||||
65=PRENOTAZONE VUOTO ZONA 1
|
||||
66=PRENOTAZONE VUOTO ZONA 2
|
||||
67=PRENOTAZONE VUOTO ZONA 3
|
||||
68=PRENOTAZONE VUOTO ZONA 4
|
||||
69=PRENOTAZONE VUOTO ZONA 5
|
||||
70=PRENOTAZONE VUOTO ZONA 6
|
||||
71=PRENOTAZONE VUOTO ZONA 7
|
||||
72=PRENOTAZONE VUOTO ZONA 8
|
||||
73=PRENOTAZONE VUOTO ZONA 9
|
||||
74=PRENOTAZONE VUOTO ZONA 10
|
||||
75=PRENOTAZONE VUOTO ZONA 11
|
||||
76=PRENOTAZONE VUOTO ZONA 12
|
||||
77=INGRESSO A DISPOSIZIONE
|
||||
78=INGRESSO A DISPOSIZIONE
|
||||
79=INGRESSO A DISPOSIZIONE
|
||||
80=INGRESSO A DISPOSIZIONE
|
||||
81=VACUOSTATO ZONA 1
|
||||
82=VACUOSTATO ZONA 2
|
||||
83=VACUOSTATO ZONA 3
|
||||
84=VACUOSTATO ZONA 4
|
||||
85=VACUOSTATO ZONA 5
|
||||
86=VACUOSTATO ZONA 6
|
||||
87=VACUOSTATO ZONA 7
|
||||
88=VACUOSTATO ZONA 8
|
||||
89=VACUOSTATO ZONA 9
|
||||
90=VACUOSTATO ZONA 10
|
||||
91=VACUOSTATO ZONA 11
|
||||
92=VACUOSTATO ZONA 12
|
||||
93=INGRESSO A DISPOSIZIONE
|
||||
94=INGRESSO A DISPOSIZIONE
|
||||
95=INGRESSO A DISPOSIZIONE
|
||||
96=INGRESSO A DISPOSIZIONE
|
||||
|
||||
[OUTPUT]
|
||||
1=COMANDO ELETTRO-VALVOLA APERTURA ARIA SECCA
|
||||
2=MODALITA' REG. CE CONSENSO REGOLAZIONE CE
|
||||
3=SELEZIONE POM ASSE C1 TESTA
|
||||
4=SELEZIONE POM ASSE C2 LAMA
|
||||
5=ELETTRO-VALVOLA APERTURA PROTEZIONE CAMBIO UTENSILE ROTATIVO
|
||||
6=ELETTRO-VALVOLA CHIUSURA PROTEZIONE CAMBIO UTENSILE ROTATIVO
|
||||
7=CONTAORE
|
||||
8=INSERIMENTO TELERUTTORE FRESA
|
||||
9=ROTAZIONE TAPPETO SFRIDI
|
||||
10=MOTORE POMPA LUBRIFICAZIONE ASSI
|
||||
11=ELETTRO-VALVOLA LUBRIFICAZIONE CATENA
|
||||
12=USCITA A DISPOSIZIONE
|
||||
13=LAMPADA MESSAGGI
|
||||
14=USCITA A DISPOSIZIONE
|
||||
15=USCITA A DISPOSIZIONE
|
||||
16=INSERIMENTO TELERUTTORE LAMA
|
||||
17=ELETTRO-VALVOLA BLOCCO UTENSILE
|
||||
18=ELETTRO-VALVOLA SBLOCCO UTENSILE
|
||||
19=USCITA A DISPOSIZIONE
|
||||
20=ELETTRO-VALVOLA CAMBIO LATERALE AVANTI
|
||||
21=ELETTRO-VALVOLA CAMBIO LATERALE INDIETRO
|
||||
22=ELETTRO-VALVOLA CAMBIO CATENA AVANTI
|
||||
23=ELETTRO-VALVOLA CAMBIO CATENA INDIETRO
|
||||
24=ELETTRO-VALVOLA SOFFIO PULIZIA CATENA
|
||||
25=ELETTRO-VALVOLA SALITA ARRESTO FRONTALE DX
|
||||
26=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 1
|
||||
27=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 2
|
||||
28=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 3
|
||||
29=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 4
|
||||
30=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 5
|
||||
31=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 6
|
||||
32=ELETTRO-VALVOLA SALITA ARRESTO LATERALE BANCO 7
|
||||
33=ELETTRO-VALVOLA SOFFIO UTENSILE TESTA FRESA
|
||||
34=ELETTRO-VALVOLA CAMBIO SOTTO TRAVE AVANTI
|
||||
35=ELETTRO-VALVOLA CAMBIO SOTTO TRAVE INDIETRO
|
||||
36=ELETTRO-VALVOLA SOFFIO PULIZIA ASSI T1 FRESA
|
||||
37=ELETTRO-VALVOLA SOFFIO FRONTALE
|
||||
38=ELETTRO-VALVOLA SOFFIO LATERALE
|
||||
39=ABILITA POMPA DEL VUOTO
|
||||
40=ABILITA PRESSIONE POMPA DEL VUOTO
|
||||
41=ELETTRO-VALVOLA APERTURA VUOTO ZONA 1
|
||||
42=ELETTRO-VALVOLA APERTURA VUOTO ZONA 2
|
||||
43=ELETTRO-VALVOLA APERTURA VUOTO ZONA 3
|
||||
44=ELETTRO-VALVOLA APERTURA VUOTO ZONA 4
|
||||
45=ELETTRO-VALVOLA APERTURA VUOTO ZONA 5
|
||||
46=ELETTRO-VALVOLA APERTURA VUOTO ZONA 6
|
||||
47=ELETTRO-VALVOLA APERTURA VUOTO ZONA 7
|
||||
48=ELETTRO-VALVOLA APERTURA VUOTO ZONA 8
|
||||
49=ELETTRO-VALVOLA APERTURA VUOTO ZONA 9
|
||||
50=ELETTRO-VALVOLA APERTURA VUOTO ZONA 10
|
||||
51=ELETTRO-VALVOLA APERTURA VUOTO ZONA 11
|
||||
52=ELETTRO-VALVOLA APERTURA VUOTO ZONA 12
|
||||
53=ELETTRO-VALVOLA APERTURA VUOTO ZONA 13
|
||||
54=ELETTRO-VALVOLA APERTURA VUOTO ZONA 14
|
||||
55=USCITA A DISPOSIZIONE
|
||||
56=ELETTRO-VALVOLA SOFFIO PULIZIA ASSE T2 LAMA
|
||||
57=ACCENSIONE VENTILATORI
|
||||
58=SALITA CUFFIA ASPIRAZIONE PORTALE
|
||||
59=DISCESA CUFFIA ASPIRAZIONE PORTALE
|
||||
60=VELOCE CUFFIA ASPIRAZIONE PORTALE
|
||||
61=SBLOCCO FRENO CUFFIA ASPIRAZIONE PORTALE
|
||||
62=SALITA CUFFIA ASPIRAZIONE FRESA
|
||||
63=DISCESA CUFFIA ASPIRAZIONE FRESA
|
||||
64=VELOCE CUFFIA ASPIRAZIONE FRESA
|
||||
65=FRENO CUFFIA ASPIRAZIONE FRESA
|
||||
66=SALITA CUFFIA ASPIRAZIONE LAMA
|
||||
67=DISCESA CUFFIA ASPIRAZIONE LAMA
|
||||
68=VELOCE CUFFIA ASPIRAZIONE LAMA
|
||||
69=FRENO CUFFIA ASPIRAZIONE LAMA
|
||||
70=ELETTRO-VALVOLA CARICO SERBATOIO ARIA PULIZIA CABINA DX
|
||||
71=ELETTRO-VALVOLA SOFFIO PULIZIA CABINA DX
|
||||
72=ELETTRO-VALVOLA CARICO SERBATOIO ARIA PULIZIA CABINA SX
|
||||
73=ELETTRO-VALVOLA SOFFIO PULIZIA CABINA SX
|
||||
74=ELETTRO-VALVOLA SOFFIO PULIZIA TELECAMERE
|
||||
75=ELETTRO-VALVOLA APERTURA ASPIRAZIONE FRESA
|
||||
76=ELETTRO-VALVOLA APERTURA ASPIRAZIONE LAMA
|
||||
77=ELETTRO-VALVOLA APERTURA ASPIRAZIONE PORTALE
|
||||
78=ELETTRO-VALVOLA APERTURA ASPIRAZIONE PULIZIA PORTALE
|
||||
79=CONSENSO MACCHINA IN PARCHEGGIO
|
||||
80=CONSENSO RIFERIMENTI BASSI
|
||||
81=CONSENSO ROTAZIONE TAPPETO
|
||||
82=CONSENSO MACCHINA IN POTENZA
|
||||
83=CONSENSO BARRIERE DI SICUREZZA INTERVENUTE
|
||||
84=USCITA A DISPOSIZIONE
|
||||
85=USCITA A DISPOSIZIONE
|
||||
86=USCITA A DISPOSIZIONE
|
||||
87=USCITA A DISPOSIZIONE
|
||||
88=USCITA A DISPOSIZIONE
|
||||
89=USCITA A DISPOSIZIONE
|
||||
90=USCITA A DISPOSIZIONE
|
||||
91=USCITA A DISPOSIZIONE
|
||||
92=USCITA A DISPOSIZIONE
|
||||
93=USCITA A DISPOSIZIONE
|
||||
94=USCITA A DISPOSIZIONE
|
||||
95=USCITA A DISPOSIZIONE
|
||||
96=USCITA A DISPOSIZIONE
|
||||
@@ -0,0 +1,36 @@
|
||||
-- 2018/11/21 17:30:00
|
||||
-- Machining Exit for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Uscita da Lavorazioni ***
|
||||
|
||||
-- Nascondo il pezzo così marcato e le geometrie aggiunte, visualizzo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- visualizzo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.ON)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice (già chiusi tutti i gruppi di lavoro)
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
EgtZoom( SCE_ZM.ALL, false)
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,44 @@
|
||||
-- 2018/11/21 16:30:00
|
||||
-- Machining Init for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Ingresso in Lavorazioni ***
|
||||
|
||||
-- Rendo visibile il pezzo e le geometrie aggiunte, nascondo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- nascondo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.OFF)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
-- Processo i pezzi già nei gruppi di lavoro (quando appena lanciata Process)
|
||||
local GhostId = EgtGetFirstGhostPart()
|
||||
while GhostId do
|
||||
local PartId = EgtGetInfo( GhostId, GDB_SI.SOURCE, 'i')
|
||||
if PartId then
|
||||
ProcessPart( PartId)
|
||||
end
|
||||
GhostId = EgtGetNextGhostPart( GhostId)
|
||||
end
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,228 @@
|
||||
-- 2021/06/10
|
||||
-- Gestione attrezzaggio per Essetre-PF
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Tavola di passaggio valori
|
||||
local STU = {}
|
||||
STU.TUUID = ""
|
||||
STU.TCPOS = ""
|
||||
STU.HEAD = ""
|
||||
STU.GROUP = ""
|
||||
STU.POS = ""
|
||||
STU.EXIT = 0
|
||||
STU.INDEX = 0
|
||||
STU.HEAD1 = ""
|
||||
STU.HEAD2 = ""
|
||||
STU.ISVALID = false
|
||||
STU.ERR = 0
|
||||
_G.STU = STU
|
||||
|
||||
local INVALIDPOS = ""
|
||||
local POS = "Pos"
|
||||
|
||||
-- Geom Set
|
||||
local GS = {}
|
||||
|
||||
-- Configurazione posizioni (con o senza TC2)
|
||||
local PositionTable = {}
|
||||
-- se Progress
|
||||
if EgtGetTcPosId( 'T11') then
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T2", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T4", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T5", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T6", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T7", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T8", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T9", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T10", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos11", TcPos = "T11", Head = "H12", Group = "G2"},
|
||||
{Pos = "Pos12", TcPos = "T13", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos13", TcPos = "T14", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos14", TcPos = "T15", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos15", TcPos = "T16", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos16", TcPos = "T17", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos17", TcPos = "T18", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos18", TcPos = "T19", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos19", TcPos = "T20", Head = "H11", Group = "G2"},
|
||||
{Pos = "Pos20", TcPos = "T101", Head = "H13", Group = "G3"}}
|
||||
-- altrimenti One
|
||||
else
|
||||
PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T4", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T5", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T6", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T7", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T8", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T9", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T10", Head = "H11", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T101", Head = "H13", Group = "G2"},
|
||||
{Pos = "Pos11", TcPos = "T201", Head = "H11", Group = "G2"}}
|
||||
-- mortasatrice sotto la traversa
|
||||
if EgtGetTcPosId( 'T301') then
|
||||
table.insert( PositionTable, {Pos = "Pos12", TcPos = "T301", Head = "H15", Group = "G3"})
|
||||
end
|
||||
end
|
||||
local UsePositionHead = true
|
||||
|
||||
local function IsInGeomSet( ToolHead, PosHead)
|
||||
for GsIndex = 1, #GS do
|
||||
local bToolHead = false
|
||||
local bPosHead = false
|
||||
for HIndex = 1, #GS[GsIndex] do
|
||||
if GS[GsIndex][HIndex] == ToolHead then
|
||||
bToolHead = true
|
||||
elseif GS[GsIndex][HIndex] == PosHead then
|
||||
bPosHead = true
|
||||
end
|
||||
if bToolHead and bPosHead then
|
||||
return true
|
||||
end
|
||||
end
|
||||
if bToolHead and bPosHead then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function STU.IsCompatibleHeads()
|
||||
STU.ISVALID = false
|
||||
if IsInGeomSet(STU.HEAD1, STU.HEAD2) then
|
||||
STU.ISVALID = true
|
||||
else
|
||||
STU.ISVALID = false
|
||||
end
|
||||
end
|
||||
|
||||
function STU.GetValidHeadExitForPos()
|
||||
-- se TUUID non valido restituisco errore
|
||||
local ToolName = EgtTdbGetToolFromUUID( STU.TUUID)
|
||||
if ToolName == nill then
|
||||
STU.ERR = 1
|
||||
return
|
||||
end
|
||||
EgtTdbSetCurrTool( ToolName)
|
||||
local CurrToolHead = EgtTdbGetCurrToolParam( MCH_TP.HEAD)
|
||||
STU.EXIT = EgtTdbGetCurrToolParam( MCH_TP.EXIT)
|
||||
-- recupero testa predefinita per la posizione corrente
|
||||
local CurrPosHead
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
CurrPosHead = PositionTable[i].Head
|
||||
break
|
||||
end
|
||||
end
|
||||
-- verifico se la testa è quella della posizione predefinita
|
||||
if CurrPosHead == CurrToolHead then
|
||||
STU.HEAD = CurrToolHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
-- verifico se la testa è compatibile con quella della posizione predefinita
|
||||
elseif IsInGeomSet( CurrToolHead, CurrPosHead) then
|
||||
if UsePositionHead then
|
||||
STU.HEAD = CurrPosHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
else
|
||||
STU.HEAD = CurrToolHead
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
-- la testa non è compatibile con quella della posizione predefinita
|
||||
else
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
function STU.IsValidTcPosFromHead()
|
||||
STU.ISVALID = false
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
if PositionTable[i].Head == STU.HEAD then
|
||||
STU.ISVALID = true
|
||||
STU.ERR = 0
|
||||
return
|
||||
elseif IsInGeomSet(PositionTable[i].Head, STU.HEAD) then
|
||||
STU.ISVALID = true
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
STU.ISVALID = false
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function STU.GetTcPosHeadGroupFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.TCPOS = PositionTable[i].TcPos
|
||||
STU.HEAD = PositionTable[i].Head
|
||||
STU.GROUP = PositionTable[i].Group
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.TCPOS = INVALIDPOS
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.GROUP = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetPosFromTcPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
STU.POS = PositionTable[i].Pos
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.POS = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetGroupFromTcPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].TcPos == STU.TCPOS then
|
||||
STU.GROUP = PositionTable[i].Group
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.GROUP = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetHeadFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.HEAD = PositionTable[i].Head
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.HEAD = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
|
||||
function STU.GetTcPosFromPos()
|
||||
for i = 1, #PositionTable do
|
||||
if PositionTable[i].Pos == (POS .. tostring(STU.INDEX)) then
|
||||
STU.TCPOS = PositionTable[i].TcPos
|
||||
STU.ERR = 0
|
||||
return
|
||||
end
|
||||
end
|
||||
STU.TCPOS = INVALIDPOS
|
||||
STU.ERR = 1
|
||||
end
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.8 KiB |
@@ -0,0 +1,13 @@
|
||||
; Commento per evitare BOM con UTF-8
|
||||
[General]
|
||||
Pos1=T1;H12;1/6CB00A83-DDCD-49E6-A301-E1A0482615CA/Sawblade_520
|
||||
Pos2=T3;H11;1/E7F6A2BB-1F66-48B9-9561-496231C33403/DoveTail_D60
|
||||
Pos3=T4;H11;1/6EBB8C90-3B4A-498D-B971-1D1EBE6BE77F/EndMill_20x50
|
||||
Pos4=T5;H11;1/8B729108-7A53-4D8E-8394-379BA211C597/EndMill_25x130
|
||||
Pos5=T6;H11;1/0147ED47-EB5D-44D6-9CE2-5282B484B5BD/Marking_Tool_45x40
|
||||
Pos6=T7;H11;1/E56CB1CB-27EB-4F1E-9C5D-98AC495EDC9C/DrillBit_D16
|
||||
Pos7=T8;H11;1/17AA8A73-6D82-4AC7-91E2-4603B3D227BC/Fresa40x165
|
||||
Pos8=T9
|
||||
Pos9=T10;H11;1/73EA9F19-5634-447D-8A23-8EEC777983E6/SIDE_AND_FACECUTTER_200x60
|
||||
Pos10=T101;H13;1/A6CFDA65-DABB-441E-990A-776B5C24C2E4/ChainSaw
|
||||
Pos11=T201;H11;1/593F06F9-6749-4FE1-A3B1-44E8D7F5E96A/DrillBit_D20
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user