Essetre-90480031 2.5e1 :

- primo commit.
This commit is contained in:
DarioS
2023-05-05 11:21:42 +02:00
commit 2c84f82a36
21 changed files with 4506 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
/Tools
/Machinings
/SetUp
/Beam/Ts3Data.bak
/Beam/CutData.lua
/Beam/DrillData.lua
/Beam/MillingData.lua
/Beam/PocketingData.lua
/Beam/SawingData.lua
/Beam/Ts3Data.lua
/Wall/Ts3Data.bak
/Wall/CutData.lua
/Wall/DrillData.lua
/Wall/MillingData.lua
/Wall/PocketingData.lua
/Wall/SawingData.lua
/Wall/Ts3Data.lua
+369
View File
@@ -0,0 +1,369 @@
; Commento per evitare BOM con UTF-8
[General]
Material=Beam
NCType=2 ; 1=Tpa, 2=Num Flexium
[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=r,4,V
6=l,5,W
7=r,6,A
8=r,7,B
9=r,8,C
[Channels]
1=0,Channel 1
2=1,Channel 2
[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,Application.IOCONFIG_GLOBALS.Flexium_NCK.RCNC.General.Start,c,plc
10=Stop_State,Application.IOCONFIG_GLOBALS.Flexium_NCK.RCNC.General.Stop,c,plc
11=MachIndex,E80000,c,cn
12=ToolIndex,E80001,c,cn
[Variables]
; 1 = Name, Variable Path, ReadType, Type
; ReadType => o=one time;c=continuous
; Type => plc;cn
;1=Ingresso1,Application.IoConfig_Globals_Mapping.A0,c,plc
;2=Ingresso2,Application.IoConfig_Globals_Mapping.A1,c,plc
;3=Ingresso3,Application.IoConfig_Globals_Mapping.A2,c,plc
;4=Ingresso4,Application.IoConfig_Globals_Mapping.A3,c,plc
;5=P_Prod,E81295,c,cn
;6=P_Machgroup,E81296,c,cn
;7=P_Part,E81297,c,cn
;8=P_State,E81298,c,cn
;9=Reset_State,E80048,c,cn
;10=Uscita1,Application.IoConfig_Globals_Mapping.E0,c,plc
;11=Uscita2,Application.IoConfig_Globals_Mapping.E1,c,plc
;12=Start_State,Application.IoConfig_Globals.Flexium_NCK.RCNC.General.Start,c,plc
;13=Stop_State,Application.IoConfig_Globals.Flexium_NKC.RCNC.General.Stop,c,plc
[InputVariables]
; 1 = Name, Variable Path, ReadType, Type
; ReadType => o=one time;c=continuous
; Type => plc;cn
1=INPUT E0, Application.IoConfig_Globals_Mapping.E0, c, plc, 1
2=INPUT E1, Application.IoConfig_Globals_Mapping.E1, c, plc, 2
3=INPUT E2, Application.IoConfig_Globals_Mapping.E2, c, plc, 3
4=INPUT E3, Application.IoConfig_Globals_Mapping.E3, c, plc, 4
5=INPUT E4, Application.IoConfig_Globals_Mapping.E4, c, plc, 5
6=INPUT E5, Application.IoConfig_Globals_Mapping.E5, c, plc, 6
7=INPUT E6, Application.IoConfig_Globals_Mapping.E6, c, plc, 7
8=INPUT E7, Application.IoConfig_Globals_Mapping.E7, c, plc, 8
9=INPUT E8, Application.IoConfig_Globals_Mapping.E8, c, plc, 9
10=INPUT E9, Application.IoConfig_Globals_Mapping.E9, c, plc, 10
11=INPUT E10, Application.IoConfig_Globals_Mapping.E10, c, plc, 11
12=INPUT E11, Application.IoConfig_Globals_Mapping.E11, c, plc, 12
13=INPUT E12, Application.IoConfig_Globals_Mapping.E12, c, plc, 13
14=INPUT E13, Application.IoConfig_Globals_Mapping.E13, c, plc, 14
15=INPUT E14, Application.IoConfig_Globals_Mapping.E14, c, plc, 15
16=INPUT E15, Application.IoConfig_Globals_Mapping.E15, c, plc, 16
17=INPUT E16, Application.IoConfig_Globals_Mapping.E16, c, plc, 17
18=INPUT E17, Application.IoConfig_Globals_Mapping.E17, c, plc, 18
19=INPUT E18, Application.IoConfig_Globals_Mapping.E18, c, plc, 19
20=INPUT E19, Application.IoConfig_Globals_Mapping.E19, c, plc, 20
21=INPUT E20, Application.IoConfig_Globals_Mapping.E20, c, plc, 21
22=INPUT E21, Application.IoConfig_Globals_Mapping.E21, c, plc, 22
23=INPUT E22, Application.IoConfig_Globals_Mapping.E22, c, plc, 23
24=INPUT E23, Application.IoConfig_Globals_Mapping.E23, c, plc, 24
25=INPUT E24, Application.IoConfig_Globals_Mapping.E24, c, plc, 25
26=INPUT E25, Application.IoConfig_Globals_Mapping.E25, c, plc, 26
27=INPUT E26, Application.IoConfig_Globals_Mapping.E26, c, plc, 27
28=INPUT E27, Application.IoConfig_Globals_Mapping.E27, c, plc, 28
29=INPUT E28, Application.IoConfig_Globals_Mapping.E28, c, plc, 29
30=INPUT E29, Application.IoConfig_Globals_Mapping.E29, c, plc, 30
31=INPUT E30, Application.IoConfig_Globals_Mapping.E30, c, plc, 31
32=INPUT E31, Application.IoConfig_Globals_Mapping.E31, c, plc, 32
33=INPUT E32, Application.IoConfig_Globals_Mapping.E32, c, plc, 33
34=INPUT E33, Application.IoConfig_Globals_Mapping.E33, c, plc, 34
35=INPUT E34, Application.IoConfig_Globals_Mapping.E34, c, plc, 35
36=INPUT E35, Application.IoConfig_Globals_Mapping.E35, c, plc, 36
37=INPUT E36, Application.IoConfig_Globals_Mapping.E36, c, plc, 37
38=INPUT E37, Application.IoConfig_Globals_Mapping.E37, c, plc, 38
39=INPUT E38, Application.IoConfig_Globals_Mapping.E38, c, plc, 39
40=INPUT E39, Application.IoConfig_Globals_Mapping.E39, c, plc, 40
41=INPUT E40, Application.IoConfig_Globals_Mapping.E40, c, plc, 41
42=INPUT E41, Application.IoConfig_Globals_Mapping.E41, c, plc, 42
43=INPUT E42, Application.IoConfig_Globals_Mapping.E42, c, plc, 43
44=INPUT E43, Application.IoConfig_Globals_Mapping.E43, c, plc, 44
45=INPUT E44, Application.IoConfig_Globals_Mapping.E44, c, plc, 45
46=INPUT E45, Application.IoConfig_Globals_Mapping.E45, c, plc, 46
47=INPUT E46, Application.IoConfig_Globals_Mapping.E46, c, plc, 47
48=INPUT E47, Application.IoConfig_Globals_Mapping.E47, c, plc, 48
49=INPUT E48, Application.IoConfig_Globals_Mapping.E48, c, plc, 49
50=INPUT E49, Application.IoConfig_Globals_Mapping.E49, c, plc, 50
51=INPUT E50, Application.IoConfig_Globals_Mapping.E50, c, plc, 51
52=INPUT E51, Application.IoConfig_Globals_Mapping.E51, c, plc, 52
53=INPUT E52, Application.IoConfig_Globals_Mapping.E52, c, plc, 53
54=INPUT E53, Application.IoConfig_Globals_Mapping.E53, c, plc, 54
55=INPUT E54, Application.IoConfig_Globals_Mapping.E54, c, plc, 55
56=INPUT E55, Application.IoConfig_Globals_Mapping.E55, c, plc, 56
57=INPUT E56, Application.IoConfig_Globals_Mapping.E56, c, plc, 57
58=INPUT E57, Application.IoConfig_Globals_Mapping.E57, c, plc, 58
59=INPUT E58, Application.IoConfig_Globals_Mapping.E58, c, plc, 59
60=INPUT E59, Application.IoConfig_Globals_Mapping.E59, c, plc, 60
61=INPUT E60, Application.IoConfig_Globals_Mapping.E60, c, plc, 61
62=INPUT E61, Application.IoConfig_Globals_Mapping.E61, c, plc, 62
63=INPUT E62, Application.IoConfig_Globals_Mapping.E62, c, plc, 63
64=INPUT E63, Application.IoConfig_Globals_Mapping.E63, c, plc, 64
65=INPUT E64, Application.IoConfig_Globals_Mapping.E64, c, plc, 65
66=INPUT E65, Application.IoConfig_Globals_Mapping.E65, c, plc, 66
67=INPUT E66, Application.IoConfig_Globals_Mapping.E66, c, plc, 67
68=INPUT E67, Application.IoConfig_Globals_Mapping.E67, c, plc, 68
69=INPUT E68, Application.IoConfig_Globals_Mapping.E68, c, plc, 69
70=INPUT E69, Application.IoConfig_Globals_Mapping.E69, c, plc, 70
71=INPUT E70, Application.IoConfig_Globals_Mapping.E70, c, plc, 71
72=INPUT E71, Application.IoConfig_Globals_Mapping.E71, c, plc, 72
73=INPUT E72, Application.IoConfig_Globals_Mapping.E72, c, plc, 73
74=INPUT E73, Application.IoConfig_Globals_Mapping.E73, c, plc, 74
75=INPUT E74, Application.IoConfig_Globals_Mapping.E74, c, plc, 75
76=INPUT E75, Application.IoConfig_Globals_Mapping.E75, c, plc, 76
77=INPUT E76, Application.IoConfig_Globals_Mapping.E76, c, plc, 77
78=INPUT E77, Application.IoConfig_Globals_Mapping.E77, c, plc, 78
79=INPUT E78, Application.IoConfig_Globals_Mapping.E78, c, plc, 79
80=INPUT E79, Application.IoConfig_Globals_Mapping.E79, c, plc, 80
81=INPUT E80, Application.IoConfig_Globals_Mapping.E80, c, plc, 81
82=INPUT E81, Application.IoConfig_Globals_Mapping.E81, c, plc, 82
83=INPUT E82, Application.IoConfig_Globals_Mapping.E82, c, plc, 83
84=INPUT E83, Application.IoConfig_Globals_Mapping.E83, c, plc, 84
85=INPUT E84, Application.IoConfig_Globals_Mapping.E84, c, plc, 85
86=INPUT E85, Application.IoConfig_Globals_Mapping.E85, c, plc, 86
87=INPUT E86, Application.IoConfig_Globals_Mapping.E86, c, plc, 87
88=INPUT E87, Application.IoConfig_Globals_Mapping.E87, c, plc, 88
89=INPUT E88, Application.IoConfig_Globals_Mapping.E88, c, plc, 89
90=INPUT E89, Application.IoConfig_Globals_Mapping.E89, c, plc, 90
91=INPUT E90, Application.IoConfig_Globals_Mapping.E90, c, plc, 91
92=INPUT E91, Application.IoConfig_Globals_Mapping.E91, c, plc, 92
93=INPUT E92, Application.IoConfig_Globals_Mapping.E92, c, plc, 93
94=INPUT E93, Application.IoConfig_Globals_Mapping.E93, c, plc, 94
95=INPUT E94, Application.IoConfig_Globals_Mapping.E94, c, plc, 95
96=INPUT E95, Application.IoConfig_Globals_Mapping.E95, c, plc, 96
[OutputVariables]
; 1 = Name, Variable Path, ReadType, Type
; ReadType => o=one time;c=continuous
; Type => plc;cn
1=OUTPUT A0, Application.IoConfig_Globals_Mapping.A0, c, plc, 1
2=OUTPUT A1, Application.IoConfig_Globals_Mapping.A1, c, plc, 2
3=OUTPUT A2, Application.IoConfig_Globals_Mapping.A2, c, plc, 3
4=OUTPUT A3, Application.IoConfig_Globals_Mapping.A3, c, plc, 4
5=OUTPUT A4, Application.IoConfig_Globals_Mapping.A4, c, plc, 5
6=OUTPUT A5, Application.IoConfig_Globals_Mapping.A5, c, plc, 6
7=OUTPUT A6, Application.IoConfig_Globals_Mapping.A6, c, plc, 7
8=OUTPUT A7, Application.IoConfig_Globals_Mapping.A7, c, plc, 8
9=OUTPUT A8, Application.IoConfig_Globals_Mapping.A8, c, plc, 9
10=OUTPUT A9, Application.IoConfig_Globals_Mapping.A9, c, plc, 10
11=OUTPUT A10, Application.IoConfig_Globals_Mapping.A10, c, plc, 11
12=OUTPUT A11, Application.IoConfig_Globals_Mapping.A11, c, plc, 12
13=OUTPUT A12, Application.IoConfig_Globals_Mapping.A12, c, plc, 13
14=OUTPUT A13, Application.IoConfig_Globals_Mapping.A13, c, plc, 14
15=OUTPUT A14, Application.IoConfig_Globals_Mapping.A14, c, plc, 15
16=OUTPUT A15, Application.IoConfig_Globals_Mapping.A15, c, plc, 16
17=OUTPUT A16, Application.IoConfig_Globals_Mapping.A16, c, plc, 17
18=OUTPUT A17, Application.IoConfig_Globals_Mapping.A17, c, plc, 18
19=OUTPUT A18, Application.IoConfig_Globals_Mapping.A18, c, plc, 19
20=OUTPUT A19, Application.IoConfig_Globals_Mapping.A19, c, plc, 20
21=OUTPUT A20, Application.IoConfig_Globals_Mapping.A20, c, plc, 21
22=OUTPUT A21, Application.IoConfig_Globals_Mapping.A21, c, plc, 22
23=OUTPUT A22, Application.IoConfig_Globals_Mapping.A22, c, plc, 23
24=OUTPUT A23, Application.IoConfig_Globals_Mapping.A23, c, plc, 24
25=OUTPUT A24, Application.IoConfig_Globals_Mapping.A24, c, plc, 25
26=OUTPUT A25, Application.IoConfig_Globals_Mapping.A25, c, plc, 26
27=OUTPUT A26, Application.IoConfig_Globals_Mapping.A26, c, plc, 27
28=OUTPUT A27, Application.IoConfig_Globals_Mapping.A27, c, plc, 28
29=OUTPUT A28, Application.IoConfig_Globals_Mapping.A28, c, plc, 29
30=OUTPUT A29, Application.IoConfig_Globals_Mapping.A29, c, plc, 30
31=OUTPUT A30, Application.IoConfig_Globals_Mapping.A30, c, plc, 31
32=OUTPUT A31, Application.IoConfig_Globals_Mapping.A31, c, plc, 32
33=OUTPUT A32, Application.IoConfig_Globals_Mapping.A32, c, plc, 33
34=OUTPUT A33, Application.IoConfig_Globals_Mapping.A33, c, plc, 34
35=OUTPUT A34, Application.IoConfig_Globals_Mapping.A34, c, plc, 35
36=OUTPUT A35, Application.IoConfig_Globals_Mapping.A35, c, plc, 36
37=OUTPUT A36, Application.IoConfig_Globals_Mapping.A36, c, plc, 37
38=OUTPUT A37, Application.IoConfig_Globals_Mapping.A37, c, plc, 38
39=OUTPUT A38, Application.IoConfig_Globals_Mapping.A38, c, plc, 39
40=OUTPUT A39, Application.IoConfig_Globals_Mapping.A39, c, plc, 40
41=OUTPUT A40, Application.IoConfig_Globals_Mapping.A40, c, plc, 41
42=OUTPUT A41, Application.IoConfig_Globals_Mapping.A41, c, plc, 42
43=OUTPUT A42, Application.IoConfig_Globals_Mapping.A42, c, plc, 43
44=OUTPUT A43, Application.IoConfig_Globals_Mapping.A43, c, plc, 44
45=OUTPUT A44, Application.IoConfig_Globals_Mapping.A44, c, plc, 45
46=OUTPUT A45, Application.IoConfig_Globals_Mapping.A45, c, plc, 46
47=OUTPUT A46, Application.IoConfig_Globals_Mapping.A46, c, plc, 47
48=OUTPUT A47, Application.IoConfig_Globals_Mapping.A47, c, plc, 48
49=OUTPUT A48, Application.IoConfig_Globals_Mapping.A48, c, plc, 49
50=OUTPUT A49, Application.IoConfig_Globals_Mapping.A49, c, plc, 50
51=OUTPUT A50, Application.IoConfig_Globals_Mapping.A50, c, plc, 51
52=OUTPUT A51, Application.IoConfig_Globals_Mapping.A51, c, plc, 52
53=OUTPUT A52, Application.IoConfig_Globals_Mapping.A52, c, plc, 53
54=OUTPUT A53, Application.IoConfig_Globals_Mapping.A53, c, plc, 54
55=OUTPUT A54, Application.IoConfig_Globals_Mapping.A54, c, plc, 55
56=OUTPUT A55, Application.IoConfig_Globals_Mapping.A55, c, plc, 56
57=OUTPUT A56, Application.IoConfig_Globals_Mapping.A56, c, plc, 57
58=OUTPUT A57, Application.IoConfig_Globals_Mapping.A57, c, plc, 58
59=OUTPUT A58, Application.IoConfig_Globals_Mapping.A58, c, plc, 59
60=OUTPUT A59, Application.IoConfig_Globals_Mapping.A59, c, plc, 60
61=OUTPUT A60, Application.IoConfig_Globals_Mapping.A60, c, plc, 61
62=OUTPUT A61, Application.IoConfig_Globals_Mapping.A61, c, plc, 62
63=OUTPUT A62, Application.IoConfig_Globals_Mapping.A62, c, plc, 63
64=OUTPUT A63, Application.IoConfig_Globals_Mapping.A63, c, plc, 64
65=OUTPUT A64, Application.IoConfig_Globals_Mapping.A64, c, plc, 65
66=OUTPUT A65, Application.IoConfig_Globals_Mapping.A65, c, plc, 66
67=OUTPUT A66, Application.IoConfig_Globals_Mapping.A66, c, plc, 67
68=OUTPUT A67, Application.IoConfig_Globals_Mapping.A67, c, plc, 68
69=OUTPUT A68, Application.IoConfig_Globals_Mapping.A68, c, plc, 69
70=OUTPUT A69, Application.IoConfig_Globals_Mapping.A69, c, plc, 70
71=OUTPUT A70, Application.IoConfig_Globals_Mapping.A70, c, plc, 71
72=OUTPUT A71, Application.IoConfig_Globals_Mapping.A71, c, plc, 72
73=OUTPUT A72, Application.IoConfig_Globals_Mapping.A72, c, plc, 73
74=OUTPUT A73, Application.IoConfig_Globals_Mapping.A73, c, plc, 74
75=OUTPUT A74, Application.IoConfig_Globals_Mapping.A74, c, plc, 75
76=OUTPUT A75, Application.IoConfig_Globals_Mapping.A75, c, plc, 76
77=OUTPUT A76, Application.IoConfig_Globals_Mapping.A76, c, plc, 77
78=OUTPUT A77, Application.IoConfig_Globals_Mapping.A77, c, plc, 78
79=OUTPUT A78, Application.IoConfig_Globals_Mapping.A78, c, plc, 79
80=OUTPUT A79, Application.IoConfig_Globals_Mapping.A79, c, plc, 80
81=OUTPUT A80, Application.IoConfig_Globals_Mapping.A80, c, plc, 81
82=OUTPUT A81, Application.IoConfig_Globals_Mapping.A81, c, plc, 82
83=OUTPUT A82, Application.IoConfig_Globals_Mapping.A82, c, plc, 83
84=OUTPUT A83, Application.IoConfig_Globals_Mapping.A83, c, plc, 84
85=OUTPUT A84, Application.IoConfig_Globals_Mapping.A84, c, plc, 85
86=OUTPUT A85, Application.IoConfig_Globals_Mapping.A85, c, plc, 86
87=OUTPUT A86, Application.IoConfig_Globals_Mapping.A86, c, plc, 87
88=OUTPUT A87, Application.IoConfig_Globals_Mapping.A87, c, plc, 88
89=OUTPUT A88, Application.IoConfig_Globals_Mapping.A88, c, plc, 89
90=OUTPUT A89, Application.IoConfig_Globals_Mapping.A89, c, plc, 90
91=OUTPUT A90, Application.IoConfig_Globals_Mapping.A90, c, plc, 91
92=OUTPUT A91, Application.IoConfig_Globals_Mapping.A91, c, plc, 92
93=OUTPUT A92, Application.IoConfig_Globals_Mapping.A92, c, plc, 93
94=OUTPUT A93, Application.IoConfig_Globals_Mapping.A93, c, plc, 94
95=OUTPUT A94, Application.IoConfig_Globals_Mapping.A94, c, plc, 95
96=OUTPUT A95, Application.IoConfig_Globals_Mapping.A95, c, plc, 96
[MDI]
; 1 = Command, Description
1=M6T1L0=1,1
2=M6T2L0=1,2
3=M6T3L0=1,3
4=M6T4L0=1,4
5=M6T5L0=1,5
6=M6T6L0=1,6
7=M6T7L0=1,7
8=M6T8L0=1,8
9=M6T9L0=1,9
10=M6T10L0=1,10
11=M6T11L0=1,11
12=M6T12L0=1,12
13=M6T13L0=1,13
14=M6T14L0=1,14
15=M6T15L0=1,15
16=M6T16L0=1,16
17=M6T17L0=1,17
18=M6T18L0=1,18
19=M6T101L0=1,19
20=M6T201L0=1,20
21=M6T202L0=1,21
22=M6T203L0=1,22
23=M6T50L0=1,23
24=E80001=0,24
25=M6T1L0=2,25
26=M6T2L0=2,26
27=M6T3L0=2,27
28=M6T4L0=2,28
29=M6T5L0=2,29
30=M6T6L0=2,30
31=M6T7L0=2,31
32=M6T8L0=2,32
33=M6T9L0=2,33
34=M6T10L0=2,34
35=M6T11L0=2,35
36=M6T12L0=2,36
37=M6T13L0=2,37
38=M6T14L0=2,38
39=M6T15L0=2,39
40=M6T16L0=2,40
41=M6T17L0=2,41
42=M6T18L0=2,42
43=M6T101L0=2,43
44=M6T201L0=2,44
45=M6T202L0=2,45
46=M6T203L0=2,46
47=M6T50L0=2,47
48=E80002=0,48
[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]
H1.1=Standard.nge
H1.1:MILL_NOTIP=MillNoTip.nge
H2.1=SawOnH2.nge
H3.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
H1=6608
; 5 axis saw
H2=6615
; Chainsaw
H3=6616
[SetUp]
Default=Standard
[Estimations]
Enable=1
WinPlace=0,514,138,628,810
[VMill]
Enable=1
Save=0
+442
View File
@@ -0,0 +1,442 @@
-- Descrizione macchina Essetre-90480031 by Egalware s.r.l. 2023/05/05
-- Macchina Wall.
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '2.5e1'
-- Parametri macchina
NumericalControl = 'NUM' -- NUM o TPA
MinY = 0.0
MaxY = 21200.0
MinX1 = -5285.0
MaxX1 = 0.0
ParkTSpecX1 = -4200
MinZ1 = -1585.0
MaxZ1 = 0.0
MinB1 = -135.0
MaxB1 = 135.0
MinC1 = -275.0
MaxC1 = 275.0
MillOffs = 202.0
ChSawLen = 96.0
MinX2 = -6055.0
MaxX2 = -840.0
MinZ2 = -1180.0
MaxZ2 = 0.0
MinB2 = 0.0
MaxB2 = 90.0
MinC2 = -275.0
MaxC2 = 275.0
SawDeltaX = 347.5
SawDeltaY = 0.0
SawDeltaZ = -115.0
SawOffs = 163.5
Orig2DeltaX = 0
Orig2DeltaY = -3500
Orig2DeltaZ = 0
Orig3DeltaX = 21120
Orig3DeltaY = 0
Orig3DeltaZ = 0
Orig4DeltaX = 21120
Orig4DeltaY = -3500
Orig4DeltaZ = 0
DimTabX = 21120.0
DimTabY = 3500.0
DeltaTabX = 1299.65
DeltaTabY = -1290.0 - DimTabY
DeltaTabZ = -960.0
CoeffVM = 0.5
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480031.data"
local sData = EgtGetSourceDir().."\\Wall\\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 and Machine.Offsets then
local MchOffs = Machine.Offsets
NumericalControl = EgtIf( MchOffs.TIPO_CN ~= 1, 'NUM', 'TPA')
if MchOffs.MAX_Y then MinY = -MchOffs.MAX_Y end
if MchOffs.MIN_Y then MaxY = -MchOffs.MIN_Y end
MinX1 = MchOffs.MIN_X or MinX1
MaxX1 = MchOffs.MAX_X or MaxX1
MinZ1 = MchOffs.MIN_Z or MinZ1
MaxZ1 = MchOffs.MAX_Z or MaxZ1
MinB1 = MchOffs.MIN_B or MinB1
MaxB1 = MchOffs.MAX_B or MaxB1
MinC1 = MchOffs.MIN_C or MinC1
MaxC1 = MchOffs.MAX_C or MaxC1
MinX2 = MchOffs.MIN_U or MinX2
MaxX2 = MchOffs.MAX_U or MaxX2
MinZ2 = MchOffs.MIN_W or MinZ2
MaxZ2 = MchOffs.MAX_W or MaxZ2
MinB2 = MchOffs.MIN_V or MinB2
MaxB2 = MchOffs.MAX_V or MaxB2
MinC2 = MchOffs.MIN_A or MinC2
MaxC2 = MchOffs.MAX_A or MaxC2
MillOffs = MchOffs.PIVOT_MILL or MillOffs
SawOffs = MchOffs.PIVOT_SAW or SawOffs
if MchOffs.OFFSET_ZERO3_Y then DimTabX = - MchOffs.OFFSET_ZERO3_Y end
if MchOffs.OFFSET_ZERO2_X then DimTabY = - MchOffs.OFFSET_ZERO2_X end
if MchOffs.ZERO_Y_MILL then DeltaTabX = - MchOffs.ZERO_Y_MILL end
if MchOffs.ZERO_X_MILL then DeltaTabY = ( MchOffs.ZERO_X_MILL - DimTabY) end
DeltaTabZ = MchOffs.ZERO_Z_MILL or DeltaTabZ
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_Y_SAW then SawDeltaX = - ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_Y_SAW) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_X_SAW then SawDeltaY = ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_X_SAW) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_Z_SAW then SawDeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_Z_SAW) end
if MchOffs.OFFSET_ZERO2_Y then Orig2DeltaX = -MchOffs.OFFSET_ZERO2_Y end
if MchOffs.OFFSET_ZERO2_X then Orig2DeltaY = MchOffs.OFFSET_ZERO2_X end
if MchOffs.OFFSET_ZERO2_Z then Orig2DeltaZ = MchOffs.OFFSET_ZERO2_Z end
if MchOffs.OFFSET_ZERO3_Y then Orig3DeltaX = -MchOffs.OFFSET_ZERO3_Y end
if MchOffs.OFFSET_ZERO3_X then Orig3DeltaY = MchOffs.OFFSET_ZERO3_X end
if MchOffs.OFFSET_ZERO3_Z then Orig3DeltaZ = MchOffs.OFFSET_ZERO3_Z end
if MchOffs.OFFSET_ZERO4_Y then Orig4DeltaX = -MchOffs.OFFSET_ZERO4_Y end
if MchOffs.OFFSET_ZERO4_X then Orig4DeltaY = MchOffs.OFFSET_ZERO4_X end
if MchOffs.OFFSET_ZERO4_Z then Orig4DeltaZ = MchOffs.OFFSET_ZERO4_Z end
end
end
-- Spostamenti della lama rispetto al disegno
local SawOffsX = SawDeltaX - 347.5
local SawOffsY = SawDeltaY - 0
local SawOffsZ = SawDeltaZ + 115.0
EmtGeneral {
File='Essetre-90480031.nge',
Offset = Vector3d( -640.35, -3040.00, -1660.0),
AxisMaxAdjust = 250,
ExitMaxAdjust = 250,
Special = 'Essetre-WALL.mlse',
Processor = 'Essetre-WALL.mlpe'}
local BaseId = EmtBase {
Name = 'Base',
Geo='BASE/GEO',
Aux={'BASE/LOAD', 'BASE/MOD01', 'BASE/MOD02', 'BASE/MOD03', 'BASE/MOD04', 'BASE/MOD05', 'BASE/MOD06', 'BASE/MOD07', 'BASE/COLLISION'}}
local vtMove = Vector3d( DeltaTabX - 1299.65, DeltaTabY + 4790.0, DeltaTabZ + 960)
EgtMove( BaseId, vtMove, GDB_RT.GLOB)
-- Tavola
EmtTable {
Name = 'Tab',
Parent = 'Base',
Type = MCH_TT.FLAT,
Ref1 = Point3d( DeltaTabX, DeltaTabY, DeltaTabZ),
Scale = {DimTabX/21120, DimTabY/3500, 1},
Geo = 'TABLE/GEO'}
-- Traversa
EmtAxis {
Name = 'Y',
Parent = 'Base',
Invert = true,
Type = MCH_AT.LINEAR,
Dir = X_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinY, MaxY},
Home = 0,
Geo = 'Y_AXIS/GEO',
Aux = {'Y_AXIS/SOLID', 'Y_AXIS/TC', 'Y_AXIS/COLLISION'}}
-- Testa 1 per frese
EmtAxis {
Name = 'X1',
Parent = 'Y',
Token = 'X',
Type = MCH_AT.LINEAR,
Dir = Y_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinX1, MaxX1},
Home = MaxX1,
Geo = 'X1_AXIS/GEO',
Aux = {'X1_AXIS/SOLID', 'X1_AXIS/COLLISION'}}
EmtAxis {
Name = 'Z1',
Parent = 'X1',
Token = 'Z',
Type = MCH_AT.LINEAR,
Dir = Z_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinZ1, MaxZ1},
Home = 0,
Geo = 'Z1_AXIS/GEO',
Aux = {'Z1_AXIS/SOLID'}}
EmtAxis {
Name = 'C1',
Parent = 'Z1',
Token = 'C',
Type = MCH_AT.ROTARY,
Dir = Z_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinC1, MaxC1},
Home = 0,
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( 0, 0, MillOffs),
Stroke = {MinB1, MaxB1},
Home = 0,
Geo = 'B1_AXIS/GEO',
Aux = {'B1_AXIS/SOLID', 'B1_AXIS/COLLISION'}}
EmtHead {
Name = 'H1',
Parent = 'B1',
HSet = 'H1',
Type = MCH_HT.STD,
Pos = Point3d( 0, 0, 0),
TDir = Z_AX(),
ADir = Y_AX(),
Rot1W = 0.1,
OthColl = {'B1/SOLID', 'C1/SOLID'},
Geo = 'H1_HEAD/GEO'}
-- Sega a catena
EmtAxis {
Name = 'A1',
Parent = 'B1',
Token = '**',
Type = MCH_AT.ROTARY,
Dir = Z_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = { 0, 270},
Home = 180,
Geo = 'A1_AXIS/GEO'}
local H3Id = EmtHead {
Name = 'H3',
Parent = 'A1',
HSet = 'H1',
Type = MCH_HT.STD,
Pos = Point3d( 0, 0, -ChSawLen),
TDir = Y_AX(),
ADir = Z_AX(),
Rot1W = 0.1,
SolCh = MCH_SCC.ADIR_NEAR,
OthColl = {'B1/SOLID', 'C1/SOLID'},
Geo = 'H3_HEAD/GEO'}
EgtSetInfo( H3Id, 'ZSAFEDELTA', 120)
-- Testa per Lama
local X2Id = EmtAxis {
Name = 'X2',
Parent = 'Y',
Token = 'X',
Type = MCH_AT.LINEAR,
Dir = Y_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinX2, MaxX2},
Home = MinX2,
Geo = 'X2_AXIS/GEO',
Aux = {'X2_AXIS/SOLID'}}
EgtMove( EgtGetFirstNameInGroup( X2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, 0), GDB_RT.GLOB)
local Z2Id = EmtAxis {
Name = 'Z2',
Parent = 'X2',
Token = 'Z',
Type = MCH_AT.LINEAR,
Dir = Z_AX(),
Pos = Point3d( 0, 0, 0),
Stroke = {MinZ2, MaxZ2},
Home = 0,
Geo = 'Z2_AXIS/GEO',
Aux = {'Z2_AXIS/SOLID'}}
EgtMove( EgtGetFirstNameInGroup( Z2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
local C2Id = EmtAxis {
Name = 'C2',
Parent = 'Z2',
Token = 'C',
Type = MCH_AT.ROTARY,
Dir = Z_AX(),
Pos = Point3d( SawDeltaX, SawDeltaY, 0),
Stroke = {MinC2, MaxC2},
Home = 0,
Geo = 'C2_AXIS/GEO',
Aux = {'C2_AXIS/SOLID', 'C2_AXIS/COLLISION'}}
EgtMove( EgtGetFirstNameInGroup( C2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
EgtMove( EgtGetFirstNameInGroup( C2Id, 'COLLISION'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
local B2Id = EmtAxis {
Name = 'B2',
Parent = 'C2',
Token = 'B',
Type = MCH_AT.ROTARY,
Dir = -X_AX(),
Pos = Point3d( SawDeltaX, SawDeltaY, SawDeltaZ + SawOffs),
Stroke = {MinB2, MaxB2},
Home = 90,
Geo = 'B2_AXIS/GEO',
Aux = {'B2_AXIS/SOLID', 'B2_AXIS/COLLISION'}}
EgtMove( EgtGetFirstNameInGroup( B2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
EgtMove( EgtGetFirstNameInGroup( B2Id, 'COLLISION'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
local H2Id = EmtHead {
Name = 'H2',
Parent = 'B2',
HSet = 'H2',
Type = MCH_HT.STD,
Pos = Point3d( SawDeltaX, SawDeltaY, SawDeltaZ),
TDir = Z_AX(),
ADir = -Y_AX(),
Rot1W = 0.2,
OthColl = {'B2/SOLID', 'C2/SOLID'},
Geo = 'H2_HEAD/GEO'}
-- ToolChanger
local ptTcA = Point3d( -340.6,-570.0,-29.8)
EmtTcPos {
Name = 'T10',
Parent = 'Y',
Pos = ptTcA,
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA1'}
EmtTcPos {
Name = 'T11',
Parent = 'Y',
Pos = ptTcA - 120 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA2'}
EmtTcPos {
Name = 'T12',
Parent = 'Y',
Pos = ptTcA - 240 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA3'}
EmtTcPos {
Name = 'T13',
Parent = 'Y',
Pos = ptTcA - 360 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA4'}
EmtTcPos {
Name = 'T14',
Parent = 'Y',
Pos = ptTcA - 480 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA5'}
EmtTcPos {
Name = 'T15',
Parent = 'Y',
Pos = ptTcA - 600 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA6'}
EmtTcPos {
Name = 'T16',
Parent = 'Y',
Pos = ptTcA - 720 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA7'}
EmtTcPos {
Name = 'T17',
Parent = 'Y',
Pos = ptTcA - 840 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA8'}
EmtTcPos {
Name = 'T18',
Parent = 'Y',
Pos = ptTcA - 960 * Z_AX(),
TDir = -Y_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA9'}
EmtTcPos {
Name = 'T101',
Parent = 'Y',
Pos = Point3d(-568.3,-1307.0,9-92.8),
TDir = X_AX(),
ADir = Z_AX(),
Geo = 'Y_AXIS/TC1'}
EmtTcPos {
Name = 'T201',
Parent = 'Y',
Pos = Point3d(-926.3,-1870.0,25),
TDir = Z_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TC2'}
---------------------------------------------------------------------
-- Funzioni richiamate per modificare i dati macchina in casi particolari
--function OnSetTable()
--end
---------------------------------------------------------------------
function OnSetHead()
-- se sega a catena
if EMC.HEAD == 'H3' then
-- gestione distanza da naso mandrino
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, 0, -EMC.DIST))
local vtMove = Point3d( 0, 0, -EMC.DIST) - Point3d( EMC.EXITPOS)
local ExitId = EgtGetFirstNameInGroup( EgtGetHeadId( EMC.HEAD), 'T'..tostring( EMC.EXIT))
EgtMove( ExitId, vtMove)
-- gestione assi
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
local CSawPosA = EgtGetVal( sVal, 'A1', 'd') or 180
EmtModifyAxisHome( 'X1', ParkTSpecX1)
EmtModifyAxisHome( 'Z1', GetChainSawZHomeFromVirtualAxis( CSawPosA))
EmtModifyAxisStroke( 'C1', { MinC1, MaxC1})
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA))
EmtModifyAxisStroke( 'B1', { MinB1, MaxB1})
-- se utensile di grande diametro su testa fresa
elseif EMC.HEAD == 'H1' and EMC.TOTDIAM > 400 then
EmtModifyAxisHome( 'X1', MaxX1)
EmtModifyAxisHome( 'Z1', MaxZ1)
EmtModifyAxisStroke( 'C1', { -180.1, 0.1})
EmtModifyAxisHome( 'C1', 0)
EmtModifyAxisStroke( 'B1', { -90.1, 0.1})
-- altri casi su testa fresa
elseif EMC.HEAD == 'H1' then
EmtModifyAxisHome( 'X1', MaxX1)
EmtModifyAxisHome( 'Z1', MaxZ1)
EmtModifyAxisStroke( 'C1', { MinC1, MaxC1})
EmtModifyAxisHome( 'C1', 0)
EmtModifyAxisStroke( 'B1', { MinB1, MaxB1})
end
end
---------------------------------------------------------------------
-- Funzione che calcola la posizione Home di Z per la sega a catena dal valore dell'asse virtuale
function GetChainSawZHomeFromVirtualAxis( dPosA)
-- quota fissa
return -125
end
---------------------------------------------------------------------
-- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale
function GetChainSawCHomeFromVirtualAxis( dPosA)
-- se A=180 -> T104 -> HomeC = -90
if abs( dPosA - 180) < 0.1 then
return -90
-- altrimenti A=90 -> T101 -> HomeC = 0
else
return 0
end
end
---------------------------------------------------------------------
-- Funzione per resettare tutte le attivazioni della macchina
function OnResetMachine()
EmtUnlinkAllRawPartsFromGroups()
EmtUnlinkAllFixturesFromGroups()
-- 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.
+639
View File
@@ -0,0 +1,639 @@
-- Processore macchina Essetre-WALL by EgalTech s.r.l. 2023/04/24
-- Con controllo numerico NUM
-- Variabili di modulo
local MLE_INFO = 'Essetre-WALL.NUM.mlpe ver.'..PP_VER..' by EgalTech s.r.l.'
local TEST_USE = false
---------------------------------------------------------------------
-- *** GENERATION ***
---------------------------------------------------------------------
function OnStart()
EMT.USETO1 = false -- abilitazione uso origine tavola
EMT.MODAL = true -- abilitazione emissione modale
EMT.INCHES = false -- unità di misura mm/inches
EMT.NUM = false -- abilitazione numerazione linee
--EMT.Nt = 'N' -- token per la numerazione di linea
--EMT.LINENBR = 0 -- numero di linea
--EMT.LINEINC = 1 -- incremento numerazione linee
--EMT.Ft = 'F' -- token per feed
--EMT.St = 'S' -- token per speed
EMT.FMAXPINZE = 154000 -- feed massima pinze
end
---------------------------------------------------------------------
function OnEnd()
-- Ripristino fase iniziale come corrente
EgtSetCurrPhase( 1)
end
---------------------------------------------------------------------
function OnProgramStart()
-- Info da gruppo BtlInfo (se mancano prova dal gruppo di lavoro corrente)
local BtlInfoId = EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or EgtGetCurrMachGroup() or GDB_ID.NULL
local nRefPos = EgtGetInfo( BtlInfoId, 'REFPOS', 'i') or 1
if nRefPos == 1 or nRefPos == 2 or nRefPos == 3 then
EMT.ORIG = 1 + ( nRefPos - 1) * 10
elseif nRefPos == 4 or nRefPos == 5 or nRefPos == 6 then
EMT.ORIG = 2 + ( nRefPos - 4) * 10
elseif nRefPos == 7 or nRefPos == 8 or nRefPos == 9 then
EMT.ORIG = 3 + ( nRefPos - 7) * 10
elseif nRefPos == 10 or nRefPos == 11 or nRefPos == 12 then
EMT.ORIG = 4 + ( nRefPos - 10) * 10
else
EMT.ORIG = 1
end
EMT.LOAD90 = EgtGetInfo( BtlInfoId, 'LOAD90', 'i') or 0
-- Intestazioni
if not TEST_USE then
EMT.PRODID = EgtGetInfo( BtlInfoId, 'PRODID', 'i') or 0
EMT.PATTID = EgtGetInfo( BtlInfoId, 'PATTID', 'i') or 0
end
if EMT.PATTID and EMT.PATTID > 0 then
EmtOutput( '%' .. tostring( EMT.PATTID) .. '.0')
else
EmtOutput( '%40.0')
end
if EMT.INFO then
EmtOutput( '('..EMT.INFO..')')
else
EmtOutput( '(Program Start)')
end
EmtOutput( '('.. MLE_INFO..')')
-- Se modalità test vado in posizione sicura
if TEST_USE then
EmtOutput( 'G77 H9000 N1000 N2000')
end
-- Parametri macchina
local sOut = 'L163='..EgtNumToString( Orig2DeltaY, 2)..'\n'..
'L164='..EgtNumToString( -Orig2DeltaX, 2)..'\n'..
'L165='..EgtNumToString( Orig2DeltaZ, 2)..'\n'..
'L166='..EgtNumToString( Orig3DeltaY, 2)..'\n'..
'L167='..EgtNumToString( -Orig3DeltaX, 2)..'\n'..
'L168='..EgtNumToString( Orig3DeltaZ, 2)..'\n'..
'L169='..EgtNumToString( Orig4DeltaY, 2)..'\n'..
'L170='..EgtNumToString( -Orig4DeltaX, 2)..'\n'..
'L171='..EgtNumToString( Orig4DeltaZ, 2)..'\n'..
'G114'..' EA'..EgtNumToString( DeltaTabY + DimTabY - SawDeltaY, 2)..' EB'..EgtNumToString( -DeltaTabX + SawDeltaX, 2)..
' EC'..EgtNumToString( DeltaTabZ - SawDeltaZ, 2)..' ED'..EgtNumToString( SawOffs, 2)..' EE'..EgtNumToString( 0, 2)..
' EF'..EgtNumToString( DeltaTabY + DimTabY, 2)..' EG'..EgtNumToString( -DeltaTabX, 2)..
' EH'..EgtNumToString( DeltaTabZ, 2)..' EI'..EgtNumToString( MillOffs, 2)
EmtOutput( sOut)
-- Indice lavorazione
EMT.CNT = 0
-- Non effettuate lavorazioni con sega a catena sul fianco
EMT.CSAWFIRST = true
-- Non effettuata pausa per rimozione sfridi
EMT.SCRAPFIRST = true
-- Cerco primo utensile su testa 1
EMT.TOOL_1, EMT.TLEN_1 = FindFirstToolOnHead( 'H1')
end
---------------------------------------------------------------------
function OnProgramEnd()
EmtOutput( '( *** Program End *** )')
EmitCount()
-- Dichiarazione conclusione pezzi
if EMT.PRODID then
local PartId = EgtGetFirstPartInRawPart( EMT.RAWID)
while PartId do
local CutId = EgtGetInfo( PartId, 'CUTID', 'i') or 0
local sOut = 'G126 EA'..tostring( EMT.PRODID)..' EB'..tostring( EMT.PATTID)..' EC'..tostring( CutId)..' ED2'
EmtOutput( sOut)
PartId = EgtGetNextPartInRawPart( PartId)
end
end
-- Arresto mandrino
EmtOutput( 'M05 E80000=1')
-- Tipo di scarico
if not TEST_USE then
--EmtOutput( 'M12 $PRESS START FOR CLEANING')
EmtOutput( 'M27 E30057=1')
end
-- Se modalità test, termino il programma
if TEST_USE then
EmtOutput( 'M02')
end
end
---------------------------------------------------------------------
function OnToolData()
-- emissione dati utensile (esclusa lama e sega a catena)
if EMT.HEAD == 'H1' then
-- cerco posizione di attrezzaggio del primo utensile di lavorazione
if EMT.TOOL == EMT.TOOL_1 and EMT.TLEN_1 < 215.5 then
EMT.TCPOS_1 = EMT.TCPOS
end
-- emissione dati sega a catena
elseif EMT.HEAD == 'H3' then
;
end
end
---------------------------------------------------------------------
function OnDispositionStart()
--EmtOutput( '(Disposition '..EMT.DISPIND..' = '..EMT.DISPID..')')
EMT.OPEISDISP = true
end
---------------------------------------------------------------------
function OnDispositionEnd()
-- Se prima disposizione
if EMT.PHASE == 1 then
-- Dimensioni grezzo
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
EMT.LP = b3Raw:getDimX()
EMT.HP = b3Raw:getDimY()
EMT.SP = b3Raw:getDimZ()
EmtOutput( 'E30050='..EgtNumToString( 1000 * EMT.HP, 0)..
' E30051='..EgtNumToString( 1000 * EMT.LP, 0)..
' E30052='..EgtNumToString( 1000 * EMT.SP, 0))
-- Scelta origine
EmtOutput( 'M26 E30054='..EgtNumToString( EMT.ORIG, 0))
-- Posizione cuffia
local dHCuff = b3Raw:getDimZ() + 32
EmtOutput( 'E30039=' .. EgtNumToString( dHCuff * 1000, 0))
-- Eventuale salto a lavorazione in corso
EmtOutput( 'G79 NE80000')
-- Dichiarazione inizio lavorazione pezzi
if EMT.PRODID then
EmitCount()
local PartId = EgtGetFirstPartInRawPart( EMT.RAWID)
while PartId do
local CutId = EgtGetInfo( PartId, 'CUTID', 'i') or 0
local sOut = 'G126 EA'..tostring( EMT.PRODID)..' EB'..tostring( EMT.PATTID)..' EC'..tostring( CutId)..' ED1'
EmtOutput( sOut)
PartId = EgtGetNextPartInRawPart( PartId)
end
end
end
EMT.OPEISDISP = false
end
---------------------------------------------------------------------
function OnTableData()
end
---------------------------------------------------------------------
function OnFixtureData()
end
---------------------------------------------------------------------
function OnRawMoveData()
end
---------------------------------------------------------------------
function OnToolSelect()
-- se utensile definito (non definito per disposizioni con movimento)
if EMT.TOOL ~= '' then
-- verifiche su utensile
local sTool = EgtTdbGetToolFromUUID( EgtGetMachiningParam( MCH_MP.TUUID) or "")
if sTool ~= EMT.TOOL then error( "Tool name mismatch") end
-- predefinite EMT.TCPOS EMT.HEAD EMT.EXIT
EMT.TOOLTYPE = EgtTdbGetCurrToolParam( MCH_TP.TYPE)
EMT.TOOLSEL = EMT.TCPOS..' M06'
EMT.TDIAM = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
EMT.TTOTDIAM = EgtTdbGetCurrToolParam( MCH_TP.TOTDIAM)
EMT.TLEN = EgtTdbGetCurrToolParam( MCH_TP.LEN)
EMT.TTOTLEN = EgtTdbGetCurrToolParam( MCH_TP.TOTLEN)
EMT.TDIST = EgtTdbGetCurrToolParam( MCH_TP.DIST)
if EMT.TDIST and abs( EMT.TDIST) < 1 then EMT.TDIST = nil end
EMT.TUSERNOTES = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
end
end
---------------------------------------------------------------------
function OnToolDeselect()
end
---------------------------------------------------------------------
function OnMachiningStart()
--EMT.MCHLIBNAME = EgtGetMachiningParam( MCH_MP.NAME)
EMT.MCHNAME = EgtGetOperationName( EMT.MCHID)
EMT.MCHTYPE = EgtGetMachiningParam( MCH_MP.TYPE)
EMT.MCHWS = EgtGetMachiningParam( MCH_MP.WORKSIDE) or 0
EMT.MCHUSERNOTES = EgtGetMachiningParam( MCH_MP.USERNOTES)
-- non ancora iniziata la lavorazione
EMT.MCHFIRST = true
-- primo posizionamento sempre in globale
EMT.REFLOC = nil
EMT.IPLGL = false
end
---------------------------------------------------------------------
function OnMachiningEnd()
if not EMT.ZMAX then
EmtOutput( 'G103'..GetET()..' E80000='..tostring( EMT.CNT + 1))
end
EMT.PREVTOOL = EMT.TOOL
end
---------------------------------------------------------------------
function OnPathStart()
-- reset valori precedenti (per forzare emissione di tutti gli assi del 1° movimento)
EmtResetPrev()
end
---------------------------------------------------------------------
function OnPathEnd()
end
---------------------------------------------------------------------
function OnRapid()
-- se primo movimento della lavorazione, gestione speciale
if EMT.MCHFIRST and not EMT.OPEISDISP then
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
EmtOutput( '( *** '..EMT.MCHNAME..'/'..EMT.TOOL..' *** )')
EmitCount()
-- se lavorazione con sega a catena
if EMT.HEAD == 'H3' then
-- se prima lavorazione sui fianchi con sega a catena
if EMT.CSAWFIRST and string.sub( EMT.MCHNAME, 1, 5) == 'Csaw_' then
EMT.CSAWFIRST = false
-- eventuale pausa per rimozione sfridi
if EMT.SCRAPFIRST then
EMT.SCRAPFIRST = false
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
local ParkY = min( -( b3Raw:getMin():getX() - 2000), -MinY)
EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF())
end
-- pre-posizionamento
EmitCount()
EmtResetPrev()
local sOut = 'G101' .. EmtGetAxis( 'R1')
local sET = GetET()
local sEU = GetEU()
local sEE = GetEE()
local sEF = GetEF()
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
local sES = ' ES'..EgtNumToString( abs( EMT.S), 0)
local sEL = ' EL' .. EmtLenToString( ( EMT.TDIST or ChSawLen), 3)
local sER = ' ER' .. EmtLenToString( EMT.TLEN, 3)
sOut = sOut .. sET .. sEU .. sEE .. sEF .. sEM .. sES .. sEL .. sER
EmtOutput( sOut)
end
-- altrimenti verifico se necessaria pausa
else
local bSystemSR = ( EMT.SCRAPFIRST and EgtExistsInfo( EMT.MCHID, 'MOVE_AFTER'))
local bUserSR = ( EgtGetValInNotes( EMT.MCHUSERNOTES, 'ScrapRemove', 'i') == 1)
if bSystemSR or bUserSR then
if bSystemSR then EMT.SCRAPFIRST = false end
-- pausa per rimozione sfridi
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
local ParkY = min( -( b3Raw:getMin():getX() - 2000), -MinY)
EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF())
end
end
-- primo posizionamento
EmtResetPrev()
local sOut = 'G101' .. EmtGetAxis( 'L1') .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') ..
EmtGetAxis( 'R2') .. EmtGetAxis( 'R1')
if EMT.HEAD == 'H1' then
sOut = sOut .. ' U' .. EmtLenToString( MinX2, 3) .. ' W0 V90 A0'
elseif EMT.HEAD == 'H2' then
sOut = sOut .. ' U' .. EmtLenToString( MaxX1, 3) .. ' W0 V0 A0'
elseif EMT.HEAD == 'H3' then
sOut = sOut .. ' U' .. EmtLenToString( MinX2, 3) .. ' W0 V90 A0'
else
EmtSetLastError( 1211, "Unknown Head : " .. EMT.HEAD)
end
local sET = GetET()
local sEU = GetEU()
local sEE = GetEE()
local sEF = GetEF()
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
local sES = ' ES'..EgtNumToString( abs( EMT.S), 0)
local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3)
local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3)
sOut = sOut .. sET .. sEU .. sEE .. sEF .. sEM .. sES .. sEL .. sER
EmtOutput( sOut)
EMT.REFLOC = 0
EMT.MCHFIRST = false
EMT.ZMAX = false
-- se standard
elseif EMT.FLAG == 0 or EMT.FLAG == 1 or EMT.FLAG == 2 then
-- se necessario, impostazione riferimento locale
if EMT.REFLOC == 0 then
-- calcolo per piano generico
CalcInterpPlane()
EMT.REFLOC = 1
-- trasformo i punti nel piano
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
EMT.L1p = nil
EMT.L2p = nil
EMT.L3p = nil
EMT.R1p = nil
EMT.R2p = nil
local sET = GetET()
local sEU = GetEU()
local sEE = GetEE()
local sEF = ' EF20000'
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
local sES = ' ES'..EgtNumToString( abs( EMT.S), 0)
local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3)
local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3)
EmtOutput( 'G102'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..EmtGetAxis('R2')..EmtGetAxis('R1')..EMT.IPLGLSTR..sET..sEU..sEE..sEF..sEM..sES..sEL..sER)
else
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
end
-- emissione movimento
local sOut = 'G0'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
EmtGetAxis('R2')..EmtGetAxis('R1')
EmtOutput( sOut)
-- se altrimenti risalita a Z max a fine lavorazione
elseif EMT.FLAG == 3 then
if EMT.REFLOC then
EMT.REFLOC = nil
EMT.IPLGL = false
EmtResetPrev()
-- dichiarazione fine lavorazione
EmtOutput( 'G103'..GetET()..' E80000='..tostring( EMT.CNT + 1))
end
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
if not IsSpecialTool( EMT.TCPOS) then
local sOut = 'G101' .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1')
sOut = sOut .. GetET() .. GetEE() .. GetEF()
EmtOutput( sOut)
else
if EMT.TCPOS ~= 'T101' then
local sOut = 'G101' .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1')
local sEU_EO = ' EU50'
sOut = sOut .. GetET() .. GetEN().. sEU_EO .. GetEF()
EmtOutput( sOut)
elseif EMT.ADIR[3] > 0.708 then
local sOut = 'G101' .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. GetET() .. GetEN() .. GetEF()
EmtOutput( sOut)
sOut = 'G101 X' .. EmtLenToString( ParkTSpecX1, 3) .. GetET() .. GetEE() .. GetEF()
EmtOutput( sOut)
else
local sOut = 'G101 X' .. EmtLenToString( ParkTSpecX1, 3) .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. GetET() .. GetEE() .. GetEF()
EmtOutput( sOut)
end
end
EMT.ZMAX = true
-- se altrimenti movimento in Home
elseif EMT.FLAG == 4 then
-- non previsto
-- altrimenti errore
else
error( "Unknown Rapid flag")
end
-- aggiorno valori come precedenti
EmtUpdatePrev()
end
---------------------------------------------------------------------
function OnLinear()
-- se necessario, impostazione riferimento locale
if EMT.REFLOC == 0 then
-- calcolo per piano generico
CalcInterpPlane()
EMT.REFLOC = 1
-- salvo posizione attuale
local OldL1 = EMT.L1
local OldL2 = EMT.L2
local OldL3 = EMT.L3
local OldR1p = EMT.R1p
local OldR2p = EMT.R2p
-- imposto posizione precedente
EMT.L1 = EMT.L1o
EMT.L2 = EMT.L2o
EMT.L3 = EMT.L3o
EMT.R1p = nil
EMT.R2p = nil
-- trasformo i punti nel piano
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
local sET = GetET()
local sEU = GetEU()
local sEE = GetEE()
local sEF = ' EF20000'
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
local sES = ' ES'..EgtNumToString( abs( EMT.S), 0)
local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3)
local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3)
EmtOutput( 'G102'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..EmtGetAxis('R2')..EmtGetAxis('R1')..EMT.IPLGLSTR..sET..sEU..sEE..sEF..sEM..sES..sEL..sER)
-- emissione movimento
local sOut = 'G0'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
EmtGetAxis('R2')..EmtGetAxis('R1')
EmtOutput( sOut)
-- ripristino posizione attuale
EMT.L1 = OldL1
EMT.L2 = OldL2
EMT.L3 = OldL3
EMT.R1p = OldR1p
EMT.R2p = OldR2p
end
-- aggiustamento valori
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
-- valori degli assi
local sAxes = EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
EmtGetAxis('R2')..EmtGetAxis('R1')
-- se nulla da emettere, esco
if string.len( sAxes) == 0 then
return
end
-- aggiungo feed
local sFeed = EmtGetFeed()
-- emetto linea
EmtOutput( "G1"..sAxes..sFeed)
-- aggiorno valori come precedenti
EmtUpdatePrev()
end
---------------------------------------------------------------------
function OnArc()
-- non modale su archi
local dPrevZ = EMT.L3p
EmtResetPrevLinear()
-- aggiustamento valori
MyAdjustLinearAxes()
EmtAdjustRotaryAxes()
-- valori degli assi
local sAxes = EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
EmtGetAxis('R2')..EmtGetAxis('R1')
-- se nulla da emettere, esco
if string.len( sAxes) == 0 then
return
end
-- valori delle coordinate del centro
EmtAdjustCenterAxes()
-- coordinate centro (per ora solo archi nel piano XY)
--local sCen = ' ' .. EMT.C1t .. EmtLenToString(EMT.C1,3) ..
-- ' ' .. EMT.C2t .. EmtLenToString(EMT.C2,3)
-- raggio
local sRad = ' ' .. EMT.RRt .. EmtLenToString(EMT.RR,3)
-- aggiungo feed
local sFeed = EmtGetFeed()
-- tipo arco
local sArc = 'G' .. EgtNumToString(EMT.MOVE,0)
-- se elica, aggiungo il pitch
local sPitch = ''
local dDeltaZ = EMT.L3 - dPrevZ
if abs( dDeltaZ) > GEO.EPS_SMALL then
local dPitch = dDeltaZ * 360.0 / abs( EMT.AC)
sPitch = ' K' .. EmtLenToString( dPitch, 3)
end
-- emetto arco
EmtOutput( sArc..sAxes..sRad..sPitch..sFeed)
-- aggiorno valori come precedenti
EmtUpdatePrev()
end
---------------------------------------------------------------------
function MyAdjustLinearAxes()
if EMT.REFLOC then
local vtDelta = V_NULL()
local vtE = V_NULL()
if EMT.HEAD == 'H1' then
local Len = EMT.TLEN + MillOffs
local LenRef = MillOffs
local vtTool = EgtGetCalcToolDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
vtE = vtTool * Len - Z_AX() * LenRef
elseif EMT.HEAD == 'H2' then
vtDelta = -Vector3d( SawDeltaX, SawDeltaY, SawDeltaZ)
local Len = EMT.TLEN + SawOffs
local LenRef = SawOffs
local vtTool = EgtGetCalcToolDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
vtE = vtTool * Len - Z_AX() * LenRef
elseif EMT.HEAD == 'H3' then
local Len = ( EMT.TDIST or ChSawLen) + MillOffs
local LenRef = MillOffs
local vtAux = EgtGetCalcAuxDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
vtE = vtAux * Len - Z_AX() * LenRef
end
EMT.L1 = EMT.L1 - vtDelta:getX() - vtE:getX()
EMT.L2 = EMT.L2 - vtDelta:getY() - vtE:getY()
EMT.L3 = EMT.L3 - vtDelta:getZ() - DeltaTabZ - vtE:getZ()
end
EmtAdjustLinearAxes()
if not EMT.REFLOC then
EMT.L1 = - EMT.L1
EMT.L1t = 'Y'
EMT.L2t = 'X'
else
EMT.L1t = 'X'
EMT.L2t = 'Y'
end
end
---------------------------------------------------------------------
function CalcInterpPlane()
-- origine del piano
local xS = EMT.START[1]
local yS = EMT.START[2]
local zS = 0
local ptS = Point3d( xS, yS, zS)
-- calcolo per piano generico
local vtE
if EMT.HEAD ~= 'H3' then
vtE = EgtGetCalcToolDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
else
vtE = EgtGetCalcAuxDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
end
EMT.IPLGLFR = Frame3d( ptS, vtE)
--EmtOutput( 'IPLGLFR='..tostring(EMT.IPLGLFR))
local _, dAngV, dAngO = SphericalFromVector( vtE)
local dAngO2 = EmtGetAngO2( EMT.IPLGLFR:getVersZ(), EMT.IPLGLFR:getVersX(), dAngV, dAngO)
dAngO = dAngO - 90
while dAngO < 0 do
dAngO = dAngO + 360
end
-- se rotazione solo attorno alla C allora si mette come rotazione finale
if abs( dAngV) < GEO.EPS_ANG_SMALL then
dAngO2 = dAngO2 + dAngO
while dAngO2 >= 360 do
dAngO2 = dAngO2 - 360
end
dAngO = 0
end
local xOut = yS - DeltaTabY - DimTabY
local yOut = - ( xS - DeltaTabX)
local zOut = zS
if EMT.ORIG == 2 or EMT.ORIG == 12 or EMT.ORIG == 22 then
xOut = yS - DeltaTabY
yOut = - ( xS - DeltaTabX)
elseif EMT.ORIG == 3 or EMT.ORIG == 13 or EMT.ORIG == 23 then
xOut = yS - DeltaTabY - DimTabY
yOut = - ( xS - DeltaTabX - DimTabX)
elseif EMT.ORIG == 4 or EMT.ORIG == 14 or EMT.ORIG == 24 then
xOut = yS - DeltaTabY
yOut = - ( xS - DeltaTabX - DimTabX)
end
EMT.IPLGLSTR = ' EX'..EmtLenToString( xOut)..' EY'..EmtLenToString( yOut)..' EZ'..EmtLenToString( zOut)..
' EA0'..' EB'..EgtNumToString( dAngV)..' EC'..EgtNumToString( dAngO)..' ED'..EgtNumToString( dAngO2)
EMT.IPLGL = true
end
---------------------------------------------------------------------
function GetET()
if EMT.HEAD == 'H1' or EMT.HEAD == 'H3' then
return ' ET2'
elseif EMT.HEAD == 'H2' then
return ' ET1'
end
end
---------------------------------------------------------------------
function GetEU()
local sEU
if EMT.HEAD == 'H1' then
if #EMT.TCPOS == 2 then
sEU = ' EU'..string.sub( EMT.TCPOS, 2)
elseif #EMT.TCPOS == 3 then
sEU = ' EU1'..string.sub( EMT.TCPOS, 3)
elseif #EMT.TCPOS == 4 then
sEU = ' EU2'..string.sub( EMT.TCPOS, 3)
end
elseif EMT.HEAD == 'H2' then
sEU = ' EU0'
elseif EMT.HEAD == 'H3' then
if abs( EMT.R3 - 0) < 0.1 then
sEU = ' EU104'
elseif abs( EMT.R3 - 270) < 0.1 then
sEU = ' EU101'
elseif abs( EMT.R3 - 180) < 0.1 then
sEU = ' EU102'
elseif abs( EMT.R3 - 90) < 0.1 then
sEU = ' EU103'
else
EmtSetLastError( 1210, 'Chain saw orientation not allowed')
end
else
sEU = ''
end
return sEU
end
---------------------------------------------------------------------
function GetEE()
return ' EE' .. EgtNumToString( EMT.ORIG, 0)
end
---------------------------------------------------------------------
function GetEF()
return ' EF60000'
end
---------------------------------------------------------------------
function EmitCount()
EMT.CNT = EMT.CNT + 1
EmtOutput( 'N'..tostring( EMT.CNT)..' E80000='..tostring( EMT.CNT))
end
---------------------------------------------------------------------
-- *** END GENERATION ***
---------------------------------------------------------------------
+1047
View File
File diff suppressed because it is too large Load Diff
+62
View File
@@ -0,0 +1,62 @@
-- Special Operations macchina Essetre-WALL by EgalTech s.r.l. 2023/03/11
-- Intestazioni
require( 'EmtGenerator')
EgtEnableDebug( false)
EgtOutLog ( '** Essetre-WALL.mlse '..PP_VER..' **', 1)
---------------------------------------------------------------------
function OnSpecialMoveZup()
-- Inizializzazioni
EMC.MODIF = false
EMC.ERR = 1
-- Se fresa principale X1
if EMC.HEAD == 'H1' then
if EMC.L3 > -250 then
EMC.R1 = EgtGetAxisHomePos( 'C1')
EMC.R2 = EgtGetAxisHomePos( 'B1')
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
EMC.MODIF = true
end
-- se altrimenti seconda fresa X3
elseif EMC.HEAD == 'H7' then
if EMC.L3 > -250 then
EMC.R1 = EgtGetAxisHomePos( 'C3')
EMC.R2 = EgtGetAxisHomePos( 'B3')
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
EMC.MODIF = true
end
-- se altrimenti sega a catena X1
elseif EMC.HEAD == 'H3' then
local L3New = EMC.L3
local R1New = EMC.R1
local R2New = EMC.R2
if EMC.L3 > -300 then
L3New = min( EMC.L3, -250)
R1New = EgtGetAxisHomePos( 'C1')
R2New = EgtGetAxisHomePos( 'B1')
EMC.MODIF = true
end
if EMC.MODIF then
EMC.L3 = L3New
EMC.R1 = R1New
EMC.R2 = R2New
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2, EMC.R3)
end
-- se altrimenti lama X2
elseif EMC.HEAD == 'H2' then
if EMC.L3 > -200 then
EMC.R1 = EgtGetAxisHomePos( 'C2')
EMC.R2 = EgtGetAxisHomePos( 'B2')
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
EMC.MODIF = true
end
-- altrimenti errore
else
error( "Unknown Head")
end
EMC.ERR = 0
end
+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
+732
View File
@@ -0,0 +1,732 @@
// File dei messaggi macchina Italiano 2023/03/03
[MDI]
1=Carica utensile n° 1 con Testa1
2=Carica utensile n° 2 con Testa1
3=Carica utensile n° 3 con Testa1
4=Carica utensile n° 4 con Testa1
5=Carica utensile n° 5 con Testa1
6=Carica utensile n° 6 con Testa1
7=Carica utensile n° 7 con Testa1
8=Carica utensile n° 8 con Testa1
9=Carica utensile n° 9 con Testa1
10=Carica utensile n° 20 con Testa1
11=Carica utensile n° 21 con Testa1
12=Carica utensile n° 22 con Testa1
13=Carica utensile n° 23 con Testa1
14=Carica utensile n° 24 con Testa1
15=Carica utensile n° 25 con Testa1
16=Carica utensile n° 26 con Testa1
17=Carica utensile n° 27 con Testa1
18=Carica utensile n° 28 con Testa1
19=Carica utensile n° 101 con Testa1
20=Carica utensile n° 201 con Testa1
21=Carica utensile n° 202 con Testa1
22=Carica utensile n° 203 con Testa1
23=Scarica utensile da Testa1
24=Ins/Canc numero utensile presente su Testa1
25=Carica utensile n° 1 con Testa 2
26=Carica utensile n° 2 con Testa 2
27=Carica utensile n° 3 con Testa 2
28=Carica utensile n° 4 con Testa 2
29=Carica utensile n° 5 con Testa 2
30=Carica utensile n° 6 con Testa 2
31=Carica utensile n° 7 con Testa 2
32=Carica utensile n° 8 con Testa 2
33=Carica utensile n° 9 con Testa 2
34=Carica utensile n° 10 con Testa 2
35=Carica utensile n° 11 con Testa 2
36=Carica utensile n° 12 con Testa 2
37=Carica utensile n° 13 con Testa 2
38=Carica utensile n° 14 con Testa 2
39=Carica utensile n° 15 con Testa 2
40=Carica utensile n° 16 con Testa 2
41=Carica utensile n° 17 con Testa 2
42=Carica utensile n° 18 con Testa 2
43=Carica utensile n° 101 con Testa 2
44=Carica utensile n° 201 con Testa 2
45=Carica utensile n° 202 con Testa 2
46=Carica utensile n° 203 con Testa 2
47=Scarica utensile da Testa2
48=Ins/Canc numero utensile presente su Testa2
[PLC]
1=Macchina spenta
2=MESSAGGIO LIBERO
3=Anomalia UPS
4=Batteria UPS scarica
5=MESSAGGIO LIBERO
6=POM assi B e C non eseguita
7=MESSAGGIO LIBERO
8=Verificare olio lubrificazione aggregati catena
9=Termici motori
10=MESSAGGIO LIBERO
11=MESSAGGIO LIBERO
12=Minimo livello grasso nella pompa
13=Difetto impianto lubrificazione assi
14=Manca aria compressa
15=Sovratemperatura armadio sinistro
16=Sovratemperatura armadio destro
17=Problema su refrigratore Elettromandrini
18=MESSAGGIO LIBERO
19=MESSAGGIO LIBERO
20=MESSAGGIO LIBERO
21=MESSAGGIO LIBERO
22=MESSAGGIO LIBERO
23=Possibile collisione Elettromandrino con cambio utensile rotativo
24=Azionamento asse X in allarme
25=Azionamento asse Y in allarme
26=Azionamento asse Z in allarme
27=Azionamento asse B in allarme
28=Azionamento asse C in allarme
29=Azionamento asse U in allarme
30=Azionamento asse Y1 in allarme
31=Azionamento asse W in allarme
32=Azionamento asse X non abilitato
33=Azionamento asse Y non abilitato
34=Azionamento asse Z non abilitato
35=Azionamento asse B non abilitato
36=Azionamento asse C non abilitato
37=Azionamento asse U non abilitato
38=Azionamento asse Y1 non abilitato
39=Azionamento asse W non abilitato
40=Azionamento asse V in allarme
41=Azionamento asse V non abilitato
42=Azionamento asse A in allarme
43=Azionamento asse A non abilitato
44=Protezione magazzino cambio utensile rotativo aperta
45=Attesa inserzione teleruttore motore Lama
46=Attesa inserzione teleruttore Elettromandrino
47=Posizione Elettromandrino non ok per uscita magazzino utensili laterale
48=Posizione Elettromandrino non ok per uscita magazzino utensili sottotrave
49=Posizione Elettromandrino non ok per uscita magazzino utensile catena
50=Barriere perimetrali intervenute
51=Pre-allarme barriere perimetrali
52=MESSAGGIO LIBERO
53=Ostacolo discesa cuffia aspirazione Portale
54=Ostacolo discesa cuffia aspirazione Elettromandrino
55=Ostacolo discesa cuffia aspirazione Lama
56=Malfunzionamento inverter cuffia aspirazione Portale
57=Malfunzionamento inverter cuffia aspirazione Elettromandrino
58=Malfunzionamento inverter cuffia aspirazione Lama
59=*** MANUTENZIONE CE ***
60=MESSAGGIO LIBERO
61=MESSAGGIO LIBERO
62=MESSAGGIO LIBERO
63=MESSAGGIO LIBERO
64=MESSAGGIO LIBERO
65=MESSAGGIO LIBERO
66=MESSAGGIO LIBERO
67=MESSAGGIO LIBERO
68=MESSAGGIO LIBERO
69=MESSAGGIO LIBERO
70=MESSAGGIO LIBERO
71=MESSAGGIO LIBERO
72=MESSAGGIO LIBERO
73=MESSAGGIO LIBERO
74=MESSAGGIO LIBERO
75=MESSAGGIO LIBERO
76=MESSAGGIO LIBERO
77=MESSAGGIO LIBERO
78=MESSAGGIO LIBERO
79=MESSAGGIO LIBERO
80=MESSAGGIO LIBERO
81=Magazzino utensili laterale non indietro programmare M90 e poi M195
82=Sensore avanti magazzino utensili laterale non Ok
83=Sensore indietro magazzino utensili laterale non Ok
84=Magazzino utensili sottotrave non indietro programmare M90 e poi M197
85=Sensore avanti magazzino utensili sottotrave non Ok
86=Sensore indietro magazzino utensili sottotrave non Ok
87=Magazzino utensile catena non indietro programmare M90 e poi M199
88=Sensore avanti Magazzino utensile Catena non Ok
89=Sensore indietro Magazzino utensile Catena non Ok
90=MESSAGGIO LIBERO
91=MESSAGGIO LIBERO
92=Sensori contemporanei avanti-indietro magazzino utensili laterale
93=Sensori contemporanei avanti-indietro magazzino utensili sottotrave
94=Sensori contemporanei avanti-indietro magazzino utensile catena
95=Messa a punto inserita permessi solo movimenti manuali
96=MESSAGGIO LIBERO
97=MESSAGGIO LIBERO
98=MESSAGGIO LIBERO
99=MESSAGGIO LIBERO
100=MESSAGGIO LIBERO
101=Numero giri Elettromandrino o motore lama non Ok
102=MESSAGGIO LIBERO
103=MESSAGGIO LIBERO
104=MESSAGGIO LIBERO
105=Rotazione Elettromandrino proibita senza utensili
106=MESSAGGIO LIBERO
107=MESSAGGIO LIBERO
108=Attendere inserzioni di potenza
109=Premere pulsante di reset
110=MESSAGGIO LIBERO
111=MESSAGGIO LIBERO
112=MESSAGGIO LIBERO
113=MESSAGGIO LIBERO
114=MESSAGGIO LIBERO
115=Sovratemperatura resistenze di frenatura inverter
116=Sovratemperatura Elettromandrino
117=Sovratemperatura motore Lama
118=Flussostato Elettromandrino non Ok
119=Flussostato motore Lama non Ok
120=Sovracorrente inverter
121=Problema su elettro-valvola o vacuostato piano di lavoro zona 1
122=Problema su elettro-valvola o vacuostato piano di lavoro zona 2
123=Problema su elettro-valvola o vacuostato piano di lavoro zona 3
124=Problema su elettro-valvola o vacuostato piano di lavoro zona 4
125=Problema su elettro-valvola o vacuostato piano di lavoro zona 5
126=Problema su elettro-valvola o vacuostato piano di lavoro zona 6
127=Problema su elettro-valvola o vacuostato piano di lavoro zona 7
128=Problema su elettro-valvola o vacuostato piano di lavoro zona 8
129=Problema su elettro-valvola o vacuostato piano di lavoro zona 9
130=Problema su elettro-valvola o vacuostato piano di lavoro zona 10
131=Problema su elettro-valvola o vacuostato piano di lavoro zona 11
132=Problema su elettro-valvola o vacuostato piano di lavoro zona 12
133=Problema su elettro-valvola o vacuostato piano di lavoro zona 13
134=Problema su elettro-valvola o vacuostato piano di lavoro zona 14
135=MESSAGGIO LIBERO
136=MESSAGGIO LIBERO
137=MESSAGGIO LIBERO
138=Accendere tastiera
139=Batteria quasi scarica: sostituirla quanto prima
140=MESSAGGIO LIBERO
141=MESSAGGIO LIBERO
142=Problema su elettro-valvola o sensore riferimento di zero laterale banco 1
143=Problema su elettro-valvola o sensore riferimento di zero laterale banco 2
144=Problema su elettro-valvola o sensore riferimento di zero laterale banco 3
145=Problema su elettro-valvola o sensore riferimento di zero laterale banco 4
146=Problema su elettro-valvola o sensore riferimento di zero laterale banco 5
147=Problema su elettro-valvola o sensore riferimento di zero laterale banco 6
148=Problema su elettro-valvola o sensore riferimento di zero laterale banco 7
149=Problema su elettro-valvola o sensore riferimento di zero frontale
150=MESSAGGIO LIBERO
151=Difetto bloccaggio utensile su Elettromandrino
152=MESSAGGIO LIBERO
153=Utensile presente su elettromandrino con E80001=0
154=MESSAGGIO LIBERO
155=Difetto sbloccaggio utensile su Elettromandrino
156=MESSAGGIO LIBERO
157=MESSAGGIO LIBERO
158=MESSAGGIO LIBERO
159=Pistone sbloccaggio utensile elettromandrino non a riposo
160=MESSAGGIO LIBERO
161=MESSAGGIO LIBERO
162=MESSAGGIO LIBERO
163=MESSAGGIO LIBERO
164=MESSAGGIO LIBERO
165=MESSAGGIO LIBERO
166=MESSAGGIO LIBERO
167=MESSAGGIO LIBERO
168=MESSAGGIO LIBERO
200=Difetto su uno o più moduli EtherCAT: riavviare la macchina
201=Function Block Safety in errore - discrepanza segnali ingresso
202=Difetto di comunicazione moduli Safety
203=Difetto uscite Safety
204=Modo service ON
[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
+200
View File
@@ -0,0 +1,200 @@
-- 2023/04/24
-- Gestione attrezzaggio per Essetre-90480031
-- 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
local PositionTable={{Pos = "Pos1", TcPos = "T10", Head = "H1", Group = "G1"},
{Pos = "Pos2", TcPos = "T11", Head = "H1", Group = "G1"},
{Pos = "Pos3", TcPos = "T12", Head = "H1", Group = "G1"},
{Pos = "Pos4", TcPos = "T13", Head = "H1", Group = "G1"},
{Pos = "Pos5", TcPos = "T14", Head = "H1", Group = "G1"},
{Pos = "Pos6", TcPos = "T15", Head = "H1", Group = "G1"},
{Pos = "Pos7", TcPos = "T16", Head = "H1", Group = "G1"},
{Pos = "Pos8", TcPos = "T17", Head = "H1", Group = "G1"},
{Pos = "Pos9", TcPos = "T18", Head = "H1", Group = "G1"},
{Pos = "Pos10", TcPos = "T42", Head = "H2", Group = "G2"},
{Pos = "Pos11", TcPos = "T101", Head = "H3", Group = "G2"},
{Pos = "Pos12", TcPos = "T201", Head = "H1", Group = "G2"}}
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+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')
+55
View File
@@ -0,0 +1,55 @@
; PIndex = Type, PName, Default, Description
; Type : d=double, l=length, s=string
[1]
Name=Offsets
1= l,MIN_Y,-20580,MIN_Y
2= l,MAX_Y,0,MAX_Y
3= l,MIN_X,-6685,MIN_X
4= l,MAX_X,0,MAX_X
5= l,MIN_Z,-1570,MIN_Z
6= l,MAX_Z,0,MAX_Z
7= d,MIN_B,-135,MIN_B
8= d,MAX_B,135,MAX_B
9= d,MIN_C,-275,MIN_C
10=d,MAX_C,275,MAX_C
11=l,MIN_X2,-6685,MIN_X2
12=l,MAX_X2,0,MAX_X2
13=l,MIN_Z2,-1570,MIN_Z2
14=l,MAX_Z2,0,MAX_Z2
15=d,MIN_B2,-135,MIN_B2
16=d,MAX_B2,135,MAX_B2
17=d,MIN_C2,-275,MIN_C2
18=d,MAX_C2,275,MAX_C2
19=l,MIN_U,-6075,MIN_U
20=l,MAX_U,-770,MAX_U
21=l,MIN_W,-1110,MIN_W
22=l,MAX_W,0,MAX_W
23=l,MIN_V,0,MIN_V
24=l,MAX_V,90,MAX_V
25=d,MIN_A,-275,MIN_A
26=d,MAX_A,275,MAX_A
27=l,ZERO_X_MILL,-1293.3,ZERO_X_MILL
28=l,ZERO_Y_MILL,-1152,ZERO_Y_MILL
29=l,ZERO_Z_MILL,-992.15,ZERO_Z_MILL
30=l,PIVOT_MILL,208.0,PIVOT_MILL
31=l,ZERO_X_MILL2,-1293.3,ZERO_X_MILL2
32=l,ZERO_Y_MILL2,-1152,ZERO_Y_MILL2
33=l,ZERO_Z_MILL2,-992.15,ZERO_Z_MILL2
34=l,PIVOT_MILL2,208.0,PIVOT_MILL2
35=l,ZERO_X_SAW,-1288.05,ZERO_X_SAW
36=l,ZERO_Y_SAW,-803.45,ZERO_Y_SAW
37=l,ZERO_Z_SAW,-909.55,ZERO_Z_SAW
38=l,PIVOT_SAW,163.15,PIVOT_SAW
39=l,INTRULLI,1500,INTRULLI
40=l,DELTA_X,0,RAW_LONG_OFFSET
41=l,DELTA_Y,0,RAW_CROSS_OFFSET
[2]
Name=Trave
1=l,XMIN,20,XMIN
2=l,XMAX,3500,XMAX
3=l,YMIN,50,YMIN
4=l,YMAX,18000,YMAX
5=l,ZMIN,1,ZMIN
6=l,ZMAX,400,ZMAX
+26
View File
@@ -0,0 +1,26 @@
[Cut]
1=Standard
[Drill]
1=Drill
2=Pocket
[Milling]
1=FreeContour
2=Side
3=SideGroove
4=DtMortise
5=Mark
6=Text
7=CleanCorner60
8=CleanCorner30
9=SideMill
10=Gorge
[Pocketing]
1=Pocket
2=OpenPocket
3=Mortise
[Sawing]
1=Sawing
+86
View File
@@ -0,0 +1,86 @@
-- WallData.lua by Egaltech s.r.l. 2023/04/15
-- Raccolta dati generali per Pareti
EgtOutLog( ' 90480030-WallData started', 1)
-- Tabella per definizione modulo
local WallData = {
MIN_LENGTH = 100, -- lunghezza minima del grezzo
MIN_WIDTH = 100, -- larghezza minima del grezzo
MIN_HEIGHT = 10, -- altezza minima del grezzo
MAX_LENGTH = 18000, -- lunghezza massima del grezzo
MAX_WIDTH = 4900, -- larghezza massima del grezzo
MAX_HEIGHT = 400, -- altezza massima del grezzo
STD_RAW_LENGTH = 10000, -- lunghezza standard del grezzo
STD_RAW_WIDTH = 4000, -- larghezza standard del grezzo
MID_GAP = 50, -- distanza tra i pezzi
MID_SIC = 5, -- distanza di sicurezza di una lavorazione da un altro pezzo
COLL_SIC = 5, -- distanza di sicurezza per collisioni
CUT_SIC = 20, -- distanza di sicurezza per tagli
CUT_EXTRA = 0, -- affondamento extra standard per tagli di lama e fresature
CUT_EXTRA_MIN = 0, -- affondamento extra ridotto per tagli di lama e fresature
NZ_MINA = 0.5, -- 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.5, -- tolleranza tra diametro foro e diametro punta
DRILL_VZ_MIN = 0.5, -- componente limite in Z del versore di un foro
DRILL_VX_MAX = 0.866, -- 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_CLEAN_CRN30 = 60, -- massimo spessore per pulitura angolo con fresa 30deg
MAX_CLEAN_CRN60 = 150, -- massimo spessore per pulitura angolo con fresa 60deg
MILL_MAX_DEPTH_AS_MAT = true, -- massimo affondamento frese uguale ad altezza tagliente (max materiale)
RAWCOL = { 255, 160, 32, 30}, -- colore del grezzo
SIMUL_VIEW_DIR = 3, -- direzione di vista predefinita per la simulazione (1=NW, 2=SW, 3=NE, 4=SE)
ORIG_CORNER = 'TL', -- angolo tavola per origine di battuta (BR (defualt), TR, BL, TL)
NESTING_CORNER = 'TL', -- angolo di origine del grezzo per posizionamento pezzi (BR (defualt), TR, BL, TL)
DELTA_X = 0, -- allontanamento in X dai riferimenti
DELTA_Y = 0, -- allontanamento in Y dai riferimenti
RAWPART_ROT = 180, -- rotazione del pannello grezzo rispetto alla descrizione BTL
CUT_WITH_OUTLINE = true, -- taglio delle feature con l'outline del pezzo
}
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480031.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
WallData.DELTA_X = Machine.Offsets.DELTA_X or WallData.DELTA_X
WallData.DELTA_Y = Machine.Offsets.DELTA_Y or WallData.DELTA_Y
end
if Machine.Trave then
WallData.MIN_LENGTH = Machine.Trave.YMIN or WallData.MIN_LENGTH
WallData.MIN_WIDTH = Machine.Trave.XMIN or WallData.MIN_WIDTH
WallData.MIN_HEIGHT = Machine.Trave.ZMIN or WallData.MIN_HEIGHT
WallData.MAX_LENGTH = Machine.Trave.YMAX or WallData.MAX_LENGTH
WallData.MAX_WIDTH = Machine.Trave.XMAX or WallData.MAX_WIDTH
WallData.MAX_HEIGHT = Machine.Trave.ZMAX or WallData.MAX_HEIGHT
end
end
end
-------------------------------------------------------------------------------------------------------------
local function GetOrigCorner( RefPos)
if RefPos == 1 or RefPos == 2 or RefPos == 3 then
return 'TL'
elseif RefPos == 4 or RefPos == 5 or RefPos == 6 then
return 'BL'
elseif RefPos == 7 or RefPos == 8 or RefPos == 9 then
return 'TR'
elseif RefPos == 10 or RefPos == 11 or RefPos == 12 then
return 'BR'
else
return 'TL'
end
end
WallData.GetOrigCorner = GetOrigCorner
---------------------------------------------------------------------
return WallData
+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%