IMSpost Guide
Version 8
Copyright © 2011 by Intelligent Manufacturing Software, Inc.
All rights reserved. Intelligent Manufacturing Software, Inc. reserves the right to change the information in this document without notice. No part of this work may be processed, reproduced, or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or by any
information storage or retrieval system, except as may be expressly permitted in writing by Intelligent Manufacturing Software, Inc.
Printed in the United States of America.
All other product names herein are used for identification purposes only and are recognized as properties (including trademarks, registered trademarks, and referenced copyrighted materials) of their respective companies.
Intelligent Manufacturing Software, Inc. 800 Broadway
Haverhill, MA 01832 USA Tel (978) 556–0077 Fax (978) 556–0171
Table of Contents
OVERVIEW ... 1
Company Profile ... 1
IMSpost Overview ... 1
Installing the IMSpost Software and Getting Started ... 1
Before You Begin ... 2
Licensing ... 2
Loading a Postprocessor ... 3
If You Encounter a Problem... ... 3
IMSpost Structure ... 4
Postprocessor (CLdata) Statements ... 4
Syntax Checking ... 5
POSTCMD: Using Postprocessor Commands via the PPRINT Statement ... 6
Menus and Tool Bars... 6
Menu and Option Notation ... 6
Tool Tips ... 6
Environment Modes and Tool Bars ... 8
Postprocessor ... 8
Controller Emulator ... 8
Terms ... 8
APT Source Statement ... 8
Block Numeration ... 8 Checklist ... 8 CL File ... 9 Comment Block ... 10 Component Types ... 10 Control Register ... 10 Custom Postprocessor ... 10 Cutter Compensation ... 10
Environment and Modes ... 11
Expression ... 11 Function Code ... 11 Function Group ... 11 Graphics Window ... 12 Helical Interpolation ... 12 Integer ... 12
Machine Control Code ... 12
Macro ... 12 NC Program ... 13 Pointer ... 13 Postprocessing ... 13 Project ... 13 Project File ... 13 Real Number ... 13 Static Table ... 14 String ... 14 Tape Format ... 14
Tracking the Tool ... 14
Variable ... 14
MAIN AND SECONDARY TOOL BARS ... 17
Main Tool Bar ... 17
File ... 17 Edit ... 18 View ... 19 Execute ... 20 General ... 20 Controller ... 21 Machine ... 21 Report ... 22 User ... 22 Help ... 22
Secondary Tool Bar ... 23
FILE MENU AND OPTIONS ... 25
New ... 26 Open ... 27 General Options ... 27 Jobs ... 27 Preferences ... 28 Working Directories ... 29 File Extensions ... 29 Editor ... 30 Error Definition ... 30 Apt Definition ... 31
Altering the Definition File With the Apt Definition Option ... 32
Changing the Syntax Order ... 33
Using DEF (Definition) Files ... 35
Create Doc ... 36 GenApt.syntax ... 37 Description ... 37 Description ... 37 History ... 38 Detail ... 39 Macro ... 40 IsoCode ... 41
EXECUTE MENU AND OPTIONS ... 43
Postprocess ... 43
Test Commands ... 45
Debug ... 47
Debug Tool Bars and Options ... 49
New ... 51 Edit ... 52 Import ... 53 Macro Properties ... 54 Search ... 56 Breakpoints ... 56
GENERAL MENU AND OPTIONS ... 57
Start Program ... 58
Input/Output Units ... 59
Part Number ... 60
Start Operation (Catia Only)... 61
Tool Change ... 62
Tool Change ... 62
Coolant ... 66 Cutter Comp ... 67 Feedrate ... 69 Feed/Minute ... 70 Feed/Revolution ... 71 Inverse Time ... 72 Spindle ... 74 Drill Cycles... 75
End Operation (Catia Only) ... 78
End Program ... 79 Threading ... 79 Motion Codes ... 80 Rapid / Form ... 81 Linear ... 83 Circle ... 87 Nurbs ... 90 Arc Fit ... 92 Line Fit ... 95 Shape Repetition ... 96 Sort Output ... 98 New Command ... 99 Macro manager ... 103 New ... 106 Edit ... 107 Import ... 108 Macro Properties ... 109 Search ... 111
CONTROLLER MENU AND OPTIONS ... 113
Block Number ... 114 Comment Blocks ... 116 Register Format ... 117 Basic ... 118 Advanced ... 119 Deleting a Register ... 121
Changing Control Register Formats During Execution ... 121
Function Codes ... 123
USE and One-Shot USE1 Parameters ... 125
Function Groups ... 126
Subprograms ... 127
Tables ... 128
Example of Defining a Lookup Table ... 129
Tape Format ... 132
Import Controller ... 133
Apt Definition ... 133
APT/CL Data Code Types ... 135
Grammar ... 136 Syntax ... 137 Register ... 139 Function ... 141 Variable ... 143 CE Errors ... 147
MACHINE MENU AND OPTIONS ... 149
Motion ... 150
Co-Linear Axes ... 156
Components ... 158
References ... 159
Defining Machine Z Zero ... 161
Multi-Axis ... 163
Multi-axis Setup ... 163
Work Plane ... 168
Import Machine ... 174
IMS Project File ... 174
IMS Model File ... 174
Pre-defined Machines ... 175
REPORT MENU AND OPTIONS ... 177
List ... 180 Block Definition ... 180 Program Header ... 181 Program Footer ... 182 Page Header ... 184 Page Footer ... 185 Page Size ... 187 Table ... 188 Table Definition ... 188 Program Header ... 189 Program Footer ... 190 Page Footer ... 192 Page Header ... 193
USER MENU AND OPTIONS ... 195
User Dialog... 195
Examples ... 201
Descriptive Comments ... 201
Opstop ... 201
MULTI HOME ... 202
HELP MENU AND OPTIONS ... 203
Activate PP File ... 204
Diagnostics ... 205
Sample Diagnostic Report File ... 206
MACRO LANGUAGE COMMANDS ... 209
Accessing Variables Within Macros ... 209
Assignment Statements ... 211
Math Functions in a Macro ... 212
Including Operations in Macros ... 213
Setting Strings in the Macro Language ... 213
FINAL Macro ... 214 ADD ... 214 BOUND ... 214 COPY ... 215 DELETE ... 215 LOCATE ... 215 MOVE ... 216 UPDATE ... 216 Macro Statements ... 217 ASSIGN Statements ... 218
BREAK Statements ... 218
CALL Statements ... 218
Passing Arguments in the CALL Statement ... 219
CASE Statements ... 219 CLREAD Statements... 220 CUT Statements ... 221 FILE Statements ... 221 GETAPT Statements ... 222 GETAT Statements ... 222 GETISO statements ... 222 HOOK Statements ... 223 IF Statements ... 224 OPTIMIZE Statements ... 225 OUTPUT Statements ... 225
Using REGISTER, FUNCTION, and MODE Variables and Values in an OUTPUT Statement ... 226
PRINT and DISPLAY Statements ... 227
PRIORITY Statements ... 228
PUSH and POP statements ... 228
REPORT Statements ... 228 RETURN Statements... 228 ROUND Statements ... 229 RUN Statements ... 229 SEQNO Statements ... 229 SETAT Statements ... 230 SOLUTION Statements ... 230
SOLUTION Statements: Format 1 ... 230
SOLUTION Statements: Format 2 ... 233
SOLUTION Statements: Format 3 ... 235
SOLUTION Statements: Format 4 ... 237
SOLUTION Statements: Format 5 ... 237
SORT Statements ... 238
Sorting Output Example ... 238
SPLIT Statements ... 239 SPRINT Statements ... 240 STREXT Statements ... 241 STRLEN Statements ... 241 STRSTR Statements ... 241 TABLE Statements ... 241 TOKEN Statements ... 242 TOOL_ALONG Statements ... 242
UCASE and LCASE Statements ... 242
USER STATEMENTS ... 243
WHILE Statements ... 243
MACRO LANGUAGE VARIABLES ... 245
CLDATA Variables... 245
CLREAD Variables ... 246
Component Model Example ... 247
COMPONENT Variables ... 248
COOLANT Variables ... 250
CUTCOM (Cutter Compensation) Variables ... 251
CYCLE Variables ... 251
FEED (Feedrate Definition) Variables ... 252
FUNCTION Variables ... 253
Geometry Functions ... 254
VECPROD ... 254
VECLEN ... 254 VECANG ... 255 MATROT ... 255 PNTONPLN ... 255 PNT_LINE_CIR_INTRSC ... 255 PNT_LINE_INTRSC ... 256 LINE_DIST_PARREL ... 256 LINE_PARREL ... 256 LINE_ANGLE_LINE ... 256 MATPNTVEC ... 257 ISIDENT ... 257 BACKMAT ... 257 Geometry Operations... 258 Geometry Assignments ... 260 MACHINE Variables ... 267 MODE Variables ... 268 REGISTER Variables ... 271 SPINDLE Variables ... 273 SYSTEM Variables ... 273
Overview
Intelligent Manufacturing Software (IMS) is the worldwide leader in NC postprocessing software. Founded in 1990, Intelligent Manufacturing Software is a leading provider of manufacturing software products, and a specialist in providing advanced postprocessing solutions.
Companies large and small, from the world's leading CAD/CAM companies, to the smallest machine shops, continually find new ways to use IMS's software to meet and surpass their daily requirements.
Company Profile
Intelligent Manufacturing Software, Inc. is a corporation with over twenty-five years of industry experience in delivering postprocessing solutions; a company that takes pride in delivering total solutions that are tailored to each individual client, and a company that has a vested interest in keeping the customer satisfied. We pride ourselves on delivering industry leading levels of service and support, and we deliver these products and services at a fraction of the cost of our competitors.
IMSpost Overview
IMSpost is the IMS executable module designed for users who wish to develop or maintain their own postprocessors. The IMS product family includes:
The complete postprocessor solution.
Postprocessor configuration.
The world's most flexible selection of standard postprocessors to meet any requirement.
Installing the IMSpost Software and Getting Started
You can request a CD from IMS or you can download your software requirements through the IMS website at:
www.ims-software.com
Installing the software is a simple process that takes only a few minutes. Most customers prefer to use the IMSpost default directories, but you can specify your own pathnames for the necessary directories.
Overview: Installing the IMSpost Software and Getting Started
Before You Begin
Once you have installed the software (from the IMS CD or IMS website), complete these steps before you begin:
1. Request and install a license code. Refer to the Licensing description below.
2. Install specific postprocessor license codes, if applicable. Refer to the Activate PP File option on the Help menu.
Licensing
The IMS protection system provides the means for the protection of both software modules and individual postprocessor project files. This allows a high level of protection for IMS partners, dealers, and resellers against unauthorized use of project files they have developed. The service time and revenue involved in producing postprocessors represents an investment by our partners, and we want to be sure this investment is adequately protected.
The steps involved in obtaining a license are: 1. Decide which license options you require.
For a new license, send your request to [email protected].
For an update of an existing license, send your request to [email protected]. In either case, include the following information with your request.
Customer Information
• Customer Name • Address
• City, State, Country, ZIP/Postal Code • Telephone Number
• Fax Number
Contact Information
The contact information is important, as the license code will be sent by email to this address. • First Name
• Last Name • Title/Position • E-mail
2. Request a license code from IMS or your IMS reseller.
3. Install the license code you receive on your system. To do so, refer to
IMS_license_installation.PDF and see the Hardware Info entries on the Diagnostic dialog. 4. Set up the IMS software environment on your system.
Customize the IMS software environment to better meet your needs by setting preferences for how you would like to use the features of the software (open the File menu and select the Preferences option). A default version of this file is created in the install directory during the installation process. In order for the IMSpexec or IMSpost software to locate this file, it is suggested that you set an environment variable (see your System Administrator) named
Overview: Installing the IMSpost Software and Getting Started
Environment Variable Setup for Windows 2000, NT, or XP
a. In the Windows environment, open the Control Panel. b. Click on System (or System Properties).
c. Go to the Advanced tab.
d. Click the Environment Variables button. e. Click the New button.
f. In the “Variable name” field, enter: IMSDIR_POST_INI
g. In the “Variable value” field, enter the directory path of the imspostw.ini file. This will usually be in the IMS installation directory (for example: C:\Program Files\IMS70a\IMSpost\”).
h. Click OK.
i. Close the System and Control Panel windows. j. Restart your system.
Environment Variable Setup for Windows 98
a. Open a DOS window.
b. From the root directory, edit the autoexec.bat file. The environment variable must point to the directory where the license.ims exists:
IMSDIR_POST_INI=c:\ims\imspost70 c. Save the file.
d. Exit the DOS prompt.
Loading a Postprocessor
Once the environment and preferences are set up correctly, you must load a postprocessor file. You can:
• Load a new postprocessor from the IMS postprocessor library, or • Load an existing postprocessor that you or someone else customized.
If You Encounter a Problem...
If you encounter a problem installing or licensing the software, try troubleshooting using the IMS Diagnostics.
Overview: IMSpost Structure
IMSpost Structure
With the proper controller and machine libraries loaded the simplest form of the IMSpost hierarchy is:
1. Read the INIT/* macro. This macro is designed to declare all variables and machining modes for program start-up.
2. Read the INIT_CFG/* macro. It is here that optional dialogs may be displayed, the controller registers are sorted in their specified order, sequence numbering, and any codes from the Start of Program dialog (General menu, Start Program option) are output.
3. Begin reading each statement passed in through the APT/CL file. Typically, this is the only file the postprocessor is going to read.
If there is not a macro defined for the statement, the statement will be ignored. Various CAM systems pass data to their CL/APT files that has nothing to do with machining. In these cases, macros are not required to support this type of data.
4. Continue reading until the end of the file. Then it generates the FINI_CFG/* macro which will output any specified code from the End of Program dialog (General menu, End Program option), generate all necessary output and error files, then close the file.
Postprocessor (CLdata) Statements
NOTE: If it is not possible to generate all the APT commands you might like to use in your postprocessor due to CAM system limitations, refer to POSTCMD: Using Postprocessor Commands via the PPRINT Statement and the end of this description.
CLdata statements are the statements that are passed on to the postprocessor through the APT/CL part file. These statements consist of major and minor words. Major words are located to the left of the slash (/) and all minor words (CLDATAM) are located to the right of the slash. Numbers (CLDATAN) may also be included to the right of the slash.
In its simplest form, a major word does not have parameters.
If the major word does not exist in the postprocessor macro library, it will be ignored. For example:
STOP/
The following is an example of a major word with a minor word (OFF) parameter: SWITCH/OFF
A major word with a value is: INDEX/3
Whenever a postprocessor statement has more than one parameter, these parameters are separated with a comma delimiter. For example:
LOADTL/10,LENGTH,50 LOADTL is a major word. LENGTH is a minor word. 10 is the first CLDATA value. 50 is the second CLDATA value.
Postprocessors need a way to retract parameters from statements which contain more than one parameter. The hierarchy of these parameters begins with the left and goes to the right. IMSpost
Overview: Postprocessor (CLdata) Statements
keeps track of the values with the CLDATAN. It keeps track of the minor words with
CLDATAM. It keeps track of all the parameters (words + values) with CLDATA. For example: CYCLE/DRILL,-25,MMPM,3000,RAPTO,10,RTRCTO,10,30
GLOBAL.DEPTH = CLDATAN.1 The 1st value (-25) GLOBAL.RAPTO = CLDATAN.3 The 3rd value (10)
GLOBAL.RAPTO = CLDATAN.RIGHT.1.RAPTO Gets the value to the right of minor word RAPTO (10)
GLOBAL.FEED = CLDATAN.2 The 2nd value (3000) GLOBAL.FEED = CLDATAN.RIGHT.1.MMPM 3000
GLOBAL.OPTION = CLDATA.9 The 9th parameter (30) GLOBAL.OPTION = CLDATAN.5 The 5th value (30)
If you connect your values with minor words (such as SWITCH/OFF), your APT statements are not restricted to a specific format. As long as the postprocessor finds the minor word, it will automatically connect its value with it.
Syntax Checking
If your postprocessor statement only has two choices (ON/OFF), you could use an IF statement to see what is coming in (such as SWITCH/OFF). These examples check for minor word OFF:
IF(CLDATAM.1 = "OFF") IF(CLDATAM.OFF)
IF(CLDATAM.OFF = 1)
The first example is looking for OFF to be the first minor word. The second and third examples do not care where the word OFF is located in the postprocessor statement. It is just checking to see if it exists.
When command can have numerous minor words, use the CASE and ENDCASE statements. For example: CASE (CLDATAM) DRILL statement(s) TAP statement(s) OFF statement(s) AUTO statement(s) ENDCASE
There may be a time when you want your macro to determine how many parameters are being passed within the postprocessor statement. Let’s assume you have this postprocessor statement:
HEAD/LEFT,XOFF,120,YOFF,130,OPTION,54 HEAD/*
WORDS = CLDATAM.0 Counts minor words (4): LEFT,XOFF,YOFF,OPTION NUMBERS = CLDATAN.0 Counts numbers (3): 120,130,54
Overview: Menus and Tool Bars
POSTCMD: Using Postprocessor Commands via the PPRINT
Statement
On occasion, because of CAM system limitations, it is not possible to generate all the APT commands you might like to use in your postprocessor. One way IMSpost can get around this limitation is by using the PPRINT statement to pass APT commands to the postprocessor. Because most CAM systems use PPRINT to generate comments, this provides a convenient and almost limitless way to input APT statements.
To use this feature, use the keyword POSTCMD as the start of a PPRINT command. For example:
PPRINT/POSTCMD,COOLNT/MIST
The above command activates the IMSpost COOLNT macro. Of course, whenever this PPRINT/POSTCMD is encountered, the macro must exist in the postprocessor macro file; otherwise, the record will be ignored.
Menus and Tool Bars
After you activate the IMSpost software, load any existing postprocessor in order to activate the tool bars through which you can access various menus, options, and dialogs.
• Main tool bar
• Secondary tool bar, such as:
Menu and Option Notation
Throughout this manual, menus and options are indicated as: Menu > Option
For example, File > Save indicates that you should select the Save option on the File menu.
Tool Tips
When you set your mouse on (but do not click) an option on the secondary tool bar, you will see a tool tip providing a brief description of the feature. For example, when you set your mouse on:
Overview: Menus and Tool Bars
Another type of tool type is provided for some options. It shows the IMSpost function group variable associated with the option. For example, when you set your mouse on:
Coolant off
You see a tool tip for the associated variable:
Overview: Environment Modes and Tool Bars
Environment Modes and Tool Bars
IMSpost operates in two environment modes: Postprocessor and Control Emulator. You can change between these modes by selecting the mode on the secondary tool bar, as shown below.
Postprocessor
Postprocessor is an operating mode in IMSpost that is active when is
displayed on the secondary tool bar:
A postprocessor is a program that formats a neutral CL file into an NC file that is suitable for a specific machine/control combination. The name refers to the fact that the processing takes place after the tool path has been generated.
Controller Emulator
A Controller Emulator or reverse processing option is an integrated part of IMSpost. All library posts now contain the data necessary to convert from ISO format (NC code) to APT/CL
commands.
The Controller Emulator is active when is displayed on the secondary
tool bar:
NOTE: The IMS Controller Emulator functionality includes support for canned cycles, controller subroutines, controller variables and expressions, and multi-axis machines.
Terms
Terms used in this document and the basic tools provided with IMSpost are described below. They are listed in alphabetical order for easy referencing.
APT Source Statement
An APT source statement typically is generated by the CAM software. It passes cutter location and machine function data that will be interpreted by a postprocessor to generate a machine code file. See File > Apt Definition.
Block Numeration
This is the ordering of blocks of information in a machine code file. Block numbering most commonly uses the N register to store this information. See Controller > Block Number.
Checklist
IMSpost provides you with a checklist to guide you through the postprocessor development process, ensuring that you have access to all necessary features, including program codes, controller format, and machine format.
The IMSpost Checklist is a list of steps suggesting a set of tasks necessary to complete your postprocessor. For example:
Overview: Terms
You can access the IMSpost dialog sections directly using the checklist. Simply click on the text line of a particular step and the corresponding dialog will display.
When you have completed a dialog and exited the dialog using the OK/Save buttons (not Cancel), a checkmark will appear in the IMSpost checklist next to the appropriate line. You can toggle the checkmarks on/off for a specific line by double-clicking on the checkmark or empty box.
All checklist information is saved with the postprocessor data file, so it is recalled each time you reload a specific postprocessor.
TIP: You can delete all the checkmarks by selecting them with your mouse. Now when you double-click on a particular dialog to review, a checkmark is displayed.
CL File
A Center Line or Cutter Location (CL) file is a neutral toolpath file that contains generic
commands to perform tasks such as changing a tool or turning on the coolant. A CL file, which is produced by a CAM system, is not intended for a specific machine.
These files are produced in response to the virtually unlimited number of machine and control combinations. Producing a neutral toolpath file accommodates this large variety of output requirements.
Overview: Terms
Comment Block
A comment block is a block of code stored in the machine code file that is not acted on by the machine controller. The block is most often used to comment the machine code file or to provide operator instructions or messages on the controller screen. See Controller > Comment Blocks.
Component Types
A machine component must be one of the four basic types:
TABLE The machine table or rotary table on which the part to be machined is mounted. At least one table piece is a base component, meaning it is not mounted on another component. You may define any number of TABLE type pieces to represent movement of linear or rotary type axes.
PART Component that can be mounted to the topmost TABLE component. This approach is
unnecessary, however, because IMSpost automatically adds this component for you if it is not added explicitly.
HEAD Component used to represent a spindle or rotary axis mounted to the spindle. A HEAD type, unlike a TABLE type, can have direction associated with it, so a direction specifier should be entered in the direction field. Note that this is NOT motion direction, but rather the directional setup of the component itself.
TOOL The cutter that will be doing the machining. Typically, PART components represent what is being machined and TOOL components represent the cutter itself. Both the PART and the TOOL components are specified within the CUT statement. For example, to cut a part component with tools tip:
CUT(PART,TOOL.TIP)
These component types, or pieces, let you physically describe or “build” your machine for the postprocessor mathematical model. See Machine > Components.
Control Register
This is a code, sometimes called a letter address, that stores data to be read and interpreted by the machine control. Typically, it is not enough for a postprocessor to output a value. This value is usually associated with a particular address (G,X,Y,Z,F,S,M) and also needs a proper format. See Controller > Register Format.
Custom Postprocessor
Intelligent Manufacturing Software will develop custom postprocessors for any machine and controller configuration. You can then maintain the posts and make any enhancements you want in-house. Contact IMS for more details:
Telephone: 978-556-0077 Fax: 978-556-0171
Postal address: 800 Broadway, Haverhill, MA 01832 Electronic mail: [email protected]
Cutter Compensation
Cutter compensation is the correction of the cutter line to the left or right of center, from the programmed line. See General > Cutter Comp.
Overview: Terms
Environment and Modes
After you activate the IMSpost software, load any existing postprocessor in order to activate the main tool bar and secondary tool bar (highlighted in the following example) through which you can access various postprocessor dialogs.
IMSpost operates in two environment modes: • Postprocessor
• Control Emulator
Expression
An expression can consist of any supported combination of data types, variables, operations, or functions. For example:
REGISTER.T.VALUE > 24
Combined expressions must be separated with parenthesis. For example: (SYSTEM.MOTION="LINEAR") AND (REGISTER.C.CHANGE) (MACHINE.B > 90) OR (MACHINE.Y < 3.75)
Function Code
A function is a controller code, usually in the form of a G-code or M-code, that causes the machine to take some action. For example, M08 is a function that turns on the coolant. See Controller > Function Codes.
Function Group
Function groups (also referred to as MODES) provide a means for assigning functions into user-defined groups. For example, the MOTION group may contain G00, G01, G02, G03 functions that describe some type of movement to the machine controller. These codes are mutually
exclusive within each group. That is G01 remains in effect until cancelled by another code within the MOTION group.
You categorize functions into groups for two reasons:
• To group together families of functions (such as MOTION, COOLANT, SPINDLE, and CYCLE).
• To assign variable names to functions used repeatedly to simplify macro programming. See Controller > Function Groups.
Each member of a group is assigned a specific function code. For example, the MOTION group links the following members and functions:
• The member POSITION for the ISO function G00 • The member LINEAR for the ISO function G01 • The member CLW for the ISO function G02 • The member CCLW for the ISO function G03
Most of the functions associated with grouping functions are intended for advanced users. You typically must create new function groups or modify existing groups.
Overview: Terms
A function can only be assigned to one group. If you attempt to assign a function to a group that has already been assigned to another group, you will get an error message. You must first remove the function from the group it is in, and then assign it to a different group.
There are many default groups assigned for commonly used codes. Selecting one of the default postprocessor templates automatically sets up a group definition for commonly used functions.
NOTE: You do not have to assign every function to a member of a group. The function groups (modes) are for convenience in macro programming and are not required.
Some of the dialog and menus in IMSpost use the group/mode variables. Changing a function in a dialog may change the function assigned to a group variable. Similarly, changing a group
member’s function assignment may change the setting in a dialog.
Graphics Window
The graphics window (highlighted in the following example) is the largest part of the application display. It is where all of the machine graphics are displayed.
Helical Interpolation
For controllers that can support helical interpolation, IMSpost offers helical interpolation support using the powerful CIRCLE SOLUTION statement. The library postprocessors also have updated CIRCLE macros to support this feature.
In order to enable processing of helical interpolation, check the “Helical interpolation supported” option on the Circle definition dialog. See General > Motion Codes (Circle tab).
Within the ArcFit routine, check the Screw option. See General > Motion Codes (Arc Fit tab).
Integer
An integer value consists of one or more digits, which can be preceded by a sign (+ or -). An integer does not contain a decimal point. Examples of integers are:
GLOBAL.VALUE = - 3 COUNTER = 1
Machine Control Code
A machine control code instructs machines to perform certain tasks, such as turning on the coolant. In some cases, these codes are standardized. For example, an M08 code means to turn on the coolant. In other cases, machine tool builders do not follow the same standard and, as a result, the code required to perform a given function can vary drastically from machine to machine.
Macro
An IMS macro is a set of programming language statements that instructs the postprocessor as to how to respond to a certain event. Each APT source command to be processed by the
postprocessor has an IMS macro of the same name associated with it. All postprocessor output is generated through the execution of an IMS macro.
If any APT source commands do not exist in the macro library, these commands will be ignored by the postprocessor.
Overview: Terms
NC Program
An NC program is produced by a CAM systems to run machine tools such as 2-axis lathes, mills (3-, 4-, and 5-axis), wire EDM machines, mill/turns, lasers, routers, grinders, and punch presses.
Pointer
Pointers are used in conjunction with the LOCATE macro statement. These statements are commonly used throughout the IMS Revpost product.
Postprocessing
Postprocessing is the process of transforming a neutral toolpath file (called a Center Line, Cutter Location, or CL file) into an NC program that will run a machine tool. Postprocessing is
performed by a postprocessor program.
Postprocessing is a simple task with IMSpost. Most of the work occurs beforehand when you create or modify the postprocessor. In most cases, you can edit parameters for controller format, machine structural definition, output file format, and macros using the IMSpost dialogs.
Advanced users also have the option of writing macros. There are two options for running a processor:
• Using the IMSpexec.exe file that is installed with IMSpost, or • Using the IMSpost generator (see Execute > Postprocess).
The historical and modification data associated with a postprocessor file is saved so you can track the file’s history. You can view or modify this information throughout the development cycle of the postprocessor file.
Project
An IMSpost project is a data file consisting of all the parameters necessary for a complete postprocessor. This includes controller definition, machine kinematic description, IMSpost macros, and other postprocessor data.
Multiple projects may be loaded simultaneously in IMSpost. Use File > Open to select an existing project. Use File > New to create a new project.
Project File
A project file is a complete postprocessor stored as an external file. The file is saved in encrypted ASCII format. This data file contains a complete description of the parameters necessary to postprocess a file, including:
• Controller description • Machine description • Output file definition • Macro programs
Use File > Open to select an existing project file. Use File > New to create a new project file.
Real Number
Real number values must be written in standard notation. A real number consists of one or more digits on both sides of a decimal point, which can be preceded by a sign (+ or -). Although input data can have an integral value, such as 3.0, such a number is considered to be a real number by
Overview: Terms
the system. A value is written and stored as a real number unless entered without the decimal point. An example of real numbers is:
GLOBAL.VALUE = 15.375 + 5.775
Static Table
A static table is a table attached to a register. For example, a spindle table might represent 100 rpm by S1, 125 rpm by S2, etc.
S1 = 100 S2 = 125
See Report > Table to construct these tables within IMSpost.
String
A string is a sequence of any number of characters enclosed in double quotes. Only printable ASCII characters are permitted. Control characters are not supported. However, it is possible to substitute a character in a string with a control character.
Examples of strings are: "1234"
"S"
MYSTRING = "AB4E" + "G85"
TOOL_BLOCK = "(** RETRACT FOR SAFETY CLEARANCE **)" DIR = "G90 M3"
Tape Format
Tape format defines the characteristics required by the machine controller to mark the start or end of a file, end of block, or end of program information. See Controller > Tape Format.
Tracking the Tool
IMSpost gives you a number of ways of tracking the tool. To view and select these options, see refer to the “Output using” option (see Machine > Multi-axis > Multi-axis Setup).
Variable
For detailed information, refer to Macro Language Variables.
There are four general types of variables (data) allowed in IMS macros: integer, real number, character string, and pointer. Examples are:
Integer INDEX = 1
Real number GLOBAL.TABLE_FEED = 1200.0
Character string MYTEXT = "G91G28Z0"
Pointer PTH = LOCATE(REGISTER.H)
variable = expression
Typically, if you are setting a variable to a number or another variable name, the expression value should not be surrounded with quotes. For example:
GLOBAL.SPEED = 2000
Overview: Terms
When you are setting the variable to text, it must be enclosed in quotes: MODE.SPINDLE = "OFF"
GLOBAL.TMARK = "G28G91XY"
Besides these, IMSpost categorizes its own system variables: REGISTER, FUNCTION, MODE, MACHINE, SOLUTION, and COMPONENT.
REGISTER is associated with the controller address. REGISTER.X.MODAL = "YES"
REGISTER.T.FORMULA = "? + 100" REGISTER.Z.LAST = 1500.0
FUNCTION is associated with the machine function. FUNCTION.M3.NAME = "M13"
FUNCTION.G1.USE = "X,Z,I,K,F" MODE is the current machining mode.
MODE.SPINDLE="CLW"
MACHINE is a parameter associated with the machine axis. MACHINE.Z.HOME = 4500.0
MACHINE.B.LOCKL = 0
SOLUTION is associated with current motion block.
COMPONENT is associated with the machine models component.
COMPONENT.PART.REFERENCE.DIRECTION.HORIZONTAL = "0,1,0"
The REGISTER, FUNCTION, MODE, MACHINE, and COMPONENT variables are dependent upon what was selected through the various postprocessor dialogs. They are all accessible via the IMS macro language.
The SOLUTION variables are dependent upon the type of motion currently being processed. There is a different set of SOLUTION variables for 3-axis, linear motion, circular motion, and multi-axis motion.
TIP: In your macro debug mode, enter the names of these variable types in the “watch” area. If they are defined, IMSpost will return the results.
Work Coordinate System
The library posts are equipped with the G54-G59 work coordinate systems. As a default they are not activated, but can be very easily. With your postprocessor loaded in the IMS environment: 1. Select User > MULTI HOME.
2. Check the Use Multi Home option.
3. If the G54-G59 codes are to be output in the following motion block, check the option to Output code on next motion block.
Overview: Terms
For experienced IMS macro users, these codes are supported with the UCS_MULTI/* macro. The G54-G59 codes are represented by the MODE.SYSTEM.COORD variables.
Main and Secondary Tool Bars
The main and secondary tool bars in the upper left of the window.
Main Tool Bar
A detailed description of each menu on the main tool bar is provided in this section. Also noted are corresponding buttons on the secondary tool bar as well as control key combinations, if applicable, to access the option.
File
The File menu includes the following options:
Option Button Keys Description
New — — Creates a new postprocessor file (*.lib, *.prj).
Open Ctrl O Opens a browsing dialog that enables you to choose a previously defined postprocessor file (*.lib, *.prj).
Close — — Closes the currently active postprocessor file.
Save — Saves the currently postprocessor file using the same
name.
Save As — — Saves the currently postprocessor file using a different
name that you specify.
Jobs — — Saves the current working environment (saves
breakpoints for debugging). Two options are available: Load Job Loads a saved job file.
Save Job Saves a job to a file.
Preferences — — Customizes working directories, file extensions, and other IMS default conditions.
Error Definition
— — Opens a dialog for error checking.
Apt Definition — — Translates the CAM system APT language. Create Doc — — Creates postprocessor documentation.
Description — — Maintains a history of the postprocessor development.
Main and Secondary Tool Bars: Main Tool Bar
Edit
The Edit menu includes the following options that are used when working with the Debug feature or Macro Manager.
Option Button Keys Description
Undo — Alt
Backspace
Reverses the previous action.
Redo — Ctrl Y Restores the previous action that was reversed
(undone).
Cut Shift
Delete
Cuts the current selection and places it on the Clipboard.
Copy Ctrl C Copies the current selection and places it on the
Clipboard.
Paste Ctrl V Pastes the cut or copied selection from the Clipboard.
Select All — Ctrl A Selects all information, such as all lines of code in a
macro.
Find Ctrl F Searches for specified text.
Replace — Ctrl H Replaces currently selected text with the information
on the Clipboard. Toggle
Bookmark
Ctrl F2 Toggles the bookmark feature to insert or remove bookmarks.
Next Bookmark
F2 Goes to the next temporary bookmark.
Previous Bookmark
Shift F2 Goes to the previous temporary bookmark.
Clear All Bookmarks
— Clears all bookmarks in the window.
Insert/Remove Breakpoint
F9 Inserts a breakpoint at the current location or removes the currently selected breakpoint.
To insert a breakpoint, position your cursor at the line
where you want to insert a breakpoint. Click . A red marker appears to the left of the line. For example, a breakpoint is inserted here at line 31:
To delete a breakpoint, position your cursor at a line where a breakpoint exists (such as line 31 above) and
click .
Remove All Breakpoints
— Removes all existing breakpoints.
Main and Secondary Tool Bars: Main Tool Bar
Option Button Keys Description
Go to line — Ctrl G Enables you to go to a line number that you specify:
Enter the line number, then click Go To.
View
The View menu includes the following options:
Option Button Description
ISO (3D) Automatically rotates the world coordinates of the current machine
to fit the Isometric view.
XZ (Front) Automatically rotates the world coordinates of the current machine
to fit the Front view. The Y axis will be perceived as depth.
YZ (Side) Automatically rotates the world coordinates of the current machine
to fit the Side view. The X axis will be perceived as depth.
XY (Top) Automatically rotates the world coordinates of the current machine
to fit the Top view. The Z axis will be perceived as depth.
Fit View Fits the view to all objects. This centralizes the graphics window on
all of the displayed objects. Debug
Windows
— Enables you to select the windows displayed for use while debugging: • Macro Manager • APT-CL • ISO Code • Watch Window • Machine Refer to Debug. Application Look
Main and Secondary Tool Bars: Main Tool Bar
Execute
The Execute menu includes the following options:
Option Button Description
Postprocess Displays options and enables you to execute an entire program. In Controller Emulator mode, you can reverse postprocess.
Test Commands
Displays options and enables you to perform an on-line test of commands, executing a partial program.
Breakpoints — Available in the next software revision.
General
The General menu includes the following options:
Option Button Description
Start Program — Enables you to enter code for the start of every program. Input/Output
Units
— Enables you to enter default units.
Part Number — Specifies how the postprocessor should handle part number processing.
Start Operation
— (Catia Only) Enables you to enter code for the beginning of all Catia operations.
Tool Change — Opens a tool change dialog.
Coolant Opens the Coolant dialog to set coolant codes and conditions.
Cutter Comp — Opens the Cutter Comp dialog. Feedrate — Displays feed tabs.
Spindle Opens the Spindle dialog to set spindle codes and conditions.
Drill Cycles Opens the Cycle dialog to define drill cycle parameters.
End Operation — (Catia Only) Enables you to enter code for the ending of all Catia operations.
End Program — Enables you to enter code for the end of every program.
Threading — Available in the next software revision.
Motion Codes Sets function codes and conditions for rapid and contouring motion.
Sort Output — Sort registers and G/M code functions. New
Command
— Enables you to automatically create a macro.
Macro manager
Opens the IMS macro file management utility. (Your license must support this.) All macros for the active postprocessor are listed.
Main and Secondary Tool Bars: Main Tool Bar
Controller
The Controller menu includes the following options:
Option Button Description
Block Number Specifies block number sequencing (Nxxxx).
Comment Blocks
Enables you to enter operator comments and set parameters for the comment block.
Register Format
Defines tables for controller register formats. You can set the format of controller letter addresses.
Function Codes
Defines controller function codes. All G/M codes in the postprocessor are listed.
Function Groups
— Lists all Mode/Group variables.
Subprograms — Provides options to support subroutines. Tables — Enables you to create look-up tables.
Tape Format — Provides options for special characters needed on tape (such as %). Import
Controller
— Overrides the existing controller file with another controller file.
Apt Definition Sets the APT definition to convert.
Grammar Sets the grammar format.
Machine
The Machine menu includes the following options:
Option Description
Motion Displays all programmable machine axes. Components Specifies model components.
References Specifies machine offsets (pivot points). Multi-Axis Provides setup options for tool tracking.
Multi-axis Setup Sets specific formatting and conditions for multi-axis programming.
Work Plane Sets formatting for a multi-axis machine with a controller that supports different working planes.
Import Machine
Overrides the existing machine model with:
IMS project file From another postprocessor file.
IMS model file From an existing machine model.
Main and Secondary Tool Bars: Main Tool Bar
Report
The Report menu includes the following options:
Option Button Description
List Creates an optional *.lis output file (enter commentary data along with the machine code).
Table Creates an optional tool data table and displays specified tool/cutter data.
User
The User menu includes the following options:
Option Description
User Dialog Enables you to create custom dialogs. Descriptive Comments EXAMPLE of a user dialog:
Activates tape comments. This is an IMS-developed dialog. Opstop EXAMPLE of a user dialog:
Activates output of M01 codes. This is an IMS-developed dialog. MULTI HOME EXAMPLE of a user dialog:
Enables you to active work coordinate systems. This is an IMS-developed dialog.
Help
The Help menu provides options to displayed information about the IMSpost application or visit the IMS Web site.
The Help menu includes the following options:
Option Button Description
Help Topics Displays IMSpost help information.
Activate PP File
— Enables you to install specific postprocessor (PP) license codes, if applicable.
Diagnostics — Creates a license diagnostic. About
IMSpost
Main and Secondary Tool Bars: Secondary Tool Bar
Secondary Tool Bar
The secondary tool bar appears in the upper left under the main tool bar and looks like this in Postprocessor mode:
It looks like this in Control Emulator mode:
Buttons provide the following functions.
Button Description
Opens a dialog to select a startup postprocessor from a library.
Opens a browsing dialog that enables you to choose a previously defined postprocessor file (*.lib, *.prj). You can also access this option with this key combination: Ctrl O
Saves the currently postprocessor file using the same name.
Cuts the current selection and places it on the Clipboard. You can also access this option with this key combination: Shift Delete
Copies the current selection and places it on the Clipboard. You can also access this option with this key combination: Ctrl C
Pastes the cut or copied selection from the Clipboard. You can also access this option with this key combination: Ctrl V
Toggles between the Postprocessor and Control Emulator mode environments.
Displays the checklist.
Displays options and enables you to execute an entire program.
Displays options and enables you to perform an on-line test of commands, executing a partial program.
Opens the IMS macro file management utility. (Your license must support this.) All macros for the active postprocessor are listed.
Sets function codes and conditions for rapid and contouring motion.
(Available with Postprocessor only.) Specifies block number sequencing (Nxxxx).
(Available with Postprocessor only.) Enables you to enter operator comments and set parameters for the comment block.
Defines tables for controller register formats. You can set the format of controller letter addresses.
Defines controller function codes. All G/M codes in the postprocessor are listed.
(Available with Postprocessor only.) Creates an optional *.lis output file (enter commentary data along with the machine code).
Main and Secondary Tool Bars: Secondary Tool Bar
Button Description
Opens the Coolant dialog to set coolant codes and conditions.
Opens the Spindle dialog to set spindle codes and conditions.
(Available with Postprocessor only.) Opens the Cycle dialog to define drill cycle parameters.
(Available with Control Emulator only.) Sets the grammar format.
(Available with Control Emulator only.) Sets the APT definition to convert.
Displays IMSpost help information.
Quits the application and prompts you to save documents.
Control the camera view. From left to right, the buttons are Isometric (3D) view, Front view, Side view, and Top view.
Control camera zoom features. From left to right, the buttons zoom in (closer), zoom out (away), and zoom onto a captured window in a bounding rectangle.
Fits the view to all objects. This centralizes the graphics window on all of the displayed objects.
Jogs the machine axis.
File Menu and Options
The File menu provides general file operations:
Option Button Keys Description
New — — Creates a new postprocessor file (*.lib, *.prj).
Open Ctrl O Opens a browsing dialog that enables you to choose a previously defined postprocessor file (*.lib, *.prj).
Close — — Closes the currently active postprocessor file.
Save — Saves the currently postprocessor file using the same
name.
Save As — — Saves the currently postprocessor file using a different
name that you specify.
Jobs — — Saves the current working environment (saves
breakpoints for debugging). Two options are available: Load Job Loads a saved job file.
Save Job Saves a job to a file.
Preferences — — Customizes working directories, file extensions, and other IMS default conditions.
Error Definition
— — Opens a dialog for error checking.
Apt Definition — — Translates the CAM system APT language. Create Doc — — Creates postprocessor documentation.
Description — — Maintains a history of the postprocessor development.
File Menu and Options: New
New
Creating a postprocessor through IMS consists of selecting a controller and connecting it to a machine model.
1. When you select File > New, IMSpost guides you through the necessary steps to ensure the proper machine definition:
e. Select a postprocessor library file from the Postprocessor Listing. A description of this postprocessor and sample ISO code will display immediately in the areas to the right of the listing.
f. Select your machine configuration from the machine model library. Click the Browse button to view the choices.
g. Click Next.
2. Various dialogs will prompt you to enter specific information based on the postprocessor file you selected. Work through these and click Next after each dialog. If necessary use the Back button to return to any previous dialogs.
NOTE: The dialogs are related to the options available on the General menu. 3. Save the new postprocessor file by selecting File > Save.
File Menu and Options: Open
Open
This option (also available with ) opens a browsing dialog that enables you to choose a previously defined postprocessor file (*.lib, *.prj).
NOTE: Multiple project files can be open at a time. Be sure to save your work before opening a different postprocessor file.
1. When you select File > New, IMSpost displays a projects browser in the directory you selected as the default postprocessor directory.
2. Select a project file from the list.
3. Click Open. The name of the project file appears in the window title bar.
General Options
Several options available on the File menu are common to most applications: New, Open, Close, Save, Save As, and Exit. Procedures for these options are self-explanatory.
Option Button Keys Description
Close — — Closes the currently active postprocessor file.
Save — Saves the currently postprocessor file using the same
name.
Save As — — Saves the currently postprocessor file using a different
name that you specify.
Exit — Quits the application. Prompts you to save documents.
Jobs
A job in IMSpost is a collection of data that represents a complete working environment. You can save a job, exit IMSpost, and then load the same job to maintain your complete working
environment between IMSpost sessions. Jobs are saved as ASCII-type data files, with the file extension: .job
When you select the Jobs option, two additional options are available: Load Job to load a saved job.
Save Job to save a job.
The data saved in a job file consists of the following: • Current postprocessor (project) file name. • APT input file name.
• NC code output file name. • APT/CL input type
• Test commands entered in the Test Dialog. • Debug ON/OFF status
• Debugger breakpoints • Debugger watch variables
File Menu and Options: Preferences
Preferences
The Preferences option enables you to customize the working environment to your requirements. You can customize working directories, file extensions, and other IMS default conditions.
1. Modify the working directories, as described below.
2. Modify the file extensions for each file type, as described below. 3. Set your default system editor, as described below.
4. Set the startup/default APT/CL input file type. Click the down arrow and select from the list. The license you purchase from IMS will allow your specific cam system(s).
5. Select the language to use.
File Menu and Options: Preferences
Working Directories
Directories that you can customize are:
Field Description
Project files Pathname and directory where postprocessor files reside. APT/CL files Directory containing APT/CL data input files.
Output files Default output directory for NC code files (*.nc, *.log).
List files Directory for *.lst files (optional output file with commentary data). APT def files Directory for APT/CL definition translation files.
Error files Directory for IMS system and user-defined errors. Language files Directory containing language conversion text files.
Temporary files Directory where any temporary files are created during execution. Machine files Directory where IMSmodel machine definition files reside.
User files Directory where user-created files are stored if you extend IMSpost to incorporate your own programs or DLLs.
Doc files Directory where postprocessor specification files reside.
The following directories also are used by the IMSpexec and/or IMSpost software. Note that you cannot customize the directories for these files.
Type Description
Not specified Directory for the license.ims file.
Not specified Directory for IMS software executable modules.
Bitmap files Directory containing IMSpost bitmap images.
Help files Directory of help system files.
File Extensions
File extensions that you can customize are listed below. Note that the extension on the right side of the dialog is associated with the file type immediately to the left.
Field Description
Project files… Extension Default file extension for project files. APT/CL files… Extension Default file extension for APT/CL files. Output files… Extension Default file extension for NC output files. List files… Extension Default file extension for output list files.
The following extension also is used by the IMSpexec and/or IMSpost software. Note that you cannot customize this extension.
Type Description
File Menu and Options: Error Definition
Editor
The default user editor is most commonly used for displaying output data when necessary (such as to display the output NC file when postprocessing is completed). For IMSpost Standard, or IMSpost Professional users, the user editor may also be used as an editor for the Macro Manager. In the windows environment, the default is usually: notepad
In the UNIX environment, the default is usually: vi
The IMS macro has special features built in the default editor. If you change your editor, these features may not be supported.
Error Definition
This option opens a dialog for error checking. IMSpost maintains the error routines in the following directories:
system.err for standard system error messages. user.err for user-defined (custom) error messages.
NOTE: Your IMS license must include the postprocessor macro utility to support this feature. When defining error messages, there are two important steps to consider:
1. Defining the error message (ID number and descriptive message).
2. Setting conditions to execute the error message (this is usually set up in a postprocessor macro).
1. Select the System Error Definition or User Error Definition tab, as appropriate.
2. You can edit an existing error message. To do so, click on the Id or Message description and change the number and/or text. You also can click to select/unselect error conditions
(described below).
The remainder of this procedure describes how to add an error message.
3. Click in the Id column at the bottom of the list. Enter an integer to represent the error message ID number.
File Menu and Options: Apt Definition
4. Enter the text for the error message in the Message column.
5. Specify the condition(s) for the error message. Select (check) a box for these conditions, as appropriate:
Condition Description
Error Increment the error counter.
Warning Increment the warning counter.
Stop Stop execution of the program.
SCOL Show the current output line.
SCAC Show the current APT command.
SCEM Show the current execution macro.
SCEML Show the current line within macros execution.
DBreak Break in the Debug mode.
Format Indicate that the error contains a formatted string.
Log Write the error to a log file.
PPrint Write as a PPRINT command.
List Write to the list file.
Dialog Display a pop-up dialog message.
Apt Definition
The Apt Definition option is used to translate the CAM system APT language.
Because IMSpost accepts different CL/APT formats from a variety of CAM systems, each individual CAM system has its own definition file. In the past, accounting for the differences between APT or CLdata formats for various CAM systems meant a different postprocessor for each format type. IMSpost makes it possible to use the same postprocessor, even if the input file formats are different. One way this is accomplished is through the use of an APT definition file. It is possible to have an APT definition file for each of the supported CLdata types within IMSpost. Definition files translate the incoming postprocessor statements into the standard IMSpost
statements. This enables IMSpost to translate all the incoming APT/CL statements before they are processed. Because of this, it enables you to use the existing macros in the library files.
An APT definition file contains a mapping of input commands and input command formats from the input CLdata format into the standard IMS format (or any format that you choose). Major words, minor words, the order of parameters programmed, and CLdata values can be mapped to a standard format.
IMSpost offers you two ways to edit these files. You can edit the DEF file (see Using DEF (Definition) Files) or use the Apt Definition option (on the File menu) to alter the definition file as described below.
File Menu and Options: Apt Definition
Altering the Definition File With the Apt Definition Option
Tab Description
Major Words Indicates the mapping of major and minor words. The word in the Name column represents your CAM system. The word in the Replace column represents the IMS term to which the CAM system word will be changed. Minor Words
Command Enables you to specify a translation statement that requires values or modify the order of the command syntax (the order in which the values are output). For example, to convert this APT statement, it would appear in the Name column:
LOAD/TOOL,1,ZOFF,5,ADJUST,1
The following would appear in the Replace column: LOADTL/1,ADJUST,1
You can use the Minor and Variable buttons to modify minor word or variable definitions. You can change the word or variable index and/or value/expression. To do so, click to highlight the information to change and then enter new information. For example:
File Menu and Options: Apt Definition
Tab Description
See Changing the Syntax Order.
String Indicates the mapping of CLdata values. The word in the Name column
represents value. The string in the Instruction column represents the instruction associated with the value.
NOTE: All values are represented by the # sign.
Changing the Syntax Order
For example, if your existing CAM system outputs: MULTAX/
you can map it to: MULTAX/ON Similarly, you can map:
LOADTL/5,ADJUST to:
LOADTL/5,ADJUST,5
When there are values associated with a command, you can arrange the command syntax order by clicking the Variable button. This enables you to rearrange the order of values. A good example is a CYCLE statement:
CYCLE/DRILL,#,#,IPM,#
where the first value (#) represents hole depth, the second value represents the clearance plane, and the last value represents the feed. To translate this statement for IMSpost, you would enter:
CYCLE/DRILL,#,IPM,#,#,#
Because the feed parameter has been rearranged, the order must be defined within the Apt Definition Commands dialog.
The # numbers represent the values on your CAM system. The CLDATA numbers represent the new order. When these need to be repositioned, highlight the name and then click the Variable button to associate the new order.
File Menu and Options: Apt Definition
CAM (Name): LOADTL#,ADJUST
IMSpost (Replace): LOADTL/#,ADJUST,# Index: Value/Expression:
#1 CLDATAN.1
#2 CLDATAN.3
The first value (for the tool) is represented as #1 with a value of CLDATAN.1 (the first value in your APT command). The second value (for tool offset) is represented by #2 with a value of CLDATAN.3 (the third value in your APT command). For example:
LOADTL/1,ADJUST will translate to LOADTL/1,ADJUST,1
If you wanted to ignore the third value in your APT statement and always use the tool number, you could define the second variable as:
#2 CLDATAN.1
Math functions are also allowed. For example: #2 CLDATAN.1 + 1000
#3 CLDATAN.4/2
NOTE: IMSpost knows which definition file to read based on what type of APT/CL input you select. While you are in debug mode, you should see the statement translated properly. IMSpost only translates statements coming in from a file. It will not translate statements you enter in the Test dialog.
NOTE: IMSpost reads the DEF file when IMSpost is activated. Therefore, if any changes are made to any of the DEF files, you must exit and re-enter the IMS environment to incorporate these changes.
File Menu and Options: Apt Definition
Using DEF (Definition) Files
For example, one APT command could be:UNITS/INCH
The standard IMS library macro supports the command UNIT/INCHES. In order to do a direct translation of this statement, go into the appropriate DEF file (in the /deffiles directory) and add the following statement:
1,UNITS,UNIT
The above example will translate all major words UNITS into UNIT. (The 1 value signifies major words.) Additional examples are:
1,FEEDRATE,FEDRAT Maps FEEDRATE to FEDRAT; use FEDRAT/* macro. 1,LOAD,LOADTL Maps LOAD to LOADTL; use LOADTL/* macro.
In the example below, all minor words INCH are translated to INCHES. (The 2 value signifies minor words.)
2,INCH,INCHES
This example will map one statement into another:
3,MULTAX/ The 3 value signifies an incoming statement. 4,MULTAX/ON The 4 value signifies an outgoing statement. 6,END APT STATEMENT
There may be some commands for which you have to rearrange the parameters. A CYCLE statement is a good example, since every CAM system has its own set of standards. IMSpost interprets the CYCLE/DEEP statements as:
CYCLE/DEEP,FEDTO,#,INCR,#,MMPM,#,RAPTO,# But, your CYCLE/DEEP statement may look something like this:
CYCLE/DRILL,DEEP,STEP,#,MMPM,#,RAPTO,#,FEDTO,#
Because these type of statements include values, it is important to map out the proper order: 3,CYCLE/DRILL,DEEP,STEP,# 1,MMPM,#,RAPTO,#,FEDTO,#
The number 3 signifies the incoming statement. 4,CYCLE/DEEP,FEDTO,1,INCR,# ,MMPM,#,RAPTO,#
The number 4 signifies the outgoing statement. 5,1,CLDATAN.4 Use the 4th value from the incoming statement. 5,2,CLDATAN.1 Use the 1st value.
5,3,CLDATAN.2 Use the 2nd value. 5,4,CLDATAN.3 Use the 3rd value. 6,END APT STATEMENT
File Menu and Options: Create Doc
Use the following numbers as the first value in a line in a DEF file: 1 Use when only translating major words (UNITS/xxx).
2 Use when translating all minor words (xxx/INCHES). 3 INCOMING statement (your CAM system).
4 OUTGOING statement (IMSpost translation).
5 Set order of values. It is not necessary to rearrange values not recognized by the postprocessor macro.
6 End of statement translation. This is not necessary when only using 1 or 2. All others should close with this.
Create Doc
This option provides a utility to create a postprocessor documentation file. This file contains all the letter addresses and machine codes supported by the post. Machine axis data is also included.
To show examples of postprocessor commands, you can select the file: GenAPt.syntax (Refer to the overview of GenAPt.syntax at end of this description.)
1. Click the browse button to the right of the Apt Syntax File field. Select GenApt.syntax or, if you choose not to have these examples in your *.doc files, leave this area blank.
2. In the Doc File field, enter a filename with the extension: .doc
3. Specify the Input type by clicking the down arrow and selecting a type from the list provided. 4. Tailor your documentation file by selecting one option: Minimum, Full, or Custom.
Button Description
Minimum Includes machine codes, controller addresses, and machine limits.
Full Includes same data as above, plus a few extras.
Custom Enables you to pick/omit sections and enter text for your own custom documentation.
When Custom is selected, IMSpost enables you to choose the items and sections of the machine/controller. If any of the displayed sections are not required, select the Skip checkbox. It is recommended to try a few of these options to see the various results.
File Menu and Options: Description
GenApt.syntax
The GenApt.syntax file contains all the postprocessor statements to be included in the document. This generic file is supplied by IMS and can be easily modified for additional statements. The actual APT statements that will be tested are located in the /GenApt directory.
A breakdown of GenAPT.syntax is:
MODE,postprocess - designates postprocessor documentation PATH,GenApt
COMMAND,SPINDLE - name of file (in /GenApt directory) to be tested SYNTAX,SPINDL / [s] [RPM|SFM|SMM] [CLW|CCLW - available syntax APT,CLW,CCLW - test SPINDL with CLW and CCLW parameters
EXT,apt - name of extension END - end of command definition
Description
The Description option enables you to maintain a history of the postprocessor development. The Description dialog includes several tabs, as described below.
Description
Click this tab to enter freeform text describing the postprocessor. Place your cursor in the text area and enter text.