Initial commit
This commit is contained in:
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,2 @@
|
||||
#8110=100
|
||||
#8111=199
|
||||
@@ -0,0 +1,2 @@
|
||||
#8110=100
|
||||
#8111=199
|
||||
Binary file not shown.
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (c) 2019 Siemens Industry Software Inc.
|
||||
# Unpublished - All rights reserved
|
||||
#
|
||||
#
|
||||
#
|
||||
# ================================================================
|
||||
|
||||
import CSEWrapper
|
||||
import CSEFanuc
|
||||
import math
|
||||
from CSEWrapper import Vector3
|
||||
from CSEWrapper import Matrix4
|
||||
from CSEWrapper import ChannelState
|
||||
from CseFanuc_Methods import ControllerMethods
|
||||
from CseFanuc_Metacodes import ControllerMetacodes
|
||||
|
||||
class Fanuc_sim15_Methods(ControllerMethods):
|
||||
def ActivateTransYTransformation(channel : ChannelState):
|
||||
matTransY = Matrix4.CreateMatrixFromVectors(Vector3(1,0,0),
|
||||
Vector3(math.tan(math.radians(30)),-1/math.sin(math.radians(60)),0),
|
||||
Vector3(0,0,1),
|
||||
Vector3(0,0,0))
|
||||
channel.ActivateTransformation("TRANSY", False, False)
|
||||
channel.SetTransformationMatrix("TRANSY", matTransY)
|
||||
channel.ActivateTransformation("TRANSY", True, True)
|
||||
return True
|
||||
|
||||
class Fanuc_sim15_Metacodes(ControllerMetacodes):
|
||||
# Use this class to add machine specific metacodes.
|
||||
# DUMMY metacode shows exemplarily how to implement custom metacodes.
|
||||
def DummyMetacode(channel : ChannelState):
|
||||
return True
|
||||
|
||||
class Controller(CSEFanuc.Controller):
|
||||
def GetMethod(self, strMethodName : str):
|
||||
return getattr(Fanuc_sim15_Methods, strMethodName, None)
|
||||
def GetMetacode(self, strMetacodeName : str):
|
||||
return getattr(Fanuc_sim15_Metacodes, strMetacodeName, None)
|
||||
|
||||
def CreateController():
|
||||
# For profiling
|
||||
# return CSEWrapper.Controller(Fanuc.Controller(), "c:\\Temp\\cse_profile.txt")
|
||||
return CSEWrapper.Controller(Controller())
|
||||
|
||||
if __name__ == '__main__':
|
||||
ctrl = CreateController()
|
||||
@@ -0,0 +1,103 @@
|
||||
O73 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
#28=#18-#26
|
||||
IF[91NE#4003] GOTO 10
|
||||
#28=#26
|
||||
N10
|
||||
#29=0
|
||||
#30=#4003
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
IF[#28LT#17] GOTO1700
|
||||
N1710
|
||||
#29=#29+#17
|
||||
IF[#28LT#29] GOTO1700
|
||||
G1 G91 Z[-#17] M3
|
||||
GOTO1710
|
||||
N1700
|
||||
G1 G[#30] Z[#26] M3
|
||||
IF[98EQ#4010] GOTO 1798
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1798
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1790
|
||||
G0 Z[#18]
|
||||
GOTO 999
|
||||
N1791
|
||||
G0 Z[-#26]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
IF[#28LT#17] GOTO1800
|
||||
N1810
|
||||
IF[#28LT#29] GOTO1800
|
||||
#29=#29+#17
|
||||
G1 G91 Y[-#17] M3
|
||||
GOTO1810
|
||||
N1800
|
||||
G1 G[#30] Y[#25] M3
|
||||
IF[98EQ#4010] GOTO 1898
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1898
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1890
|
||||
G0 Y[#18]
|
||||
GOTO 999
|
||||
N1891
|
||||
G0 Y[-#25]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
IF[#28LT#17] GOTO1900
|
||||
N1910
|
||||
IF[#28LT#29] GOTO1900
|
||||
#29=#29+#17
|
||||
G1 G91 X[-#17] M3
|
||||
GOTO1910
|
||||
N1900
|
||||
G1 G[#30] X[#24] M3
|
||||
IF[98EQ#4010] GOTO 1998
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1998
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1990
|
||||
G0 X[#18]
|
||||
GOTO 999
|
||||
N1991
|
||||
G0 X[-#24]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
O74 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M4 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M4 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M4 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24] M3 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
O76 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M3
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
O81 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3
|
||||
IF[98EQ#4010] GOTO 1798
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1798
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1790
|
||||
G0 Z[#18]
|
||||
GOTO 999
|
||||
N1791
|
||||
G0 Z[-#26]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3
|
||||
IF[98EQ#4010] GOTO 1898
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1898
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1890
|
||||
G0 Y[#18]
|
||||
GOTO 999
|
||||
N1891
|
||||
G0 Y[-#25]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3
|
||||
IF[98EQ#4010] GOTO 1998
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1998
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1990
|
||||
G0 X[#18]
|
||||
GOTO 999
|
||||
N1991
|
||||
G0 X[-#24]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
O82 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3
|
||||
G4 P[#16]
|
||||
IF[98EQ#4010] GOTO 1798
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1798
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1790
|
||||
G0 Z[#18]
|
||||
GOTO 999
|
||||
N1791
|
||||
G0 Z[-#26]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3
|
||||
G4 P[#16]
|
||||
IF[98EQ#4010] GOTO 1898
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1898
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1890
|
||||
G0 Y[#18]
|
||||
GOTO 999
|
||||
N1891
|
||||
G0 Y[-#25]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3
|
||||
G4 P[#16]
|
||||
IF[98EQ#4010] GOTO 1998
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1998
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1990
|
||||
G0 X[#18]
|
||||
GOTO 999
|
||||
N1991
|
||||
G0 X[-#24]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
O83 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
#28=#18-#26 (total cut depth = start depth - target depth)
|
||||
IF[91NE#4003] GOTO 10
|
||||
#28=#26
|
||||
N10
|
||||
#29=0 (current cut depth)
|
||||
#30=#4003
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
IF[#28LE#17] GOTO1700
|
||||
N1710
|
||||
#29=#29+#17
|
||||
IF[#28LE#29] GOTO1700
|
||||
|
||||
G1 G91 Z[-#17] M3
|
||||
G0 G91 Z[ #29]
|
||||
G0 G91 Z[-#29]
|
||||
GOTO1710
|
||||
N1700
|
||||
G1 G[#30] Z[#26] M3
|
||||
IF[98EQ#4010] GOTO 1798
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1798
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1790
|
||||
G0 Z[#18]
|
||||
GOTO 999
|
||||
N1791
|
||||
G0 Z[-#26]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
IF[#28LE#17] GOTO1800
|
||||
N1810
|
||||
IF[#28LE#29] GOTO1800
|
||||
#29=#29+#17
|
||||
G1 G91 Y[-#17] M3
|
||||
G0 G91 Y[ #29]
|
||||
G0 G91 Y[-#29]
|
||||
GOTO1810
|
||||
N1800
|
||||
G1 G[#30] Y[#25] M3
|
||||
IF[98EQ#4010] GOTO 1898
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1898
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1890
|
||||
G0 Y[#18]
|
||||
GOTO 999
|
||||
N1891
|
||||
G0 Y[-#25]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
IF[#28LE#17] GOTO1900
|
||||
N1910
|
||||
IF[#28LE#29] GOTO1900
|
||||
#29=#29+#17
|
||||
G1 G91 X[-#17] M3
|
||||
G0 G91 X[ #29]
|
||||
G0 G91 X[-#29]
|
||||
GOTO1910
|
||||
N1900
|
||||
G1 G[#30] X[#24] M3
|
||||
IF[98EQ#4010] GOTO 1998
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1998
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1990
|
||||
G0 X[#18]
|
||||
GOTO 999
|
||||
N1991
|
||||
G0 X[-#24]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
O84 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
M5
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24] M4 S[#19]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
G0
|
||||
M99
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
O85 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
O86 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3
|
||||
M5
|
||||
IF[98EQ#4010] GOTO 1798
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1798
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1790
|
||||
G0 Z[#18]
|
||||
GOTO 999
|
||||
N1791
|
||||
G0 Z[-#26]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3
|
||||
M5
|
||||
IF[98EQ#4010] GOTO 1898
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1898
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1890
|
||||
G0 Y[#18]
|
||||
GOTO 999
|
||||
N1891
|
||||
G0 Y[-#25]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3
|
||||
M5
|
||||
IF[98EQ#4010] GOTO 1998
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1998
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1990
|
||||
G0 X[#18]
|
||||
GOTO 999
|
||||
N1991
|
||||
G0 X[-#24]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M3
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
O87 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M3
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
O88 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
G4 P[#16]
|
||||
M5
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M3
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
O89 (do not remove - important for parameter handling)
|
||||
|
||||
IF[#0NE#19]GOTO15 (if no spindle speed has been programmed use the current speed)
|
||||
#19=#4119
|
||||
N15
|
||||
IF[#0NE#9]GOTO16 (if no feed has been programmed use the current feed)
|
||||
#9=#4109
|
||||
N16
|
||||
|
||||
IF[17EQ#4016]GOTO17
|
||||
IF[18EQ#4016]GOTO18
|
||||
IF[19EQ#4016]GOTO19
|
||||
M99
|
||||
|
||||
N17
|
||||
G0 Z[#18]
|
||||
G1 Z[#26] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1790
|
||||
IF[91EQ#4003] GOTO 1791
|
||||
N1790
|
||||
G1 Z[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1791
|
||||
G1 Z[-#26]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Z[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N18
|
||||
G0 Y[#18]
|
||||
G1 Y[#25] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1890
|
||||
IF[91EQ#4003] GOTO 1891
|
||||
N1890
|
||||
G1 Y[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1891
|
||||
G1 Y[-#25]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 Y[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
N19
|
||||
G0 X[#18]
|
||||
G1 X[#24] M3 S[#19]
|
||||
G4 P[#16]
|
||||
IF[90EQ#4003] GOTO 1990
|
||||
IF[91EQ#4003] GOTO 1991
|
||||
N1990
|
||||
G1 X[#18]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
N1991
|
||||
G1 X[-#24]
|
||||
IF[98NE#4010] GOTO 999
|
||||
#99=#4003
|
||||
G0 G90 X[#27]
|
||||
G[#99]
|
||||
GOTO 999
|
||||
|
||||
|
||||
N999
|
||||
M99
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
O0361 (do not remove - important for parameter handling)
|
||||
G0 G90 G49
|
||||
|
||||
|
||||
(Set the tool change position values in metric)
|
||||
#100001=598.7
|
||||
#100002=-108.0
|
||||
#100003=-49.9
|
||||
|
||||
|
||||
IF[71EQ#4006] GOTO 10
|
||||
IF[21EQ#4006] GOTO 10
|
||||
#100001=#100001/25.4
|
||||
#100002=#100002/25.4
|
||||
#100003=#100003/25.4
|
||||
N10
|
||||
|
||||
IF[0EQ#3400] GOTO 20
|
||||
#100001=#100001*2
|
||||
N20
|
||||
G0 G53 X[#100001]
|
||||
G0 G53 Y[#100002]
|
||||
M301
|
||||
M19 S0
|
||||
G0 B0
|
||||
G0 G53 Z[#100003]
|
||||
|
||||
##LANGUAGE AC
|
||||
INT nToolIDpre;
|
||||
INT nToolIDact;
|
||||
STRING sSpindleName;
|
||||
STRING sJounctionName;
|
||||
STRING sCarrierName;
|
||||
nToolIDpre = getVariable("#4120");
|
||||
nToolIDact = getVariable("#4121");
|
||||
sCarrierName = "1";
|
||||
sSpindleName = "POCKET_HEAD";
|
||||
sJounctionName = "S";
|
||||
|
||||
IF (nToolIDpre>0);
|
||||
setNextTool (getCarrierTool ("TM", ITOS(nToolIDpre)),sCarrierName);
|
||||
ENDIF;
|
||||
|
||||
IF (exist(getCurrentTool(sCarrierName)));
|
||||
move(AXIS,"TMR",(nToolIDact-1)*18,1.0);
|
||||
grasp(getCurrentTool(sCarrierName),getJunction("POCKET"+nToolIDact, "TMJ"));
|
||||
ENDIF;
|
||||
|
||||
IF (exist(getNextTool(sCarrierName)));
|
||||
move(AXIS,"TMR",(nToolIDpre-1)*18,1.0);
|
||||
grasp ( getNextTool(sCarrierName), getJunction(sSpindleName, sJounctionName));
|
||||
activateNextTool (sCarrierName);
|
||||
resetToolTraces ("1");
|
||||
ENDIF;
|
||||
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
#4121=#4120
|
||||
|
||||
G0 G53 Z[#100003+600]
|
||||
G0 G53 Y0.0
|
||||
|
||||
B[#2]
|
||||
G90 M19 S[#7]
|
||||
|
||||
M99
|
||||
@@ -0,0 +1,12 @@
|
||||
O9899 (do not remove - important for parameter handling)
|
||||
|
||||
#22=5
|
||||
|
||||
G0 X#1
|
||||
|
||||
M99
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
O73 (do not remove - important for parameter handling)
|
||||
G0 G90 G49
|
||||
|
||||
(Set the tool change position values in metric)
|
||||
#100001=340.0
|
||||
#100003=800.0
|
||||
|
||||
|
||||
IF[71EQ#4006] GOTO 10
|
||||
IF[21EQ#4006] GOTO 10
|
||||
#100001=#100001/25.4
|
||||
#100003=#100003/25.4
|
||||
N10
|
||||
G0 G53 Z[#100003]
|
||||
G0 G53 X[#100001]
|
||||
|
||||
(G0 C0)
|
||||
|
||||
##LANGUAGE AC
|
||||
|
||||
IF (getChannelName() == "2");
|
||||
INT nToolID;
|
||||
nToolID = getVariable("#4120");
|
||||
STRING strCarrierTool;
|
||||
// move (AXIS, "C2",(1-nToolID)*360.0/12.0, 1.0);
|
||||
move (AXIS, "TURRET",(1-nToolID)*360.0/12.0, 1.0);
|
||||
strCarrierTool=getCarrierTool ("2", ITOS(nToolID));
|
||||
setNextTool (strCarrierTool, "2");
|
||||
activateNextTool ("2");
|
||||
resetToolTraces ("2");
|
||||
ENDIF;
|
||||
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
G43 H1
|
||||
|
||||
M99
|
||||
@@ -0,0 +1,28 @@
|
||||
##LANGUAGE AC
|
||||
|
||||
transferParts ("MAIN_SETUP","COUNTER_SETUP");
|
||||
|
||||
// TS 4-MAR 2008 (Behaviour after discussion with Ramon and Volker)
|
||||
// Update for NX8 2011-02-04
|
||||
// 1.
|
||||
// For the two parameters of transferParts CSE calls the function
|
||||
// "GetJunctions". This functions transfered 'Label' input to 'id'
|
||||
// (realNC distingush between) In NX this is the same.
|
||||
// A string is returned
|
||||
// 2.
|
||||
// With the return values of the first param CSE called "GetParts"
|
||||
// this returns part/workpiece ID's
|
||||
// In NX the system search below the given kin component of the first
|
||||
// parameter in (tranferParts) for kin component classified as
|
||||
// _WORKPIECE and search in this component for the first junction
|
||||
// (name doesn't matter)
|
||||
// The function 'GetParts' returns this junction
|
||||
// e.g. in sim15 MAIN_WORKPIECE@WORKPIECE_TAKE_OVER
|
||||
// 3.
|
||||
// Loop over all return id's of GetParts and do a unmount and mount
|
||||
// Mount means: the system map the following two junctions together:
|
||||
// Junction retuned by step 2. and the junction given as 2nd
|
||||
// parameter in transferParts
|
||||
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
TO_INI_1
|
||||
|
||||
PMAC
|
||||
PGUD
|
||||
TC_CARR
|
||||
CHAN_DATA_1
|
||||
|
||||
G40 D0
|
||||
|
||||
DEFINE CHUCK_MAIN AS V1
|
||||
DEFINE CHUCK_SUB AS V2
|
||||
|
||||
|
||||
|
||||
##LANGUAGE AC
|
||||
setAllowedGouge(0.15);
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
M17
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
TO_INI_2
|
||||
|
||||
D0
|
||||
|
||||
PMAC
|
||||
PGUD
|
||||
TC_CARR
|
||||
CHAN_DATA_2
|
||||
|
||||
##LANGUAGE AC
|
||||
setAllowedGouge(0.15);
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
M17
|
||||
Binary file not shown.
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (c) 2019 Siemens Industry Software Inc.
|
||||
# Unpublished - All rights reserved
|
||||
#
|
||||
#
|
||||
#
|
||||
# ================================================================
|
||||
|
||||
import CSEWrapper
|
||||
import CSES840D
|
||||
import math
|
||||
from CSEWrapper import Vector3
|
||||
from CSEWrapper import Matrix4
|
||||
from CSEWrapper import ChannelState
|
||||
from CseS840D_Methods import ControllerMethods
|
||||
from CseS840D_Metacodes import ControllerMetacodes
|
||||
|
||||
class S840D_sim15_Methods(ControllerMethods):
|
||||
def ActivateTransYTransformation(channel : ChannelState):
|
||||
matTransY = Matrix4.CreateMatrixFromVectors(Vector3(1,0,0),
|
||||
Vector3(math.tan(math.radians(30)),-1/math.sin(math.radians(60)),0),
|
||||
Vector3(0,0,1),
|
||||
Vector3(0,0,0))
|
||||
channel.ActivateTransformation("TRANSY", False, False)
|
||||
channel.SetTransformationMatrix("TRANSY", matTransY)
|
||||
channel.ActivateTransformation("TRANSY", True, True)
|
||||
return True
|
||||
|
||||
class S840D_sim15_Metacodes(ControllerMetacodes):
|
||||
# Use this class to add machine specific metacodes.
|
||||
# DUMMY metacode shows exemplarily how to implement custom metacodes.
|
||||
def DummyMetacode(channel : ChannelState):
|
||||
return True
|
||||
|
||||
class Controller(CSES840D.Controller):
|
||||
def GetMethod(self, strMethodName : str):
|
||||
return getattr(S840D_sim15_Methods, strMethodName, None)
|
||||
def GetMetacode(self, strMetacodeName : str):
|
||||
return getattr(S840D_sim15_Metacodes, strMetacodeName, None)
|
||||
|
||||
def CreateController():
|
||||
# For profiling
|
||||
# return CSEWrapper.Controller(CSES840D.Controller(), "c:\\Temp\\cse_profile.txt")
|
||||
return CSEWrapper.Controller(Controller())
|
||||
|
||||
if __name__ == '__main__':
|
||||
ctrl = CreateController()
|
||||
@@ -0,0 +1,15 @@
|
||||
$TX_TOOLCOUNT=1000
|
||||
$MN_MM_NUM_TOOL_CARRIER=2
|
||||
$ON_TRAFO_TYPE_MASK='H127'
|
||||
$MN_G53_TOOLCORR=0
|
||||
|
||||
$MC_DIAMETER_AX_DEF="X"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[1] = "Y"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
$TX_TOOLCOUNT=1000
|
||||
$MN_G53_TOOLCORR=0
|
||||
$ON_TRAFO_TYPE_MASK='H127'
|
||||
|
||||
$MC_DIAMETER_AX_DEF="X"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[1] = "Y"
|
||||
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
PROC ORIRESET(REAL AX1, REAL Ax2, REAL AX3)
|
||||
|
||||
TRAFOOF
|
||||
if (AX1)
|
||||
G53 B=AX1
|
||||
endif
|
||||
if (AX2)
|
||||
G53 C4=AX2
|
||||
endif
|
||||
TRAORI
|
||||
Binary file not shown.
@@ -0,0 +1,77 @@
|
||||
;Tool change cycle
|
||||
PROC TC(INT TOOL_NUMBER,REAL B_AXIS,REAL C_AXIS)
|
||||
G94 G0 G90
|
||||
|
||||
|
||||
IF TOOL_NUMBER > 20
|
||||
ERROR1:
|
||||
MSG("TC called with toolnumber higher than 20 - This is not supported by this machien tool.")
|
||||
M0
|
||||
GOTOB ERROR1
|
||||
ENDIF
|
||||
|
||||
; Activate TRANSY transformation
|
||||
M90
|
||||
|
||||
; Set the tool change position values in metric X,Y,Z
|
||||
R501=598.700
|
||||
R502=-108.000
|
||||
R503=-49.900
|
||||
|
||||
|
||||
; check the activ unit and change values if inch is in use
|
||||
; 4 for G700
|
||||
IF ($P_GG[13] == 1 OR $P_GG[13] == 3)
|
||||
R501 = R501 / 25.4;
|
||||
R502 = R502 / 25.4;
|
||||
R503 = R503 / 25.4;
|
||||
ENDIF
|
||||
|
||||
IF($TC_TP1[$P_TOOLNO] <> TOOL_NUMBER)
|
||||
; Performe tool chnage only if the tool is different as the previous one
|
||||
TCARR=0
|
||||
D0 M1=5
|
||||
IF ($P_GG[29] == 1)
|
||||
G0 G53 X=R501
|
||||
ELSE
|
||||
G0 G53 X=R501*2
|
||||
ENDIF
|
||||
|
||||
G0 G53 Y=R502
|
||||
|
||||
IF ($AA_IM[B1] <> 0)
|
||||
G0 G53 Z=R503+500
|
||||
ENDIF
|
||||
|
||||
SETMS(1)
|
||||
SPOS[1]=0
|
||||
G0 B0
|
||||
|
||||
G0 G53 Z=R503
|
||||
|
||||
T=TOOL_NUMBER
|
||||
M6
|
||||
|
||||
G0 G53 Z=R503+600
|
||||
ENDIF
|
||||
|
||||
SPOS[1]=DC(C_AXIS)
|
||||
SETMS(4)
|
||||
B=B_AXIS
|
||||
|
||||
; calculate delta of B axis roataion and
|
||||
; tool mount junction based on B axis value
|
||||
TCOABS
|
||||
$TC_CARR13[1]=B_AXIS
|
||||
$TC_CARR14[1]=C_AXIS
|
||||
TCARR=1
|
||||
|
||||
; Activate default length compensation D1
|
||||
D1
|
||||
|
||||
; compensate tool length and tracking point based on B axis
|
||||
; defined in TCARR. Switch quadrant point for each 22.5 degree
|
||||
; to set $P_AD2 and mirror for C==180
|
||||
CUTMOD=1
|
||||
|
||||
RET
|
||||
@@ -0,0 +1,25 @@
|
||||
; TC definition for the first channel B Axis for tool length compensation
|
||||
; with B axis orientation
|
||||
$TC_CARR7[1]=0 ;x component of rotary axis v1
|
||||
$TC_CARR8[1]=1 ;y component of rotary axis v1
|
||||
$TC_CARR9[1]=0 ;z component of rotary axis v1
|
||||
$TC_CARR10[1]=0 ;x component of rotary axis v2
|
||||
$TC_CARR11[1]=0 ;y component of rotary axis v2
|
||||
$TC_CARR12[1]=-1 ;z component of rotary axis v2
|
||||
$TC_CARR13[1]=0
|
||||
$TC_CARR14[1]=0
|
||||
$TC_CARR23[1]="M" ;Kinematic type T M P
|
||||
$TC_CARR24[1]=0 ;Offset of rotary axis v1
|
||||
$TC_CARR25[1]=0 ;Offset of rotary axis v2
|
||||
$TC_CARR30[1]=0.0 ;Minimum position of rotary axis v1
|
||||
$TC_CARR31[1]=-9999 ;Minimum position of rotary axis v2
|
||||
$TC_CARR32[1]=180 ;Maximum position of rotary axis v1
|
||||
$TC_CARR33[1]=9999 ;Maximum position of rotary axis v2
|
||||
$TC_CARR35[1]="B1" ;Axis name 1
|
||||
$TC_CARR36[1]="C4" ;Axis name 2
|
||||
|
||||
|
||||
$TC_CARR1[2] = 66
|
||||
$TC_CARR2[2] = 0
|
||||
$TC_CARR3[2] = 88.9
|
||||
M17
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
##LANGUAGE AC
|
||||
STRING sCarrierName;
|
||||
STRING sSpindleName;
|
||||
STRING sJounctionName;
|
||||
sCarrierName = "1";
|
||||
sSpindleName = "POCKET_HEAD";
|
||||
sJounctionName = "S";
|
||||
INT nToolID;
|
||||
INT nToolIDpre;
|
||||
INT nToolNumber;
|
||||
nToolID = getVariable("$P_TOOLP");
|
||||
nToolIDpre = getArrayElement("$TC_TP1",getVariable("$P_TOOLNO"));
|
||||
|
||||
IF (nToolID>0);
|
||||
nToolNumber = getArrayElement("$TC_TP1",nToolID);
|
||||
setNextTool (getCarrierTool ("TM", ITOS(nToolNumber)), "1");
|
||||
ENDIF;
|
||||
|
||||
IF (exist(getCurrentTool(sCarrierName)));
|
||||
move(AXIS,"TMR",(nToolIDpre-1)*18,1.0);
|
||||
grasp(getCurrentTool(sCarrierName),getJunction("POCKET"+nToolIDpre, "TMJ"));
|
||||
resetToolTraces ("1");
|
||||
ENDIF;
|
||||
|
||||
IF (exist(getNextTool(sCarrierName)));
|
||||
move(AXIS,"TMR",(nToolNumber-1)*18,1.0);
|
||||
grasp ( getNextTool(sCarrierName), getJunction(sSpindleName, sJounctionName));
|
||||
activateNextTool (sCarrierName);
|
||||
ENDIF;
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
$P_TOOLNO=$P_TOOLP
|
||||
|
||||
M99
|
||||
@@ -0,0 +1,39 @@
|
||||
G0 G90 D0 ;M5
|
||||
|
||||
; Set the tool change position values in metric X,Y,Z
|
||||
R501=340.0
|
||||
R502=800.0
|
||||
|
||||
; check the activ unit and change values if inch is in use
|
||||
; 3 for G700
|
||||
IF ($P_GG[13] == 1 OR $P_GG[13] == 3)
|
||||
R501 = R501 / 25.4;
|
||||
R502 = R502 / 25.4;
|
||||
ENDIF
|
||||
|
||||
IF ($P_GG[29] == 1)
|
||||
G0 G53 X=R501 Z=R502
|
||||
ELSE
|
||||
G0 G53 X=R501*2 Z=R502
|
||||
ENDIF
|
||||
|
||||
|
||||
##LANGUAGE AC
|
||||
INT nToolID;
|
||||
STRING sCarrierName;
|
||||
sCarrierName = "2";
|
||||
nToolID = getArrayElement("$TC_TP1",getVariable("$P_TOOLP"));
|
||||
|
||||
move(AXIS, "TURRET", (1-nToolID)*360.0/12.0, 1.0);
|
||||
|
||||
STRING strCarrierTool;
|
||||
strCarrierTool=getCarrierTool (sCarrierName, ITOS(nToolID));
|
||||
|
||||
setNextTool (strCarrierTool, sCarrierName);
|
||||
resetToolTraces ("2");
|
||||
activateNextTool(sCarrierName);
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
$P_TOOLNO=$P_TOOLP
|
||||
|
||||
ret
|
||||
@@ -0,0 +1 @@
|
||||
ret
|
||||
@@ -0,0 +1,5 @@
|
||||
N80 GETD(C3)
|
||||
N90 GETD(C4)
|
||||
N100 G0 G94 C3=0 C4=0
|
||||
N120 G1 G90 G53 CHUCK_MAIN=0.0 F1000. FXS[CHUCK_MAIN]=1
|
||||
M17
|
||||
@@ -0,0 +1,5 @@
|
||||
N80 GETD(C3)
|
||||
N90 GETD(C4)
|
||||
N100 G0 G94 C3=0 C4=0
|
||||
N120 G1 G53 CHUCK_SUB=0.0 F1000. FXS[CHUCK_SUB]=1
|
||||
M17
|
||||
@@ -0,0 +1,2 @@
|
||||
G53 G0 CHUCK_MAIN=100
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
G53 G0 CHUCK_SUB=100
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
; the values we are using are NOT the spindle number but the axis numbers in the MCF
|
||||
; 11 -> C3 12->C4
|
||||
|
||||
IF ($P_SMODE[11] == 1 AND $P_SMODE[12] == 1)
|
||||
; both spindle are in spinning mode
|
||||
IF (ABS($P_S[11] - $P_S[12]) < 0.05)
|
||||
; both spindles spinning and have the same speed
|
||||
GOTO CONTINUE
|
||||
ELSE
|
||||
GOTO ERROR2
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ($P_SMODE[11] == 1 OR $P_SMODE[12] == 1)
|
||||
; only one spindle is in spinning mode
|
||||
GOTO ERROR1
|
||||
ENDIF
|
||||
GOTO CONTINUE
|
||||
ENDIF
|
||||
|
||||
ERROR1:
|
||||
MSG ("One Spindles of C3 and C4 is in spinning mode")
|
||||
M0
|
||||
RET
|
||||
|
||||
ERROR2:
|
||||
MSG ("C3 and C4 are in spinning mode with different speed values")
|
||||
M0
|
||||
RET
|
||||
|
||||
CONTINUE:
|
||||
##LANGUAGE AC
|
||||
|
||||
transferParts ("COUNTER_SETUP","MAIN_SETUP");
|
||||
grasp ("MAIN_PART","MAIN_SETUP");
|
||||
|
||||
// TS 4-MAR 2008 (Behaviour after discussion with Ramon and Volker)
|
||||
// Update for NX8 2011-02-04
|
||||
// 1.
|
||||
// For the two parameters of transferParts CSE calls the function
|
||||
// "GetJunctions". This functions transfered 'Label' input to 'id'
|
||||
// (realNC distingush between) In NX this is the same.
|
||||
// A string is returned
|
||||
// 2.
|
||||
// With the return values of the first param CSE called "GetParts"
|
||||
// this returns part/workpiece ID's
|
||||
// In NX the system search below the given kin component of the first
|
||||
// parameter in (tranferParts) for kin component classified as
|
||||
// _WORKPIECE and search in this component for the first junction
|
||||
// (name doesn't matter)
|
||||
// The function 'GetParts' returns this junction
|
||||
// e.g. in sim15 MAIN_WORKPIECE@WORKPIECE_TAKE_OVER
|
||||
// 3.
|
||||
// Loop over all return id's of GetParts and do a unmount and mount
|
||||
// Mount means: the system map the following two junctions together:
|
||||
// Junction retuned by step 2. and the junction given as 2nd
|
||||
// parameter in transferParts
|
||||
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
; Open chuck on sub
|
||||
M130
|
||||
|
||||
RET
|
||||
@@ -0,0 +1,61 @@
|
||||
; the values we are using are NOT the spindle number but the axis numbers in the MCF
|
||||
; 11 -> C3 12->C4
|
||||
|
||||
IF ($P_SMODE[11] == 1 AND $P_SMODE[12] == 1)
|
||||
; both spindle are in spinning mode
|
||||
IF (ABS($P_S[11] - $P_S[12]) < 0.05)
|
||||
; both spindles spinning and have the same speed
|
||||
GOTO CONTINUE
|
||||
ELSE
|
||||
GOTO ERROR2
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ($P_SMODE[11] == 1 OR $P_SMODE[12] == 1)
|
||||
; only one spindle is in spinning mode
|
||||
GOTO ERROR1
|
||||
ENDIF
|
||||
GOTO CONTINUE
|
||||
ENDIF
|
||||
|
||||
ERROR1:
|
||||
MSG ("One Spindles of C3 and C4 is in spinning mode")
|
||||
M0
|
||||
RET
|
||||
|
||||
ERROR2:
|
||||
MSG ("C3 and C4 are in spinning mode with different speed values")
|
||||
M0
|
||||
RET
|
||||
|
||||
CONTINUE:
|
||||
|
||||
##LANGUAGE AC
|
||||
|
||||
transferParts ("MAIN_SETUP","COUNTER_SETUP");
|
||||
grasp ("MAIN_PART","COUNTER_SETUP");
|
||||
|
||||
// TS 4-MAR 2008 (Behaviour after discussion with Ramon and Volker)
|
||||
// Update for NX8 2011-02-04
|
||||
// 1.
|
||||
// For the two parameters of transferParts CSE calls the function
|
||||
// "GetJunctions". This functions transfered 'Label' input to 'id'
|
||||
// (realNC distingush between) In NX this is the same.
|
||||
// A string is returned
|
||||
// 2.
|
||||
// With the return values of the first param CSE called "GetParts"
|
||||
// this returns part/workpiece ID's
|
||||
// In NX the system search below the given kin component of the first
|
||||
// parameter in (tranferParts) for kin component classified as
|
||||
// _WORKPIECE and search in this component for the first junction
|
||||
// (name doesn't matter)
|
||||
// The function 'GetParts' returns this junction
|
||||
// e.g. in sim15 MAIN_WORKPIECE@WORKPIECE_TAKE_OVER
|
||||
// 3.
|
||||
// Loop over all return id's of GetParts and do a unmount and mount
|
||||
// Mount means: the system map the following two junctions together:
|
||||
// Junction retuned by step 2. and the junction given as 2nd
|
||||
// parameter in transferParts
|
||||
|
||||
##LANGUAGE NATIVE
|
||||
|
||||
RET
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,48 @@
|
||||
|
||||
MACHINE FANUC
|
||||
|
||||
EVENT prefer_solution
|
||||
{
|
||||
UI_LABEL "Preferred Solution"
|
||||
PARAM command_status
|
||||
{
|
||||
TYPE o
|
||||
DEFVAL "Active"
|
||||
OPTIONS "Active","Inactive","User Defined"
|
||||
UI_LABEL "Status"
|
||||
}
|
||||
PARAM prefer_axis
|
||||
{
|
||||
TYPE o
|
||||
DEFVAL "OFF"
|
||||
OPTIONS "OFF", "A", "B", "C"
|
||||
UI_LABEL "Preferred Axis"
|
||||
}
|
||||
PARAM prefer_output_min
|
||||
{
|
||||
TYPE d
|
||||
DEFVAL "0.000000"
|
||||
TOGGLE Off
|
||||
UI_LABEL "Preferred Range Minimum"
|
||||
}
|
||||
PARAM prefer_output_max
|
||||
{
|
||||
TYPE d
|
||||
DEFVAL "0.000000"
|
||||
TOGGLE Off
|
||||
UI_LABEL "Preferred Range Maximum"
|
||||
}
|
||||
}
|
||||
|
||||
EVENT program_control
|
||||
{
|
||||
UI_LABEL "Program Control"
|
||||
CATEGORY MILL DRILL
|
||||
PARAM ctrl_program_control
|
||||
{
|
||||
TYPE b
|
||||
DEFVAL "FALSE"
|
||||
UI_LABEL "Call External Subroutine for Each Operation"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,207 @@
|
||||
if {[catch {package require tbcload 1.6} err] == 1} {
|
||||
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
|
||||
}
|
||||
tbcload::bceval {
|
||||
TclPro ByteCode 2 0 1.7 8.4
|
||||
29 0 397 62 0 0 120 0 7 29 29 -1 -1
|
||||
397
|
||||
w0E<!(H&s!/lSs!.EW<!.Qr<!=>YQ#3,tl#@|yTv0#>6#=8YUvF-1((+Ki<!;eQjw6)Ks!H=
|
||||
;u!.lvpv62T=!8KW<!J)X<!.Qr<!E13-&3,tl#@|yTv0#>6#DbCVvMWp((+Ki<!;eQjw=>Ks
|
||||
!OR;u!.lvpv62T=!?KW<!Q)X<!.Qr<!LpFB(B^a|(@|yTv0#>6#L=7WvU2d)(+Ki<!;eQjwE
|
||||
VKs!Wj;u!.lvpv62T=!GKW<!Y)X<!.Qr<!Tcur*JQ;9+@|yTv0#>6#Tm*Xv|bW*(+Ki<!;eQ
|
||||
jwMnKs!_-<u!.lvpv62T=!OKW<!a)X<!.Qr<!yVON-RDji-@|yTv0#>6#yHsXve=K+(+Ki<!
|
||||
;eQjwU1Ls!gE<u!.lvpv62T=!WKW<!i)X<!.Qr<!dI)*0Z7DE0@|yTv0#>6#d#gYvmm>,(+K
|
||||
i<!;eQjw|ILs!o|<u!dgU=!s<!%*=rtu2a99<3?/VW30oSs!EM7945un9v0xPT4z
|
||||
29
|
||||
?Lrg%|0Bh%|0Bh%|0Bh%|0Bh%|0Bh%M_bpv#!
|
||||
29
|
||||
VpAh%|0Bh%|0Bh%|0Bh%|0Bh%|0Bh%'ZZ/&)!
|
||||
62
|
||||
x
|
||||
7
|
||||
%6|,EYt|+
|
||||
x
|
||||
15
|
||||
c_dX?sN;oA`t&7AXtB+
|
||||
x
|
||||
4
|
||||
4/;EF
|
||||
x
|
||||
19
|
||||
-WXiCa-IIDfVEU@e:+Y?i@w,
|
||||
x
|
||||
31
|
||||
bVXiCAvHIDF54=63!0S/6`rO/mhk)F3+uD+cMc&
|
||||
x
|
||||
7
|
||||
c_dX?i@w,
|
||||
x
|
||||
5
|
||||
71GJ0M!
|
||||
x
|
||||
22
|
||||
c_dX?,#cDF1wviCp<q-DwL6<@CSw
|
||||
x
|
||||
5
|
||||
=G5cE1v
|
||||
x
|
||||
35
|
||||
O7a:@(?#j@*C?<@l0p|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
6
|
||||
;i7UAByw
|
||||
x
|
||||
44
|
||||
ivcDF-D_`F0Y#D+69=iCGS2NDCxVE+xER.D3FME++OGA+iGoCF'4DTA
|
||||
x
|
||||
7
|
||||
,'IIDfF-,
|
||||
x
|
||||
28
|
||||
ivcDF-CVE+xER.D3FME++OGA+iGoCF'4DTA
|
||||
x
|
||||
6
|
||||
F+MEFByw
|
||||
x
|
||||
40
|
||||
R9R.D-#sJDwaSCFA62E+31VE+xER.D3FME++OGA+iGoCF'4DTA
|
||||
x
|
||||
8
|
||||
39V5B(mIQB
|
||||
x
|
||||
8
|
||||
6|<JD*mIQB
|
||||
x
|
||||
39
|
||||
f@TC+2UVTAG!Uf_M.?iBrZmIDQjcM9+)3_Dp?7hC5/;EFn^c,
|
||||
x
|
||||
7
|
||||
6BDTAxk,,
|
||||
x
|
||||
47
|
||||
q7YhCGF2`F<MCiCiMWKF-#sJDwaSCFtBp|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
7
|
||||
7l/bE^4c,
|
||||
x
|
||||
39
|
||||
`4DEFc-?iBrZmIDQjcM9Qc7cD*gZ<@/2REC*C?<@%7HSAg@c,
|
||||
x
|
||||
10
|
||||
DVTKDpWxlBFnw
|
||||
x
|
||||
55
|
||||
LrHiEvQ7VCHG^e_`1QSA'!@;@-E|fDpwZW@wCQC+xER.D3FME++OGA+:!EoA9E0bEe4Q,
|
||||
x
|
||||
8
|
||||
73?<@q6IID
|
||||
x
|
||||
31
|
||||
avcDFvU?<@lXo|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
9
|
||||
4K*+Et5K(F1v
|
||||
x
|
||||
51
|
||||
LWebjVfD`JO_glLPfy,jN5E`Ja-lRTU2>-jEap|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
7
|
||||
E_5cEV4c,
|
||||
x
|
||||
49
|
||||
_.s'm0sj0QwaZ;S@B&L+>Xe|lo@HsMpP4lUc'GSA+QG)F+Ayh9jTCoA60aaE1v
|
||||
x
|
||||
10
|
||||
Hh5cEwvMkBFnw
|
||||
x
|
||||
35
|
||||
b%REC*C?<@9q3'D^Uo|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
7
|
||||
D8=iCfF-,
|
||||
x
|
||||
37
|
||||
q(Q)F;Vi|D5;sJD,<GDFc'GSA+QG)F+Ayh9jTCoA60aaE1v
|
||||
x
|
||||
11
|
||||
Jn5cE=i>_F_4g+
|
||||
x
|
||||
43
|
||||
f1ccEwiO.D-#sJD0EffD,oW/DkKo|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
8
|
||||
SL2*F#7IID
|
||||
x
|
||||
60
|
||||
AXj<^*iBgYX<.@KTwM^JL!AgYeR0vdxSZ#d3Q@CdQ>%Cd!^4H+xER.D3FME++OGA+iGoCF'4
|
||||
DTA
|
||||
x
|
||||
14
|
||||
B&v/Dk%ap@q3uSAOSw
|
||||
x
|
||||
30
|
||||
ZbRdk(RdfZd.?iBrZmIDQjcM9Qc7cD*gZ<@NSw
|
||||
x
|
||||
7
|
||||
GJseDdvH,
|
||||
x
|
||||
49
|
||||
^3Bf_MsZJF&Q3<@1.TC+69=iCQS2NDoLx8Vc'GSA+QG)F+Ayh9jTCoA60aaE1v
|
||||
x
|
||||
10
|
||||
GJseD*L7lBFnw
|
||||
x
|
||||
49
|
||||
q(Q)F>Bo8/7/vNCIOoPN/Y#D+0g_5B+?>)F6ti|D,aR.Dm-?iBrZmIDQjcM9n!
|
||||
x
|
||||
8
|
||||
=9p;@*mIQB
|
||||
x
|
||||
56
|
||||
sBDE+wQ#gDP|-wEn&Y5B&V#D+#Z#j@*C?<@3@)E+-+uD+xER.D3FME++OGA+iGoCF'4DTA
|
||||
x
|
||||
8
|
||||
H2rTAulIQB
|
||||
x
|
||||
39
|
||||
N0YPDn^5SA5JgeD&=MLCjLo|;m!lSAsgs`:.en|;8G@BGZ1g+
|
||||
x
|
||||
13
|
||||
@H-<@xCbOB'6K(F1v
|
||||
x
|
||||
30
|
||||
*Ml_kI/^`yT.?iBrZmIDQjcM9Qc7cD*gZ<@NSw
|
||||
x
|
||||
8
|
||||
TIlcE'mIQB
|
||||
x
|
||||
44
|
||||
bL,MF&btD+xER.D3FME++OGA+piP-``IC,Zs,%RDf?C:@rCs`FPfGo/
|
||||
x
|
||||
11
|
||||
o4jY?8ik)Fh^c,
|
||||
x
|
||||
3
|
||||
f;Q&
|
||||
x
|
||||
5
|
||||
sB-<@Ev
|
||||
x
|
||||
3
|
||||
ndD-
|
||||
x
|
||||
33
|
||||
X=@U?*7MaEomK;@gKi'Fn^(kBy%ap@id,<@&?0bE?v
|
||||
x
|
||||
3
|
||||
bdD-
|
||||
i
|
||||
4
|
||||
i
|
||||
0
|
||||
x
|
||||
0
|
||||
|
||||
0
|
||||
0
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,193 @@
|
||||
|
||||
MACHINE PRETREATMENT
|
||||
|
||||
FORMATTING
|
||||
{
|
||||
|
||||
WORD_SEPARATOR " "
|
||||
END_OF_LINE "\135"
|
||||
SEQUENCE sequence_number 10 10 1 99999
|
||||
|
||||
FORMAT AbsCoord "&__5.3_"
|
||||
FORMAT Coordinate "&__5.3_"
|
||||
FORMAT Digit_2 "&_02_00"
|
||||
FORMAT Digit_4 "&_04_00"
|
||||
FORMAT Digit_5 "&__5_00"
|
||||
FORMAT Dwell_SECONDS "&__5.3_"
|
||||
FORMAT EventNum "&+03_00"
|
||||
FORMAT Feed "&__7.2_"
|
||||
FORMAT Feed_DPM "&__5.2_"
|
||||
FORMAT Feed_FRN "&__5.3_"
|
||||
FORMAT Feed_INV "&__5.3_"
|
||||
FORMAT Feed_IPM "&__4.1_"
|
||||
FORMAT Feed_IPR "&__1.4_"
|
||||
FORMAT Feed_MMPM "&__5.0_"
|
||||
FORMAT Feed_MMPR "&__2.3_"
|
||||
FORMAT Hcode "&_02_00"
|
||||
FORMAT Rev "&__4_00"
|
||||
FORMAT Rotary "&__5.5_"
|
||||
FORMAT String "%s"
|
||||
FORMAT Tcode "&_02_00"
|
||||
FORMAT Zero_int "&_01_0_"
|
||||
FORMAT Zero_real "&_01.10"
|
||||
|
||||
ADDRESS N
|
||||
{
|
||||
FORMAT String
|
||||
FORCE always
|
||||
LEADER [$mom_sys_leader(N)]
|
||||
}
|
||||
ADDRESS G_motion
|
||||
{
|
||||
FORMAT String
|
||||
FORCE off
|
||||
LEADER [$mom_sys_leader(G)]
|
||||
}
|
||||
ADDRESS X
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE always
|
||||
LEADER [$mom_sys_leader(X)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
ADDRESS Y
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE off
|
||||
LEADER [$mom_sys_leader(Y)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS Z
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE off
|
||||
LEADER [$mom_sys_leader(Z)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS fourth_axis
|
||||
{
|
||||
FORMAT Rotary
|
||||
FORCE off
|
||||
LEADER [$mom_sys_leader(fourth_axis)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS fifth_axis
|
||||
{
|
||||
FORMAT Rotary
|
||||
FORCE off
|
||||
LEADER [$mom_sys_leader(fifth_axis)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
ADDRESS I
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE always
|
||||
LEADER [$mom_sys_leader(I)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS J
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE always
|
||||
LEADER [$mom_sys_leader(J)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS K
|
||||
{
|
||||
FORMAT Coordinate
|
||||
FORCE always
|
||||
LEADER [$mom_sys_leader(K)]
|
||||
ZERO_FORMAT Zero_real
|
||||
}
|
||||
|
||||
ADDRESS S
|
||||
{
|
||||
FORMAT Zero_int
|
||||
FORCE always
|
||||
LEADER "S"
|
||||
}
|
||||
|
||||
|
||||
BLOCK_TEMPLATE sequence_number
|
||||
{
|
||||
N[ ]
|
||||
}
|
||||
BLOCK_TEMPLATE sequence_number_turbo
|
||||
{
|
||||
N[ ]
|
||||
}
|
||||
BLOCK_TEMPLATE circular_move_turbo
|
||||
{
|
||||
G_motion[$mom_sys_circle_code(string)]
|
||||
X[^POSX]
|
||||
Y[^POSY]
|
||||
Z[^POSZ]
|
||||
fourth_axis[^POS4]
|
||||
fifth_axis[^POS5]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move_turbo
|
||||
{
|
||||
G_motion[$mom_sys_linear_code]
|
||||
X[^POSX]
|
||||
Y[^POSY]
|
||||
Z[^POSZ]
|
||||
fourth_axis[^POS4]
|
||||
fifth_axis[^POS5]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move_turbo
|
||||
{
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
X[^POSX]
|
||||
Y[^POSY]
|
||||
Z[^POSZ]
|
||||
fourth_axis[^POS4]
|
||||
fifth_axis[^POS5]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE circular_move
|
||||
{
|
||||
G_motion[$mom_sys_circle_code(string)]
|
||||
X[$mom_mcs_goto(0)]
|
||||
Y[$mom_mcs_goto(1)]
|
||||
Z[$mom_mcs_goto(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move
|
||||
{
|
||||
G_motion[$mom_sys_linear_code]
|
||||
X[$mom_mcs_goto(0)]
|
||||
Y[$mom_mcs_goto(1)]
|
||||
Z[$mom_mcs_goto(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move
|
||||
{
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
X[$mom_mcs_goto(0)]
|
||||
Y[$mom_mcs_goto(1)]
|
||||
Z[$mom_mcs_goto(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move_drill
|
||||
{
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
X[$mom_cycle_feed_to_pos(0)]
|
||||
Y[$mom_cycle_feed_to_pos(1)]
|
||||
Z[$mom_cycle_feed_to_pos(2)]
|
||||
S[$mom_spindle_speed]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,535 @@
|
||||
####C#U#S#T#O#M##M#E#T#A##I#N#F#O#R#M#A#T#I#O#N##############################################
|
||||
#
|
||||
# Customer Data
|
||||
#
|
||||
# Company :
|
||||
# Address :
|
||||
# Contact person :
|
||||
# Phone :
|
||||
# Fax :
|
||||
# Mail :
|
||||
#
|
||||
####S#T#A#R#T##C#H#A#N#G#E##H#I#S#T#O#R#Y####################################################
|
||||
#
|
||||
# Last changes: 01.02.2011 - UR 001 Initial Release and Installation
|
||||
# 23.08.2013 - UR 002 Add keywords for comment lines (important, because automation respond)
|
||||
# 03.09.2013 - UR 003 Releaseversion 1.0
|
||||
# 09.10.2013 - COE 004 Changed setting of lib_ge_env(tmp_dir)
|
||||
# 10.12.2013 - UR 005 Decomposing the basic functions
|
||||
# 10.02.2014 - COE 006 Releaseversion 2.0
|
||||
# 17.02.2014 - COE 007 Releaseversion 2.1
|
||||
# 13.03.2014 - UR 008 Releaseversion 2.2
|
||||
# 31.03.2014 - UR 009 Add lib_flag(PB_decontamination) to switch of PB support
|
||||
# 31.03.2014 - UR 010 Releaseversion 2.3
|
||||
# 11.04.2014 - UR 011 Releaseversion 2.3.1
|
||||
# 12.05.2014 - UR 012 Releaseversion 2.3.2
|
||||
# 18.05.2014 - UR 013 Add sourcing with the possibility of nesting folders
|
||||
# 19.05.2014 - UR 014 Releaseversion 2.3.3
|
||||
# 26.05.2014 - UR 015 Revision of the LIB_Shell_search_path_recursively routines when a blank is included in the path
|
||||
# 16.06.2014 - COE 016 Releaseversion 2.3.4
|
||||
# 16.06.2014 - UR 017 Add recursively sourcing for the pretreatment files
|
||||
# 24.06.2014 - UR 018 Releaseversion 2.3.5
|
||||
# 24.06.2014 - UR 019 Releaseversion 2.4
|
||||
# 07.07.2014 - UR 020 Releaseversion 2.4.1
|
||||
# 16.07.2014 - UR 021 Releaseversion 3.0
|
||||
# 29.07.2014 - COE 022 LIB_Shell_environment_handling: lib_ge_env(installed_machines_dir,recursively)
|
||||
# LIB_Shell_main: no longer call LIB_Shell_search_path_recursively
|
||||
# 30.07.2014 - COE 023 Releaseversion 3.1
|
||||
# 12.08.2014 - UR 024 Releaseversion 3.1.1
|
||||
# 13.08.2014 - UR 025 Adopted revised texts from SPLM
|
||||
# 13.08.2014 - UR 026 Releaseversion 3.2
|
||||
# 13.08.2014 - UR 027 Releaseversion 3.2.1
|
||||
# 15.08.2014 - COE 028 Adopt modifications SPLM
|
||||
# 15.08.2014 - COE 029 Releaseversion 3.2.2
|
||||
# 25.08.2014 - UR 030 Releaseversion 3.2.3
|
||||
# 10.09.2014 - UR 031 Releaseversion 3.2.4
|
||||
# 11.09.2014 - UR 032 Releaseversion 3.2.5
|
||||
# 22.09.2014 - UR 033 Add property for "show where output comes from" and delete flag(show_where_output_comes_from)
|
||||
# 29.09.2014 - COE 034 Releaseversion 3.2.6
|
||||
# 13.10.2014 - COE 035 Releaseversion 3.2.7
|
||||
# 21.10.2014 - COE 036 Releaseversion 3.2.8
|
||||
# 04.11.2014 - COE 037 Releaseversion 3.2.9
|
||||
# 11.11.2014 - UR 038 Modification of the complete post speed
|
||||
# 13.11.2014 - UR 039 Modification of the complete post speed
|
||||
# 21.11.2014 - COE 040 LIB_Shell_environment_handling: changde setting of lib_ge_env(installed_machines_dir,recursively)
|
||||
# 28.11.2014 - COE 041 Releaseversion 3.2.10
|
||||
# 22.12.2014 - UR 042 Releaseversion 3.3
|
||||
# 22.12.2014 - UR 043 Releaseversion 3.3.1
|
||||
# 05.01.2015 - UR 044 Releaseversion 3.3.2 and changed the Copyright
|
||||
# 06.01.2015 - UR 045 Releaseversion 3.3.3
|
||||
# 06.01.2015 - UR 046 Releaseversion 3.3.4
|
||||
# 07.01.2015 - UR 047 Releaseversion 3.3.5
|
||||
# 11.01.2015 - UR 048 Releaseversion 3.3.6
|
||||
# 11.01.2015 - COE 049 Bugfix if the current directory has spaces
|
||||
# 13.01.2015 - COE 050 Releaseversion 3.3.7
|
||||
# 20.01.2015 - UR 051 Change file nativename and join to LIB_Shell_format_path_names to save runtime
|
||||
# 25.01.2015 - UR 052 Releaseversion 3.3.8
|
||||
# 28.01.2015 - UR 053 Bugfix at LIB_Shell_environment_handling to defined the base folder
|
||||
# 03.02.2015 - UR 054 Correction if the PostConfigurator structure is used
|
||||
# 09.02.2015 - UR 055 Releaseversion 3.3.9
|
||||
# 02.03.2015 - COE 056 Releaseversion 3.4
|
||||
# 12.03.2015 - UR 057 Releaseversion 3.4.1
|
||||
# 16.03.2015 - UR 058 Releaseversion 3.4.2
|
||||
# 30.03.2015 - UR 059 Releaseversion 3.4.3
|
||||
# 20.04.2015 - COE 060 Releaseversion 3.4.4
|
||||
# 28.04.2015 - COE 061 Releaseversion 3.4.5
|
||||
# 15.06.2015 - UR 062 Releaseversion 3.4.6
|
||||
# 15.06.2015 - UR 063 Change abort handling
|
||||
# 16.06.2015 - UR 064 Releaseversion 3.4.7
|
||||
# 22.06.2015 - UR 065 Releaseversion 3.4.8
|
||||
# 21.07.2015 - UR 066 Releaseversion 3.4.9
|
||||
# 28.07.2015 - COE 067 Releaseversion 3.4.10
|
||||
# 11.08.2015 - COE 068 Releaseversion 3.4.11
|
||||
# 16.08.2015 - UR 069 Save Time with Extended foreach Syntax e.g. foreach {a b c d e} [cmdReturningList] {break}
|
||||
# Side note: accelerated runtime after the first index, for one index no improvement
|
||||
# Comparing if Command exists now with LIB_GE_check_commands to wrote the values to an list once
|
||||
# Modifications of the memory handling with Procedures K SK D unset! clear and set!, see http://wiki.tcl.tk/1923
|
||||
# Removing unneeded characters and partially reformat
|
||||
# 20.08.2015 - UR 070 Changed misspelling from adress to address (Bug #784)
|
||||
# 20.08.2015 - UR 071 Releaseversion 3.4.12
|
||||
# 21.08.2015 - UR 072 Releaseversion 3.4.13
|
||||
# 24.08.2015 - COE 073 Releaseversion 3.5
|
||||
# 04.09.2015 - COE 074 Releaseversion 3.5.1
|
||||
# 07.09.2015 - COE 075 Releaseversion 3.5.2
|
||||
# 08.09.2015 - COE 076 Releaseversion 3.5.3
|
||||
# 13.09.2015 - UR 077 Performance improvement when examining whether a procedure exists and also to loading files
|
||||
# 15.09.2015 - UR 078 Releaseversion 3.5.4
|
||||
# 17.09.2015 - UR 079 Change the filename for the lib_ge_dll_version to lower case
|
||||
# 21.09.2015 - UR 080 Releaseversion 3.6
|
||||
# 29.09.2015 - UR 081 Releaseversion 3.6.1
|
||||
# 30.09.2015 - UR 082 Releaseversion 3.6.2
|
||||
# 05.10.2015 - UR 083 Releaseversion 3.6.3
|
||||
# 26.10.2015 - UR 084 Releaseversion 3.6.4
|
||||
# 27.10.2015 - UR 085 Releaseversion 3.6.5
|
||||
# 18.12.2015 - COE 086 Releaseversion 3.6.6
|
||||
# 13.01.2016 - UR 087 Releaseversion 3.6.7
|
||||
# 25.02.2016 - UR 088 Releaseversion 3.6.8
|
||||
# 07.03.2016 - UR 089 Releaseversion 3.6.9
|
||||
# 24.03.2016 - COE 090 Releaseversion 3.6.10
|
||||
# 13.04.2016 - UR 091 Releaseversion 3.6.11
|
||||
# 20.04.2016 - UR 092 Releaseversion 3.6.12
|
||||
# 28.04.2016 - UR 093 Releaseversion 3.7
|
||||
# 29.04.2016 - UR 094 Releaseversion 3.7.1
|
||||
# 15.05.2016 - COE 095 Releaseversion 3.7.2
|
||||
# 15.05.2016 - COE 096 Releaseversion 3.7.3
|
||||
# 17.05.2016 - COE 097 Releaseversion 3.7.4
|
||||
# 23.05.2016 - COE 098 Releaseversion 3.7.5
|
||||
# 27.06.2016 - MAN 099 Update internal documentation
|
||||
# 15.08.2016 - UR 100 Releaseversion 4.0
|
||||
# 24.08.2016 - UR 101 Releaseversion 4.0.1
|
||||
# 04.09.2016 - COE 102 Releaseversion 4.0.2
|
||||
# 05.09.2016 - COE 103 LIB_Shell_environment_handling: 'libraries', 'controller' and 'bin'
|
||||
# all lowercase (we check it against the result of 'string tolower')
|
||||
# (back to status of version 100)
|
||||
# 05.09.2016 - COE 104 Releaseversion 4.0.3
|
||||
# 08.09.2016 - UR 105 Releaseversion 4.0.4
|
||||
# 22.09.2016 - UR 106 HISTORY-> Modifications to support now also Linux <-
|
||||
# 24.09.2016 - UR 107 Releaseversion 4.0.5
|
||||
# 25.09.2016 - UR 108 Releaseversion 4.1
|
||||
# 27.09.2016 - UR 109 Releaseversion 4.1.1
|
||||
# 04.10.2016 - UR 110 Releaseversion 4.1.2
|
||||
# 24.10.2016 - UR 111 Releaseversion 4.1.3
|
||||
# 17.11.2016 - MAN 112 Source also from UGII_POST_POOL_DIR_NG_CUSTOM
|
||||
# 19.11.2016 - UR 113 Releaseversion 4.1.4
|
||||
# 21.11.2016 - MAN 114 Remove again sourcing from UGII_POST_POOL_DIR_NG_CUSTOM
|
||||
# 07.12.2016 - UR 115 Releaseversion 4.1.5
|
||||
# 11.01.2017 - COE 116 Releaseversion 4.1.6
|
||||
# 21.02.2017 - UR 117 Releaseversion 4.1.7
|
||||
# 24.02.2017 - UR 118 Releaseversion 4.1.8
|
||||
# 13.03.2017 - COE 119 Releaseversion 4.2
|
||||
# 05.04.2017 - COE 120 Releaseversion 4.2.1
|
||||
# 06.04.2017 - COE 121 Releaseversion 4.2.2
|
||||
# 07.04.2017 - COE 122 Releaseversion 4.2.3
|
||||
# 24.04.2017 - UR 123 Remove PUI settings and procedures
|
||||
# 28.04.2017 - COE 124 Releaseversion 4.2.4
|
||||
# 19.05.2017 - UR 125 Releaseversion 4.2.5
|
||||
# 18.06.2017 - COE 126 Releaseversion 4.2.6
|
||||
# 27.06.2017 - COE 127 Releaseversion 4.2.7
|
||||
# 06.07.2017 - UR 128 Extension for the layer editor
|
||||
# 31.07.2017 - UR 129 Releaseversion 4.2.8
|
||||
# 01.08.2017 - UR 130 Bugfix if variable TEMP not exists within LINUX systems
|
||||
# 02.08.2017 - UR 131 Releaseversion 4.2.9
|
||||
# 31.08.2017 - UR 132 Add support for *.pcf
|
||||
# 01.09.2017 - UR 133 Releaseversion 4.2.10
|
||||
# 11.09.2017 - COE 134 Releaseversion 4.2.11
|
||||
# 25.09.2017 - COE 135 Releaseversion 4.3
|
||||
# 12.11.2017 - COE 136 Releaseversion 4.3.1
|
||||
# 28.11.2017 - UR 137 Releaseversion 4.3.2
|
||||
# 04.12.2017 - UR 138 Adding the process ID to all files that are traded through the preparation process
|
||||
# 21.02.2018 - COE 139 Releaseversion 4.3.3
|
||||
# 12.03.2018 - UR 140 File contents revised for TCL8.6 and converted to UTF-8
|
||||
# 14.03.2018 - UR 141 Releaseversion 4.4
|
||||
# 20.03.2018 - UR 142 Releaseversion 4.4.1
|
||||
# 12.04.2018 - UR 143 Releaseversion 4.4.2
|
||||
# 04.05.2018 - UR 144 Releaseversion 4.4.3
|
||||
# 14.05.2018 - UR 145 Releaseversion 4.4.4
|
||||
# 02.07.2018 - UR 146 Releaseversion 4.4.5
|
||||
# 20.07.2018 - COE 147 Releaseversion 4.4.6
|
||||
# 10.09.2018 - UR 148 Releaseversion 4.4.7
|
||||
# 24.09.2018 - UR 149 Releaseversion 4.4.8
|
||||
# 08.10.2018 - UR 150 Releaseversion 4.4.9
|
||||
# 18.10.2018 - COE 151 Releaseversion 4.5
|
||||
# 11.01.2019 - UR 152 Releaseversion 4.6.1
|
||||
# 08.02.2019 - UR 153 Releaseversion 4.6.2
|
||||
# 16.03.2019 - UR 154 Releaseversion 4.6.3
|
||||
# 21.03.2019 - UR 155 Function revision so that the MOM Execute can also be loaded in versions >= 1847
|
||||
# 28.03.2019 - COE 156 Releaseversion 4.7
|
||||
# 11.04.2019 - UR 157 Releaseversion 4.7.1
|
||||
# 18.04.2019 - UR 158 Releaseversion 4.7.2
|
||||
# 07.05.2019 - UR 159 Releaseversion 5.0
|
||||
# 08.07.2019 - UR 160 Releaseversion 5.0.1
|
||||
# 31.07.2019 - UR 161 Releaseversion 5.0.2
|
||||
# 16.08.2019 - COE 162 Releaseversion 5.0.3
|
||||
# 21.08.2019 - COE 163 Releaseversion 5.1.0
|
||||
# 20.09.2019 - COE 164 Releaseversion 5.2.0
|
||||
# 06.11.2019 - UR 165 Releaseversion 5.2.3
|
||||
# 27.12.2019 - UR 166 Releaseversion 5.2.4
|
||||
# 31.01.2020 - COE 167 Releaseversion 5.2.5
|
||||
# 02.03.2020 - UR 168 Releaseversion 5.2.6
|
||||
# 19.03.2020 - COE 169 Releaseversion 5.2.7
|
||||
# 25.03.2020 - COE 170 Releaseversion 5.3.0
|
||||
# 23.04.2020 - UR 171 Bugfix set lib_ge_dll_version instead of dotnet_version
|
||||
# 01.07.2020 - COE 172 Releaseversion 5.3.1
|
||||
# 09.07.2020 - COE 173 Releaseversion 5.3.2
|
||||
# 06.09.2020 - COE 174 Releaseversion 5.3.3
|
||||
# 15.09.2020 - COE 175 Releaseversion 5.3.4
|
||||
# 26.09.2020 - COE 176 Releaseversion 5.3.5
|
||||
# 26.11.2020 - COE 177 Releaseversion 5.3.6
|
||||
# 24.01.2021 - COE 178 Releaseversion 5.3.7
|
||||
# 06.02.2021 - COE 179 Releaseversion 5.3.8
|
||||
# 15.03.2021 - COE 180 Releaseversion 5.3.9
|
||||
# 13.04.2021 - COE 181 Releaseversion 5.4.0
|
||||
# 16.05.2021 - COE 182 Bug#2260: check UGII_TMP_DIR first, use system-env only as fallback
|
||||
# 02.06.2021 - COE 183 Releaseversion 5.4.1
|
||||
# 11.06.2021 - COE 184 Linux compatibility
|
||||
# 21.07.2021 - COE 185 Releaseversion 5.4.2
|
||||
# 03.09.2021 - COE 186 Releaseversion 5.4.3
|
||||
# 07.09.2021 - COE 187 Releaseversion 5.4.4
|
||||
# 29.09.2021 - COE 188 Releaseversion 5.5.0
|
||||
# 25.10.2021 - COE 189 Releaseversion 5.5.1
|
||||
# 24.11.2021 - COE 190 Releaseversion 5.5.2
|
||||
# 19.02.2022 - COE 191 Releaseversion 5.5.3
|
||||
# 06.03.2022 - COE 192 Releaseversion 5.5.4
|
||||
# 08.04.2022 - COE 193 Releaseversion 5.5.5
|
||||
# 13.07.2022 - COE 194 Releaseversion 5.5.6
|
||||
# 07.09.2022 - COE 195 Releaseversion 5.5.7
|
||||
# 24.09.2022 - COE 196 Releaseversion 5.5.8
|
||||
# 15.01.2023 - COE 197 Releaseversion 23.01.0
|
||||
# 14.03.2023 - COE 198 Releaseversion 23.03.0
|
||||
# 07.04.2023 - COE 199 Releaseversion 23.04.0
|
||||
# 14.07.2023 - COE 200 Releaseversion 23.07.0
|
||||
# 14.09.2023 - COE 201 Releaseversion 23.09.0
|
||||
# 09.10.2023 - ET 202 Releaseversion 23.10.0
|
||||
# 10.12.2023 - COE 203 Releaseversion 23.12.0
|
||||
# 19.01.2024 - COE 204 Releaseversion 24.01.0
|
||||
# 21.03.2024 - COE 205 Releaseversion 24.03.0
|
||||
# 13.08.2024 - COE 206 Releaseversion 24.08.0
|
||||
# 22.08.2024 - COE 207 Releaseversion 24.08.1
|
||||
# 16.09.2024 - COE 208 Releaseversion 24.09.0
|
||||
# 24.09.2024 - ET 209 Releaseversion 24.09.1
|
||||
# 27.12.2024 - COE 210 Releaseversion 24.12.0
|
||||
# 02.04.2025 - COE 211 Releaseversion 25.04.0
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#############################################################################################
|
||||
# Copyright 2014-2024 Siemens Product Lifecycle Management Software Inc.
|
||||
# All Rights Reserved.
|
||||
|
||||
#
|
||||
####S#T#A#N#D#A#R#D##S#O#U#R#C#I#N#G#########################################################
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
# Procedure debugger
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
|
||||
set lib_ge_debug(on) 0
|
||||
set lib_ge_debug(proc_watch_list) "MOM* PPLIB* PROC*"
|
||||
set lib_ge_debug(var_write_trace_list) "mom_group_name"
|
||||
set lib_ge_debug(proc_watch_exclude_list) "MOM_SMART* MOM_evaluate_arg MOM_before_each_add_var MOM_before_load_address"
|
||||
#____________________________________________________________________________________________
|
||||
set lib_debug_source_of_proc_list ""
|
||||
set lib_fh_do_after_output 0 ;#if set to 0 the posttreatment loop is suppressed
|
||||
|
||||
if {![info exists lib_ge_platform]} {
|
||||
set lib_ge_temppath ""
|
||||
if {[info commands MOM_ask_env_var] != ""} {
|
||||
set lib_ge_temppath [MOM_ask_env_var UGII_TMP_DIR]
|
||||
}
|
||||
|
||||
if {[string match "*windows*" $tcl_platform(platform)]} {
|
||||
set lib_ge_platform 1
|
||||
set lib_ge_slash "\\"
|
||||
if {$lib_ge_temppath == ""} {
|
||||
if {[info exists env(TEMP)]} {
|
||||
set lib_ge_temppath $env(TEMP)
|
||||
} elseif {[info exists env(TMP)]} {
|
||||
set lib_ge_temppath $env(TMP)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
set lib_ge_platform 0
|
||||
set lib_ge_slash "/"
|
||||
if {$lib_ge_temppath == ""} {
|
||||
if {[info exists env(TMPDIR)]} {
|
||||
set lib_ge_temppath $env(TMPDIR)
|
||||
}
|
||||
if {![string length $lib_ge_temppath]} {
|
||||
set lib_ge_temppath "${lib_ge_slash}var${lib_ge_slash}tmp"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# Handling for the default environment variables
|
||||
#
|
||||
# <Internal Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_environment_handling {} {
|
||||
|
||||
global lib_ge_env lib_ge_slash lib_ge_installed_machines
|
||||
|
||||
set lib_ge_env(post_pool_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_POST_POOL_DIR_NG"]]
|
||||
set lib_ge_env(cam_post_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_CAM_POST_DIR"]]
|
||||
set lib_ge_env(tmp_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_TMP_DIR"]]
|
||||
if {$lib_ge_env(tmp_dir) == ""} {set lib_ge_env(tmp_dir) $::lib_ge_temppath}
|
||||
|
||||
if {[string match [string tolower [file tail [file dirname [info script]]]] "libraries"]} {
|
||||
set lib_ge_installed_machines [file dirname [info script]]
|
||||
} else {
|
||||
set lib_ge_installed_machines [info script]
|
||||
}
|
||||
|
||||
set lib_ge_env(installed_machines_dir) [LIB_Shell_format_path_names [file dirname $lib_ge_installed_machines]]
|
||||
# Needed is searchpath activ, therefore info script is wrong
|
||||
if {[file exists [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]]} {source [LIB_Shell_format_path_names "$lib_ge_env(tmp_dir)${lib_ge_slash}pretreatment_script.tcl"]}
|
||||
|
||||
set lib_ge_env(installed_machines_dir,recursively) ""
|
||||
lappend lib_ge_env(installed_machines_dir,recursively) $lib_ge_env(installed_machines_dir)
|
||||
|
||||
set current_dir [pwd]
|
||||
if {![catch {cd [lindex $lib_ge_env(installed_machines_dir,recursively) 0]}]} {
|
||||
if {![catch {set dir [string tolower [glob *]]}]} {
|
||||
foreach e {libraries controller bin} {
|
||||
set index [lsearch -exact $dir $e]
|
||||
if {$index > -1} {
|
||||
set directory [lindex $dir $index]
|
||||
set directory [string toupper [string index $directory 0]][string range $directory 1 end]
|
||||
lappend lib_ge_env(installed_machines_dir,recursively) [LIB_Shell_format_path_names "[lindex $lib_ge_env(installed_machines_dir,recursively) 0]$lib_ge_slash$directory"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
cd $current_dir
|
||||
|
||||
if {![regexp -nocase -- {\w+} $lib_ge_env(post_pool_dir)]} {set lib_ge_env(post_pool_dir) $lib_ge_env(installed_machines_dir)}
|
||||
|
||||
set lib_ge_env(version_bit) [MOM_ask_env_var "UGII_VERSION_BIT"]
|
||||
set lib_ge_env(base_dir) [MOM_ask_env_var "UGII_BASE_DIR"]
|
||||
|
||||
set lib_ge_env(compatible_base_release_version) [MOM_ask_env_var "NX_COMPATIBLE_BASE_RELEASE_VERSION"]
|
||||
set lib_ge_env(major_version) [MOM_ask_env_var "UGII_MAJOR_VERSION"]
|
||||
set lib_ge_env(minor_version) [MOM_ask_env_var "UGII_MINOR_VERSION"]
|
||||
set lib_ge_env(subminor_version) [MOM_ask_env_var "UGII_SUBMINOR_VERSION"]
|
||||
|
||||
if {![info exists lib_ge_dll_version]} {global lib_ge_dll_version}
|
||||
if {$lib_ge_env(minor_version) > 0} {
|
||||
set lib_ge_dll_version "nx$lib_ge_env(major_version)$lib_ge_env(minor_version)"
|
||||
} else {
|
||||
set lib_ge_dll_version "nx$lib_ge_env(major_version)"
|
||||
}
|
||||
if {[llength $lib_ge_env(compatible_base_release_version)] > 0} {set lib_ge_dll_version "nx$lib_ge_env(compatible_base_release_version)"}
|
||||
|
||||
if {[string match "*windows*" $::tcl_platform(platform)]} {
|
||||
regsub -all "/" $lib_ge_env(base_dir) "\\" lib_ge_env(base_dir)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# This procedure may be used to format pathnames from unix format in windows
|
||||
# format and delete double backslash
|
||||
#
|
||||
# Output:
|
||||
# D:\Temp\mom\debug.out or \\Server\Temp\mom\debug.out
|
||||
#
|
||||
# e.g.
|
||||
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
|
||||
#
|
||||
# <Example>
|
||||
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_format_path_names {pathname} {
|
||||
|
||||
global lib_ge_slash lib_ge lib_ge_platform
|
||||
|
||||
regsub -all "/" $pathname "\\" pathname
|
||||
binary scan $pathname H* pathbin
|
||||
if {[info exists lib_ge(format_path,$pathbin,0,0,0)]} {
|
||||
return $lib_ge(format_path,$pathbin,0,0,0)
|
||||
}
|
||||
|
||||
if {[regexp -nocase -- {^[\\\\]|^[\/\/]} $pathname]} {
|
||||
regsub -all "/" $pathname "\\" pathname
|
||||
}
|
||||
|
||||
if {$lib_ge_platform} {
|
||||
regsub -all "/" $pathname "\\" pathname
|
||||
if {![regexp -nocase -- {^\\\\} $pathname]} {set unc 0} else {set unc 1}
|
||||
while {[regsub -- "(?q)\\\\" $pathname "\\" pathname]} {}
|
||||
if {$unc} {set pathname "\\$pathname"}
|
||||
} elseif {!$lib_ge_platform} {
|
||||
regsub -all "\\\\" $pathname "/" pathname
|
||||
if {![regexp -nocase -- {^//} $pathname]} {set unc 0} else {set unc 1}
|
||||
while {[regsub -- "(?q)//" $pathname "/" pathname]} {}
|
||||
if {$unc} {set pathname "/$pathname"}
|
||||
}
|
||||
|
||||
set lib_ge(format_path,$pathbin,0,0,0) [string trim $pathname]
|
||||
return $lib_ge(format_path,$pathbin,0,0,0)
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# Abort postrun
|
||||
#
|
||||
# <Internal Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_abort {message} {
|
||||
|
||||
MOM_output_to_listing_device $message
|
||||
MOM_log_message $message
|
||||
|
||||
MOM_abort $message
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# Handling for the main shell
|
||||
#
|
||||
# <Internal Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_main {} {
|
||||
|
||||
global lib_ge_env lib_ge_slash
|
||||
global lib_cycle_path sourcefile
|
||||
|
||||
LIB_Shell_environment_handling
|
||||
|
||||
lappend ::lib_ge_monitored_files [LIB_Shell_format_path_names [info script]]
|
||||
|
||||
if {[info commands LIB_GE_source] == ""} {
|
||||
set lib_cycle_path 0
|
||||
set searchpath $lib_ge_env(installed_machines_dir,recursively)
|
||||
lappend searchpath $lib_ge_env(post_pool_dir)
|
||||
foreach path $searchpath {
|
||||
if {$lib_cycle_path} {break}
|
||||
foreach ext {.tcl .tbc .pcf} {
|
||||
set sourcefile [LIB_Shell_format_path_names "$path${lib_ge_slash}lib_sourcing$ext"]
|
||||
if {[file exists $sourcefile]} {
|
||||
if {[string match ".tbc" $ext]} {
|
||||
LIB_Shell_abort "ByteCode Loader is not available, cannot process lib_sourcing$ext"
|
||||
}
|
||||
uplevel #0 {
|
||||
|
||||
set err ""
|
||||
if {$tcl_version >= 8.6 && [catch {source -encoding utf-8 $sourcefile} err]} {
|
||||
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
|
||||
LIB_Shell_abort "File lib_sourcing $err not loadable"
|
||||
}
|
||||
if {$tcl_version < 8.6 && [catch {source $sourcefile} err]} {
|
||||
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $::errorInfo"}
|
||||
LIB_Shell_abort "File lib_sourcing $err not loadable"
|
||||
}
|
||||
if {[string length $err] > 0} {
|
||||
set lib_ge_debug(lib_sourcing) "$sourcefile"
|
||||
lappend lib_ge_monitored_files "$sourcefile"
|
||||
lappend lib_ge_log_message "\n--> $sourcefile loaded"
|
||||
set lib_cycle_path 1 ; break
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if {!$lib_cycle_path} {
|
||||
LIB_Shell_abort "File lib_sourcing not found"
|
||||
}
|
||||
}
|
||||
|
||||
LIB_Shell_init
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# Handling for the default environment variables
|
||||
#
|
||||
# <Internal Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_defined_post_environment {} {
|
||||
|
||||
global lib_ge_env lib_ge_slash lib_pp_source_file
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
# NX Post, load files
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
|
||||
# There are different ways to source each files
|
||||
#
|
||||
# e.g. Befor LIB_GE_source call
|
||||
# lappend lib_pp_source_file "machine,UGII_CAM_POST_DIR"
|
||||
#
|
||||
# e.g. After LIB_GE_source call
|
||||
# LIB_GE_source "Test" "C:/Temp/;d:/tmp/"
|
||||
#
|
||||
# e.g. To define a searchpath
|
||||
# LIB_GE_source "" "C:/Temp/;UGII_CAM_POST_DIR"
|
||||
# Allowed is the direct path and/or variable
|
||||
|
||||
# This is the call the PB post LIB_GE files
|
||||
# ** internal funktion / Don't remove this line **
|
||||
|
||||
if {[file exists "$lib_ge_env(tmp_dir)${lib_ge_slash}pt_source_list_[pid].tcl"]} {
|
||||
LIB_GE_source pt_source_list_[pid] "$lib_ge_env(tmp_dir)${lib_ge_slash}" ".tcl" 0 0 "RUNTIME"
|
||||
LIB_GE_source lib_pretreatment_post
|
||||
} else {
|
||||
lappend lib_pp_source_file "ugpost_base" "lib_msg" "lib_file_handling" "lib_standard_post_func" "lib_document" "lib_pretreatment_post"
|
||||
LIB_GE_source
|
||||
}
|
||||
}
|
||||
|
||||
LIB_Shell_main
|
||||
|
||||
####S#T#A#R#T##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S########################################
|
||||
|
||||
####E#N#D##C#U#S#T#O#M##M#O#D#I#F#I#C#A#T#I#O#N#S############################################
|
||||
|
||||
#############################################################################################
|
||||
# This is to debug
|
||||
#############################################################################################
|
||||
if {[info commands LIB_GE_debug] != ""} {LIB_GE_debug}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
if {[catch {package require tbcload 1.6} err] == 1} {
|
||||
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
|
||||
}
|
||||
tbcload::bceval {
|
||||
TclPro ByteCode 2 0 1.7 8.4
|
||||
1 0 6 2 0 0 4 0 2 1 1 -1 -1
|
||||
6
|
||||
w0E<!4!!
|
||||
1
|
||||
z
|
||||
1
|
||||
&!
|
||||
2
|
||||
x
|
||||
16
|
||||
c_dX?fIbOBh++Y?r^oRA
|
||||
x
|
||||
4
|
||||
P#AM9
|
||||
0
|
||||
0
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
MACHINE FANUC
|
||||
|
||||
FORMATTING
|
||||
{
|
||||
SEQUENCE sequence_number 1 1 1 999999
|
||||
|
||||
|
||||
BLOCK_TEMPLATE return_rotary_axis_to_zero
|
||||
{
|
||||
G_mode[$mom_sys_output_code(ABSOLUTE)]
|
||||
G_return[$mom_sys_return_code]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
fourth_axis[0]\opt
|
||||
fifth_axis[0]\opt
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
if {[catch {package require tbcload 1.6} err] == 1} {
|
||||
return -code error "[info script]: The TclPro ByteCode Loader is not available or does not support the correct version -- $err"
|
||||
}
|
||||
tbcload::bceval {
|
||||
TclPro ByteCode 2 0 1.7 8.4
|
||||
41 0 496 79 0 0 256 0 7 41 41 -1 -1
|
||||
496
|
||||
w0E<!:B`W!9ytt!*TA9v=|yTv0#>6#4,o9v/c8=!3iA=!9fAs!.lvpv<k60%/HW<!7Qr<!Ge
|
||||
Uqv7YQK%:(NH&75o9v8D5>!<J>>!9fAs!72#pvL!f`'/HW<!.Qr<!IG(qv;(ic&@^FB(Dyo9
|
||||
v?nt>!X%2?!a^!svCg'w)ExJE'y,@<*0KW<!Z7M?!^+;?!LlJs!Z,xW*dyWT+O.6Uv?nt>!j
|
||||
x.@!o'OsvCg'w)l=53-a;@<*0KW<!J,f=!oa7@!QlJs!JFRK%ltWT+Jt5Uv?nt>!g%2?!k'O
|
||||
svCg'w)hD_Z)fhro+0KW<!g0n@!_Ih?!LlJs!hU--/_MWT+Jt5Uv?nt>!k%2?!f^!svCg'w)
|
||||
lP_Z)a;@<*0KW<!kH=A!_Ih?!LlJs!lwEE0u:XT+Jt5Uv?nt>!3aaA!f^!svCg'w)7N#w2a;
|
||||
@<*0KW<!pfjA!%Jh?!QlJs!Njic&&MXT+Jt5Uv?nt>!m):B!k'OsvCg'w)G6^Z)fhro+0KW<
|
||||
!AKi<!(Jh?!LlJs!AJ|Tv)VXT+O.6Uv?nt>!w&2?!f^!svfN594Iemo4M(OQ5Q@0362QW<!U
|
||||
rQC!Y)dC!bbSv#wGt&:W-_c8vLq9vtXWD!dA3D!#LE!!
|
||||
41
|
||||
38PpvM=xOwM=xOwSaN1%UaN1%UaN1%UaN1%UaN1%UaN1%x6Th%,!
|
||||
41
|
||||
>e-OwM=xOwM=xOwUaN1%UaN1%UaN1%UaN1%UaN1%UaN1%Yg*Pw+!
|
||||
79
|
||||
x
|
||||
25
|
||||
u^sY?nR'Z?<OFY?-lo(Fpr<JDf!?r@>v
|
||||
x
|
||||
5
|
||||
5+GJ0R!
|
||||
x
|
||||
25
|
||||
u^sY?nR'Z?=OFY?-lo(Fpr<JDf!?r@>v
|
||||
x
|
||||
19
|
||||
u^sY?nR'Z?@5--E56K^FmpD-
|
||||
x
|
||||
4
|
||||
YvQ)<
|
||||
x
|
||||
17
|
||||
H`ZS7jv-H;P3MTA73=JD3v
|
||||
x
|
||||
3
|
||||
ndD-
|
||||
x
|
||||
22
|
||||
#@IIDuV1`FEPMEF/56-E=;2EF@Pw
|
||||
x
|
||||
3
|
||||
P'-)
|
||||
x
|
||||
16
|
||||
H`ZS7jv-H;Y;5cEt`<JD
|
||||
x
|
||||
9
|
||||
w;+Y?l4O:@8v
|
||||
i
|
||||
1
|
||||
x
|
||||
11
|
||||
_%97AqE7IDUvg+
|
||||
x
|
||||
35
|
||||
u^sY?3DccErvtJ:IZMg9|y,%=rvtJ:IZMg9qqXi9P6c)
|
||||
x
|
||||
13
|
||||
H`ZS7j#mS7gKxhC1v
|
||||
x
|
||||
13
|
||||
@5--E3wj'FvtCkBDv
|
||||
x
|
||||
3
|
||||
!%!-
|
||||
x
|
||||
18
|
||||
@5--E3wj'FvtCkB!%@hC?Yw
|
||||
x
|
||||
15
|
||||
H`ZS7jv-H;Ti&fDp^;-
|
||||
x
|
||||
36
|
||||
.XIIDh*)9Aq,BCFxv|RA-(wSA&3TfD8>d#H'#lDF1oG)F
|
||||
x
|
||||
19
|
||||
hIa:@he`p@mFYjBi7|mAytf+
|
||||
i
|
||||
0
|
||||
x
|
||||
14
|
||||
s9-x?!1q-Db!VkBJSw
|
||||
x
|
||||
22
|
||||
82_`F+p/CF!YjY?g3IIDh0m*EY(%
|
||||
x
|
||||
81
|
||||
82_`FtX>OBm(+Y?snATAAl9KDp)X/DBwf|=8JfCF,n'Z?.F?<@#;+:@+qTZ?4T(=H3:)E+V`
|
||||
w<6!BK(FvpNaE.'aaE3?ffD(Q0bE;v
|
||||
x
|
||||
31
|
||||
X=@U?P8NX6dddU?#k|Z?9cT,E<(vwHSq/q@m3<-
|
||||
x
|
||||
21
|
||||
H`ZS7V?h-:'T_p@;2ccEw1cSA>v
|
||||
x
|
||||
3
|
||||
xIQ,
|
||||
x
|
||||
14
|
||||
Ao.Q8_qVp6Jp|V6UD#
|
||||
x
|
||||
4
|
||||
<^977
|
||||
x
|
||||
14
|
||||
H`ZS7V?h-:`Vep7:uv
|
||||
x
|
||||
11
|
||||
@5--E&Y|mAPY|+
|
||||
x
|
||||
26
|
||||
.F?<@gyEU@wQ5cE3tQfD&@VTAgrnCFN%%
|
||||
x
|
||||
5
|
||||
Ao.Q8d!
|
||||
x
|
||||
8
|
||||
>7Xp6dRMy=
|
||||
x
|
||||
11
|
||||
H`ZS7lIxU?i@w,
|
||||
x
|
||||
83
|
||||
0ot)FYk*Y?u9p;@EPiSA&k54BhWA(F|1J>+0ot)FYk*Y?u9p;@FPiSA&k54BhWA(F^7S>+0o
|
||||
t)FYk*Y?u9p;@GPiSA&k54BhWA(F?qJ&
|
||||
x
|
||||
8
|
||||
>Bpu5<I'q6
|
||||
x
|
||||
151
|
||||
w3F/Ds0^Z?+sEiCU_*Y?kW`aEjEVTA1QiSA&k54BhWA(FD;I>+0ot)FYk*Y?9qm>HEPiSA&k
|
||||
54BhWA(FEAR>+0ot)FYk*Y?9qm>HFPiSA&k54BhWA(FFGx>+0ot)FYk*Y?9qm>HGPiSA&k54
|
||||
B&,7BGu-cOB4&O+Eb.fRAt|2TAfwhgCX.';@vaSCFl0<-
|
||||
x
|
||||
15
|
||||
r!-x?u3uSAkWmIDeI-,
|
||||
x
|
||||
55
|
||||
r!-x?u3uSAkWmID0k>D+hIa:@he`p@mFYjBi7|mA'A#D+b7a:@*.:Z?>A;EF/MMEF&@E-
|
||||
x
|
||||
16
|
||||
H`ZS7lIxU?o-V5BoF5SA
|
||||
x
|
||||
13
|
||||
H`ZS7lIxU?`=Bq@7v
|
||||
x
|
||||
12
|
||||
H`ZS7j#mS7so.6B
|
||||
x
|
||||
18
|
||||
H`ZS7j#mS7imK;@jX:LCNnw
|
||||
x
|
||||
20
|
||||
H`ZS7j#mS7&Jm#H6S@2A,2lDF
|
||||
x
|
||||
16
|
||||
H`ZS7j#mS7u&v/Dnl<JD
|
||||
x
|
||||
16
|
||||
H`ZS7j#mS7|4sp@q3uSA
|
||||
x
|
||||
15
|
||||
H`ZS7jv-H;NN&bEcIQ,
|
||||
x
|
||||
9
|
||||
#a%hCfj><@<v
|
||||
x
|
||||
14
|
||||
H`ZS7jv-H;x>ffDRhw
|
||||
x
|
||||
189
|
||||
)W(`Fy%ap@k-V5Bj9VTAvnK;@3D3'DrHH<@%B>cE!x7hChd|Z?.0B,Es?VTA)BIIDn.jY?2B
|
||||
K(FfIBq@m:K;@2-0CF&6FiC'Y#D+1,gfDX.';@fk*Y?.0B,Es?VTA7vMEF(B>cE!x7hChd|Z
|
||||
?.0B,Es?VTA7vMEF(B>cE!x7hChd|Z?,l:EFrfR.D)!BCF5+dfDvFm*E'FMTAulSCF9(MEFk
|
||||
^sY?%,_`FkWNaEpAP_F?v
|
||||
x
|
||||
17
|
||||
H`ZS7jv-H;xA#-EtE.hC1v
|
||||
x
|
||||
55
|
||||
u-V5B5.!-EtE.hCuV1`FEPMEFhireD3%,!F#+Z8Ajjp-Dv'OaE#@RdDFG;`FmxggCd%g+
|
||||
x
|
||||
22
|
||||
'ji'F#+Z8AoBNaEjk*:@6;hAG@Pw
|
||||
x
|
||||
304
|
||||
h?!eD7#Q)F`^CkB0@^Z?/!iTAsP5cEUqrp@v?ffDvFm*E*k>D+h?!eD7#Q)F`^CkB0@^Z?/!
|
||||
iTAn0Bq@3QBfDj+|mA:J;EF)5M&Gp&BfD)plRA'NB,Es:+Y?,uk)F'j&fD%Li'F54fZEk!-8
|
||||
ArfR.D)!BCF'ovlBsN`aErfR.D)!BCFs8&kB.6siCs&0CF&6FiC'Y#D+wLIlBq2TfD8>d#H+
|
||||
N%QBm(+Y?.0B,Es?VTA5Q?<@rK`aEaRo;@jeEU@-6rTAq|NaE.'aaE,j&fD26sJD?h?fDkRK
|
||||
Z?49BCF2!j'F3f1EF`44Y?0g_5B88=iCnNRdD|%BRAmwRdDcRo;@9h/wE&d`aEyI#SA#3BCF
|
||||
1h?fDkRKZ?-RIID5T5DF
|
||||
x
|
||||
250
|
||||
l@,SA6*OaEwI-<@e4FU@wQ5cEf?<eD;9SQBn&=mB4Q3<@0V!wHvKfCFvaSCFYF>nAr7+Y?!6
|
||||
oCFmrXxG<O,!Fm&fCF'.DTAvDsp@gv|RAw^DTA!l1`F%PFY?-lo(Fpr<JD0|90DoKhgC:%,!
|
||||
Fm&fCF'.DTAvDsp@gv|RAw^DTAajbnAiy*:@+qTZ?%X7lB&qsY?0Kk_F)oATAAl9KDYF>nAr
|
||||
7+Y?,uk)F.?ffDj%ap@k-V5Bp&BfD7oATAAl9KD)`9fDcCbOBhm5SA)#Q)F8JfCF,n'Z?l@,
|
||||
SA4mm*EAFfZE8JlcE!j&fD@Sw
|
||||
x
|
||||
160
|
||||
kki:@0&6cE*mK;@n'RdDFG;`FwCUU@;uk_FvCNaEg3m*E2fbDFHIlcEj3q-D%)#D+'jur@v@
|
||||
RdDYV*:@&FuSA+p9Z?1T>cE#mmID*dmlB'gi'F6g)s@8pDTA)Pl^F+pW/Dhd'Z?4sRQBj#Tb
|
||||
E`%+Y?u5seD-&oC+'jur@v@RdD%p3mB'^/CF!YjY?-lo(FeN!iC't|7A
|
||||
x
|
||||
75
|
||||
#@IIDuV1`FEPMEF/56-E=;2EF*+G<FlasY?@5--E3wj'F<ZBfD'k|7A4u<+Eui&fDl,B3@(B
|
||||
=iC%>+Y?@5--E-Cq-DZyf+
|
||||
x
|
||||
15
|
||||
H`ZS7jv-H;GgwhC`du,
|
||||
x
|
||||
33
|
||||
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7ArsYjB0<0bE@v
|
||||
x
|
||||
24
|
||||
j<OV?2'aaEuwDoA(fTfDtH..DXjj:6
|
||||
x
|
||||
18
|
||||
X=@U?WhvN9ytmX?_%97AN%%
|
||||
x
|
||||
19
|
||||
V`w<6(fTfDtH..DZ+a:@|X2-
|
||||
x
|
||||
10
|
||||
V`w<6hk,)<v/w
|
||||
x
|
||||
6
|
||||
iQ<eDNSw
|
||||
x
|
||||
14
|
||||
1^|R7X:p(<hk,)<v/w
|
||||
x
|
||||
33
|
||||
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7A&pNaE/5M&G1v
|
||||
x
|
||||
30
|
||||
X=@U?jjdU?0g_5Bl4sY?_%97Af7ap@&:lSAY+%
|
||||
x
|
||||
14
|
||||
47Xp6x_NX6PK687nt#
|
||||
x
|
||||
11
|
||||
<Kc87@'(q6qWM*
|
||||
x
|
||||
5
|
||||
;o`'<f!
|
||||
x
|
||||
9
|
||||
E,+F;RNMg9f!
|
||||
x
|
||||
4
|
||||
,CHr@
|
||||
x
|
||||
0
|
||||
|
||||
p
|
||||
7 0 48 12 0 0 28 0 4 7 7 -1 -1
|
||||
48
|
||||
w0E<!-BW<!(?W<!-`vpv0#Gpv.fvpv6<W<!75bpv.o=6#6G:3w.EW<!39*!!
|
||||
7
|
||||
7b?0%6lr!
|
||||
7
|
||||
DVGUv5TE!
|
||||
12
|
||||
x
|
||||
6
|
||||
q'-W@Dhw
|
||||
x
|
||||
21
|
||||
0g_5Bl4sY?_%97ArNRdDFG;`F@v
|
||||
x
|
||||
2
|
||||
FVw
|
||||
x
|
||||
4
|
||||
wm<eD
|
||||
x
|
||||
6
|
||||
1lo(F^(%
|
||||
x
|
||||
8
|
||||
8JfCFB4uD+
|
||||
i
|
||||
0
|
||||
x
|
||||
21
|
||||
X=@U?pY_p@vkT;@`YEU@sO,SA>v
|
||||
x
|
||||
23
|
||||
V`w<6biqg9(fTfDtH..DZ+a:@|X2-
|
||||
x
|
||||
51
|
||||
6dV<+wQtc9;Xh'F#wj'FqKRdDm^;:+LdV<++Jvi9/MMEF0F^Z?&XVTA,JbD+5^Ww
|
||||
x
|
||||
14
|
||||
xeb@Gg%vY?@5--E`+%
|
||||
x
|
||||
28
|
||||
X=@U?pY_p@vkT;@`YEU@sO,SA-W1`FEPMEF
|
||||
0
|
||||
0
|
||||
0 1
|
||||
21
|
||||
0g_5Bl4sY?_%97ArNRdDFG;`F@v
|
||||
0 0 9
|
||||
x
|
||||
25
|
||||
V`w<6!BK(FvpNaE.'aaE3?ffD(Q0bE;v
|
||||
p
|
||||
1 0 7 2 0 0 4 0 2 1 1 -1 -1
|
||||
7
|
||||
w0E<!)'!!
|
||||
1
|
||||
z
|
||||
1
|
||||
'!
|
||||
2
|
||||
x
|
||||
29
|
||||
X=@U?jjdU?'FMTA'j&fD26sJD-?ffD(Q0bE;v
|
||||
x
|
||||
3
|
||||
v.E-
|
||||
0
|
||||
0
|
||||
0 0
|
||||
x
|
||||
15
|
||||
rpwhC;Z2b3<?<+EfqT+
|
||||
0
|
||||
0
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
MACHINE Default
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
MACHINE DEFAULT
|
||||
INCLUDE {
|
||||
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_fanuc_base.def
|
||||
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_fanuc_base.cdl
|
||||
$POST_LIB_CURRENT_MACH_DIR/oem_ootb_5ax_fanuc.def
|
||||
$POST_LIB_CURRENT_MACH_DIR/sim15_millturn_9ax_fanuc.cdl
|
||||
$POST_LIB_CURRENT_MACH_DIR/sim15_millturn_9ax_fanuc_custom.def
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<Configuration>
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Version>2.0</Version>
|
||||
<MachineName>sim15_millturn_9ax_fanuc</MachineName>
|
||||
<Sourcing>
|
||||
<Sequence>
|
||||
<Layer Name="Libraries" ReadOnly="true" SubFolder="Libraries">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/libraries/libraries.psl</Template>
|
||||
<Version>1.00</Version>
|
||||
<Order>1001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="lib_sourcing" Processing="auto"/>
|
||||
<Filename Name="lib_general" Processing="auto"/>
|
||||
<Filename Name="lib_xml_handling" Processing="auto"/>
|
||||
<Filename Name="lib_msg" Processing="true"/>
|
||||
<Filename Name="lib_file_handling" Processing="true"/>
|
||||
<Filename Name="lib_standard_post_func" Processing="true"/>
|
||||
<Filename Name="lib_document" Processing="true"/>
|
||||
<Filename Include="pretreatment" Name="lib_pretreatment" Processing="auto"/>
|
||||
<Filename Include="pretreatment" Name="lib_pretreatment_post" Processing="auto"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
<Filename Include="pretreatment" Name="lib_pretreatment" Processing="auto"/>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Fanuc" ReadOnly="true" SubFolder="Controller">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/base/ctrl_fanuc_base.psl</Template>
|
||||
<Version>1.00</Version>
|
||||
<Order>2001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="ctrl_fanuc_base" Processing="true"/>
|
||||
<Filename Name="ctrl_fanuc_base_msg" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
<Filename Include="true" Name="ctrl_fanuc_base" Processing="auto"/>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
<Filename Include="true" Name="ctrl_fanuc_base" Processing="auto"/>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Machine Tool Builder" ReadOnly="false">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Version>1.00</Version>
|
||||
<Order>3001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="sim15_millturn_9ax_fanuc_mtb" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Fanuc OOTB" ReadOnly="false">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/manufacturer/oem_ootb_5ax_fanuc.psl</Template>
|
||||
<Version>1.00</Version>
|
||||
<Order>4001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="oem_ootb_5ax_fanuc" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
<Filename Name="oem_ootb_5ax_fanuc" Processing="true"/>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Fanuc Sample Machine Level" ReadOnly="false">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/fanuc/machine/machine_ootb_5ax_fanuc.psl</Template>
|
||||
<Version>1.00</Version>
|
||||
<Order>5001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="machine_ootb_5ax_fanuc" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Service" ReadOnly="false">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Version>1.00</Version>
|
||||
<Order>8001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="sim15_millturn_9ax_fanuc_service_fanuc" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
<Layer Name="Customer" ReadOnly="true">
|
||||
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
|
||||
<Version>1.00</Version>
|
||||
<Order>9001</Order>
|
||||
<Scripts>
|
||||
<Filename Name="sim15_millturn_9ax_fanuc_custom" Processing="true"/>
|
||||
</Scripts>
|
||||
<DefinedEvents>
|
||||
<Filename Name="sim15_millturn_9ax_fanuc_custom" Processing="true"/>
|
||||
</DefinedEvents>
|
||||
<CustomerDialogs>
|
||||
</CustomerDialogs>
|
||||
<Functions>
|
||||
</Functions>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>Siemens Product Lifecycle Management Software Inc.</User>
|
||||
<Date>01.01.2019 12:00:00</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
</Layer>
|
||||
</Sequence>
|
||||
</Sourcing>
|
||||
<History>
|
||||
<Comments>
|
||||
<Comment>
|
||||
<User>lili</User>
|
||||
<Date>25.09.2019 21:51:11</Date>
|
||||
<Text>Initial generated by Post Configurator</Text>
|
||||
</Comment>
|
||||
<Comment>
|
||||
<User>lili</User>
|
||||
<Date>25.09.2019 21:51:11</Date>
|
||||
<Text>'Postprocessor successfully upgraded from version 4.7.1 to version 5.2.0</Text>
|
||||
</Comment>
|
||||
<Comment>
|
||||
<User>lili</User>
|
||||
<Date>30.03.2020 12:02:34</Date>
|
||||
<Text>'Postprocessor successfully upgraded from version 5.2.0 - Release to version 5.3.0</Text>
|
||||
</Comment>
|
||||
</Comments>
|
||||
<Customer>
|
||||
<Company/>
|
||||
<Address/>
|
||||
<Contact/>
|
||||
<Phone/>
|
||||
<Fax/>
|
||||
<Mail/>
|
||||
</Customer>
|
||||
</History>
|
||||
<Units>Millimeters and Inches</Units>
|
||||
</Configuration>
|
||||
@@ -0,0 +1 @@
|
||||
# this file is intentionally left empty
|
||||
@@ -0,0 +1,322 @@
|
||||
set pc_initial_library_release_of_post 50505
|
||||
#############################################################################################
|
||||
#
|
||||
# Customer Data
|
||||
#
|
||||
# Company :
|
||||
# Address :
|
||||
# Contact person :
|
||||
# Phone :
|
||||
# Fax :
|
||||
# Mail :
|
||||
#
|
||||
#############################################################################################
|
||||
#
|
||||
# Copyright 2014-2022 Siemens Product Lifecycle Management Software Inc.
|
||||
# All Rights Reserved.
|
||||
# Copyright (c) 2012-2020 Siemens Industry Software GmbH & Co. KG
|
||||
#
|
||||
# Die Quellcodes der Programme sind urheberrechtlich geschuetzt und
|
||||
# duerfen ohne Zustimmung von Siemens Industry Software GmbH & Co. KG weder kopiert noch
|
||||
# fuer andere Zwecke weiterverwendet werden.
|
||||
#
|
||||
# The source of the programs is protected by Copyright.
|
||||
# You are not allowed to make any copies or modifications
|
||||
# without consent of Siemens Industry Software GmbH & Co. KG.
|
||||
#
|
||||
# Le contenu de ces programmes sont protégés par copyright et ne
|
||||
# peuvent pas être copiés ou réutilisés sans l'agrément de Siemens Industry Software GmbH & Co. KG
|
||||
#
|
||||
#############################################################################################
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
# Procedure debugger
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
|
||||
set lib_ge_debug(on) 0
|
||||
set lib_ge_debug(proc_watch_list) "MOM* PPLIB* PROC*"
|
||||
set lib_ge_debug(var_write_trace_list) "mom_group_name"
|
||||
set lib_ge_debug(proc_watch_exclude_list) "MOM_SMART* MOM_evaluate_arg MOM_before_each_add_var MOM_before_load_address"
|
||||
#____________________________________________________________________________________________
|
||||
set lib_debug_source_of_proc_list ""
|
||||
|
||||
if {![info exists lib_ge_platform]} {
|
||||
set lib_ge_temppath ""
|
||||
if {[info commands MOM_ask_env_var] != ""} {
|
||||
set lib_ge_temppath [MOM_ask_env_var UGII_TMP_DIR]
|
||||
}
|
||||
|
||||
if {[string match "*windows*" $tcl_platform(platform)]} {
|
||||
set lib_ge_platform 1
|
||||
set lib_ge_slash "\\"
|
||||
if {$lib_ge_temppath == ""} {
|
||||
if {[info exists env(TEMP)]} {
|
||||
set lib_ge_temppath $env(TEMP)
|
||||
} elseif {[info exists env(TMP)]} {
|
||||
set lib_ge_temppath $env(TMP)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
set lib_ge_platform 0
|
||||
set lib_ge_slash "/"
|
||||
if {$lib_ge_temppath == ""} {
|
||||
if {[info exists env(TMPDIR)]} {
|
||||
set lib_ge_temppath $env(TMPDIR)
|
||||
}
|
||||
if {![string length $lib_ge_temppath]} {
|
||||
set lib_ge_temppath "${lib_ge_slash}var${lib_ge_slash}tmp"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if {![info exists lib_ge_env(tmp_dir)]} {
|
||||
set lib_ge_env(tmp_dir) [MOM_ask_env_var "UGII_TMP_DIR"]
|
||||
}
|
||||
if {![string length $lib_ge_env(tmp_dir)]} {
|
||||
set lib_ge_env(tmp_dir) $lib_ge_temppath
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Documentation>
|
||||
#
|
||||
# Handling for the default environment variables
|
||||
#
|
||||
# <Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_environment_handling {} {
|
||||
|
||||
eval global [uplevel #0 info vars]
|
||||
|
||||
# Language file and OS specific values
|
||||
if {![info exists lib_ge_slash]} {global lib_ge_slash}
|
||||
if {![info exists lib_ge_env]} {global lib_ge_env}
|
||||
|
||||
set lib_ge_env(post_pool_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_POST_POOL_DIR_NG"]]
|
||||
set lib_ge_env(cam_post_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_CAM_POST_DIR"]]
|
||||
set lib_ge_env(tmp_dir) [LIB_Shell_format_path_names [MOM_ask_env_var "UGII_TMP_DIR"]]
|
||||
if {$lib_ge_env(tmp_dir) == ""} {set lib_ge_env(tmp_dir) $lib_ge_temppath}
|
||||
|
||||
global lib_ge_installed_machines
|
||||
set lib_ge_installed_machines [info script]
|
||||
set lib_ge_env(installed_machines_dir) [LIB_Shell_format_path_names [file dirname $lib_ge_installed_machines]]
|
||||
|
||||
set lib_ge_env(installed_machines_dir,recursively) ""
|
||||
lappend lib_ge_env(installed_machines_dir,recursively) $lib_ge_env(installed_machines_dir)
|
||||
|
||||
set current_dir [pwd]
|
||||
if {![catch {cd [lindex $lib_ge_env(installed_machines_dir,recursively) 0]}]} {
|
||||
if {![catch {set dir [string tolower [glob *]]}]} {
|
||||
foreach e {libraries controller bin} {
|
||||
set index [lsearch -exact $dir $e]
|
||||
if {$index > -1} {
|
||||
set directory [lindex $dir $index]
|
||||
set directory [string toupper [string index $directory 0]][string range $directory 1 end]
|
||||
lappend lib_ge_env(installed_machines_dir,recursively) [LIB_Shell_format_path_names "[lindex $lib_ge_env(installed_machines_dir,recursively) 0]$lib_ge_slash$directory"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
cd $current_dir
|
||||
|
||||
if {![regexp -nocase -- {\w+} $lib_ge_env(post_pool_dir)]} {set lib_ge_env(post_pool_dir) $lib_ge_env(installed_machines_dir)}
|
||||
|
||||
set lib_ge_env(version_bit) [MOM_ask_env_var "UGII_VERSION_BIT"]
|
||||
set lib_ge_env(base_dir) [MOM_ask_env_var "UGII_BASE_DIR"]
|
||||
|
||||
set lib_ge_env(major_version) [MOM_ask_env_var "UGII_MAJOR_VERSION"]
|
||||
set lib_ge_env(minor_version) [MOM_ask_env_var "UGII_MINOR_VERSION"]
|
||||
set lib_ge_env(subminor_version) [MOM_ask_env_var "UGII_SUBMINOR_VERSION"]
|
||||
|
||||
if {![info exists lib_ge_dll_version]} {global lib_ge_dll_version}
|
||||
if {$lib_ge_env(minor_version) > 0} {
|
||||
set lib_ge_dll_version "nx$lib_ge_env(major_version)$lib_ge_env(minor_version)"
|
||||
} else {
|
||||
set lib_ge_dll_version "nx$lib_ge_env(major_version)"
|
||||
}
|
||||
|
||||
if {[string match "*windows*" $::tcl_platform(platform)]} {
|
||||
regsub -all "/" $lib_ge_env(base_dir) "\\" lib_ge_env(base_dir)
|
||||
}
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Internal Documentation>
|
||||
#
|
||||
# This procedure may be used to format pathnames from unix format in windows
|
||||
# format and delete double backslash
|
||||
#
|
||||
# Output:
|
||||
# D:\Temp\mom\debug.out or \\Server\Temp\mom\debug.out
|
||||
#
|
||||
# e.g.
|
||||
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
|
||||
#
|
||||
# <Example>
|
||||
# set error [LIB_Shell_format_path_names "D:/Temp/mom/debug.out"]
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_format_path_names {pathname} {
|
||||
|
||||
global lib_ge lib_ge_platform
|
||||
|
||||
binary scan $pathname H* pathbin
|
||||
if {[info exists lib_ge(format_path,$pathbin,0,0,0)]} {
|
||||
return $lib_ge(format_path,$pathbin,0,0,0)
|
||||
}
|
||||
|
||||
if {[regexp -nocase -- {^[\\\\]|^[\/\/]} $pathname]} {
|
||||
regsub -all "/" $pathname "\\" pathname
|
||||
}
|
||||
|
||||
if {$lib_ge_platform} {
|
||||
regsub -all "/" $pathname "\\" pathname
|
||||
if {![regexp -nocase -- {^\\\\} $pathname]} {set unc 0} else {set unc 1}
|
||||
while {[regsub -- "(?q)\\\\" $pathname "\\" pathname]} {}
|
||||
if {$unc} {set pathname "\\$pathname"}
|
||||
} elseif {!$lib_ge_platform} {
|
||||
regsub -all "\\\\" $pathname "/" pathname
|
||||
if {![regexp -nocase -- {^//} $pathname]} {set unc 0} else {set unc 1}
|
||||
while {[regsub -- "(?q)//" $pathname "/" pathname]} {}
|
||||
if {$unc} {set pathname "/$pathname"}
|
||||
}
|
||||
|
||||
set lib_ge(format_path,$pathbin,0,0,0) [string trim $pathname]
|
||||
return $lib_ge(format_path,$pathbin,0,0,0)
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Documentation>
|
||||
#
|
||||
# Handling for the main shell
|
||||
#
|
||||
# <Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_main {} {
|
||||
|
||||
global lib_ge_env lib_ge_slash
|
||||
global lib_cycle_path sourcefile
|
||||
|
||||
LIB_Shell_environment_handling
|
||||
|
||||
lappend ::lib_ge_monitored_files [LIB_Shell_format_path_names [info script]]
|
||||
|
||||
if {[info commands LIB_GE_source] != "LIB_GE_source"} {
|
||||
set lib_cycle_path 0
|
||||
set searchpath $lib_ge_env(installed_machines_dir,recursively)
|
||||
lappend searchpath $lib_ge_env(post_pool_dir)
|
||||
foreach path $searchpath {
|
||||
if {$lib_cycle_path} {break}
|
||||
foreach ext {.tcl .tbc} {
|
||||
set sourcefile [LIB_Shell_format_path_names "$path${lib_ge_slash}lib_sourcing$ext"]
|
||||
if {[file exists $sourcefile]} {
|
||||
if {[string match ".tbc" $ext]} {
|
||||
MOM_output_to_listing_device "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
|
||||
MOM_log_message "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
|
||||
MOM_abort "ByteCode Loader is not available, cannot process lib_sourcing$ext (Provid this file not encrypted)"
|
||||
}
|
||||
uplevel #0 {
|
||||
|
||||
if {$::tcl_version >= 8.6} {
|
||||
if {[catch {source -encoding utf-8 $sourcefile} err]} {
|
||||
set lib_source_error 1
|
||||
}
|
||||
} else {
|
||||
if {[catch {source $sourcefile} err]} {
|
||||
set lib_source_error 1
|
||||
}
|
||||
}
|
||||
|
||||
if {[info exists lib_source_error] && $lib_source_error == 1} {
|
||||
if {[info exists ::errorInfo]} {MOM_output_to_listing_device "errorInfo $errorInfo"}
|
||||
MOM_output_to_listing_device "File lib_sourcing $err not loadable"
|
||||
MOM_log_message "File lib_sourcing $err not loadable"
|
||||
MOM_abort "File lib_sourcing not loadable"
|
||||
} else {
|
||||
set lib_ge_debug(lib_sourcing) "$sourcefile"
|
||||
lappend lib_ge_monitored_files "$sourcefile"
|
||||
lappend lib_ge_log_message "\n--> $sourcefile loaded"
|
||||
set lib_cycle_path 1 ; break
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if {!$lib_cycle_path} {
|
||||
MOM_output_to_listing_device "File lib_sourcing not found"
|
||||
MOM_log_message "File lib_sourcing not found"
|
||||
MOM_abort "File lib_sourcing not found"
|
||||
}
|
||||
}
|
||||
|
||||
LIB_Shell_init
|
||||
|
||||
}
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
# <Documentation>
|
||||
#
|
||||
# Handling for the default environment variables
|
||||
#
|
||||
# <Example>
|
||||
#
|
||||
#____________________________________________________________________________________________
|
||||
proc LIB_Shell_defined_post_environment {} {
|
||||
|
||||
global lib_pp_source_file lib_shell
|
||||
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
# NX Post, load files
|
||||
#____________________________________________________________________________________________
|
||||
#
|
||||
|
||||
# There are different ways to source each files
|
||||
#
|
||||
# e.g. Befor LIB_GE_source call
|
||||
# lappend lib_pp_source_file "machine,UGII_CAM_POST_DIR"
|
||||
#
|
||||
# e.g. After LIB_GE_source call
|
||||
# LIB_GE_source "Test" "C:/Temp/;d:/tmp/"
|
||||
#
|
||||
# e.g. To define a searchpath
|
||||
# LIB_GE_source "" "C:/Temp/;UGII_CAM_POST_DIR"
|
||||
# Allowed is the direct path and/or variable
|
||||
|
||||
# This is the call for PB post files
|
||||
# ** internal funktion / Don't remove this line **
|
||||
set lib_pp_source_file ""
|
||||
|
||||
# This is the call the PB post LIB_GE files
|
||||
# ** internal funktion / Don't remove this line **
|
||||
lappend lib_pp_source_file "lib_msg" "lib_file_handling" "lib_standard_post_func" "lib_document"
|
||||
|
||||
# If a XML-file with the same file name found, the referenced files will also loaded
|
||||
LIB_Shell_external_source
|
||||
|
||||
if {![info exists lib_shell(load_loader)] || $lib_shell(load_loader)} {
|
||||
lappend lib_pp_source_file "[file tail [file rootname $::lib_ge_installed_machines]]_custom"
|
||||
} else {
|
||||
MOM_log_message "Custom level isn't loaded"
|
||||
}
|
||||
|
||||
|
||||
#############################################################################################
|
||||
|
||||
}
|
||||
|
||||
LIB_Shell_main
|
||||
|
||||
#############################################################################################
|
||||
|
||||
|
||||
|
||||
#############################################################################################
|
||||
|
||||
#############################################################################################
|
||||
# This is to debug
|
||||
#############################################################################################
|
||||
if {[llength [info commands LIB_GE_debug]]} {LIB_GE_debug}
|
||||
@@ -0,0 +1,431 @@
|
||||
MACHINE DEFAULT
|
||||
FORMATTING
|
||||
{
|
||||
FORMAT AbsCoord "&__2_00"
|
||||
ADDRESS B_tool_change
|
||||
{
|
||||
FORMAT Rotary
|
||||
FORCE always
|
||||
LEADER "B"
|
||||
}
|
||||
ADDRESS D_tool_change
|
||||
{
|
||||
FORMAT Rotary
|
||||
FORCE always
|
||||
LEADER "D"
|
||||
}
|
||||
ADDRESS G_adjust
|
||||
{
|
||||
FORMAT Digit_command
|
||||
FORCE off
|
||||
LEADER "G"
|
||||
ZERO_FORMAT Zero_command
|
||||
}
|
||||
ADDRESS G_return
|
||||
{
|
||||
FORMAT Digit_command
|
||||
FORCE off
|
||||
LEADER "G"
|
||||
ZERO_FORMAT Zero_command
|
||||
}
|
||||
ADDRESS H
|
||||
{
|
||||
FORMAT Digit_2
|
||||
FORCE off
|
||||
LEADER "H"
|
||||
ZERO_FORMAT Zero_int
|
||||
}
|
||||
ADDRESS G52
|
||||
{
|
||||
FORMAT Digit_2
|
||||
FORCE always
|
||||
LEADER "G"
|
||||
}
|
||||
ADDRESS G53
|
||||
{
|
||||
FORMAT AbsCoord
|
||||
FORCE always
|
||||
LEADER "G"
|
||||
}
|
||||
BLOCK_TEMPLATE prog_dia_on
|
||||
{
|
||||
Text[G10.9 X1]
|
||||
}
|
||||
BLOCK_TEMPLATE prog_dia_off
|
||||
{
|
||||
Text[G10.9 X0]
|
||||
}
|
||||
BLOCK_TEMPLATE auto_tool_change
|
||||
{
|
||||
T[$mom_tool_number]
|
||||
}
|
||||
BLOCK_TEMPLATE sim15_tool_change
|
||||
{
|
||||
Text[G65 P0361]
|
||||
B_tool_change[$B_axis_angle]
|
||||
D_tool_change[$tool_holder_spindle_axis]
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move_turn
|
||||
{
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Y[0]
|
||||
Z[$mom_pos(2)]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
H[$mom_tool_adjust_register]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE tool_change_1
|
||||
{
|
||||
M[$mom_sys_tool_change_code]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_X
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
X[$mom_sys_home_pos(0)]
|
||||
H[0]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_ZY
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
Y[$mom_sys_home_pos(1)]
|
||||
Z[$mom_sys_home_pos(2)]
|
||||
H[0]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_Z
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
Z[$mom_sys_home_pos(2)]
|
||||
H[0]
|
||||
}
|
||||
BLOCK_TEMPLATE channel_init
|
||||
{
|
||||
G_cutcom[40]
|
||||
G_zero[99]
|
||||
G_plane[99]
|
||||
G_feed[99]
|
||||
G_motion[99]
|
||||
G_mode[99]
|
||||
X[99999.999]
|
||||
Y[99999.999]
|
||||
Z[99999.999]
|
||||
fourth_axis[0]
|
||||
fifth_axis[0]
|
||||
I[0]
|
||||
J[0]
|
||||
K[1]
|
||||
R[99999.999]
|
||||
D[0]
|
||||
H[99]
|
||||
M_coolant[$mom_sys_coolant_code(OFF)]
|
||||
}
|
||||
BLOCK_TEMPLATE tool_change_init
|
||||
{
|
||||
G_cutcom[40]
|
||||
G_zero[99]
|
||||
G_plane[99]
|
||||
G_feed[99]
|
||||
G_motion[99]
|
||||
G_mode[99]
|
||||
X[99999.999]
|
||||
Y[99999.999]
|
||||
Z[99999.999]
|
||||
fourth_axis[0]
|
||||
fifth_axis[0]
|
||||
I[0]
|
||||
J[0]
|
||||
K[1]
|
||||
R[99999.999]
|
||||
D[0]
|
||||
H[99]
|
||||
M_coolant[$mom_sys_coolant_code(OFF)]
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move_turn
|
||||
{
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_linear_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Y[0]
|
||||
Z[$mom_pos(2)]
|
||||
F[$feed]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move
|
||||
{
|
||||
G_spin[97]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Y[$mom_pos(1)]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
X_vector[$mom_tool_axis(0)]\opt
|
||||
Y_vector[$mom_tool_axis(1)]\opt
|
||||
Z_vector[$mom_tool_axis(2)]\opt
|
||||
S[$mom_spindle_rpm]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
H[$mom_tool_adjust_register]
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move
|
||||
{
|
||||
G_spin[97]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_linear_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Y[$mom_pos(1)]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
X_vector[$mom_tool_axis(0)]\opt
|
||||
Y_vector[$mom_tool_axis(1)]\opt
|
||||
Z_vector[$mom_tool_axis(2)]\opt
|
||||
F[$feed]
|
||||
S[$mom_spindle_rpm]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
H[$mom_tool_adjust_register]
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE sim15_G52
|
||||
{
|
||||
G52[52]
|
||||
X[$mom_g52_origin(0)]
|
||||
Y[$mom_g52_origin(1)]
|
||||
Z[$mom_g52_origin(2)]
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move_lower
|
||||
{
|
||||
G_spin[97]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_linear_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[-1*$mom_pos(0)*$x_factor]
|
||||
Y[$mom_pos(1)]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
X_vector[$mom_tool_axis(0)]\opt
|
||||
Y_vector[$mom_tool_axis(1)]\opt
|
||||
Z_vector[$mom_tool_axis(2)]\opt
|
||||
F[$feed]
|
||||
S[$mom_spindle_rpm]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
H[$mom_tool_adjust_register]
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE linear_move_turn_lower
|
||||
{
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_linear_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[-1*$mom_pos(0)*$x_factor]
|
||||
Y[0]
|
||||
Z[$mom_pos(2)]
|
||||
F[$feed]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move_lower
|
||||
{
|
||||
G_spin[97]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[-1*$mom_pos(0)*$x_factor]
|
||||
Y[$mom_pos(1)]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
X_vector[$mom_tool_axis(0)]\opt
|
||||
Y_vector[$mom_tool_axis(1)]\opt
|
||||
Z_vector[$mom_tool_axis(2)]\opt
|
||||
S[$mom_spindle_rpm]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
H[$mom_tool_adjust_register]
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE rapid_move_turn_lower
|
||||
{
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[-1*$mom_pos(0)*$x_factor]
|
||||
Y[0]
|
||||
Z[$mom_pos(2)]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
H[$mom_tool_adjust_register]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE circular_move_lower
|
||||
{
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
|
||||
G_adjust[$mom_sys_adjust_code]
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_circle_code($mom_arc_direction)]\opt
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[-1*$mom_pos(0)]
|
||||
Y[$mom_pos(1)]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$mom_out_angle_pos(0)]
|
||||
fifth_axis[$mom_out_angle_pos(1)]
|
||||
I[$mom_prev_pos(0) - $mom_pos_arc_center(0)]
|
||||
J[$mom_pos_arc_center(1) - $mom_prev_pos(1)]
|
||||
K[$mom_pos_arc_center(2) - $mom_prev_pos(2)]
|
||||
helix_turn[$mom_helix_turn_number]\opt
|
||||
R[$mom_arc_radius]
|
||||
F[$feed]
|
||||
S[$mom_spindle_rpm]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
H[$mom_tool_adjust_register]
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE circular_move_turn
|
||||
{
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_circle_code($mom_arc_direction)]\opt
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Z[$mom_pos(2)]
|
||||
fourth_axis[$B_rotation]\opt
|
||||
I[($mom_pos_arc_center(0) - $mom_prev_pos(0))*$i_factor]
|
||||
K[$mom_pos_arc_center(2) - $mom_prev_pos(2)]
|
||||
R[$mom_arc_radius]
|
||||
F[$feed]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_range[$mom_sys_spindle_range_code($mom_spindle_range)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE circular_move_turn_lower
|
||||
{
|
||||
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
|
||||
G_plane[$mom_sys_cutcom_plane_code(ZX)]\opt
|
||||
G_feed[$mom_sys_feed_rate_mode_code($feed_mode)]
|
||||
G_motion[$mom_sys_circle_code($mom_arc_direction)]\opt
|
||||
G_mode[$mom_sys_output_code($mom_output_mode)]
|
||||
X[$mom_pos(0)*$x_factor]
|
||||
Z[$mom_pos(2)]
|
||||
I[$mom_prev_pos(0) - $mom_pos_arc_center(0)]
|
||||
K[$mom_pos_arc_center(2) - $mom_prev_pos(2)]
|
||||
R[$mom_arc_radius]
|
||||
F[$feed]
|
||||
S[$mom_spindle_speed]
|
||||
D[$cutcom_adjust_register]\opt
|
||||
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
|
||||
M_coolant[$mom_sys_coolant_code($mom_coolant_mode)]\opt
|
||||
}
|
||||
BLOCK_TEMPLATE sim15_G52_cancel
|
||||
{
|
||||
G52[52]
|
||||
X[0]
|
||||
Y[0]
|
||||
Z[0]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_XY
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code(INCREMENTAL)]
|
||||
X[0]
|
||||
Y[0]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_Y
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code(INCREMENTAL)]
|
||||
Y[0]
|
||||
}
|
||||
BLOCK_TEMPLATE return_home_ZX
|
||||
{
|
||||
G53[53]
|
||||
G_motion[$mom_sys_rapid_code]
|
||||
G_mode[$mom_sys_output_code(INCREMENTAL)]
|
||||
X[0]
|
||||
Z[0]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user