Essetre-ONErl prima versione

This commit is contained in:
andrea.villa
2023-11-17 09:37:30 +01:00
parent e19e74ad1d
commit 9f558f243e
56 changed files with 10266 additions and 0 deletions
+179
View File
@@ -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
+9
View File
@@ -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%
+12
View File
@@ -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
+24
View File
@@ -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
+30
View File
@@ -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')
+59
View File
@@ -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
+37
View File
@@ -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
+28
View File
@@ -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
+18
View File
@@ -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
+10
View File
@@ -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
+59
View File
@@ -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
+2312
View File
File diff suppressed because it is too large Load Diff
+2073
View File
File diff suppressed because it is too large Load Diff
+2703
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+140
View File
@@ -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
+831
View File
@@ -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.
+712
View File
@@ -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
+709
View File
@@ -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
+36
View File
@@ -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
+44
View File
@@ -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
+228
View File
@@ -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

+13
View File
@@ -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.
BIN
View File
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.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.