1
0

Initial commit

This commit is contained in:
2026-02-22 14:16:24 +01:00
commit 1692d191fa
3684 changed files with 10817616 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
PMAC
PGUD
CHAN_DATA
TC_CARR
TO_INI
M17

View File

@@ -0,0 +1,39 @@
#
# Copyright (c) 2019 Siemens Industry Software Inc.
# Unpublished - All rights reserved
#
#
#
# ================================================================
import CSEWrapper
import CSES840D
from CSEWrapper import ChannelState
from CseS840D_Methods import ControllerMethods
from CseS840D_Metacodes import ControllerMetacodes
class S840D_sim16_Methods(ControllerMethods):
# Use this class to add machine specific methods.
# DUMMY method shows exemplarily how to implement custom methods.
def DummyMethod(channel : ChannelState):
return True
class S840D_sim16_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_sim16_Methods, strMethodName, None)
def GetMetacode(self, strMetacodeName : str):
return getattr(S840D_sim16_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()

View File

@@ -0,0 +1,27 @@
$MN_MM_NUM_TOOL_CARRIER=2
$TX_TOOLCOUNT=1000
;----------------------------------------------------------------------------
; Define some HEAD change specific used NC variables
DEF NCK INT $P_HEADNO
DEF NCK STRING[128] $P_HEADNAME
DEF NCK STRING[128] SIM_TOOL_CARRIER
DEF NCK STRING[128] SIM_HEAD_SPINDLE
DEF NCK INT HEAD_TRANS_PLUS_SWIVEL
DEF NCK REAL POCKET_SWIVEL_ROTX
DEF NCK REAL POCKET_SWIVEL_ROTY
DEF NCK REAL POCKET_SWIVEL_ROTZ
;----------------------------------------------------------------------------
; Define the orientation of the mount junction on the main spindle
; in realtion to the machine axis. Used while activating the head correction
; Direction: Rotate M-ZERO into MOUNT
;
; NOT used and not implemented in the actual example. In that example the
; mount juncitons of hte head is identically orientated as the
; machine zero junciton
DEF CHAN REAL SIM_MOUNT_JCT_X_ROT=0.0
DEF CHAN REAL SIM_MOUNT_JCT_Y_ROT=0.0
DEF CHAN REAL SIM_MOUNT_JCT_Z_ROT=0.0

View File

@@ -0,0 +1,156 @@
PROC HEADCHANGE (STRING[32] _TOOL, INT _HN, REAL _CPOS, REAL _APOS)
;------------------------------------------------------------------------------
;
; DESCRIPTION of the Parameters
;
; 1 _TOOL Name of the Tool
; internally a '_headnumber' is added before search in NX by name
; 2 _HN Headnumber
; 1 == vertical Head
; 2 == right angle head
; 3 == AC Dual Axis head
; 3 _CPOS C Axis position on head 2 and 3 for setup orientation
; 4 _APOS A Axis position on head 3 for setup orientation
;
; Planned, but not used yet
; 5 _SWIVEL Switch to activate or deactivate automatic swivel mode
; 0 == swivel OFF 1 == swivel ON
G0 G90 D0 M5
; Reset possible CYCLE800 setting
CYCLE800()
; Set the tool change position values in metric X,Y,Z
R501=800.000
R502=-1000.000
R503=700.000
; define head change position in X and Z
R611=1447.8
R613=0.0
; define head change position in Y for HEAD pocket 1
R612=-593.8
; define head change position in Y for HEAD pocket 2
R622=-2.6
; define head change position in Y for HEAD pocket 3
R632=493.8
; 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;
R503 = R503 / 25.4;
R611 = R611 / 25.4;
R613 = R613 / 25.4;
R612 = R612 / 25.4;
R622 = R622 / 25.4;
R632 = R632 / 25.4;
ENDIF
; Preselect the tool
T=_TOOL
; Unmount a tool
;------------------------------------------------------------------
If $P_TOOLNO <> 0 OR _TOOL == ""
; Move to Tool change position
G0 G53 X=R501 Y=R502
G0 G53 Z=R503
; Initialize possible Head rotary axes
;------------------------------------------------------------------
if ($P_HEADNO == 3)
A0 C0
endif
if ($P_HEADNO == 2)
C0
endif
unmount_tool
endif
; Unmount and mount head if needed :-)
;------------------------------------------------------------------
If ($P_HEADNO <> _HN)
if ($P_HEADNO <> 0)
; Move to head change position to unmount head first
G0 G53 X=R611 Y=R[602+10*$P_HEADNO]
G0 G53 Z=R613
unmount_head
$P_HEADNO = 0
SIM_TOOL_CARRIER=""
$P_HEADNAME=""
G0 G53 G91 Z500
G90
endif
if (_HN <> 0)
; move to head change posiiton
G0 G53 X=R611 Y=R[602+10*_HN]
G0 G53 Z=R613
; set mounthead name
CASE _HN OF 1 GOTOF _CASE1 2 GOTOF _CASE2 3 GOTOF _CASE3
_CASE1: $P_HEADNAME="VERT_HEAD"
GOTOF _CASEEND
_CASE2: $P_HEADNAME="RA_HEAD"
GOTOF _CASEEND
_CASE3: $P_HEADNAME="AC_HEAD"
GOTOF _CASEEND
_CASEEND:
; set mounted head as actual head
SIM_HEAD_SPINDLE="S"
$P_HEADNO=_HN
; define the tool carrier on head
SIM_TOOL_CARRIER="H"<<$P_HEADNO<<"_POCKET"
mount_head
G0 G53 G91 Z500
G90
; Activate Head correction and set kinematic chain
; for the inital postion - axes all at 0.0
;------------------------------------------------------------------
;M[$P_HEADNO]=3333
endif
endif
; Move to tool mount position
; could be adjusted be different by head, but is not implemented
;------------------------------------------------------------------
G0 G53 X=R501 Y=R502
G0 G53 Z=R503
; Mount the new tool to spindle
;------------------------------------------------------------------
If _TOOL <> ""
mount_tool
; set mounted tool as actual tool
$P_TOOLNO = $P_TOOLP
endif
; Position the head rotary axes
;------------------------------------------------------------------
if ($P_HEADNO == 3)
A=_APOS C=_CPOS
endif
if ($P_HEADNO == 2)
C=_CPOS
endif
; Activate tool length correction
;------------------------------------------------------------------
D1
ret

View File

@@ -0,0 +1,10 @@
PROC ORIRESET(REAL AX1, REAL AX2, REAL AX3)
TRAFOOF
if (AX1)
G53 A=AX1
endif
if (AX2)
G53 C=AX2
endif
TRAORI

View File

@@ -0,0 +1,90 @@
; swivel data AC-HEAD
$TC_CARR1[1]=0 ;I1x
$TC_CARR2[1]=0 ;I1y
$TC_CARR3[1]=431.8 ;I1z
$TC_CARR4[1]=0 ;I2x
$TC_CARR5[1]=0 ;I2y
$TC_CARR6[1]=203.2 ;I2z
$TC_CARR7[1]=0 ;x component of rotary axis v1
$TC_CARR8[1]=0 ;y component of rotary axis v1
$TC_CARR9[1]=1 ;z component of rotary axis v1
$TC_CARR10[1]=1 ;x component of rotary axis v2
$TC_CARR11[1]=0 ;y component of rotary axis v2
$TC_CARR12[1]=0 ;z component of rotary axis v2
$TC_CARR13[1]=0
$TC_CARR14[1]=0
$TC_CARR15[1]=0 ;I3x
$TC_CARR16[1]=0 ;I3y
$TC_CARR17[1]=228.6 ;I3z
$TC_CARR18[1]=0
$TC_CARR19[1]=0
$TC_CARR20[1]=0
$TC_CARR21[1]=(X)
$TC_CARR22[1]=(X)
$TC_CARR23[1]="T" ;Kinematic type T M P
$TC_CARR24[1]=0 ;Offset of rotary axis v1
$TC_CARR25[1]=0 ;Offset of rotary axis v2
$TC_CARR26[1]=0
$TC_CARR27[1]=0
$TC_CARR28[1]=0
$TC_CARR29[1]=0
$TC_CARR30[1]=-9999 ;Minimum position of rotary axis v1
$TC_CARR31[1]=-90 ;Minimum position of rotary axis v2
$TC_CARR32[1]=9999 ;Maximum position of rotary axis v1
$TC_CARR33[1]=90 ;Maximum position of rotary axis v2
$TC_CARR34[1]="AC_HEAD" ;Toolholder name
$TC_CARR35[1]="C" ;Axis name 1
$TC_CARR36[1]="A" ;Axis name 2
$TC_CARR37[1]=201000000 ;Identifier
$TC_CARR38[1]=1250.6
$TC_CARR39[1]=0.4
$TC_CARR40[1]=700 ;Z axis retract
; swivel data RA-HEAD
$TC_CARR1[2]=0 ;I1x
$TC_CARR2[2]=-167.5 ;I1y
$TC_CARR3[2]=165 ;I1z
$TC_CARR4[2]=0 ;I2x
$TC_CARR5[2]=167.5 ;I2y
$TC_CARR6[2]=165 ;I2z
$TC_CARR7[2]=0 ;x component of rotary axis v1
$TC_CARR8[2]=1 ;y component of rotary axis v1
$TC_CARR9[2]=0 ;z component of rotary axis v1
$TC_CARR10[2]=0 ;x component of rotary axis v2
$TC_CARR11[2]=0 ;y component of rotary axis v2
$TC_CARR12[2]=0 ;z component of rotary axis v2
$TC_CARR13[2]=0
$TC_CARR14[2]=0
$TC_CARR15[2]=0
$TC_CARR16[2]=0
$TC_CARR17[2]=0 ;I3x
$TC_CARR18[2]=0 ;I3y
$TC_CARR19[2]=0 ;I3z
$TC_CARR20[2]=0
$TC_CARR21[2]=(X)
$TC_CARR22[2]=(X)
$TC_CARR23[2]="T" ;Kinematic type T M P
$TC_CARR24[2]=0 ;Offset of rotary axis v1
$TC_CARR25[2]=0 ;Offset of rotary axis v2
$TC_CARR26[2]=0
$TC_CARR27[2]=0
$TC_CARR28[2]=0
$TC_CARR29[2]=0
$TC_CARR30[2]=-9999 ;Minimum position of rotary axis v1
$TC_CARR31[2]=-9999 ;Minimum position of rotary axis v2
$TC_CARR32[2]=9999 ;Maximum position of rotary axis v1
$TC_CARR33[2]=9999 ;Maximum position of rotary axis v2
$TC_CARR34[2]="RA_HEAD" ;Toolholder name
$TC_CARR35[2]="C" ;Axis name 1
$TC_CARR36[2]="S" ;Axis name 2 --> entered "S" due to bug in cycle800.spf
$TC_CARR37[2]=201000000 ;Identifier
$TC_CARR38[2]=1250.6
$TC_CARR39[2]=0.4
$TC_CARR40[2]=700 ;Z axis retract
M17

View File

@@ -0,0 +1,2 @@
PROC WRTPR(STRING[32] STR, INT _ST)
RET

View File

@@ -0,0 +1,16 @@
##LANGUAGE AC
STRING sHeadName;
sHeadName = getVariable("$P_HEADNAME");
// make sure an existing S axis will be removed prior the S axis from
// the head will registered with mountHead command
detachJoint("S");
mountHead(sHeadName, "S");
grasp ( sHeadName, getJunction("HEADCARRIER", "S"));
position ( sHeadName, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
##LANGUAGE NATIVE

View File

@@ -0,0 +1,34 @@
##LANGUAGE AC
INT nToolID;
INT nHeadID;
STRING sToolName;
STRING sCarrier;
STRING sSpindle;
nToolID = getVariable("$P_TOOLP");
sCarrier = getVariable("SIM_TOOL_CARRIER");
sSpindle = getVariable("SIM_HEAD_SPINDLE");
sToolName = getArrayElement("$TC_TP2",nToolID)+"_"+getVariable("$P_HEADNO");
IF (nToolID == 0);
sToolName = "";
ENDIF;
IF (sToolName != "");
generateTool (sToolName, sCarrier);
ELSE;
IF (nToolID > 0);
generateTool (getToolNameByNumber(nToolID), sCarrier);
ELSE;
// ERROR no Tool preselected - ?? Send error message ??
ENDIF;
ENDIF;
IF (exist(getNextTool(sCarrier)));
grasp ( getNextTool(sCarrier), getJunction(sCarrier, sSpindle));
position ( getNextTool(sCarrier), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
visibility ( getNextTool(sCarrier), ON, TRUE);
activateNextTool (sCarrier);
ENDIF;
##LANGUAGE NATIVE

View File

@@ -0,0 +1,11 @@
##LANGUAGE AC
INT nHeadID;
STRING sHeadName;
nHeadID = getVariable("$P_HEADNO");
sHeadName = getVariable("$P_HEADNAME");
grasp ( sHeadName, getJunction("HEAD-"+ITOS(nHeadID),"HMJ"));
position ( sHeadName, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
unmountHead("S");
##LANGUAGE NATIVE

View File

@@ -0,0 +1,9 @@
##LANGUAGE AC
STRING sCarrier;
sCarrier = getVariable("SIM_TOOL_CARRIER");
IF (exist(getCurrentTool(sCarrier)));
visibility ( getCurrentTool(sCarrier), OFF, TRUE);
release ( getCurrentTool(sCarrier));
ENDIF;
##LANGUAGE NATIVE

View File

@@ -0,0 +1,75 @@
MACHINE SIEMENS
EVENT high_speed_setting
{
UI_LABEL "Sinumerik CYCLE832"
CATEGORY MILL
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive"
UI_LABEL "Status"
}
PARAM ude_siemens_tolerance_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Tolerance"
}
PARAM siemens_tol
{
TYPE d
DEFVAL "0.01"
TOGGLE Off
UI_LABEL "User Defined Tolerance"
}
PARAM ude_siemens_tolerance_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_hsm
{
TYPE g
DEFVAL "start_open"
UI_LABEL "High Speed Machining"
}
PARAM siemens_compressor
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Compressor"
}
PARAM siemens_smoothing
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Smoothing"
}
PARAM siemens_feedforward
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Feed Forward"
}
PARAM siemens_method
{
TYPE o
DEFVAL "Auto"
OPTIONS "Auto","Rough","Semi","Finish"
UI_LABEL "Method"
}
PARAM ude_siemens_hsm_end
{
TYPE g
DEFVAL "end"
}
}

View File

@@ -0,0 +1,5 @@
MACHINE SIEMENS840D
INCLUDE { $UGII_CAM_USER_DEF_EVENT_DIR/ude.cdl }

View File

@@ -0,0 +1,535 @@
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
96 0 989 144 1 0 476 1 14 96 116 -1 -1
989
w0E<!(H&s!/lSs!.EW<!@Iy*'-W&=!@uW<!Ha++'1oJ=!DuW<!>,f=!?2o=!Ik^qv2&5pvV+
uc/qdic&JjJE'ASo9v8D5>!U:@rvKSa<!Mk2-&V|C?)T9asvccn<vh:P3-Q-TlwAy25.g-^Z
)d0w!*W4L=!Lnt>!pbB0.g-^Z)d0w!*U(:=!iZZW*d*!%*bP<9+0uS=!j!Fsv<EB`:?9H##F
5v!!>-9-&^Pro+65uW,eO^r+FF7<vt/86,VFp=!nS^R-^C,9OL9(w)EYTs!g-^Z)d0w!*U(:
=!c?^Z)PWbsvccn<vf(oQ,X8#>!^^!svOes<!cSa<!#WIL&LtT=!pmI@!wR9tvOb-n-J3WW!
r8#>!sg@@!rsR@!y,>pvjKnJ/I*<<!i@,>!>,f=!Ik^qv?FA*'iF#!!N_,-/)Odc/.EW<!T%
:-8ww1%!m@3D!|*e@!Uv.w;Ujr?!-OFA!1xXA!5gjA!9s'B!!MWkwbXLs!Sd_w!:bb>!A6LB
!d%=)!3Bv!!eW594muPT4Kq365v2`!#<uW<!q_6C!r/Ts!Qdi?!a&|=!WP4pw@btt!a080%M
e794sqQC!xRS*'`aa|(kvxC!!)dC!mGgB!y#af7q'u<!s6Ms!4lSs!-#|c8!rEK7muPT4k'V
=!bbSv#sjSyv4,>pv;uW<!gSND!lbt&:@btt!j#y`9wRV=!6GA*'!eiD!!)q#;wRV=!,w5pv
#YU|:&XV=!o11qw'RMs!.EW<!#n6rw2fPH&2LP|v0`8s!m8=B:/.BE!tUNW<2iSs!(:TE!,'
9X!(:TE!/'9X!WTOA!*GfE!.S#F!mGgB!+0Ts!5<SpvxSa<!Ewbl>`c`EC6IFN?c(%w2/HW<
!8vZF!@U@%#2-(3?<aai?Yl^Z)0KW<!B:)G!FF;G!RM8EB>;S`BCfSpv<|_G!K@2G!Tp%H!X
'8H!y3JH!`?yH!dKnH!@NGt!Uu?HABQWs!IV+I!q;p'#:CvD!|*e@!L#.w;Tdi?!poOI!OAp
iwe_WT+G'^Z)3FB`:R)Os!T2Xs!6QUfIji?9+0uS=!j!Fsv<EB`:9^jD!Ww5pvJSa<!`Sa<!
Mk2-&gMp,J65uW,eO^r+FF7<v(-6HJ_bs=!vOC7-OUOA!bZ?jw?_tt!/ul&LJ%2?!ee.BL2o
n9v;)LV,eO^r+FF7<v7)J|L`k#m#h<<cvifYT4._6>!5t-K!ee.BL0|8X!xSa<!`Sa<!v>|r
NsTf|(eks9vz
96
6P(qv3WW!!C@*Pwpx1@*;OX|()rr*(KCeE'1i&v!;`!!!^C6Y!>&oX!CVYY!>M,Y!>M,Y!JX
SI&yX@S#FXn*'JO<1%id.4w18P:v@=.<vA7Dw!K|r!!gsn`'
116
D>PpvnFah&Fh^R#w?rr!R'Pa'S+_R##6WW!oow4w#6WW!.t/.&363<!T:^Z')w*!!r|NR#cm
r1%n17n#t.'')nh&')Nv7n#Y<5J&SvDR#xe5:vZWC((B;0L7`,MK&f);K&|.L|#/Ow4&Q=@4
w
144
x
7
%6|,EYt|+
x
15
c_dX?sN;oA`t&7AXtB+
x
4
4/;EF
x
15
-WXiC`PTc1vYEU@x4g+
x
27
bVXiC@ESc17,3=63!0S/mhk)F3+uD+gJH&
x
19
c_dX?,#cDF1wviCp<q-DZLc,
x
19
-WXiC!0=JD1*0bEbnEU@x4g+
x
19
c_dX?,#cDF1wviCv'0CFp+g+
x
11
PWqg9@R`)3tL8(
x
22
c_dX?,#cDF1wviCp<q-DwL6<@CSw
x
9
7o(`F%dxlB7v
x
27
c_dX?,#cDF1wviCg@'7A0HFiCtZ7IDUvg+
x
12
PWqg9(w)B+WGgn6
x
4
m'cSA
x
4
v=xhC
x
8
<)lDFnjkSA
x
4
wm<eD
x
6
)^xlBx+%
x
9
njkSAt=sp@1v
x
4
uKhgC
x
11
qEV5B1&?cEm*E-
x
1131
^HSpFja0;@u@#D+3n'd0NbJdAtIa:@G*rZ3D|<JD&No,E5fbDFkg#lBh|2jB0k(E+mC97AhM
/C+crgm#6y)!Fh!cr@1APQB#?m;@=7G<F8APQB-PpeDx:|7A)W!iCFngm#7pZQHko<JD.I%F
+us_iApm5SA50ylB#A_|3w&|C+b#nW4k!8s+MC97AC|N3I%#um#_Y+7,6!yhCQPVp/%&#D+8
tLE+)h|7A4GTfD.Q3<@#H>0ApxBq@Fhd#HFngm#vMfCFqs_iApm5SA50ylB#A_|36!yhCC'/
F+cKxhC+D^eDtfI9>m'cSA,&TbEnjkSAruwlB'E(yG/Ny|3qEV5B1&?cER7oc3>XKV@,-T!?
?JnlB:b!wH3xfRAErgm#|=faE|'X>wd2g0Ie2g0IQ(GaBD>Ya+e<;oA9v&yG;J)*Fqs_iApm
5SA50ylB#A_|36!yhC+OUw?Dn<@wy>/:+91VE+eCBkBwm/bE1-=JD*RMZF*L%lBQ/;s+cKxh
C+D^eD=upT,kg#lBZ@5SAukC&G?yG)F%O!iCbgp-Db!VkBrdTZ?5-9<.xE;JD?JnlB:b!wH3
xfRA^kqm#e(um#-sQ,E5RbWF*L%lBXEZ%ER6tm#vMfCFqs_iApm5SA50ylB#A_|3r>+dD0bt
D+us_iApm5SA50ylB#A_|36!yhCC'/F+Z':4wR#Hq@w7DkB+pDTA/Ny|3qEV5B1&?cER7oc3
dXeK/-RIID,!BCF3+uD+gd|;@urtm#&(KTA8oATAvy/wE7f5DF3+uD+|-<w3Mm%vH9+ME+iQ
<eD*ZtfA'A#D+cwn=wa.JTA6lpT,eCBkBwm/bE1-=JDpt_iA,X:K0wsY8A`Y+7,i%97Aq_P>
+kW`aE&?0bExrgm#91VE+eCBkBwm/bE1-=JD'7Q|EtuCTA+WpT,eCBkBwm/bE1-=JDpt_iAY
2vr>Gqgm#)lP)FZh>x3D|<JD&No,E5fbDFx=)>wd9;j@0shTA<MqcBD+dfD'bG@=J>3L@vj`
aE<cir@5upT,eCBkBwm/bE1-=JD'7Q|E)o|=+eCBkBwm/bE1-=JD'7Q|E1#qm#U`PaD(p`aE
/k2DFE?)E+.5#D+l*)9Ah^oRA(cN<@r?v>wJNvL8%osdD%Vi|D<^JEF*Q5DFG&Or@.bl(Fn-
';@kC|7AJ@PQBr/`OBuIYD+0Kk_Fpcw;@C+dfD)v#D+!.2kB%FHSALrgm#7pZQH3>EP8O|U7
70AccEj7=Y?wRH<@ah>x3D|<JD&No,E5fbDFPa-98<w3j@##QMA*H7q@'RiA3waO11(,?2A_
@,nAsgC,1TPRRAGw%c1%RA.2-(4iA%M%2ArmpG1t^bJ0mG'5@do(u+B`xQHFngm#0lTfDB!(
aCrGYKA=u5cE6w_G1Gu'aCrGYKA=u5cE6w_G1_qgm#y!s!
x
6
gpbSAPSw
x
13
eCBkBwm/bE1-=JD@v
x
0
x
6
1lo(F^(%
x
4
jgTq@
i
0
i
1
x
4
(iY%G
x
13
H`ZS7Mo297_JvJ:o!
x
6
82_`FWnw
x
6
%RIIDCSw
x
3
Yt|+
x
23
ijkIDUItn7+&Mn6NuVL9ST687BlC%
x
5
ijkIDBv
x
16
Oo.29.Df^<Rbse:Vk,)<
x
11
U`;L9Cl`'<|<?)
x
6
gd|;@b:%
x
6
,Qs/DL+%
x
2
>Kv
x
16
';H2Ask,l@K*hG1M97c1
x
8
w3F/Ds/B(F
x
42
Tw+iAU*4iAL9d)2X-4iAM0.H1K'h,1)/#E2)DuMAK3Ic1-Y;iAgRw
x
7
ld^LCOef+
x
7
5uC`Fb1g+
x
2
6ew
x
13
#(q-DwL6<@J#JaDDv
x
5
5K!eD:v
x
5
0lTfD>v
x
5
WOZ-E1v
x
2
Qew
x
6
Kh5DFHSw
x
5
ekTfD>v
x
8
?2K(FmF5SA
x
6
M'cSAhAv
x
21
-EL:@8y-fD(dZRA/c%UA)'WTA0v
x
9
E;=JD5PD*FK!
x
12
o4jY?)!BCF,Qs/D
x
8
)!BCF,Qs/D
x
16
>A;EFsN;oA/#lcE.&6cE
x
4
(w=JD
x
3
k6W-
x
4
.0B,E
x
16
s@;EFSN;oA/#lcE.&6cE
x
5
1lo(F@v
x
5
r!2kB>v
x
9
3DccE,&MEF1v
x
7
/^,8AY@c,
x
9
g-ur@q<..D1v
x
10
wdmlBvY|;@ISw
x
7
0ot)FOef+
x
3
_e|+
x
4
2WACF
x
8
g-ur@+<0(F
x
4
F;0(F
x
11
0ot)FhHmIDUvg+
x
4
*dmID
x
2
nNv
x
10
0ot)Fp;G%GL(%
x
4
DP)*F
x
8
vVbD+Yk:s+
x
1
C!
x
14
6@(>6K,;s+M'cSAhAv
x
36
-EL:@8y-fD(dZRA/c%UA)'WTAI^n=+*Eo=+mSOcEEik<+
x
47
LwraEH&)p/HIa:@WQ^S@slSCF8bA!=^|xlB20E_;rZ!iCen%h/v=uD+2UWw
x
7
^8Z0/Y#6&
x
5
)lP)F1v
x
4
rmBq@
x
3
Vq|+
x
2
^Lw
x
5
2'aaE@v
x
1
G!
x
4
2u5DF
x
2
xkw
x
5
5BjiC1v
x
1
O!
x
8
uuW/D<ve#H
x
15
1!DVG3Yik.4Yik.^)-&
x
9
+jdlB!hpgC1v
x
5
a(|RA8v
x
6
*(XU@Hhw
x
5
Kt(yG@v
x
6
M'cSARAv
x
21
lWK:@8y-fD(dZRA/c%UA)'WTA0v
x
7
0s:kBemD-
i
4
x
6
7YDEFTnw
x
7
F%MEFs^c,
x
6
B^>r@Hhw
x
6
BQ?<@PSw
x
6
nimlBRSw
x
7
=W7hCVeo+
x
6
''o(F@Pw
x
3
qm#,
x
16
+_;EFVqBxF=WsJDr@hEF
x
3
ma#,
x
16
+_;EFVqBxF=WsJD<.fRA
x
8
9oW/DmgY8A
x
4
ld^LC
x
6
/LZ<@T+%
x
8
*XxlBagbSA
x
6
49BCF_(%
x
20
X=@U?nG):@/;2EFq2K(FmF5SA
x
10
M'cSA,nfb;72#
x
20
iuncB=y-fD8oATA//;EFmd|7A
x
41
hLqcB=YpJD;yqcB7APQB1h?fD7l#j@.gVTA>)ZKA-!o^FpgpgC1v
x
28
j<OV?@5--E4-0CFp-%lB63=JDy.oRAtFfRA
x
18
c_dX?w:7hC<JfTA59XeDcHv
x
9
c_dX?w:7hC8v
x
7
8ik)Fh^c,
i
2
x
17
X=@U?nG):@gHi'F1^cr@1v
x
20
X=@U?wVTgC#O`aE`OYjB'E(yG
x
18
c_dX?*mi'F1^cr@`^CkBHSw
x
4
so.6B
x
5
,pMTA@v
x
13
c_dX?<Udt-71GJ0M!
x
6
=G5cEZHv
x
13
X=@U?+@h'F1^cr@1v
x
4
,CHr@
x
22
j<OV?mw2PBt|2TAhHi'F.HnlBLYw
p
11 0 70 12 0 0 48 0 4 11 11 -1 -1
70
nVxR5PEE<!HSa<!(B`W!*TA9v-fSs!4wsr!.lvpv-BW<!/W&=!5`8s!2ir<!+Ki<!6Z/s!3D
UNw3#Ts!4;kpvv!!
11
1uJX!=kUm#6lr!
11
I%@n#>DPUv5TE!
12
x
29
kg#lBZ@5SAs`DTAwJa:@,xmID2iL`F0*v/D1v
x
0
x
28
j<OV?mw2PBt|2TAhHi'F.HnlBFy0:7o3/|=
x
4
wm<eD
x
8
w3F/Ds/B(F
x
21
X=@U?pY_p@vkT;@`YEU@sO,SA>v
x
34
j<OV?mw2PBt|2TAhHi'F.HnlBFy0:7o3/|=tQ?<@|+%
x
85
7pZQH0oW/DmgY8A`=Bq@Q6EJ:JjUkBnTi'Fk=|7A#NfCF*FV5Bhk,)<s;84IY0HJ:JjUkBnT
i'Fk=|7A#NfCF*FV5Bhk,)<`U+!F3f1EFIv
x
14
1^|R7X:p(<hk,)<v/w
x
28
X=@U?pY_p@vkT;@`YEU@sO,SA-W1`FEPMEF
x
32
j<OV?mw2PBt|2TAhHi'F.HnlBFy0:7o3/|=csY8A
x
83
7pZQH0oW/DmgY8A`=Bq@Q6EJ:JjUkBnTi'Fk=|7A#NfCF*FV5Bhk,)<s;84IY0HJ:JjUkBnT
i'Fk=|7A#NfCF*FV5Bhk,)<R,YKAqBA.
0
0
0 1
12
w3F/DcI9q@hp^LC
0 0 10
x
15
rpwhC;Z2b3<?<+EfqT+
1
C 1 334 8 -1 -1 347
0
}

View File

@@ -0,0 +1,726 @@
MACHINE SIEMENS
SYS_CYCLE Drill
{
UI_LABEL "Drill"
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_drill_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle81"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Bore
{
UI_LABEL "Drill,Bore"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_rff
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Retract Feed Rate"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "END"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_bore_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle85"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Bore_Back
{
UI_LABEL "Drill,Bore,Back"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Retract Distance"
}
PARAM siemens_cycle_liftoff
{
TYPE o
DEFVAL "Yes"
OPTIONS "Yes","No"
UI_LABEL "Lift Off(Solution Line)"
}
PARAM siemens_cycle_rpa
{
TYPE d
DEFVAL "0.0"
UI_LABEL "X"
}
PARAM siemens_cycle_rpo
{
TYPE d
DEFVAL "0.0"
UI_LABEL "Y"
}
PARAM siemens_cycle_rpap
{
TYPE d
DEFVAL "0.0"
UI_LABEL "Z"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "END"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_bore_back_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle86"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Bore_Drag
{
UI_LABEL "Drill,Bore,Drag"
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_bore_drag_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle89"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Bore_Manual
{
UI_LABEL "Drill,Bore,Manual"
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_bore_manual
{
TYPE l
DEFVAL "sinumerik_840d_cycle87"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Bore_Nodrag
{
UI_LABEL "Drill,Bore,Nodrag"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Retract Distance"
}
PARAM siemens_cycle_rpa
{
TYPE d
DEFVAL "0.0"
UI_LABEL "X"
}
PARAM siemens_cycle_rpo
{
TYPE d
DEFVAL "0.0"
UI_LABEL "Y"
}
PARAM siemens_cycle_rpap
{
TYPE d
DEFVAL "0.0"
UI_LABEL "Z"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "END"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_bore_nodrag_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle86"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Csink
{
UI_LABEL "Drill,Csink"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_gmode
{
TYPE o
DEFVAL "Depth"
OPTIONS "Depth","Diameter"
UI_LABEL "Geometrical Output Mode(Solution Line)"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "end"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_csink_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle82"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Deep
{
UI_LABEL "Drill,Deep"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_dts_mode
{
TYPE o
DEFVAL "Off"
OPTIONS "Off","On","Seconds","Revolutions"
UI_LABEL "Top Dwell"
}
PARAM siemens_cycle_dts
{
TYPE i
DEFVAL "0"
UI_LABEL "Top Dwell Value"
}
PARAM siemens_cycle_o_dtd_mode
{
TYPE o
DEFVAL "Off"
OPTIONS "Off","On","Seconds","Revolutions"
UI_LABEL "Final Dwell"
}
PARAM siemens_cycle_o_dtd
{
TYPE i
DEFVAL "0"
UI_LABEL "Final Dwell Value"
}
PARAM siemens_cycle_frf
{
TYPE d
DEFVAL "1"
UI_LABEL "Feed Rate Factor"
}
PARAM siemens_cycle_o_dis1
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Step Clearance"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "END"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_drill_deep_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle83_deep"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Deep_Breakchip
{
UI_LABEL "Drill,Deep,BreakChip"
PARAM ude_siemens_cycle_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_o_dtd_mode
{
TYPE o
DEFVAL "Off"
OPTIONS "Off","On","Seconds","Revolutions"
UI_LABEL "Final Dwell"
}
PARAM siemens_cycle_o_dtd
{
TYPE i
DEFVAL "0"
UI_LABEL "Final Dwell Value"
}
PARAM siemens_cycle_frf
{
TYPE d
DEFVAL "1"
UI_LABEL "Feed Rate Factor"
}
PARAM siemens_cycle_o_vrt
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Step Retract Value"
}
PARAM ude_siemens_cycle_group_end
{
TYPE g
DEFVAL "END"
}
PARAM legend_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_drill_breakchip_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle83_breakchip"
}
PARAM legend_group_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Tap
{
UI_LABEL "Drill,Tap"
PARAM ude_siemens_thread_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Pitch"
}
PARAM siemens_cycle_mpit
{
TYPE i
DEFVAL "3"
TOGGLE Off
UI_LABEL "Thread Size"
}
PARAM siemens_cycle_o_ptab
{
TYPE o
DEFVAL "Post Defined"
OPTIONS "Post Defined","Millimeter","Groove per Inch","Inch per Revolution","Module(Solution Line)"
UI_LABEL "Pitch"
}
PARAM siemens_cycle_pit
{
TYPE d
DEFVAL "0.0"
UI_LABEL "Pitch Value"
}
PARAM ude_siemens_thread_group_end
{
TYPE g
DEFVAL "END"
}
PARAM ude_siemens_float_group
{
TYPE g
DEFVAL "START_CLOSED"
UI_LABEL "Float Tap Parameters"
}
PARAM siemens_cycle_sdr
{
TYPE o
DEFVAL "Reversal"
OPTIONS "CLW","CCLW","Reversal"
UI_LABEL "Spindle Retract Direction"
}
PARAM siemens_cycle_enc
{
TYPE o
DEFVAL "Use Encoder-Dwell Off"
OPTIONS "Use Encoder-Dwell Off","Use Encoder-Dwell On","No Encoder-Feed Rate before Cycle","No Encoder-Feed Rate in Cycle"
UI_LABEL "Encoder"
}
PARAM ude_siemens_float_group_end
{
TYPE g
DEFVAL "end"
}
PARAM legend_float_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_float_tap_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle840"
}
PARAM legend_float_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_rigid_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Rigid Tap Parameters"
}
PARAM siemens_cycle_o_var1
{
TYPE o
DEFVAL "Single Pass"
OPTIONS "Single Pass","Break Chip","Remove Chip"
UI_LABEL "Type"
}
PARAM siemens_cycle_poss
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Spindle Orient Angle"
}
PARAM siemens_cycle_sst1
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Spindle Retract Speed"
}
PARAM siemens_cycle_o_dam
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Deep Hole Incremental Depth"
}
PARAM siemens_cycle_o_vrt
{
TYPE d
DEFVAL "0.0"
TOGGLE Off
UI_LABEL "Break Chip Retract Value"
}
PARAM ude_siemens_rigid_group_end
{
TYPE g
DEFVAL "end"
}
PARAM legend_rigid_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Legend"
}
PARAM siemens_rigid_tap_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle84"
}
PARAM legend_rigid_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_other_group
{
TYPE g
DEFVAL "start_open"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_sdac
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","Off"
UI_LABEL "Spindle Direction After Cycle"
}
PARAM siemens_cycle_o_techno
{
TYPE i
DEFVAL "0"
TOGGLE Off
UI_LABEL "Technological Setting"
}
PARAM ude_siemens_other_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Tap_Breakchip
{
UI_LABEL "Drill,Tap,Breakchip"
PARAM ude_siemens_rigid_group
{
TYPE g
DEFVAL "START_OPEN"
UI_LABEL "Rigid Tap Parameters"
}
PARAM cycle_step_clearance
{
TYPE d
DEFVAL "0.5"
UI_LABEL "Step Clearance"
}
PARAM ude_siemens_rigid_group_end
{
TYPE g
DEFVAL "end"
}
PARAM legend_rigid_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Rigid Tap Legend"
}
PARAM siemens_rigid_tap_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle84"
}
PARAM legend_rigid_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_other_group
{
TYPE g
DEFVAL "start_open"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_sdac
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","Off"
UI_LABEL "Spindle Direction After Cycle"
}
PARAM siemens_cycle_o_techno
{
TYPE i
DEFVAL "0"
TOGGLE Off
UI_LABEL "Technological Setting"
}
PARAM ude_siemens_other_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Tap_Deep
{
UI_LABEL "Drill,Tap,Deep"
PARAM legend_rigid_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Rigid Tap Legend"
}
PARAM siemens_rigid_tap_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle84"
}
PARAM legend_rigid_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_other_group
{
TYPE g
DEFVAL "start_open"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_sdac
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","Off"
UI_LABEL "Spindle Direction After Cycle"
}
PARAM siemens_cycle_o_techno
{
TYPE i
DEFVAL "0"
TOGGLE Off
UI_LABEL "Technological Setting"
}
PARAM ude_siemens_other_end
{
TYPE g
DEFVAL "end"
}
}
SYS_CYCLE Drill_Tap_Float
{
UI_LABEL "Drill,Tap,Float"
PARAM ude_siemens_float_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Float Tap Parameters"
}
PARAM siemens_cycle_enc
{
TYPE o
DEFVAL "Use Encoder-Dwell Off"
OPTIONS "Use Encoder-Dwell Off","Use Encoder-Dwell On","No Encoder-Feed Rate before Cycle","No Encoder-Feed Rate in Cycle"
UI_LABEL "Encoder"
}
PARAM ude_siemens_float_group_end
{
TYPE g
DEFVAL "end"
}
PARAM legend_float_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Float Tap Legend"
}
PARAM siemens_float_tap_map
{
TYPE l
DEFVAL "sinumerik_840d_cycle840"
}
PARAM legend_float_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_other_group
{
TYPE g
DEFVAL "start_open"
UI_LABEL "Other Parameters"
}
PARAM siemens_cycle_sdac
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","Off"
UI_LABEL "Spindle Direction After Cycle"
}
PARAM siemens_cycle_o_techno
{
TYPE i
DEFVAL "0"
TOGGLE Off
UI_LABEL "Technological Setting"
}
PARAM ude_siemens_other_end
{
TYPE g
DEFVAL "end"
}
}

View File

@@ -0,0 +1,501 @@
MACHINE SINUMERIK
EVENT auxfun
{
UI_LABEL "Auxfun"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM auxfun
{
TYPE i
DEFVAL "0"
UI_LABEL "Auxfun Value"
}
PARAM auxfun_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT coolant_off
{
UI_LABEL "Coolant Off"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM coolant_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT set_pocket4_parameters
{
UI_LABEL "Set POCKET4 Parameters"
CATEGORY MILL DRILL
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM pocket4_maximum_infeed_width
{
TYPE d
DEFVAL "0.0000"
UI_LABEL "Maximum Infeed Width"
}
PARAM pocket4_helical_path_radius
{
TYPE d
DEFVAL "2.0000"
UI_LABEL "Helical Path Radius"
}
}
EVENT dwell
{
POST_EVENT "delay"
UI_LABEL "Dwell"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM delay_mode
{
TYPE o
DEFVAL "Seconds"
OPTIONS "Seconds","Revolutions"
UI_LABEL "Dwell Type"
}
PARAM delay_value
{
TYPE d
DEFVAL "10.0000"
UI_LABEL "Dwell Value"
}
PARAM delay_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT insert
{
UI_LABEL "Insert"
PARAM Instruction
{
TYPE s
}
}
EVENT length_compensation
{
UI_LABEL "Tool Length Compensation"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM Overide_operation_param
{
TYPE b
DEFVAL "TRUE"
UI_LABEL "Override Operation Parameter"
}
PARAM length_comp_register
{
TYPE i
DEFVAL "2"
UI_LABEL "Adjust Register"
}
PARAM length_comp_register_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT opskip_on
{
UI_LABEL "Optional Skip On"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opskip_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT opskip_off
{
UI_LABEL "Optional Skip Off"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opskip_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT opstop
{
UI_LABEL "Optional Stop"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM opstop_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
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 prefun
{
UI_LABEL "Prefun"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM prefun
{
TYPE i
DEFVAL "0"
UI_LABEL "Prefun Value"
}
PARAM prefun_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT rotate
{
UI_LABEL "Rotate"
CATEGORY MILL DRILL LATHE
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM rotate_axis_type
{
TYPE o
DEFVAL "Table"
OPTIONS "Table","Head","Aaxis","Baxis","Caxis","Fourth_Axis","Fifth_Axis"
UI_LABEL "Rotation Axis"
}
PARAM rotation_mode
{
TYPE o
DEFVAL "None"
OPTIONS "None","Angle","Absolute","Incremental"
UI_LABEL "Type"
}
PARAM rotation_direction
{
TYPE o
DEFVAL "CLW"
OPTIONS "CLW","CCLW","NONE"
UI_LABEL "Direction"
}
PARAM rotation_angle
{
TYPE d
DEFVAL "0.0000"
TOGGLE On
UI_LABEL "Angle"
}
PARAM rotation_reference_mode
{
TYPE b
DEFVAL "FALSE"
UI_LABEL "Reference Only - No Output"
}
PARAM rotation_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT sequence_number
{
UI_LABEL "Sequence Number"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM sequence_mode
{
TYPE o
DEFVAL "N"
OPTIONS "N","Off","On","Auto"
UI_LABEL "Number Type"
}
PARAM sequence_number
{
TYPE i
DEFVAL "0"
UI_LABEL "Number"
}
PARAM sequence_increment
{
TYPE i
DEFVAL "0"
UI_LABEL "Increment"
}
PARAM sequence_frequency
{
TYPE i
DEFVAL "0"
UI_LABEL "Frequency"
}
PARAM sequence_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT stop
{
UI_LABEL "Stop"
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM stop_text
{
TYPE s
TOGGLE Off
UI_LABEL "Text"
}
}
EVENT text
{
UI_LABEL "User Defined"
PARAM user_defined_text
{
TYPE s
TOGGLE On
UI_LABEL "User Defined Command"
}
}
EVENT structure_representation_mode
{
UI_LABEL "Operation representation in collpased mode"
PARAM output_status
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Output"
}
PARAM display_name
{
TYPE s
TOGGLE Off
UI_LABEL "Display name"
}
PARAM readonly_status
{
TYPE o
DEFVAL "Editable"
OPTIONS "Editable","Readonly"
UI_LABEL "Status"
}
PARAM type_status
{
TYPE o
DEFVAL "Operation"
OPTIONS "Header","Operation"
UI_LABEL "Status"
}
}
EVENT LIB_manual_CYCLE800_setting
{
UI_LABEL "Manual CYCLE800 setting"
PARAM lib_cycle800_dir
{
TYPE o
DEFVAL "Auto"
OPTIONS "Auto","+1","-1"
UI_LABEL "Direction"
}
}
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"
}
}
EVENT dnc_header
{
UI_LABEL "DNC Header"
CATEGORY MILL DRILL LATHE WEDM
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive","User Defined"
UI_LABEL "Status"
}
PARAM dnc_machine_name
{
TYPE s
TOGGLE Off
UI_LABEL "Machine Name"
}
PARAM dnc_program_name
{
TYPE s
TOGGLE Off
UI_LABEL "Program Name"
}
PARAM dnc_data_type
{
TYPE s
DEFVAL "MPF"
TOGGLE On
UI_LABEL "Data Type"
}
PARAM dnc_version_number
{
TYPE i
DEFVAL "1"
TOGGLE On
UI_LABEL "Version Number"
}
PARAM dnc_release_number
{
TYPE i
DEFVAL "1"
TOGGLE On
UI_LABEL "Release Number"
}
PARAM dnc_user_name
{
TYPE s
TOGGLE Off
UI_LABEL "User Name"
}
}

View File

@@ -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
23
-WXiC!0=JD1*0bEbnEU@e:+Y?i@w,
x
35
bVXiCVw<JD1*0bEBM4=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
}

View File

@@ -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]
}
}

View File

@@ -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}

View File

@@ -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
}

View File

@@ -0,0 +1,75 @@
MACHINE SIEMENS
EVENT high_speed_setting
{
UI_LABEL "Sinumerik 840D"
CATEGORY MILL
PARAM command_status
{
TYPE o
DEFVAL "Active"
OPTIONS "Active","Inactive"
UI_LABEL "Status"
}
PARAM ude_siemens_tolerance_group
{
TYPE g
DEFVAL "start_closed"
UI_LABEL "Tolerance"
}
PARAM siemens_tol
{
TYPE d
DEFVAL "0.01"
TOGGLE Off
UI_LABEL "User Defined Tolerance"
}
PARAM ude_siemens_tolerance_group_end
{
TYPE g
DEFVAL "end"
}
PARAM ude_siemens_hsm
{
TYPE g
DEFVAL "start_open"
UI_LABEL "High Speed Machining"
}
PARAM siemens_compressor
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Compressor"
}
PARAM siemens_smoothing
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Smoothing"
}
PARAM siemens_feedforward
{
TYPE o
DEFVAL "On"
OPTIONS "On","Off"
UI_LABEL "Feed Forward"
}
PARAM ude_siemens_hsm_end
{
TYPE g
DEFVAL "end"
}
}

View File

@@ -0,0 +1,10 @@
MACHINE SIEMENS840D
FORMATTING
{
SEQUENCE sequence_number 10 10 1 99999999
}

View File

@@ -0,0 +1,628 @@
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
65 0 797 128 0 0 448 0 9 65 65 -1 -1
797
w0E<!:B`W!9ytt!*TA9v=|yTv0#>6#4;tl#8DPpv+Ki<!5W&=!<&|=!>rSs!B:3-&FRic&/H
W<!B8#>!Mqgqv=:JE'?A9X!<yY>!T..rvOes<!`Sa<!mcop#DyT=!bML7-W%2?!O+;?!KfAs
!N^3-&`D!s*)`6d0P9GB(@JTs!dga|(aj'w)U(:=!cl;9+x.,.'Tp3-&|fb|(/HW<!mlqo+M
md!vX'4-&pOPN-/HW<!x8#>!jFRrvQDji-|(LK.E_o9vA%2?!^0n@!ZfAs!X'4-&)Odc//HW
<!X8#>!2'wuvZ@_`0ep%'15B||19Z>?2=rtu27&o9vKa7@!l/CB!8w1B!Ec)!#2fAs!X'4-&
!|c|(/HW<!X8#>!'AIrvfWPT4q2lo4E_o9vA%2?!O+;?!MfAs!P9GB(jsUs!4fs<!`Sa<!kW
|p#n0V=!3KC7-r_6C!ue?C!;*8p+Mmd!vTp3-&Wd,07/HW<!p8#>!`yJv#N)nl,&8'-8E_o9
vo:*D!cG<D!l+,##snAH8Dau&:m>X|:0KW<!?tR@!qq&E!'mJs!T+ST4pA=B:(d7Uvo:*D!_
(9E!r+,##snAH8w2QW<pGX|:0KW<!n:TE!!r&E!*mJs!&6of%!f9?;%x7Uvo:*D!'5KE!r+,
##snAH8(>QW<m,y`90KW<!qLoE!!r&E!'mJs!r:.6>!f9?;%x7Uvo:*D!e4KE!u=G##snAH8
tFIQ>m,y`90KW<!aA3D!(r&E!*mJs!Hia`0)):?;%x7Uvo:*D!8qPF!r+,##snAH89^'0@pG
X|:0KW<!<b7@!-r&E!'mJs!<Rpl,.8:?;(d7Uvo:*D!35KE!u=G##snAH8N_<HAm,y`90KW<
!2&2?!1r&E!*mJs!)Rt)B!f9?;%x7Uv9KDG!LXVG!PdhG!Tp%H!|Tj&#J.-<E^:grEbRHTF0
KW<!27LB!n(U'#SWTfIfuVQ,O)s9vJy4I!niFI!vN6(#TWTfIn8WQ,U;s9vz
65
38PpvUIxOwO-KQw|^%n#M=xOwNU&I&JCxOwTH6<*Q=xOwUaN1%UaN1%UaN1%UaN1%UaN1%Ua
N1%YCxOw.!
65
B4Eg%MnC7#L,@4wChpNwM=xOwdfP+'L=xOwj0&4wOO<1%UaN1%UaN1%UaN1%UaN1%UaN1%|T
(b'QO<1%+!
128
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
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
32
X=@U?jjdU?.30bE%<XeDgF>SAic/bEkoW/D,ZbDF
x
9
Lk,%=JE?87R!
x
9
?NZS7T,y.:f!
x
9
Lk,%=JE?87S!
x
12
H`ZS7j#mS7so.6B
x
3
ndD-
x
28
@5--E/URdDup,<@26sJDhlJ(F&?s+E26sJD
x
3
|ho+
x
22
@5--E/URdDup,<@26sJD(&lDFO(%
x
6
q'-W@Dhw
x
20
u^sY?nR'Z?fIbOBh++Y?:p2TA
x
4
wm<eD
x
6
1lo(F^(%
i
0
i
1
x
11
8rXxGu?q-DcIQ,
x
17
H`ZS7jv-H;P3MTA73=JD3v
x
22
#@IIDuV1`FEPMEF/56-E=;2EF@Pw
x
4
RW?87
x
20
rA|fD2'WTA/MMEF0F^Z?r^oRA
x
3
P'-)
x
12
7rXxGt6VgCo0?SA
x
18
H`ZS7kQMs@^r8H1:i&fD@Sw
x
13
#a%hCwnC,1l<c8A1v
x
6
82_`FWnw
x
0
x
15
H`ZS7jv-H;Ti&fDp^;-
x
18
82_`Fw1q-Ddb*Y?@5--E`+%
x
16
qd,<@(W1`FEPMEF'L>nA
x
11
H`ZS7lIxU?i@w,
x
19
0ot)FYk*Y?4sRQBu2jFErjZ,
x
26
+sEiCU_*Y?#VBq@b.jY?kW`aEjEVTAy(%
x
11
_%97AqE7IDUvg+
x
6
%30fDNSw
x
11
82_`Fw1q-DZyf+
x
4
1@p;@
x
35
82_`FnvFU@wQ5cE`^CkB0@^Z?66=iCX.';@fk*Y?t'<-
x
33
%_omA1P,D+*+dfDj%ap@k-V5Bh-DTAAl9KDp)X/D1v
x
14
H`ZS7jv-H;x>ffDRhw
x
20
1,gfDX.';@fk*Y?.0B,Es?VTA
x
4
4/;EF
x
16
66=iCX.';@fk*Y?njkSA
x
10
sF=Y?&gRQBJPw
x
7
%_omAf.p+
x
25
66=iCX.';@fk*Y?82_`FtX>OBm(+Y?&v
x
23
66=iCX.';@fk*Y?82_`FtX>OBcvg+
x
22
82_`F+p/CF!YjY?g3IIDh0m*EY(%
x
25
V`w<6!BK(FvpNaE.'aaE3?ffD(Q0bE;v
x
30
l@,SA1Rq-D3<XeDa%omAv_KZ?66=iCg3IIDCSw
x
24
h?!eD7#Q)F`^CkB0@^Z?/!iTAu&v/D
x
13
H`ZS7j#mS7gKxhC1v
x
19
hIa:@he`p@mFYjBi7|mAytf+
x
21
kg#lB`-!eD;rTfD''0bE4PZ-E1v
x
13
a+HD<Ou%Q8i4>/:f!
x
21
H`ZS7@ESc1XV_p@;2ccEw1cSA>v
x
25
7o(`F%dxlBi-!eD;rTfDsEhTA59XeD:v
x
9
h&rTA-p<JD1v
x
18
&FR.Dr*UZ?'NB,E5ot)FX%%
x
3
RFK(
x
18
@5--E56K^Fvv^Z?#eYjBN_w
i
4
x
36
.XIIDh*)9Aq,BCFxv|RA-(wSA&3TfD8>d#H'#lDF1oG)F
x
31
X=@U?P8NX6dddU?#k|Z?9cT,E<(vwHSq/q@m3<-
x
19
H`ZS7@ESc1XV_p@%kbSAd)-&
x
17
#@IIDuV1`FEPMEFyI#SA0v
x
14
Ao.Q8_qVp6Jp|V6UD#
x
4
<^977
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
8
>7Xp6dRMy=
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
5
Ao.Q8d!
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
3
xIQ,
x
13
H`ZS7lIxU?`=Bq@7v
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
118
#@IIDuV1`FEPMEF'#lDFrd'Z?4sRQBlW7lB=MCiC`++Y?@5--E-Cq-D3<XeD%p3mB%LNaE)N
fCF7vMEFs3MTAt'qkB7MCiC`++Y?@5--E&Y|mAp%oC+.F?<@gyEU@wQ5cE3tQfD&@VTAgrnC
FN%%
x
13
8+B@+H92B+aN-r6f!
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)oATAAl9KDl<c8A)
oATAAl9KDYF>nAr7+Y?,uk)F.?ffDj%ap@k-V5Bp&BfD7oATAAl9KD)`9fDcCbOBhm5SA)#Q
)F8JfCF,n'Z?l@,SA4mm*EY(%
x
16
H`ZS7jv-H;Y;5cEt`<JD
x
107
kki:@0&6cE*mK;@n'RdDFG;`F3oU`F9o5cE*&oC+rA|fD2'WTAi!?nAtr@lBCxG<F0amdDl<
c8A*Pl^F+pW/DgsGnAhireD/Vi|Ds-DTA2BK(FuB?<@26sJD0AccE9,_`F|Y|+
x
93
#@IIDuV1`FEPMEF4u<+E(W1`FEPMEF/56-E=;2EF*+G<FlasY?r^oRA4u<+E(W1`FEPMEF#Q
/(F<DMEFuV1`FEPMEFl<c8AjBUU@;uk_Ft'RdDFG;`F@v
x
15
H`ZS7jv-H;GgwhC`du,
x
35
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7A&pNaEaL>nA^%g+
x
22
j<OV?c%vY?q3m*E2<BbEFXDO9W>#
x
14
XXRU?fxZg:yMaF;Z_#
x
23
j<OV?@5--E,:VgC,?0bE1|:s+r*Xw
x
7
V`w<6ZA.&
x
23
j<OV?@5--E,:VgC,?0bE1|:s+q<Xw
x
7
V`w<6YPd&
x
24
j<OV?@5--E,:VgC,?0bE1|:s+Iftt+
x
8
V`w<61FcJ0
x
33
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7Aj++:@+dmID0v
x
28
X=@U?XW^u5J'i'F/TsiCuptSA.@UZ?,W5DF
x
38
X=@U?XW^u5J'i'F/TsiCuptSA.@UZ?,W5DFhk,)<<SARAIPw
x
24
bsNV?V`w<6/MMEF0F^Z?4QTbE)NfCF
x
13
V`w<6!-ylB'FMTA@v
x
4
,CHr@
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
p
20 0 221 25 0 0 100 0 4 20 28 -1 -1
221
w0E<!(H&s!/HW<!,r=pv,|yTv-|A9vT9asvO'n<vTSO3-N_-4w?bcsvO'n<vRAnQ,>e64wfa
@4.H!!!!vqJ=!6HN<!0cbsvO'n<vTSO3-=,f=!9HN<!V;kU,Q,Sp+2#,:vb1NH&%P<)!ues<
!OSa<!_)lmwH^/*'>7JE'CVRa:1&>6#G_bY!.|/=!MdyE'1oA=!5ro7-Pnl0%<2Bs!2/YQ#H
h(u!7Yw4w^M/p+?n:u!REb|(-BW<!=nl0%=59s!32YQ#Ge(u!^O+'(^O+'(z
20
3l`!!PD9v!h9akwAPt6#EhUm#
28
393<!I,*g#+33<!i;#+#<SLm#yXVm#?_LR#
25
x
6
q'-W@Dhw
x
17
u^sY?/F^Z?oWIhCp&BfD?v
x
12
u^sY?,W5DF)#Q)F
x
24
c_dX?!koZ?nR'Z?fIbOBh++Y?:p2TA
x
18
u^sY?4;QcEs0^Z?19nlBTnw
x
4
wm<eD
x
6
1lo(F^(%
i
0
i
1
x
12
,W5DFb.jY?/!iTA
x
10
,uk)F'j&fDRSw
x
21
H`ZS7@ESc1XV_p@;2ccEw1cSA>v
x
17
7o(`F%dxlBrEhTA59XeD:v
x
2
Yrv
x
17
H`ZS7jv-H;P3MTA73=JD3v
x
11
,!a/D/MMEF&@E-
x
6
*mSCFX%%
x
7
:rXxG(&N%
x
24
X=@U?jjdU?lj|Z?3KfCFwaACF,ZbDF
x
9
-lo(Fl<c8A1v
x
12
`%?D<Qih-:^UQc;
x
17
:rXxGlC'7An.jY?pgpgC1v
x
0
x
18
X=@U?jjdU?iN!iC|4sp@Xqw
x
8
^bsF;S_0(<
0
0
0 5
18
u^sY?4;QcEs0^Z?19nlBTnw
0 0 8
24
c_dX?!koZ?nR'Z?fIbOBh++Y?:p2TA
1 0 8
21
4;QcEs0^Z?/F^Z?oWIhCp&BfD?v
2 0 10
17
u^sY?/F^Z?oWIhCp&BfD?v
3 0 8
1
-v
4 0 9
x
34
X=@U?pY_p@vkT;@`YEU@sO,SAg+|7Aw^m*Ew42TAIPw
x
24
j<OV?2'aaEuwDoA(fTfDtH..DXjj:6
x
36
j<OV?2'aaEuwDoA(fTfDtH..DXjj:6hk,)<J'i'F3f1EF
x
26
bsNV?V`w<6!BK(FvpNaE8JlcE!j&fD@Sw
x
12
ly0(<!LXV?Gp977
p
29 0 215 21 2 0 148 1 8 29 33 -1 -1
215
w0E<!,?`W!uAv!!7%-s!'KA9vvS<)!M:*?!(Ki<!-Qr<!2|/=!,r=pv3,>pvLSa<!85:3w:_
piw7)9X!:>o9vWf.p+xuS=!5&|=!>uS=!@DC3w,H<<!B2Gpv35:3w:_piw7)9X!:>o9v?8L3
weNa(1!F&m#0iA=!:uS=!7HN<!N:iH&s/Y0/4#|Tv?+mf%<k60%4lA=!@+/*'6#o9v0iA=!:
uS=!7HN<!N:iH&0oA=!4rfV,t:ep+6-<<!+HN<!9otsvQ-n<v+<!!
29
/uJv!:GPpvAYQ0%<.WH&<bG#!:5,pv8#99v9!
33
!w!!!0,H7wQCDqv'Xj?2`x`-&Tm8M%0>d/&K1Dqv'!
21
x
15
H`ZS7jv-H;Ti&fDp^;-
x
11
82_`Fw1q-DZyf+
x
5
0Kk_F1v
x
25
I_9fDcCbOBhm5SAvKfCF,n'Z?!@lSAK!
x
35
82_`FnvFU@wQ5cE`^CkB0@^Z?66=iCX.';@fk*Y?t'<-
x
3
ndD-
x
6
:<ylBLYw
x
3
`@u,
x
52
A_9fDcCbOBhm5SAvKfCF,n'Z?!@lSAMVuZE8JlcE!j&fDv1m*EnH..D<(QQBU'u%,
x
0
x
7
rLa:@_k,,
x
6
8?c<@N+%
x
14
H`ZS7jv-H;x>ffDRhw
x
20
1,gfDX.';@fk*Y?.0B,Es?VTA
x
23
66=iCX.';@fk*Y?82_`FtX>OBcvg+
x
8
+'O+Eb.fRA
x
24
82_`Fw1q-D!D+Y?qd,<@A?R>FF+QQB
i
0
x
25
66=iCX.';@fk*Y?82_`FtX>OBm(+Y?&v
x
19
82_`Fw1q-D!D+Y?qd,<@H`W*
x
4
1@p;@
2
L 1 73 41 122 115 -1
L 1 144 41 193 186 -1
0
0 2
7
mxoRA*i7&
0 0 9
7
mxoRA+o@&
1 0 9
x
15
rpwhC;Z2b3<?<+EfqT+
0
0
}

View File

@@ -0,0 +1,59 @@
MACHINE Default
INCLUDE {
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_sinumerik_base.def
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_s840d_base.def
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_sinumerik_base.cdl
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_s840d_base.cdl
$POST_LIB_CURRENT_MACH_DIR/Controller/ctrl_s840d_base_cycle.cdl
$POST_LIB_CURRENT_MACH_DIR/oem_ootb_5ax_sinumerik.def
$POST_LIB_CURRENT_MACH_DIR/oem_ootb_5ax_sinumerik.cdl
$POST_LIB_CURRENT_MACH_DIR/sim16_mill_headchange_sinumerik_service.def
$POST_LIB_CURRENT_MACH_DIR/sim16_mill_headchange_sinumerik_custom.cdl
$POST_LIB_CURRENT_MACH_DIR/sim16_mill_headchange_sinumerik_custom.def
}

View File

@@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>2.0</Version>
<MachineName>sim16_mill_headchange_sinumerik</MachineName>
<Sourcing>
<Sequence>
<Layer Name="Base 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 Include="pretreatment" Name="lib_pretreatment" Processing="auto"/>
<Filename Include="pretreatment" Name="lib_pretreatment_post" 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"/>
</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="Controller Libraries" ReadOnly="true" SubFolder="Controller">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/sinumerik/base/ctrl_s840d_base.psl</Template>
<Version>1.00</Version>
<Order>2001</Order>
<Scripts>
<Filename Name="ctrl_sinumerik_base" Processing="true"/>
<Filename Name="ctrl_s840d_base" Processing="true"/>
<Filename Name="ctrl_sinumerik_base_msg" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Include="true" Name="ctrl_sinumerik_base" Processing="auto"/>
<Filename Include="true" Name="ctrl_s840d_base" Processing="auto"/>
</DefinedEvents>
<CustomerDialogs>
<Filename Include="true" Name="ctrl_sinumerik_base" Processing="auto"/>
<Filename Include="true" Name="ctrl_s840d_base" Processing="auto"/>
<Filename Include="true" Name="ctrl_s840d_base_cycle" 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 Library" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>3001</Order>
<Scripts>
<Filename Name="sim16_mill_headchange_sinumerik_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="Manufacturer Level" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/sinumerik/manufacturer/oem_ootb_5ax_sinumerik.psl</Template>
<Version>1.00</Version>
<Order>4001</Order>
<Scripts>
<Filename Name="oem_ootb_5ax_sinumerik" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Include="true" Name="oem_ootb_5ax_sinumerik" Processing="auto"/>
</DefinedEvents>
<CustomerDialogs>
<Filename Include="true" Name="oem_ootb_5ax_sinumerik" 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 Level" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Template>${UGII_CAM_RESOURCE_DIR}post_configurator/post_template/controller/sinumerik/machine/machine_ootb_5ax_sinumerik.psl</Template>
<Version>1.00</Version>
<Order>5001</Order>
<Scripts>
<Filename Name="machine_ootb_5ax_sinumerik" 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 Libraries" ReadOnly="false">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>8001</Order>
<Scripts>
<Filename Name="sim16_mill_headchange_sinumerik_service_s840d" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Include="true" Name="sim16_mill_headchange_sinumerik_service" 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="Customer Libraries" ReadOnly="true">
<Copyright>Siemens Product Lifecycle Management Software Inc.</Copyright>
<Version>1.00</Version>
<Order>9001</Order>
<Scripts>
<Filename Name="sim16_mill_headchange_sinumerik_custom" Processing="true"/>
</Scripts>
<DefinedEvents>
<Filename Include="true" Name="sim16_mill_headchange_sinumerik_custom" Processing="true"/>
</DefinedEvents>
<CustomerDialogs>
<Filename Include="true" Name="sim16_mill_headchange_sinumerik_custom" Processing="true"/>
</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>cw0dzv</User>
<Date>28.11.2019 17:25:35</Date>
<Text>Initial generated by Post Configurator</Text>
</Comment>
<Comment>
<User>lili</User>
<Date>30.03.2020 12:03:02</Date>
<Text>'Postprocessor successfully upgraded from version 5.2.2 - Release to version 5.3.0</Text>
</Comment>
</Comments>
<Customer>
<Company/>
<Address/>
<Contact/>
<Phone/>
<Fax/>
<Mail/>
</Customer>
</History>
<Units>Millimeters and Inches</Units>
</Configuration>

View File

@@ -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}

View File

@@ -0,0 +1,80 @@
MACHINE TEMPLATE
FORMATTING
{
BLOCK_TEMPLATE rapid_move
{
G_cutcom[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
G_plane[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
G_motion[$mom_sys_rapid_code]
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[$mom_tool_adjust_register]
M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
M_range[$mom_sys_spindle_range_code($mom_spindle_range)]\opt
}
BLOCK_TEMPLATE HEADCHANGE
{
cycle_call[HEADCHANGE]\nows
cycle_start_character[(]\nows
cycle_text_first[\"$mom_output_tool_name\"]\nows
cycle_text[$head_number]\nows
cycle_text[0.]\nows
cycle_text[0.]\nows
cycle_end_character[)]\nows
}
}

View File

@@ -0,0 +1,530 @@
set nondecrypted 1
proc postcon_initialize_sys_service {} {
uplevel #0 {
# ########## SYSTEM VARIABLE DECLARATIONS ##############
# set mom_sys_cir_vector "Vector - Arc Start to Center"
# set mom_sys_helix_pitch_type "rise_revolution"
# set mom_sys_zero "0"
# set mom_sys_opskip_block_leader "/"
# set mom_sys_seqnum_start "10"
# set mom_sys_seqnum_incr "10"
# set mom_sys_seqnum_freq "1"
# set mom_sys_seqnum_max "99999999"
# set mom_sys_lathe_x_factor "1"
# set mom_sys_lathe_y_factor "1"
# set mom_sys_lathe_z_factor "1"
# set mom_sys_lathe_i_factor "1"
# set mom_sys_lathe_j_factor "1"
# set mom_sys_lathe_k_factor "1"
# set mom_sys_leader(N) "N"
# set mom_sys_cycle_feed_mode "MMPM"
# set mom_sys_feed_param(IPM,format) "Feed_IPM"
# set mom_sys_feed_param(IPR,format) "Feed_IPR"
# set mom_sys_feed_param(FRN,format) "Feed_INV"
# set mom_sys_contour_feed_mode(ROTARY) "MMPM"
# set mom_sys_contour_feed_mode(LINEAR_ROTARY) "MMPM"
# set mom_sys_feed_param(DPM,format) "Feed_DPM"
# set mom_sys_rapid_feed_mode(ROTARY) "MMPM"
# set mom_sys_rapid_feed_mode(LINEAR_ROTARY) "MMPM"
# set mom_sys_feed_param(MMPM,format) "Feed_MMPM"
# set mom_sys_feed_param(MMPR,format) "Feed_MMPR"
# set mom_sys_linearization_method "angle"
#
# ####### KINEMATIC VARIABLE DECLARATIONS ##############
# set mom_kin_4th_axis_direction "MAGNITUDE_DETERMINES_DIRECTION"
# set mom_kin_4th_axis_incr_switch "OFF"
# set mom_kin_4th_axis_rotation "standard"
# set mom_kin_5th_axis_direction "MAGNITUDE_DETERMINES_DIRECTION"
# set mom_kin_5th_axis_incr_switch "OFF"
# set mom_kin_5th_axis_rotation "standard"
# set mom_kin_clamp_time "2.0"
# set mom_kin_cycle_plane_change_per_axis "1"
# set mom_kin_cycle_plane_change_to_lower "1"
# set mom_kin_flush_time "2.0"
# set mom_kin_linearization_flag "1"
# set mom_kin_linearization_tol "0.01"
# set mom_kin_max_dpm "10000"
# set mom_kin_max_fpm "15000"
# set mom_kin_max_fpr "1000"
# set mom_kin_max_frn "1000"
# set mom_kin_min_dpm "0.0"
# set mom_kin_min_fpm "0.1"
# set mom_kin_min_fpr "0.1"
# set mom_kin_min_frn "0.01"
# set mom_kin_pivot_gauge_offset "0"
# set mom_kin_rapid_feed_rate "10000"
# set mom_kin_retract_distance "500"
# set mom_kin_rotary_axis_method "PREVIOUS"
# set mom_kin_tool_change_time "0.0"
# set mom_kin_x_axis_limit "1000"
# set mom_kin_y_axis_limit "1000"
# set mom_kin_z_axis_limit "1000"
}
}
postcon_initialize_sys_service
CONF_CTRL_setting set local_ns_output 1
#-------------------------------------------------------------
# Buffer changes
#-------------------------------------------------------------
# These buffers used for customize the post output.
# To get the origin output uncomment the buffer.
# Use the buffers to extend with your own procs and reorder them.
LIB_GE_command_buffer_edit_insert MOM_tool_change_LIB TOOL_CHANGE_AUTO OOTB_set_axes OOTB_set_axes before @TOOL_CHANGE_AUTO
LIB_GE_command_buffer_edit_insert MOM_tool_change_LIB TOOL_CHANGE_AUTO OOTB_set_tool_name OOTB_set_tool_name before @TOOL_CHANGE_AUTO
LIB_GE_command_buffer_edit_insert LIB_CSYS_plane_output_init CYCLE800 OOTB_force_axis OOTB_force_axis after @CYCLE800
LIB_GE_command_buffer_edit_redefine MOM_end_of_program_LIB END_OF_PROGRAM {MOM_output_literal "HEADCHANGE(\"\",0,0,0)"} OOTB_end_headchange {MOM_output_literal "M30"} OOTB_end_M30
#-------------------------------------------------------------
# Configurator setups
#-------------------------------------------------------------
# Customize setups including kinematic chain mapping, axes home address, tool change template, etc.
set ::mom_sys_home_pos_metric(0) 800.000000
set ::mom_sys_home_pos_metric(1) -1000.000000
set ::mom_sys_home_pos_metric(2) 1200.000000
set ::mom_kin_4th_axis_leader C
set ::mom_kin_4th_axis_type Head
set ::mom_kin_4th_axis_vector(0) 0.000000
set ::mom_kin_4th_axis_vector(1) 0.000000
set ::mom_kin_4th_axis_vector(2) 1.000000
set ::mom_kin_5th_axis_leader A
set ::mom_kin_5th_axis_type Head
set ::mom_kin_5th_axis_vector(0) 1.000000
set ::mom_kin_5th_axis_vector(1) 0.000000
set ::mom_kin_5th_axis_vector(2) 0.000000
set ::mom_kin_machine_type 5_axis_dual_head
LIB_GE_chain_set_global_var "VERT" mom_kin_machine_type 3_axis_mill
LIB_GE_chain_set_global_var "C" mom_kin_machine_type 4_axis_head
LIB_GE_chain_set_global_var "C-A" mom_kin_machine_type 5_axis_dual_head
CONF_CTRL_setting set plane_output_supported@VERT ALL_EXCEPT_ZM
CONF_S840D_cycle800 set _FR 0
CONF_CTRL_tool set auto_change_template {HEADCHANGE}
CONF_CTRL_moves set return_before_first_tool_change_pos {trafoof Z}
CONF_CTRL_moves set return_tool_change_pos {tool_change_return_home_Z OOTB_reset_rotary_to_zero}
CONF_S840D_cycle800 set _TC@VERT {"VERT_HEAD"}
CONF_S840D_cycle800 set _TC@C {"RA_HEAD"}
CONF_S840D_cycle800 set _TC@C-A {"AC_HEAD"}
CONF_SPF_warning set no_warningoutput {{SMALL ARC; ABORTED TO LINEAR MOVE}}
CONF_SPF_file set ctrl_ini_get_tool_info {OOTB_sim16_ini_get_tool_info}
CONF_GE_chain set custom_chain_selection {OOTB_sim16_chain_selection}
#-------------------------------------------------------------
proc OOTB_set_axes {} {
#-------------------------------------------------------------
#Axes enabling/disabling
global lib_ge_active_chain
switch $lib_ge_active_chain {
"VERT" {
MOM_disable_address fourth_axis_home fifth_axis_home
}
"C" {
MOM_disable_address fifth_axis_home
MOM_enable_address fourth_axis_home
}
default {
MOM_enable_address fourth_axis_home fifth_axis_home
}
}
}
#-------------------------------------------------------------
proc OOTB_set_tool_name {} {
#-------------------------------------------------------------
#Remove tool name suffix
global mom_tool_name
global head_number
set ::mom_output_tool_name [string range $mom_tool_name 0 end-2]
switch $::mom_carrier_name {
"VERT_HEAD" {set head_number 1}
"RA_HEAD" {set head_number 2}
"AC_HEAD" {set head_number 3}
default {set head_number 3}
}
}
#-------------------------------------------------------------
proc OOTB_force_axis {} {
#-------------------------------------------------------------
#Output S and M code after Cycle800
MOM_force Once S M_spindle
}
#-------------------------------------------------------------
proc OOTB_sim16_ini_get_tool_info {} {
#-------------------------------------------------------------
#Tool ini file setups
global mom_isv_tool_count
global mom_isv_tool_name
global mom_isv_tool_type
global mom_isv_tool_number
global mom_isv_tool_carrier_id
global mom_isv_tool_type
global mom_isv_tool_flute_length
global mom_isv_tool_x_correction
global mom_isv_tool_y_correction
global mom_isv_tool_z_correction
global mom_isv_tool_r_correction
global mom_isv_tool_carrier_name
global mom_isv_tool_pocket_id
global mom_isv_tool_diameter
global mom_isv_tool_nose_radius
global mom_isv_tool_corner1_radius
global mom_isv_tool_adjust_register
global mom_isv_tracking_point_count
global isv_ini_tool_info
global isv_ini_tool_count
global mom_isv_tool_channel_id
global mom_isv_tool_p_number
global mom_multi_channel_mode
global mom_isv_tool_device_name
global mom_isv_tool_adjust_reg_toggle
global mom_isv_tool_multitool_index
global mom_isv_multitool_name
global mom_isv_tool_multitool_index_notch
global mom_isv_tool_device_name
global mom_isv_device_name
global mom_isv_device_count
global mom_isv_device_type
global isv_tool_device_type
global save_mom_isv_tool_name
global mom_isv_tool_x_mount
global mom_isv_tool_y_mount
global mom_isv_tool_z_mount
set isv_ini_tool_count(0) 0
set isv_ini_tool_count(1) 0
set isv_ini_tool_count(2) 0
set isv_ini_tool_info(0) [list]
set isv_ini_tool_info(1) [list]
set isv_ini_tool_info(2) [list]
set tool_data_list [list]
set tool_number_list [list]
set tool_name_list [list]
#<lili 2014-07-01> Don't output duplicated tool data
# Don't output data with tool number/register number is zero
#<lili 2014-09-09> Last tool tracking point of milling and drilling tool comes from tool tab.
# revised warning message.
for {set i 0} {$i<$mom_isv_tool_count} {incr i} {
set tool_tp_list($i) [list]
set tool_tp_number_list [list]
#<2016-12-12 szl> Update the logic here to enhance the warning messages, this is special for sim16.
# Condition 1: Different tool name, different tool number, will not output warning messages
# Condition 2: Same tool name, same tool number
# a: identical tool used by different head, will not output warning messages
# b: not identical tool, will output warning messages
# Condition 3: Same tool name, different tool number, will output warning messages
# Condition 4: Different tool name, same tool number, will output warning messages
regsub {_[0-9]$} $mom_isv_tool_name($i) "" save_mom_isv_tool_name($i)
# check if there are duplicated tool number data and zero number
# tool on turret carrier could have duplicated tool number for same location
if {$mom_isv_tool_number($i) == 0} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has tool number zero! Its info is not output into to_ini.ini file."
} else {
set isv_tool_device_type($i) "None"
# <lili 2016-10-10> Add check for multi-tool. Multi-tool should only attached on upper spindle.
if {[info exists mom_isv_tool_multitool_index($i)] && $mom_isv_tool_multitool_index($i) >=0 } {
if {![info exists isv_multitool_number($mom_isv_tool_multitool_index($i))]} {
if {[lsearch $tool_number_list $mom_isv_tool_number($i)] >=0 } {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has tool number $mom_isv_tool_number($i) duplicated with other tool! Its info is not output into to_in.ini file."
continue
}
set isv_multitool_number($mom_isv_tool_multitool_index($i)) $mom_isv_tool_number($i)
} else {
if {$mom_isv_tool_number($i) != $isv_multitool_number($mom_isv_tool_multitool_index($i))} {
MOM_output_to_listing_device "Multi-tool notch $mom_isv_tool_name($i) has differernt tool number than other notch. It could cause NC code and simulation wrong."
}
}
} else {
# Tools on same device should have same tool number,except device is HEAD.
for {set ii 0} {$ii < $mom_isv_device_count} {incr ii} {
if {$mom_isv_device_name($ii) == $mom_isv_tool_device_name($i)} {
set isv_tool_device_type($i) $mom_isv_device_type($ii)
break
}
}
if {[info exists mom_isv_tool_device_name($i)] && $mom_isv_tool_device_name($i) != "n/a" && $isv_tool_device_type($i) != "HEAD"} {
if {[info exists isv_tool_device_number($mom_isv_tool_device_name($i))]} {
if {$mom_isv_tool_number($i) != $isv_tool_device_number($mom_isv_tool_device_name($i))} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has different tool number than other tools on device $mom_isv_tool_device_name($i) ! It could cause NC code and simulation wrong."
}
} else {
if {[lsearch $tool_number_list $mom_isv_tool_number($i)] >=0 } {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has tool number $mom_isv_tool_number($i) duplicated with other tool! Its info is not output into to_in.ini file."
continue
}
set isv_tool_device_number($mom_isv_tool_device_name($i)) $mom_isv_tool_number($i)
}
} else {
if {[lsearch $tool_number_list $mom_isv_tool_number($i)] >=0 } {
if {[string compare $save_mom_isv_tool_name($i) $tool_name($mom_isv_tool_number($i))]} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has tool number $mom_isv_tool_number($i) duplicated with other tool!\
Its info is not output into to_in.ini file, please check the tool parameters."
}
continue
} else {
if {[lsearch $tool_name_list $save_mom_isv_tool_name($i)] >=0} {
MOM_output_to_listing_device "Tools $save_mom_isv_tool_name($i)_* should have same tool number, but tool $mom_isv_tool_name($i) has conflict tool number $mom_isv_tool_number($i)!\
Its info is not output into to_in.ini file, please check the tool parameters."
continue
}
}
}
}
# check if there are duplicated tool adjust register number or zero number for tracking point
if {[string match "Milling" $mom_isv_tool_type($i)] ||[string match "Drilling" $mom_isv_tool_type($i)]} {
set tracking_point_count($i) [expr $mom_isv_tracking_point_count($i) -1]
} else {
set tracking_point_count($i) $mom_isv_tracking_point_count($i)
}
set tracking_point_flag 0
for {set j 0} {$j<$tracking_point_count($i)} {incr j} {
if {$mom_isv_tool_adjust_register($i,$j) == 0} {
if {![info exists mom_isv_tool_adjust_reg_toggle($i,$j)] || $mom_isv_tool_adjust_reg_toggle($i,$j) == 1} {
set tracking_point_flag 1
}
} elseif { [lsearch $tool_tp_number_list $mom_isv_tool_adjust_register($i,$j)] >=0} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) adjust register number $mom_isv_tool_adjust_register($i,$j) is duplicated!"
MOM_output_to_listing_device "The tracking point's data is not output into to_ini.ini file!"
} else {
lappend tool_tp_number_list $mom_isv_tool_adjust_register($i,$j)
lappend tool_tp_list($i) $j
}
}
if {[string match "Milling" $mom_isv_tool_type($i)] ||[string match "Drilling" $mom_isv_tool_type($i)]} {
if {$mom_isv_tool_adjust_register($i,$tracking_point_count($i)) !=0 && [lsearch $tool_tp_number_list $mom_isv_tool_adjust_register($i,$tracking_point_count($i))] <0} {
lappend tool_tp_number_list $mom_isv_tool_adjust_register($i,$tracking_point_count($i))
lappend tool_tp_list($i) $tracking_point_count($i)
}
}
if {[llength $tool_tp_list($i)] == 0} {
set tracking_point_flag 2
} else {
set tool_name($mom_isv_tool_number($i)) $save_mom_isv_tool_name($i)
lappend tool_number_list $mom_isv_tool_number($i)
lappend tool_name_list $save_mom_isv_tool_name($i)
lappend tool_data_list $i
}
if {$tracking_point_flag == 1} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) has tracking points with adjust register number as zero."
MOM_output_to_listing_device "These tracking points are not output into to_ini.ini file! Adjust register from tool tab will be output."
} elseif {$tracking_point_flag == 2} {
MOM_output_to_listing_device "Tool $mom_isv_tool_name($i) is not output into to_ini.ini file because all adjust registers are zero!"
}
}
}
set index 0
set index_count 0
foreach i $tool_data_list {
set tool_info ""
# Get multi-tool index and name
if {[info exists mom_isv_tool_multitool_index($i)] && $mom_isv_tool_multitool_index($i) >=0} {
if {![info exists multi_tool_index($mom_isv_tool_multitool_index($i))]} {
incr index_count
set index $index_count
set multi_tool_index($mom_isv_tool_multitool_index($i)) $index
append tool_info "\$TC_TP1\[$index\]=$mom_isv_tool_number($i)\n"
append tool_info "\$TC_TP2\[$index\]=\"$mom_isv_multitool_name($mom_isv_tool_multitool_index($i))\"\n"
append tool_info "\$TC_TP8\[$index\]=10\n"
} else {
set index $multi_tool_index($mom_isv_tool_multitool_index($i))
}
} else {
# Tools on same device will have same index number and use device name as tool name, except device is "HEAD".
if {[info exists mom_isv_tool_device_name($i)] && $mom_isv_tool_device_name($i) != "n/a" && $isv_tool_device_type($i) != "HEAD"} {
if {[info exists isv_device_tool_index($mom_isv_tool_device_name($i))]} {
set index $isv_device_tool_index($mom_isv_tool_device_name($i))
} else {
incr index_count
set index $index_count
set isv_device_tool_index($mom_isv_tool_device_name($i)) $index
append tool_info "\$TC_TP1\[$index\]=$mom_isv_tool_number($i)\n"
append tool_info "\$TC_TP2\[$index\]=\"$mom_isv_tool_device_name($i)\"\n"
append tool_info "\$TC_TP8\[$index\]=10\n"
}
} else {
incr index_count
set index $index_count
append tool_info "\$TC_TP1\[$index\]=$mom_isv_tool_number($i)\n"
#This is special for sim16 tool name
append tool_info "\$TC_TP2\[$index\]=\"$save_mom_isv_tool_name($i)\"\n"
append tool_info "\$TC_TP8\[$index\]=10\n"
}
}
if {$mom_isv_tracking_point_count($i)==0} {set mom_isv_tracking_point_count($i) 1}
foreach j $tool_tp_list($i) {
if {![info exists mom_isv_tool_adjust_register($i,$j)]} {set mom_isv_tool_adjust_register($i,$j) 1}
# Get multi-tool notch angle
if {[info exists mom_isv_tool_multitool_index($i)] && $mom_isv_tool_multitool_index($i) >=0} {
append tool_info "\$TC_DP_NOTCH\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$mom_isv_tool_multitool_index_notch($i)\n"
}
append tool_info "\$TC_DP1\[$index,$mom_isv_tool_adjust_register($i,$j)\]=[LIB_SPF_ini_map_tool_type $i]\n"
if {([string match "Milling" $mom_isv_tool_type($i)] ||[string match "Drilling" $mom_isv_tool_type($i)]) && \
[info exists mom_isv_tool_flute_length($i)] } {
set temp $mom_isv_tool_flute_length($i)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP2\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
} elseif {[info exists mom_isv_tool_p_number($i,$j)]} {
append tool_info "\$TC_DP2\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$mom_isv_tool_p_number($i,$j)\n"
}
#<lili 2016-03-28> use mom_isv_tool_x(y)(Z)_mount instead of mom_isv_tool_x(y)(z)_correction for tool on RAH.
global mom_isv_tool_x_mount mom_isv_tool_y_mount mom_isv_tool_z_mount
if {$isv_tool_device_type($i) == "HEAD"} {
if { [info exists mom_isv_tool_x_mount($i,$j)] } {
set temp $mom_isv_tool_x_mount($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP3\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
} else {
if { [info exists mom_isv_tool_x_correction($i,$j)] } {
set temp $mom_isv_tool_x_correction($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP3\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
}
if {$isv_tool_device_type($i) == "HEAD"} {
if { [info exists mom_isv_tool_y_mount($i,$j)] } {
set temp $mom_isv_tool_y_mount($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP4\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
} else {
if { [info exists mom_isv_tool_y_correction($i,$j)] } {
set temp $mom_isv_tool_y_correction($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP4\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
}
if {$isv_tool_device_type($i) == "HEAD"} {
if { [info exists mom_isv_tool_z_mount($i,$j)] } {
set temp $mom_isv_tool_z_mount($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP5\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
} else {
if { [info exists mom_isv_tool_z_correction($i,$j)] } {
set temp $mom_isv_tool_z_correction($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP5\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
}
if {([string match "Milling" $mom_isv_tool_type($i)] ||[string match "Drilling" $mom_isv_tool_type($i)]) && \
[info exists mom_isv_tool_r_correction($i,$j)]} {
set temp $mom_isv_tool_r_correction($i,$j)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP6\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
} elseif {[info exists mom_isv_tool_nose_radius($i)]} {
set temp $mom_isv_tool_nose_radius($i)
catch {ISV_ini_convert_unit temp }
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP6\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
if { [info exists mom_isv_tool_corner1_radius($i)] } {
set temp $mom_isv_tool_corner1_radius($i)
catch {ISV_ini_convert_unit temp}
set temp [format "%-.4f" $temp]
append tool_info "\$TC_DP7\[$index,$mom_isv_tool_adjust_register($i,$j)\]=$temp\n"
}
}
#<lili 2013-06-20> Fix below check condition.
#<szl 2016-06-29> Add a check condition to see if pocket id is 0
if {![info exists mom_isv_tool_pocket_id($i)] || [string length [string trim $mom_isv_tool_pocket_id($i)]] == 0 || \
$mom_isv_tool_pocket_id($i) == "n/a" || $mom_isv_tool_pocket_id($i) == 0 } {
append tool_info "\$TC_MPP6\[1,1\]=$index\n\n\n"
} else {
append tool_info "\$TC_MPP6\[1,$mom_isv_tool_pocket_id($i)\]=$index\n\n\n"
}
if {$mom_isv_tool_channel_id($i) == 1 && $::mom_sinumerik_ini_multi_channel == "Yes"} {
append isv_ini_tool_info(1) $tool_info
incr isv_ini_tool_count(1)
} elseif {$mom_isv_tool_channel_id($i) == 2 && $::mom_sinumerik_ini_multi_channel == "Yes"} {
append isv_ini_tool_info(2) $tool_info
incr isv_ini_tool_count(2)
} else {
append isv_ini_tool_info(0) $tool_info
incr isv_ini_tool_count(0)
}
}
global ini_file_channel_number
if {![info exists mom_multi_channel_mode]} {
set ini_file_channel_number 1
if {$isv_ini_tool_count(2)>0 || $isv_ini_tool_count(1)>0 } {
set ini_file_channel_number 2
}
} else {
set ini_file_channel_number 2
}
}
#-------------------------------------------------------------
proc OOTB_sim16_chain_selection {} {
#-------------------------------------------------------------
#Kinematic chain selection
switch $::mom_carrier_name {
"VERT_HEAD" {
return "VERT"
}
"RA_HEAD" {
MOM_disable_address fifth_axis
return "C"
}
"AC_HEAD" {
return "C-A"
}
default {
return ""
}
}
}

View File

@@ -0,0 +1,2 @@
MILL_HEAD_CHANGE,${UGII_CAM_LIBRARY_INSTALLED_MACHINES_DIR}sim16_mill_headchange\postprocessor\sinumerik_PostConfigurator\sim16_mill_headchange_sinumerik.tcl,${UGII_CAM_LIBRARY_INSTALLED_MACHINES_DIR}sim16_mill_headchange\postprocessor\sinumerik_PostConfigurator\sim16_mill_headchange_sinumerik.def
CSE_FILES, ${UGII_CAM_LIBRARY_INSTALLED_MACHINES_DIR}sim16_mill_headchange\cse_driver\sinumerik\sim16_mill_headchange.MCF