Hi Guys
I have been running my VMC for almost 3 years with a Fagor 8055 controller. I am using MCX and have just fitted a 4th axis on the machine, and I am unable to get my post to work correctly. The 4th axis works clockwise for all positive(+) degrees and CCW for all negative degrees(-). Below I have attached part of the code that was generated, when it tells the 4th axis to go 15 to 14 the unit will turn clockwise which is 359 degrees to reach 14 degress instead of taking the shortest route which should have been -14 degrees. I have tried changing some things in the machine definitions but I have had no luck. I have also attached parts of the post processor that I think need to be modified. I don't know much about editing a post, any help will be greatly appreciated
Cheers
Jaangi
Tis is part of the code that the post generated.
;T97 : 3. BALL ENDMILL : D3.0000mm : M.FINISH...
N100 G00 G17 G40 G71 G80 G90
N110 T97 ; 3. BALL ENDMILL
N120 M06
N130 ;TOOLPATH - FINISH4
N140 ;STOCK LEFT ON DRIVE SURFS = 0.
N150 G54
N160 G00 G90 X-138.076 Y0. A8.449 S3500 M03
N170 G43 D97 Z132.274
N180 Z34.274
N190 G01 Z32.274 F101.8
N200 Z32.27 A8.896 F361.6
N210 Z32.287 A10.034
N220 Z32.272 A12.797
N230 Z32.279 A13.189
N240 G00 Z37.279
N250 X-138.571 Z37.283 A15.755
N260 Z34.283
N270 G01 Z32.283 F101.8
N280 Z32.275 A15.438 F361.2
N290 Z32.291 A14.019
N300 Z32.278 A10.534
N310 Z32.283 A10.363
N320 Z32.287 A10.008
----------
# General Output Settings
# --------------------------------------------------------------------------
spaces$ : 1 #Number of spaces to add between fields
omitseq$ : no$ #Omit sequence numbers?
seqmax$ : 9999 #Max. sequence number
arcoutput$ : 0 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180
arctype$ : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
breakarcs$ : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs
do_full_arc$ : 0 #Allow full circle output? 0=no, 1=yes
helix_arc$ : 1 #Support helix arc output, 0=no, 1=all planes, 2=XY plane only
maxrad$ : 999 #Maximum arc radius
hel_2100 : no$ #Acramatic 2100 style helical moves, 0=no, 1=yes
usecanned : yes$ #Use canned drilling cycles? Set to no for long output.
wcstype : 3 #0 = G92 at start, 1 = G92 at toolchanges, 2 = G54, 3 = Off
force_wcs : 0 #Force WCS output at every toolchange?
stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools
tool_table : 1 #Tool table, 0=no, 1=yes, 2=Predator VCNC, 3=MetaCut View
output_z : yes$ #Output Z Min and Z Max values (yes or no)
cool_zmove : yes$ #Coolant off with last move
use_pitch : 0 #0 = Use feed for tapping, 1 = Use pitch for tapping
maxfeedpm : 500 #Limit for feed in inch/min
maxfeedpm_m : 10000 #Limit for feed in mm/min
use_gear : 0 #Output gear selection code, 0=no, 1=yes
max_speed : 10000 #Maximum spindle speed
min_speed : 50 #Minimum spindle speed
sextnc$ .PIM #NC extension override
-----------
# Rotary Axis Settings
# --------------------------------------------------------------------------
# Typical Vertical
srotary "A" #Rotary axis prefix
vmc : 1 #0 = Horizontal Machine, 1 = Vertical Mill
rot_on_x : 1 #Default Rotary Axis Orientation, See ques. 164.
#0 = Off, 1 = About X, 2 = About Y, 3 = About Z
# Typical Horizontal
#srotary "B" #Rotary axis prefix
#vmc : 0 #0 = Horizontal Machine, 1 = Vertical Mill
#rot_on_x : 2 #Default Rotary Axis Orientation, See ques. 164.
# #0 = Off, 1 = About X, 2 = About Y, 3 = About Z
rot_ccw_pos : 1 #Axis signed dir, 0 = CW positive, 1 = CCW positive
ret_on_indx : 1 #Machine home retract on rotary index moves, (0 = no, 1 = yes)
index : 0 #Use index positioning, 0 = Full Rotary, 1 = Index only
ctable : 1 #Degrees for each index step with indexing spindle
one_rev : 1 #Limit rotary indexing between 0 and 360? (0 = No, 1 = Yes)
lock_codes : 0 #Use rotary axis unlock/lock M-Codes? (0 = No, 1 = Yes)
use_frinv : 0 #Use Inverse Time Feedrates in 4 Axis, (0 = no, 1 = yes)
rot_feed : 1 #Use calculated rotary feed values, (0 = no, 1 = yes)
maxfrdeg : 2000 #Limit for feed in deg/min
maxfrinv : 999.99#Limit for feed inverse time
frc_cinit : 1 #Force C axis reset at toolchange
ctol : 225 #Tolerance in deg. before rev flag changes
ixtol : 0.01 #Tolerance in deg. for index error
frdegstp : 10 #Step limit for rotary feed in deg/min
#Rotary/Index variables
csav : 0 #C saved value
prvcabs : 0 #Saved cabs from pe_inc_calc,
#Used for rotary feed and direction calculations
cdelta : 0 #Calculation for angle change
rev : 0 #Calculation for deg/min
sav_rev : 0 #Saved revolution counter
indx_out : c9k #Rotation direction calculation
fmt 16 indx_mc #Rotation direction calculation
#Vector Constants for Rotatary Calculations
aaxisx : 1 #A axis rotation vector constant
aaxisy : 0 #A axis rotation vector constant
aaxisz : 0 #A axis rotation vector constant
baxisx : 0 #B axis rotation vector constant
baxisy : 1 #B axis rotation vector constant
baxisz : 0 #B axis rotation vector constant
caxisx : 0 #C axis rotation vector constant
caxisy : 0 #C axis rotation vector constant
caxisz : 1 #C axis rotation vector constant
#Feedrate calculation variables
frdelta : 0 #Calculation for deg/min
frinv : 0 #Feedrate inverse time
frdeg : 0 #Feedrate deg/min actual
prvfrdeg : 0 #Feedrate deg/min actual
ldelta : 0 #Calculation for deg/min, linear
cldelta : 0 #Calculation for deg/min, linear and rotary
circum : 0 #Calculation for deg/min
ipr_type : 0 #Feedrate for Rotary, 0 = UPM, 1 = DPM, 2 = Inverse