Вы находитесь на странице: 1из 31

1

G-Post Release Notes Version 5.7

Copyright (c) Intercim, 1992 - 2002

Option File Generator


2

Chapter 6: CimPRO Tutorial

Better Usability: Added Open OptFile button and the use of the Enter key to
open Option Files.
Better Readability: Made upper and lower panes look slightly different to
distinguish them and also made folder structure better more intuitive.
Duplicate Files: You cannot open duplicate copies of an option file during a
session.
Arrangements: 3 different layouts are available.

Machine Tool Type

Added Mill-Turn functionality to the 1 Rotary/1 Radial Axis (Live Tooling)


machine type option.
Output Method: Moved this option box from the Machine tab to the Primary
Rotary Axis tab (only applies to head-head mills).
System Spec Settings: The user can now specify that Linear Resolution,
Rotary Resolution, and Maximum Departure are system defined or user defined.
Note: Linear resolution is based on the X, Y, Z address format settings, Rotary
resolution is based on the Primary and Secondary axes format settings, Max
Departure is based on the X, Y, Z format settings.
Vector Last Tolerance: Added a text field to the Specs panel and modified the
original Vector tolerance label (mill only).

MCD File Format

General Address Output: Added a new tab that applies global decimal output
capability to addresses. Also moved the "Insert blank before..." check box to this
panel from the main panel.
Address Aliases: It is now possible to specify an address alias before and after
the address value (UPPERCASE only). This is accomplished via the "Address
Settings" dialog and is shown in the "Aliases" column of the MCD File Format panel.

MCD File Type: Added a new tab that allows users to specify a non-standard
MCD file type (e.g. file extension).

Chapter 6: CimPRO Tutorial

Sequence Numbers
Turn off Sequence Number at start: Added a check box to the Parameters
section.

Program Start / End


Discard MCD File with FIL Error: Added this check box to the General tab in the
Miscellaneous section.

Cycle Motion
Cycle Motion (Pulbac): Added more functionality to this tab for the mill and as a
new tab with new functionality for the lathe. You can now specify multiple G-Codes
(initial and full return) in this section.

Cutter Compensation
5-Axis compensation tab: Added a new tab specifically setup for Cincinnati 5Axis mills (mill only).
2-3 Axis Compensation tab: Updated tab title and added 2 option buttons that
are related to the first check box in the "Output" (mill only).

Prep / G-Codes
Prep/Aux Codes can be 3 digits: Added check boxes to the Prep Codes panel.
This should also be checked if you intend to output G-Codes over 99 in FIL.

Aux / M-Codes
Prep/Aux Codes can be 3 digits: Added check boxes to the Aux/M-Codes
panel. This should also be checked if you intend to output M-Codes over 99 in FIL.

Chapter 6: CimPRO Tutorial

Feedrates
Output Inv Time Feed for GOTO/cmd Rotary Motion: Added check box and
accompanying combo box.
Check Max. Axis Velocity: Added Auto option which automatically calculates the
fastest velocity within limits that all axis can travel. Also added Disable option,
which turns this function off.

Spindle
SFM R-Output when not in SPINDL/cmd: A combo box was added to the main
Spindle panel (lathe only).

Tool Change Sequence


Force ABC rotary axes on next GOTO/motion block: Added check box to the
General tab.
General tab: Users can now specify if the T-Code is modal or not.

TURRET Index
Output tool number as offset when not given in the TURRET/cmd check box
added.
Panel was rearranged slightly for easier readability.

FIL Editor
Added functionality that allows user to inset text from a current FIL file by
specifying location of the insert and the specifying the desired FIL file (this was
available in the old windows version of the OFG).

Chapter 6: CimPRO Tutorial

Commons
For lathes, this panel used to show Intcom and Relcom values. In reality, Lathes
use Intcoms and Dblcoms; thus, this was changed to correctly reflect this.

New Features
Taskbar: A new feature is located at the bottom of the Option File Generator
screen and contains up to 5 buttons showing the last 5 functions (e.g., Machine Tool
Type, Linear Motion, Prep Codes, etc.) that were visited. This will provide a quick
means of going back and forth to two or three panels while working with your option
file.
Option File Time Stamp: The Option File Generator now updates the time stamp
on the top part of the option file text file.

Chapter 6: CimPRO Tutorial

G-POST
Added to automatic G98/99 to cycle commands.
1. CYCLE/cmd will have the desired PULBAC,g option.
Set INTCOM(4336)=0, INTCOM(4607)=0, INTCOM(4608)=0.
2. Specify one G-code
Set INTCOM(4336)=G-code, INTCOM(4607)=0, INTCOM(4608)=0.
3. Specify multiple G-Codes:
G-code for initial return as in G98 G81
G-code for full return as in G99 G81
Set INTCOM(4336)=0, INTCOM(4607)=G-code1, INTCOM(4608)=G- code2.
If your machine supports G98/G99 type of RETURN modes, you can set the
desired options in the cycle panel.
1. G98/G99 Pulback is not available
2. G98/G99 Pulback is available and you will program the desired G-code in your
CYCLE/cmd as in CYCLE/DRILL,--,PULBAC,g in the input source.
3. G98/G99 Pulback is available and you want one G-code to be output always for
the RETURN.
4. G98/G99 Pulback is available and you want two G-codes to be output depending
on the RETURN option in your CYCLE/cmd for initial and full retract.
CYCLE/DRILL,--,RETURN,z will output G98 for initial.
CYCLE/DRILL,--,RETURN(no z) will output G99 for full.
CYCLE/DRILL,--,RETURN,z (z greater than last-z) will output G99 for full.
Added option to change file type of the MCD (Punch) file.
INTCOM(4600)=0
INTCOM(4600)=1
INTCOM(4601 thru 4606)

Use default ext. like *.PU1 or *.TAP (default)


Specify new type [6-character]
Storage location for ASCII 6-character extension

The MCD file will have a file type or extension, such as PU1 or TAP etc. You can
override this system default by entering a file type for this post only. Up to 6characters can be set and only valid filename characters (0-9,A-Z and Underscore)
are allowed.
For merging post with multiple G-POST runs, only the final MCD file created by
Merge G-POST will have this new file type. The intermediate MCD files will have
*.PUn as the file type. The location (INTCOM(1868)=1) will be set for merging post.

Added an option to empty the punch/tape file when there is a FIL error. To enable
function in the Mill G-POST set INTCOM(2481)=-1. To enable function in the Lathe
G-POST set INTCOM(2454)=-1. Default is zero (OFF), to function as before.

Release Notes

With the option to output a blank between tape address registers, a PPRINT or
INSERT command with sequence number option did not output the blank after the
N-value. This has been corrected.
New alias after option has been added to Option File Generator MCD panel. This
will allow you to insert a string after an address register and its values.
For example, say your wants to output X=(12.5) instead of X12.5 in a block. You
can use the current alias X as "X=(" and set the alias-after to ")". Also note, the
current Alias has been renamed to alias-before.
A new set of INTCOM locations named JAFTRAD(26,9) has been defined for this
option starting at INTCOM(4359). Initial value is zero meaning alias-after is not set.
This is similar to JPARAD(26,9) at INTCOM(2216) with the difference being,
INTCOM(2216) is initialized to IEMPTY instead zero.
A new global option to control the zero output of decimal registers has been
added to Option File Generator MCD panel.
When you suppress both leading and trailing zeros and
output decimal point,
a cmd of GOTO/12,0,0 was output as "X12." in a tape block and without the zero.
Using the new option, you can specify the zero placement as noted below:
INTCOM(4593)=0 Output X12.(Default)
INTCOM(4593)=1 Output X12 decimal if needed
INTCOM(4593)=2 Output X12.0
at least one zero
When using UNC$FSIZE=LARGE, a large FIL file can cause the program to run a
very long time in the G-POST. This has been corrected.
Note: This change only applies to G-POST running on UNIX platforms.
Set aside INTCOM(2719 to 2818),100 locations, to be used strictly by the Option
File Generator user interface module. The G-POST will not use these locations.
The initial value for these commons is zero.

Release Notes

Mill G-POST only


Added mill-turn support to the Mill G-POST. This feature can be configured using
the Option File Generator.
For a Live Tooling machine, the Mill G-POST can now support both milling and
turning modes. Before you had to use the UNCMRG or merge option with multiple
post executions. We recommend you use this new method and you can set the
various mill-turn modes in these panels.
Note: You can continue to use Merge option if you choose. If so, select no to MillTurn and set INTCOM(1838)=1 for Merge option in the Start panel as before.
Mill mode:
The G-POST has new commands MODE/MILL and SPINDL/PARLEL,ZAXIS or
XAXIS commands to specify the desired spindle axis condition. You can freely
switch between these in the input program.
You must specify the input coordinates to be in the Machine coordinates as (X,Y,Z)
for both spindle configurations. If your input file is in any other format, you can
convert via the transformation panel or use TRANS/matrix,OPTION,11 command in
your input file.
When SPINDL/PARLEL,ZAXIS is in effect, you would be doing "end work" with XC
and Z-axis output to profile or drill at the end of the part.
When SPINDL/PARLEL,XAXIS is in effect, you would be doing "side work" with XC
and Z-axis output to profile or drill at the side of the part.
In either of these conditions, some machines support a Y-axis stroke instead of the
combined ZC or XC output. In this case, the command MODE/YAXIS,ON-OFFAUTO is supplied to be used in your input program.
When the AUTO mode is set, make sure you set the Y-stroke limits on your
machine. The G-POST will automatically output either the Y machine or XC and ZC
when programmed Y-axis is within the set limits.
Turn mode:
You can set the G-POST in the turning mode instead of the milling mode at start of
the program. The new command MODE/TURN can also be given in your input
program to switch between the MILL and TURN modes.
Optionally you can specify the input coordinates to be in the Machine or APT like
part system. The default is similar to the Mill mode as in (X,0,Z), where X is the
lathe radius and Z is along the centerline.
Turret section:

Release Notes

For turning mode, the tool changes should be done using the TURRET command to
get the G92 pre-set blocks etc instead of the LOADTL command as in the milling
mode. You can also set options like X output in diameters and G92 pre-set for tool
tip programming conditions.
Spindle section:
Here you can specify options for CSFM programming and the R-output for the
control to determine the initial RPM value.
Thread section:
Single point G33 type threading is supported and the options for Lead register and
modality are set in this section. The input program will supply THREAD/ON
command followed by the GOTO to enable threading motion as before.
CAM systems can generate a complete threading cycle with THREAD/AUTO or
THRDSQ commands. You can let the G-POST convert this into multiple G33 blocks.
If you prefer to handle this in FIL, then select the option "Do not expand" and write
your FIL code to parse THREAD/AUTO command and output the desired G76 etc
blocks.
Note: This option must be set in the option file and cannot be set/reset using FIL.
New G-POST commands added:
MODE/MILL Specifies milling mode. Note: there is no option file number with this
command. This indicates the use of new mill-turn mode instead of the merge
method using UNCMRG.
Under MODE/MILL, there are three new commands to further control milling
operations.
SPINDL/PARLEL,ZAXIS specifies milling at the end of the part.
SPINDL/PARLEL,XAXIS for milling at the side of the part.
MODE/YAXIS,ON-OFF-AUTO can be given to use the Y-axis or output ZC or XC
coordinates. The limits the Y-axis will be set in the option file.
MODE/TURN Specifies turning mode. With this, you can specify normal
turning/facing operations with GOTO/commands. Also the commands PITCH and
THREAD/ON are now enabled for threading.
In addition, the complete CYCLE/commands and circular motion are fully supported
for all configurations in milling and turning modes.
Sample program:

10

Release Notes

PARTNO TEST
MACHIN/UNCX01,1
MODE/TURN
TURRET/1,1
SPINDL/300
FEDRAT/10
FROM/10,10,0
GOTO/10,1,0
GOTO/1,1,0
RAPID
GOTO/10,10,0
GOTO/10,1,0
PITCH/8
THREAD/ON
GOTO/1,1,0
RAPID
GOTO/10,10,0
MODE/MILL
SPINDL/PARLEL,ZAXIS
FROM/10,10,10
GOTO/10,1,5
MODE/YAXIS,ON
GOTO/10,-1,5
RAPID
GOTO/10,10,10
MODE/MILL
SPINDL/PARLEL,XAXIS
MODE/YAXIS,AUTO
GOTO/10,1,5
GOTO/10,-1,5
RAPID
GOTO/10,10,5
END
FINI

$$ SET UP A LIVE TOOLING MACHINE IN OPTFILE


$$ TURNING MODE

$$ TURNING OPERATION

$$ THREADING OPERATION

$$ MILLING MODE SPINDL PARLEL TO Z-AXIS

$$ USE Y-AXIS INSTEAD OF ZC

$$ MILLING MODE SPINDL PARLEL TO X-AXIS


$$ AUTOMATIC Y-AXIS INSTEAD XF ZC IF IN LIMITS

New INTCOM added to Mill G-POST to support mill-turn modes:


IMILLTURN(20)

I4609

Mill turn support array

JMILTRNF

I4609

Mill turn flag 0/1


0=Mill-turn mode not set for this machine
1=Mill-turn mode has been set

JMILTRNT

I4610

Mode/Turn flag 0/1


0=MODE/TURN is not given
1=MODE/TURN is in effect

JMILTRNS

I4611

SPINDL/PARLEL,Z-XAXIS 0/1
0=SPINDL/PARLEL,ZAXIS given
1=SPINDL/PARLEL,XAXIS given

Release Notes

11

ITHDSW

I4612

THREAD/ON mode (internal)


0=Not in Thread mode
1=Thread mode in effect

JADTHD

I4613

THREAD/Lead address as K

IGTHD

I4614

THREAD/G-code as G33

IGSFM

I4615

CSFM G-code as G96

IGRPM

I4616

RPM G-code as G97

IGSPMX

I4617

Max RPM G-code as G92

IGSFMRDSF
SP/cmd

I4618

Flag to output SFM R if not given in


0=Output current X for R-value in G96
1=Output next X for R-value in G96
2=Do not output R-value in G96

JMILTRNY

I4619

MODE/YAXIS,OFF-ON-AUTO flag as 0/1/2


0=MODE/YAXIS,OFF, output ZC/XC, no Y
1=MODE/YAXIS,ON, output Y, no ZC/XC
2=MODE/YAXIS,AUTO, output Y instead
of ZC/XC if Y is in limits.

ITURCENF

I4620

TURRET/CENTER flag for next GOTO as


0/1 (internal)
0=TURRET/CENTER not programmed
1=TURRET/CENTER programmed

ITNXYCDF

I4621

Input coords (X,0,Z) flag for turn mode


0=Input coords are in (X,0,Z) like PTC
1=Input coords are in (X,Y,0) like Surfcam,

APT
Expand THREAD/AUTO flag as 0/1
0=Expand THREAD/AUTO into G33
1=Leave THREAD/AUTO as is for FIL
New
DBLCOM added to Mill G-POST to support mill-turn modes:

12

ITHEXAUTO

I4622

DMILLTURN(10)

D1036

Mill turn support array

THLEAD

D1036

Thread lead from PITCH/cmd

TURGAGEX

D1037

Turret Gage-x along machine-Z

TURGAGEY

D1038

Turret Gage-y along machine-X

DMLYAXMN

D1039

Min Y for MODE/YAXIS,AUTO

Release Notes

DMLYAXMX

D1040

Max Y for MODE/YAXIS,AUTO

Existing INTCOM flags used to support mill-turn modes:


IGSETF

I0518

G92 support as 0/1/2


0=none
1=G92 output before T-code
2=G92 output after T-code

ITRCNT

I1826

TURRET/CENTER at start 0/1


0=Center at start
1=Tool tip at start

ITSBIT(50)

I1880

Thread lead type 0/1


0=PITCH/v is threads per inch
1=PITCH/v is actual lead

ITSBIT(51)

I1881

X-diameter output as 0/1/2


0=output X in radius
1=output X in diameter for turn mode
2=output X in diameter for turn and mill
modes

ITSBIT(58)

I1888

Thread lead modal flag 0/1


0=Thread lead K-register is modal
1=Thread lead K-register is non modal

Added new MULTAX mode cycle in any plane (this is similar to G17/18/19 circular
interpolation with G02/G03).
o Same as 3-axes mode and as set in cycle panel
o Use Software cycles for any tool axis
o Use Hardware cycles for any tool axis
o Mixed mode Software and Hardware cycles

(I4594=0)
(I4594=1)
(I4594=2)
(I4594=3)

XY-PLANE (0,0,1 tool axis)


o Software cycle
o Hardware as in G17 G81 ZR

(I4595=0)
(I4595=1)

ZX-PLANE (0,1,0 tool axis)


o Software cycle
o Hardware as in G18 G81 YR

(I4596=0)
(I4596=1)

YZ-PLANE (1,0,0 tool axis)


o Software cycle
o Hardware as in G19 G81 XR

Release Notes

(I4597=0)
(I4597=1)

13

XYZ-PLANE (any tool axis)


o Software cycle
o Hardware cycle

(I4598=0)
(I4598=1)

Most machine tools support hardware cycles (G81 etc) only in the XY-plane or in 3axes mode as set in the cycle panel G-code section. If your machine is a 4/5-axes
machine with rotary table, the G-POST will rotate into XY-plane automatically for
any tool axis. In this case, leave the 1st setting to "Same as 3-axes mode".
If your machine has rotary head or you want to switch to a software cycle in
MULTAX/ON mode, then you can select the "Mixed mode" and then set the desired
option for various tool axis input. If your machine tool supports hardware cycles
(G81 etc) in YZ and ZX-plane cycles, you can also set them in this panel.
With automatic reposition checked in Option File Generator, some RAPID 5-axis
motion did not select the position within limits and generated an out of limit warning.
This problem was
caused, if the two solutions are exactly 180 degrees apart.
This has been corrected.
The automatic reposition area has been re-worked with corrections and many
enhancements as noted:
A. Correction: Exact 180-degree motion
With automatic reposition checked in Optfile, some RAPID 5-axis motion did not
select the position within limits and generated an out of limit warning. This problem
was caused, if the two solutions are exactly 180 degrees apart. This has been
corrected.
B. Enhancement: Dual range check vs. previous min-max
With _REPOS limit testing enabled, you can also specify the type of the Rotary axis
limits. The default is the linear scale as given in the limit spec panel. An alternate is
in rotary scale format as needed for some cases.
For example, if your A-axis can rotate in the range of 0 to 90 (Quad1) and 270 to
360 (Quad4), where 0 and 360 are the same position, you cannot use the linear
range. Because Min=90 and Max=270 will make A=85 as out of limit. By choosing
the 360 Degree scale option, you can use two sets of range values as
(Min1=0,Max1=90) and (Min2=270,Max2=360).
Now output angles (A90,A80...A0 and A270,280...A360) will be in limit and valid.
The sign option below, allows you to further check only the positive angle for the
360-degree range test.
When you set the multiple range min-max values, we recommend you reset your
linear min-max values for the selected rotary axis (ABC) in the limits panel to a large
value as (-999,+999) to avoid unnecessary warnings.

14

Release Notes

INTCOM(4629-32) option for new rotary scale for ABC axes


0=Use linear scale as before (Default)
1=Use rotary scale, ignore sign
2=Use rotary scale, check sign
If the above value is set as 1 or 2, then:
DBLCOM(1046-1048) Range-1 Minimum degree for ABC axes
DBLCOM(1049-1051) Range-1 Maximum degree for ABC axes
DBLCOM(1052-1054) Range-2 Minimum degree for ABC axes
DBLCOM(1055-1057) Range-2 Maximum degree for ABC axes
C. Enhancement: Travel or dead zone check
On some machines, the rotary ABC axes cannot travel into a zone. This zone is a
pair of angular values to define a range in the 360-degree dial or scale. The GPOST can check for this condition and move in the opposite direction to reach the
final position. You can set this option with _REPOS limit and also set the absolute
min and max angles of this zone. Since the opposite direction move will be 180 or
greater, you can further specify a mid ABC angular position to be output. This may
be needed, if your machine always takes the shortest rotation, which would violate
the travel zone. You also have the option to output this for Rapid, Feed or both
motion blocks that cause a travel zone violation.
Set INTCOM(4632-34) to enable this option for each ABC axis
0=No
1=Yes
2=Yes, also output mid point when angle >= 180 for Rapid
3=Yes, also output mid point when angle >= 180 for Feed
4=Yes, also output mid point when angle >= 180 for Rapid and Feed
Set DBLCOM(1058-1060) to the minimum angle of ABC travel zone
Set DBLCOM(1061-1063) to the maximum angle of ABC travel zone
D. Enhancement: More user specified feed and approach control
With automatic reposition checked in Optfile, further retract and approach motion
control have been added.
D1026 controls the feedrate for retract motion
0=Use current feed

Release Notes

15

f=Use given feed value f


-1= Use rapid (new)
D1064 is the new secondary approach distance added, similar to the retract motion,
it is an incremental distance from the out of limit position.
D1065 controls the feedrate for the 2nd approach motion.
0=Use current feed
f=Use given feed value f
-1=Use rapid (new)
So after retracting and finding the alternate rotary positions, the G-POST will move
at the given feed or rapid to this new secondary position and then using the
programmed feed to the final approach position. Finally continue the cutting mode
to the new CL position at the programmed feedrate. If D1064=0 as before, no
secondary approach is done.
Example:
Required retract distance is 10, set D1025=10
Required retract at rapid rate, set D1026=-1
(G-POST will reposition to new rotary angles)
Approach to a distance of 0.75, set D1064=.75
Approach at rapid rate, set D1065=-1
(G-POST will feed last 0.25 at programmed feedrate)
(G-POST will continue cutting with new ABC)
Added PVECTOL variable at DBLCOM(1035). It specifies a tolerance to test, if
current IJK is same as last IJK. Default is zero meaning compare exact. This is
similar to VECTOL at DBLCOM(0891), which tests IJK to be near zero.
The output translation values at DBLCOM(775-777) as set in the Option File
Generator are now properly converted for metric output in a part program. This also
applies to the multi-axis shift along tool axis set at the DBLCOM(918) location.
When the tool axis is near vertical (0,0,1), software CYCLE/DEEP command
sometimes skipped the XYZ output for the pecking steps. This has been corrected.
With LINTOL/cmd and a metric to inch conversion in effect, the linearization
skipped some intermediate points. This has been corrected.

16

Release Notes

5-Axes PQR cutter compensation has been added to support Cincinnati 5-axes
Machines with PQR option.
INTCOM(4356)=0 PQR CUTCOM is not available (Default)
INTCOM(4356)=1 PQR CUTCOM available
A new command CUTCOM/LEFT-RIGHT,XYZ turns on-off the PQR compensation
mode. This must be given in the input source.
Example:
PARTNO TEST
MACHIN/UNCX01,n
MULTAX
-GOTO/P1
CUTCOM/LEFT,XYZ
$$ ENABLE PQR
GOTO/P2
GOTO/P3
-CUTCOM/OFF
$$ DISABLE PQR
GOTO/P1
-FINI
Notes:
1.
2.
3.
4.
5.

Post must be configured as a 5-axes machine


CUTCOM/--,XYZ must be in the input source
Circular interpolation will be disabled in PQR mode
MULTAX must be in effect
Use CUTCOM/cmd without XYZ for non-MULTAX motion

A new common location is used as an internal flag by the G-POST for this
command. Do not set this location in FIL or with PLABEL.
INTCOM(4357)=0 CUTCOM/--,XYZ is not given
INTCOM(4357)=1 CUTCOM/--,XYZ for PQR is in effect
Modified the existing flag that controls the inverse feed rate mode (G93/94) for
rotary moves. Now it can be set to (0,1,2,3) as noted below.
For any GOTO/cmd that causes linear and rotary motion, the G-POST can output
inverse time feed rate (G93 F-inv) automatically by this flag.
INTCOM(2095)=0 Inverse mode is off (Default)
INTCOM(2095)=1 Output inverse time feed for GOTO/rotary
In addition, if the GOTO/cmd causes only rotary motion, then you can also select
inverse time, units per minute or degrees per minute as required.

Release Notes

17

If GOTO/cmd causes only rotary move


INTCOM(2095)=1 Output inverse time feed (G93)
INTCOM(2095)=3 Output degrees per minute feed (G94 F-DPM)
INTCOM(2095)=3 Output degrees per minute feed (G94 F-DPM)
Added an option to force the output of ABC-rotary axes with the next GOTO/cmd
after a tool change (LOADTL/cmd) under MULTAX mode.
INTCOM(1524)=0 Do not output same ABC after tool change sequence (Default)
INTCOM(1524)=1 Force ABC output after tool change sequence
Note: You can set INTCOM(1524)=2 at any time in the FIL file to (simulate a
LOADTL/condition) and force the next GOTO/cmd to output ABC values. After the
GOTO/cmd, the G-POST will reset INTCOM(1524)=1.
When CUTCOM/cmd is set to output with the next XY motion block, it included
G40, G41 and G42 codes. This was indicated by setting INTCOM(2708)=0. Now a
new option has been added to the CUTCOM panel in the Option File Generator to
output G40 code by itself for CUTCOM/OFF and output G41, G42 with next motion
block as before.
INTCOM(4358)=0 CUTCOM/OFF is output with XY (Default)
INTCOM(4358)=1 CUTCOM/OFF is output by itself.
INTCOM(2708)=0 must be initially set as noted above.
PTC G-POST Only: With CRVFIT/ARC,ON, sometimes the input GOTO/points
that did not fit into an arc, were skipped. This has been corrected.
Added a new dialog box on the Motions > Cycles screen that allows selective
control of the output of linear and/or rotary values that are the same as the previous
block(s) output for cycle motion. This is configurable for the first cycle point only
or all cycle points. The cycle axis data (R,Z) will always be output for the first
cycle point
If First cycle point only is selected INTCOM(4635) will be set to -1 and
INTCOM(4337) will control modality as follows:
INTCOM(4337)=0
INTCOM(4337)=1
INTCOM(4337)=2
INTCOM(4337)=3

linear
linear
linear
linear

& rotary modal


non-modal, rotary modal
modal, rotary non-modal
& rotary non-modal

If All cycle points is selected INTCOM(4337) will be set to -1 and INTCOM(4635)


will control modality as follows:

18

Release Notes

INTCOM(4635)=0
INTCOM(4635)=1
INTCOM(4635)=2
INTCOM(4635)=3

linear & rotary modal


All cycle points
linear & rotary modal
linear & rotary modal

Note: The default setting is that both linear and rotary output registers are nonmodal in all cycle points.

Release Notes

19

Lathe G-POST
For Metric input of SMM/MMPR mode, the cycle time was not properly calculated.
This has been corrected.
Added an option to output the tool number as offset when not given in the
TURRET/cmd for T-code.
o No
o Yes

(I2820=0) Default
(I2820=1)

When the offset number is not given in the TURRET/cmd the default offset number
is zero. You can set the G-POST to output the tool number as offset. For example,
TURRET/1 will output T11 instead of T10.
Added an option to control CSFM R-output when not in SPINDL/cmd
o Output current X-value
o Output next X-value
o Do not output

(I2819=0) Default
(I2819=1)
(I2819=2)

Under G96 and CSFM mode, the R-register is output as the starting radius. You can
specify this in the SPINDL command using the RADIUS,r couplet. However, if this is
not specified in the SPINDL command, the G-POST can output current-X, next-X or
none as shown above.
PTC G-POST Only: When the VTL flag is set in the Option File Generator, the XZ
output was not correct. This has been fixed to ignore the setting if INTCOM(1883),
since the input NCL coordinates are always in GOTO/X,0,Z format.

20

Release Notes

FIL
When the same variable name like PAT1 is used for a text string and scalars (via
re-definition), the G-POST executable may be terminated with a memory error. This
error may happen only with large FIL files. This has been corrected.
When an encrypted file (INCLUD/BINARY,file) contained both upper and
lowercase data, it failed in the G-POST with FIL errors. This has been corrected.
When creating an encrypted file with the utility wncrypt.exe, any INCLUDE/cmd
statements were not expanded. This caused FIL errors in the G-POST. The
wncrypt.exe now expands the INCLUDE/cmd statements when the binary file is
created.
Added new POSTF function type 28. For a given word/scalar/couplet, find its
location in the current CL record.
RSLT = POSTF(28,arg1,arg2)
arg1: type of input given in arg2
1=find index matching scalar in arg2
2=find index matching minor word in arg2
3=find index matching minor word couplet in arg2
arg2: scalar/word to search
RSLT: location index or zero if not found
Search is started from the right of the "/" of the command. So the location index
returned will be in the range of 4 and the number of words in the current CL record
or zero.
Example:
1. CL record is: SPINDL/300,HIGH,RPM,81,CLW,RANGE,1
To find index of word with scalar value 81 use:
IXD=POSTF(28,1,81)
IDX will be set to 7
2. CL record is: SPINDL/300,HIGH,RPM,LOCK,CLW,RANGE,1
To find index of word HIGH use:

Release Notes

21

IDX=POSTF(28,2,(ICODEF(HIGH)))
IDX will be set to 5
3. CL record is: SPINDL/300,HIGH,RPM,LOCK,CLW,RANGE,1
To find index of word LOW use:
IDX=POSTF(28,2,(ICODEF(LOW)))
IDX will be set to 0 as not found.
4. CL record is: SPINDL/300,HIGH,RPM,LOW,LOCK,81,RANGE,1
To find index of couplet word LOCK use:
IDX=POSTF(28,3,(ICODEF(LOCK)))
IDX will be set to 8 for LOCK
Note: Use LVL=POSTF(7,(IDX+1)) to get couplet value 81.
Added new POSTF function type 29. Used to remove a word/scalar/couplet from
the current CL record.
RSLT = POSTF(29,arg1,arg2)
arg1: type of input given in arg2
1=remove CL record location given in arg2
2=remove matching scalar in arg2
3=remove matching minor word in arg2
4=remove matching minor word couplet in arg2
arg2: 1st location/scalar/word
RSLT: zero returned, adjust number of words
With type=1, the location index (arg2) must be greater than 3 and less than the
number of words in the current CL record.
With type=2 a zero value (arg2) is valid to remove that word.
With type=3 a zero value (arg2) will be ignored.
With type=4 two words will be removed like couplet LOCK,81
Caution: Once a word is removed, it is important to note the number of words in
the current CL record will be adjusted using Function Type 12.
Example:

22

Release Notes

1. CL Record is: SPINDL/300,HIGH,RPM,LOCK,CLW,RANGE,1


To remove HIGH which is word 5 use:
DMY=POSTF(29,1,5)
New Clrec:SPINDL/300,RPM,CLW,RANGE,1
2. CL record is: SPINDL/300,HIGH,RPM,81,CLW,RANGE,1
To remove word with scalar value 81 use:
DMY=POSTF(29,2,81)
New Clrec:SPINDL/300,HIGH,RPM,CLW,RANGE,1
3. CL record is: SPINDL/300,HIGH,RPM,LOCK,CLW,RANGE,1
To remove the words HIGH and LOCK as (1) above use:
DMY=POSTF(29,3,(ICODEF(HIGH)))
DMY=POSTF(29,3,(ICODEF(LOCK)))
New Clrec:SPINDL/300,RPM,CLW,RANGE,1
4. CL record is: SPINDL/300,HIGH,RPM,LOCK,1,ON,CLW,RANGE,1,
To remove the couplet words LOCK and RANGE use:
DMY=POSTF(29,4,(ICODEF(LOCK)))
DMY=POSTF(29,4,(ICODEF(RANGE)))
New Clrec:SPINDL/300,HIGH,RPM,ON,CLW
The SCALF function has been enhanced to parse string and number. The
current I1=SCALF(T1) has one input, and it will return the number of the string. If
the string T1 has multiple numbers or a tape block (N1 G2) it will not work. The new
function will parse and return the data in pairs of text and number.
RSLT = SCALF(T1,N1,T2,D2)
T1
N1
T2
D2

input text to parse


desired token number (1st number is token one etc)
where the parsed string will be stored
where the parsed number will be stored

RSLT: Zero will be returned if a pair is found and one if there are no more tokens.
Example:
1. Input is:

Release Notes

T1=TEXT/'32.34'
I1=SCALF(T1)

$$ I1 will be 32.34 as before

I1=SCALF(T1,1,T2,D2)

$$ get 1st token

23

$$ I1=0 T1='EMPTY',D2=32.34
I1=SCALF(T1,2,T2,D2)

$$ get 2nd token


$$ I1=1 T1='EMPTY',D2=999999 (EMPTY)

2. Input is:

T1=TEXT/'N3 G02 X22.22 Y33.33$'


I1=SCALF(T1,1,T2,D2)

$$ get 1st token


$$ I1=0 T2='N',D2=3

I1=SCALF(T1,2,T2,D2)

$$ get 2nd token


$$ I1=0 T2='G',D2=2

I1=SCALF(T1,3,T2,D2)

$$ get 3rd token


$$ I1=0 T2='X',D2=22.22

I1=SCALF(T1,4,T2,D2)

$$ get 4th token


$$ I1=0 T2='Y',D2=33.33

I1=SCALF(T1,5,T2,D2)

$$ get 4th token


$$ I1=1 T2='Y',D2=33.33

3. Input is:

TT1=TEXT/'N3,G02,X22.22,Y33.33
I1=SCALF(T1,1,T2,D2)

$$ get 1st token


$$ I1=0 T2='N',D2=3

I1=SCALF(T1,2,T2,D2)

$$ get 2nd token


$$ I1=0 T2='G',D2=2

I1=SCALF(T1,3,T2,D2)

$$ get 3rd token


$$ I1=0 T2='X',D2=22.22

I1=SCALF(T1,4,T2,D2)

$$ get 4th token


$$ I1=0 T2='Y',D2=33.33

I1=SCALF(T1,5,T2,D2)

$$ get 4th token


$$ I1=1 T2='Y',D2=33.33

Note: If there is no string preceding the number T2='EMPTY'. If there is no number


following the string D2=999999 for EMPTY. When n1 is greater than the number of
tokens, RSLT=1, n1 must be greater than zero. Leading blanks before a token are
ignored. A comma, blank or alpha character after a number will be a delimiter.
Added an optional 2nd argument to TEXT/PART,n
n=0 or none, return input file with full path and extension
n=0 to 4 for file (INPUT) information:

24

Release Notes

n=1
n=2
n=3
n=4

return name and extension


return name
return extension
return path

n=11 to 13 for program number (PGM) information:


n=11 return program number from common
n=12 return program prefix string
n=13 return program postfix string
Example:
1. Input file is: C:\FADAL\TEST.APT
T1=TEXT/PART will be C:\FADAL\TEST.APT
T1=TEXT/PART,0 will be C:\FADAL\TEST.APT
T1=TEXT/PART,1 will be TEST.APT
T1=TEXT/PART,2 will be TEST
T1=TEXT/PART,3 will be APT
T1=TEXT/PART,4 will be C:\FADAL\
2. Program number block is: ABCD1234EFGH
T11=TEXT/PART,11 will be 1234 for PGM number
T12=TEXT/PART,12 will be ABCD for PGM prefix
T13=TEXT/PART,13 will be EFGH for PGM postfix
Added an optional 2nd argument to TEXT/TIMES,n
Options(n=0,1) already exist, only documented here.
n=0 or none, return date and time as before.
n=1 return 4-digit date as before.
New options added:
n=2 return date only
n=3 return time only
n=12 return date with 4-digit year format
Example:
T00=TEXT/TIMES
T01=TEXT/TIMES,1
T02=TEXT/TIMES,2
T03=TEXT/TIMES,3
T12=TEXT/TIMES,12

Release Notes

will be 06/11/01 16:23:43


will be 06/11/2001 16:23:43
will be 06/11/01
will be 16:23:43
will be 06/11/2001

25

Added a new TEXT/DATA command to get the string of an ENV variable.


T2=TEXT/T1 where T1=is the ENV variable and T2 will be its expansion.
Example:
T1=TEXT/'CAMSYS'
TCAM=TEXT/DATA,T1
$$ will return c:\camsys
TPTH=TEXT/DATA,(TEXT/'PATH')
TUNC=TEXT/DATA,(TEXT/LOW,(TEXT/'UNC'))
Notes:
If the ENV variable is not defined, T2=will be a blank.
T2 will be trimmed to 128 characters, say if PATH is longer.
T2 will be case sensitive, meaning no upper case conversion
CIMFIL/AT-AUTO-ALL enhancements for the Factory Interface Language (FIL).
New CIMFIL/AT-AUTO-ALL,* FIL commands have been added to the G-POST.
Before there was only CIMFIL/ON,major to catch a CL record in a FIL file. After
getting the record, you would have to search/parse the record to find a minor word.
For example, you only want to stop when there is a word like HIGH in the
SPINDL/cmd. Any other form of the command, you want the G-POST to process.
Now you can do this with CIMFIL/AT, CIMFIL/AUTO or CIMFIL/ALL commands.
CIMFIL/AT-AUTO,major,DATA,DATA,word,word,number...etc
This command looks for an exact/up to match of the CL record. The word DATA is a
placeholder (or wild token), it says skip any word at this location in the current
record during match. If there is a match, then FIL processing will start similar to
CIMFIL/ON command.
CIMFIL/AT-AUTO,SAME-SMALL-LARGE,major,DATA,word,number...etc
Optionally, you can also use the words SMALL or LARGE to indicate if the number
in the CL record should be tested as "smaller or larger". The default is "same"
meaning to test for equality. You can specify the word SAME for your
documentation purpose but is not required.
For example, CIMFFIL/AT,SMALL,GOTO,45 will catch any X-value of the
GOTO/cmd that is less than 45, like 10,15 etc and 46 will fail the test.
Note: A value in the range of (-0.000001 to +0.000001) in the CL record is treated
as zero. Also the SMALL-LARGE option only applies to a scalar match and is
ignored for a minor word search.
AT is used to match up to the specified word(s), but if the current CL record is
longer than specified in the AT command, accept it.

26

Release Notes

AUTO is used to match the current CL record exactly! The current CL record
must be exactly the same length as it is specified in the AUTO command.
CIMFIL/ALL,major,word,word,number...etc
This command looks for any of the words or numbers in the CL record. Unlike the
AT or AUTO option above, the position is not matched. If there is a match, then FIL
processing will start similar to CIMFIL/ON command.
A simple rule to follow for deciding on a CIMFIL/cmd:
1. To catch any SPINDL record:
Use CIMFIL/ON,SPINDL
2. To catch a SPINDL record with CLW at 4th location:
Use CIMFIL/AT,SPINDL,CLW
3. To catch a SPINDL record with CLW at 4th location and also match the CL
record exactly in number of words/length:
Use CIMFIL/AUTO,SPINDL,CLW
4. To catch a SPINDL record with CLW anywhere:
Use CIMFIL/ALL,SPINDL,CLW
Examples:
1. You want catch SPINDL records with RANGE,HIGH in locations 6 & 7.
Use CIMFIL/AT,SPINDL,DATA,DATA,RANGE,HIGH
SPINDL/300,CLW,RANGE,HIGH,ON

will match

SPINDL/300,CLW,RANGE,HIGH,ON,LOCK

will match

SPINDL/300,CLW,RANGE,LOW,ON

will not match

SPINDL/400

will not match

2. You want catch SPINDL records with LOCK,81 in locations 5 & 6.


Use CIMFIL/AT,SPINDL,DATA,LOCK,81
SPINDL/300,LOCK,81,ON

will match

SPINDL/300,CLW,RANGE,LOW,ON

will not match

SPINDL/400

will not match

3. You want catch SPINDL records ending with RANGE,HIGH in locations 6 & 7.
Use CIMFIL/AUTO,SPINDL,DATA,DATA,RANGE,HIGH
SPINDL/300,CLW,RANGE,HIGH

will match

SPINDL/300,CLW,RANGE,HIGH,ON,LOCK

will not match

SPINDL/300,CLW,RANGE,LOW,ON

will not match

Release Notes

27

SPINDL/400

will not match

4. You want catch SPINDL records with ORIENT in any location.


Use CIMFIL/ALL,SPINDL,ORIENT
SPINDL/300,LOCK,ORIENT,81,ON

will match

SPINDL/300,CLW,RANGE,LOW,ON

will not match

SPINDL/400

will not match

5. You want catch SPINDL records with 303.5 in any location.


Use CIMFIL/ALL,SPINDL,303.5
SPINDL/300,LOCK,303.5,81,ON

will match

SPINDL/300,CLW,RANGE,LOW,ON

will not match

SPINDL/400

will not match

6. You want catch LOADTL records with a negative tool length.


Use CIMFIL/AT,SMALL,LOADTL,DATA,LENGTH,0
LOADTL/1,LENGTH,-1

will match

SPINDL/1,LENGHT,0

will not match

SPINDL/1,LENGHT,1

will not match

7. You want catch GOTO records with X=33 and Y=44


Use CIMFIL/AT,GOTO,33,44
GOTO/33,44,10

will match

GOTO/22,44,10

will not match

GOTO/22,23,10

will not match

8. You want catch GOTO records with any Y=44


Use CIMFIL/AT,GOTO,DATA,44
GOTO/33,44,0

will match

GOTO/22,44,0

will match

GOTO/22,23,0

will not match

9. You want catch GOTO records with tool axis K=-1


Use CIMFIL/AT,GOTO,DATA,DATA,DATA,DATA,DATA,-1
GOTO/33,44,10,0,0,-1

will match

GOTO/22,44,10,0,0,+1

will not match

GOTO/22,23,10

will not match

10. You want catch GOTO records with Y greater than 10


Use CIMFIL/AT,LARGE,GOTO,DATA,10

28

GOTO/33,44,10,0,0,-1

will match

GOTO/22,-3,10,0,0,1

will not match

Release Notes

GOTO/22,8,10

will not match

Notes:
1. You can have multiple CIMFIL/AT-AUTO or ALL commands to catch and apply
desired FIL exceptions.
2. If more than one CIMFIL/ON-AT-AUTO-ALL are found in the FIL file for the
same major word (say SPINDL), then the G-POST will use the following search
rule:
First search the CIMFIL/AUTO table
If no match, search the CIMFIL/AT table
If no match, search the CIMFIL/ALL table
If no match, use CIMFIL/ON table
3. If you use both CIMFIL/AT,SMALL-LARGE and CIMFIL/AT,SAME format then
CIMFIL/AT,SAME will be matched first, whether the word SAME is given or
implied.
Current CL is GOTO/1,2,3
Your FIL is:
CIMFIL/AT,SMALL,GOTO,3

$$ catch x<3

CIMFIL/OFF
CIMFIL/AT,GOTO,2

$$ catch x=2

CIMFIL/OFF
Since the CL record matches both tests, the equal condition is matched even
though it is after the CIMFIL/AT,SMALL in the FIL file.
4. If you use multiple CIMFIL/AT,SMALL-LARGE sections, the best matching
pattern for the CL record will be chosen.
Current CL is GOTO/1,2,3
Your FIL is:
CIMFIL/AT,SMALL,GOTO,3

$$ catch x<3

CIMFIL/OFF
CIMFIL/AT,SMALL,GOTO,2.5

$$ catch x<2.5

CIMFIL/OFF
Since the CL record matches both tests, the smallest condition is matched
even though it is after first CIMFIL/AT,SMALL in the FIL file.
5. You can combine these commands and use the new POSTF(28-29) functions
to quickly parse a CYCLE or PROBE etc records.
6. The search for a match is started from location 4, which is the right of the "/"
in a command. It is important to supply DATA (or wild token) for CIMFIL/AT
format.

Release Notes

29

7. It would be rare to catch commands other than Type 2000 using the
CIMFIL/AT-AUTO format. If you do, understand the format and the following
rule:
As you know a Type 5000 the XYZ data start at location 6 of the CL record.
The command "CIMFIL/AT-AUTO,GOTO,x-number" is implied and will skip
over the locations 4 and 5.
As you know a Type 3000 the XYZIJKR data start at location 9 of the CL
record. The command "CIMFIL/AT-AUTO,CIRCLE,x-number" is implied and
will skip over the locations 4 thru 8.
8. Do not use the word DATA for the CIMFIL/ALL format as it is not matched by
position.
9. You must supply at least one word/number after the major work with
CIMFIL/AT-AUTO or CIMFIL/ALL. If not an Error=108 will be generated.

30

Release Notes

End of Release Notes

Release Notes

31

Вам также может понравиться