NX CAM Robotic Machining Beta

NX CAM Robotic Machining Beta

<p>1. NX CAM KUKA-KRL Post-Processor User Manual Jan, 2016</p><p>1. Installation To install the KUKA_KRL post processor:</p><p>1) Run the post processor setup and select a destination folder such as kits\mach\resource\library\machine\installed_machines\<MachineName>\postprocesso r\KUKA_KRL.</p><p>2) For a new installation: </p><p> a. Adjust KUKA_KRL_post.def file as follow:</p><p> a.i. Adjust the include for Robotics.cdl to the actual <MachineName></p><p> b. Create a <MachineName>.dat file under kits\mach\resource\library\machine\installed_machines\<MachineName> with following single line (adjusted to the actual <MachineName>):</p><p> b.i. KUKA KRL,$ {UGII_CAM_LIBRARY_INSTALLED_MACHINES_DIR}<MachineName> \postprocessor\KUKA_KRL\KUKA_KRL_post.tcl,$ {UGII_CAM_LIBRARY_INSTALLED_MACHINES_DIR}<MachineName> \postprocessor\KUKA_KRL\KUKA_KRL_post.def </p><p>2. Post Configuration Several options specific to the KUKA_KRL Post Processor are available from the Post </p><p>Configurator dialog . a. Externals Mapping</p><p> a.i. E1 … E6 These entries are used to select how the robot externals (positioner axes, rail axis) should be mapped to KUKA external axes.</p><p>LIN {X 299.435,Y 464.456,Z -99.994,A -60.670,B -3.906,C -35.823,E1 29.149,E2 0.000,E3 0.000,E4 0.000,E5 0.000,E6 0.000} C_DIS a.ii. Positioner BaseFrame Junction This entry is used to select the junction within the positioner which represents the positioner root frame. </p><p>When using a coordinated positioner, the ROOT part of the moving $BASE coordinate expression will hold the position of this junction relative to the robot WORLD (see Robot WorldFrame Junction).</p><p>$BASE = EK({X 1520.000,Y -420.000,Z 964.000,A 0.000,B -0.000,C 0.000},#EASYS, {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000})</p><p> a.iii. Positioner ToolFrame Junction This entry is used to select the junction within the positioner which represents the positioner object frame. </p><p>When using a coordinated positioner, the BASE_DATA part of the moving $BASE coordinate expression will be downloaded with respect to this junction.</p><p>$BASE = EK({X 1520.000,Y -420.000,Z 964.000,A 0.000,B -0.000,C 0.000},#EASYS, {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000})</p><p>If the robot has no positioner, this entry should be left empty.</p><p> a.iv. Positioner External Chain Identifier This entry is used to define whether the positioner is a coordinated positioner or a non- coordinated positioner. In case of coordinated positioner, it is as well used to select the KUKA external chain identifier to which the positioner is mapped.</p><p>When using a coordinated positioner (selection of EASYS…EFSYS), this identifier is used in the expression of the moving $BASE.</p><p>$BASE = EK({X 1520.000,Y -420.000,Z 964.000,A 0.000,B -0.000,C 0.000},#EASYS, {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000})</p><p>When using a non-coordinated positioner, this entry should be set to “NONE”.</p><p>In this case:</p><p> $BASE will be downloaded as a fixed base (not as a moving EK base), with coordinates equal to the initial position of the MCS (when positioner is at 0) relative to robot WORLD (see Robot WorldFrame Junction).</p><p> The target positions will be downloaded as the final position of the robot TCPF (tool tip) relative to this initial position of the MCS (when the positioner is at 0). b. Headers</p><p> b.i. Initialization Fold This option is used to define an optional FOLD INI to be added to the program header.</p><p>In the downloaded program, the FOLD INI will be written at the beginning of the program as follow:</p><p>DEF PROG() ;* ------;* NX CAM Robotics 10.0.2.3 to Kuka-Krl ;* CREATED : 11/06/2015 18:24 by velaygil ;* CELL : Robotic_Polishing_Linishing.prt ;* ROBOT : KR125 ;* ------;FOLD INI ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) INTERRUPT ON 3 BAS (#INITMOV,0 ) ;ENDFOLD (BASISTECH INI) ;FOLD USER INI ;ENDFOLD (USER INI) ;ENDFOLD (INI)</p><p>Global mom variables and one dimension arrays can be used in the header, as follow:</p><p>$toolCount=mom_tool_count $nGun{mom_tool_count}On=1 $linearUnit=”mom_sys_rapid_feed_mode(LINEAR)”</p><p>$RetractMsg1= “This is {mom_sys_retract_distance}” $RetractMsg2= “This is mom_sys_retract_distance” c. Motion</p><p> c.i. PTP Motion Select actual “PTP” motion instruction (between “PTP” and “SPTP”) used in RAPID moves and moves to parking poses.</p><p> c.ii. LIN Motion Select actual “LIN” motion instruction (between “LIN” and “SLIN”) used in CUT moves.</p><p>LIN {X 173.738,Y 740.027,Z -153.184,A -65.058,B 4.778,C -65.767,E1 0.000,E2 0.000,E3 0.000,E4 0.000,E5 0.000,E6 0.000} C_DIS d. Tool and Base d.i. Spindle Tool Axis NX CAM assumes that the spindle axis (IJK) of the tool path positions is aligned with the X+ axis of the tool tip.</p><p>With this option it is possible to rotate both the $TOOL and E6POS orientations, in the program file, so that the Z+ (or Z-) axis of the $TOOL and E6POS are aligned with the tool path spindle axis.</p><p> d.ii. Robot WorldFrame Junction The post processor assumes the robot WORLD (origin of the base coordinates and positioner root coordinates) is at the robot BASEFRAME when all externals are set to zero.</p><p>With this option it is possible to define an explicit junction to be the robot WORLD. e. Payload data</p><p>For Kuka, the Payload Number and the Orientation Quaternions are unused.</p><p>Payloads are downloaded as $LOAD variable set. They are supported on the path and each location as events. The postprocessor generates a download line such as:</p><p>$LOAD={{M 75.000,{X,1.100,Y,2.100,Z,3.300,A,10.000,B,20.000,C,30.000},J {X,1.000,Y,2.000,Z,3.000}}} 3. Program Structure The post processor generates a single SRC file with one KUKA procedure (DEF) for the full program. Tool paths within the program are separated with a special comment:</p><p>;-- ToolPath POSITIONER_UP</p><p>As position coordinates are generated inline, it is not required to generate a DAT file.</p><p>4. Generalities</p><p> a. $BASE In mounted tool configuration, the active MCS of the tool path is used as KUKA $BASE.</p><p>If the robot has a coordinated positioner, the $BASE / MCS is assumed to be a moving BASE attached to the positioner. Its coordinates will then be downloaded with respect to the positioner tool frame with special expression involving also the root position of the positioner.</p><p>$BASE = EK({X 1520.000,Y -420.000,Z 964.000,A 0.000,B -0.000,C 0.000},#EASYS, {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000})</p><p>If the robot has no positioner, the $BASE / MCS is assumed to be a fixed BASE. Its coordinates will then be downloaded with respect to the robot WORLD (see Positioner BaseFrame Junction and Robot WorldFrame Junction).</p><p>$BASE = {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000}</p><p>If the robot has a non-coordinated positioner (“Positioner ToolFrame Junction” defined and “Positioner External Chain Identifier” set to NONE), the $BASE / MCS is assumed to be a fixed BASE, superimposed on the initial position of the MCS. Its coordinates will then be downloaded with respect to the robot WORLD (see Positioner External Chain Identifier and Robot WorldFrame JunctionPositioner BaseFrame Junction).</p><p>$BASE = {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000}</p><p>In mounted part configuration, the $BASE is the position of the remote TCP with respect to the robot WORLD (see Robot WorldFrame Junction).</p><p>$BASE = {X -30.000,Y 190.000,Z 0.000,A 0.000,B -0.000,C 0.000}</p><p>Using different MCS in different tool paths of a same program is supported. $BASE coordinates will be written in the program file, every time the active MCS is changed. b. $TOOL In mounted tool configuration, the active tool is used as KUKA $TOOL. Its coordinates are downloaded with respect to the robot flange. </p><p>In mounted part configuration, the $TOOL is the position of the mounted MCS relative to the robot flange.</p><p>With “Spindle Tool Axis” option, it is possible to emulate a rotation of the tool tip and E6POS so that Z+ or Z- is aligned with the tool path spindle axis (instead of using default X+ axis).</p><p>Using different TOOLs in different tool paths of a same program is supported. $TOOL coordinates will be written in the program file, every time the active TOOL is changed.</p><p>$TOOL = {X 49.301,Y -1.215,Z 431.528,A -90.083,B 0.083,C 135.000}</p><p>It is also possible to define the tool payload via a special comment in Tool / Edit / Tool / Description.</p><p>In this case a change of tool, payload is downloaded as KUKA $LOAD, as follow: $LOAD={{M 10,{X 20.000,Y 30.000,Z 40.500,A 0.000,B 0.000,C 0.000},J {X 100.000,Y 200.000,Z -30.500}}} c. Externals The post processor will issue warnings in case some positions have a non-zero external value (positioner or rail) and no mapping was defined for it. d. E6POS E6POS are downloaded inline, with respect to the active MCS.</p><p>LIN {X 173.738,Y 740.027,Z -153.184,A -65.058,B 4.778,C -65.767,E1 0.000,E2 0.000,E3 0.000,E4 0.000,E5 0.000,E6 0.000} C_DIS</p><p>If the robot has a non-coordinated positioner (“Positioner ToolFrame Junction” defined and “Positioner External Chain Identifier” set to NONE), the downloaded coordinates are the final position of the robot TCPF (tool tip) relative to the initial position of the MCS (when the positioner is at 0) (see Positioner External Chain IdentifierPositioner BaseFrame Junction). e. Speed The post processor takes into account the standard “Feed Rates” definitions for linear speeds and the “Robot Zones and Joint Motion Speed” definitions for joint speeds.</p><p>As the speed setting in KUKA is modal, only changes in speeds are downloaded.</p><p>Linear speeds are downloaded as:</p><p>$VEL.CP = <speed in m/s></p><p>Joint speeds are downloaded as:</p><p>$VEL_AXIS[1] = <speed in %> … $VEL_AXIS[6] = <speed in %> $VEL_EXTAX[1] = <speed in %> ... $VEL_EXTAX[6] = <speed in %> f. Zone The post processor takes into account the “Robot Zones and Joint Motion Speed” definitions. Only linear zones (C_DIS) in mm are supported.</p><p>Zones are downloaded as:</p><p>$APO.CDIS = <zone in mm> Positions that are using a non-null zone value are downloaded as a flyby motion (i.e. with a C_DIS suffix on the motion line): </p><p>LIN {X 173,Y 740,Z 184,A -65,B 4,C -65,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} C_DIS</p><p>Positions that are using a null zone value are downloaded as a full reach motion (i.e. without any zone suffix on the motion line):</p><p>LIN {X 173,Y 740,Z 184,A -65,B 4,C -65,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} g. Parking Poses Parking poses are downloaded as full reach joint motions to inline E6AXIS coordinates:</p><p>PTP {A1 0.000,A2 0.000,A3 0.000,A4 0.000,A5 0.000,A6 0.000,E1 0.000,E2 0.000,E3 0.000,E4 0.000,E5 0.000,E6 0.000} h. Olp Commands Olp Commands UDE are downloaded as is.</p><p>Olp Commands are supported at program, path and position levels.</p><p>The Olp commands can be placed before or after the motion instruction. Multiple lines olp commands are written on a single line using %% as the separator.</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us