Hi All.

I am connecting my alphacam into my bridgeport VMC (fanuc OM) via a usb serial converter (comm4). I can output files from the machine to the pc, but I am having trouble sending them back via the post I have modified. It seems that I can send back the file I received even after modifying it a bit, but not through the post, hence why i think its the post.

I know I can cut and past the geometry and G code etc, but thats a quick fix and I want to know how and why it is happening.

comms data is:

comm4 / baud4800 /parity even/data bits 7 / stop bits1
before ^B^M^J / after ^C^M^J^D^M^J / CR+LF ^M^J
send spaces / ascii

Dont know if I should do this but ...post is:


$------------------------- PROGRAM LEADING/TRAILING LINES -------------------
$10 File LEADING lines
$12 Main Program LEADING lines
%[PROGNUM]
([PROG_NAME])
N[N] G10 L2 P1 X=[XDAT] Y=[YDAT] Z=[ZDAT+THICKNESS] 'ENTER X, Y & Z DATUMS
N[N] G17 G21 G40 G80 G90 'FIRST SAFETY LINE
N[N] G40 D0 'CANCELS TOOL LENGTH AND RAD OFFSETS
N[N] G54 X Y Z 'SET NEW DATUM
$LET TCHANGE=1 ''1 MEANS THIS IS FIRST TIME A TOOL IS CHOSEN

$15 Main Program TRAILING lines

$17 File TRAILING Lines
N[N] G59 X0 Y0 Z0
N[N] M02
N[N] XOFF
%
$----------------------- RAPID MOVES ----------------------------------------
$20 Rapid Move in XY (MILL/ROUTER/FLAME/LASER) or XZ (LATHE) only
N[N] G0 X[AX] Y[AY]
$----------------------------------------------------------------------------
$21 3D Rapid Move in XYZ (Needed for MILL/ROUTER only)
N[N] G0 X[AX] Y[AY] Z[AZ]
$----------------------------------------------------------------------------
$25 Rapid Move in Z only (MILL etc)
N[N] G0 Z[AZ]

$----------------------- MACHINING FEED MOVES -------------------------------
$40 Machining FEED lines
$IF MC + IN = 2 ''M/C comp applies, and this is First Line in path
N[N] G1 [TC] X[AX] Y[AY] Z[AZ] F[F]
$ELSEIF MC + OUT = 2 '' M/C comp applies, and this is Last Line in path
N[N] G1 [TC] X[AX] Y[AY] Z[AZ] F[F]
$ELSE '' Applies to all other lines (with APS or M/C comp).
N[N] G1 X[AX] Y[AY] Z[AZ] F[F]
$ENDIF
$----------------------------------------------------------------------------
$50 Feed CW arc (APS will automatically limit arcs to 180 degrees maximum)
$MODAL OFF
N[N] G2 X[AX] Y[AY] Z[AZ] R[R] F[F]
$----------------------------------------------------------------------------
$60 Feed CCW arc
$MODAL OFF
N[N] G3 X[AX] Y[AY] Z[AZ] R[R] F[F]
$------------------------ TOOL CHANGES --------------------------------------
$70 Cancel current tool. Use [T] for current tool number if required.
N[N] G0 G52 Z0 'CANCEL TOOL LENGTH OFFSET GO TO Z MACHINE 0
N[N] M50 'SPINDLE OFF
$75 Code for CLOCKWISE spindle rotation - entered into variable ROT
3
$76 Code for COUNTER-CLOCKWISE spindle rotation - entered into variable ROT
4
$80 Select new tool. Use [T] for new tool number, [S] for spindle speed.
$IF TCHANGE=1
N[N] T[T] M6 'HEAD 1 UP TO SELECT FIRST-OP TOOL
N[N] G4 F2 'DWELL FOR ABOVE NB HEAD [ACTIVE_HD] NOW DOWN
N[N] S[S/10] M3[ROT] 'SET RPM AND SPINDLE ENABLE FOR HEAD [ACTIVE_HD]
N[N] G4 F2 'DWELL
N[N] G43 H[T] 'CURRENT OP TOOL RAD/LENGTH OFFSET ACTIVE
$-------------------------- SUBROUTINES ------------------------------------
$90 CALL subroutine. Use [SN] for subroutine number.
N[N] M98 P[SN] 'CALL SUB [SN]
$----------------------------------------------------------------------------
$100 BEGIN subroutine. Use [SN] for subroutine number.
:[SN] 'BEGIN SUB [SN]
$----------------------------------------------------------------------------
$110 END subroutine
N[N] M99 'END SUB [SN]
$------------------- REFERENCE ZERO or ORIGIN SHIFT -------------------------
$120 Origin shift. Use [OX] and [OY] for values to shift by)
N[N] G92 X[OX] Y[OY] 'ORIGIN SHIFT
$----------------------------------------------------------------------------
$130 Cancel Origin shift. [OX] and [OY] are values by which origin was shifted)
N[N] G92 X0.0 Y0.0 'CANCEL ORIGIN SHIFT
$----------------------- MACHINE TOOL COMPENSATION --------------------------
$140 Code to CANCEL Machine Tool Compensation
G40
$141 Code for LEFT Machine Tool Compensation
G41 H[T+16]
$142 Code for RIGHT Machine Tool Compensation
G42 H[T+16]
$145 Percentage increase in blend radius for sharp internal corners
0
$146 Adjust G41/42 code at internal corners for tool radius (1 = yes 0 = no)
1
$------------------------ DRILLING/TAPPING CYCLES ---------------------------
[ZR] = Retract level, the Z level to rapid down to before feed down begins.
[ZB] = Z value of the bottom of the hole, [ZP] = peck DISTANCE.
[ZS] = Safe Rapid level, [ZM] = Material top. All values are ABSOLUTE.
$200 CANCEL drill/tapping cycle
N[N] G80
$----------------------------------------------------------------------------
DRILL cycle - traverse to next hole at SAFE RAPID level [ZS]
$210 First Hole
N[N] G81 X[AX] Y[AY] Z[ZB] R[ZS] F[F]
$211 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
DRILL cycle - traverse to next hole at RETRACT level [ZR]
$214 First Hole
N[N] G81 X[AX] Y[AY] Z[ZB] R[ZR] F[F]
$215 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
PECKING cycle - traverse to next hole at SAFE RAPID level [ZS]
$220 First hole
N[N] G98 G83 X[AX] Y[AY] Z[ZB] R[ZR] Q[ZP] F[F]
$221 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
PECKING cycle - traverse to next hole at RETRACT level [ZR]
$224 First hole
N[N] G99 G83 X[AX] Y[AY] Z[ZB] R[ZR] Q[ZP] F[F]
$225 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
TAPPING cycle - traverse to next hole at SAFE RAPID level [ZS]
$230 First hole
N[N] G98 G84 X[AX] Y[AY] Z[ZB] R[ZR] F[F]
$231 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
TAPPING cycle - traverse to next hole at RETRACT level [ZR]
$234 First hole
N[N] G99 G84 X[AX] Y[AY] Z[ZB] R[ZR] F[F]
$235 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at SAFE RAPID level [ZS]
$240 First Hole
N[N] G98 G82 X[AX] Y[AY] Z[ZB] R[ZR] P[DW] F[F]
$241 Next holes
N[N] X[AX] Y[AY]
$----------------------------------------------------------------------------
BORING/REAMING/SPOT FACE etc - traverse to next hole at RETRACT level [ZS]
$244 First Hole
N[N] G99 G82 X[AX] Y[AY] Z[ZB] R[ZR] P[DW] F[F]
$245 Next holes
N[N] X[AX] Y[AY]
$-------------------------- GENERAL FORMATS ---------------------------------
Separate modal values with spaces. More than one letter is OK eg X VX VY
$500 Modal Text (Will not be repeated in following lines)
G0 G1 G2 G3
$502 Modal ABSOLUTE Values (Will not be repeated if the VALUE is the same)
X Y Z B F
$504 Modal INCREMENTAL Values (Will not be put into NC code if VALUE is ZERO)
I J
$510 X Y Z I J K values must have + as well as - signs (1 = yes, 0 = no)
0
$515 Use point <.> as decimal separator (1 = yes, 0 = use comma <,>)
1
$520 Put sub-routines at end of main program (1 = yes, 0 = put at start)
1
$525 Quadrant Limit arcs (1 = yes, 0 = Standard APS 180 degree limit)
0
$530 Output arcs as straight line segments (1 = yes, 0 = no)
0
$532 If arcs are straight line segments, give chord error (mm or inches)
.1
$540 Suppress Operations List, START and Comments in NC code (1 = yes, 0 = No)
0
'Set $560 - $580 all to 0 if machine is 3-axis.
$560 4/5 axis Programming point: (1 = pivot, 0 = tool tip)
0
$562 4/5 axis Tool C/L offset from pivot point in X
0
$563 4/5 axis Tool C/L offset from pivot point in Y
0
$565 4/5 axis Tool Holder length
0
$570 4/5 axis Max angle (degrees). Set to 0 to indicate 3 - axis machine.
0
$580 Is this a horizontal machining centre (1 = yes, 0 = no)
0
$-------------------------- NUMBER FORMATS ----------------------------------
$700 SUBROUTINE Number format
6
$701 Leading figures
0
$702 Figures after point
0
$705 Subroutine start number
1
$----------------------------------------------------------------------------
$710 LINE NUMBER format
6
$711 Leading figures
0
$712 Figures after point
0
$715 Line start number
10
$716 Line number increment
10
$----------------------------------------------------------------------------
$720 X Y Z values format
2
$721 Leading figures
0
$722 Figures after point
3
$----------------------------------------------------------------------------
$730 ARC centre/radius format
2
$731 Leading figures
0
$732 Figures after point
3
$----------------------------------------------------------------------------
$740 SPINDLE SPEED format
6
$741 Leading figures
0
$742 Figures after point
0
$743 Maximum Spindle Speed
6000
$744 Fixed Speeds (eg 100, 200, 1000, 2000 ... 0 = speed is variable)
0
$NOTE: Fixed speeds can use more than one line. 80 chars per line maximum
APS will select the nearest lower value to the calculated value.
$745 below only applies if $744 is 0 - ie variable speed range.
$745 Round Speed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = don't round)
100
$----------------------------------------------------------------------------
$750 MACHINING FEED format
6
$751 Leading figures
0
$752 Figures after point
0
$753 Maximum Feed Rate (Use mm/min or in/min as appropriate for this Post)
3000 mm/min
$755 Round Feed Up/Down to Nearest: (.1 or 1 or 10 ... 0 = don't round)
1000
$----------------------------------------------------------------------------
$760 TOOL NUMBER format
7
$761 Leading figures
2
$762 Figures after point
0
$------------------------ RAPIDS and TOOL CHANGE TIMES ----------------------
Use mm/min or in/min as appropriate for this Post.
$900 XY Rapid Speed
10000 mm/min
$901 Z Rapid Speed
5000 mm/min
$902 Time to change tool (seconds)
10
$--------------------------- USER VARIABLES ---------------------------------
ALL user variables must be declared. Variable names can be up to 20 chars.
Prompts can be up to 50 chars max and can include a default inside < >.
Put (" ") as format for a text variable. Put ( ) as the format of any numeric
variable which is to have the same format as X Y (Z) moves. If a different
format is required, put (Format, Lead figs, Trail figs) eg (6,0,0) = Integer.

$1000 VARIABLE (format) "Prompt <default>" '' Remark for your info.
COOL_ON (" ") = "M08"
PROGNUM ("100") "Program Number <1>" ''Integer with up to 4 lead zeros
XDAT () "X Datum <-451.2>"
YDAT () "Y Datum <-48.2>"
ZDAT () "Z Datum <-493.2>"
PROG_NAME ("") "Program Name"
BED_SIDE ("0" ) "Vacuum On For Which Zone ? LH=1 RH=2 BOTH=3 <3>"
TCHANGE ( )
ACTIVE_HD (6,0,0)
WEIGHT ( ) ''Only used in calculations
DENSITY ("" ) "Density Kg/cu M <7800>"
THICKNESS ("" ) "Material Thickness"
OPMSG (" ") "Operator Message"
INDEX (" ") = "M57 'Index Pallet" '' = means initial value (not prompt)

$-------------------------- USER DEFINED CODE -------------------------------
Prompts up to 50 chars max. Variable names up to 20 chars. Any $number in the
range $1100 - $1119 can be used for each definition. First line after $number
appears in the first dialog box. Lines up to first $ line appear in second
dialog box. Lines up to next $ line will be added/inserted in NC program.

$1100
Operator Message
OPMSG
$ ------------------------- NC lines to be entered into program follow
N[N] ([OPMSG])
$ ------------------------- ends $1100 user defined code
$1101
Index Pallet
$ ------------------------- NC lines to be entered into program follow
N[N] M05
N[N] [INDEX]
$ ------------------------- ends $1101 user defined code

$1102 Calculate Parts Weight
Weight of Parts
DENSITY
THICKNESS
$ ------------------------- NC lines to be entered into program follow
$LET WEIGHT = THICKNESS * AR * DENSITY / 1e9
N[N] ( Parts Weight is [WEIGHT] kg)
$ ---------------------- End of Post