primo commit
This commit is contained in:
@@ -0,0 +1,347 @@
|
||||
; 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=M6T1,1
|
||||
2=M6T2,2
|
||||
3=M6T3,3
|
||||
4=M6T4,4
|
||||
5=M6T5,5
|
||||
6=M6T6,6
|
||||
7=M6T7,7
|
||||
8=M6T8,8
|
||||
9=M6T9,9
|
||||
10=M6T10,10
|
||||
11=M6T11,11
|
||||
12=M6T12,12
|
||||
13=M6T13,13
|
||||
14=M6T14,14
|
||||
15=M6T15,15
|
||||
16=M6T16,16
|
||||
17=M6T17,17
|
||||
18=M6T18,18
|
||||
19=M6T50,19
|
||||
20=M90,20
|
||||
21=M189,21
|
||||
22=M190,22
|
||||
23=M111,23
|
||||
24=M112,24
|
||||
25=M113,25
|
||||
26=M114,26
|
||||
27=E80001=0,27
|
||||
28=M30,28
|
||||
|
||||
[Languages]
|
||||
Enable=1
|
||||
Language1=Italiano,Ita.txt
|
||||
Language2=English,Eng.txt
|
||||
|
||||
[Tools]
|
||||
Drillbit=1
|
||||
Sawblade=1
|
||||
Mill=1
|
||||
Mortise=0
|
||||
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=
|
||||
H3.1=ChainSaw.nge
|
||||
|
||||
[Machinings]
|
||||
Drilling=1
|
||||
Sawing=1
|
||||
Milling=1
|
||||
Pocketing=1
|
||||
Mortising=0
|
||||
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
|
||||
|
||||
[SetUp]
|
||||
Default=Standard
|
||||
|
||||
[Estimations]
|
||||
Enable=1
|
||||
WinPlace=0,49,81,628,810
|
||||
|
||||
[VMill]
|
||||
Enable=1
|
||||
Save=0
|
||||
@@ -0,0 +1,482 @@
|
||||
-- Descrizione macchina Essetre-90480029 by EgalTech s.r.l. 2023/06/13
|
||||
-- Macchina Wall.
|
||||
-- 2022/01/20 ver 2.4a3 DS In ExecScrapRemove migliorato calcolo centro di ogni parte del Vmill.
|
||||
-- 2022/01/30 ver 2.4a4 DS In ExecScrapRemove esteso calcolo centri di ogni parte del Vmill. Migliorato controllo forature da sopra nel tavolo.
|
||||
-- 2022/06/13 ver 2.5f1 DS Modifiche per lavorazioni dentro cave con controllo collisione gambi frese.
|
||||
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.5f1'
|
||||
|
||||
-- Parametri macchina
|
||||
NumericalControl = 'NUM' -- NUM o TPA
|
||||
MinY = 0.0
|
||||
MaxY = 15825.0
|
||||
MinX1 = -7910.0
|
||||
MaxX1 = 0.0
|
||||
MinZ1 = -1585.0
|
||||
MaxZ1 = 0.0
|
||||
MinB1 = -135.0
|
||||
MaxB1 = 135.0
|
||||
MinC1 = -275.0
|
||||
MaxC1 = 275.0
|
||||
MillOffs = 170.0
|
||||
ChSawLen = 91.0
|
||||
ParkC1 = 0
|
||||
ParkB1 = 0
|
||||
MinX2 = -7070.0
|
||||
MaxX2 = -1340.0
|
||||
MinZ2 = -1180.0
|
||||
MaxZ2 = 0.0
|
||||
MinB2 = 0.0
|
||||
MaxB2 = 90.0
|
||||
MinC2 = -275.0
|
||||
MaxC2 = 275.0
|
||||
SawDeltaX = 97.35
|
||||
SawDeltaY = 0.0
|
||||
SawDeltaZ = -117.9
|
||||
SawOffs = 163.5
|
||||
Orig2DeltaX = 0
|
||||
Orig2DeltaY = -3500
|
||||
Orig2DeltaZ = 0
|
||||
Orig3DeltaX = 14400
|
||||
Orig3DeltaY = 0
|
||||
Orig3DeltaZ = 0
|
||||
Orig4DeltaX = 14400
|
||||
Orig4DeltaY = -3500
|
||||
Orig4DeltaZ = 0
|
||||
DimTabX = 14400.0
|
||||
DimTabY = 3500.0
|
||||
DeltaTabX = 779.5
|
||||
DeltaTabY = -5274.3
|
||||
DeltaTabZ = -1092.0
|
||||
CoeffVM = 0.75
|
||||
COLL_SAFE_DIST = 4
|
||||
SafeTableDown = - ( 0.5 + COLL_SAFE_DIST)
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480029.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 - 97.35
|
||||
local SawOffsY = SawDeltaY - 0
|
||||
local SawOffsZ = SawDeltaZ + 252.0
|
||||
|
||||
EmtGeneral {
|
||||
File='Essetre-90480029.nge',
|
||||
Offset = Vector3d( -890.5, -4020.00, -1842.0),
|
||||
AxisMaxAdjust = 9250,
|
||||
ExitMaxAdjust = 9250,
|
||||
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/TAB', 'BASE/REF', 'BASE/COLLISION'}}
|
||||
local vtMove = Vector3d( DeltaTabX - 779.5, DeltaTabY + 5194.3, DeltaTabZ + 1092)
|
||||
EgtMove( BaseId, vtMove, GDB_RT.GLOB)
|
||||
local StmId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( BaseId, 'COLLISION'), 'STM')
|
||||
EgtMove( StmId, Vector3d( 0, 0, SafeTableDown))
|
||||
-- Tavola
|
||||
EmtTable {
|
||||
Name = 'Tab',
|
||||
Parent = 'Base',
|
||||
Type = MCH_TT.FLAT,
|
||||
Ref1 = Point3d( DeltaTabX, DeltaTabY, DeltaTabZ),
|
||||
Scale = {DimTabX/14400, DimTabY/3500, 1},
|
||||
Geo = 'TABLE/GEO'}
|
||||
-- Traversa
|
||||
local YId = 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 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'}}
|
||||
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 = ParkC1,
|
||||
Geo = 'C1_AXIS/GEO',
|
||||
Aux = {'C1_AXIS/SOLID', 'C1_AXIS/COLLISION'}}
|
||||
EmtAxis {
|
||||
Name = 'B1',
|
||||
Parent = 'C1',
|
||||
Token = 'B',
|
||||
Type = MCH_AT.ROTARY,
|
||||
Dir = -X_AX(),
|
||||
Pos = Point3d( 0, 0, MillOffs),
|
||||
Stroke = {MinB1, MaxB1},
|
||||
Home = ParkB1,
|
||||
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', 60)
|
||||
-- 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 ptTc = Point3d( -383.5,0.75,-392.9)
|
||||
EmtTcPos {
|
||||
Name = 'T1',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, 0),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC1'}
|
||||
EmtTcPos {
|
||||
Name = 'T2',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -20),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC2'}
|
||||
EmtTcPos {
|
||||
Name = 'T3',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -40),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC3'}
|
||||
EmtTcPos {
|
||||
Name = 'T4',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -60),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC4'}
|
||||
EmtTcPos {
|
||||
Name = 'T5',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -80),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC5'}
|
||||
EmtTcPos {
|
||||
Name = 'T6',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -100),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC6'}
|
||||
EmtTcPos {
|
||||
Name = 'T7',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -120),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC7'}
|
||||
EmtTcPos {
|
||||
Name = 'T8',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -140),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC8'}
|
||||
EmtTcPos {
|
||||
Name = 'T9',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -160),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC9'}
|
||||
EmtTcPos {
|
||||
Name = 'T10',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -180),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC10'}
|
||||
EmtTcPos {
|
||||
Name = 'T11',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -200),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC11'}
|
||||
EmtTcPos {
|
||||
Name = 'T12',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -220),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC12'}
|
||||
EmtTcPos {
|
||||
Name = 'T13',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -240),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC13'}
|
||||
EmtTcPos {
|
||||
Name = 'T14',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -260),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC14'}
|
||||
EmtTcPos {
|
||||
Name = 'T15',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -280),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC15'}
|
||||
EmtTcPos {
|
||||
Name = 'T16',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -300),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC16'}
|
||||
EmtTcPos {
|
||||
Name = 'T17',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -320),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC17'}
|
||||
EmtTcPos {
|
||||
Name = 'T18',
|
||||
Parent = 'Y',
|
||||
Pos = ptTc + VectorFromPolar( 380, -340),
|
||||
TDir = Z_AX(),
|
||||
ADir = X_AX(),
|
||||
Geo = 'Y_AXIS/TC18'}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzioni richiamate per modificare i dati macchina in casi particolari
|
||||
--function OnSetTable()
|
||||
--end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function OnSetHead()
|
||||
if EMC.HEAD == 'H1' then
|
||||
EmtModifyAxisHome( 'X1', MaxX1)
|
||||
EmtModifyAxisHome( 'Z1', MaxZ1)
|
||||
EmtModifyAxisHome( 'C1', ParkC1)
|
||||
elseif EMC.HEAD == 'H3' then
|
||||
-- recupero valore asse A bloccato
|
||||
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
||||
local CSawPosA = EgtGetVal( sVal, 'A1', 'd') or 0
|
||||
EmtModifyAxisHome( 'X1', ( MinX1 + MaxX1) / 2)
|
||||
EmtModifyAxisHome( 'Z1', GetChainSawZHomeFromVirtualAxis( CSawPosA))
|
||||
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA))
|
||||
EmtModifyAxisHome( 'A1', CSawPosA)
|
||||
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 -150
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale
|
||||
function GetChainSawCHomeFromVirtualAxis( dPosA)
|
||||
-- se A=0 -> T104 -> HomeC = 90
|
||||
if abs( dPosA) < 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.
@@ -0,0 +1,650 @@
|
||||
-- Processore macchina Essetre-WALL by EgalTech s.r.l. 2022/07/11
|
||||
-- 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
|
||||
EMT.ORIG = EgtGetInfo( BtlInfoId, 'REFPOS', 'i') or 3
|
||||
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 = 'L161='..EgtNumToString( Orig2DeltaY, 2)..'\n'..
|
||||
'L162='..EgtNumToString( -Orig2DeltaX, 2)..'\n'..
|
||||
'L163='..EgtNumToString( Orig2DeltaZ, 2)..'\n'..
|
||||
'L164='..EgtNumToString( Orig3DeltaY, 2)..'\n'..
|
||||
'L165='..EgtNumToString( -Orig3DeltaX, 2)..'\n'..
|
||||
'L166='..EgtNumToString( Orig3DeltaZ, 2)..'\n'..
|
||||
'L167='..EgtNumToString( Orig4DeltaY, 2)..'\n'..
|
||||
'L168='..EgtNumToString( -Orig4DeltaX, 2)..'\n'..
|
||||
'L169='..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 sOut = 'G126 EA'..tostring( EMT.PRODID)..' EB'..tostring( EMT.PATTID)..' EC'..tostring( -1)..' ED2'
|
||||
EmtOutput( sOut)
|
||||
end
|
||||
-- Arresto mandrino
|
||||
EmtOutput( 'M05 E80000=1')
|
||||
-- Gestione scarico
|
||||
EmtOutput( 'M12 $PRESS START FOR CLEANING')
|
||||
EmtOutput( 'M27')
|
||||
-- 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))
|
||||
-- Origine fissa 3
|
||||
EmtOutput( 'M26')
|
||||
-- Posizione cuffia
|
||||
local dHCuff = b3Raw:getDimZ() + 15
|
||||
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 sOut = 'G126 EA'..tostring( EMT.PRODID)..' EB'..tostring( EMT.PATTID)..' EC'..tostring( -1)..' ED1'
|
||||
EmtOutput( sOut)
|
||||
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)
|
||||
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.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()
|
||||
local sOut = string.gsub( string.gsub( EMT.MCHNAME..'/'..EMT.TOOL, '%(', '-'), '%)', '-')
|
||||
EmtOutput( '( *** ' .. sOut .. ' *** )')
|
||||
--EmtOutput( '( *** '..EMT.MCHNAME..'/'..EMT.TOOL..' *** )')
|
||||
EmitCount()
|
||||
-- eventuale pausa per rimozione sfridi
|
||||
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
|
||||
-- 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
|
||||
-- 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( ChSawLen, 3)
|
||||
local sER = ' ER' .. EmtLenToString( EMT.TLEN, 3)
|
||||
sOut = sOut .. sET .. sEU .. sEE .. sEF .. sEM .. sES .. sEL .. sER
|
||||
EmtOutput( sOut)
|
||||
end
|
||||
end
|
||||
-- primo posizionamento
|
||||
EmtResetPrev()
|
||||
if EMT.HEAD ~= 'H5' and EMT.HEAD ~= 'H6' then
|
||||
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, 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
|
||||
else -- H5 or H6 (foratori orizzontali)
|
||||
-- rinvio l'emissione al prossimo movimento con Z del foro
|
||||
EMT.FIRST_HDRILL = true
|
||||
EMT.REFLOC = nil
|
||||
EMT.MCHFIRST = false
|
||||
end
|
||||
-- se standard
|
||||
elseif EMT.FLAG == 0 or EMT.FLAG == 1 or EMT.FLAG == 2 then
|
||||
-- se prima emissione di foratura orizzontale
|
||||
if EMT.FIRST_HDRILL then
|
||||
EMT.FIRST_HDRILL = false
|
||||
local sET = GetET()
|
||||
local sEU = GetEU()
|
||||
EMT.L1 = -EMT.L1
|
||||
local sOut = 'G101 X0' .. EmtGetAxis( 'L1') .. EmtGetAxis( 'L3')..' U0 V0 W0'..sET..sEU..' EF60000'
|
||||
EmtOutput( sOut)
|
||||
EMT.L1 = -EMT.L1
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
EmtResetPrev()
|
||||
local sEE = GetEE()
|
||||
local sEF = ' EF20000'
|
||||
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
|
||||
local sX = ' X30'
|
||||
local sEX = ' EX0'
|
||||
if EMT.HEAD == 'H6' then
|
||||
sX = ' X-30'
|
||||
sEX = ' EX' .. EmtLenToString( -EMT.HP)
|
||||
end
|
||||
sOut = 'G102' .. sX ..' Y0 Z0'..sEX..' EY'..EmtLenToString( EMT.L1)..' EZ'..EmtLenToString( EMT.L3) .. ' EA0 EB0 EC0 ED0' .. sET .. sEU .. sEE .. sEM .. sEF
|
||||
EmtOutput( sOut)
|
||||
EMT.ZMAX = false
|
||||
-- se necessario, impostazione riferimento locale
|
||||
elseif 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, 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)
|
||||
elseif EMT.HEAD ~= 'H5' and EMT.HEAD ~= 'H6' then
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
-- emissione movimento
|
||||
local sOut = 'G0'..EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
|
||||
EmtGetAxis('R2')..EmtGetAxis('R1')
|
||||
EmtOutput( sOut)
|
||||
end
|
||||
-- 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))
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
local sOut = 'G101' .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. GetET() .. GetEE() .. GetEF()
|
||||
EmtOutput( sOut)
|
||||
EMT.ZMAX = true
|
||||
elseif EMT.HEAD == 'H5' or EMT.HEAD == 'H6' then
|
||||
EmtResetPrev()
|
||||
EmtOutput( 'G103'..GetET()..' E80000='..tostring( EMT.CNT + 1))
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
-- 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, 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
|
||||
if EMT.HEAD ~= 'H5' and EMT.HEAD ~= 'H6' then
|
||||
sAxes = EmtGetAxis('L1')..EmtGetAxis('L2')..EmtGetAxis('L3')..
|
||||
EmtGetAxis('R2')..EmtGetAxis('R1')
|
||||
else
|
||||
sAxes = EmtGetAxis('L2')
|
||||
end
|
||||
-- se nulla da emettere, esco
|
||||
if #sAxes == 0 then
|
||||
return
|
||||
end
|
||||
-- aggiungo feed
|
||||
local sFeed = EmtGetFeed()
|
||||
-- emetto linea
|
||||
EmtOutput( "G1"..sAxes..sFeed)
|
||||
-- eventuale gestione fondo foro
|
||||
if EMT.FLAG == 101 and ( EMT.HEAD == 'H5' or EMT.HEAD == 'H6') then
|
||||
EmtOutput( 'M155')
|
||||
end
|
||||
-- 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 = 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()
|
||||
elseif EMT.HEAD == 'H5' then
|
||||
EMT.L1 = EMT.L1 - DeltaTabX + DrillDeltaX
|
||||
EMT.L2 = EMT.L2 - DeltaTabY + DrillDeltaY - DimTabY - EMT.TLEN
|
||||
EMT.L3 = EMT.L3 - DeltaTabZ + DrillDeltaZ
|
||||
elseif EMT.HEAD == 'H6' then
|
||||
EMT.L1 = EMT.L1 - DeltaTabX + Drill2DeltaX
|
||||
EMT.L2 = EMT.L2 - DeltaTabY + Drill2DeltaY - DimTabY + EMT.HP + EMT.TLEN
|
||||
EMT.L3 = EMT.L3 - DeltaTabZ + Drill2DeltaZ
|
||||
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 then
|
||||
xOut = yS - DeltaTabY
|
||||
yOut = - ( xS - DeltaTabX)
|
||||
elseif EMT.ORIG == 3 then
|
||||
xOut = yS - DeltaTabY - DimTabY
|
||||
yOut = - ( xS - DeltaTabX - DimTabX)
|
||||
elseif EMT.ORIG == 4 then
|
||||
xOut = yS - DeltaTabY
|
||||
yOut = - ( xS - DeltaTabX - DimTabX)
|
||||
elseif EMT.ORIG == 5 then
|
||||
xOut = yS - DeltaTabY - DimTabY
|
||||
yOut = - ( xS - DeltaTabX - Orig5DeltaX)
|
||||
elseif EMT.ORIG == 6 then
|
||||
xOut = yS - DeltaTabY
|
||||
yOut = - ( xS - DeltaTabX - Orig5DeltaX)
|
||||
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'
|
||||
elseif EMT.HEAD == 'H5' then
|
||||
return ' ET3'
|
||||
elseif EMT.HEAD == 'H6' then
|
||||
return ' ET4'
|
||||
end
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function GetEU()
|
||||
local sEU
|
||||
if EMT.HEAD == 'H1' then
|
||||
sEU = ' EU'..string.sub( EMT.TCPOS, 2)
|
||||
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
|
||||
elseif EMT.HEAD == 'H5' or EMT.HEAD == 'H6' then
|
||||
sEU = ''
|
||||
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 ***
|
||||
---------------------------------------------------------------------
|
||||
+1010
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,67 @@
|
||||
-- Special Operations macchina Essetre-WALL by EgalTech s.r.l. 2022/02/03
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
EgtOutLog ( '** Essetre-WALL.mlse '..PP_VER..' **', 1)
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function OnSpecialMoveZup()
|
||||
|
||||
-- Inizializzazioni
|
||||
EMC.MODIF = false
|
||||
EMC.ERR = 1
|
||||
|
||||
-- Se fresa
|
||||
if EMC.HEAD == 'H1' then
|
||||
if EMC.L3 > -300 then
|
||||
EMC.R1 = EgtGetAxisHomePos( 'C1')
|
||||
EMC.R2 = EgtGetAxisHomePos( 'B1')
|
||||
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
||||
EMC.MODIF = true
|
||||
end
|
||||
-- se altrimenti sega a catena
|
||||
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, EgtGetAxisHomePos( 'Z1'))
|
||||
R1New = EgtGetAxisHomePos( 'C1')
|
||||
R2New = EgtGetAxisHomePos( 'B1')
|
||||
EMC.MODIF = true
|
||||
end
|
||||
if EMC.L2 > -1400 then
|
||||
R1New = 0
|
||||
EMC.MODIF = true
|
||||
elseif EMC.L2 < -4700 then
|
||||
R1New = 180
|
||||
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
|
||||
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
|
||||
-- se foratore orizzontale
|
||||
elseif EMC.HEAD == 'H5' then
|
||||
;
|
||||
-- se foratore orizzontale opposto
|
||||
elseif EMC.HEAD == 'H6' then
|
||||
;
|
||||
-- altrimenti errore
|
||||
else
|
||||
error( "Unknown Head")
|
||||
end
|
||||
EMC.ERR = 0
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,713 @@
|
||||
// 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=CRANE IN WORKPLAN
|
||||
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
|
||||
1050=No communication with the NC
|
||||
1206=Axes Moving
|
||||
1207=Program in execution
|
||||
1604=Program being executed
|
||||
2001=Flexium system has not been shutdown correctly. Some programs may not be up to date. The programs need to be checked in the programming page
|
||||
2007=Flexium System was not shutdown correctly! Previous Zone 0 files are transfered to the NCK
|
||||
5000=No communication with Flexium RTS
|
||||
|
||||
[INPUT]
|
||||
1=MACHINE ON
|
||||
2=MOTOR THERMOELEMENTS
|
||||
3=REMOTE SWITCH ELECTRICSPINDLE INSERTED
|
||||
4=SUCTION CAP PORTAL MOTOR DRIVE OK
|
||||
5=SUCTION CAP ELECTRICSPINDLE MOTOR DRIVE OK
|
||||
6=THERMAL PROBE - INVERTER BRAKE RESISTANCE
|
||||
7=SUCTION CAP SAW BLADE MOTOR DRIVE OK
|
||||
8=SENSOR HIGH UP SUCTION CAP PORTAL
|
||||
9=SENSOR LOW-DOWN UP SUCTION CAP PORTAL
|
||||
10=MAINTENANCE SELECTION MACHINE CE
|
||||
11=SENSOR HIGH UP SUCTION CAP ELECTRICSPINDLE
|
||||
12=SENSOR LOW-DOWN UP SUCTION CAP ELECTRICSPINDLE
|
||||
13=SENSOR HIGH UP SUCTION CAP SAW BLADE MOTOR
|
||||
14=SENSOR LOW-DOWN UP SUCTION CAP SAW BLADE MOTOR
|
||||
15=SENSOR CHANGING ROTATIVE UTENSILE PROTECTION OPENED
|
||||
16=FREE INPUT
|
||||
17=FREE INPUT
|
||||
18=FREE INPUT
|
||||
19=FREE INPUT
|
||||
20=FREE INPUT
|
||||
21=FREE INPUT
|
||||
22=FREE INPUT
|
||||
23=SENSOR FORWARD CHAIN SAW TOOL CHANGE
|
||||
24=SENSOR BACKWARDS CHAIN SAW TOOL CHANGE
|
||||
25=THERMAL PROBE SENSOR ELECTRICSPINDLE
|
||||
26=THERMAL PROBE SENSOR SAW BLADE MOTOR
|
||||
27=FREE INPUT
|
||||
28=SENSOR FORWARD SIDE TOOL CHANGE
|
||||
29=SENSOR BACKWARDS SIDE TOOL CHANGE
|
||||
30=ELECTRICSPINDLE AND SAW BLADE MOTOR COOLER OK
|
||||
31=ELECTRICSPINDLE FLOW SWITCH
|
||||
32=ALARM RESET BUTTON
|
||||
33=PRESSURE DEVICE AXES LUBRICATION
|
||||
34=PRESSURE DEVICE COMPRESSED AIR
|
||||
35=SENSOR MINIMUM GREASE LEVEL
|
||||
36=SENSOR MINIMUM OIL LEVEL
|
||||
37=FREE INPUT
|
||||
38=OVER TEMPERATURE LEFT CABINET
|
||||
39=SENSOR UNLOCKED PISTON CONE AT REST
|
||||
40=PRE-ALARM WORKPLAN SAFETY ZONES
|
||||
41=SAW BLADE MOTOR FLOW SWITCH
|
||||
42=REMOTE SWITCH SAW BLADE MOTOR INSERTED
|
||||
43=SENSOR FORWARD UNDER BEAM TOOL CHANGE
|
||||
44=SENSOR BACKWARDS UNDER BEAM TOOL CHANGE
|
||||
45=ALARM OF SAFETY ZONES WORKPLAN
|
||||
46=FREE INPUT
|
||||
47=UPS BATTERY OK
|
||||
48=UPS-CURRENT OUTPUT
|
||||
49=SENSOR LOW-DOWN FRONTAL STOP
|
||||
50=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 1
|
||||
51=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 2
|
||||
52=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 3
|
||||
53=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 4
|
||||
54=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 5
|
||||
55=SENSOR LOW-DOWN LATERAL STOP WORKPLAN 6
|
||||
56=FREE INPUT
|
||||
57=FREE INPUT
|
||||
58=SELECTOR CONVEYOR BELT ACTIVATION
|
||||
59=FREE INPUT
|
||||
60=FREE INPUT
|
||||
61=FREE INPUT
|
||||
62=FREE INPUT
|
||||
63=OVER TEMPERATURE RIGHT CABINET
|
||||
64=FREE INPUT
|
||||
65=VACUUM RESERVATION ZONE 1
|
||||
66=VACUUM RESERVATION ZONE 2
|
||||
67=VACUUM RESERVATION ZONE 3
|
||||
68=VACUUM RESERVATION ZONE 4
|
||||
69=VACUUM RESERVATION ZONE 5
|
||||
70=VACUUM RESERVATION ZONE 6
|
||||
71=VACUUM RESERVATION ZONE 7
|
||||
72=VACUUM RESERVATION ZONE 8
|
||||
73=VACUUM RESERVATION ZONE 9
|
||||
74=VACUUM RESERVATION ZONE 10
|
||||
75=VACUUM RESERVATION ZONE 11
|
||||
76=VACUUM RESERVATION ZONE 12
|
||||
77=FREE INPUT
|
||||
78=FREE INPUT
|
||||
79=FREE INPUT
|
||||
80=FREE INPUT
|
||||
81=VACUUM SWITCH ZONE 1
|
||||
82=VACUUM SWITCH ZONE 2
|
||||
83=VACUUM SWITCH ZONE 3
|
||||
84=VACUUM SWITCH ZONE 4
|
||||
85=VACUUM SWITCH ZONE 5
|
||||
86=VACUUM SWITCH ZONE 6
|
||||
87=VACUUM SWITCH ZONE 7
|
||||
88=VACUUM SWITCH ZONE 8
|
||||
89=VACUUM SWITCH ZONE 9
|
||||
90=VACUUM SWITCH ZONE 10
|
||||
91=VACUUM SWITCH ZONE 11
|
||||
92=VACUUM SWITCH ZONE 12
|
||||
93=FREE INPUT
|
||||
94=FREE INPUT
|
||||
95=FREE INPUT
|
||||
96=FREE INPUT
|
||||
|
||||
[OUTPUT]
|
||||
1=CONTROL, DRY AIR SOLENOID VALVE OPENING
|
||||
2=CE REGULATION MODE CONSENT
|
||||
3=SELECTION HOME AXIS C1 ELECTRICSPINDLE
|
||||
4=SELECTION HOME AXIS C2 SAW BLADE MOTOR
|
||||
5=OPENINGOF THE SOLENOID VALVE OF THE ROTARY TOOL CHANGE PROTECTION
|
||||
6=CLOSINGOF THE SOLENOID VALVE OF THE ROTARY TOOL CHANGE PROTECTION
|
||||
7=HOURCOUNTER
|
||||
8=REMOTE SWITCH ARMING ELECTRICSPINDLE
|
||||
9=SCRAPS CONVEYOR BELT
|
||||
10=AXIS MOTOR PUMP LUBRICATION
|
||||
11=SOLENOID VALVE LUBRICATION CHAIN
|
||||
12=FREE OUTPUT
|
||||
13=MESSAGES LAMP
|
||||
14=FREE OUTPUT
|
||||
15=FREE OUTPUT
|
||||
16=REMOTE SWITCH ARMING SAW BLADE MOTOR
|
||||
17=SOLENOID VALVE TOOL LOCK
|
||||
18=SOLENOID VALVE TOOL UNLOCK
|
||||
19=FREE OUTPUT
|
||||
20=SOLENOID VALVE LATERAL TOOL CHANGE FORWARD
|
||||
21=SOLENOID VALVE LATERAL TOOL CHANGE BACKWARD
|
||||
22=SOLENOID VALVE CHAIN TOOL CHANGE FORWARD
|
||||
23=SOLENOID VALVE CHAIN TOOL CHANGE BACKWARD
|
||||
24=SOLENOID VALVE CHAIN CLEANING BLOW
|
||||
25=SOLENOID VALVE CLIMB FRONTAL RIGHT STOP
|
||||
26=SOLENOID VALVE CLIMB LATERAL WORKPLAN 1
|
||||
27=SOLENOID VALVE CLIMB LATERAL WORKPLAN 2
|
||||
28=SOLENOID VALVE CLIMB LATERAL WORKPLAN 3
|
||||
29=SOLENOID VALVE CLIMB LATERAL WORKPLAN 4
|
||||
30=SOLENOID VALVE CLIMB LATERAL WORKPLAN 5
|
||||
31=SOLENOID VALVE CLIMB LATERAL WORKPLAN 6
|
||||
32=SOLENOID VALVE CLIMB LATERAL WORKPLAN 7
|
||||
33=SOLENOID VALVE ELECTRICSPINDLE BLOW
|
||||
34=SOLENOID VALVE TOOL CHANGE UNDER BEAM FORWARD
|
||||
35=SOLENOID VALVE TOOL CHANGE UNDER BEAM BACWARD
|
||||
36=SOLENOID VALVE AXIS ELECTRICSPINDLE CLEANING BLOW
|
||||
37=SOLENOID VALVE FRONTAL BLOW
|
||||
38=SOLENOID VALVE LATERAL BLOW
|
||||
39=VACUUM REQUEST ENABLE
|
||||
40=OPEN VACUUM
|
||||
41=SOLENOID VALVE VACUUM OPEN ZONE 1
|
||||
42=SOLENOID VALVE VACUUM OPEN ZONE 2
|
||||
43=SOLENOID VALVE VACUUM OPEN ZONE 3
|
||||
44=SOLENOID VALVE VACUUM OPEN ZONE 4
|
||||
45=SOLENOID VALVE VACUUM OPEN ZONE 5
|
||||
46=SOLENOID VALVE VACUUM OPEN ZONE 6
|
||||
47=SOLENOID VALVE VACUUM OPEN ZONE 7
|
||||
48=SOLENOID VALVE VACUUM OPEN ZONE 8
|
||||
49=SOLENOID VALVE VACUUM OPEN ZONE 9
|
||||
50=SOLENOID VALVE VACUUM OPEN ZONE 10
|
||||
51=SOLENOID VALVE VACUUM OPEN ZONE 11
|
||||
52=SOLENOID VALVE VACUUM OPEN ZONE 12
|
||||
53=SOLENOID VALVE VACUUM OPEN ZONE 13
|
||||
54=SOLENOID VALVE VACUUM OPEN ZONE 14
|
||||
55=FREE OUTPUT
|
||||
56=SOLENOID VALVE AXIS MOTOR SAW BLADE CLEANING BLOW
|
||||
57=VACUUM PRESSURE
|
||||
58=PORTAL ASPIRATION SUCTION CAP RISE
|
||||
59=PORTAL ASPIRATION SUCTION CAP DESCEND
|
||||
60=PORTAL SUCTION CAP FAST COMMAND
|
||||
61=PORTAL SUCTION CAP BRAKE UNLOCK
|
||||
62=ELECTRICSPINDLE SUCTION CAP RISE
|
||||
63=ELECTRICSPINDLE SUCTION CAP DESCEND
|
||||
64=ELECTRICSPINDLE SUCTION CAP FAST COMMAND
|
||||
65=ELECTRICSPINDLE SUCTION CAP BRAKE UNLOCK
|
||||
66=MOTOR SAW BLADE SUCTION CAP RISE
|
||||
67=MOTOR SAW BLADE SUCTION CAP DESCEND
|
||||
68=MOTOR SAW BLADE SUCTION CAP FAST COMMAND
|
||||
69=MOTOR SAW BLADE SUCTION CAP BRAKE UNLOCK
|
||||
70=SOLENOID VALVE CLEANING AIR TANK LOAD RIGHT
|
||||
71=SOLENOID VALVE OPENING BLOW CLEANING CABIN RIGHT
|
||||
72=SOLENOID VALVE CLEANING AIR TANK LOAD LEFT
|
||||
73=SOLENOID VALVE BLOW CLEANING CABIN LEFT
|
||||
74=SOLENOID VALVE BLOW CAMERA CLEANING
|
||||
75=SOLENOID VALVE SUCTION CAP ELECTRICSPINDLE
|
||||
76=SOLENOID VALVE SUCTION CAP SAW MOTOR
|
||||
77=SOLENOID VALVE SUCTION CAP PORTAL
|
||||
78=SOLENOID VALVE SUCTION CAP PORTAL CLEANING
|
||||
79=OUTPUT MACHINE IN PARKING POSITION
|
||||
80=OUTPUT ZERO REFERENCE WORKPLAN LOW-DOWN
|
||||
81=OUTPUT SCRAPS CONVEYOR BELT ROTATING
|
||||
82=OUTPUT MACHINE SWITCHED ON
|
||||
83=OUTPUT ALARM OF SAFETY ZONES WORKPLAN
|
||||
84=FREE OUTPUT
|
||||
85=FREE OUTPUT
|
||||
86=FREE OUTPUT
|
||||
87=FREE OUTPUT
|
||||
88=FREE OUTPUT
|
||||
89=FREE OUTPUT
|
||||
90=FREE OUTPUT
|
||||
91=FREE OUTPUT
|
||||
92=FREE OUTPUT
|
||||
93=FREE OUTPUT
|
||||
94=FREE OUTPUT
|
||||
95=FREE OUTPUT
|
||||
96=FREE OUTPUT
|
||||
@@ -0,0 +1,713 @@
|
||||
// File dei messaggi macchina Italiano 2022/08/27
|
||||
|
||||
[MDI]
|
||||
1=Prendi utensile n° 1
|
||||
2=Prendi utensile n° 2
|
||||
3=Prendi utensile n° 3
|
||||
4=Prendi utensile n° 4
|
||||
5=Prendi utensile n° 5
|
||||
6=Prendi utensile n° 6
|
||||
7=Prendi utensile n° 7
|
||||
8=Prendi utensile n° 8
|
||||
9=Prendi utensile n° 9
|
||||
10=Prendi utensile n° 10
|
||||
11=Prendi utensile n° 11
|
||||
12=Prendi utensile n° 12
|
||||
13=Prendi utensile n° 13
|
||||
14=Prendi utensile n° 14
|
||||
15=Prendi utensile n° 15
|
||||
16=Prendi utensile n° 16
|
||||
17=Prendi utensile n° 17
|
||||
18=Prendi utensile n° 18
|
||||
19=Scarica utensili
|
||||
20=Attiva magazzino utensili
|
||||
21=Apertura protezione cambio utensile rotativo
|
||||
22=Chiusura protezione cambio utensile rotativo
|
||||
23=Salita arresto frontale
|
||||
24=Discesa arresto frontale
|
||||
25=Salita arresti laterali
|
||||
26=Discesa arresti laterali
|
||||
27=Assegnazione manuale numero utensile nella testa a 5 assi
|
||||
28=Ciclo pulizia banco di lavoro
|
||||
|
||||
[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
|
||||
@@ -0,0 +1,36 @@
|
||||
-- 2018/11/21 17:30:00
|
||||
-- Machining Exit for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Uscita da Lavorazioni ***
|
||||
|
||||
-- Nascondo il pezzo così marcato e le geometrie aggiunte, visualizzo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- visualizzo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.ON)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice (già chiusi tutti i gruppi di lavoro)
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
EgtZoom( SCE_ZM.ALL, false)
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,44 @@
|
||||
-- 2018/11/21 16:30:00
|
||||
-- Machining Init for Essetre-FAST machine
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- *** Ingresso in Lavorazioni ***
|
||||
|
||||
-- Rendo visibile il pezzo e le geometrie aggiunte, nascondo il Box
|
||||
local function ProcessPart( PartId)
|
||||
-- nascondo il Box
|
||||
EgtSetStatus( EgtGetFirstNameInGroup( PartId, 'Box') or GDB_ID.NULL, GDB_ST.OFF)
|
||||
end
|
||||
|
||||
-- Disabilito segnalazione modifica progetto
|
||||
local bEnMod = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
|
||||
-- Processo i pezzi nella radice
|
||||
local PartId = EgtGetFirstPart()
|
||||
while PartId do
|
||||
ProcessPart( PartId)
|
||||
PartId = EgtGetNextPart( PartId)
|
||||
end
|
||||
|
||||
-- Processo i pezzi già nei gruppi di lavoro (quando appena lanciata Process)
|
||||
local GhostId = EgtGetFirstGhostPart()
|
||||
while GhostId do
|
||||
local PartId = EgtGetInfo( GhostId, GDB_SI.SOURCE, 'i')
|
||||
if PartId then
|
||||
ProcessPart( PartId)
|
||||
end
|
||||
GhostId = EgtGetNextGhostPart( GhostId)
|
||||
end
|
||||
|
||||
-- Ripristino segnalazione modifica progetto
|
||||
if bEnMod then
|
||||
EgtEnableModified()
|
||||
end
|
||||
|
||||
MACH.ERR = 0
|
||||
@@ -0,0 +1,207 @@
|
||||
-- 2022/06/23
|
||||
-- Gestione attrezzaggio per Essetre-90480029
|
||||
|
||||
-- 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 = "T1", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos2", TcPos = "T2", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos3", TcPos = "T3", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos4", TcPos = "T4", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos5", TcPos = "T5", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos6", TcPos = "T6", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos7", TcPos = "T7", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos8", TcPos = "T8", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos9", TcPos = "T9", Head = "H1", Group = "G1"},
|
||||
{Pos = "Pos10", TcPos = "T10", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos11", TcPos = "T11", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos12", TcPos = "T12", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos13", TcPos = "T13", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos14", TcPos = "T14", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos15", TcPos = "T15", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos16", TcPos = "T16", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos17", TcPos = "T17", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos18", TcPos = "T18", Head = "H1", Group = "G2"},
|
||||
{Pos = "Pos19", TcPos = "T42", Head = "H2", Group = "G3"}}
|
||||
|
||||
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
|
||||
@@ -0,0 +1,21 @@
|
||||
; Commento per evitare BOM con UTF-8
|
||||
[General]
|
||||
Pos1=T1;H1;1/8A2B00DE-C8F3-4AE6-8C51-D9D6FAEC36F6/Frees40x160
|
||||
Pos2=T2;H1;1/14D2B101-52E6-4604-958C-5FD66E0ED782/Frees30X120
|
||||
Pos3=T3;H1;1/0A54F32E-C48D-45DB-8502-953CA94FD7A0/Frees25x65
|
||||
Pos4=T4;H1;1/05A6C13F-75A4-42CC-80A6-27BF09438AE4/Frees20x75
|
||||
Pos5=T5;H1;1/D0575113-6666-40F5-9F8A-36BA8F9DDC2D/Frees12x40
|
||||
Pos6=T6;H1;1/896BFF54-B8F0-4C25-B276-8B9FBF74D109/Frees06x25
|
||||
Pos7=T7;H1;1/953158B8-4B70-41F4-8F8F-70DB68D6345E/Frees30x75mmDIA
|
||||
Pos8=T8
|
||||
Pos9=T9;H1;1/674D6310-D8A4-4B74-A10A-C8D985C014C5/Freeskop 90x50mm
|
||||
Pos10=T10;H1;1/30869049-2982-4FC8-8971-B13F5E03D837/Freeskop 70x50mm
|
||||
Pos11=T11
|
||||
Pos12=T12
|
||||
Pos13=T13
|
||||
Pos14=T14
|
||||
Pos15=T15
|
||||
Pos16=T16
|
||||
Pos17=T17
|
||||
Pos18=T18
|
||||
Pos19=T42;H2;1/6CB00A83-DDCD-49E6-A301-E1A0482615CA/Lama800
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
-- CutData.lua by Egaltech s.r.l. 23/06/2022 14:59:03
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local CutData = {
|
||||
{ On = true, Name = 'Cutting800', Type = 'Standard'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return CutData
|
||||
@@ -0,0 +1,19 @@
|
||||
-- DrillData.lua by Egaltech s.r.l. 04/11/2022 09:48:55
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local DrillData = {
|
||||
{ On = true, Name = 'Drill12x40', Type = 'Drill'},
|
||||
{ On = false, Name = 'DrillD10', Type = 'Drill'},
|
||||
{ On = true, Name = 'DrillPock30X75DIA', Type = 'Drill'},
|
||||
{ On = true, Name = 'DrillPock40x160', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock30x120', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock25x65', Type = 'Pocket'},
|
||||
{ On = true, Name = 'DrillPock20x75', Type = 'Pocket'},
|
||||
{ On = false, Name = 'DrillPock12x40', Type = 'Pocket'},
|
||||
{ On = false, Name = 'DrillPock06x25', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Drill6x25', Type = 'Drill'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return DrillData
|
||||
@@ -0,0 +1,30 @@
|
||||
-- GetTs3Data.lua by Egaltech s.r.l. 2022/04/07
|
||||
-- Recupero dati da file Ts3Data.lua di macchina
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Per test
|
||||
--GTSD = {}
|
||||
--GTSD.TS3PATH = 'Essetre-FAST\\Ts3Data.lua'
|
||||
|
||||
local sLog = 'GetTs3Data : ' .. GTSD.TS3PATH
|
||||
EgtOutLog( sLog)
|
||||
|
||||
if EgtExistsFile( GTSD.TS3PATH) then
|
||||
local Machine = dofile( GTSD.TS3PATH)
|
||||
-- Assegno valori di interesse
|
||||
Offsets = Machine.Offsets
|
||||
_G.Offsets = Offsets
|
||||
Trave = Machine.Trave
|
||||
_G.Trave = Trave
|
||||
User = Machine.User
|
||||
_G.User = User
|
||||
end
|
||||
|
||||
-- Tutto ok
|
||||
GTSD.ERR = 0
|
||||
|
||||
EgtOutLog( ' +++ GetTs3Data completed')
|
||||
@@ -0,0 +1,51 @@
|
||||
; PIndex = Type, PName, Default, Description
|
||||
; Type : d=double, l=length, s=string
|
||||
|
||||
[1]
|
||||
Name=Offsets
|
||||
1=l,MIN_X,-5730,MIN_X
|
||||
2= l,MAX_X,0,MAX_X
|
||||
3=l,MIN_Y,-15825,MIN_Y
|
||||
4= l,MAX_Y,0,MAX_Y
|
||||
5=l,MIN_Z,-1335,MIN_Z
|
||||
6= l,MAX_Z,0,MAX_Z
|
||||
7=d,MIN_B,-127,MIN_B
|
||||
8=d,MAX_B,127,MAX_B
|
||||
9= d,MIN_C,-275,MIN_C
|
||||
10=d,MAX_C,275,MAX_C
|
||||
11=l,MIN_U,-7070,MIN_U
|
||||
12=l,MAX_U,-1340,MAX_U
|
||||
13=l,MIN_W,-1090,MIN_W
|
||||
14=l,MAX_W,0,MAX_W
|
||||
15=l,MIN_V,0,MIN_V
|
||||
16=l,MAX_V,90,MAX_V
|
||||
17=d,MIN_A,-275,MIN_A
|
||||
18=d,MAX_A,275,MAX_A
|
||||
19=l,ZERO_X_SAW,-1792.3,ZERO_X_SAW
|
||||
20=l,ZERO_Y_SAW,-685.2,ZERO_Y_SAW
|
||||
21=l,ZERO_Z_SAW,-764.5,ZERO_Z_SAW
|
||||
22=l,PIVOT_SAW,165.5,PIVOT_SAW
|
||||
23=l,ZERO_X_MILL,-1790.2,ZERO_X_MILL
|
||||
24=l,ZERO_Y_MILL,-734.8,ZERO_Y_MILL
|
||||
25=l,ZERO_Z_MILL,-1029.5,ZERO_Z_MILL
|
||||
26=l,PIVOT_MILL,170,PIVOT_MILL
|
||||
27=l,OFFSET_ZERO2_X,-3500,OFFSET_ZERO2_X
|
||||
28=l,OFFSET_ZERO2_Y,0,OFFSET_ZERO2_Y
|
||||
29=l,OFFSET_ZERO2_Z,0,OFFSET_ZERO2_Z
|
||||
30=l,OFFSET_ZERO3_X,0,OFFSET_ZERO3_X
|
||||
31=l,OFFSET_ZERO3_Y,-14400,OFFSET_ZERO3_Y
|
||||
32=l,OFFSET_ZERO3_Z,0,OFFSET_ZERO3_Z
|
||||
33=l,OFFSET_ZERO4_X,-3500,OFFSET_ZERO4_X
|
||||
34=l,OFFSET_ZERO4_Y,-14400,OFFSET_ZERO4_Y
|
||||
35=l,OFFSET_ZERO4_Z,0,OFFSET_ZERO4_Z
|
||||
36=l,INTRULLI,1500,INTRULLI
|
||||
37=d,TYPEWORK,1,TYPEWORK
|
||||
|
||||
[2]
|
||||
Name=Trave
|
||||
1=l,XMIN,20,XMIN
|
||||
2=l,XMAX,3530,XMAX
|
||||
3=l,YMIN,50,YMIN
|
||||
4=l,YMAX,18000,YMAX
|
||||
5=l,ZMIN,10,ZMIN
|
||||
6=l,ZMAX,400,ZMAX
|
||||
@@ -0,0 +1,25 @@
|
||||
[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=Mortise
|
||||
|
||||
[Sawing]
|
||||
1=Sawing
|
||||
@@ -0,0 +1,26 @@
|
||||
-- MillingData.lua by Egaltech s.r.l. 11-04-2023 11:14:51
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local MillingData = {
|
||||
{ On = true, Name = 'Milling70x50', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling90x50', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'vlakfrees 180x15', Type = 'DtMortise'},
|
||||
{ On = true, Name = 'Milling30x75DIA', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling30x75DIA', Type = 'Side'},
|
||||
{ On = true, Name = 'SideMill180x15', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling40x160', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling30x120', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling25x65', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling20x75', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling12x40', Type = 'Side'},
|
||||
{ On = true, Name = 'Milling40x160', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling30x120', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling25x65', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling20x75', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling12x40', Type = 'FreeContour'},
|
||||
{ On = true, Name = 'Milling06x25', Type = 'FreeContour'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return MillingData
|
||||
@@ -0,0 +1,20 @@
|
||||
-- PocketingData.lua by Egaltech s.r.l. 03/03/2023 11:47:38
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local PocketingData = {
|
||||
{ On = true, Name = 'DrillPock30X75DIA', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Svuot40x160', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Svuot30x120', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Svuot30x120', Type = 'Mortise'},
|
||||
{ On = true, Name = 'Svuot20x75', Type = 'Mortise'},
|
||||
{ On = true, Name = 'Svuot40x160', Type = 'Mortise'},
|
||||
{ On = true, Name = 'Uitholling180x15', Type = 'Mortise'},
|
||||
{ On = true, Name = 'Svuot25x65', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Svuot20x75', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Svuot12x40', Type = 'Pocket'},
|
||||
{ On = true, Name = 'Uitholling180x15', Type = 'Pocket'}
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return PocketingData
|
||||
@@ -0,0 +1,9 @@
|
||||
-- SawingData.lua by Egaltech s.r.l. 23/06/2022 15:00:18
|
||||
-- Gestione dati lavorazioni per Travi
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local SawingData = {
|
||||
}
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return SawingData
|
||||
@@ -0,0 +1,51 @@
|
||||
local Offsets = {
|
||||
MIN_X=-5730,
|
||||
MAX_X=0,
|
||||
MIN_Y=-15825,
|
||||
MAX_Y=0,
|
||||
MIN_Z=-1335,
|
||||
MAX_Z=0,
|
||||
MIN_B=-127,
|
||||
MAX_B=127,
|
||||
MIN_C=-275,
|
||||
MAX_C=275,
|
||||
MIN_U=-7070,
|
||||
MAX_U=-1340,
|
||||
MIN_W=-1090,
|
||||
MAX_W=0,
|
||||
MIN_V=0,
|
||||
MAX_V=90,
|
||||
MIN_A=-275,
|
||||
MAX_A=275,
|
||||
ZERO_X_SAW=-1792.3,
|
||||
ZERO_Y_SAW=-685.2,
|
||||
ZERO_Z_SAW=-764.5,
|
||||
PIVOT_SAW=165.5,
|
||||
ZERO_X_MILL=-1790.2,
|
||||
ZERO_Y_MILL=-734.8,
|
||||
ZERO_Z_MILL=-1029.5,
|
||||
PIVOT_MILL=170,
|
||||
OFFSET_ZERO2_X=-3500,
|
||||
OFFSET_ZERO2_Y=0,
|
||||
OFFSET_ZERO2_Z=0,
|
||||
OFFSET_ZERO3_X=0,
|
||||
OFFSET_ZERO3_Y=-14400,
|
||||
OFFSET_ZERO3_Z=0,
|
||||
OFFSET_ZERO4_X=-3500,
|
||||
OFFSET_ZERO4_Y=-14400,
|
||||
OFFSET_ZERO4_Z=0,
|
||||
INTRULLI=1500,
|
||||
TYPEWORK=1,
|
||||
}
|
||||
|
||||
local Trave = {
|
||||
XMIN=20,
|
||||
XMAX=3530,
|
||||
YMIN=50,
|
||||
YMAX=18000,
|
||||
ZMIN=10,
|
||||
ZMAX=400,
|
||||
}
|
||||
|
||||
local Machine = { Offsets=Offsets, Trave=Trave}
|
||||
return Machine
|
||||
@@ -0,0 +1,105 @@
|
||||
-- WallData.lua by Egaltech s.r.l. 2022/02/03
|
||||
-- Raccolta dati generali per Pareti
|
||||
|
||||
EgtOutLog( ' 90480029-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 = 16000, -- lunghezza massima del grezzo
|
||||
MAX_WIDTH = 3500, -- larghezza massima del grezzo
|
||||
MAX_HEIGHT = 300, -- altezza massima del grezzo
|
||||
STD_RAW_LENGTH = 10000, -- lunghezza standard del grezzo
|
||||
STD_RAW_WIDTH = 2600, -- larghezza standard del grezzo
|
||||
OVM_HEAD = 60, -- sovramateriale testa
|
||||
OVM_MID = 50, -- sovramateriale intermedio
|
||||
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
|
||||
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)
|
||||
SAWGORGE_INTERAX = 100, -- interasse tra i tagli sfrido del gorge
|
||||
PREDRILL_DIAM = 26, -- diametro del preforo
|
||||
PREDRILL_MINANGLE = 0.707, -- minimo angolo che richiede il preforo con fresa (-30deg)
|
||||
DRILL_TOL = 0.5, -- tolleranza tra diametro foro e diametro punta
|
||||
DRILL_VZ_MIN = 0.49, -- componente limite in Z del versore di un foro
|
||||
DRILL_OVERLAP = 5, -- sovrapposizione tra due mezze forature
|
||||
MILL_OVERLAP = 5, -- sovrapposizione tra due mezze fresature
|
||||
HOR_DRILL_Y_SPLIT = -3044.3, -- quota di split dei fori orizzontali speciali lungo Y (quota di metà tavola)
|
||||
HOR_DRILL_Y_TABLE = 3500, -- dimensione di riferimento tavola in Y per fori orizzontali speciali lungo Y
|
||||
HOR_DRILL_YNEG_MAXMIN = -3994.3, -- massimo minimo in Y per fori da Y negativo
|
||||
HOR_DRILL_LEN = 1780, -- lunghezza della punta per fori orizzontali speciali lungo Y
|
||||
HOR_DRILL_DIAM = 35, -- diametro della punta per fori orizzontali speciali lungo Y
|
||||
HOR_DRILL_5AX = false, -- abilita lavorazione dei fori orizzontali (default true)
|
||||
MINRAWY_HOR_DRILL = 2800, -- dimensione y minima del grezzo per fori orizzontali in vista
|
||||
MAX_CLEAN_CRN60 = 150, -- massimo spessore per pulitura angolo con fresa 60deg
|
||||
MAX_CLEAN_CRN30 = 90, -- massimo spessore per pulitura angolo con fresa 30deg
|
||||
MIN_DIM_ALLOW_CLEAN = 200, -- apertura minima per lavorazione pulitura spigolo
|
||||
MILL_MAX_DEPTH_AS_MAT = false, -- massimo affondamento frese uguale ad altezza tagliente (max materiale)
|
||||
CHECK_MIN_Z_SAW = true, -- controlla la quota minima della lama rispetto alla tavola (default true)
|
||||
MIN_Z_SAW = -6, -- quota minima rispetto alla tavola (default 0)
|
||||
SIDEMILL_DIAM_UP = 65, -- diametro fresa che lavora lap joint sopra
|
||||
SIDEMILL_DIAM_DOWN = 350, -- diametro fresa che lavora lap joint sotto
|
||||
SIDEMILL_BEFORE = true, -- mette le lavorazioni di fresatura di fianco tra le prime
|
||||
INSIDE_RAW_TOL = 30, -- tolleranza utilizzata per definire quando area di lavorazione è lontana dai bordi del grezzo
|
||||
NEST_HOLE_MIN_AREA = 200000, -- area minima per inserire gli outlines interni come holes nel nesting
|
||||
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 = 'TR', -- angolo tavola per origine di battuta (BR (defualt), TR, BL, TL)
|
||||
NESTING_CORNER = 'TR', -- angolo di origine del grezzo per posizionamento pezzi (BR (defualt), TR, BL, TL)
|
||||
INTRULLI = 1200, -- distanza fra assi su cui poggia il grezzo (per non far cadere il pezzo)
|
||||
BTL_PRIORITY = 1, -- abilita priorità lavorazioni da btl; 0: disattivata, 1: ordinamento crescente, 2: ordinamento decrescente
|
||||
RECESSED_COUNTERBORE_TOOLID = 21 -- id utensile per allargamento foro affondato
|
||||
}
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480029.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.HOR_DRILL_Y_SPLIT = Machine.Offsets.ZERO_X_MILL - WallData.HOR_DRILL_Y_TABLE / 2
|
||||
WallData.HOR_DRILL_YNEG_MAXMIN = Machine.Offsets.ZERO_X_MILL - WallData.HOR_DRILL_Y_TABLE + 800
|
||||
WallData.INTRULLI = Machine.Offsets.INTRULLI or WallData.INTRULLI
|
||||
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 GetChainSawBlockedAxis( nInd)
|
||||
if nInd == 1 then
|
||||
return 'A1=0'
|
||||
else
|
||||
return 'A1=90'
|
||||
end
|
||||
end
|
||||
WallData.GetChainSawBlockedAxis = GetChainSawBlockedAxis
|
||||
|
||||
local function GetChainSawStartAngs( vtN)
|
||||
if not vtN or not isVector3d( vtN) then return end
|
||||
if vtN:getZ() > 0.7 then
|
||||
return ''
|
||||
else
|
||||
return 'C=-90;'
|
||||
end
|
||||
end
|
||||
WallData.GetChainSawStartAngs = GetChainSawStartAngs
|
||||
|
||||
---------------------------------------------------------------------
|
||||
return WallData
|
||||
@@ -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%
|
||||
Reference in New Issue
Block a user