cPost V1R6 - AIP Primeca
Transcription
cPost V1R6 - AIP Primeca
cPost V1R6 User Manual All rights, including those concerning the translation, the reprinting and the reproduction of this manual or parts thereof are reserved by CENIT AG Systemhaus. No part of this documentation may be reproduced or processed, copied or disseminated in any form (photocopy, microfilm or other procedure) using electronic systems, including for the purposes of teaching materials, without the written approval of CENIT AG Systemhaus. Status August 2003 Preface Preface CENIT - Your competent partner for Manufacturing solutions CENIT AG Systemhaus has developed into one of the leading software houses and information technology service providers in Germany as a result of consistent customer orientation and exemplary service. We provide industrial customers, financial service providers, trading companies and official bodies with consultation on the introduction of innovative and promising information technologies. In this case, our range of services ranges from the selection of suitable hardware and software and implementation at the customer’s premises to comprehensive services such as training courses, support or outsourcing. Since many years developed CENIT standardized or customized fabrication solutions to the integration into the CATIA-environment. These are LaserCUT, a module to the 3D laser preparation and CUT4AXES, a solution to the wire cut EDM. Furthermore CENIT has been for many years CAA (CATIA application architecture) respectively OSD (original Software Developer) Development partner for Dassault system in the fabrication-background. cPost The newest generation of the CENIT Post Processor builders (cPost) is a consistent further development proved in the fabrication industry of the CATIA V4-PPB (Post Processor builders). Therewith can the Post Processor (PP) without knowledge of a higher programming language simply and quickly for CATIA V5 and V4 be generated. The Runtime module (cPost Runtime) required for the carrying out of cPost PP’s is an integral component of the CATIA V5 Manufacturing Infrastructure. cPost features • • • • • • • • • • • • • • • • • • • Java based graphical user interface Simple and clear structured Post Processor parameter and output blocks Output of complex command sequences without the use of macros in the output blocks (e.g. Tool change) Optimal support of CATIA V5 Support of modality Effective controller for output order by priorities. Thus avoid the output of not permitted command sequences in one line Milling of 3-5 simultaneous axes plus additional positioning axis Support of all prevalent 5-axes kinematic plus vector, Euler and RPY-output Support of wire EDM RTCP or pivot mode for 5 axes. The calculation can be separately set for several rotation axis Output of the feed rate as inverse time Limit overview Direct context sensitive online help for all parameters and blocks in the panels List for tools and origins at the beginning of the Program Support of sub programs and repeat of part programs support of all prevalent drill cycles preselection of tools 2,5D processing for any plane support of Nurbs © CENIT AG Systemhaus cPost Documentation V1R6 Page i Preface Macro technology The available possibilities of the CENIT Post Processor builder are widened by the integrated macro language. This manner means that user specific processing logics, which are not standard, can be implemented. • • • • • • • Basic like macro language Pre read of any APT command Direct output of commands in the NC program Generation of APT sequences in macros, which are treated as a normal APT command in the cPost Generation of a reportfile at the end of the PP run in an ASCII or HTML format Access of internal variables Changes of the PP configuration at runtime PP Library Included in the delivery of the cPost, is a large library with standard Post Processors for current controls and machine kinematics: • • • • • • • • Sinumerik Heidenhein Fidia GE-Fanuc Mazak Okuma NUM Allen Bradely Based on a available standard Post Processor can very simply and quickly a customer specific Post Processor be developed. Hard- and Software requirements • • • Windows 98/95 Windows NT/2000/XP UNIX-Platform • IBM-AIX • Sun-Solaris • HP-UX • SGI-Irix • Linux Page ii © CENIT AG Systemhaus cPost Documentation V1R6 Contents Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii 1 Installation Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.2 Installing cPost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.2.1 Installing cPost on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.2.2 Installing cPost on UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.3 Installing FLEXlm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3.1 Installation on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3.2 Installation on AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3.3 Installation on HP-UX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3.4 Installation on IRIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.3.5 Installation on SunOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.4 cPost Licensing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.4.1 License models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.4.2 Getting the Hostid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1.4.3 Definition of license file or server . . . . . . . . . . . . . . . . . . . . . . . . . .4 2 cPost Builder User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 The Menubar and The Tool bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 2.2.1 The Menu bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 2.2.2 The Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 2.4 The Parameter Tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 2.5 The Tab Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 2.5.3 Block/Sequence definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 2.5.4 Address definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 2.6 Online help section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 3 Definition of Post Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Functional Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 3.2 MCD Output Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 3.2.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 3.2.2 Tabulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 3.2.3 Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 3.2.4 Defining the output control in the GUI . . . . . . . . . . . . . . . . . . . . .22 3.3 Format Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.3.1 Format for Numerical Variables . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.3.1.1 Format Definition In the GUI . . . . . . . . . . . . . . . . . . . . .23 3.3.2 Format for Text Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 3.4 Sequence Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3.4.3 Pool Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3.4.4 Accessing Pool Variables in Sequences . . . . . . . . . . . . . . . . . . .25 3.4.5 Mathematical Functions in Sequences . . . . . . . . . . . . . . . . . . . .25 3.4.6 String functions in Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . .26 3.4.7 Special functions in Sequences . . . . . . . . . . . . . . . . . . . . . . . . . .26 3.4.7.1 CF_MACRO_CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 3.4.7.2 CF_MOD_SETADR$ . . . . . . . . . . . . . . . . . . . . . . . . . . .27 3.4.8 Special Characters for Sequence Definition . . . . . . . . . . . . . . . .28 © CENIT AG Systemhaus cPost Documentation V1R6 Page iii Contents 3.4.9 Sequence definition block in the GUI . . . . . . . . . . . . . . . . . . . . . .29 3.4.10 Examples for sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 4 Macro Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1 Macro Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 4.1.1 Nesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 4.1.2 Recursive Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 4.2 General Notes on usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 4.2.1 Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 4.2.2 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 4.2.3 TRUE and FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 4.2.4 Operators and Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 4.2.5 Macro Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 4.2.5.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 4.2.5.2 Variable range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 4.2.5.3 Variable types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 4.2.5.4 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 4.3 cPost supported standard BASIC commands . . . . . . . . . . . . . . . . . . .36 4.3.1 Mathematical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 4.3.2 String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 4.3.3 Control structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 4.3.4 Input/Output and Filehandling . . . . . . . . . . . . . . . . . . . . . . . . . . .49 4.3.5 Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 4.4 Additional cPost Functions (CF_xxx) . . . . . . . . . . . . . . . . . . . . . . . . . .55 4.4.1 cPost Parameter Definition Functions . . . . . . . . . . . . . . . . . . . . .55 4.4.1.1 CF_GETPARADR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 4.4.1.2 CF_GETPARADRTAB . . . . . . . . . . . . . . . . . . . . . . . . . .56 4.4.1.3 CF_GETPARADRP1. . . . . . . . . . . . . . . . . . . . . . . . . . . .57 4.4.1.4 CF_GETPARADRP2. . . . . . . . . . . . . . . . . . . . . . . . . . . .57 4.4.1.5 CF_GETPARADRMOD. . . . . . . . . . . . . . . . . . . . . . . . . .58 4.4.1.6 CF_GETPARADRFMT$ . . . . . . . . . . . . . . . . . . . . . . . . .58 4.4.1.7 CF_GETPARINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 4.4.1.8 CF_GETPARREAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 4.4.1.9 CF_GETPARSTR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 4.4.1.10 CF_GETPARTDB$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 4.4.1.11 CF_SETPARADR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 4.4.1.12 CF_SETPARADRTAB . . . . . . . . . . . . . . . . . . . . . . . . .61 4.4.1.13 CF_SETPARADRP1 . . . . . . . . . . . . . . . . . . . . . . . . . . .62 4.4.1.14 CF_SETPARADRP2 . . . . . . . . . . . . . . . . . . . . . . . . . . .62 4.4.1.15 CF_SETPARADRMOD . . . . . . . . . . . . . . . . . . . . . . . . .63 4.4.1.16 CF_SETPARADRFMT$ . . . . . . . . . . . . . . . . . . . . . . . .63 4.4.1.17 CF_SETPARINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 4.4.1.18 CF_SETPARREAL . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 4.4.1.19 CF_SETPARSTR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 4.4.1.20 CF_SETPARTDB$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 4.4.1.21 CF_UPDATEPAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 4.4.2 cPost I/O Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 4.4.2.1 CF_APTTXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 4.4.2.2 CF_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 4.4.2.3 CF_FMTVAL$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Page iv © CENIT AG Systemhaus cPost Documentation V1R6 Contents 4.4.2.4 CF_REPTXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 4.4.2.5 CF_MOD_SETADR$ . . . . . . . . . . . . . . . . . . . . . . . . . . .68 4.4.3 cPost Control Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 4.4.3.1 CF_GETAPTLINE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 4.4.3.2 CF_GETNXTCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 4.4.3.3 CF_GETPTYPE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 4.4.3.4 CF_GETSTATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 4.4.3.5 CF_GETSTYPE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 4.4.3.6 CF_PUTCO2POOL. . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 4.4.3.7 CF_SETCOMODE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 4.4.3.8 CF_SETSTATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 4.4.3.9 CF_VAR_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 4.5 Macro examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 5 cPost Tab Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1 HEADER INFORMATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 5.1.1 PPHEADER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 5.1.2 DOCUMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 5.2 GLOBAL SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 5.2.1 NUMBER FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 5.2.2 SEQUENCE SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 5.3 MACHINE TOOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 5.3.1 MACHINE TOOL TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 5.3.2 MACHINE LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82 5.3.2.1 MACHINE LIMITS FEED . . . . . . . . . . . . . . . . . . . . . . . .82 5.3.2.2 MACHINE LIMITS SPINDLE. . . . . . . . . . . . . . . . . . . . . .83 5.3.2.3 MACHINE LIMITS TRAVEL . . . . . . . . . . . . . . . . . . . . . .84 5.3.2.4 MACHINE TOLERANCES . . . . . . . . . . . . . . . . . . . . . . .85 5.3.3 MACHINE POSITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 5.3.4 MACHINE TOOL TOOLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 5.3.5 MACHINE SPINDLE DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 5.3.6 MACHINE ROTARY AXIS (MULTAX MACHINES) . . . . . . . . . . .90 5.3.6.1 TWO AXIS ON HEAD . . . . . . . . . . . . . . . . . . . . . . . . . . .90 5.3.6.2 FIRST HEAD AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 5.3.6.3 SECOND HEAD AXIS. . . . . . . . . . . . . . . . . . . . . . . . . . .94 5.3.6.4 TWO AXIS ON TABLE . . . . . . . . . . . . . . . . . . . . . . . . . .97 5.3.6.5 FIRST TABLE AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 5.3.6.6 SECOND TABLE AXIS . . . . . . . . . . . . . . . . . . . . . . . . .101 5.3.6.7 AXIS ON TABLE HEAD . . . . . . . . . . . . . . . . . . . . . . . .104 5.3.6.8 HEAD AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 5.3.6.9 TABLE AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 5.4 CONTROLLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 5.4.1 DEFAULT SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 5.4.1.1 STARTING CONDITIONS . . . . . . . . . . . . . . . . . . . . . .111 5.4.1.2 CONVERSION FACTORS . . . . . . . . . . . . . . . . . . . . . .113 5.4.1.3 ISO SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 5.4.1.4 REPORT SETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . .115 5.4.2 RECORD NUMBERING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 5.4.3 BEGIN/END COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 5.4.3.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 © CENIT AG Systemhaus cPost Documentation V1R6 Page v Contents 5.4.3.2 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 5.4.4 ISO CODE STRUCTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 5.4.4.1 SUBPROGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 5.4.4.2 REPITITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 5.4.5 M AND G CODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 5.4.5.1 ABS_INCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 5.4.5.2 AUX-, PREFUN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 5.4.5.3 DELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 5.4.5.4 DWELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 5.4.6 MOTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 5.4.6.1 COMMANDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 5.4.6.2 COMMANDS LATHE . . . . . . . . . . . . . . . . . . . . . . . . . .130 5.4.6.3 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 5.4.6.4 ADVANCED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 5.4.6.4.1 CIR2PT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 5.4.6.4.2 NURBS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 5.4.6.4.3 HSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 5.4.6.5 COORDINATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 5.4.6.5.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 5.4.6.5.2 LATHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 5.4.6.5.3 5AXIS (MULTAX MACHINES) . . . . . . . . . . . . .147 5.4.6.5.4 5AXIS EULER (MULTAX MACHINES) . . . . . .150 5.4.6.5.5 5AXIS ADD (MULTAX MACHINES) . . . . . . . .152 5.4.6.5.6 5X INTERMEDIATE POINTS . . . . . . . . . . . . .153 5.4.6.5.7 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 5.4.6.5.8 OPTION 5AXIS (MULTAX MACHINES) . . . . .156 5.4.6.5.9 OPTION 5AXIS EULER . . . . . . . . . . . . . . . . .160 5.4.7 MOTIONS - WIRE MACHINES ONLY . . . . . . . . . . . . . . . . . . . .162 5.4.7.1 COMMANDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 5.4.7.2 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 5.4.7.3 COORDINATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 5.4.7.3.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 5.4.7.3.2 ANGLE OUTPUT (MULTAX) . . . . . . . . . . . . . .166 5.4.7.3.3 LINEAR OUTPUT (MULTAX) . . . . . . . . . . . . .166 5.4.7.3.4 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 5.4.8 FEEDRATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 5.4.8.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 5.4.8.2 5AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 5.4.8.3 LATHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 5.4.8.4 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 5.4.9 SPINDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 5.4.9.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 5.4.9.2 LATHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178 5.4.9.3 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 5.4.10 COOLANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 5.4.10.1 NORMAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 5.4.10.2 FLOOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 5.4.10.3 MIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 5.4.10.4 TAPKUL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 5.4.10.5 THRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 Page vi © CENIT AG Systemhaus cPost Documentation V1R6 Contents 5.4.11 TOOL CHANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 5.4.11.1 SEQUENCES (MILLING MACHINES) . . . . . . . . . . . .186 5.4.11.2 LATHE (TURNING MACHINES) . . . . . . . . . . . . . . . . .187 5.4.11.3 SELECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188 5.4.11.4 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189 5.4.11.5 LIMITS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 5.4.12 TOOL COMPENSATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 5.4.12.1 RADIUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 5.4.12.1.1 GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . .193 5.4.12.1.2 RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 5.4.12.1.3 LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 5.4.12.1.4 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 5.4.12.2 LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 5.4.12.2.1 X_AXIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 5.4.12.2.2 Y_AXIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198 5.4.12.2.3 Z_AXIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 5.4.12.2.4 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 5.4.12.3 NORMAL TO DRIVE SURFACE. . . . . . . . . . . . . . . . .201 5.4.12.3.1 ADDRESSES . . . . . . . . . . . . . . . . . . . . . . . . .201 5.4.12.3.2 COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . .202 5.4.12.4 NORMAL TO PART SURFACE . . . . . . . . . . . . . . . . .203 5.4.12.4.1 ADDRESSES . . . . . . . . . . . . . . . . . . . . . . . . .203 5.4.12.4.2 COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . .204 5.4.13 OPSKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205 5.4.14 COMMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206 5.4.15 INSERTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 5.4.16 ORIGINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209 5.4.17 PLANES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 5.4.17.1 PLANE XY1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 5.4.17.2 PLANE XY2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213 5.4.17.3 PLANE ZX1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214 5.4.17.4 PLANE ZX2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 5.4.17.5 PLANE YZ1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216 5.4.17.6 PLANE YZ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217 5.4.17.7 PLANE ZXL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 5.4.17.8 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219 5.4.18 SETPLANE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220 5.4.18.1 COORDINATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220 5.4.18.2 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221 5.4.18.3 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222 5.4.19 POLAR PLANE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223 5.4.19.1 ADDRESSES FOR POLAR PLANE . . . . . . . . . . . . . .223 5.4.19.2 MOTION COMMANDS . . . . . . . . . . . . . . . . . . . . . . . .224 5.4.19.3 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 5.4.19.4 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226 5.4.20 CYCLES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227 5.4.21 LATHE SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232 5.4.21.1 CLAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232 5.4.21.2 RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233 5.4.21.3 SWITCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 © CENIT AG Systemhaus cPost Documentation V1R6 Page vii Contents 5.4.22 WIRE SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 5.4.22.1 THREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 5.4.22.2 OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 5.4.23 MACROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236 6 APT-Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 6.1 6.2 6.3 6.4 ANGTWO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242 AUXFUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243 BARFED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244 BEGIN NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245 6.4.1 Standard 3X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245 6.4.2 SIEMENS MULTAX NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . .246 6.5 C_VARDEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247 6.6 C_VARPUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248 6.7 CALSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249 6.8 CHNGRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250 6.9 CIR2PT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252 6.10 CLAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253 6.11 CONIC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254 6.12 COOLNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255 6.13 CUTCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 6.13.1 Length Compensation: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256 6.13.2 Radius Compensation:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257 6.13.3 Tool Compensation along a Vector normal to Drive Surface: .258 6.13.4 Tool Compensation along a Vector normal to Part Surface: . .259 6.13.5 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260 6.14 CUTTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261 6.14.1 Milling and powered tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . .261 6.14.2 Turning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262 6.15 CYCLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263 6.16 DEFPLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265 6.17 DEFSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266 6.18 DELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 6.19 DUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268 6.20 DWELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269 6.21 END NURBS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 6.22 ENDSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 6.23 FEDRAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272 6.24 FINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273 6.25 FROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274 6.26 GODLTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275 6.27 GOHOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276 6.28 GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277 6.29 IGNORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278 6.30 INDIRV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 6.31 INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 6.32 LOADTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 6.33 MACH_AXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283 6.34 MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284 6.34.1 Absolute / Incremental output . . . . . . . . . . . . . . . . . . . . . . . . .284 Page viii © CENIT AG Systemhaus cPost Documentation V1R6 Contents 6.35 6.36 6.37 6.38 6.39 6.40 6.41 6.42 6.43 6.44 6.45 6.46 6.47 6.48 6.49 6.50 6.51 6.52 6.53 6.54 6.55 6.56 6.57 6.58 6.34.2 Plane selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285 6.34.3 Automatic plane selection . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 6.34.4 Automatic SETPLN (Frame) selection . . . . . . . . . . . . . . . . . . .287 6.34.5 Output of rotation angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288 6.34.6 Polar planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288 MOTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290 OPSKIP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291 ORIGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292 OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294 PARTNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295 PITCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296 PPRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297 PREFUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298 RAPID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299 REGLTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300 RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301 REWIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302 SELCTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303 SEQNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304 SETANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305 SETPLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306 SPINDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308 STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309 SWITCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310 THREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312 TLAXIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313 TOOLNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 6.56.1 Milling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .314 6.56.2 Turning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 TPRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319 WIRE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320 7 APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 7.1 Pool Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322 7.2 cPost Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333 7.2.1 Sorted by APT command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333 7.2.2 Sorted by Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337 7.3 CF_GETSTATE and CF_SETSTATE Parameters . . . . . . . . . . . . . . . .341 © CENIT AG Systemhaus cPost Documentation V1R6 Page ix Contents Page x © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 1 - Installation Guide 1 Installation Guide 1.1 Prerequisites Software requirements • Java Runtime Environment Version 1.3 • FLEXlm 8.3 or higher Supported platforms • Microsoft Windows 95/98/NT/2000/XP • IBM AIX 4.3.3 • Sun Solaris 2.6 • Silicon Graphics Irix 6.5 1.2 Installing cPost 1.2.1 Installing cPost on Windows • Login as administrator. • Insert CD-Rom. • If the autorun functionality fails, start the file setup.exe in the directory install\cPost\win32 with a doubleclick. • If necessary, install Java runtime (the installation is described in install\Java\ README.htm on CD). If necessary, install FLEXlm (only floating license model, the installation is described in install\FLEXlm\README.htm on CD). • Start the cPost Builder. • Select the location of your FLEXlm license file or the license server. • Check if the licensing is OK, by selecting the HELP Button, then the Info Button and then the System Button. 1.2.2 Installing cPost on UNIX • • • • Login as root. Insert CD-Rom and if it is not automounted, mount CD-Rom. Install cPost by starting install.sh from CD-Rom. Copy or Link the starting scripts cpostRun.sh and cpostRunGUI.sh from the bin directory to a standard directory like /usr/bin, which is in the users PATH. • If necessary, install Java runtime (the installation is described in install/Java/README.htm on CD). • If necessary, install FLEXlm (only floating license model, the installation is described in install/FLEXlm/README.htm on CD • Start the cPost Builder with cpostRun.sh. • Select the location of your FLEXlm license file or the license server. • Check if the licensing is OK, by selecting the HELP Button, then the Info Button and then the System Button. © CENIT AG Systemhaus cPost Documentation V1R6 Page 1 Chapter 1 - Installation Guide 1.3 Installing FLEXlm There are 2 license models possible. The software can be licensed with floating or nodelock licenses. The installation of a license server with the FLEXLm demon is only necessary if cPost shall be licensed with floating licenses. If cPost is licensed with nodelock licenses, you need no installation of FLEXlm software. 1.3.1 • • • • • • Login as administrator Create directory for the FLEXlm binaries, for example: C:\FLEXlm Copy the files of the directory /CDROM/install/FLEXlm/win32 to the target directory License server only: start a dos box and change to the FLExlm directory License server only: Install the FLEXlm demon as a service with the installs.exe (Command: installs –e C:\FLEXlm\lmgrd.exe) License server only: Define the settings of the service (start automatic) (Panel: settings-> services -> select FLEXlm service) 1.3.2 • • • • • • • • • • Installation on HP-UX Login as root Create directory for the FLEXlm binaries, for example: /usr/local/flexlm/HP-UX (Command: mkdir –p /usr/local/flexlm/HP-UX) Copy the files of the directory /CDROM/install/FLEXlm/HP-UX to the target directory (Command: cp /CDROM/install/FLEXlm/HP-UX/* /usr/local/flexlm/HP-UX) License server only: copy the file /usr/local/flexlm/HP-UX/S85lmgrd_cenit to /sbin/init.d/lmgrd_cenit This file must be adjusted: there is a change user (su -) in it. You must define a user, which is running your flexlm server. It is recommended to use not the root. (Command: cp S85lmgrd_cenit /sbin/init.d/lmgrd_cenit) License server only: create a soft link: /sbin/init.d/lmgrd_cenit to /sbin/rc2.d/S85lmgrd_cenit (Command: cd /sbin/rc2.d ; ln -s /sbin/init.d/lmgrd_cenit S85lmgrd_cenit ) 1.3.4 • • Installation on AIX Login as root Create directory for the FLEXlm binaries, for example: /usr/local/flexlm/AIX (Command: mkdir –p /usr/local/flexlm/AIX) Copy the files of the directory /CDROM/install/FLEXlm/AIX to the target directory (Command: cp /CDROM/install/FLEXlm/AIX/* /usr/local/flexlm/AIX) License server only: Copy the /usr/local/flexlm/AIX /rc.flexlm to /etc. This file must be adjusted: there is a change user (su -) in it. You must define a user, which is running your flexlm server. It is recommended to use not the root. License server only: Edit your file /etc/inittab and insert the following line: flexlm:2:once:/etc/rc.flexlm > /dev/console 2>&1 # Starting lmgrd with each reboot 1.3.3 • • Installation on Windows Installation on IRIX Login as root Create directory for the FLEXlm binaries, for example: /usr/local/flexlm/IRIX64 (Command: mkdir –p /usr/local/flexlm/IRIX64) Copy the files of the directory /CDROM/install/FLEXlm/IRIX64 to the target directory (Command: cp /CDROM/install/FLEXlm/IRIX64/* /usr/local/flexlm/IRIX64) License server only: copy the file /usr/local/flexlm/IRIX64/S85lmgrd_cenit to /sbin/rc2.d/S85lmgrd_cenit This file must be adjusted: there is a change user (su -) in it. You must define a user, which is running your FLEXlm server. It is recommended to use not the root. (Command: cp /usr/local/flexlm/IRIX64/S85lmgrd_cenit /sbin/rc2.d/S85lmgrd_cenit) Page 2 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 1 - Installation Guide 1.3.5 • • • • • Installation on SunOS Login as root Create directory for the FLEXlm binaries, for example: /usr/local/flexlm/SunOS (Command: mkdir –p /usr/local/flexlm/SunOS) Copy the files of the directory /CDROM/install/FLEXlm/SunOS to the target directory (Command: cp /CDROM/install/FLEXlm/SunOS/* /usr/local/flexlm/SunOS) License server only: copy the file /usr/local/flexlm/SunOS/S85lmgrd_cenit to /sbin/rc2.d/S85lmgrd_cenit This file must be adjusted: there is a change user (su -) in it. You must define a user, which is running your FLEXlm server. It is recommended to use not the root. (Command: cp /usr/local/flexlm/SunOS/S85lmgrd_cenit /sbin/rc2.d/S85lmgrd_cenit) 1.4 cPost Licensing cPost is licensed by FLEXlm. There are 2 possible license types: • • Nodelock cPost runs only on one computer. There is no installtion of a FLEXlm server necessary. Floating cPost runs on all computers in the same network with the license server. The installation of FLEXlm is necessary. 1.4.1 License models cPost Builder (cPB) and cPost Runtime (cPR) requires a license. There are 4 different license lveles available. The functionality and the limitations depends on this level. There is no limitation on the number of Post Processors you can define or execute with one valid license. The following table shows the license level and its limitation: © CENIT AG Systemhaus cPost Documentation V1R6 Page 3 Chapter 1 - Installation Guide The license levels are: • • • • No license This is a limited trial version. There is no FLEXlm necessary. Demo The generated posts run everywhere but only 10 days after storage. This is the default license type to test the complete functionalty of cPost or for resellers. Site (user) The generated posts run only at one customers site without any other limitation. This is the default customer license type. Service The generated posts run everywhere without limitation. This is the typical service provider license. 1.4.2 Getting the Hostid The hostid is determined with the module lmutil of the FLEXlm directory of the Installation disc: • • • • • • Copy this file to a local temporary directory Open a DOS box on Windows Change to the local directory Type “lmutil lmhostid” The result is the needed hostid for FLEXlm Order your license with this hostid with an email to cam@cenit.de 1.4.3 Definition of license file or server If cPost is started the first time and the license is not found, the following panel pops up. There is a choice between file (nodelock license) and server (floating license). For nodelock licensing mark the switch “Specify the License File”, press the “Next” button and follow the file selection dialog. For floating licensing mark the switch “Specfiy the License Server”, press the “Next” button. The FLEXlm License Finder panel is opened. Page 4 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 1 - Installation Guide Type the port number of the FLEXlm demon and the hostname of the server in the text field. This data can be read from ther SERVER line of the license file. You need the 1st and 3rd parameter. For example: SERVER pnwp00129 000102e17881 7788 means license server name is pnwp00129 license server hostid is 000102e17881 license server port is 7788 The correct input is “7788@pnwp00129”. Now press the “Next” button and the last panel pops up: Press now the “Finish” button. The license definition is now stored in the registry on Windows and in the file .flexlmrc in your home directory on UNIX. The registry key is “CENIT_LICENSE_FILE”. © CENIT AG Systemhaus cPost Documentation V1R6 Page 5 Chapter 1 - Installation Guide Page 6 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 2 - cPost Builder User Interface 2 cPost Builder User Interface This interface is composed of 4 major sections: • • • • Menu bar with Tool bar Parameter Structure Tree Tab Pages Online Help © CENIT AG Systemhaus cPost Documentation V1R6 Page 7 Chapter 2 - cPost Builder User Interface 2.2 The Menubar and The Tool bar 2.2.1 The Menu bar At the top of the panel is the menubar established. • File All actions on files are combined in this menu. It is opened by selecting the “File” button. • • • • • • • • • New: Create a new Post Processor parameter file Open: Open an existing Post Processor parameter file Close: If the file is modified a message panel pops up to save the file before exiting Recent: The last 5 edited parameter files are displayed Import: Import a Post Processor parameter file from TSA/PPB Save: Saves the actual Post Processor parameter file Save as: Saves the actual Post Processor parameter file after changing the name Exit: Closes the cPost Module with or without saving Edit The search function is included in the “Edit” menu. After selecting the “Search” button the Search panel appears. • • Page 8 Text to find: String to look for Start: Start the search © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 2 - cPost Builder User Interface • • Options: • ppID: The parameter ids will be searched for the given string. This option is used to define the panel where you can define parameter with the entered id. • Text: The panel strings will be searched for the given string. This option is used to find all parameters with the input string in the panel text. • Value: The values will be searched for the given string. It is used to search for strings in all input fields including sequences and macros. Extras The language can be selected in this menu. • • Language: • Builder: The list on the left side is shown with the Post Processor parameter id • English: The list on the left side is shown with the English description Options settings: Display settings Set the looking • • • • • • Language • English • Builder Look&Feel: The appearance of the panel can be changed in this menu point Font size defines the size of the text Block colors: The highlighting color of block variables, text and separators can be defined. “OK” saves the new settings and closes the Option settings panel “Cancel” closes the Option settings panel without saving © CENIT AG Systemhaus cPost Documentation V1R6 Page 9 Chapter 2 - cPost Builder User Interface • Options settings: Directories Set the directories • • • Default path for PP parameter files defines the path in which the Post Processor parameter files are stored “OK” saves the new settings and closes the Option settings panel “Cancel” closes the Option settings panel without saving • Windows: All open parameter files are displayed in this menu. If you want to change to one of these files, select it. • Help: In the menu point you can get informations about the product. It is also a link to the cPost website included. 2.2.2 The Toolbar Some special Functions are provided as a icon creates a new file opens an existing file closes an open file saves an open file saves an open file under a different name searchs for a string leaves the product Page 10 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 2 - cPost Builder User Interface 2.4 The Parameter Tree The Parameter structure tree PST gives you an overview over all available parameter, sequences, macros and settings of a Post Processor. The parameter tree has 4 major nodes: • • • • HEADER INFORMATION This section includes all file informations GLOBAL SETTINGS This section includes all global parameters MACHINE TOOL This section includes all machine parameters CONTROLLER This section includes all controller parameters Below this top level structure, all the tab pages with its parameters and sequences are grouped by different topic. The availibilty and the content of the tab pages depend on the selected machine tool type. All nodes in the PST can be opened or closed by double click. Clicking on one entity in the PST makes the appropriate tap page active and the cursor is placed in the input filed of the selected parameter. The online help panel is also updated with the information of the selected parameter. © CENIT AG Systemhaus cPost Documentation V1R6 Page 11 Chapter 2 - cPost Builder User Interface The selection of one parameter tree element opens a tab page and shows the help text for the first variable in the tab page in the help panel. E.g. The selection of FEEDRATE The tab page FEEDRAT is opened and the help text for the Feed address (ADR_FEEDRATE) variable is shown. Each parameter can be selected in the parameter tree section and also direct in the tab page. If the language is changed to builder, the ids of the parameter are displayed in the panels. Page 12 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 2 - cPost Builder User Interface 2.5 The Tab Pages There are different elements on the tab pages depending on the selected parameter. 2.5.3 • • • • • Select box (Modal) the functionality is selected if there is a tick in the box. If selected, all data of the next motion is output without modality check. Switch (don’t read ahead) there is a choice between • “don’t read ahead” this is the default value. It means cPost starts directly with the output of the sequence. The ISO coordiantes of the following motion are not available. • “only read ahead” cPost read ahead in input data and interprets all macros until the next motion. The ISO coordinates of this motion are put in the variable pool and then the sequence is output. • “read and suppress” See “only read ahead” but the following motion is skipped. This flag should be only set to “read ahead” if necessary. It will slow down the pp execution. Switch (has priority) there is a choice between some given possibilities to define the output of the parameters. Counter (Major ID, Minor ID) Either a number can be written in the box or the number can be counted by the arrows beside the box. Text field The sequence definition can be added in this box. The syntax is described in “Sequence Definition” on page 25. 2.5.4 • • • • Block/Sequence definitions Address definitions Select box (Modal) the functionality is selected if there is a tick in the box. It the switch is activated, the modality of this parameter is checked before output. Switch (has priority) there is a choice in between some given possibilities. Counter (Major ID, Minor ID) Either a number can be written in the box or the number can be counted by the arrows beside the box. Text box (Program end command) © CENIT AG Systemhaus cPost Documentation V1R6 Page 13 Chapter 2 - cPost Builder User Interface The required text can be added in the box. If this panel contains also a format definition, it is possible to define a string before and after the formatted value. The syntax is ’string before’;VAL;’string after’. Both parts are available in the variable pool, first one is the normal name, second one has added a ’_2ND’ at the end. For example: The expected output of the X axis is X=<formatted X coordiante>+R100. The definition is ’X=’;VAL;’+R100’. The pool variables are: C_AXIS_X_ADR ’X=’ C_AXIS_X_ADR_2ND ’+R100’. • • “Format” button A new Format can be defined or an existing format can be selcted. Format box The name of a Format can be added in the box. The syntax is described in “Format Definition” on page 23. 2.6 Online help section This section contains some information about the active parameter. The section is updated when a new parameter is selected in the input section or a new parameter is selected in the parameter structure tree. The first line contains the internal cPost identifier of the parameter in brackets. This identifier is needed for the call of some macro functions see in “Additional cPost Functions (CF_xxx)” on page 55. Page 14 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor 3 Definition of Post Processor 3.1 Functional Levels cPost has three different functional levels: • Parameter Parameter manage the output of commands and coordinates (format, syntax), e.g. linear interpolation, spindle, feed, etc. • Sequences (blocks) A sequences allows to output multiple commands at a certain event, e.g. tool change, start of program etc. • Macros Macros are used to cover more complex output with the full capablities of a basic like macro language. Within the macros, a full access to all internal parameter and a powerful function library is given. This functionalty is described separatly in “Macro Language” on page 32 The definition of the output of parameters and seqeunces is described in this chapter. 3.2 MCD Output Control 3.2.1 General All output data is put to an internal output stack by cPost. This output stack is flushed after each motion by default. But it is also possible to flush it like described below. There are two possible ways of arranging the individual command groups from the output stack within the MCD program: • • Setting tabulators Defining priorities The priority defined output has also some additional features. The output stack can be flushed with some special options. This is listed in the following table: Switch Meaning Tabulator Tabulators on; the Tabulator position are used. has priorities Commands or command strings in blocks are output with other preceding or subsequent commands. This means the output stack is not emptied before or after output of the block. has priorities + flush output before Commands or command strings in blocks are not output together with preceding commands, this means the output stack is emptied prior to output of the block. has priorities + flush output after Commands or command strings in blocks are not output together with subsequent commands, this means the output stack is emptied following output of the block. © CENIT AG Systemhaus cPost Documentation V1R6 Page 15 Chapter 3- Definition of Post Processor Switch Meaning has priorities + flush output before and after Commands or command strings in blocks are neither output with preceding nor with subsequent commands, this means the output stack is emptied before and after output of the block. has priorities + separate output Commands or command strings in blocks are output immediately, this means there is no further influencing of the output stack. The following examples shows the different output stack flush options with the output of the LOADTL sequence: APT Program: PARTNO/4711 CUTTER/ 8.000000, .000000, 4.000000, .000000, .000000, .000000, 30.000000 SPINDL/500.00000,RPM,CLW COOLNT/ON LOADTL/2343 FEDRAT/500,MMPM GOTO / 55.00000, 33.00000, 3.00000 RAPID GOTO / .00000, .00000, 100.00000 SPINDL/OFF The LOADTL sequence has default priorities. This means the output of the commands before the LOADTL and the LOADLTL sequence is output together. %MPF4711 N1 (TOOLCHANGE) N11 M06 T2343 G1 X55. N21 G0 X0. Y0. Z100. N31 M05 N41 M30 Y33. Z3. F500 M03 M08 The LOADTL sequence has priorities and output stack is flushed before. This means the output stack is emptied before the LOADTL (SPINDL and COOLNT). The following commands are output together (LOADTL, FEDRAT and GOTO). %MPF4711 N1 S500 N11 (TOOLCHANGE) N21 M06 T2343 G1 X55. N31 G0 X0. Y0. Z100. N41 M05 N51 M30 Page 16 M03 M08 Y33. Z3. F500 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor The LOADTL sequence has priorities and output stack is flushed after the sequence. This means the commands including the LOADTL are output together (SPINDL, CUTTER and LOADTL). Than the output stack will flushed. %MPF4711 N1 (TOOLCHANGE) S500 M03 M08 N11 M06 T2343 N21 G1 X55. Y33. Z3. F500 N31 G0 X0. Y0. Z100. N41 M05 N51 M30 The LOADTL sequence has priorities and the stack is output separate. This means the output stack is flushed before and after the sequence. %MPF4711 N1 S500 M03 M08 N11 (TOOLCHANGE) N21 M06 T2343 N31 G1 X55. Y33. Z3. N41 G0 X0. Y0. Z100. N51 M05 N61 M30 F500 The LOADTL sequence has priorities and the sequence is output directly without flushing the output stack. This means the output stack is not affected from the LOADTL sequence. %MPF4711 N1 (TOOLCHANGE) N11 M06 T2343 N21 G1 X55. Y33. Z3. N31 G0 X0. Y0. Z100. N41 M05 N51 M30 © CENIT AG Systemhaus cPost Documentation V1R6 F500 S500 M03 M08 Page 17 Chapter 3- Definition of Post Processor 3.2.2 Tabulators Setting tabulators ensures that each command in the NC program is always inserted at the same point in a corresponding line. This procedure is simple and produces an NC program with a strict breakdown. Tabulators causes the following problems: • • The strict arrangement of the commands in line with the tabulators can produce gaps in the program lines which do not affect the NC controller of the machine tool, but which may be undesirable in the NC program. The exact length of the individual coordinates must be known when employing the tabulator method so as to avoid conflicts between the tabulators. There will be no output if there is not sufficient space for the minimum number of positions before and after the decimal point. If the maximum number of positions before and after the decimal point is longer, the coordinates will be abbreviated at the expense of accuracy. Example Tabulators are set as follows: command N G0 G1 X Y Z tabulator 1 5 5 9 17 25 It is important that the coordinate format be selected in line with the tabulators. In this case this means: Eight positions available between column 9 and column 17, of which one is required as blank character and one each for the decimal point and the coordinate designation. This leaves five positions which are split up into max. three positions before the decimal point and two afterwards. The APT commands: RAPID GOTO/ 200.000, 100.000, 100.000 GOTO/ 200.000, 100.000, 10.000 GOTO/ 172.120, 65.000, 10.000 GOTO/ 192.120, 65.000, 15.000 produce the following NC program: N1 G0 X200 N2 G1 Z10 N3 X172.12 Y65 N4 X192.12 Z15 Y100 Z100 The gaps due to missing commands can be clearly seen. A position within the line must be assigned to all NC commands (S, F, I, J, K, M03, M07, etc.). The Post Processor automatically starts a new line with the APT commands GOTO, GODLTA, PPRINT, CUTCOM, CIRCLE and CYCLE. Page 18 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor 3.2.3 Priorities The gaps occurring in the NC program lines when using the tabulator method are prevented by defining priorities. That means an appropriate setting of the Major ID and the Minor ID. The IDs determinate the importance of single commands with respect to other commands: The lower the value for a ID the higher the importance of the command. The Major ID establishes the sequence of the individual NC commands in the program line. The commands with the lowest Major ID value (and the highest priority in order to that) are preferred in the sequence and appear at the start of the line. The commands with the higher values (therefore with the lower priority) come after. If two NC commands have the same Major ID, then one of them is written into the preceding line, namely the one with the higher Minor ID (this means with the lower registered value). Here again, the APT commands GOTO, GODLTA, PPRINT, CIRCLE, CUTCOM and CYCLE cause the Post Processor to start a new line. Example Major ID is set as follows: command N G0 G1 X Y Z major id 1 2 2 4 6 8 minor id 0 0 0 0 0 0 The APT program from the example for tabulators (see “Tabulators” on page 18) has now the following NC output: N1 G0 X200 N2 G1 Z10 N3 X172.12 Y65 N4 X192.12 Z15 Y100 Z100 The gaps have disappeared and allowance has been made for the length of the commands (coordinates). The spindle, feed rate and coolant commands have still to be incorporated. Generally speaking, these commands can come in the same line with motion commands after the coordinates. They are thus given higher values for their Major ID. command F S M03 M04 M08 major id 10 12 14 14 16 minor id 0 0 0 0 0 The APT program: RAPID GOTO /200.000, 100.000, 100.000 SPINDL/2000, CLW FEDRAT/150 COOLNT/ ON GOTO /200.000, 100.000, 10.000 © CENIT AG Systemhaus cPost Documentation V1R6 Page 19 Chapter 3- Definition of Post Processor then results in the following NC program: N1 G0 X200 Y100 Z200 N2 G1 Z10 F150 S2000 M03 M08 There is a conflict situation despite the fact that the sequence of commands is correct: Some controls do not accept multiple use of commands from the same letter group in one line. The conflict occurring here between M03 (clockwise rotation of spindle) and M08 (coolant on) is solved by giving both commands the same Major ID. The Post Processor attempts to insert both commands at the same location. The assignment of the Minor ID determines which command (the one with the higher line priority) is inserted in the preceding line. The same major id for M03 and M08 and the following minor id: command F S M03 M08 major id 10 12 14 14 minor id 50 50 30 50 changes the NC output to: N1 G0 N2 M03 N3 G1 X200 Y100 Z200 Z10 F150 S2000 M08 This solves the conflict between M03 and M08, but creates the new problem that the spindle command S can only be given in conjunction with the command M03. Both are given the same Minor ID to enable them to be written into the same line. The spindle command thus accompanies the advanced command M03 into its new line. New minor id for S = 30: command F S M03 M08 major id 10 12 14 14 minor id 50 30 30 50 changes the NC output to: N1 G0 X200 N2 S2000 M03 N3 G1 Z10 Y100 Z200 F150 M08 As the spindle command S still has a lower Major ID, it is inserted before M03. In this case, it is appropriate for the Major ID of S to be only 1 lower than that of M03 to stop any other command in this line with the same Major ID being inserted between the two. Page 20 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor If the coolant command is to be applied before the feed is switched on, only the feed command F and the coolant command M08 must have the same Major ID with the command M08 being given a lower Minor ID value. command F S M03 M08 major id 14 12 14 14 minor id 50 30 30 40 then results the following program: N1 G0 X200 N2 S2000 M03 N3 M08 N4 G1 Z10 Y100 Z200 F150 Summary of selection of major and minor id: • • • • A low value means higher priority. The values may be any integer between 1 and 99. If a value of 0 is set, then this has the lowest priority. The Major ID determines which commands are not allowed to be in the same line. It also establishes the sequence within a line. The Minor ID establishes which values must be in the same line. It also determines which command is brought forward in the event of a major id conflict. Some basic settings: • • • • • All G-commands (G0, G1, G2, G41, G79,...) are given the same Major ID (although the Post Processor automatically jumps to the next line in the case of APT commands which result in a G-command). All M-commands (M03, M04, M08,...) are given the same Major ID. The commands M03, M04 and S receive the same Minor ID. Command M05 must be given a lower Minor ID than the commands M03 and M04, as otherwise the work piece may be approached with the spindle switched off. The Major ID of the coordinates X, Y, Z, I, J and K must ascend in the given sequence and be greater than that of the G-commands. The commands for the sub program call (G22, N, L) must have the same Minor ID. The Major ID is set to ascend in the appropriate order with G22 having the same Major ID as the other G-commands. The same applies accordingly to program sections which are repeated. © CENIT AG Systemhaus cPost Documentation V1R6 Page 21 Chapter 3- Definition of Post Processor 3.2.4 • Defining the output control in the GUI List format: • has Tabulator: • Tabulator (ADR_TAB): • has Priority: • Major ID (ADR_PRIO1): • Minor ID (ADR_PRIO2): • has Priorities + flush output before: • Major ID (ADR_PRIO1): • Minor ID (ADR_PRIO2): • has Priorities + flush output after: • Major ID (ADR_PRIO1): • Minor ID (ADR_PRIO2): • has Priorities + separate output: • Major ID (ADR_PRIO1): • Minor ID (ADR_PRIO2): Tabulator: This defines the tabulator position for this command. Major id: (ADR_PRIO1) The major id defines the output order of commands (parts) in the NC line(s). Valid Values are: 0 (no Priority), 1 (highest priority)... 9999 (lowest priority) The checking rules are: • • • id=0: no check. lower id causes earlier output. same id causes an conflict. Command(s) will be swapped out in a new NC line depending on Minor id rules. Minor id: (ADR_PRIO2) The minor id is used in case of a conflict of the major id between two parts of a new generated iso record. Valid values are: 0 (no priority), 1 (highest priority) .. 9999 (lowest priority) All parts with the same minor id will be swapped out in a separate record together with the conflicting part. The checking rules are: • • lower id causes earlier output. same id or id=0: The output order results in the order how the parts were created (first in first out). Page 22 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor 3.3 Format Definition This paragraph describes the syntax for format descriptions of numerical variables or text variables and the list format parameters of the NC data to be generated. The numerical formats are used in the output of simple commands, sequences and macros. The text formats are only used in the output of sequences. 3.3.1 Format for Numerical Variables A format descriptions defines the number of positions before and after the decimal point in numerical variables. The format syntax consists of the identifying letter N and the number of positions before and after the decimal point. N[+][BeforeMin].[-][AfterMax][%AfterMin] Components Description [+] Output with positive Sign [BeforeMin] Minimum number of positions before the decimal point .[-] Output with decimal point [AfterMax] Maximum number of positions after the decimal point [%AfterMin] Minimum number of positions after the decimal point 3.3.1.1 Format Definition In the GUI • • • • • • • Format type: depending on the selected type the areas are filled different. # of pre decimal digits: • + sign equal [+] • min equal [BeforeMin] Options: • decimal sign for integer equal .[-] # of post decimal digits: • max equal [AfterMax] • min equal [%AfterMin] Format sample output: a preview of the defined format is shown. “OK” button: The definitions are saved and the window is closed. “Cancel” button: The window is closed without saving. © CENIT AG Systemhaus cPost Documentation V1R6 Page 23 Chapter 3- Definition of Post Processor • “Add” button: A new format can be defined. After setting the number of digits press the Add button. Now the Format name is editing. A new name can be given. If an old format should be overwritten, type its name. Then press the Return key. After this press the OK button. The format is now created. 3.3.2 Format for Text Variables This format description can also define the minimum string length of text variables. This format is only used in the sequences described in chapter “Sequence Definition” on page 25. Format Description S The text variable is output unchanged Si The text variable is output unchanged with a minimum length i Page 24 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor 3.4 Sequence Definition MCD seqeunces are used to define complex NC sequences with the help of mathematical functions, pool variables, text information and format descriptions. They are evaluated at every appearance of the corresponding APT command. There is no modality check between sequences and the general output of commands or addresses by default. For this feature you must use the sequence function CF_MOD_SETADR$. 3.4.3 Pool Variables There are several variables with can be used in a sequence definition. All available cPost variables start with C_ and they are listed in the Appendix.See “Pool Variables” on page 322. Only global pool variables can be handled by sequences. 3.4.4 Accessing Pool Variables in Sequences Pool variables can be numerical as well as text variables (alphanumeric variables). The elements of the NC sequence definition must be separated by a semicolon. Each variable or variable term must be followed by its format. The format definition is described in “Format Definition” on page 23. The following list defines the syntax of a sequence: • • • • • Numerical variables can be accessed directly or in a term form with format indication, e.g C_AXIS_X_NXT_POS+100; N1.1; To access the alphanumeric pool variables the format indication S is required, e.g C_AXIS_X_ADR; S; Array or index variables may be read or set using the correct index. In case the current value should be read, the variable name is added by _C, e.g. the actual x axis value of the actual ORIGIN/MANUAL command can be accessed with C_ORIGIN_MAN_X_AXIS_C. Constant text information must be placed either in quotes. There is no format description, e.g. ’fixed text’ or “fixed text” It is not allowed to start pool variables with _ 3.4.5 Mathematical Functions in Sequences The following mathematical functions can be called in sequences: Function call Function ABS(a) Calculates value of expression a ACOS(a) Calculates arc cos of expression a ASIN(a) Calculates arc sin of expression a ATAN(a) Calculates arc tan of expression a COS(a) Calculates cos of expression a INT(a) Truncates decimal points of expression a MAX(a,b) Determines maximum value of a and b MIN(a,b) Determines minimum value of a and b SIGN(a,b) +b when a > 0; –b when a < 0 SIN(a) Calculates sin of expression a SQR(a) Calculates square root of expression a TAN(a) Calculates tan of expression a © CENIT AG Systemhaus cPost Documentation V1R6 Page 25 Chapter 3- Definition of Post Processor 3.4.6 String functions in Sequences It is possible to modify also the output of text variables in sequences. This is supported by the following functions. The syntax is the same as if they are used in macros (see Macro Language): Function call Function LEFT$(string$,nb) Returns only the first nb characters of the inout variable string$, e.g. LEFT$(“TESTSTRING”,4) returns “TEST” LOWER$(string$) Returns the input string$ in non capital letters e.g. LOWER$(“TESTSTRING”) returns “teststring” MID$(string$, start [, nb] ) Returns the characters beginning at the position start until the end (no number defined) or only nb characaters e.g. MID$(“TESTSTRING”,4,3) returns “TST” and MID$(“TESTSTRING”,4) returns “TSTRING” RIGHT$(string$, nb) Returns only the last nb characters of the inout variable string$ e.g. LEFT$(“TESTSTRING”,4) returns “RING” UPPER$(string$) Returns the input string$ in capital letters e.g. UPPER$(“teststring”) returns “TESTSTRING” 3.4.7 Special functions in Sequences 3.4.7.1 CF_MACRO_CALL This function is used to call macros from a sequence. This is necessary if some conditional output has to be created. Syntax: CF_MACRO_CALL (MACRO$) Input: MACRO$ STRING Macro name Example: There is some conditional output in the tool change sequence. If the tool change is automatic, there should be a “L937” call. Otherwise there should be a “L934” call. This is done with the variable A$ in the sequence and the macro TOOL_CHANGE_IF. Sequence definition: A$ = ''; CF_MACRO_CALL("TOOL_CHANGE_IF"); ';=============== TOOL CHANGE =================';$; '; DESC : ';C_TLNO_TLID_C;S;$; ';=============================================';$; 'T';C_TL_CUR_TLID;*INT;' M06';$; A$;S;$; 'G64 SOFT';$; Page 26 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor Macro: IF C_TLNO_TL_CHANGE_C <> ’AUTO’ THEN A$ = ’L934’ ELSE A$ = ’L937’ END IF 3.4.7.2 CF_MOD_SETADR$ This function is used to set the internal data for the modality check of all address parameters (ADR_*). If the second argument is a STRING, this value is direct set. If it is a NUMBER, the value will be formatted with its format first and then set. This function is necessary, because cPost doesn’t check, what is output in sequences. This means the internal data for the modality check is the same like before the sequence output. There is only a switch to reset the arrays for the motion data check. Syntax: CF_MOD_SETADR$ (ID$, VALUE$) or CF_MOD_SETADR$ (ID$, VALUE) Input: ID$ VALUE$ or VALUE STRING STRING Parameter ID New value already formatted NUMBER New value Example: This example shows how this function is used. The input APT for both sequences is the same. The first sequence is without the use of this function, the second uses this function. APT: TOOLNO/10,MILL, 0.787000, 0.000000,, 5.551000, 1.496000,, 1.496000,2,$ 196.850000,IPM, 2500.000000,RPM,CLW,OFF, AUTO, 0.000000,NOTE TPRINT/SFSL_D20.0_LG,Schaftfräser_schlichten_lg,SFSL_D20.0_LG LOADTL/10 SPINDL/ 2500.0000,RPM,CLW RAPID GOTO / -4.33071, -2.75591, 3.93701, 0.000000, 0.000000, 1.000000 Sequence definition without CF_MOD_SETADR$: ';=============== TOOL CHANGE =================';$; '; DESC : ';C_TLNO_TLID_C;S;$; ';=============================================';$; 'T';C_TL_CUR_TLID;*INT;' M06';$; 'S';C_SPINDL_SPEED;*INT;' ';C_SPINDL_WAY_COM;S;$; 'G64 SOFT';$; The Spindle data is output in the tool change sequence. If it is only output in the sequence, there is no update of the internal data. It will output twice: © CENIT AG Systemhaus cPost Documentation V1R6 Page 27 Chapter 3- Definition of Post Processor ISO: N30 ;=============== TOOL CHANGE ================= N40 ; DESC : SFSL_D20.0_LG N50 ;============================================= N60 T10 M06 N70 S2500 M3 N80 G64 SOFT N90 G0 X-4.331 Y-2.756 Z3.937 S2500 M3 The output of S2500 M3 in record N90 can be suppressed with the use of this function. The sequence is changed to: Sequence definition with CF_MOD_SETADR$ : ’;=============== TOOL CHANGE =================’;$; ’; DESC : ’;C_TLNO_TLID_C;S;$; ’;=============================================’;$; ’T’;C_TL_CUR_TLID;*INT;’ M06’;$; ’S’;C_SPINDL_SPEED;*INT;’ ’;C_SPINDL_WAY_COM;S;$; ’G64 SOFT’;$; CF_MOD_SETADR$("SPINDLE_SPEED",C_SPINDL_SPEED); CF_MOD_SETADR$("SPINDLE_CLOCKWISE",C_SPINDL_WAY_COM); The generated ISO is now: ISO: N30 ;=============== TOOL CHANGE ================= N40 ; DESC : SFSL_D20.0_LG N50 ;============================================= N60 T10 M06 N70 S2500 M3 N80 G64 SOFT N90 G0 X-4.331 Y-2.756 Z3.937 3.4.8 Special Characters for Sequence Definition The following special characters have a specific significance in the sequences. Character Meaning ; Separation of individual parts of structure (text variable, numerical section, text section or subsequent special character) ’ or “ Constant string delimiter + - / * () Operators for linking variables and numerical values in numerical subblocks The next special sequence characters can be defined in the Tab page “SEQUENCE SETTINGS” on page 80. The meaning and the default values are listed in the following table: Character Meaning $ Defines line break in NC program LZ Produces empty line in NC program Page 28 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor Character Meaning ? Start/end mark of individual block lines without record number # Start/end mark of table, this means the block lines within this marking are repeated as often as required : Start/end mark of lines not output when block first called 0* Suppress zero values With 0* the variable and the preceding text variable are generated only if the value of the variable is not 0. 3.4.9 • Sequence definition block in the GUI Modal (BLK_MOD): This parameter defines if the modality of the motion command and the coordinates is temporaly switched off for the next motion or not. If the sequence contains motions, the modality should be switched off. cPost doesn't interpret the sequence iso code and so the modality check is made with the last motion before the sequence. This could damage the tool machine. Example: APT Output with modality: Output without modality: GOTO / 100,100,100 N100 G1 X100 Y100 Z100 N100 G1 X100 Y100 Z100 LOADTL / 1 N110 M06 T01 N110 M06 T01 GOTO / 100, 100, 200 N120 Z200 N120 G1 X100 Y100 Z200 • “don’t read ahead” switch (BLK_READFORWARD) If “only read ahead” or “read and suppress” is selected, cPost will interpret all APT commands until the next motion and puts all data including the following coordinates (C_AXIS_X_NXT_POS, C_AXIS_Y_NXT_POS and so on) in the variable pool before the output of this sequence. This is necessary if the coordinates of the following position are output in this sequence. If “don’t read ahead” is selected, cPost puts only the current values in the variable pool. There is no read ahead until the next motion. This is the faster solution and this is recommended for simple output sequences without coordinates. • Text field The output sequence is defined here. © CENIT AG Systemhaus cPost Documentation V1R6 Page 29 Chapter 3- Definition of Post Processor 3.4.10 Examples for sequences The default definition of the special sequence characters are used in the following examples (see “Special Characters for Sequence Definition” on page 28): • Example for a tool change sequence: definition: ’( Tool change )’;$; ’T’;C_TL_CUR_TLD;N2.-0%0;’ M06’;$; The comment ( Tool change ) is defined as a fixed text in single inverted commas. The $ defines a line break in the iso output. The next line begins with the address of the tool number defined as a fixed text in single inverted commas. This is followed by a numerical value with a format definition. The current tool number will be output as a formatted integer. The last string is the tool change command. This will have the following output: output: N... ( Tool change) N... T02 M06 • Example for output of a line without record number: definition: ?;’; Tool change’;$;?;$; ’T’;C_TL_CUR_TLD;N2.-0%0;’ M06’;$; With the first ? the record numbering is switched off. With the second the record numbering is switched on. All lines between the ? are output without record numbers. output: ; Tool change N... T02 M06 • Example for output of a line with : before the record number: definition: ’( Tool change )’;$; ?;’:N’;C_RECORD_NUMBER;S;’ T’;C_TL_CUR_TLD;N2.-0%0;’ M06’;$;?;$; The automatic creation of the record number is switched off with the ?. The fixed text ’:N’ defines the address of the record number for this line. The record number is accessed with the variable C_RECORD_NUMBER and the format S. In this case the format S is neccessary for the correct counting of the record number. output: ( Tool change ) :N... T02 M06 • Example for output of ': definition: "special character ’ ";$ output: special character ’ Page 30 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 3- Definition of Post Processor • Example of output of a simple tool table: definition: #;TABLE(C_TLNO_TL_NUMBER,C_TLNO_DIAMETER,C_TLNO_TLID); 'T';C_TLNO_TL_NUMBER_C;N2.-0%0;' R';C_TLNO_DIAMETER_C/2;N1.3%0;' (';C_TLNO_TLID_C;S;')';$;#;$; The start and end of a table are defined with the #. The variables of the table must be defined with the TABLE() command. The variable must be single indicated and the maximum index must be the same. The Post Processor creates an ISO record for each index. The records of the table must be defined with the actual variables, e.g. C_TLNO_DIAMETER_C. output for three tools: N... T01 R10 ( FIRST TOOL ) N... T02 R12 ( SECOND TOOL ) N... T03 R16 ( THIRD TOOL ) • Example for no output if the value of the variable is 0: definition: ’G01 ’;’X100’; ’ Z’; C_AXIS_Z_NXT_POS;0*N1.1;$; The 0* before the format definition suppress the output of the value and its address. output: C_AXIS_Z_NXT_POS is 0.0: N... G01 X100 C_AXIS_Z_NXT_POS is 1.0: N... G01 X100 Z1. . © CENIT AG Systemhaus cPost Documentation V1R6 Page 31 Chapter 4 - Macro Language 4 Macro Language Macros are used in a lot of programs to find special solutions by individual programming. Macros enable the modification of existing APT commands with individual definitions on one hand and support the definition of new command sequences on the other. It is also possible to define execution report macros for report head and end (in PP). The macros are stored in the Post Processor. At the execution of the Post Processor the process of the APT program is stopped at a macro call. The macro is processed then. APT lines, generated in the macro, will be translated by the Post Processor like normal APT lines (instead of the macro call). After processing the macro, the APT program is continued. 4.1 Macro Call Macros are called in the APT by the macro name. The syntax corresponds to the APT syntax. In case parameters must be delivered, they are defined in the line of the macro call. Parameters may be numerical values as well as text values: MANAME/5,TEST,... The parameters are saved in the variables C_VARG$(1), C_VARG$(2), ... respectively in the variables C_VARGR(1), C_VARGR(2), ... in the order of delivery. The variables are of three different types: • • • C_VARG$ for string variables C_VARGR for numbers, if the conversion is possible C_VARGC is the number of paramters which are delivered for example: SPINDL-Macro: SPINDL/3000,RPM,CLW C_VARGC = 3 -> 3 delivered parameters C_VARG$(1) = “3000”-> 1. parameter: rotation speed as string C_VARG$(2) = “RPM”-> 2. parameter: deviceas string C_VARG$(3) = “CLW”-> 3. parameter: direction of rotation as string C_VARGR(1) = 3000.0-> 1. parameter. rotation speed as number C_VARGR(2) = 0.0-> 2. parameter. no number -> undefined C_VARGR(3) = 0.0-> 3. parameter. no number -> undefined C_APTLINE$ = “SPINDL/3000,RPM,CLW” All already existing poolvariables may be accessed directly from the macro, so they don't have to be declared as parameters. 4.1.1 Nesting It is allowed to call further macros out of a macro. 4.1.2 Recursive Call Macros for new APT commands must not be called recursively. If an APT command supported by cPost is replaced by a macro, a repeated call of this APT command from the macro is possible. Then the command is processed not as a macro, but as a normal APT command or block. Page 32 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language Example APT: GOTO/ 10, 20, 30 : Macro GOTO: * Output of the new APT line: GOTO/ Z, Y, X CF_APTTXT/’GOTO’ + C_VARG$(3) + ’,’ + C_VARG$(2) + ’,’ + C_VARG$(1) : NC: N100 G1 X30 Y20 Z10 4.2 General Notes on usage 4.2.1 Commands The definition of a makro is based on the programming language BASIC. All the Standard Basic commands can be used in a macro. Each macro line is interpreted separately. 4.2.2 Naming Conventions Command names and function names are not case sensitive, so that "OPEN" and "open" and "Open" are equivalent and "abs()" and "ABS()" and "Abs()" are equivalent. Variable names are case senstive. It is not allowed to start a command name with _. 4.2.3 TRUE and FALSE TRUE is defined as 1 and FALSE is defined as 0 in the cPost macro language. 4.2.4 Operators and Precedence The cPost Interpreter recognizes the following operators: ^ exponentiation * multiplication / division \ integer division MOD modulus (remainder) arithmetic + addition - subtraction = equality or assignment <> inequality < less than > greater than © CENIT AG Systemhaus cPost Documentation V1R6 Page 33 Chapter 4 - Macro Language <= less than or equal to =< less than or equal to >= greater than or equal to => greater than or equal to NOT negation AND conjunction OR disjunction XOR exclusive or IMP implication EQV equivalence 4.2.5 Macro Variables 4.2.5.1 General New variables must be initialized before the first usage, that means a value must be assigned. You can do that in the NC block for the program start (see “Sequence Definition” on page 25) or in a macro that only initializes variables. This macro must be called at the beginning of the APT program and these variable must be made global with COMMON. 4.2.5.2 Variable range cPost pool variables are stored in different variable pools. All variables defined by cPost itself (see “Pool Variables” on page 322) and all userdefined variables which are defined in sequences are global and are stored in the variable pool named “CALVIN”. These variables can be used in every macro. The userdefined macro variable handling is different. These variables are only local available by default. cPost checks if a global variable with the same name already exists. If it already exists, this global variable is accessed. There is no creation of a local variable with the same name. If a global variable with the same name doesn’t exist, the variable is created and stored in a special pool for each macro. These variables are only available in this macro. If this variable should be global, it must be made global with the COMMON command. In this case it is stored in the global variable pool “CALVIN” instead of the local macro pool. For checking which variables in which pools are available you can use the macro command VARS. The following example list is the output of this command: Number of pools 3 ======================================================= ==================== Pool 1 = CALVIN ======================================================= Pool: "CALVIN" Text : C_OS$ =>WIN< Text : C_USERID$ =>B< Real : GLOBAL_R =0.318310 ..... ======================================================= ==================== Pool 2 = BIP_000_ADR_MOD ======================================================= Pool: "BIP_000_ADR_MOD" Real : LOCAL_R =8.900000 Text : LOCAL_STR$ =>FOO< Page 34 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language ======================================================= ==================== Pool 3 = BIP_000_PROGMODE ======================================================= Pool: "BIP_000_PROGMODE" No Variables in Pool <BIP_000_PROGMODE> The variables LOCAL_R and LOCAL_STR$ are created in the macro named ADR_MOD. These variables are only local. The variables C_OS$, C_USERID$ and GLOBAL_R are global. This variables are created by cPost (C_*) or defined as global by the user (GLOBAL_R). 4.2.5.3 Variable types If the variable is a string varible, the name must end with a $ otherwise the variable has a number type. Variables don’t need to be declared. VAR1 = 3 VAR1 is a numerical variable VAR2$ = ’Text ’ VAR2$ is a string variable 4.2.5.4 Arrays In addition the use of arrays is possible. The array must be defined before use with the following command: DIM varname(maxInd[,maxInd]) AS STRING|NUMBER Index calculation is allowed if it is from the type number. VAR3(VAR1+7) = C_TLNO_TLID assignes a value to the array element (VAR1+7) of a variable. If the global variable is an array, you have to repeat the dimensions in the COMMON command. Example: Definition of a global text array DIM TEXT$ (5,3) AS STRING COMMON TEXT$ (5,3) © CENIT AG Systemhaus cPost Documentation V1R6 Page 35 Chapter 4 - Macro Language 4.3 cPost supported standard BASIC commands This chapter explains all standard BASIC commands which are supported in cPost macros. They are grouped in mathematical functions, string function, file i/o functions and control structures. 4.3.1 Mathematical Functions The following table lists all mathematical functions which are supported in cPost macros.. Function call Function ABS(a) Calculates value of expression a ACOS(a) Calculates arc cos of expression a ASIN(a) Calculates arc sin of expression a ATN(a) Calculates arc tan of expression a COS(a) Calculates cos of expression a INT(a) Truncates decimal points of expression a MAX(a,b) Determines maximum value of a and b MIN(a,b) Determines minimum value of a and b SGN(a) +1 when a > 0; –1 when a < 0 SIGN(a,b) +b when a > 0; –b when a < 0 SIN(a) Calculates sin of expression a SQR(a) Calculates square root of expression a TAN(a) Calculates tan of expression a ABS Description: ABS returns the absolute value of the argument a. Syntax: ABS( a ) where a = number from which the absolute value will be calculated Example: X = ABS(-1.23456789) X is set to 1.23456789 Page 36 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language ACOS Description: ACOS returns the arc cosine value of the argument a. Syntax: ACOS( a ) where a = input number Example: X = ACOS(1.0) X is set to 0.0. ASIN Description: ASIN returns the arc sine value of the argument a. Syntax: ASIN( a ) where a = input number Example: X = ASIN (0.0) X is set to 0.0. ATN Description: ATN returns the arctangent value of the argument a in radians. Syntax: ATN( a ) where a = number from which the arcus tangens will be calculated Example: X = ATN(10) X is set to 1.471128. © CENIT AG Systemhaus cPost Documentation V1R6 Page 37 Chapter 4 - Macro Language CINT Description: CINT returns the truncated integer of the argument a. Syntax: CINT( a ) where a = number from which the integer value will be calculated Example: X = CINT(3.3) Y = CINT(3.6) X is set to 3, Y is set to 4. COS Description: COS returns the cosine of the argument a. The argument must be in radians. Syntax: COS( a ) where a = number from which the cosine will be calculated Example: X = COS(0.0) X is set to 1.0 EXP Description: EXP returns the exponential value of the argument a. Syntax: EXP( a ) where a = number from which the exponential value will be calculated Example: X = EXP(2) X is set to 7.389056. Page 38 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language INT Description: INT returns the largest integer less than or equal to the argument a. This is not the "truncated" integer value. In this case you must use CINT. Syntax: INT( a ) where a = number from which the integer value will be calculated Example: X = INT(3.3) Y = INT(3.6) X and Y are set to 3. LOG Description: LOG returns the natural logarithm of the argument a. Syntax: LOG( a ) where a = number from which the logarithm value will be calculated Example: X = LOG(100) X is set to 4.60517. MAX Description: MAX returns the maximum value of the arguments a and b. Syntax: MAX(a,b) where a,b = input numbers Example: X=MAX(5.5,6.6) X is set to 6.6 © CENIT AG Systemhaus cPost Documentation V1R6 Page 39 Chapter 4 - Macro Language MIN Description: MIN returns the minimum value of the arguments a and b. Syntax: MIN(a,b) where a,b = input numbers Example: X=MIN(5.5,6.6) X is set to 5.5. SGN Description: SGN returns the sign of the argument a. The return value is +1 for positive numbers, 0 for 0, and -1 for negative numbers. Syntax: SGN( a ) where a = number from which the sign will be calculated Example: X = SGN(2.3) X is set to 1. SIN Description: SIN returns the sine of the argument a in radians. Syntax: SIN( a ) where a = number from which the sine will be calculated Example: X = SIN(0.0) X is set to 0.0. Page 40 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language SQR Description: SQR returns the square root of the argument a. Syntax: SQR( a ) where a = number from which the square root will be calculated Example: X = SQR(4.0) X is set to 2.0. TAN Description: TAN returns the tangent of the argument a in radians. Syntax: TAN( a ) where a = number from which the tangent will be calculated Example: X = TAN(1.0) X is set to 1.557408. 4.3.2 String Functions ASC Description: ASC returns the ASCII value of the first character of a given string. Syntax: ASC( string$ ) where string$ = Inputstring Example: X = ASC(“A”) X is set to 65. © CENIT AG Systemhaus cPost Documentation V1R6 Page 41 Chapter 4 - Macro Language CHR$ Description: CHR$ returns a one character string with the character corresponding to the ASCII code indicated by the input parameter number. Syntax: CHR$( number ) where number = ASCII code Example: A$ = CHR$(65) A$ is set to “A”. INSTR Description: INSTR returns the position at which a string pattern occurs in a given string. Syntax: INSTR( string$, pattern$ ) where string$ = String in which is searched pattern$ = Pattern which is searched Example: X = INSTR(“THIS IS THE INPUT STRING”,”THE”) X is set to 9. LEFT$ Description: LEFT$ returns a substring from a string. The length of the substring is defined as second parameter. Syntax: LEFT$( string$, length ) where string$ = string from which the left characters are truncated length = number of characters Example: X$ = LEFT$ (“THIS IS FOO”, 4) X$ is set to “THIS”. Page 42 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language LEN Description: LEN returns the number of characters of a string. Syntax: LEN( string$ ) where string$ = string from which the number of characters is calculated Example: X = LEN(“1234567890”) X is set to 10. LOWER$ Description: LOWER$ returns a string$ spelled in non capital letters. Syntax: LOWER$( string$ ) where string$ = input string Example: X$ = LOWER$(“This Is A Test”) X$ is set to “this is a test”. MID$ Description: MID$ returns a substring of a string$. It begins at start-position-in-string and continuing for numberof-characters. Syntax: MID$( string$, start, length ) where string$ = start length input string start position = number of characters Example: X$ = MID$ (“THIS IS FOO”, 5,2) X$ is set to “IS”. © CENIT AG Systemhaus cPost Documentation V1R6 Page 43 Chapter 4 - Macro Language RIGHT$ Description: RIGHT$ returns a substring of a string$. The length is defined by the second parameter. Syntax: RIGHT$( string$, length ) where string$ = input string length = number of characters Example: X$ = RIGHT$ (“THIS IS FOO”, 3) X$ is set to “FOO”. SPACE$ Description: SPACE$ returns a string of blank spaces. The string length is defined by the parameter. Syntax: SPACE$( number ) where number = number of blanks Example: X$ = SPACE$(8) X$ is set to “ “. UPPER$ Description: UPPER$ returns a string$ spelled in capital letters. Syntax: UPPER$( string$ ) where string$ = input string Example: X$ = UPPER$(“This Is A Test”) X$ is set to “THIS IS A TEST”. Page 44 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language VAL Description: VAL returns the numerical value of the string$. Syntax: VAL( string$ ) where string$ = input string Example: X = VAL( “235” ) X is set to 235. 4.3.3 Control structures CASE / CASE IF / END SELECT / SELECT CASE Description: Multiline conditional selection statements are possible with these commands. The expression given as the argument to SELECT CASE will be evaluated by CASE staments following. The SELECT CASE statement is finished with an END SELECT command. The CASE command introduces an element, CASE IF introduces a conditional SELECT CASE element, and CASE ELSE introduces the default SELECT CASE element. Syntax: SELECT CASE argument CASE cond1 <do something> CASE cond2 <do something other> CASE IF cond3 <do something other > CASE ELSE <do default> END SELECT Example: SELECT CASE I CASE 4 TO 7 PRINT #1, " The value is between 4 and 7." CASE 9 PRINT #1, " The value is 9." CASE IF > 15 PRINT #1, “ The value is greater than 15.” CASE ELSE PRINT " This is default for any number less than 16 except 4,5,6,7,9" END SELECT © CENIT AG Systemhaus cPost Documentation V1R6 Page 45 Chapter 4 - Macro Language DO LOOPS Description: DO implements a number of forms of program loops. There are several syntax forms possible: DO...LOOP simply loops; the only way out is by EXIT; DO WHILE...LOOP loops while "expression" is true; DO...LOOP UNTIL loops until the expression following UNTIL is true. Syntax: DO <do something > IF <condition> THEN EXIT DO LOOP or DO WHILE < condition> <do something> LOOP or DO <do something> LOOP UNTIL <condition> Example: I=0 DO PRINT #1, “SOMETHING” I=I+1 IF I > 5 THEN EXIT DO LOOP or I=0 DO WHILE I < 6 PRINT #1, “ANYTHING” I=I+1 LOOP or I=0 DO PRINT #1, “NOTHING” I=I+1 LOOP UNTIL I > 5 Page 46 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language FOR / NEXT / STEP / TO Description: FOR initiates a FOR-NEXT loop with the variable ’counter’ initially set to ’start’ and incrementing in ’increment’ steps (default is 1) until ’counter’ equals ’finish’. NEXT defines the end of the loop, TO defines the limit of the counter. If the increment is not 1, it must be defined with STEP. Syntax: FOR counter = start TO finish <do something> NEXT counter or FOR counter = start TO finish STEP increment <do something> NEXT counter Example: FOR I = 1 TO 10 PRINT #1, “THIS IS THE FOR LOOP” NEXT I or FOR I = 1 TO 10 STEP 1 PRINT #1, “THIS IS THE FOR LOOP WITH STEP 1” NEXT I GOTO / LABEL Description: The command LABEL is used to define some specified entries in the program flow. The command GOTO is used to suppress some basic lines til the specified label is reached. Syntax: <labelname> : <do something> GOTO <labelname> Example: PRINT #1 , “THIS IS ALWAYS OUTPUT” GOTO MY_LABEL PRINT #1, “THIS IS NEVER OUTPUT!!!!!!!” MY_LABEL: PRINT #1, “THIS IS ALSO ALWAYS OUTPUT” © CENIT AG Systemhaus cPost Documentation V1R6 Page 47 Chapter 4 - Macro Language IF / ELSEIF / ELSE / END IF / THEN Description: F evaluates ’expression’ and performs the THEN statement if it is true or (optionally) the ELSE statement if it is FALSE. ELSEIF statements define multi conditions. ELSE introduces always the default condition in IF or IF...ELSEIF statements. END IF ends a multi-line IF statement. Syntax: IF expression THEN <do something> or IF expression THEN <do something> END IF or IF expression THEN <do something> ELSE <do something other> END IF or IF expression THEN <do something> ELSEIF expression THEN <do something other> ELSE <do default> END IF Example: IF (a < b) THEN EXIT DO or IF a < b THEN PRINT #1, “a is less than b” ELSEIF a > b then PRINT #1, “a is greater than b” ELSE PRINT #1, “a is equal to b” END IF Page 48 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language WEND / WHILE Description: WHILE initiates a WHILE-WEND loop. The loop ends with WEND. The body of the loop is repeated til the condition is FALSE Syntax: WHILE expression <do something> WEND Example: I=0 WHILE I < 5 PRINT #1, “THIS IS THE WHILE LOOP” I=I+1 WEND 4.3.4 Input/Output and Filehandling CLOSE Description: CLOSE closes the file indicated by the device number. Syntax: CLOSE #a where a = device number of file Example: CLOSE # 1 EOF Description: EOF checks if the end of a file is reached. It returns TRUE, if the file associated with the device number is at the end of the file, otherwise it returns FALSE. Syntax: EOF( a ) where a = device number of file Example: RET = EOF (5) © CENIT AG Systemhaus cPost Documentation V1R6 Page 49 Chapter 4 - Macro Language KILL Description: KILL is used to delete files specified by the name. Syntax: KILL filename where filename = name of the file which will be removed Example: KILL ’C:\tmp\delete_me.log’ LINE INPUT Description: LINE INPUT reads complete lines from a file. The file must be opened once before. Syntax: LINE INPUT # device number, string where device number= device number of file which is read string variable in which the line is stored Example: OPEN “C:\tmp\cPost.log” FOR INPUT AS # 3 LINE INPUT # 3 , A$ LINE INPUT # 3 , B$ CLOSE # 3 OPEN Description: OPEN statements are used to open files for reading or writing or both. There are two syntax forms of the OPEN statement supported by cPost. Note that all files openend with OPEN must be closed by CLOSE. Syntax: OPEN "O"|"I", #device-number, filename or OPEN filename FOR INPUT|OUTPUT|APPEND AS #device-number Example: OPEN “C:\tmp\cPost.inp” FOR INPUT AS # 3 or OPEN “I”, #3, “C:\tmp\cPost.inp” opens a file as an inputfile OPEN “C:\tmp\cPost.log” FOR OUTPUT AS # 3 or OPEN “O”, #3, “C:\tmp\cPost.log” opens a new file as an outputfile OPEN “C:\tmp\cPost.log” FOR APPEND AS # 3 opens an existing file at the end. Page 50 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language PRINT Description: PRINT outputs text to a file specified by device-number. Note that the file must be opened before. Syntax: PRINT # device-number, expressions Example: OPEN “C:\tmp\cPost.log” FOR INPUT AS # 3 PRINT # 3, “This is the first calling parameter:” + C_VARG$(1) CLOSE # 3 WIDTH Description: WIDH defines the maximum record length of a file defined by the device number. The default value is 128. Maximum value is 8191. Note that the file must be opened before. Syntax: WIDTH # device-number, length Example: OPEN “C:\tmp\cPost.log” FOR INPUT AS # 3 WIDTH #3, 256 PRINT # 3, “This is the first calling parameter:” + C_VARG$(1) CLOSE # 3 4.3.5 Others COMMON Description: COMMON designates global variables. All other macro variables are only local available. Syntax: COMMON variable [, variable...] where variable = name of the variable which should be global Example: COMMON XVALUE, YVALUE, TOOLNAME$ DIM Description: DIM specifies array variables. These have more than one element in a single dimension. Syntax: DIM variable(elements...)[variable(elements...)]... Example: DIM b(8) c(9,4) © CENIT AG Systemhaus cPost Documentation V1R6 Page 51 Chapter 4 - Macro Language ENVIRON$ Description: ENVIRON$ return the value of the environment variable associated with the argument. Syntax: ENVIRON$(ename$) where ename$ = name of the enviroment variable Example: A$ = ENVIRON$(“HOME”) REM Description: REM allows remarks to be included in a macro. Syntax: REM <comment> Example: REM INITIALIZE VALUES A=0 B=8 TROFF Description: TROFF switches off the trace facility for debugging Syntax: TROFF TRON Description: TRON switches on the trace facility for debugging. This facility will print the macro name and each line number in square brackets as the macro is executed. Syntax: TRON Example: TRON Example for a trace: MAC: [AV_FINI] ### Trace is ON ### MAC: [AV_FINI] [0004] >REM ---- Scriptfile< MAC: [AV_FINI] [0006] >FILENAME$=LEFT$(ManufacturingProgram,6)< MAC: [AV_FINI] ..Variable: ManufacturingProgram=Manufacturing Program.1< MAC: [AV_FINI] ..Variable: FILENAME$=Manufa< MAC: [AV_FINI] Set STRING Value: FILENAME$=Manufa, in Pool: CALVIN MAC: [AV_FINI] [0007] >SCR_FILE$ = C_ISO_PATH + ’/’ + FILENAME$ + ".sbl"< MAC: [AV_FINI] Initialize new STRING Variable: SCR_FILE$, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: C_ISO_PATH=X:\tmp\agievision< Page 52 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language MAC: [AV_FINI] ..Variable: FILENAME$=Manufa< MAC: [AV_FINI] ..Variable: SCR_FILE$=< MAC: [AV_FINI] Set STRING Value: SCR_FILE$=X:\tmp\agievision/Manufa.sbl, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] [0008] >OPEN SCR_FILE$ FOR APPEND AS #1< MAC: [AV_FINI] ..Variable: SCR_FILE$=X:\tmp\agievision/Manufa.sbl< MAC: [AV_FINI] [0010] >PRINT #1, ’sub main’< MAC: [AV_FINI] [0011] >PRINT #1, ’ ok = JE_Initiate’< MAC: [AV_FINI] [0012] >PRINT #1, ’ if (ok=0) then’< MAC: [AV_FINI] [0014] >OPEN ’scr.tail’ FOR INPUT AS #2< MAC: [AV_FINI] [0015] >I=0< MAC: [AV_FINI] Initialize new NUMBER Variable: I, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] Set NUMBER Value: I=0.000000, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: I=0.000000 MAC: [AV_FINI] [0016] >WHILE I < C_CONTOUR_NB + 1< MAC: [AV_FINI] ..Variable: C_CONTOUR_NB=2.000000 MAC: [AV_FINI] ..Variable: I=0.000000 MAC: [AV_FINI] [0017] >LINE INPUT #2,A$< MAC: [AV_FINI] Initialize new STRING Variable: A$, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: A$=< MAC: [AV_FINI] [0018] >PRINT #1, ’ ’ + A$< MAC: [AV_FINI] ..Variable: A$=werkstueck< MAC: [AV_FINI] [0019] >I = I + 1< MAC: [AV_FINI] ..Variable: I=0.000000 MAC: [AV_FINI] Set NUMBER Value: I=1.000000, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: I=0.000000 MAC: [AV_FINI] [0020] >WEND< MAC: [AV_FINI] [0016] >WHILE I < C_CONTOUR_NB + 1< MAC: [AV_FINI] ..Variable: C_CONTOUR_NB=2.000000 MAC: [AV_FINI] ..Variable: I=1.000000 MAC: [AV_FINI] [0017] >LINE INPUT #2,A$< MAC: [AV_FINI] ..Variable: A$=werkstueck< MAC: [AV_FINI] [0018] >PRINT #1, ’ ’ + A$< MAC: [AV_FINI] ..Variable: A$=Manufa01< MAC: [AV_FINI] [0019] >I = I + 1< MAC: [AV_FINI] ..Variable: I=1.000000 MAC: [AV_FINI] Set NUMBER Value: I=2.000000, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: I=1.000000 MAC: [AV_FINI] [0020] >WEND< MAC: [AV_FINI] [0016] >WHILE I < C_CONTOUR_NB + 1< MAC: [AV_FINI] ..Variable: C_CONTOUR_NB=2.000000 MAC: [AV_FINI] ..Variable: I=2.000000 MAC: [AV_FINI] [0017] >LINE INPUT #2,A$< MAC: [AV_FINI] ..Variable: A$=Manufa01< MAC: [AV_FINI] [0018] >PRINT #1, ’ ’ + A$< MAC: [AV_FINI] ..Variable: A$=Manufa02< MAC: [AV_FINI] [0019] >I = I + 1< MAC: [AV_FINI] ..Variable: I=2.000000 MAC: [AV_FINI] Set NUMBER Value: I=3.000000, in Pool: BIP_000_AV_FINI MAC: [AV_FINI] ..Variable: I=2.000000 MAC: [AV_FINI] [0020] >WEND< MAC: [AV_FINI] [0016] >WHILE I < C_CONTOUR_NB + 1< MAC: [AV_FINI] ..Variable: C_CONTOUR_NB=2.000000 MAC: [AV_FINI] ..Variable: I=3.000000 MAC: [AV_FINI] [0021] >CLOSE #2< MAC: [AV_FINI] [0022] >KILL ’scr.tail’< MAC: [AV_FINI] [0023] >PRINT #1, ’ ok=JE_ClosePiece(je_piece)< MAC: [AV_FINI] [0024] >PRINT #1, ’ else’< MAC: [AV_FINI] [0025] >PRINT #1, ’ stop’< MAC: [AV_FINI] [0026] >PRINT #1, ’ end if’< MAC: [AV_FINI] [0027] >PRINT #1, ’end sub’< MAC: [AV_FINI] [0029] >CLOSE #1< MAC: [AV_FINI] [0031] >TROFF< MAC: [AV_FINI] ### Trace is OFF ### © CENIT AG Systemhaus cPost Documentation V1R6 Page 53 Chapter 4 - Macro Language VARS Description: VARS output all current pool variables in the lock file. It works like the APT command DUMP. Syntax: VARS Example: VARS Page 54 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4 Additional cPost Functions (CF_xxx) These functions are a cPost extension to the normal BASIC commands. These commands are used to create additional input (CF_APTTXT), additional output in the report file (CF_REPTXT). They can also modfiy the handling of the APT input (CF_SETCOMODE) or redefine the parameters from the parameterfile (CF_SETPAR****, CF_GETPAR***). 4.4.1 cPost Parameter Definition Functions These functions support the modification of the cPost definition parameters of the parameterfile. All modifyable parameters are stored as: • • • • • addresses (ADR) integers (I4) doubles (R8) strings (STR) machine data (TDB) Each kind of parameter has a special GET and PUT function. The first calling argument for all these functions is always the parameter id, which is the internal parameter id without the classification. For example: The internal parameter id for the milling spindle speed is “ADR_SPINDLE_SPEED”. The classification is “ADR_”, that means: All Data can only be read or modified with the CF_GETPARADR* or CF_SETPARADR* functions. The first argument for all functions is “SPINDLE_SPEED”. The “CF_SETPAR*” functions have also an additional “ADD” option. This option is necessary to change parameters with dependencies, like the number of spindle range. If this number is changed, the maximum and minimum spindl speeds must also be changed. You must set first all necessary parameters with the “ADD” option and then call CF_UPDATEPAR() as a second step. For example: OLD$ = CF_SETPARTDB$("MFG_SPNDL_RNG_NB","2","ADD") OLD$ = CF_SETPARTDB$("MFG_SPNDL_SPD_VR","CONTINUOUS;CONTINUS","ADD") OLD$ = CF_SETPARTDB$("MFG_MIN_SPINDLE","100;1000","ADD") OLD$ = CF_SETPARTDB$("MFG_MAX_SPINDLE","1000;2000","ADD") CF_UPDATEPAR() © CENIT AG Systemhaus cPost Documentation V1R6 Page 55 Chapter 4 - Macro Language 4.4.1.1 CF_GETPARADR$ Description: Get the value of the adress parameter from the identifier Syntax: SVAL$ = CF_GETPARADR$ (PARAM$) Type: Function Input: PARAM$ STRING Parameter id SVAL$ STRING address string Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: SVAL$ = CF_GETPARADR$ ("1ST_COORDINATE") 4.4.1.2 CF_GETPARADRTAB Description: Get the tabulator value of the adress parameter from the identifier Syntax: RVAL = CF_GETPARADRTAB (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RVAL NUMBER Tabulator value Output: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: RVAL = CF_GETPARADRTAB ("1ST_COORDINATE") Page 56 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.1.3 CF_GETPARADRP1 Description: Get the major priority value of the adress parameter from the identifier Syntax: RVAL = CF_GETPARADRP1 (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RVAL NUMBER Prio 1 value Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: RVAL = CF_GETPARADRP1 ("1ST_COORDINATE") 4.4.1.4 CF_GETPARADRP2 Description: Get the minor priority value of the adress parameter from the identifier Syntax: RVAL = CF_GETPARADRP2 (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RVAL NUMBER Prio 2 value Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: RVAL = CF_GETPARADRP2 ("1ST_COORDINATE") © CENIT AG Systemhaus cPost Documentation V1R6 Page 57 Chapter 4 - Macro Language 4.4.1.5 CF_GETPARADRMOD Description: Get the modality flag of the adress parameter from the identifier Syntax: RVAL = CF_GETPARADRMOD (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RVAL NUMBER Modality flag Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: RVAL = CF_GETPARADRMOD ("1ST_COORDINATE") 4.4.1.6 CF_GETPARADRFMT$ Description: Get the format string of the adress parameter from the identifier Syntax: SVAL$ = CF_GETPARADRFMT$ (PARAM$) Type: Function Input: PARAM$ STRING Parameter id SVAL$ STRING Format string Output: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string unknown parameter Example: SVAL$ = CF_GETPARADRFMT$ ("1ST_COORDINATE") Page 58 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.1.7 CF_GETPARINT Description: Get the integer value of the parameter from the identifier Syntax: IVAL = CF_GETPARINT (PARAM$) Type: Function Input: PARAM$ STRING Parameter id IVAL NUMBER integer value Output: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: IVAL = CF_GETPARINT ("SKIP_FROM") 4.4.1.8 CF_GETPARREAL Description: Get the real value of the parameter from the identifier Syntax: RVAL = CF_GETPARREAL (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RVAL NUMBER real value Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: RVAL = CF_GETPARREAL ("DWELL_TIME_FACTOR") © CENIT AG Systemhaus cPost Documentation V1R6 Page 59 Chapter 4 - Macro Language 4.4.1.9 CF_GETPARSTR$ Description: Get the string value of the parameter from the identifier Syntax: SVAL$ = CF_GETPARSTR$ (PARAM$) Type: Function Input: PARAM$ STRING Parameter id SVAL$ STRING string value Return: Error (C_IER): 90247 90248 90249 32112 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: SVAL$ = CF_GETPARSTR$ ("END_OF_RECORD_SYMBOL") 4.4.1.10 CF_GETPARTDB$ Description: Get the string value of a TDB parameter from the identifier Syntax: SVAL$ = CF_GETPARTDB$ (PARAM$) Type: Function Input: PARAM$ STRING Parameter id SVAL$ STRING string value Return: Error (C_IER): 90247 90248 90249 32112 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: SVAL$ = CF_GETPARTDB$ ("MFG_CLASS_NAME") Page 60 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.1.11 CF_SETPARADR$ Description: Set a address parameter from the identifier Syntax: SOLD$ = CF_SETPARADR$ (PARAM$, SNEW$) SOLD$ = CF_SETPARADR$ (PARAM$, SNEW$, “ADD”) Type: Function Input: PARAM$ SNEW$ “ADD” STRING Parameter id NUMBER new address value STRING Optional option SOLD$ STRING 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Return: old address value Error: Example: SOLD$ = CF_SETPARADR$ ("1ST_COORDINATE", "U") 4.4.1.12 CF_SETPARADRTAB Description: Set the tabulator value of the parameter from the identifier Syntax: IOLD = CF_SETPARADRTAB (PARAM$, INEW) Type: Function Input: PARAM$ INEW STRING Parameter id NUMBER new tabulator value IOLD NUMBER old tabulator value Return: Error (C_IER): 90247 90248 90249 90355 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined parameter Example: IOLD = CF_SETPARADRTAB ("1ST_COORDINATE", 12) © CENIT AG Systemhaus cPost Documentation V1R6 Page 61 Chapter 4 - Macro Language 4.4.1.13 CF_SETPARADRP1 Description: Set the priority 1 value of the address parameter from the identifier Syntax: IOLD = CF_SETPARADRP1 (PARAM$, INEW) Type: Function Input: PARAM$ INEW STRING Parameter id NUMBER new prio 1 value IOLD NUMBER old prio 1 value Return: Error (C_IER): 90247 90248 90249 90355 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined parameter Example: IOLD = CF_SETPARADRP1 ("1ST_COORDINATE", 20) 4.4.1.14 CF_SETPARADRP2 Description: Set the priority 2 value of the address parameter from the identifier Syntax: IOLD = CF_SETPARADRP2 (PARAM$, INEW) Type: Function Input: PARAM$ INEW STRING Parameter id NUMBER new prio 2 value IOLD NUMBER old prio 2 value Return: Error (C_IER): 90247 90248 90249 90355 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined parameter Example: IOLD = CF_SETPARADRP2 ("1ST_COORDINATE", 62) Page 62 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.1.15 CF_SETPARADRMOD Description: Set the modality value of the parameter from the identifier Syntax: IOLD = CF_SETPARADRMOD (PARAM$, INEW) Type: Function Input: PARAM$ INEW STRING Parameter id NUMBER new modality value (0=FALSE, else TRUE) IOLD NUMBER old modality value (0=FALSE, else TRUE) Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: IOLD = CF_SETPARADRMOD ("1ST_COORDINATE", 0) 4.4.1.16 CF_SETPARADRFMT$ Description: Set a format to an address value of the parameter from the identifier Syntax: SOLD$ = CF_SETPARADRFMT$ (PARAM$, SNEW$) Type: Function Input: PARAM$ SNEW$ STRING STRING Parameter id new format string SOLD$ STRING old format string Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: SOLD$ = CF_SETPARADRFMT$ ("1ST_COORDINATE", "N1.-3%0") © CENIT AG Systemhaus cPost Documentation V1R6 Page 63 Chapter 4 - Macro Language 4.4.1.17 CF_SETPARINT Description: Set an integer value of the parameter from the identifier Syntax: IOLD = CF_SETPARINT (PARAM$, INEW) IOLD = CF_SETPARINT (PARAM$, INEW, “ADD”) Type: Function Input: PARAM$ INEW “ADD” STRING Parameter id NUMBER new integer value STRING Optional option IOLD NUMBER old error number Return: Error (C_IER): 90247 90248 90249 90355 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined parameter Example: IOLD = CF_SETPARINT ("SKIP_FROM", 0) 4.4.1.18 CF_SETPARREAL Description: Set a real value of the parameter from the identifier Syntax: ROLD = CF_SETPARREAL(PARAM$, RNEW) ROLD = CF_SETPARREAL(PARAM$, RNEW,”ADD”) Type: Function Input: PARAM$ RNEW STRING Parameter id NUMBER new real value ROLD NUMBER old error number Return: Error (C_IER): 90247 90248 90249 90355 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined parameter Example: ROLD = CF_SETPARREAL ("DWELL_TIME_FACTOR", 2.0) Page 64 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.1.19 CF_SETPARSTR$ Description: Set a string value of the parameter from the identifier Syntax: SOLD$ = CF_SETPARSTR$ (PARAM$, SNEW$) SOLD$ = CF_SETPARSTR$ (PARAM$, SNEW$, “ADD”) Type: Function Input: PARAM$ SNEW$ “ADD” STRING STRING STRING Parameter id New string value Optional ADD option SOLD$ STRING old string value Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: SOLD$ = CF_SETPARSTR$ ("END_OF_RECORD_SYMBOL", "*") 4.4.1.20 CF_SETPARTDB$ Description: Set a value of a TDB parameter from the identifier. All values must be input as strings. Syntax: SOLD$ = CF_SETPARTDB$ (PARAM$, SNEW) SOLD$ = CF_SETPARTDB$ (PARAM$, SNEW, “ADD”) Type: Function Input: PARAM$ SNEW “ADD” STRING STRING STRING Parameter id new TDB value (automatic conversion internally) Optional “ADD” option SOLD$ STRING old TDB value Return: Error (C_IER): 90247 90248 90249 32113 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string undefined parameter Example: SOLD$ = CF_SETPARTDB$ ("MFG_MAX_TL_NB", “34”) © CENIT AG Systemhaus cPost Documentation V1R6 Page 65 Chapter 4 - Macro Language 4.4.1.21 CF_UPDATEPAR Description: Update internal structures after redefintion of postprocessor parameters with CF_SETPAR* functions with the “ADD” option. Syntax: I = CF_UPDATEPAR() Type: Function Input: Return: I NUMBER Error code Error (C_IER): 90248 Too many parameters to function Example: SOLD$ = CF_SETPARTDB$ ("MFG_MAX_TL_NB", “34”,”ADD”) I = CF_UPDATEPAR() 4.4.2 cPost I/O Functions 4.4.2.1 CF_APTTXT Description: Insert and interpretation of a new APT line in the APT runtime structure. The APT line is created at call position in macro, but the post executes it not until the complete macro is run. This is very important. All data from this aptline is only available after the macro is finished. Syntax: CF_APTTXT APTLINE$ Type: Command Input: APTLINE$ STRING APT line which is insert Example: CF_APTTXT “GOTO/0,0” + C_VARG$(3) 4.4.2.2 CF_ERROR Description: Output of error messages and warnings with details of the severity levels in the runtime report. The cPost run stops if the severity level of the error is 5. Syntax: RC = CF_ERROR (ISEV, ERRMSG$) Type: Function Page 66 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language Input: ISEV ERRMSG$ NUMBER Severity level (1-Warning ... 5-Error) STRING Error message RC NUMBER Error number Return: Error (C_IER): 90247 90248 90249 90355 32106 32107 32108 32109 32110 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number Error with ISEV=1 Error with ISEV=2 Error with ISEV=3 Error with ISEV=4 Error with ISEV=5 Example: RC = CF_ERROR (5, “FATAL ERROR, PROGRAM ABORTED”) 4.4.2.3 CF_FMTVAL$ Description: Conversion of a number in a string variable with formating. The formatting is defined in cPost format syntax. Syntax: SVAL$ = CF_FMTVAL$ (RVAL, FORMAT$) Type: Function Input: RVAL FORMAT$ NUMBER number which will be formated STRING cPost-Formatstring SVAL$ STRING Return: formated number Error (C_IER): 90247 90248 90249 90355 32026 32027 32028 32029 32030 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number Empty format definition string Wrong format symbol in definition Invalid character in format string Min-Value greater than Max-Value Outstr is NULL pointer Example: RVAL = 1.234 SVAL$ = CF_FMTVAL$ (RVAL, “N1.3%3”) © CENIT AG Systemhaus cPost Documentation V1R6 Page 67 Chapter 4 - Macro Language 4.4.2.4 CF_REPTXT Description: Create and insert a report line in the log file. Syntax: CF_REPTXT REPLINE$ Type: Command Input: REPLINE$ STRING Report line which is insert Example: CF_REPTXT “This is output directly in the report file” + C_VARG$(3) 4.4.2.5 CF_MOD_SETADR$ Description: Setting the internal data for the modality check of all address parameters (ADR_*). If the second argument is a STRING, this value is direct set. If it is a NUMBER, the value will be formatted with its format first and then set. Syntax: OLD$ = CF_MOD_SETADR$ (ID$, VALUE$) or OLD$ = CF_MOD_SETADR$ (ID$, VALUE) Type: Function Input: ID$ VALUE$ or VALUE STRING STRING OLD$ STRING Parameter ID New value already formatted NUMBER New value Return: Old value Error (C_IER): 90247 90248 Not enough parameters to function Too many parameters to function Example: REM Delete Variable to check G96/G97 SFM or RPM OLD$ = CF_MOD_SETADR$("CONST_CUTTING_SPEED_ON","") REM Set SPINDL CLW/CCLW command to CCLW S$ = CF_GETPARADR$("SPINDLE_COUNTER_CLOCKWISE") OLD$ = CF_MOD_SETADR$("SPINDLE_CLOCKWISE",S$) REM Set the spindle speed to 5432.1234 (value will be formatted internal) OLD$ = CF_MOD_SETADR$("SPINDLE_SPEED",5432.1234) REM Set the spindle speed to a fixed value (no internal formatting) OLD$ = CF_MOD_SETADR$("SPINDLE_SPEED","S5432") Page 68 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.3 cPost Control Functions 4.4.3.1 CF_GETAPTLINE$ Description: Get the complete APT record to the pointer of the object. Syntax: S$ = CF_GETAPTLINE$ (PCO) Type: Function Input: PCO NUMBER Pointer to object (return value from CF_GETNXTCO() function) S$ STRING Return: Complete APT record of this object Error (C_IER): 90247 90248 90355 Not enough parameters to function Too many parameters to function Argument to function must be a number Example: PCO = CF_GETNXTCO (-1, “COORD”, “GOTO”) PCO is set to the internal pointer of the next RAPID motion. S$ = CF_GETAPTLINE$ (PCO) S$ is set to the APT record of this pointer “GOTO/......”. 4.4.3.2 CF_GETNXTCO Description: Get the pointer to the current/next command-object. Primary and secundary objecttype can be indicated (Defaulttype = NO_TYPE). If more than one primary objecttype is defined, this is a disjunction (OR condition). The relation between APT command and object type is listed in the appendix see “APPENDIX” on page 321. For example: the APT command GOTO has the primary object type PTYP_COORD and the secundary object type STYP_GOTO. The input parameters for the CF_GETNXTCO call are these types without the first 4 letters: CF_GETNXTCO (-1, ”COORD”, ”GOTO”). Syntax: PCO = CF_GETNXTCO (PCO0, PTYP$, STYP$) PCO = CF_GETNXTCO (PCO0, PTYP1$, STYP1$, PTYP2$, STYP2$) PCO = CF_GETNXTCO (PCO0, PTYP1$, STYP1$, PTYP2$, STYP2$, PTYP3$, STYP3$) Type: Function Input: PCO0 © CENIT AG Systemhaus cPost Documentation V1R6 NUMBER (optional) pointer to the command, from which the search should start. Special values are: -1 = pointer to the next command 0 = pointer to actual pointer Page 69 Chapter 4 - Macro Language PTYP$ STRING (optional) primary object type default = “NO_TYPE” (optional) secundary object type DEFAULT = “NO_TYPE” STYP$ STRING PCO NUMBER pointer to command object (-1 = no next command) Return: Error (C_IER): 90247 90248 90249 90355 32111 32112 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined primary type undefined secondary type Example: PCO = CF_GETNXTCO (-1, “COORD”, “RAPID”) PCO is set to the internal pointer of the next RAPID motion. PCO = CF_GETNXTCO (-1, “COORD”, “RAPID”,”COORD”, “GOTO”) PCO is set to the internal pointer of the next RAPID or GOTO motion. 4.4.3.3 CF_GETPTYPE$ Description: Get the internal primary object type. The input parameter is the return value of the CF_GETNXTCO function. The return values are listed in the appendix. Syntax: S$ = CF_GETPTYPE$ (PCO) Type: Function Input: PCO NUMBER Pointer to object (return value from CF_GETNXTCO() function) S$ STRING Return: Primary object type Error (C_IER): 90247 90248 90355 Not enough parameters to function Too many parameters to function Argument to function must be a number Example: PCO = CF_GETNXTCO (-1, “NO_TYPE”, “NO_TYPE”) PCO is set to the internal pointer of the next object. S$ = CF_GETPTYPE$ (PCO) S$ is set to the primary object type. If this is GOTO motion, the type is PTYP_COORD and S$ is set to “COORD”. Page 70 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language 4.4.3.4 CF_GETSTATE Description: Get the runtime state flag or actual status of the program. The possible parameter values and the return values are listed in the Appendix see “APPENDIX” on page 321. Syntax: RC = CF_GETSTATE (PARAM$) Type: Function Input: PARAM$ STRING Parameter id RC NUMBER status Return: Error (C_IER): 32105 90247 90248 90249 Unknown Keyword to function Not enough parameters to function Too many parameters to function Argument to function must be a string Example: IF CF_GETSTATE (“MULTAX”) = 0 CF_APTTXT “PPRINT/ MULTAX IS OFF” ELSE CF_APTTXT “PPRINT/ SPECIAL LOADTL PROCESSING” END IF 4.4.3.5 CF_GETSTYPE$ Description: Get the internal secundary object type. The input parameter is the return value of the CF_GETNXTCO function. The return values are listed in the appendix. Syntax: S$ = CF_GETSTYPE$ (PCO) Type: Function Input: PCO NUMBER Pointer to object (return value from CF_GETNXTCO() function) S$ STRING Return: Secundary object type Error (C_IER): 90247 90248 90355 © CENIT AG Systemhaus cPost Documentation V1R6 Not enough parameters to function Too many parameters to function Argument to function must be a number Page 71 Chapter 4 - Macro Language Example: PCO = CF_GETNXTCO (-1, “NO_TYPE”, “NO_TYPE”) PCO is set to the internal pointer of the next object. S$ = CF_GETSTYPE$ (PCO) S$ is set to the secundary object type. If this is GOTO motion, the type is STYP_GOTO and S$ is set to “GOTO”. 4.4.3.6 CF_PUTCO2POOL Description: This command is used to put the parameters of a cPost object in the variable pool. The user can define the variable names. Syntax: RC = CF_PUTCO2POOL (PCO, C_NAME$) Type: Function Input: PCO C_NAME$ NUMBER Pointer to cPost object STRING variable name RC NUMBER return value Return: Error (C_IER): 90247 90248 90249 90355 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number Example: Put the variable of the next COOLNT command in the variable pool PCO = CF_GETNXTCO (-1, "COOLNT", "NO_TYPE") RC = CF_PUTCO2POOL (PCO, "C_TMP") if the COOLNT command is: COOLNT/MIST,ON, these sequence generate the following pool variables: C_TMPC = 3 C_TMP$(1) = ’COOLNT’ C_TMPR(1) = 0.0 C_TMP$(2) = ’MIST’ C_TMPR(2) = 0.0 C_TMP$(3) = ’ON’ C_TMPR(3) = 0.0 4.4.3.7 CF_SETCOMODE$ Description: This command is used to set processing mode of cPost objects. It has only effect on not interpreted objects. The mode of an object defines the handling by cPost ( no interpretation, no replacing by a macro). Page 72 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language Syntax: SOLD$ = CF_SETCOMODE$ (PCO, SNEW$) Type: Function Input: PCO SNEWS NUMBER Pointer to cPost object STRING processing mode “SKIP” -> CO will not be interpreted “NOMACRO” -> CO will not be interpreted as a macro “DEFAULT” -> reset processing mode SOLD$ STRING Return: actual processing mode Error (C_IER): 90247 90248 90249 90355 32114 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Argument to function must be a number undefined processing mode Example: next RAPID must not be interpreted PCO = CF_GETNXTCO (-1, "COORD", "RAPID") SOLD$ = CF_SETCOMODE$ (PCO, "SKIP") 4.4.3.8 CF_SETSTATE Description: Set the runtime state flag or actual status of the program. The possible parameter values and the return values are listed in the Appendix. ##### Baerbel#### . Syntax: RC = CF_SETSTATE (PARAM$, INEW) Type: Function Input: PARAM$ INEW STRING Parameter id NUMBER New value RC NUMBER Old value Return: Error (C_IER): 32105 90247 90248 90249 Unknown Keyword to function Not enough parameters to function Too many parameters to function Argument to function must be a string Example: IOLD = CF_SETSTATE (“MULTAX”,0) © CENIT AG Systemhaus cPost Documentation V1R6 Page 73 Chapter 4 - Macro Language 4.4.3.9 CF_VAR_EXISTS Description: This function is used tho check the existence of a variable or the index of an array. If the variable is found, 0 is return. If the variable is not found, the return value is 1. Syntax: RC = CF_VAR_EXISTS(VNAME$) Type: Function Input: VNAME$ STRING Variable name RC NUMBER 0: Variable exists, 1: Variable not found Return: Error (C_IER): 90247 90248 90249 Not enough parameters to function Too many parameters to function Error: Argument to function must be a string Example: RC = CF_VAR_EXISTS (“C_AXIS_X_NXT_POS”) RC = CF_VAR_EXISTS (“C_TLNO_TL_NUMBER(1)”) 4.5 • Macro examples Example for COOLNT Macro (special output for the COOLNT/THRU,ON) REM TRON IF C_VARG$(1) = ’THRU’ THEN IF C_VARG$(2) = ’OFF’ THEN CF_APTTXT ’COOLNT/’ + C_VARG$(1) + ’ , ’ + C_VARG$(2) ELSE CF_APTTXT ’AUXFUN/15’ + CF_FMTVAL$(C_VARGR(2)/10,’*INT’) END IF ELSE IF C_VARGC = 2 THEN CF_APTTXT ’COOLNT/’ + C_VARG$(1) + ’ , ’ + C_VARG$(2) ELSE CF_APTTXT ’COOLNT/’ + C_VARG$(1) END IF END IF REM TROFF Page 74 + ’ , NEXT’ © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 4 - Macro Language • Example for SETPLN Macro REM TRON IF C_VARG$(1) = ’ON’ THEN X$ = CF_FMTVAL$(C_AXIS_TLVEC_X_CUR,"*APT_COORD") Y$ = CF_FMTVAL$(C_AXIS_TLVEC_Y_CUR,"*APT_COORD") Z$ = CF_FMTVAL$(C_AXIS_TLVEC_Z_CUR,"*APT_COORD") CF_APTTXT ’DEFPLN/’ + X$ + ’,’ + Y$ + ’,’ + Z$ CF_APTTXT ’SETPLN/ON’ CF_APTTXT ’ORIGIN/NCDATA,0,0,0’ ORIGX_MERK = C_ORIGIN_X_AXIS ORIGY_MERK = C_ORIGIN_Y_AXIS ORIGZ_MERK = C_ORIGIN_Z_AXIS CF_APTTXT ’ORIGIN/0,0,0’ ELSEIF C_VARG$(1) = ’OFF’ THEN IF A_GEKLEMMT = 1 THEN CF_APTTXT ’INSERT/M16’ A_GEKLEMMT=0 END IF IF B_GEKLEMMT = 1 THEN CF_APTTXT ’INSERT/M11’ B_GEKLEMMT=0 END IF CF_APTTXT ’SETPLN/OFF’ CF_APTTXT ’ORIGIN/NCDATA,0,0,220’ X$ = CF_FMTVAL$(ORIGX_MERK,’*APT_COORD’) Y$ = CF_FMTVAL$(ORIGY_MERK,’*APT_COORD’) Z$ = CF_FMTVAL$(ORIGZ_MERK,’*APT_COORD’) CF_APTTXT ’ORIGIN/’ + X$ + ’,’ + Y$ + ’,’ + Z$ END IF REM TROFF © CENIT AG Systemhaus cPost Documentation V1R6 Page 75 Chapter 4 - Macro Language Page 76 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5 cPost Tab Pages 5.1 HEADER INFORMATION 5.1.1 PPHEADER • License (HEADER_PP_LICENSE): This read only field contains the license informations of the parameterfile. 1st part: license type of the loaded parameterfile. 2nd part: new license type, if the parameterfile is saved. • Version (HEADER_PP_VERSION): This read only field contains the version number of the parameterfile. 1st part: actual version of the loaded parameterfile. 2nd part: new version, if the parameterfile is saved. • Date (HEADER_DATE): This read only field contains the last modification date of the Post Processor file. The format is: Day.Month.Year (Hour:Minutes:Seconds) • Created by(HEADER_CREATED_BY) This field can be used to define the name of creator of the Post Processor file. © CENIT AG Systemhaus cPost Documentation V1R6 Page 77 Chapter 5 - cPost Tab Pages 5.1.2 • DOCUMENTATION Documentation (HEADER_DOCUMENTATION): Modifications of the parameterfile can be documented here. Example: 01.01.2002 by J. Schardt command of “RAPID” changed. Page 78 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.2 GLOBAL SETTINGS You can define global number formats and the output control strings for the sequences in these tab pages. 5.2.1 NUMBER FORMAT The number formats are necessary for the output of each number variable. If you define here a global format, you can refer everywhere in the pp to this format. This is very helpful for later changes in the output format. • Defaul format (STR_FORMATX): This format is used, if no other one is defined. • List of defined formats: This list shows all defined formats. • Set default format: Sets the selected format of the list to the default format • Remove format: A selected format will be removed. • Add one format: Add a new format to the list or modify an old one. In this case you must enter the old name. Example for a new format definition: • Push the button “Add one format” • Define the format with the panel spinners and switches • Push the button “Add...” • Activate the textfield at the top of this panel • Enter the new format name • Press the return key • Push the button “OK” © CENIT AG Systemhaus cPost Documentation V1R6 Page 79 Chapter 5 - cPost Tab Pages 5.2.2 SEQUENCE SETTINGS The parameter of this tab page are necessary for the iso block definition. You can define the ids for line break, no sequence number and so on. These parameters are fixed, that means they could not be modified with macro functions. • Block sequence: not first (STR_BLOCK_NOT_FIRST): This parameter defines the character which is used in sequences to mark the start and the end of the part of the sequence, which is suppressed at the first output. The default value is ’:’. e.g. ...;$;this character;’NOT OUTPUT AT 1ST CALL’;$;this character;.... Attention: This parameter must not be modified with the macro function CF_SetParStr$. • Block sequence: new line (STR_BLOCK_NEW_LINE): This parameter defines the character which is used in sequences to define a line break. The default value is ’$’. Attention: This parameter must not be modified with the macro function CF_SetParStr$. • Block sequence: no recnr (STR_BLOCK_NO_RECNR): This parameter defines the character which is used in sequences to mark the start and the end of the sequence, which is output without a record number. The deafult value is ’?’. e.g. ...;$;this character;’LINE WITHOUT RECORD NUMBER’;$;this character;.... Attention: This parameter must not be modified with the macro function CF_SetParStr$. • Block sequence : blank line (STR_BLOCK_BLANK_LINE): This parameter defines the character which is used in sequences to output an empty line in the NC program. The default value is ’LZ’. Attention: This parameter must not be modified with the macro function CF_SetParStr$. • Block sequence: table (STR_BLOCK_TABLE): This parameter defines the character which is used in sequences to mark the start and the end of the sequence, which is output as a table. The default value is ’#’. e.g. ...;$;this character;TABLE(varname1,varname2,...);term1;fmt1;...;this character;.... All table variables must be defined in TABLE(...). A simple tool table (only tool number and radius) is defined like follows: ;#;TABLE(C_TLNO_TL_NUMBER,C_TLNO_TL_DIAMETER);’T’;C_TLNO_TL_NUMBER_C;N2.0%0;’ R’;C_TLNO_TL_DIAMETER_C/2;N1.3%0;$;#; Attention: This parameter must not be modified with the macro function CF_SetParStr$. • Variable identifier in Data blocks (STR_VAR_IDENTIFIER): This parameter defines the symbol used in the list of origins definition sequence to identify variables. They will be replaced on runtime by their actual value. Attention: This parameter must not be modified with the macro function CF_SetParStr$. Page 80 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3 MACHINE TOOL 5.3.1 MACHINE TOOL TYPE This section defines the tool machine. All parameters defining kinematik, limits, ... are combined in this section. • Post Processor name (TDB_MFG_PP_NAME): This parameter defines the internal name of the Post Processor. • Machine tool type (TDB_MFG_CLASS_NAME): This parameter defines the Machine Tool Type. Attention: This parameter must not be modified with the macro function CF_SetParStr$. © CENIT AG Systemhaus cPost Documentation V1R6 Page 81 Chapter 5 - cPost Tab Pages 5.3.2 MACHINE LIMITS 5.3.2.1 MACHINE LIMITS FEED • Rapid feed rate (TDB_MFG_RAPID_FEED): This parameter defines the feed value for RAPID motions. There is no extra output of this value, but it is available in the iso blocks. The value is put in the variable pool with the name C_RAPID_FEED. It is also used by the time calculation of cPost. • Minimum feed rate (mmpm) (TDB_MFG_MIN_FEEDRATE): This parameter defines the minimum value of the feedrate per minute. Each FEDRAT command is checked with this value. If the programmed value is less than this, cPost outputs a warning in the report file and the actual feed value is set equal to this minimum. • Maximum feed rate (mmpm) (TDB_MFG_MAX_FEEDRATE): This parameter defines the maximum value of the feedrate per minute. Each FEDRAT command is checked with this value. If the programmed value is above this, cPost outputs a warning in the report file and the actual feed value is set equal to this maximum. • Minimum feed rate (mmpu) (TDB_N3C_FEED_MIN_ROT): This parameter defines the minimum value of the feedrate per rotation. Each FEDRAT command is checked with this value. If the programmed value is less than this, cPost outputs a warning in the report file and the actual feed value is set equal to this minimum • Maximum feed rate (mmpu) (TDB_N3C_FEED_MAX_ROT): This parameter defines the maximum value of the feedrate per rotation. Each FEDRAT command is checked with this value. If the programmed value is above, cPost outputs a warning in the report file and the actual feed value is set equal to this maximum. • Minimum feed rate (inverse) (TDB_N3C_FEED_INV_MIN): This parameter defines the minimum value of the feedrate programmed as inverse time. Each FEDRAT command is checked with this value. If the programmed value is less, cPost outputs a warning in the report file and the actual feed value is set equal to this minimum. • Maximum feed rate (inverse) (TDB_N3C_FEED_INV_MAX): This parameter defines the maximum value of the feedrate programmed as inverse time. Each FEDRAT command is checked with this value. If the programmed value is above, cPost outputs a warning in the report file and the actual feed value is set equal to this maximum. Page 82 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.2.2 MACHINE LIMITS SPINDLE • Min. ss for each range (TDB_MFG_MIN_SPINDLE): Gives the minimum spindle speed value available for each speed range. It must have as many values as the number of spindle speed ranges. • Max. ss for each ranges (TDB_MFG_MAX_SPINDLE): Gives the maximum spindle speed value available for each speed range. It must have as many values as the number of spindle speed ranges. • Min. ts for each range (TDB_MFG_TAP_SPD_MIN): This attribute specifies the minimum tapping spindle speed value available. • Max. ts for each range (TDB_MFG_TAP_SPD_MAX): This attribute specifies the maximum tapping spindle speed value available. © CENIT AG Systemhaus cPost Documentation V1R6 Page 83 Chapter 5 - cPost Tab Pages 5.3.2.3 MACHINE LIMITS TRAVEL • Minimum X Value (TDB_MFG_X_MIN_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. • Maximum X Value (TDB_MFG_X_MAX_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. • Minimum Y Value (TDB_MFG_Y_MIN_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. • Maximum Y Value (TDB_MFG_Y_MAX_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. • Minimum Z Value (TDB_MFG_Z_MIN_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. • Maximum Z Value (TDB_MFG_Z_MAX_LIM): Defines the possible movements of the spindle face along the travel axis. These limits are defined in the table axis system and define the machine envelope. Page 84 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.2.4 MACHINE TOLERANCES • Minimum point distance (TDB_MFG_MIN_DISC): This parameter defines the minimum distance between two consecutive points that the machine is able to achive. If the distance is less than this value, the second point is suppressed. • Minimum circle radius (TDB_MFG_R_MIN_CIRC): This parameter defines the minimum radius of circular interpolation that the machine is able to achive. If the radius is less than this value, the circle will be linearized. • Maximum circle radius (TDB_MFG_R_MAX_CIRC): This parameter defines the maximum radius of circular interpolation that the machine is able to achive. If the radius is greater than this value, the circle will be linearized. • Linear tolerance (TDB_MFG_LIN_TOL_POS): This parameter defines the linear tolerance position of the machine. • Angular tolerance (TDB_MFG_ANG_TOL_POS): This parameter defines the angular tolerance position of the machine. © CENIT AG Systemhaus cPost Documentation V1R6 Page 85 Chapter 5 - cPost Tab Pages 5.3.3 MACHINE POSITIONS • Home position in X (TDB_MFG_X_HOME_POS): Defines the center position of the spindle face used when the machine is switched on after having made origin. This position is not a working position. • Home position in Y (TDB_MFG_Y_HOME_POS): Defines the center position of the spindle face used when the machine is switched on after having made origin. This position is not a working position. • Home position in Z (TDB_MFG_Z_HOME_POS): Defines the center position of the spindle face used when the machine is switched on after having made origin. This position is not a working position. • Spindle orientation (TDB_MFG_SPNDL_ORIENT): This parameter defines the possible spindle orientations. If any other value than horizontal or vertical is chosen, you can define the starting position of the spindle with the 3 values below. • Starting tool vector X (TDB_MFG_INIT_SPINDLE): Specifies initial position of the spindle. Used only if spindle orientation is fixed, indexable or continuous. • Starting tool vector Y (TDB_MFG_INIT_SPINDLE): Specifies initial position of the spindle. Used only if spindle orientation is fixed, indexable or continuous. • Starting tool vector Z (TDB_MFG_INIT_SPINDLE): Specifies initial position of the spindle. Used only if spindle orientation is fixed, indexable or continuous. Page 86 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.4 MACHINE TOOL TOOLS • Maximum number of tools (TDB_MFG_MAX_TL_NB): This parameter defines the maximum number of tool assemblies which can be mounted on the tool changer if it exists. If not it represents a maximum number of tool assemblies acceptable for the machine. • Tool change time (TDB_MFG_TL_CHNG_TIME): This parameter defines the tool change time and is used for the time calculation of cPost. © CENIT AG Systemhaus cPost Documentation V1R6 Page 87 Chapter 5 - cPost Tab Pages 5.3.5 MACHINE SPINDLE DATA • Spindle range number (TDB_MFG_SPNDL_RNG_NB): Used to describe machines with several discontinuous speed ranges. • Spindle speed continous/index (TDB_MFG_SPNDL_SPD_NB): Specifies the number of spindle speed values available for each speed range. It must have as many Setvalues as the number of spindle speed ranges. • If ss index: number of spindle speeds for each range (TDB_MFG_SPNDL_SPD_NB): Specifies the number of spindle speed values available for each speed range. It must have as many values as the number of spindle speed ranges. • Spindle speed for each range (TDB_MFG_SPNDL_VALUE): Gives the spindle speed values available for all speed ranges. It must have as many values as the total number of spindle speed values. The order in the list of values makes the link between the value and the number of range. Example: If: - Number of spindle speed ranges = 2 - Number of spindle speed values = 2 and 4 Then: - List of spindle speed values must have 6 values - The 2 first values will correspond to the first spindle speed range - The 4 last values will correspond to the second spindle speed range • Min. ss for each range (TDB_MFG_MIN_SPINDLE): Gives the minimum spindle speed value available for each speed range. It must have as many values as the number of spindle speed ranges. • Max. ss for each range (TDB_MFG_MAX_SPINDLE): Gives the maximum spindle speed value available for each speed range. It must have as many values as the number of spindle speed ranges. • Set spindle values: To set the values for the paramters, press this button. The Spindle range values panel opends. Page 88 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages © CENIT AG Systemhaus cPost Documentation V1R6 Page 89 Chapter 5 - cPost Tab Pages 5.3.6 MACHINE ROTARY AXIS (MULTAX MACHINES) 5.3.6.1 TWO AXIS ON HEAD • Dependent axis (TDB_MFG_AXIS_PRIORITY): This parameter defines order of the rotation axis. It is necessary for machines with two rotary axis and defines which rotary axis position is dependent from the other rotation axis. For example: The tool machine has a typical gantry head (rotation C around Z and tilting A aroud X). If you define the C axis as the first axis and the A axis as the second, you must define here the second as the dependent axis. BOTH (Only available for Table-Head machines) means: there is no such limitation on the machine - so there is no priority between the rotary axes. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "FIRST", "SECOND" and "BOTH". e.g. SOLD$ = CF_SETPARTDB$("MFG_AXIS_PRIORITY","SECOND","ADD") • Nutator angle (TDB_N3C_NUTATOR_ANGLE): This parameter defines the angle between the independent and the dependant rotary axis. It is only necessary, if the rotary axis are not perpendicular. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("N3C_NUTATOR_ANGLE","45.0","ADD") Page 90 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.6.2 FIRST HEAD AXIS • First head axis (TDB_MFG_SPNDL_AXIS): This parameter defines which axis of the machining axis system is parallel to the rotary axis. “A'' : the axis rotates around X axis. ''B'' : the axis rotates around Y axis. ''C'' : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_AXIS","A","ADD"). • Rotation direction (TDB_MFG_SPN_DIR): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_DIR’’,’’BOTH’’) . • Rotation angle (TDB_MFG_SPN_TYP): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are “ABS”, “REL”, “BOTH”. e.g. OLD$ = CF_ SETPARTDB$(''MFG_SPN_TYP'',''BOTH'') © CENIT AG Systemhaus cPost Documentation V1R6 Page 91 Chapter 5 - cPost Tab Pages • Pos. Rotation direction (TDB_MFG_SPN_POS_WAY): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_POS_WAY’’,’’1’’) to switch to CCLW • Type of rotary head movement (TDB_MFG_SPINDL_VR): This parameter defines the type of rotary head movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPINDL_VR’’,’’BY STEP’’) • Index step (TDB_MFG_SPN_STP_ANG): This parameter is used only if the type of rotary head movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPN_STP_ANG","5.0") • Spindle Travel limit • Minimum value (TDB_MFG_SPNDL_MINPOS): Specifies the minimum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: -360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MINPOS","5.0") • • Maximum value (TDB_MFG_SPNDL_MAXPOS): Specifies the maximum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: +360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MAXPOS","5.0") Center of Spindle axis • x value center first axis (TDB_MFG_X_SPNDL_CTR): Page 92 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_SPNDL_CTR","0.0") • • y value center first axis (TDB_MFG_Y_SPNDL_CTR): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_SPNDL_CTR","0.0") • z value center first axis (TDB_MFG_Z_SPNDL_CTR): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_SPNDL_CTR","0.0") Offset first axis (TDB_N3C_SPNDL_INITPOS): This parameter defines the origin on the rotations axis in the head of the machine tool. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“N3C_SPNDL_INITPOS”,”0.0”) © CENIT AG Systemhaus cPost Documentation V1R6 Page 93 Chapter 5 - cPost Tab Pages 5.3.6.3 SECOND HEAD AXIS • Second head axis (TDB_MFG_SPNDL_AXIS_2): This parameter defines which axis of the machining axis system is parallel to the rotary axis. “A'' : the axis rotates around X axis. ''B'' : the axis rotates around Y axis. ''C'' : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_AXIS_2","A","ADD"). • Rotation direction (TDB_MFG_SPN_DIR_2): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_DIR_2’’,’’BOTH’’) • Rotation angle (TDB_MFG_SPN_TYP_2): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ABS, REL, BOTH. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_TYP_2’’,’’BOTH’’) Page 94 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Pos. Rotation direction (TDB_MFG_SPN_POS_WAY_2): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_POS_WAY_2’’,’’1’’) to switch to CCLW • Type of rotary head movement (TDB_MFG_SPINDL_VR_2): This parameter defines the type of rotary head movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPINDL_VR_2’’,’’BY STEP’’) • Index step (TDB_MFG_SPN_STP_2): This parameter is used only if the type of rotary head movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPN_STP_2","5.0") . • Spindle Travel limit • Minimum value (TDB_MFG_SPNDL_MINPS2): Specifies the minimum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: -360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MINPS2","5.0") • • Maximum value (TDB_MFG_SPNDL_MAXPS2): Specifies the maximum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: +360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MAXPS2","5.0") Center of Spindle axis • x value center second axis (TDB_MFG_X_SPNDL_CTR_2): © CENIT AG Systemhaus cPost Documentation V1R6 Page 95 Chapter 5 - cPost Tab Pages This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_SPNDL_CTR_2","0.0") • • y value center second axis (TDB_MFG_Y_SPNDL_CTR_2): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_SPNDL_CTR_2","0.0") • z value center second axis (TDB_MFG_Z_SPNDL_CTR_2): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_SPNDL_CTR_2","0.0") Offset second axis (TDB_N3C_SPNDL_INITPS2): This parameter defines the origin on the rotations axis in the head of the machine tool. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“N3C_SPNDL_INITPS2”,”0.0”) Page 96 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.6.4 TWO AXIS ON TABLE • Dependent axis (TDB_MFG_AXIS_PRIORITY): This parameter defines order of the rotation axis. It is necessary for machines with two rotary axis and defines which rotary axis position is dependent from the other rotation axis. For example: The tool machine has a typical gantry head (rotation C around Z and tilting A aroud X). If you define the C axis as the first axis and the A axis as the second, you must define here the second as the dependent axis. BOTH (Only available for Table-Head machines) means: there is no such limitation on the machine - so there is no priority between the rotary axes. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "FIRST", "SECOND" and "BOTH". e.g. SOLD$ = CF_SETPARTDB$("MFG_AXIS_PRIORITY","SECOND","ADD") • Nutator angle (TDB_N3C_NUTATOR_ANGLE): This parameter defines the angle between the independent and the dependant rotary axis. It is only necessary, if the rotary axis are not perpendicular. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("N3C_NUTATOR_ANGLE","45.0","ADD") © CENIT AG Systemhaus cPost Documentation V1R6 Page 97 Chapter 5 - cPost Tab Pages 5.3.6.5 • FIRST TABLE AXIS First table axis (TDB_MFG_ROTARY_AXIS): This parameter defines which axis of the machining axis system is parallel to the rotary axis. ’’A’’ : the axis rotates around X axis. ’’B’’ : the axis rotates around Y axis. ’’C’’ : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_ROTARY_AXIS","A","ADD"). • Rotation direction (TDB_MFG_ROT_DIR): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_DIR’’,’’BOTH’’) • Rotation angle (TDB_MFG_ROT_TYP): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ABS, REL, BOTH. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_TYP’’,’’BOTH’’) Page 98 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Pos. Rotation direction (TDB_MFG_ROT_POS_WAY): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_POS_WAY’’,’’1’’) to switch to CCLW • Type of rotary table movement (TDB_MFG_ROTARY_VR): This parameter defines the type of rotary table movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROTARY_VR’’,’’BY STEP’’) • Index step (TDB_MFG_ROT_STEP_ANG): This parameter is used only if the type of rotary table movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_ROT_STEP_ANG","5.0") • Rotary axis Travel limit • Axis Minimum (TDB_MFG_MIN_ROT_POS): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MIN_ROT_POS”,"0.0") • • Axis Maximum (TDB_MFG_MAX_ROT_POS): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MAX_ROT_POS”,"0.0") Center of Rotary axis • x value center first axis (TDB_MFG_X_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_ROT_CENTER”,"0.0") • y value center first axis (TDB_MFG_Y_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_ROT_CENTER”,"0.0") © CENIT AG Systemhaus cPost Documentation V1R6 Page 99 Chapter 5 - cPost Tab Pages • z value center first axis (TDB_MFG_Z_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_ROT_CENTER”,"0.0") • Offset (TDB_MFG_INIT_ROT_POS): This parameter defines the intial angle of the rotary table. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“MFG_INIT_ROT_POS”,"0.0") Page 100 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.6.6 • SECOND TABLE AXIS Second table axis (TDB_MFG_ROTARY_AXIS_2): This parameter defines which axis of the machining axis system is parallel to the rotary axis. ’’A’’ : the axis rotates around X axis. ’’B’’ : the axis rotates around Y axis. ”C'' : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_ROTARY_AXIS_2","A","ADD"). • Rotation direction (TDB_MFG_ROT_DIR_2): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_DIR_2’’,’’BOTH’’) • Rotation angle (TDB_MFG_ROT_TYP_2): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: © CENIT AG Systemhaus cPost Documentation V1R6 Page 101 Chapter 5 - cPost Tab Pages This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ABS, REL, BOTH. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_TYP’’,’’BOTH’’) . • Pos. Rotation direction (TDB_MFG_ROT_POS_WAY_2): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_POS_WAY_2’’,’’1’’) to switch to CCLW • Type of rotary table movement (TDB_MFG_ROTARY_VR_2): This parameter defines the type of rotary table movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROTARY_VR_2’’,’’BY STEP’’) • Index step (TDB_MFG_ROT_STEP_2): This parameter is used only if the type of rotary table movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_ROT_STEP_2","5.0") • Rotary axis Travel limit • Axis Minimum (TDB_MFG_MIN_ROT_POS_2): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MIN_ROT_POS_2”,"0.0") • • Axis Maximum (TDB_MFG_MAX_ROT_POS_2): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MAX_ROT_POS_2”,"0.0") Center of Rotary axis • x value center second axis (TDB_MFG_X_ROT_CNTR_2): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_ROT_CNTR_2”,"0.0") • Page 102 y value center second axis (TDB_MFG_Y_ROT_CNTR_2): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_ROT_CNTR_2”,"0.0") • z value center second axis (TDB_MFG_Z_ROT_CNTR_2): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_ROT_CNTR_2”,"0.0") • Offset (TDB_MFG_INIT_ROT_POS_2). This parameter defines the intial angle of the rotary table. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“MFG_INIT_ROT_POS_2”,"0.0") © CENIT AG Systemhaus cPost Documentation V1R6 Page 103 Chapter 5 - cPost Tab Pages 5.3.6.7 • AXIS ON TABLE HEAD Nutator angle (TDB_N3C_NUTATOR_ANGLE): This parameter defines the angle between the independent and the dependant rotary axis. It is only necessary, if the rotary axis are not perpendicular. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("N3C_NUTATOR_ANGLE","45.0","ADD") Page 104 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.3.6.8 HEAD AXIS • Head axis (TDB_MFG_SPNDL_AXIS): This parameter defines which axis of the machining axis system is parallel to the rotary axis. “A'' : the axis rotates around X axis. ''B'' : the axis rotates around Y axis. ''C'' : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_AXIS","A","ADD"). • Rotation direction (TDB_MFG_SPN_DIR): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_DIR’’,’’BOTH’’) • Rotation angle (TDB_MFG_SPN_TYP): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ABS, REL, BOTH. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_TYP’’,’’BOTH’’) © CENIT AG Systemhaus cPost Documentation V1R6 Page 105 Chapter 5 - cPost Tab Pages • Pos. Rotation direction (TDB_MFG_SPN_POS_WAY): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPN_POS_WAY’’,’’1’’) to switch to CCLW • Type of rotary head movement (TDB_MFG_SPINDL_VR): This parameter defines the type of rotary head movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_SPINDL_VR’’,’’BY STEP’’) • Index step (TDB_MFG_SPN_STP_ANG): This parameter is used only if the type of rotary head movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPN_STP_ANG","5.0") • Spindle Travel limit • Minimum value (TDB_MFG_SPNDL_MINPOS): Specifies the minimum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: -360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MINPOS","5.0") • Page 106 Maximum value (TDB_MFG_SPNDL_MAXPOS): Specifies the maximum limit position of the spindle about spindle center with respect to the Zaxis for A and B rotation axes and to X-axis for C rotation axis. Value range: real Minimal value: no Maximal value: no Unit: degrees Default value: +360.0 Dependencies: Spindle orientation (MFG_SPNDL_ORIENT) = INDEXABLE | CONTINUOUS Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_SPNDL_MAXPOS","5.0") © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • • Center of Spindle axis • x value center head axis (TDB_MFG_X_SPNDL_CTR): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_SPNDL_CTR","0.0") • y value center head axis (TDB_MFG_Y_SPNDL_CTR): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_SPNDL_CTR","0.0") • z value center head axis (TDB_MFG_Z_SPNDL_CTR): This parameter defines the coordinates of the center of the spindle. These coordinates are expressed in the travel axis system. They are needed for the coordiante recalculation in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_SPNDL_CTR","0.0") Offset head axis (TDB_N3C_SPNDL_INITPOS): This parameter defines the origin on the rotations axis in the head of the machine tool. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“N3C_SPNDL_INITPOS”,”0.0”) © CENIT AG Systemhaus cPost Documentation V1R6 Page 107 Chapter 5 - cPost Tab Pages 5.3.6.9 • TABLE AXIS First table axis (TDB_MFG_ROTARY_AXIS): This parameter defines which axis of the machining axis system is parallel to the rotary axis. ’’A’’ : the axis rotates around X axis. ’’B’’ : the axis rotates around Y axis. ’’C’’ : the axis rotates around Z axis. Attention: This parameter can only be modified with the macro function CF_SETPARTDB$ with the "ADD" option. Possible values are "A", "B" and "C". e.g. SOLD$ = CF_SETPARTDB$("MFG_ROTARY_AXIS","A","ADD"). • Rotation direction (TDB_MFG_ROT_DIR): This parameter defines the possible rotation directions. Possible values are CLW, CCLW and BOTH. If BOTH is selected, cPost compares the possible rotation angles and output the better solution. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are BOTH, CLW,CCLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_DIR’’,’’BOTH’’) • Rotation angle (TDB_MFG_ROT_TYP): This parameter defines if the rotation angles of this axis are absolute or relative. If BOTH is selected, the output depends on the actual MODE/INCR command. Attention: Page 108 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ABS, REL, BOTH. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_TYP’’,’’BOTH’’) • Pos. Rotation direction (TDB_MFG_ROT_POS_WAY): This parameter defines the positive rotation direction. If CLW is selected, cPost considers all clockwise rotations as positive. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are 1 for CCLW and 2 for CLW. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROT_POS_WAY’’,’’1’’) to switch to CCLW • Type of rotary table movement (TDB_MFG_ROTARY_VR): This parameter defines the type of rotary table movement. If ’’continunous’’ is selected, each angle position is possible. If ’’stepwise’’ is selected, cPost outputs the nearest angle position in dependence of the defined ’’index step’’. Attention: This parameter can be modified with the macro function CF_SetParTDB$. Possible values are ’’BY STEP’’ or ’’CONTINUOUS’’. e.g. OLD$ = CF_ SETPARTDB$(’’MFG_ROTARY_VR’’,’’BY STEP’’) • Index step (TDB_MFG_ROT_STEP_ANG): This parameter is used only if the type of rotary table movement is by step. It specifies in degrees the elementary rotation step. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value has to be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_ROT_STEP_ANG","5.0") • Rotary axis Travel limit • Axis Minimum (TDB_MFG_MIN_ROT_POS): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MIN_ROT_POS”,"0.0") • • Axis Maximum (TDB_MFG_MAX_ROT_POS): This parameter defines the limit angles of the table rotation. This attribute is used by cPost to check the accessibility of the position to be reached by the tool and to compute angles. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_MAX_ROT_POS”,"0.0") Center of Rotary axis • x value center table axis (TDB_MFG_X_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_X_ROT_CENTER”,"0.0") • y value center table axis (TDB_MFG_Y_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. © CENIT AG Systemhaus cPost Documentation V1R6 Page 109 Chapter 5 - cPost Tab Pages Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Y_ROT_CENTER”,"0.0") • z value center table axis (TDB_MFG_Z_ROT_CENTER): This parameter defines the coordinates of the center of the rotation axis of the rotary table. The coordinates are expressed in the travel axis system. These attributes are used by cPost to recalculate the coordinates in MULTAX mode. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$("MFG_Z_ROT_CENTER”,"0.0") • Offset (TDB_MFG_INIT_ROT_POS): This parameter defines the intial angle of the rotary table. Attention: This parameter can be modified with the macro function CF_SETPARTDB$. The new value must be defined as a string. e.g. SOLD$ = CF_SETPARTDB$(“MFG_INIT_ROT_POS”,"0.0") Page 110 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4 CONTROLLER 5.4.1 DEFAULT SETTINGS 5.4.1.1 STARTING CONDITIONS • Starting abs/incr condition (I4_START_COORD_TYPE): This parameter defines if the output of the coordinates up to the first MODE/INCR command is absolute or incremental. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 1 for absolute and 2 for incremental. e.g. OLD = CF_ SETPARINT(’’START_COORD_TYPE’’,1) • Starting plane (STR_DEFAULT_PLANE): This parameter defines the starting working plane of the toolmachine. Attention: This parameter can be modified with the macro function CF_SetParStr$. Possible values are “XY”, “XY2”, “ZX1”, “ZX2”, “YZ1”, “YZ2” and “ZXL”. e.g. OLD$ = CF_ SETPARSTR$(''DEFAULT_PLANE'',''XY'') • Starting feed unit (I4_START_FEED_UNIT): This parameter defines the feed rate unit until the first FEDRAT or TOOLNO command. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 1 for unit/min and 2 for unit/revolution. e.g. OLD = CF_ SETPARINT(’’FEED_UNIT’’,1) • Starting spindle unit (I4_START_SPINDL_UNIT): This parameter defines if the spindle speed or the cutting speed is constant until the first SPINDL or TOOLNO command. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 1 for constant spindle speed (RPM) and 2 for constant cutting speed (SFM). e.g. OLD = CF_ SETPARINT(’’SPINDL_UNIT’’,1) • Suppress 1st FEDRAT (I4_SUPRESS_FIRST_FEED): This parameter defines if the first FEDRAT command will be suppressed or not. If selected, the first FEDRAT command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Suppress 1st GOTO (I4_SUPRESS_FIRST_GOTO): This parameter defines if the first GOTO command will be suppressed or not. If selected, the first GOTO command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. © CENIT AG Systemhaus cPost Documentation V1R6 Page 111 Chapter 5 - cPost Tab Pages • Skip FROM command (I4_SKIP_FROM): This parameter defines if the FROM command is skipped or not. If selected, the FROM command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. Page 112 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.1.2 CONVERSION FACTORS • Factor Toolno (I4_APT_NC_FACTOR_TOOLNO): If this switch is set, TOOLNO parameter values, which contain a linear measurement unit, will be multiplied by the conversion factor between the linear measurement used in the APT file and the linear measurement to be generated in the NC data. i.e. the linear measurement unit of the values used in the TOOLNO statement is the same as the one used in the CAD system. If the switch is not set, the linear measurement unit of the values in the TOOLNO statement is the same as the one of the tool machine. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not use factor) or 1 (use factor). e.g. OLD = CF_ SETPARINT(’’APT_NC_FACTOR_TOOLNO’’,1) • Factor Switch (I4_APT_NC_FACTOR_SWITCH): If this switch is set, SWITCH parameter values, which contain a linear measurement unit, will be multiplied by the conversion factor between the linear measurement used in the APT file and the linear measurement to be generated in the NC data. i.e. the linear measurement unit of the values used in the SWITCH statement is the same as the one used in the CAD system. If the switch is not set, the linear measurement unit of the values in the SWITCH statement is the same as the one of the tool machine. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not use factor) or 1 (use factor). e.g. OLD = CF_ SETPARINT(’’APT_NC_FACTOR_SWITCH’’,1). • Factor Origin (I4_APT_NC_FACTOR_ORIGIN): If this switch is set, ORIGIN parameter values, which contain a linear measurement unit, will be multiplied by the conversion factor between the linear measurement used in the APT file and the linear measurement to be generated in the NC data. i.e. the linear measurement unit of the values used in the ORIGIN statement is the same as the one used in the CAD system. If the switch is not set, the linear measurement unit of the values in the ORIGIN statement is the same as the one of the tool machine. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not use factor) or 1 (use factor). e.g. OLD = CF_ SETPARINT(’’APT_NC_FACTOR_ORIGIN’’,1) • Factor APT-ISO general (R8_APT_NC_FACTOR_GENERAL): This parameter defines the conversion factor between the linear measurement used in the APT file and the linear measurement to be generated in the NC data. This is necessary if the units between APT and ISO differs, for example the APT is in inch and the tool machine needs mm. A term e.g. 1/ 254 will be evaluated. • Linear tolerance (R8_LINEAR_TOLERANCE): This parameter defines the accuracy to which the calculated coordinates are to be rounded. © CENIT AG Systemhaus cPost Documentation V1R6 Page 113 Chapter 5 - cPost Tab Pages 5.4.1.3 ISO SETTINGS • Record format fixed (I4_RECORD_FORMAT_FIXED): This switch defines if the fields after the last character in the NC records are filled with blanks up to the record length or not. If selected, a record length must be defined also. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (format not fixed) or 1 (fixed format). e.g. OLD = CF_ SETPARINT(’’RECORD_FORMAT_FIXED’’,1) • Record length (I4_NC_DATA_REC_LENGTH): If iso record length is fixed, this parameter must be defined. cPost will format all iso records to this length. • Delete Blanks (I4_NOBLANK): This parameter defines if blanks in the ISO file will be deleted or not. If selected, no blank will be output. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not delete) or 1 (delete). e.g. OLD = CF_ SETPARINT(’’NOBLANK’’,1). • Decimal point in ISO file (STR_DECIMAL_POINT_REPRESENTATION): This parameter defines the character symbol of the decimal point in the iso file. Enter (.) here as default. To create the coordinates format of the HEIDENHAIN controller, enter (,) here. If the controller requires no decimal point, the number of decimal places defines the dimension unit (1/100 mm, mm, ...). In this case the minimum and maximum number of decimal places must be identical. Attention: This parameter can be modified with the macro function CF_SetParStr$. e.g. OLD$ = CF_ SETPARSTR$("DECIMAL_POINT_REPRESENTATION",";") • End of iso record symbol (STR_END_OF_RECORD_SYMBOL): Definition of an end-of-line-character in case the controller requires it. cPost appends this symbol at the end of each iso record. Attention: This parameter can be modified with the macro function CF_SetParStr$. e.g. OLD$ = CF_ SETPARSTR$("END_OF_RECORD_SYMBOL",";") Page 114 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.1.4 REPORT SETTINGS • Report apt sequence • free text (BLK_REPORT_APT): If this sequence is defined, it will be output in the report file instead of the original APT record. The original APT records can be accesssed with the pool variable C_APTLINE and the number of the record with C_APTLINE_NB. A possible sequence is: 'APT NUMBER ';C_APTLINE_NB;N5%5.-0;' RECORD ';C_APTLINE;S;$; • Report iso sequence • free text (BLK_REPORT_ISO): If this sequence is defined, it will be output in the report file instead of the original ISO record. The orginal ISO records can be accesssed with the pool variable C_ISOLINE. A possible sequence is: 'ISO :';C_ISOLINE;S;$; • Mixed output (APT + NC) in reportfile (I4_PROTOCOL_APT_NC): If this switch is set, the report contains alternately APT lines and generated NC lines. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no mixed output) or 1 (mixed output). e.g. OLD = CF_ SETPARINT(’’PROTOCOL_APT_NC’’,1) . © CENIT AG Systemhaus cPost Documentation V1R6 Page 115 Chapter 5 - cPost Tab Pages 5.4.2 RECORD NUMBERING • Adress and format of the record number • Address parameter • Adress and Format of the record number (ADR_RECORD_NUMBER): This parameter defines format and address of each record number. The actual next record number can be accessed with the pool variable C_RECORD_NUMBER. • Format • Output of record number without address (I4_RECORD_NB_OUTPUT): This parameter determines if the output of the record number should also be output without an address character. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no output) or 1 (output). e.g. OLD = CF_ SETPARINT(’’RECORD_NB_OUTPUT’’,1) • First record number (I4_REC_NUM_FIRST): This parameter defines the first record number. A new starting value can be defined with the APT command SEQNO. • Record number increment (I4_REC_NUM_INCR): This parameter defines the record number increment. The value may be modified with the APTcommand SEQNO. The actual increment is accessible with the pool variable C_REC_NUMBER_INC. • Maximum record number (I4_REC_NUM_MAX): Definiton of maximum record number. When reaching this value, the Post Processor reset the counter and a warning is included in the report. Page 116 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.3 BEGIN/END COMMANDS 5.4.3.1 GENERAL • Program end command • Address parameter • Program end command (ADR_PROGRAM_END): This parameter defines the command which will be output at the end of an ISO program. • Program stop command • Address parameter • Program stop command (ADR_PROGRAM_STOP): This parameter defines the command which causes an interruption of the ISO program. It will be output if the APT command STOP is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 117 Chapter 5 - cPost Tab Pages 5.4.3.2 SEQUENCES • Program begin block without recnr • Address parameter block • free text (BLK_PRG_BEGIN_WO_RCNUM): This sequence is the first one to be output in the ISO file. The program name should be defined here. This sequence is also important to define own variables because this sequence is the first thing to be interpreted at the beginning. A possible header with some variable initialisation could be: '%';C_PARTNO(1);S;$; MY_INT=7; MY_TEXT='nothing'; MY_REAL=8.7*5; • Program begin block with recnr • Address parameter block • free text (BLK_PRG_BEGIN_WITH_RCNUM): This sequence is output immediately after the block without record numbers. In most cases it is used for tool tables, origin tables and so on. A possible ORIGIN table (only X value and first command) would be: ;#;TABLE(C_ORIGIN_MANUAL_1ST,C_ORIGIN_MAN_X_AXIS);C_ORIGIN_MANUAL_1ST _C;S;' X';C_ORIGIN_MAN_X_AXIS;N1%4.4%1;$;#;$; Page 118 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Program end block with recnr • Address parameter block • free text (BLK_PRG_END_WITH_RCNUM): This sequence will be output at the end of the program. It could be used to define the ending sequence for the controller. • Program end block without recnr • Address parameter block • free text (BLK_PRG_END_WO_RCNUM): This is the last sequence which is output. © CENIT AG Systemhaus cPost Documentation V1R6 Page 119 Chapter 5 - cPost Tab Pages 5.4.4 ISO CODE STRUCTURE 5.4.4.1 SUBPROGRAMS • Subprogram definition sequence • Address parameter block • free text (BLK_SUBPROG_DEF): This sequence defines the beginning of a subprogram. The structure of customer defined subprograms in APT sources is: ..... DEFSUB/100 ..... This is the customers subprogram. ENDSUB/100 ..... CALSUB/100,1 1st call ..... CALSUB/100,1 2nd call It is output if the APT command DEFSUB/n is programmed. Available variables are: C_SUB_PROG_ID: subprogram number (n) Page 120 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Subprogram end sequence • Address parameter block • free text (BLK_SUBPROG_END): This sequence defines the ending of a subprogram. The structure of customer defined subprograms in APT sources is: ..... DEFSUB/100 ..... This is the customers subprogram. ENDSUB/100 ..... CALSUB/100,1 1st call ..... CALSUB/100,1 2nd call It is output if the APT command ENDSUB/n is programmed. Available variables are: C_SUB_PROG_ID: subprogram number (n) • Subprogram call sequence • Address parameter block • free text (BLK_SUBPROG_CALL): This sequence defines the calling of a customer defined subprogram. The structure of these subprograms in APT sources is: ..... DEFSUB/100 ..... This is the customers subprogram. ENDSUB/100 ..... CALSUB/100,1 1st call ..... CALSUB/100,1 2nd call It is output if the APT command CALSUB/n1,n2 is programmed. Available variables are: C_SUB_PROG_ID: subprogram number (n1) C_SUB_NB_OF_REP: subprogram number of repetition (n2) • Subprogram call sequence (ext) • Address parameter block • free text (BLK_SUBPROG_CALL_EXT): This sequence defines the calling of a controller subprogram. It is output if the APT command CALSUB/EXTERN, n1,n2 is programmed. Available variables are: C_SUB_PROG_ID: subprogram number (n1) C_SUB_NB_OF_REP: subprogram number of repetition (n2) • Position of subprograms (I4_SUB_PROG_POS): This parameter defines the position of subprograms in the NC data. Attention: This parameter must not can be modified with the macro function CF_SETPARINT. © CENIT AG Systemhaus cPost Documentation V1R6 Page 121 Chapter 5 - cPost Tab Pages 5.4.4.2 REPITITIONS • Repitition command • Address parameter • Repitition command (ADR_REPETITION_COMMAND): This parameter defines the command to repeat program parts. The structure of repetitions in APT sources is: ..... REWIND/ON,1 ..... This part shall be repeated. REWIND/OFF,1 ..... REWIND/OUT,1,5 Repeat the above defined part 5 times ..... If the complete repeat command record looks like N100 G14 I5 N1=10 N2=90, you must input G14 here. • Format • Address of nb of repititions • Address parameter • Address of nb repititions (ADR_NUMBER_OF_REPETITIONS): This parameter defines the address of the program part repeatition number. It is output when a REWIND/OUT,n1,n2 is programmed. The structure of repetitions in APT sources is: ..... REWIND/ON,1 ..... This part shall be repeated. REWIND/OFF,1 ..... REWIND/OUT,1,5 Repeat the above defined part 5 times ..... If the complete repeat command record looks like N100 G14 I5 N1=10 N2=90 and I is the address of the repetition number, you must input I here. • Format Page 122 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Address of starting record nb • Address parameter • Address of starting record nb (ADR_START_OF_REPETITION_RECORD_NUMBER): This parameter defines the address for identification of the first block number of a program segment which is to be repeated. It is output when a REWIND/OUT,n1,n2 is programmed. The structure of repetitions in APT sources is: ..... REWIND/ON,1 ..... This part shall be repeated. REWIND/OFF,1 ..... REWIND/OUT,1,5 Repeat the above defined part 5 times ..... If the complete repeat command record looks like N100 G14 I5 N1=10 N2=90 and N1=I is the address of starting record number of the repetition, you must input N1= here. • Format • Address of ending record nb • Address parameter • Address of ending record nb (ADR_END_OF_REPETITION_RECORD_NUMBER): This parameter defines the address for identification of the last record number of a program segment which is to be repeated. It is output when a REWIND/OUT,n1,n2 is programmed. The structure of repetitions in APT sources is: ..... REWIND/ON,1 ..... This part shall be repeated. REWIND/OFF,1 ..... REWIND/OUT,1,5 Repeat the above defined part 5 times ..... If the complete repeat command record looks like N100 G14 I5 N1=10 N2=90 and N1=I is the address of the last record number of the repetition, you must input N2= here. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 123 Chapter 5 - cPost Tab Pages 5.4.5 M AND G CODES 5.4.5.1 ABS_INCR • Incremental on command • Address parameter • Incremental on command (ADR_INCREMENTAL_ON): This command defines that the following coordinate entries always relate to the current tool position (incremental dimension or incremental programming). It is output when a MODE/ INCR,ON is programmed. Available pool variable is: C_INCREMENTAL_ON (0: absolute programming | 1: incremental programming) • Incremental off command • Address parameter • Incremental off command (ADR_ABSOLUTE_ON): This command defines that the following coordinate entries always relate to the current tool position (incremental dimension or incremental programming). It is output when a MODE/ INCR,OFF is programmed. Available pool variable is: C_INCREMENTAL_ON (0: absolute programming | 1: incremental programming) Page 124 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.5.2 AUX-, PREFUN • Address AUXFUN command • Address parameter • Adress AUXFUN command (ADR_AUXFUN): This parameter defines the output address of the APT command AUXFUN/n, {NOW | NEXT | LAST}. The first parameter after AUXFUN is only accepted if it is numeric. The second is not necessary and defines how it is output. • Format • Address PREFUN command • Address parameter • Address of PREFUN command (ADR_PREFUN): This parameter defines the output address of the APT command PREFUN/n, {NOW | NEXT | LAST}. The first parameter after PREFUN is only accepted if it is numeric. The second is not necessary and defines how it is output. . • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 125 Chapter 5 - cPost Tab Pages 5.4.5.3 DELAY • Delay command • Address parameter • Delay command (ADR_DELAY): This command defines an accurate stop only in the next ISO record. It is output if a DELAY is programmed. If the iso command is G09 the output of the APT sequence: DELAY GOTO/100,100,100,0,0,1 is N100 G01 G09 X100 Y100 Z100 • Delay on command • Address parameter • Delay on command (ADR_DELAY_ON): This parameter switches the accurate stop on. It is output when a DELAY/ON is programmed. • Delay off command • Address parameter • Delay off command (ADR_DELAY_OFF): This parameter switches the accurate stop off and so contour milling is reactivated. It is output when a DELAY/OFF is programmed. Page 126 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.5.4 DWELL • Dwell command • Address parameter • Dwell command (ADR_DWELL): This parameter is used to define waiting times in the iso file. It is output when a DWELL/n is programmed. If the iso command looks like G4 X5, you must define here a G4 X. • Format • Dwell time factor (R8_DWELL_TIME_FACTOR): If the unit of the waiting time in the iso file is not second, you must define here a conversation factor. For example some INDEX machines program their waiting times in minutes. In this case you must define the factor 0.01667. © CENIT AG Systemhaus cPost Documentation V1R6 Page 127 Chapter 5 - cPost Tab Pages 5.4.6 MOTIONS 5.4.6.1 COMMANDS • Rapid command: • Address parameter • Rapid command (ADR_RAPID): This parameter defines the command for rapid movement. Generated by the APT-Words RAPID GOTO/x, y, z • Rapid command (2nd part): • Address parameter • Rapid command (2nd part) (ADR_RAPID_2ND): This parameter defines the second part of the RAPID command, in case the controller requires a divided (two parts) RAPID command. The following is a HEIDENHAIN controller example: Rapid motion in ISO: L X100 Y100 Z100 FMAX Definition: Rapid command: L Rapid command (2nd part): FMAX or F9999 • Linear interpolation command: • Address parameter • Linear interpolation command (ADR_LINEAR_INTERPOLATION): This parameter defines the command for linear movement. It is generated by the APT-Word: GOTO/x, y, z Page 128 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Linear interpolation command (2nd): • Address parameter • Linear interpolation command (2nd) (ADR_LINEAR_INTERPOLATION_2ND): This parameter defines the second part of the linear motion statement, in case the controller requires a divided command (two parts). • Circle command right: • Address parameter • Circle command right (ADR_CIRCULAR_INTERPOLATION_RIGHT): This parameter defines the command for a motion statement along circular path clockwise. • Circle command left: • Address parameter • Circle command left (ADR_CIRCULAR_INTERPOLATION_LEFT): This parameter defines the command for a motion statement along circular path counter clockwise for milling • Circle command (2nd): • Address parameter • Circle command (2nd) (ADR_CIRCULAR_INTERPOLATION_2ND): The output of the circle can be adapted, if the circle definition of the NC-controller deviates from the usual standard. Attention: The 2nd and 3rd part hold true for both rotation directions. A possible circle definition is explained using the HEIDENHAIN-controller as an example: Cicular interpolation CLW: DR+ Circular interpolation CCLW: DRCircular interpolation (2nd part): CC Circular interpolation (3rd part): C Using the respective priorities of the coordinates and these commands, a circle definition can be created with the expected controller format. • Circle command (3rd): • Address parameter • Circle command (3rd) (ADR_CIRCULAR_INTERPOLATION_3RD): The output of the circle can be adapted, if the circle definition of the NC-controller deviates from the usual standard. Attention: The 2nd and 3rd part hold true for both rotation directions. A possible circle definition is explained using the HEIDENHAIN-controller as an example: Cicular interpolation CLW: DR+ Circular interpolation CCLW: DRCircular interpolation (2nd part): CC Circular interpolation (3rd part): C Using the respective priorities of the coordinates and these commands, a circle definition can be created with the expected controller format. • GOHOME command: • Address parameter • GOHOME command (ADR_GOHOME): This parmeter defines the command which is generated with the APT command GOHOME. © CENIT AG Systemhaus cPost Documentation V1R6 Page 129 Chapter 5 - cPost Tab Pages 5.4.6.2 COMMANDS LATHE • Rapid command: • Address parameter • Rapid commands (ADR_RAPID_LATHE): This parameter defines the command for rapid movement. Generated by the APT-Words RAPID GOTO/x, y, z • Rapid command (2nd part): • Address parameter • Rapid command (2nd part) (ADR_RAPID_2ND_LATHE): This parameter defines the second part of the RAPID command, in case the controller requires a divided (two parts) RAPID command. The following is a HEIDENHAIN controller example: Rapid motion in ISO: L X100 Y100 Z100 FMAX Definition: Rapid command: L Rapid command (2nd part): FMAX or F9999 • Linear interpolation command lathe: • Address parameter • Linear interpolation command lathe (ADR_LINEAR_INTERPOLATION_LATHE): This parameter defines the command for linear movement. It is generated by the APT-Word: GOTO/x, y, z • Linear interpolation command lathe (2nd): • Address parameter • Linear interpolation command lathe (2nd) (ADR_LINEAR_INTERPOLATION_2ND_LATHE): This parameter defines the second part of the linear motion statement, in case the controller requires a divided command (two parts). Page 130 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Circle command right: • Address parameter • Circle command right (ADR_CIRCULAR_INTERPOLATION_RIGHT_LATHE): Commands producing tool motions along a circular path in clockwise direction. • Circle command left: • Address parameter • Circle command left (ADR_CIRCULAR_INTERPOLATION_LEFT_LATHE): This parameter defines the command for a motion statement along circular path counter clockwise for turning. • Circle command (2nd): • Address parameter • Circle command (2nd) (ADR_CIRCULAR_INTERPOLATION_2ND_LATHE): The output of the circle can be adapted, if the circle definition of the NC-controller deviates from the usual standard. Attention: The 2nd and 3rd part hold true for both rotation directions. A possible circle definition is explained using the HEIDENHAIN-controller as an example: Cicular interpolation CLW: DR+ Circular interpolation CCLW: DRCircular interpolation (2nd part): CC Circular interpolation (3rd part): C Using the respective priorities of the coordinates and these commands, a circle definition can be created with the expected controller format. • Circle command (3rd): • Address parameter • Circle command (3rd) (ADR_CIRCULAR_INTERPOLATION_3RD_LATHE): The output of the circle can be adapted, if the circle definition of the NC-controller deviates from the usual standard. Attention: The 2nd and 3rd part hold true for both rotation directions. A possible circle definition is explained using the HEIDENHAIN-controller as an example: Cicular interpolation CLW: DR+ Circular interpolation CCLW: DRCircular interpolation (2nd part): CC Circular interpolation (3rd part): C Using the respective priorities of the coordinates and these commands, a circle definition can be created with the expected controller format. • GOHOME command: • Address parameter • GOHOME command (ADR_GOHOME_LATHE): This parmeter defines the command which is generated with the APT command GOHOME. © CENIT AG Systemhaus cPost Documentation V1R6 Page 131 Chapter 5 - cPost Tab Pages 5.4.6.3 SEQUENCES • Rapid sequence: • Address parameter block • free text (BLK_OUTPUT_RAPID): This sequence is only necessary if the iso syntax is very strange, for example like RML or without coordiante addresses. If this sequence is defined, each RAPID GOTO will output this sequence. • Linear sequence: • Address parameter block • free text (BLK_OUTPUT_LINEAR): This sequence is only necessary if the iso syntax is very strange, for example like RML or without coordiante addresses. If this sequence is defined, each GOTO will output this sequence. • Circle CLW sequence: • Address parameter block • free text (BLK_OUTPUT_CIRCLE_CLW): This sequence is only necessary if the iso syntax is very strange, for example like RML or without coordiante addresses. If this sequence is defined, each circle in CLW direction will output this sequence. Page 132 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Circle CCLW sequence: • Address parameter block • free text (BLK_OUTPUT_CIRCLE_CCLW): This sequence is only necessary if the iso syntax is very strange, for example like RML or without coordiante addresses. If this sequence is defined, each circle in CCLW direction will output this sequence. © CENIT AG Systemhaus cPost Documentation V1R6 Page 133 Chapter 5 - cPost Tab Pages 5.4.6.4 ADVANCED 5.4.6.4.1 CIR2PT • CIRPT sequence: • Address parameter block • free text (BLK_CIRCLE_TWO_POINTS): This sequence is for the output of circles which are described by two points. These circles can rest on any plane. See also Siemens manual: CIP The syntax in the APT source is CIR2PT GOTO/ via point GOTO/ end point The iso defining sequence could be: G11 X100 Y200 Z300 U40 V50 (Via point) G11 X200 Y300 Z400 U40 V50 (End point) In this case the definition sequence is: 'G11 X';C_AXIS_X_NXT_VIA;K;'Y';C_AXIS_Y_NXT_VIA;K;'Z'; C_AXIS_Z_NXT_VIA;K;' U';C_AXIS_C_NXT_VIA;K;' V';C_AXIS_A_NXT_VIA;K;$; ' G11 X';C_AXIS_X_NXT_POS;K;' Y';C_AXIS_Y_NXT_POS;K;' Z';C_AXIS_Z_NXT_POS;K;' U';C_AXIS_C_NXT_POS;K;' V';C_AXIS_A_NXT_POS;K;$; Available pool variables: C_AXIS_X_NXT_VIA X coordiante of via point C_AXIS_Y_NXT_VIA Y coordiante of via point C_AXIS_Z_NXT_VIA Z coordiante of via point C_AXIS_A_NXT_VIA A coordiante of via point C_AXIS_B_NXT_VIA B coordiante of via point C_AXIS_C_NXT_VIA Ccoordiante of via point C_AXIS_X_NXT_POS X coordiante of end point C_AXIS_Y_NXT_POS Y coordiante of end point C_AXIS_Z_NXT_POS Z coordiante of end point C_AXIS_A_NXT_POS A coordiante of end point C_AXIS_B_NXT_POS B coordiante of end point C_AXIS_C_NXT_POS C coordiante of end point Page 134 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.6.4.2 • NURBS Supress NURBS start/end block when same definition (I4_NURBS_SUP_SAME_DEF): cPost support 3 different kinds of NURBS: - 3 axis NURBS without MULTAX active - 3 axis NURBS with MULTAX active (fixed axis) - 5 axis NURBS There are 3 sequences available for these NURBS. One for the header and first point, one for each pole of the NURB and one for the end of the NURB. If 2 NURBS are directly consecutive, cPost has the possibility to suppress the ending sequence of the first and the header sequence of the second when the last pole of the first and the first pole of the second are equal and the degrees of the NURBS are also equal. The consideration of the feed is also defined with this parameter. This switch defines the output when a 3 axis NURB is followed by a 3 axis NURB or a 5 axis by a 5 axis and so on. There are the following possibilities: - Don’t suppress This means the end and the header sequence is output each time. The internal value of this parameter is set to 0. - Suppress if equal (Feed included) This means the end and the header sequence is suppressed when the poles, the degree and the feed are equal. The internal value of this parameter is set to 1. © CENIT AG Systemhaus cPost Documentation V1R6 Page 135 Chapter 5 - cPost Tab Pages - Suppress if equal (Feed not included) This means the end and the header sequence is suppressed when the poles, the degree are equal. The feed is not considered. The internal value of this parameter is set to 2. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not suppress) or 1 (suppress). e.g. OLD = CF_ SETPARINT("NURBS_SUP_SAME_DEF",1) • Supress NURBS start/end block when differ definition (I4_NURBS_SUP_DIFFER_DEF): cPost support 3 different kinds of NURBS: - 3 axis NURBS without MULTAX active - 3 axis NURBS with MULTAX active (fixed axis) - 5 axis NURBS There are 3 sequences available for these NURBS. One for the header and first point, one for each pole of the NURB and one for the end of the NURB. If 2 NURBS are directly consecutive, cPost has the possibility to suppress the ending sequence of the first and the header sequence of the second when the last pole of the first and the first pole of the second are equal and the degrees of the NURBS are also equal. The consideration of the feed is also defined with this parameter. This switch defines the output when a 3 axis NURB is followed by a 5 axis NURB or vicec versa. There are the following possibilities: - Don’t suppress This means the end and the header sequence is output each time. The internal value of this parameter is set to 0. - Suppress if equal (Feed included) This means the end and the header sequence is suppressed when the poles, the degree and the feed are equal. The internal value of this parameter is set to 1. - Suppress if equal (Feed not included) This means the end and the header sequence is suppressed when the poles, the degree are equal. The feed is not considered. The internal value of this parameter is set to 2. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do not suppress) or 1 (suppress). e.g. OLD = CF_ SETPARINT("NURBS_SUP_DIFFER_DEF",1) • NURBS start sequence: • Address parameter block • free text (BLK_NURBS_BEGINN): This block defines the output of the definition and first point of the NURBS. Example: general syntax form: BEGIN NURBS (DEG=3,FED=100.000000,AXIS=0.000000,0.000000,1.000000); N0, X=2.000100, Y=-8.000000, Z=10.000000, DK=0.000000, W=1.000000; or Siemens syntax form: BEGIN NURBS_SIEMENS (D=3,F=100.000000,AXIS=0.000000,0.000000,1.000000); N0,XT=2.000100,YT=-8.000000,ZT=10.000000, DK=0.000000,W=1.0000; Page 136 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages available variables from definition line: C_NURB_DEG Degree of the NURBS C_NURB_FEED Feedrate value available variables from pole line: C_NURB_DK Increment of nodal parameter of pole C_NURB_W Weight of the pole C_NURB_POLE_X_AXIS_T X coordiante of the pole C_NURB_POLE_Y_AXIS_T Y coordiante of the pole C_NURB_POLE_Z_AXIS_T Z coordiante of the pole • NURBS sequence for each point: • Address parameter block • free text (BLK_NURBS_POINT): This sequence defines the output for each point of the 3 axis NURB. Example: general syntax form: N1, X=2.000100, Y=-8.000000, Z=10.000000, DK=0.000000, W=1.000000; or Siemens syntax form: N1,XT=2.000100,YT=-8.000000,ZT=10.000000, DK=0.000000,W=1.0000; available variables from pole line: C_NURB_DK Increment of nodal parameter of pole (0.0) C_NURB_N Number of the pole (1) C_NURB_W Weight of the pole (1.0) C_NURB_POLE_X_AXIS_T X coordiante of the pole (2.0001) C_NURB_POLE_Y_AXIS_T Y coordiante of the pole (-8.0) C_NURB_POLE_Z_AXIS_T Z coordiante of the pole (10.0) • NURBS end sequence • Address parameter block • free text (BLK_NURBS_END): This block defines the output of the NURBS end sequence. It is output when an END NURBS is programmed. • NURBS fixed tool axis start sequence: • Address parameter block • free text (BLK_NURBS_BEGINN_FIXED_AXIS): This block defines the output of the definition and first point of the 5 axis NURBS with fixed tool axis. MULTAX mode is active. Example: general syntax form: BEGIN NURBS (DEG=3,FED=100.000000,AXIS=0.000000,1.000000,0.000000); N0, X=2.000100, Y=-8.000000, Z=10.000000, DK=0.000000, W=1.000000; or Siemens syntax form: BEGIN NURBS_SIEMENS (D=3,F=100.000000,AXIS=0.000000,1.000000,0.000000); N0,XT=2.000100,YT=-8.000000,ZT=10.000000, DK=0.000000,W=1.0000; available pool variables from definition line: C_NURB_DEG Degree of the NURBS C_NURB_FEED Feedrate value C_NURB_FEED_DIFF Feedrate differs from last definition (1) is the same (0) C_NURB_FIXED_AXIS_X X component of tool axis vector C_NURB_FIXED_AXIS_Y Y component of tool axis vector C_NURB_FIXED_AXIS_Z Z component of tool axis vector available pool variables from pole line: C_NURB_DK Increment of nodal parameter of pole C_NURB_W Weight of the pole © CENIT AG Systemhaus cPost Documentation V1R6 Page 137 Chapter 5 - cPost Tab Pages C_NURB_POLE_X_AXIS_T X coordiante of the pole C_NURB_POLE_Y_AXIS_T Y coordiante of the pole C_NURB_POLE_Z_AXIS_T Z coordiante of the pole • NURBS fixed tool axis sequence for each point: • Address parameter block • free text (BLK_NURBS_POINT_FIXED_AXIS): This sequence defines the output for each point of the 5 axis NURB with fixed tool axis. Example: general syntax form: N1, X=2.000100, Y=-8.000000, Z=10.000000, DK=0.000000, W=1.000000; or Siemens syntax form: N1,XT=2.000100,YT=-8.000000,ZT=10.000000, DK=0.000000,W=1.0000; available pool variables from pole line (example values are in brakets): C_NURB_DK Increment of nodal parameter of pole (0.0) C_NURB_N Number of the pole (1) C_NURB_W Weight of the pole (1.0) C_NURB_POLE_X_AXIS_T X coordiante of the pole (2.0001) C_NURB_POLE_Y_AXIS_T Y coordiante of the pole (-8.0) C_NURB_POLE_Z_AXIS_T Z coordiante of the pole (10.0) • NURBS fixed tool axis end sequence: • Address parameter block • free text (BLK_NURBS_END_FIXED_AXIS): This block defines the end sequence of the multax NURBS with fixed tool axis. It is output when an END NURBS is programmed and the actual NURB is a 5 axis NURB with fixed tool axis. • NURBS multax start sequence: • Address parameter block • free text (BLK_NURBS_BEGINN_FIVE): This block defines the output of the definition and first point of the multax NURBS. Example: general syntax form: BEGIN NURBS (DEG=3,FED=100.000000,AXIS=VAR,LENGTH=50.000000); N0,XT=-129.555634,YT=143.316668,ZT=2.428110, $ XH=-141.659597,YH=132.429643,ZH=49.703545, DK=0.000000,W=1.0000; or Siemens syntax form: BEGIN NURBS_SIEMENS (DEG=3,FED=100.000000,AXIS=VAR,LENGTH=50.000000); N0,XT=-129.555634,YT=143.316668,ZT=2.428110, $ XH=-141.659597,YH=132.429643,ZH=49.703545, DK=0.000000,W=1.0000; available variables from definition line: C_NURB_DEG Degree of the NURBS C_NURB_FEED Feedrate value available variables from pole line: C_NURB_DK Increment of nodal parameter of pole C_NURB_W Weight of the pole C_NURB_POLE_X_AXIS_T X coordiante of the pole C_NURB_POLE_Y_AXIS_T Y coordiante of the pole C_NURB_POLE_Z_AXIS_T Z coordiante of the pole C_NURB_POLE_X_AXIS_H X coordiante of the upper point C_NURB_POLE_Y_AXIS_H Y coordiante of the upper point C_NURB_POLE_Z_AXIS_H Z coordiante of the upper point Page 138 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • NURBS multax sequence for each point: • Address parameter block • free text (BLK_NURBS_POINT_FIVE): This sequence defines the output for each point of the multax NURB. Example: general syntax form: N1,XT=-139.047409,YT=135.608471,ZT=-0.864843, $ XH=-151.897090,YH=124.144052,ZH=46.086676, DK=0.000000,W=1.0000; or Siemens syntax form: N1,XT=-139.047409,YT=135.608471,ZT=-0.864843, $ XH=-151.897090,YH=124.144052,ZH=46.086676, DK=0.000000,W=1.0000; available variables from pole line: C_NURB_DK Increment of nodal parameter of pole (0.0) C_NURB_W Weight of the pole (1.0) C_NURB_POLE_X_AXIS_T X coordiante of the pole (-139.047409) C_NURB_POLE_Y_AXIS_T Y coordiante of the pole (135.608471) C_NURB_POLE_Z_AXIS_T Z coordiante of the pole (-0.864843) C_NURB_POLE_X_AXIS_H X coordiante of the upper point (-151.897090) C_NURB_POLE_Y_AXIS_H Y coordiante of the upper point (124.144052) C_NURB_POLE_Z_AXIS_H Z coordiante of the upper point (46.086676) • NURBS multax end sequence: • Address parameter block • free text (BLK_NURBS_END_FIVE): This block defines the output of the multax NURBS end sequence. It is output when an END NURBS is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 139 Chapter 5 - cPost Tab Pages 5.4.6.4.3 HSC • HSC on sequence: • Address parameter block • free text (BLK_HIGH_SPEED_MILLING_ON): If this block is defined, it will be output each time the motion changes from rapid movement to linear movement. For example: APT: ISO: RAPID GOTO / 0, 0, 10 G0 X0 Y0 Z10 “Output of this block” GOTO / 10, 0, 10 G1 X10 Y0 Z10 GOTO / 20, 0, 10 G1 X20 Y0 Z10 • HSC off sequence: • Address parameter block • free text (BLK_HIGH_SPEED_MILLING_OFF): If this block is defined, it will be output each time the motion changes from linear movement to rapid movement. For example: APT: ISO: GOTO / 10, 0, 10 G1 X10 Y0 Z10 GOTO / 20, 0, 10 G1 X20 Y0 Z10 "Output of this block" RAPID GOTO / 20, 0, 20 G0 X20 Y0 Z10 Page 140 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.6.5 COORDINATES 5.4.6.5.1 GENERAL • Address of 1st axis: • Address parameter • Address of 1st axis (ADR_1ST_COORDINATE): This parameter defines the address and format of motion coordinate for first axis for milling. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis: • Address parameter • Address of 2nd axis (ADR_2ND_COORDINATE): This parameter defines the address and format of motion coordinate for the second axis for milling. Available pool variable: C_AXIS_Y_ADR this parameter value • Format • Address of 3rd axis: • Address parameter • Address of 3rd axis (ADR_3RD_COORDINATE): This parameter defines the address and format of motion coordinate for the third axis for milling. © CENIT AG Systemhaus cPost Documentation V1R6 Page 141 Chapter 5 - cPost Tab Pages • Available pool variable: C_AXIS_Z_ADR this parameter value Format • Address of 1st axis (incr): • Address parameter • Address of 1st axis (incr) (ADR_1ST_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the first axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis (incr): • Address parameter • Address of 2nd axis (incr) (ADR_2ND_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the second axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Y_ADR this parameter value • Format • Address of 3rd axis (incr): • Address parameter • Address of 3rd axis (incr) (ADR_3RD_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the third axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Z_ADR this parameter value • Format • Address of 1st axis circle center: • Address parameter • Address of 1st axis circle center (ADR_1ST_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format • Address of 2nd axis circle center: • Address parameter • Address of 2nd axis circle center (ADR_2ND_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format • Address of 3rd axis circle center: • Address parameter • Address of 3rd axis circle center (ADR_3RD_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format • Address of radius • Address parameter • Address of radius (ADR_CIRCLE_RADIUS_COORDINATE_MILL): This parameter defines the output address of the circle radius for milling. The radius is only generated if this address is defined. • Format Page 142 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Address of circle angle coordinate • Address parameter • Address of circle angle coordinates (ADR_CIRCLE_ANGLE_COORDINATE_MILL): This parameter is used to define the output address of the circular angle. If this address is defined the output of the circle end point is suppressed. If this address is not defined, the output of the angle is suppressed. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 143 Chapter 5 - cPost Tab Pages 5.4.6.5.2 LATHE • Address of 1st axis: • Address parameter • Address of 1st axis (ADR_1ST_COORDINATE_LATHE): This parameter defines the address and format of motion coordinate for first axis for turning. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis: • Address parameter • Address of 2nd axis (ADR_2ND_COORDINATE_LATHE): TThis parameter defines the address and format of motion coordinate for the second axis for turning. Available pool variable: C_AXIS_Y_ADR this parameter value • Format • Address of 3rd axis: • Address parameter • Address of 3rd axis (ADR_3RD_COORDINATE_LATHE): This parameter defines the address and format of motion coordinate for the third axis for turning. Available pool variable: C_AXIS_Z_ADR this parameter value • Format Page 144 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Address of 1st axis (incr): • Address parameter • Address of 1st axis (incr) (ADR_1ST_COORDINATE_INCR_LATHE): This parameter defines the address and format of incremental motion coordinate for the first axis for turning. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis (incr): • Address parameter • Address of 2nd axis (incr) (ADR_2ND_COORDINATE_INCR_LATHE): This parameter defines the address and format of incremental motion coordinate for the second axis for turning. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Y_ADR this parameter value • Format • Address of 3rd axis (incr): • Address parameter • Address of 3rd axis (incr) (ADR_3RD_COORDINATE_INCR_LATHE): This parameter defines the address and format of incremental motion coordinate for the third axis for turning. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Z_ADR this parameter value • Format • Address of 1st axis circle center: • Address parameter • Address of 1st axis circle center (ADR_1ST_CIRCLE_CENTER_COORDINATE_LATHE): This parameter defines the coordinate address for the center of circles for tunring. • Format • Address of 2nd axis circle center: • Address parameter • Address of 2nd axis circle center (ADR_2ND_CIRCLE_CENTER_COORDINATE_LATHE): This parameter defines the coordinate address for the center of circles for turning. • Format • Address of 3rd axis circle center: • Address parameter • Address of 3rd axis circle center (ADR_3RD_CIRCLE_CENTER_COORDINATE_LATHE): This parameter defines the coordinate address for the center of circles for turning. • Format • Address of radius • Address parameter • Address of radius (ADR_CIRCLE_RADIUS_COORDINATE_LATHE): This parameter defines the output address of the circle radius for turning. The radius is only generated if this address is defined. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 145 Chapter 5 - cPost Tab Pages • Address of circle angle coordinate • Address parameter • Address of circle angle coordinates (ADR_CIRCLE_ANGLE_COORDINATE_LATHE): This parameter is used to define the output address of the circular angle. If this address is defined the output of the circle end point is suppressed. If this address is not defined, the output of the angle is suppressed • Format Page 146 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.6.5.3 5AXIS (MULTAX MACHINES) • Address of 1st rotary axis: • Address parameter • Address of 1st rotary axis (ADR_1ST_ROTARY_AXIS): This parameter defines the address and format of motion coordinate of the first rotation axis. Available pool variable: C_AXIS_A_ADR this parameter value • Format • Address of 1st rotary axis (2nd): • Address parameter • Address of 1st rotary axis (2nd) (ADR_1ST_ROTARY_AXIS_2ND): This parameter defines the second part of the address of the 1st rotation axis. This is necessary for NC commands like A=DC(300). The definition for an output like this is: 1st part of address: A=DC( 2nd part of address: ) • Format • Linear/Rollover 1st axis(I4_5X_TYPE_1ST_AXIS): This parameter defines the type of the 1st rotary axis.The possible types are: • Rollover axis, machine tool optimizes The value of the angle is between 0 and 360 degrees without a prefix. The machine tool chooses the shortest way to this angular position. • Rollover axis, pp optimizes The value of the angle is between -360 and 360 degrees. The prefix of the angle defines the rotation direction. cPost chooses the shortest way to this angular position. • Linear axis The angular value is not restricted in positive or negative direction. © CENIT AG Systemhaus cPost Documentation V1R6 Page 147 Chapter 5 - cPost Tab Pages Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (rollover - machine tool), 1 (rollover - cPost) or 2 (linear). e.g. OLD = CF_ SETPARINT(’’5X_TYPE_1ST_AXIS’’,1) • Address of 2nd rotary axis: • Address parameter • Address of 2nd rotary axis (ADR_2ND_ROTARY_AXIS): This parameter defines the address and format of motion coordinate of the second rotation axis. Available pool variable: C_AXIS_B_ADR this parameter value • Format • Address of 2nd rotary axis (2nd): • Address parameter • Address of 2nd rotary axis (2nd) (ADR_2ND_ROTARY_AXIS_2ND): This parameter defines the second part of the address of the 2nd rotation axis. This is necessary for NC commands like B=DC(300). The definition for an output like this is: 1st part of address: B=DC( 2nd part of address: ) • Format • Linear/Rollover 2nd axis (I4_5X_TYPE_2ND_AXIS): This parameter defines the type of the 2nd rotary axis.The possible types are: • Rollover axis, machine tool optimizes The value of the angle is between 0 and 360 degrees without a prefix. The machine tool chooses the shortest way to this angular position. • Rollover axis, pp optimizes The value of the angle is between -360 and 360 degrees. The prefix of the angle defines the rotation direction. cPost chooses the shortest way to this angular position. • Linear axis The angular value is not restricted in positive or negative direction. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (rollover - machine tool), 1 (rollover - cPost) or 2 (linear). e.g. OLD = CF_ SETPARINT(''5X_TYPE_2ND_AXIS'',1) • Address of 3rd rotary axis: • Address parameter • Address of 3rd rotary axis (ADR_3RD_ROTARY_AXIS): This parameter defines the address and format of motion coordinate of the first rotation axis. Available pool variable: C_AXIS_C_ADR this parameter value • Format • Address of 3rd rotary axis (2nd): • Address parameter • Address of 3rd rotary axis (2nd) (ADR_3RD_ROTARY_AXIS_2ND): This parameter defines the second part of the address of the 3rd rotation axis. This is necessary for NC commands like C=DC(300). The definition for an output like this is: 1st part of address: C=DC( 2nd part of address: ) • Format Page 148 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Linear/Rollover 3rd axis (I4_5X_TYPE_3RD_AXIS): This parameter defines the type of the 3rd rotary axis.The possible types are: • Rollover axis, machine tool optimizes The value of the angle is between 0 and 360 degrees without a prefix. The machine tool chooses the shortest way to this angular position. • Rollover axis, pp optimizes The value of the angle is between -360 and 360 degrees. The prefix of the angle defines the rotation direction. cPost chooses the shortest way to this angular position. • Linear axis The angular value is not restricted in positive or negative direction. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (rollover - machine tool), 1 (rollover - cPost) or 2 (linear). e.g. OLD = CF_ SETPARINT(''5X_TYPE_3RD_AXIS'',1) © CENIT AG Systemhaus cPost Documentation V1R6 Page 149 Chapter 5 - cPost Tab Pages 5.4.6.5.4 5AXIS EULER (MULTAX MACHINES) • Euler angle output 1st axis: • Address parameter • Euler angle output 1st axis (ADR_EULER_1ST_AXIS): This parameter defines the address and format of motion coordinate of the first Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine angles. If Euler angles output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER • Format • Euler angle output 1st axis (2nd): • Address parameter • Euler angle output 1st axis (2nd) (ADR_EULER_1ST_AXIS_2ND): This parameter defines the address and format of motion coordinate of the first Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine angles. If Euler angle output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER • Format • Euler angle output 2nd axis: • Address parameter • Euler angle output 2nd axis (ADR_EULER_2ND_AXIS): This parameter defines the address and format of motion coordinate of the second Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine Page 150 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • angles. If Euler angles output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER Format • Euler angle output 2nd axis (2nd): • Address parameter • Euler angle output 2nd axis (2nd) (ADR_EULER_2ND_AXIS_2ND): This parameter defines the address and format of motion coordinate of the second Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine angles. If Euler angle output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER • Format • Euler angle output 3rd axis: • Address parameter • Euler angle output 3rd axis (ADR_EULER_3RD_AXIS): This parameter defines the address and format of motion coordinate of the third Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine angles. If Euler angles output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER • Format • Euler angle output 3rd axis (2nd): • Address parameter • Euler angle output 3rd axis (2nd) (ADR_EULER_3RD_AXIS_2ND): This parameter defines the address and format of motion coordinate of the thrid Euler axis. There are 2 possible output of angles in multax mode. cPost output as default the machine angles. If Euler angle output is necessary, you must switch on the Euler mode with the command MODE/EULER,ON. In this case you must also define the Euler axis and the order of the axis in the tab page MOTIONS-->COORDINATES-->OPTIONS 5AXIS EULER • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 151 Chapter 5 - cPost Tab Pages 5.4.6.5.5 5AXIS ADD (MULTAX MACHINES) • Address of 1st tool axis: • Address parameter • Address of 1st tool axis (ADR_5X_1ST_TOOL_VECTOR): This parameter defines the address for the output of the 1st vector component. • Format • Address of 2nd tool axis: • Address parameter • Address of 2nd tool axis (ADR_5X_2ND_TOOL_VECTOR): This parameter defines the address for the output of the 2nd vector component. • Format • Address of 3rd tool axis: • Address parameter • Address of 3rd tool axis (ADR_5X_3RD_TOOL_VECTOR): This parameter defines the address for the output of the 3rd vector component. • Format • Factor of tool vector (R8_5X_TOOL_VECTOR_FACTOR): This parameter defines the factor for the transformation from APT to ISO for the tool vector. The APT input vector is multiplied with this factor. This parameter is necessary for controllers with limited postdecimal digit number like Millplus. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’5X_TOOL_VECTOR_FACTOR’’,1000.0) • Output of tool vector (I4_TOOL_VECTOR_MODAL): This parameter defines if the complete tool vector is modal or not. If the complete vector is set to modal, the complete tool vector is only output if at least 2 axis change. If the X, Y and Z components don’t change, the output will be suppressed. Attention: This parameter can be modified with the macro function CF_SETPARINT. The possible values are 1 (output only if some components change) or 0 (output always all components). e.g. OLD = CF_ SETPARINT("TOOL_VECTOR_MODAL",1) Page 152 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.6.5.6 5X INTERMEDIATE POINTS (MULTAX MACHINES) • Create intermediate points on error (I4_5X_INTERMED_POINTS): This parameter defines if cPost shall create intermediate points during linear motions or not. The possible values are ’’do not create’’, ’’create only for linear movements’’ and ’’create for linear and rapid movements’’. The number of the intermediate points depends on the value of the intermediate point tolerance (R8_5X_INTERM_TOL). Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no intermediate points), 1 (only for linear) or 2 (linear and rapid). e.g. OLD = CF_ SETPARINT(’’5X_INTERMED_POINTS’’,1) • Intermediate point tolerance (R8_5X_INTERM_TOL): This parameter is only necessary if cPost shall create intermediate points. It defines the accuracy of a linear movement for 5 axes machining. If the occurring deviation during the motion is greater than the defined value intermediate points are generated. The number of intermediate points is dependent of this parameter. • Maximum angle delta 1st axis (R8_5X_ANG_DIFF_1ST): If the pp calculates intermediate points, the maximum delta angle of the first rotary axis between two motions can be defined with this parameter. • Maximum angle delta 2nd axis (R8_5X_ANG_DIFF_2ND): If the pp calculates intermediate points, the maximum delta angle of the second rotary axis between two motions can be defined with this parameter. • Maximum angle delta 3rd axis (R8_5X_ANG_DIFF_3RD): If the pp calculates intermediate points, the maximum delta angle of the third rotary axis between two motions can be defined with this parameter. © CENIT AG Systemhaus cPost Documentation V1R6 Page 153 Chapter 5 - cPost Tab Pages 5.4.6.5.7 OPTIONS • Skip FROM command (I4_SKIP_FROM): This parameter defines if the FROM command is skipped or not. If selected, the FROM command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Suppress 1st GOTO (I4_SUPRESS_FIRST_GOTO): This parameter defines if the first GOTO command will be suppressed or not. If selected, the first GOTO command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Split circles on quadrants (I4_SPLIT_CIRCLE): This switch defines, if a circle is splitted into quadrants or not. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no splitting) and 1 (splitting). e.g. OLD = CF_ SETPARINT(’’SPLIT_CIRCLE’’,1) • Circle center absolute (I4_CIRCLE_CENTER_ABS): This parameter defines, if output of circle center coordinates are absolute or relative. If selected the circle center coordiantes are output absolute. If not, the circle center coordiantes are output relative to the circle starting point. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (relative) or 1 (absolute). e.g. OLD = CF_ SETPARINT(’’CIRCLE_CENTER_ABS’’,1) . • circle linearization (I4_LIN_CIRCLE): This parameter defines if cPost output circular movements or convert them to linear movements. If the tool machine does not support circular movement, this switch must be selected. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (output circles) or 1 (convert them). e.g. OLD = CF_ SETPARINT(’’LIN_CIRCLE’’,1) • Tolerance for circle linearization (R8_LIN_CIRCLE_TOL): This parameter defines the accuracy of the circle linearisation. It is only necessary if the circle linearisation switch is active.B243 • Split RAPIDs (I4_SPLIT_RAPID): This switch defines, if the RAPID GOTO is splitted into two RAPID GOTOs or not. The splitting depends on the current toolaxis and the direction of the move. The first motion is parallel to the toolaxis and then vertical (RETRACT), or first vertical to the toolaxis and then parallel (APPROACH). The splitting is only working if the toolvector is parallel to one of the principal axis. For example: The starting position is X=10.0, Y=0.0, Z=20.0 and the plane is XY (tool vector = 0,0,1). Page 154 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages RAPID GOTO 50.0, 50.0, 50.0 is splitted to RAPID GOTO 10.0, 0.0, 50.0 RAPID GOTO 50.0, 50.0, 50.0 If the plane is XY2 (tool vector = 0,0,-1): RAPID GOTO 50.0, 50.0, 50.0 is splitted to RAPID GOTO 50.0, 50.0, 20.0 RAPID GOTO 50.0, 50.0, 50.0 Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no splitting) and 1 (splitting). e.g. OLD = CF_ SETPARINT("SPLIT_RAPID" ,1) © CENIT AG Systemhaus cPost Documentation V1R6 Page 155 Chapter 5 - cPost Tab Pages 5.4.6.5.8 OPTION 5AXIS (MULTAX MACHINES) • Machine controller supporting head RTCP (I4_HAS_RTCP): This switch determines if the tool machine has a controller supporting RTCP. If the parameter is set, the changes of the tool coordinates resulting from a rotation of rotary axis will be compensated automatically (Output of tool tip).If it is not set, the compensation is calculated by the postprocessor (Output of pivot). Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no RTCP) and 1 (RTCP). e.g. OLD = CF_ SETPARINT(’’HAS_RTCP’’,1) • Machine controller supporting table RTCP (I4_HAS_RTCP_TABLE): This parameter defines, if table rotations will activate a recalculation of the coordiantes or not. If it is set, cPost will not recalculate the coordinates and the tool tip is output. If it is not set, the coordinates will be recalculated and the pivot will be output.. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no RTCP) and 1 (RTCP). e.g. OLD = CF_ SETPARINT(’’HAS_RTCP_TABLE’’,1) • Rotary axis with min. delta G1 (I4_5X_MIN_ANG_DIFF_AXIS): This parameter defines the choice of the angle solution in MULTAX for LINEAR movements. If there are two possible angle solutions for the programmed tool position, the postprocessor must choose one. You can define this condition with this parameter. The axis with the higher priority has always the minimum angle difference. ’’default’’ means both axes differences are considered equal, A-axis means the first rotation axis has the higher priority and the angle difference on this axis must be minimum. B-axis means the second axis must be minimal, C-axis the third. • Page 156 Example: 1st axis old angles 90130 new angles (1) new angles (2)-50200 2nd axis 50 20 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • The decision is default: ABS(90-50) + 1st solution A-axis: ABS(90-50) B-axis: 2nd solution ABS(130-20) < ABS(90+50) +ABS(130-200)--> ABS(130-20) < ABS(90+50) --> 1st solution > ABS(130-200)--> Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (default), 1 (A axis), 2 (B axis) and 3 (C axis). e.g. OLD = CF_ SETPARINT(''5X_MIN_ANG_DIFF_AXIS'',0) • Rotary axis with min. delta G0 (I4_5X_MIN_ANG_DIFF): This parameter defines the choice of the angle solution in MULTAX for RAPID movements. If there are two possible angle solutions for the programmed tool position, the postprocessor must choose one. You can define this condition with this parameter. The axis with the higher priority has always the minimum angle difference. ’’default’’ means both axes differences are considered equal, A-axis means the first rotation axis has the higher priority and the angle difference on this axis must be minimum. B-axis means the second axis must be minimal, C-axis the third. • Example: 1st axis 2nd axis old angles 90130 new angles (1) 50 20 new angles (2)-50200 • The decision is default: ABS(90-50) + 1st solution A-axis: ABS(90-50) B-axis: 2nd solution ABS(130-20) < ABS(90+50) +ABS(130-200)--> ABS(130-20) < ABS(90+50) --> 1st solution > ABS(130-200)--> Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (default), 1 (A axis), 2 (B axis) and 3 (C axis). e.g. OLD = CF_ SETPARINT(''5X_MIN_ANG_DIFF'',0) • Name of the “Position not possible” macro (STR_ANGLE_NOT_POSS): This parameter defines the macro name for the macro which is automaticly inserted if all angle solutions are impossible because of machine limits. If this macro is not defined, cPost output an error message and stops the ISO generation. If the macro name is defined, cPost inserts this macro and continues the ISO generation. • Name of the “Best position not possible” macro (STR_ANGLE_BEST_NOT_POSS): This parameter defines the macro name for the macro which is automaticly inserted if cPost cannot choose the best angle solution in Multax mode. If this macro is not defined, cPost output a warning that the best solution is impossible because of the angle limits of the machine. If the macro name is defined, cPost suppresses the warning and inserts this macro. Available pool variables are: C_ANGLE_OPT_A_AXIS: C_ANGLE_OPT_B_AXIS: C_ANGLE_OPT_C_AXIS: C_ANGLE_POSS_A_AXIS: C_ANGLE_POSS_B_AXIS: C_ANGLE_POSS_C_AXIS: © CENIT AG Systemhaus cPost Documentation V1R6 Best A axis angle, which cannot be choosen Best B axis angle, which cannot be choosen Best C axis angle, which cannot be choosen Possible A axis angle Possible B axis angle Possible C axis angle Page 157 Chapter 5 - cPost Tab Pages Example: Here is a macro which first retracts in old tool direction, then goes back to a safety plane, rotates to the possible angle solution and approach to the new point. The machine is a gantryhead with C axis (-360 minimum, 360 maximum) and B axis (-20 minimum, 70 maximum) old position: B-15 C30 new position: B-25 C30 or B25 C210 no macro defined: pp outputs a warning because it must select the solution with maximum C delta macro defined: pp inserts the macro before this position Here is a macro which first retracts in old tool direction, then rotates to the possible angle solution and approach to the old point: A$=CF_FMTVAL$(C_ANGLE_POSS_A_AXIS,"*Angle") B$=CF_FMTVAL$(C_ANGLE_POSS_B_AXIS,"*Angle") C$=CF_FMTVAL$(C_ANGLE_POSS_C_AXIS,"*Angle") CF_APTTXT ’INSERT/; RETRACT 100 mm in tool axis direction’ X$=CF_FMTVAL$(C_AXIS_X_CUR_APT_POS+ 100*C_AXIS_TLVEC_X_CUR,"*ACoord") Y$=CF_FMTVAL$(C_AXIS_Y_CUR_APT_POS+ 100*C_AXIS_TLVEC_Y_CUR,"*ACoord") Z$=CF_FMTVAL$(C_AXIS_Z_CUR_APT_POS+ 100*C_AXIS_TLVEC_Z_CUR,"*ACoord") TX$=CF_FMTVAL$(C_AXIS_TLVEC_X_CUR,"*ACoord") TY$=CF_FMTVAL$(C_AXIS_TLVEC_Y_CUR,"*ACoord") TZ$=CF_FMTVAL$(C_AXIS_TLVEC_Z_CUR,"*ACoord") CF_APTTXT ’GOTO /’ + X$ + ’,’ + Y$ + ’,’ + Z$ + ’,’ + TX$ + ’,’ + TY$ + ’,’ + TZ$ CF_APTTXT ’INSERT/; ROTATE THE C AXIS’ CF_APTTXT ’SETANG/’ + A$ + ’,’ + B$ + ’,’ + C$ CF_APTTXT ’GOTO /’ + X$ + ’,’ + Y$ + ’,’ + Z$ + ’, 0,0,1’ CF_APTTXT ’INSERT/; APPROACH’ X$=CF_FMTVAL$(C_AXIS_X_CUR_APT_POS,"K") Y$=CF_FMTVAL$(C_AXIS_Y_CUR_APT_POS,"K") Z$=CF_FMTVAL$(C_AXIS_Z_CUR_APT_POS,"K") CF_APTTXT ’GOTO /’ + X$ + ’,’ + Y$ + ’,’ + Z$ + ’,’ + TX$ + ’,’ + TY$ + ’,’ + TZ$ • Rotary Axis Output (I4_ROTAXIS_CLAMP_AUTO): This parameter defines if cPost output the rotation axes coordiantes special or not. If the angles shall be output only in a special sequence like unclamp axis - rotate - clamp axis, you must select the sequences or the macro. In this case there is no normal output of any rotation axis. If the ordinary output is selected, the output of the coordianates is only dependent of the modality switch. For example: APT: GOTO/ 10,0,0,0,0,1 GOTO/ 20,0,0,0,1,0 GOTO/ 30,0,0,0,1,0 No special sequences G1 X10 A0 C0 G1 X20 A90 G1 X30 Special sequences/macro G1 X10 Macro or Sequence G1 X20 G1 X30 This feature can also be activated with the APT command MODE/CLAMP,ON. The command MODE/CLAMP,OFF deactivates it. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (normal angle output), 1 (sequence) or 2 (macro). e.g. OLD = CF_ SETPARINT(’’ROTAXIS_CLAMP_AUTO’’,1) Page 158 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Name of the Rotary Axis clamp macro (STR_ROTAXIS_CLAMP_MACRO): This defines the macro which is inserted at any tool vector change instead of angle output. • Rotary Axis position sequence (BLK_ROTAXIS_CLAMP): This defines the sequence which is inserted at any tool vector change instead of angle output.. © CENIT AG Systemhaus cPost Documentation V1R6 Page 159 Chapter 5 - cPost Tab Pages 5.4.6.5.9 OPTION 5AXIS EULER (MULTAX MACHINES) • Minimum value of 1st Euler axis (R8_EULER_1ST_AXIS_MIN): This parameter defines the minimum value of the Euler angle of the 1st axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_1ST_AXIS_MIN’’,-90.0) • Maximum value of 1st Euler axis (R8_EULER_1ST_AXIS_MAX): This parameter defines the maximum value of the Euler angle of the 1st axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_1ST_AXIS_MAX’’,-90.0) • Minimum value of 2nd Euler axis (R8_EULER_2ND_AXIS_MIN): This parameter defines the minimum value of the Euler angle of the 2nd axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_2ND_AXIS_MIN’’,-90.0) • Maximum value of 2nd Euler axis (R8_EULER_2ND_AXIS_MAX): This parameter defines the maximum value of the Euler angle of the 2nd axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_2ND_AXIS_MAX’’,-90.0) • Minimum value of 3rd Euler axis (R8_EULER_3RD_AXIS_MIN): This parameter defines the minimum value of the Euler angle of the 3rd axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_3RD_AXIS_MIN’’,-90.0) • Maximum value of 3rd Euler axis (R8_EULER_3RD_AXIS_MAX): This parameter defines the maximum value of the Euler angle of the 3rd axis. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’EULER_3RD_AXIS_MAX’’,-90.0) Page 160 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • 1st Euler axis positive direction is (I4_EULER_1ST_AXIS_POS_DIR): This parameter defines the positive direction of the 1st Euler axis. If CLW (0) is selected, this direction is chosen as positive direction. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (CLW) or 1 (CCLW). e.g. OLD = CF_ SETPARINT(’’EULER_1ST_AXIS_POS_DIR’’,1) • 2nd Euler axis positive direction is (I4_EULER_2ND_AXIS_POS_DIR): This parameter defines the positive direction of the 2nd Euler axis. If CLW (0) is selected, this direction is chosen as positive direction. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (CLW) or 1 (CCLW). e.g. OLD = CF_ SETPARINT(’’EULER_2ND_AXIS_POS_DIR’’,1) • 3rd Euler axis positive direction is (I4_EULER_3RD_AXIS_POS_DIR): This parameter defines the positive direction of the 3rd Euler axis. If CLW (0) is selected, this direction is chosen as positive direction. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (CLW) or 1 (CCLW). e.g. OLD = CF_ SETPARINT(’’EULER_3RD_AXIS_POS_DIR’’,1) • Definition of the Euler angles (I4_EULER_AXIS_FIXED): This parameter defines if the the frame of the Euler angles is a fixed one like on Heidenhain controllers or a rotating one like on Siemens controllers. Static means, that all Euler axis are independent from each other. Rotating means that a rotation of the first changes the position of the second and third. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (rotating frame) or 1 (static frame). e.g. OLD = CF_ SETPARINT(’’EULER_AXIS_FIXED’’,1) • Order of the Euler axis (STR_EULER_AXIS_ORDER): This parameter defines the Euler axis and the order of these. ZXZ means the 1st Euler rotation is round Z, the 2nd round X and the last round Z. This is for example the order for a SIEMENS 840D controller if RPY angle output is expected. Some examples for the Euler definition: Heidenhain: STR_EULER_AXIS_ORDER = XYZ and I4_EULER_AXIS_FIXED = 1 Siemens RPY: STR_EULER_AXIS_ORDER = ZXZ and I4_EULER_AXIS_FIXED = 0 Siemens Euler angles: STR_EULER_AXIS_ORDER = ZYX and I4_EULER_AXIS_FIXED = 0 Attention: This parameter can be modified with the macro function CF_SetParStr$. Possible values are “XYZ”, “XYX”, “XZY”, “XZX”, “YZX”, “YZY”, “YXZ”, “YXY”, “ZXY”, “ZXZ”, “ZYX”, “ZYZ” or “NONE”. e.g. OLD$ = CF_ SETPARSTR$(''EULER_AXIS_ORDER'',''ZXZ'') © CENIT AG Systemhaus cPost Documentation V1R6 Page 161 Chapter 5 - cPost Tab Pages 5.4.7 MOTIONS - WIRE MACHINES ONLY 5.4.7.1 COMMANDS • Rapid command: • Address parameter • Rapid command (ADR_RAPID): This parameter defines the command for rapid movement. Generated by the APT-Words RAPID GOTO/x, y, z • Rapid motion command without thread (2nd part): • Address parameter • Rapid command (2nd part) (ADR_WIRE_RAP_MOTION_WO_THREAD): This is the special part for RAPID motions without thread. For example: The Agie 123 needs here a G40 M22. • Rapid motion command with thread (2nd part): • Address parameter • Rapid command (2nd part) (ADR_WIRE_RAP_MOTION_W_THREAD): This is the special part for RAPID motions with thread. For example: The Agie 123 needs here a G40 M21. • Linear interpolation command: • Address parameter • Linear interpolation command (ADR_LINEAR_INTERPOLATION): This parameter defines the command for linear movement. It is generated by the APT-Word: GOTO/x, y, z Page 162 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Circle command right: • Address parameter • Circle command right (ADR_CIRCULAR_INTERPOLATION_RIGHT): This parameter defines the command for a motion statement along circular path clockwise. • Circle command left: • Address parameter • Circle command left (ADR_CIRCULAR_INTERPOLATION_LEFT): This parameter defines the command for a motion statement along circular path counter clockwise for milling 5.4.7.2 • SEQUENCES Motion sequence 2X: • Address parameter block • free text (BLK_WIRE_2X_MOTION): This sequence defines the output of the MOTION command with only the lower contour. This sequence is used to support more complex syntax forms. If defined there is no output of simple motion commands or coordinates. © CENIT AG Systemhaus cPost Documentation V1R6 Page 163 Chapter 5 - cPost Tab Pages • Motion sequence 4X: • Address parameter block • free text (BLK_WIRE_4X_MOTION): This sequence defines the output of the MOTION command with lower and upper contour. This sequence is used to support more complex syntax forms. If defined there is no output of simple motion commands or coordinates. 5.4.7.3 COORDINATES 5.4.7.3.1 GENERAL • Address of 1st axis: • Address parameter • Address of 1st axis (ADR_1ST_COORDINATE): This parameter defines the address and format of motion coordinate for first axis for milling. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis: • Address parameter • Address of 2nd axis (ADR_2ND_COORDINATE): This parameter defines the address and format of motion coordinate for the second axis for milling. Available pool variable: C_AXIS_Y_ADR this parameter value • Format Page 164 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Address of 3rd axis: • Address parameter • Address of 3rd axis (ADR_3RD_COORDINATE): This parameter defines the address and format of motion coordinate for the third axis for milling. Available pool variable: C_AXIS_Z_ADR this parameter value • Format • Address of 1st axis (incr): • Address parameter • Address of 1st axis (incr) (ADR_1ST_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the first axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_X_ADR this parameter value • Format • Address of 2nd axis (incr): • Address parameter • Address of 2nd axis (incr) (ADR_2ND_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the second axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Y_ADR this parameter value • Format • Address of 3rd axis (incr): • Address parameter • Address of 3rd axis (incr) (ADR_3RD_COORDINATE_INCR): This parameter defines the address and format of incremental motion coordinate for the third axis for milling. It is necessary to define this parameter if the controller has no incremental on or off command. The default values have the same address characters as absolute programming. Available pool variable: C_AXIS_Z_ADR this parameter value • Format • Address of 1st axis circle center: • Address parameter • Address of 1st axis circle center (ADR_1ST_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format • Address of 2nd axis circle center: • Address parameter • Address of 2nd axis circle center (ADR_2ND_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format • Address of 3rd axis circle center: • Address parameter • Address of 3rd axis circle center (ADR_3RD_CIRCLE_CENTER_COORDINATE): This parameter defines the coordinate address for the center of circles for milling. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 165 Chapter 5 - cPost Tab Pages 5.4.7.3.2 ANGLE OUTPUT (MULTAX) • Address of angle perpendicular to motion direction (Q): • Address parameter • Address of 1st rotary axis (ADR_1ST_ROTARY_AXIS): This parameter defines the address and format of motion coordinate of the first rotation axis. Available pool variable: C_AXIS_A_ADR this parameter value • Format • Address of angle in motion direction (R): • Address parameter • Address of 2nd rotary axis (ADR_2ND_ROTARY_AXIS): This parameter defines the address and format of motion coordinate of the second rotation axis. Available pool variable: C_AXIS_B_ADR this parameter value • Format 5.4.7.3.3 • LINEAR OUTPUT (MULTAX) Address of upper 1st linear axis (X): • Address parameter • Address of upper 1st linear axis (ADR_WIRE_4X_UPPER_X): Page 166 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • There are different descriptions of the upper contour on a wire machine: The Agie 100 controllers use angle coordinates, the Charmilles use different linear coordinates (XY for lower contour, UV for upper) and the Agievision has the complete motion commands for upper and lower in one record. If you need an output like Charmilles (G1 X Y U V), you must define here the U address Format • Address of upper 2nd linear axis (Y): • Address parameter • Address of upper 1st linear axis (ADR_WIRE_4X_UPPER_Y): There are different descriptions of the upper contour on a wire machine: The Agie 100 controllers use angle coordinates, the Charmilles use different linear coordinates (XY for lower contour, UV for upper) and the Agievision has the complete motion commands for upper and lower in one record. If you need an output like Charmilles (G1 X Y U V), you must define here the V address • Format • Address of upper 3rd linear axis (Z): • Address parameter • Address of upper 1st linear axis (ADR_WIRE_4X_UPPER_Z): There are different descriptions of the upper contour on a wire machine: The Agie 100 controllers use angle coordinates, the Charmilles use different linear coordinates (XY for lower contour, UV for upper) and the Agievision has the complete motion commands for upper and lower in one record. If you need an output like Charmilles (G1 X Y U V), you mustn't define here any address • Format 5.4.7.3.4 OPTIONS • Skip FROM command (I4_SKIP_FROM): This parameter defines if the FROM command is skipped or not. If selected, the FROM command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Suppress 1st GOTO (I4_SUPRESS_FIRST_GOTO): This parameter defines if the first GOTO command will be suppressed or not. If selected, the first GOTO command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. © CENIT AG Systemhaus cPost Documentation V1R6 Page 167 Chapter 5 - cPost Tab Pages • Circle center absolute (I4_CIRCLE_CENTER_ABS): This parameter defines, if output of circle center coordinates are absolute or relative. If selected the circle center coordiantes are output absolute. If not, the circle center coordiantes are output relative to the circle starting point. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (relative) or 1 (absolute). e.g. OLD = CF_ SETPARINT(’’CIRCLE_CENTER_ABS’’,1) . Page 168 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.8 FEEDRATE 5.4.8.1 GENERAL • Feed address: • Address parameter • Feed address (ADR_FEEDRATE): This parameter defines the address and format of the actual feed for milling. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPM, MMPR, IPM, IPR) C_FEED_UNIT_COM acutal feed unit command (for example G94, G93) • Format • Feed mmpm command: • Address parameter • Feed mmpm command (ADR_FEEDRAT_MMPM): This parameter defines the command of the feed unit per minute for milling. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPM, IPM) C_FEED_UNIT_COM acutal feed unit command (this command) • Format • Feed mmpr command: • Address parameter • Feed mmpr command (ADR_FEEDRAT_MMPR): This parameter defines the command of the feed unit per revolution for milling. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPR, IPR) C_FEED_UNIT_COM acutal feed unit command (this command) • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 169 Chapter 5 - cPost Tab Pages • Feed factor mmpm (R8_FEEDRAT_FACTOR_TIME): This parameter defines the conversion factor from APT feed unit to machine specific feed unit. It is necessary if the APT and controller feed units differ. e.g. APT in MMPM ---> controller in MPM leads to a factor: 0.001 • Feed factor mmpr (R8_FEEDRAT_FACTOR_UNIT): This parameter defines the conversion factor from APT feed unit to machine specific feed unit. It is necessary if the APT and controller feed units differ. e.g. APT in MMPR ---> controller in MPR leads to a factor: 0.001 Page 170 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.8.2 5AXIS • Multax feed handling (I4_5X_FEED_HANDLING): This parameter defines the treatment of feedrate values in multax mode. cPost offers the following possibilities: • Feedrate value will not be changed during a rotation. • Rotary movements will be calculated together with movements of linear axis. The feed value is recalculated in dependence of the rotations. • Output of the inverse time instead of the feedrate (always or only on changes of angles). Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no modification), 1 (recalculation), 2 (inverse time always) or 3 (inverse time if angle changes). e.g. OLD = CF_ SETPARINT(''5X_FEED_HANDLING'',1) • Feed inverse on command: • Address parameter • Feed inverse on command (ADR_5X_FEED_INVERS_ON): The parameter defines the command to switch on the output of inverse feedrate. It is only necessary if the feed is output as inverse time in MULTAX mode. • Feed inverse off command: • Address parameter • Feed inverse off command (ADR_5X_FEED_INVERS_OFF): The parameter defines the command to switch off the output of inverse feedrate. It is only necessary if the feed is output as inverse time in MULTAX mode. • Feed factor inverse (R8_5X_FACTOR_FEED_INV): This parameter defines the factor for the conversation of inverse feedrate on 5 axis machine tools. It is used to handle different units of feedrate. Default is 1.0 (unit is second). © CENIT AG Systemhaus cPost Documentation V1R6 Page 171 Chapter 5 - cPost Tab Pages 5.4.8.3 LATHE • Feed address lathe: • Address parameter • Feed address lathe (ADR_FEEDRATE_LATHE): This parameter defines the address and format of the actual feed for turning. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPM, MMPR, IPM, IPR) C_FEED_UNIT_COM acutal feed unit command (for example G94, G93) • Format • Feed mmpm command lathe: • Address parameter • Feed mmpm command lathe (ADR_FEEDRAT_MMPM_LATHE): This parameter defines the command of the feed unit per minute for turning. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPM, IPM) C_FEED_UNIT_COM acutal feed unit command (this command) • Format • Feed mmpr command lathe: • Address parameter • Feed mmpr command lathe (ADR_FEEDRAT_MMPR_LATHE): This parameter defines the command of the feed unit per minute for turning. It is output when a FEDRAT is programmed. Available poolvariables: C_FEED_VALUE actual feed value C_FEED_UNIT actual feed unit (MMPR, IPR) C_FEED_UNIT_COM acutal feed unit command (this command) • Format Page 172 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Feed factor mmpm lathe (R8_FEEDRAT_FACTOR_TIME_LATHE): This parameter defines the conversion factor from APT feed unit to machine specific feed unit. It is necessary if the APT and controller feed units differ. e.g. APT in MMPM ---> controller in MPM leads to a factor: 0.001 • Feed factor mmpr lathe (R8_FEEDRAT_FACTOR_UNIT_LATHE): This parameter defines the conversion factor from APT feed unit to machine specific feed unit. It is necessary if the APT and controller feed units differ. e.g. APT in MMPR ---> controller in MPR leads to a factor: 0.001 © CENIT AG Systemhaus cPost Documentation V1R6 Page 173 Chapter 5 - cPost Tab Pages 5.4.8.4 OPTIONS • Starting feed unit (I4_START_FEED_UNIT): This parameter defines the feed rate unit until the first FEDRAT or TOOLNO command. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 1 for unit/min and 2 for unit/revolution. e.g. OLD = CF_ SETPARINT(’’FEED_UNIT’’,1) • Repeat feed (I4_FEED_REPEAT): This parameter defines the repeatation of the FEDRAT command with each motion command. If ’’Never’’ is selected no FEDRAT command is repeated. If ’’At each linear interpolation’’ , each linear motion is output with the feed. The feed is not repeated at circular movements. If ’’At each circular interpolation’’ , each circular motion is output with the feed. The feed is not repeated at linear movements. If ’’At each linear and circular interpolation’’ , each linear or circular motion is output with the feed. If ’’Only once after RAPID’’ is selected, the feed is always repeated in the first circular or linear motion after a RAPID. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do nothing), 1 (repeat at each linear), 2 (repeat at each circle), 3 (repeat at each motion) or 4 (repeat only once after RAPID) . e.g. OLD = CF_ SETPARINT(’’FEED_REPEAT’’,1) • Trim feedrate in circular motion (I4_ADJUST_FEDRAT_FOR_CIRCLES): This switch controls the feedrate for the circular motion. Depending whether the CUTCOM command is set left or right for a motion, the way for the tool is longer or shorter. This can mean for a current feedrate, that the value is too large or too small. You can now control if cPost should increase the feedrate value for a longer way, or decrease the feedrate for a shorter way. The adjusted feedrate limit values are taken into account. Also the tool diameter and the radius of the circle tiles into the calculation of the new feedrate. To consider: If no CUTCOM is defined this switch has no effekt on the output. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Suppress1st FEDRAT (I4_SUPRESS_FIRST_FEED): This parameter defines if the first FEDRAT command will be suppressed or not. If selected, the first FEDRAT command is suppressed. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. • Keep feed until next linear motion (I4_KEEP_FEED): This parameter defines, if the FEDRAT commands are suppressed until the next motion command like GOTO, GODLTA or INDIRV. If it is selected, the feed is output together with the next non rapid motion. If it is not selected, the output is immediately. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. Page 174 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.9 SPINDLE 5.4.9.1 GENERAL • Spindle on CLW command • Address parameter • Spindle on CLW command (ADR_SPINDLE_CLOCKWISE): This parameter defines the command to activate the spindle clockwise. The output results together with spindle speed and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CLW) C_SPINDL_WAY_COM actual spindle direction command (for example M3) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) • Spindle on CCLW command • Address parameter • Spindle on CCLW command (ADR_SPINDLE_COUNTER_CLOCKWISE): This parameter defines the command to activate the spindle counter clockwise. The output results together with spindle speed and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CCLW) C_SPINDL_WAY_COM actual spindle direction command (for example M4) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) © CENIT AG Systemhaus cPost Documentation V1R6 Page 175 Chapter 5 - cPost Tab Pages • Spindle off • Address parameter • Spindle off (ADR_SPINDLE_STOP): This parameter defines the command to stop the spindle. It is output when a SPINDL/OFF is programmed. • Spindle speed address • Address parameter • Spindle speed address (ADR_SPINDLE_SPEED): This parameter defines the address and format of the spindle speed. The output results together with spindle direction and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CLW, CCLW) C_SPINDL_WAY_COM actual spindle direction command (for example M3 or M4) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) • Format • Constant cutting speed on command: • Address parameter • Constant cutting speed on command (ADR_CONST_CUTTING_SPEED_ON): This parameter defines the command for machining with constant cutting speed. --> the spindle speed changes with different diameter. ATTENTION! Spindle speed limitation is very important!!! It is output when a SPINDL/....,SFM,... Is programmed • Constant cutting speed off command: • Address parameter • Constant cutting speed off command (ADR_CONST_CUTTING_SPEED_OFF): This parameter defines the command for the deselection of machining with constant cutting speed. It is output when a SPINDL/...,RPM is programmed. • Constant cutting speed address: • Address parameter • Constant cutting speed address (ADR_CONST_CUTTING_SPEED): This parameter defines the address and format of the cutting speed value. It is necessary if the controller has different addresses for constant spindl speed and constant cutting speed. It is output when a SPINDL/...SFM,... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CLW, CCLW) C_SPINDL_WAY_COM actual spindle direction command (for example M3 or M4) C_SPINDL_UNIT actual spindle unit (SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96) • Format • Spindle speed limit command • Address parameter • Spindle speed limit command (ADR_SPINDLE_SPEED_LIMIT): This parameter defines the command to define a maimum spindle speed. It is output when a SPINDL/...., MAXRPM is programmed. • Format • Spindle speed limit address • Address parameter • Spindle speed limit address (ADR_SPINDLE_SPEED_MAX): This parameter defines the address and format of the maximum spindle speed. It is necessary if this address differs from the normal spindle speed address. It is output if a SPINDL/ ...,MAXRPM is programmed. • Format Page 176 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Spindle range command • Address parameter block • free text (BLK_SPINDLE_RANGE_CMD_MILL): This block defines the commands for different spindle speed ranges. The different comands have to be separated by ';'. M45;M46;M47 defines the command for the first spindle range is M45. The command for the second is M46, and so on. It is output if a SPINDL/RANGE is programmed. Available pool variable: C_SPINDL_RANGE_COM actual spindle range command • Spindle speed factor (R8_SPINDLE_FACTOR): This parameter defines the factor for the conversion of the APT spindle speed into the machine spindle speed. It is necessary if the APT and the controller units differ. © CENIT AG Systemhaus cPost Documentation V1R6 Page 177 Chapter 5 - cPost Tab Pages 5.4.9.2 LATHE • Spindle on CLW command lathe • Address parameter • Spindle on CLW command lathe (ADR_SPINDLE_CLOCKWISE_LATHE): This parameter defines the command to activate the spindle clockwise. The output results together with spindle speed and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CLW) C_SPINDL_WAY_COM actual spindle direction command (for example M3) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) • Spindle on CCLW command lathe • Address parameter • Spindle on CCLW command lathe (ADR_SPINDLE_COUNTER_CLOCKWISE_LATHE): This parameter defines the command to activate the spindle counter clockwise. The output results together with spindle speed and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CCLW) C_SPINDL_WAY_COM actual spindle direction command (for example M4) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) Page 178 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Spindle off lathe • Address parameter • Spindle off lathe (ADR_SPINDLE_STOP_LATHE): This parameter defines the command to stop the spindle. It is output when a SPINDL/OFF is programmed. • Spindle speed address lathe • Address parameter • Spindle speed address lathe (ADR_SPINDLE_SPEED_LATHE): This parameter defines the address and format of the spindle speed. The output results together with spindle direction and spindle unit. It is output when a SPINDL/.... is programmed. Available pool variables: C_SPINDL_SPEED actual spindle speed C_SPINDL_WAY acutal spindle direction of rotation (CLW, CCLW) C_SPINDL_WAY_COM actual spindle direction command (for example M3 or M4) C_SPINDL_UNIT actual spindle unit (RPM,SFM) C_SPINDL_UNIT_COM actual spindle unit command (for example G96 or G97) • Format • Spindle speed factor lathe (R8_SPINDLE_FACTOR_LATHE): This parameter defines the factor for the conversion of the APT spindle speed into the machine spindle speed. It is necessary if the APT and the controller units differ. • Spindle range command lathe • Address parameter block • free text (BLK_SPINDLE_RANGE_CMD_LATHE): This block defines the commands for different spindle speed ranges. The different comands have to be separated by ';'. M45;M46;M47 defines the command for the first spindle range is M45. The command for the second is M46, and so on. It is output if a SPINDL/RANGE is programmed. Available pool variable: C_SPINDL_RANGE_COM actual spindle range command © CENIT AG Systemhaus cPost Documentation V1R6 Page 179 Chapter 5 - cPost Tab Pages 5.4.9.3 • OPTIONS Starting spindle unit (I4_START_SPINDL_UNIT): This parameter defines if the spindle speed or the cutting speed is constant until the first SPINDL or TOOLNO command. Page 180 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.10 COOLANT 5.4.10.1 NORMAL • Coolant on command • Address parameter • Coolant on command (ADR_COOLANT_ON): This parameter defines the command to acitvate the cooling. It is output when a COOLNT/ON is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (DEFAULT) C_COOLNT_STAT actual coolant state (ON) • Coolant off command • Address parameter • Coolant off command (ADR_COOLANT_OFF): This parameter defines the command to deacitvate the cooling. It is output when a COOLNT/ OFF is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (DEFAULT) C_COOLNT_STAT actual coolant state (OFF) © CENIT AG Systemhaus cPost Documentation V1R6 Page 181 Chapter 5 - cPost Tab Pages 5.4.10.2 FLOOD • Coolant flood on command • Address parameter • Coolant flood on command (ADR_FLOOD_ON): This parameter defines the command to acitvate the submersion cooling. It is output when a COOLNT/FLOOD,ON is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (FLOOD) C_COOLNT_STAT actual coolant state (ON) • Coolant flood off command • Address parameter • Coolant flood off command (ADR_FLOOD_OFF): This parameter defines the command to deacitvate the submersion cooling. It is output when a COOLNT/FLOOD,OFF is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (FLOOD) C_COOLNT_STAT actual coolant state (OFF) Page 182 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.10.3 MIST • Coolant mist on command • Address parameter • Coolant mist on command (ADR_MIST_ON): This parameter defines the command to acitvate the combined cooling. It is output when a COOLNT/MIST,ON is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (MIST) C_COOLNT_STAT actual coolant state (ON) • Coolant mist off command • Address parameter • Coolant mist off command (ADR_MIST_OFF): This parameter defines the command to deacitvate the combined cooling. It is output when a COOLNT/MIST,OFF is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (MIST) C_COOLNT_STAT actual coolant state (OFF) © CENIT AG Systemhaus cPost Documentation V1R6 Page 183 Chapter 5 - cPost Tab Pages 5.4.10.4 TAPKUL • Coolant tapkul on command • Address parameter • Coolant tapkul on command (ADR_TAPKUL_ON): This parameter defines the command to acitvate the thread cooling. It is output when a COOLNT/TAPKUL,ON is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (TAPKUL) C_COOLNT_STAT actual coolant state (ON) • Coolant tapkul off command • Address parameter • Coolant tapkul off command (ADR_TAPKUL_OFF): This parameter defines the command to deacitvate the thread cooling. It is output when a COOLNT/TAPKUL,OFF is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (TAPKUL) C_COOLNT_STAT actual coolant state (OFF) Page 184 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.10.5 THRU • Coolant thru on command • Address parameter • Coolant thru on command (ADR_THRU_ON): This parameter defines the command to acitvate the tool interior cooling. It is output when a COOLNT/THRU,ON is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (THRU) C_COOLNT_STAT actual coolant state (ON) • Coolant thru off command • Address parameter • Coolant thru off command (ADR_THRU_OFF): This parameter defines the command to deacitvate the tool interior cooling. It is output when a COOLNT/THRU,OFF is programmed. Available pool variables: C_COOLNT_COM actual coolant command C_COOLNT_TYPE actual coolant type (THRU) C_COOLNT_STAT actual coolant state (OFF) © CENIT AG Systemhaus cPost Documentation V1R6 Page 185 Chapter 5 - cPost Tab Pages 5.4.11 TOOL CHANGE 5.4.11.1 SEQUENCES (MILLING MACHINES) • Tool change sequence • Address parameter block • free text (BLK_TOOL_CHANGE): This sequence defines the tool change sequence. It is output when a LOADTL/n1, n2, n3 is programmed. Available pool variables: C_TL_CUR_TLID actual tool number C_TL_PREV_TLID previous tool number C_TLNO_TL_NUMBER_C actual tool number (n1) C_TL_LEN_COMP_REG tool length compenstation register (n2) C_TL_RAD_COMP_REG tool radius compensation register (n3) Page 186 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.11.2 LATHE (TURNING MACHINES) • Change from turning to milling • Address parameter block • free text (BLK_TURN_TO_MILL): This block is processed instead of the normal tool change block if the processing type changes from turning to milling during the tool change. The first TOOLNO parameter of the involved tools is checked for a change of processing type. • Change from milling to turning • Address parameter block • free text (BLK_MILL_TO_TURN): This block is processed instead of the normal tool change block if the processing type changes from milling to turning during the tool change. The first TOOLNO parameter of the involved tools is checked for a change of processing type. © CENIT AG Systemhaus cPost Documentation V1R6 Page 187 Chapter 5 - cPost Tab Pages 5.4.11.3 SELECTION • Automatic preselection (I4_SELCTOOL_AUTOMATIC): This parameter defines if the postprocessor shall do an automatic tool preselection. If selected, cPost looks for the next LOADTL and creates a SELCTL command automatically. Attention: This parameter must not be modified with the macro function CF_SETPARINT. • Select 1st after last tool (I4_TL_SEL_AFTER_LAST): This switch is only active when the automatic tool preselection is activated. It defines wether the first tool is preselected at the last tool change or the preselection is suppressed for this tool change. Attention: This parameter must not be modified with the macro function CF_SETPARINT. • Position of Select sequence (I4_POS_SEL_BLOCK): This parameter defines if the tool selection block will be output at the call position of SELCTL or at the next positioning travel. Attention: This parameter must not be modified with the macro function CF_SETPARINT. • SELCTL sequence • Address parameter block • free text (BLK_SELECT_TOOL): This sequence defines the tool preselection. If the preselection is manually, it is only output when a SELCTL is programmed. If the preselection is automaticly, it is output when a LOADTL is programmed. Available pool variables: C_TL_SELECTED_TLID tool id of preselected tool Page 188 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.11.4 OPTIONS • Delete last RAPID before LOADTL (I4_LOADTL_RAPID_HANDLING): This switch defines if the last RAPID command before a tool change (LOADTL) is supressed or not. The RAPID command must be located immediately before the LOADTL command. Attention: This parameter must not can be modified with the macro function CF_SETPARINT. • Special LOADTL handling (I4_LOADTL_HANDLING): This switch defines how the LOADTL command is managed. If the switch is active, cPost will read forward until the next motion. All SPINDL, FEDRAT and COOLNT data will replace the TOOLNO data and is available in the variable pool for the output of the tool change sequence. There is no output of these values except in the sequence. If the switch is not active, cPost doesn’t read forward to collect these data. Only the TOOLNO values are available for the output of the tool change sequence. For example: Switch is active: TOOLNO/1,MILL,...... LOADTL/1 FEDRAT/100,MMPM COOLNT/ON SPINDL/100, RPM GOTO/ 10,20,30 no output, only available in the variable pool no output, only available in the variable pool no output, only available in the variable pool cPost reads forward until the GOTO command. The SPINDL, FEDRAT, COOLNT Data from the TOOLNO is replaced by the programmed values. These command have no output except if they are defined in the tool change sequence. Attention: This parameter must not can be modified with the macro function CF_SETPARINT. • Default radius corr. Register (I4_TL_CORR_DEFAULT): This parameter defines whether missing indexes are adopted from the LOADTL command. If the switch is set, if index numbers are missing the tool number is adopted as such or, if only the length correction index number is given, it is also adopted for the radius correction index. For example: LOADTL/1 is programmed. If the switch is set, the radius and length compensation register are set to 1. If it is not set, these register aren’t set. • Switch off modality check of spindle (I4_LOADTL_SPINDL_MOD): This parameter defines if the modality of the SPINDL command is switched off after a tool change. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (modality on) or 1 (modality off). e.g. OLD = CF_ SETPARINT(’’LOADTL_SPINDL_MOD’’,1) © CENIT AG Systemhaus cPost Documentation V1R6 Page 189 Chapter 5 - cPost Tab Pages • Switch off modality check of coolnt (I4_LOADTL_COOLNT_MOD): This parameter defines if the modality of the COOLNT command is switched off after a tool change. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (modality on) or 1 (modality off). e.g. OLD = CF_ SETPARINT(’’LOADTL_COOLNT_MOD’’,1) • Switch off modality check of feedrate (I4_LOADTL_FEDRAT_MOD): This parameter defines if the modality of the FEDRAT command is switched off after a tool change. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (modality on) or 1 (modality off). e.g. OLD = CF_ SETPARINT(’’LOADTL_FEDRAT_MOD’’,1) Page 190 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.11.5 LIMITS • Insert macro after defined time (I4_MACRO_TIME_CHECK): cPost offers the possibility to insert a macro after a certain time. There is the following selection: • No insert • Insert the macro after a certain cutting time per tool • Insert the macro after a certain total time per tool • Insert the macro after a certain cutting time for all tools • Insert the macro after a certain total time for all tools If the switch is active, cPost calculates the time and checks if the limit is reached. If the limit is reached, cPost inserts the defined macro immediately or outputs a warning immediately and inserts the macro call before the next RAPID motion. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are • 0 - do nothing • 1 - cutting per tool) • 2 - total per tool • 3 - cutting all tools • 4 - total all tools e.g. OLD = CF_ SETPARINT(''MACRO_TIME_CHECK'',1) . • Choose insert position of macro (I4_MACRO_TIME_CHECK_POS): This parameter defines the position of the inserted macro. The possible values are immediately or before the next RAPID. If ’’Next RAPID’’ is selected, cPost outputs immediately only a warning that the limit is reached. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (immediately) or 1 (next RAPID). e.g. OLD = CF_ SETPARINT(’’MACRO_TIME_CHECK_POS’’,1) • Name of the macro (STR_MACRO_TIME_CHECK): This parameter defines the name of the macro which is inserted after a defined time. • Time limit (R8_MACRO_TIME_CHECK): After this time limit is reached the macro is insert. • Insert macro after defined way (I4_MACRO_WAY_CHECK): cPost offers the possibility to insert a macro after a certain way. There is the following selection: • No insert • Insert the macro after a certain cutting way per tool © CENIT AG Systemhaus cPost Documentation V1R6 Page 191 Chapter 5 - cPost Tab Pages • Insert the macro after a certain total way per tool • Insert the macro after a certain cutting way for all tools • Insert the macro after a certain total way for all tools If the switch is active, cPost calculates the way and checks if the limit is reached. If the limit is reached, cPost inserts the defined macro immediately or outputs a warning immediately and inserts the macro call before the next RAPID motion. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do nothing), 1 (cutting per tool), 2 (total per tool), 3 (cutting all tools) or 4 (total all tools). e.g. OLD = CF_ SETPARINT(''MACRO_WAY_CHECK'',1) • Choose insert position of macro (I4_MACRO_WAY_CHECK_POS): This parameter defines the position of the inserted macro. The possible values are immediately or before the next RAPID. If ’’Next RAPID’’ is selected, cPost outputs immediately only a warning that the limit is reached. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (immediately) or 1 (next RAPID). e.g. OLD = CF_ SETPARINT(’’MACRO_WAY_CHECK_POS’’,1) • Name of the macro (STR_MACRO_WAY_CHECK): This parameter defines the name of the macro which is inserted after a defined way. • Time limit (R8_MACRO_WAY_CHECK): After this way limit is reached the macro is insert. Page 192 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12 TOOL COMPENSATION 5.4.12.1 RADIUS 5.4.12.1.1 GENERAL • radius corr. register address • Address parameter • radius corr. register address (ADR_RADIUS_CORRECTION): This parameter defines the address and the format of the radius compensation register. © CENIT AG Systemhaus cPost Documentation V1R6 Page 193 Chapter 5 - cPost Tab Pages 5.4.12.1.2 RIGHT • radius correction cmd. right on • Address parameter • radius correction cmd. right on (ADR_RADIUS_CORRECTION_RIGHT_ON): This parameter defines the command for radius compensation right. It is output when a CUTCOM/RIGHT is programmed. • radius correction cmd. right on (2nd) • Address parameter • radius correction cmd. right on (2nd) (ADR_RADIUS_CORRECTION_RIGHT2): This parameter defines the optional second part of radius correction command. This command will be generated before or with the 2nd contour element in dependence of its priority. • radius correction cmd. right off • Address parameter • radius correction cmd. right off (ADR_RADIUS_CORRECTION_RIGHT_OFF): This parameter defines the command to deactivate the radius compensation. It is output when a CUTCOM/OFF after a CUTCOM/RIGHT is programmed. Page 194 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12.1.3 LEFT • radius correction cmd. left on • Address parameter • radius correction cmd. left on (ADR_RADIUS_CORRECTION_LEFT_ON): This parameter defines the command for radius compensation right. It is output when a CUTCOM/LEFT is programmed. • radius correction cmd. left on (2nd) • Address parameter • radius correction cmd. left on (2nd) (ADR_RADIUS_CORRECTION_LEFT2): This parameter defines the optional second part of radius correction command. This command will be generated before or with the 2nd contour element in dependence of its priority. • radius correction cmd. left off • Address parameter • radius correction cmd. left off (ADR_RADIUS_CORRECTION_LEFT_OFF): This parameter defines the command to deactivate the radius compensation left . It is output when a CUTCOM/OFF after a CUTCOM/LEFT is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 195 Chapter 5 - cPost Tab Pages 5.4.12.1.4 OPTIONS • Output of radius register (I4_RAD_CORR_REG_POS): The parameter defines if the register is output with the first or the second part of the CUTCOM/ON command. If this switch is set, the radius correction register will be generated with the first part of the radius correction command. Otherwise it determines an output of the radius correction register with the second part of the radius correction command. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 1 (1st) or 2 (2nd). e.g. OLD = CF_ SETPARINT(’’RAD_CORR_REG_POS’’,1) Page 196 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12.2 LENGTH 5.4.12.2.1 X_AXIS • correction in pos X command • Address parameter • correction in pos X command (ADR_TOOL_COMP_PARALLEL_X_AXIS_POS): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARX, POS is programmed. • correction in neg X command • Address parameter • correction in neg X command (ADR_TOOL_COMP_PARALLEL_X_AXIS_NEG): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARX, NEG is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 197 Chapter 5 - cPost Tab Pages 5.4.12.2.2 Y_AXIS • correction in pos Y command • Address parameter • correction in pos Y command (ADR_TOOL_COMP_PARALLEL_Y_AXIS_POS): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARY, POS is programmed. • correction in neg Y command • Address parameter • correction in neg Y command (ADR_TOOL_COMP_PARALLEL_Y_AXIS_NEG): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARY, NEG is programmed. Page 198 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12.2.3 Z_AXIS • correction in pos Z command • Address parameter • correction in pos Z command (ADR_TOOL_COMP_PARALLEL_Z_AXIS_POS): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARZ, NEG is programmed. • correction in neg Z command • Address parameter • correction in neg Z command (ADR_TOOL_COMP_PARALLEL_Z_AXIS_NEG): The command and the address for length compensation index entry is given separately for each plane (e.g.: G43 H). The length correction index number is taken from the last LOADTL or CUTCOM command. It is output when a CUTCOM/PARZ, NEG is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 199 Chapter 5 - cPost Tab Pages 5.4.12.2.4 OPTIONS • Output of length register (I4_LGTH_CMP_OUT): This parameter defines if the length compensation is output once at the first Z traverse or at each Z traverse. If this switch is set, the length compensation is output for every Z traverse. If it is not set, the length compensation index will be entered only the first Z traverse. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (output at first) or 1 (output at each). e.g. OLD = CF_ SETPARINT(’’LGTH_CMP_OUT’’,1) • Add tool length in Z axis (I4_TL_LEN_COMP_CALC): This parameter defines if the tool length is added to the positioning axis. If this switch is set, the value of the positioning axis is calculated back by the tool length. The postprocessor takes the tool length from the CUTTER or TOOLNO statement. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do nothing) or 1 (add). e.g. OLD = CF_ SETPARINT(’’TL_LEN_COMP_CALC’’,1) • Add radius to Z axis (sphere) (I4_CALC_SPHER_RAD): This parameter defines if the tool radius is added to the positioning axis instead of the tool length for spherical tools. If this switch is set the tool radius is added to the value of the positioning axis. The tool radius must be defined in a TOOLNO or CUTTER statement. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do nothing) or 1 (radius). e.g. OLD = CF_ SETPARINT(’’CALC_SPHER_RAD’’,1) Page 200 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12.3 NORMAL TO DRIVE SURFACE 5.4.12.3.1 ADDRESSES • X address of the compensation vector normal to the drive surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_PQR_VECTOR_X): This parameter defines the X address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. . • Y address of the compensation vector normal to the drive surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_PQR_VECTOR_Y): This parameter defines the Y address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. . • Z address of the compensation vector normal to the drive surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_PQR_VECTOR_Z): This parameter defines the Z address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. . • Factor of tool vector (R8_CUTCOM_PQR_VECTOR_FACTOR): This parameter defines the factor for the transformation from APT to ISO. The APT input vector is multiplied with this factor. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’R8_CUTCOM_PQR_VECTOR_FACTOR’’,1000.0) © CENIT AG Systemhaus cPost Documentation V1R6 Page 201 Chapter 5 - cPost Tab Pages 5.4.12.3.2 COMMANDS • Command to activate the compensation normal to the drive surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_NORM_DS_ON): This parameter defines the activation/deactivation of the compensation mode in a direction normal to the drive surface. It is output when a CUTCOM/NORMDS is programmed or CUTCOM/OFF follows a CUTCOM/NORMDS. • Command to deactivate the compensation normal to the drive surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_NORM_DS_OFF): This parameter defines the activation/deactivation of the compensation mode in a direction normal to the drive surface. It is output when a CUTCOM/NORMDS is programmed or CUTCOM/OFF follows a CUTCOM/NORMDS. Page 202 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.12.4 NORMAL TO PART SURFACE 5.4.12.4.1 ADDRESSES • X address of the contact point • Address parameter • X address of the compensation vector (ADR_CUTCOM_XC_X_AXIS): This parameter defines the address of the X axis of the contact point. It is output from CATIA after a CUTCOM/NORMPS command. • Y address of the contact point • Address parameter • Y address of the compensation vector (ADR_CUTCOM_XC_Y_AXIS): This parameter defines the address of the Y axis of the contact point. It is output from CATIA after a CUTCOM/NORMPS command. • Z address of the contact point • Address parameter • Z address of the compensation vector (ADR_CUTCOM_XC_Z_AXIS): This parameter defines the address of the Z axis of the contact point. It is output from CATIA after a CUTCOM/NORMPS command. • X address of the compensation vector normal to the part surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_XN_VECTOR_X): This parameter defines the X address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. © CENIT AG Systemhaus cPost Documentation V1R6 Page 203 Chapter 5 - cPost Tab Pages • Y address of the compensation vector normal to the part surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_XN_VECTOR_Y): This parameter defines the Y address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. . • Z address of the compensation vector normal to the part surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_XN_VECTOR_Z): This parameter defines the Z address of the compensation vector normal to the drive surface. It is output from CATIA after a CUTCOM/NORMDS command. . • Factor of tool vector (R8_CUTCOM_XN_VECTOR_FACTOR): This parameter defines the factor for the transformation from APT to ISO. The APT input vector is multiplied with this factor. Attention: This parameter can be modified with the macro function CF_SETPARREAL. e.g. OLD = CF_ SETPARREAL(’’R8_CUTCOM_XN_VECTOR_FACTOR’’,1000.0) 5.4.12.4.2 COMMANDS • Command to activate the compensation normal to the part surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_NORM_PS_ON): This parameter defines the activation/deactivation of the compensation mode in a direction normal to the part surface. It is output when a CUTCOM/NORMPS is programmed or CUTCOM/OFF follows a CUTCOM/NORMPS. • Command to deactivate the compensation normal to the part surface • Address parameter • X address of the compensation vector (ADR_CUTCOM_NORM_PS_OFF): This parameter defines the activation/deactivation of the compensation mode in a direction normal to the part surface. It is output when a CUTCOM/NORMPS is programmed or CUTCOM/OFF follows a CUTCOM/NORMPS. Page 204 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.13 OPSKIP • OPSKIP command: • Address parameter • OPSKIP command (ADR_OPSKIP_SIGN_1ST): This parameter defines the character or character sequence, which should exist in NC program, but which are ignored by the controller. In the APT code, skipped records are enclosed by the APT commands OPSKIP/ON and OPSKIP/OFF. Is OPSKIP/ON ,LEVEL defined in the APT code, the LEVEL number is programmed in the NC-DATA-Output in front of the record number (together with skip character or character sequence). This skip character or character sequence stands before LEVEL. • Format • OPSKIP 2nd part after recnr (STR_OPSKIP_SIGN_2ND): This parameter defines the character or character sequence, which should exist in NC program, but which are ignored by the controller. In the APT code, skipped records are enclosed by the APT commands OPSKIP/ON and OPSKIP/OFF. Is OPSKIP/ON ,LEVEL defined in the APT code, the LEVEL number is programmed in the NCDATA-Output in front of the record number (together with skip character or character sequence). This skip character or character sequence stands behind LEVEL. © CENIT AG Systemhaus cPost Documentation V1R6 Page 205 Chapter 5 - cPost Tab Pages 5.4.14 COMMENTS • Comment begin: • Address parameter • Comment begin (ADR_COMMENT_START): This parameter defines a character or character sequence which is output in front of the actual comment. For example: this parameter is set to (. APT: PPRINT/THIS IS THE COMMENT ISO: N100 (THIS IS THE COMMENT • Comment end: • Address parameter • Comment end (ADR_COMMENT_END): This parameter defines a character or character sequence which is output behind the actual comment. For example: this parameter is set to ). APT: PPRINT/THIS IS THE COMMENT ISO: N100 THIS IS THE COMMENT) • Message filter start (STR_MSG_START): This parameter defines the character sequence which is used to filter the PPRINTs in the APT,e.g.: Parameter definitions Message filter start: ( Message filter end: ) In this case the following APT line is not included in NC-program: PPRINT/ THIS COMMENT IS NOT OUTPUT However, the following APT line is included in NC-program: PPRINT/ (THIS COMMENT IS OUTPUT) • Message filter end (STR_MSG_END): This parameter defines the character sequence which is used to filter the PPRINTs in the APT,e.g.: Parameter definitions Message filter start: ( Page 206 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages Message filter end: ) In this case the following APT line is not included in NC-program: PPRINT/ THIS COMMENT IS NOT OUTPUT However, the following APT line is included in NC-program: PPRINT/ (THIS COMMENT IS OUTPUT) • Maximum comment length (I4_MAX_COM_LENGTH): This parameter limits the length of the comment in NC-program. If is it set, all comments are truncated to this length. If not the comment is not changed. • Output of comments (I4_COMMENTS_UPPERCASE): This parameter defines, if the comment is output like defined in upper and lower case (0) or only in upper case (1) or only in upper case and no german umlauts (2). For example Fanuc controllers support only upper case comments with no german umlauts. PPRINT/(Test) is output as (Test) if like defined is selected (TEST) if upper case only is selected Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (like defined), 1 (uppercase only) or 2 (uppercase only without umlauts). e.g. OLD = CF_ SETPARINT(’’COMMENTS_UPPERCASE’’,1) • Generate comments (I4_COMM_OUTPUT_HANDLING): This parameter defines if the comment is output and if it is output, how it is output. Attention: This parameter can not be modified with the macro function CF_SETPARINT. • Insert blank lines as comments (I4_COMM_BLANK_LINES): This parameter defines if a blank line is included before or after a comment. Attention: This parameter can not be modified with the macro function CF_SETPARINT. • Handling of first PPRINTS (I4_SUPRESS_OUTPUT_1ST_PPRINTS): This parameter defines the handling of the first PPRINTS before the first motion (FROM, GOTO,...) or tool change command (LOADTL). If suppress is selected, all PPRINTS are only available in the variable pool (C_FIRST_PPRINTS). If normal output is selected, they are handled like any other PPRINT. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. © CENIT AG Systemhaus cPost Documentation V1R6 Page 207 Chapter 5 - cPost Tab Pages 5.4.15 INSERTS • Insert prios and tab: • Address parameter • Insert prios and tab (ADR_INSERT): This parameter defines only the tabulator or the priorities for the output of an INSERT command into the NC data. The address or format are not used. • Format • Generate inserts (I4_INSERT_HANDLING): This parameter defines how to output the character sequence of the INSERT command. Attention: This parameter can not be modified with the macro function CF_SETPARINT. Page 208 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.16 ORIGINS • Origin incremental command: • Address parameter • Origin incremental command (ADR_ORIGIN_INC): This parameter defines the command to define an incremental offset. It is output when the APT command ORIGIN/DATUM,INCR,x,y,z is programmed. With this command the program zero point, refered to the active program zero point, can be incrementally (=relatively) shifted. The zero point shift is only output by the postprocessor, but not considered in any offset calculation. • Origin absolute command: • Address parameter • Origin absolute command (ADR_ORIGIN_ABS): This parameter defines the command to define an absolute offset. It is output when the APT command ORIGIN/DATUM,x,y,z is programmed. With this command the program zero point, refered to the active program zero point, can be absolute shifted. The zero point shift is only output by the postprocessor, but not considered in any offset calculation. • Origin manual commands: • Address parameter • free text (BLK_ORIGIN_MANUAL_CMD): This parameters defines the origin offset commands. It is output when a ORIGIN/MANUAL is programmed. The coordiantes are reduced by this offset, if it is selected. There are 2 blocks for definition of the origin commands. The output of the two commands is controlled by way of the tabulator or priority entry. If only one command is required as origin command, it can be defined in the first or in the second command block. If two commands are to be output, the command sequences of the two blocks must be assigned to each other. This is done by separating the command sequences in each line with semicolons. © CENIT AG Systemhaus cPost Documentation V1R6 Page 209 Chapter 5 - cPost Tab Pages If the controller has origin groups and commands, the groups are defined in the second block and the commands are defined in the first. All commands in one block are separated with a ;. Example: Definition: Origin manual command (1st): G53;G54;G55;G54;G55 Origin manual command (2nd): ;L101;L101;L102;L102 Input ORIGIN/MANUAL,0 ORIGIN/MANUAL,1 ORIGIN/MANUAL,2 • Output: G53 G54 L101 G55 L101 Origin manual command (2nd): • Address parameter • free text (BLK_ORIGIN_MANUAL_CMD_2ND): This parameters defines the origin offset commands. It is output when a ORIGIN/MANUAL is programmed. The coordiantes are reduced by this offset, if it is selected. There are 2 blocks for definition of the origin commands. The output of the two commands is controlled by way of the tabulator or priority entry. If only one command is required as origin command, it can be defined in the first or in the second command block. If two commands are to be output, the command sequences of the two blocks must be assigned to each other. This is done by separating the command sequences in each line with semicolons. If the controller has origin groups and commands, the groups are defined in the second block and the commands are defined in the first. All commands in one block are separated with a ;. Example: Definition: Origin manual command (1st): G53;G54;G55;G54;G55 Origin manual command (2nd): ;L101;L101;L102;L102 Input ORIGIN/MANUAL,0 ORIGIN/MANUAL,1 ORIGIN/MANUAL,2 • Output: G53 G54 L101 G55 L101 Subtract Origin manual on coord. (I4_ORIG_MAN_COMPUTATION): This parameter defines if the offset values of the actual ORIGIN/MANUAL are subtracted of the actual coordinates or not. Example: ORIGIN/MANUAL,1,100,200,300 GOTO /100,200,300 Output if switch is set: G1 X0 Y0 Z0 Output if switch is not set: G1 X100 Y200 Z300 Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (do nothing) or 1 (subtract). e.g. OLD = CF_ SETPARINT(’’ORIG_MAN_COMPUTATION’’,1) Page 210 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.17 PLANES 5.4.17.1 PLANE XY1 • Plane XY1 command: • Address parameter • Plane XY command (ADR_PLANE_XY): This parameter defines the plane command of the XY plane. It is output when the APT command MODE/XYPLAN. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 3) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM this parameter • Plane XY sequence: • Address parameter block • free text (BLK_MODE_XY1): This sequence defines the selection of the XY plane. It is output when the APT command MODE/XYPLAN is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 3) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM actual plane command • X assignment in XY1 Plane (STR_X_XY_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 © CENIT AG Systemhaus cPost Documentation V1R6 Page 211 Chapter 5 - cPost Tab Pages • Y assignment in XY1 Plane (STR_Y_XY_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY plane. • Z assignment in XY1 Plane (STR_Z_XY_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY plane. Page 212 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.17.2 PLANE XY2 • Plane XY2 command: • Address parameter • Plane XY2 command (ADR_PLANE_XY2): This parameter defines the plane command of the negative XY plane. It is output when the APT command MODE/XYPLAN,2. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 3) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM this parameter • Plane XY2 sequence: • Address parameter block • free text (BLK_MODE_XY2): This sequence defines the selection of the negative XY plane. It is output when the APT command MODE/XYPLAN,2 is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 3) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM actual plane command • X assignment in XY2 Plane (STR_X_XY2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY(2) plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in XY2 Plane (STR_Y_XY2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY(2) plane. • Z assignment in XY2 Plane (STR_Z_XY2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the XY(2) plane. © CENIT AG Systemhaus cPost Documentation V1R6 Page 213 Chapter 5 - cPost Tab Pages 5.4.17.3 PLANE ZX1 • Plane ZX1 command: • Address parameter • Plane ZX1 command (ADR_PLANE_ZX1): This parameter defines the plane command of the ZX plane. It is output when the APT command MODE/ZXPLAN. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 2) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM this parameter • Plane ZX1 sequence: • Address parameter block • free text (BLK_MODE_ZX1): This sequence defines the selection of the ZX plane. It is output when the APT command MODE/ZXPLAN is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 2) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM actual plane command • X assignment in ZX1 Plane (STR_X_ZX1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(1) plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in ZX1 Plane (STR_Y_ZX1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(1) plane. • Z assignment in ZX1 Plane (STR_Z_ZX1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(1) plane. Page 214 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.17.4 PLANE ZX2 • Plane ZX2 command: • Address parameter • Plane ZX2 command (ADR_PLANE_ZX2): This parameter defines the plane command of the negative ZX plane. It is output when the APT command MODE/ZXPLAN, 2. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 2) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM this parameter • Plane ZX2 sequence: • Address parameter block • free text (BLK_MODE_ZX2): This sequence defines the selection of the negative ZX plane. It is output when the APT command MODE/ZXPLAN,2 is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 2) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM actual plane command • X assignment in ZX2 Plane (STR_X_ZX2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(2) plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in ZX2 Plane (STR_Y_ZX2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(2) plane. • Z assignment in ZX2 Plane (STR_Z_ZX2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZX(2) plane. © CENIT AG Systemhaus cPost Documentation V1R6 Page 215 Chapter 5 - cPost Tab Pages 5.4.17.5 PLANE YZ1 • Plane YZ1 command: • Address parameter • Plane YZ1 command (ADR_PLANE_YZ1): This parameter defines the plane command of the YZ plane. It is output when the APT command MODE/YZPLAN. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 1) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM this parameter • Plane YZ1 sequence: • Address parameter block • free text (BLK_MODE_YZ1): This sequence defines the selection of the YZ plane. It is output when the APT command MODE/YZPLAN is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 1) C_TOOL_AXIS_SIGN actual tool direction (value here: 1) C_MODE_PLANE_COM actual plane command • X assignment in YZ1 Plane (STR_X_YZ1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(1) plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in YZ1 Plane (STR_Y_YZ1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(1) plane. • Z assignment in YZ1 Plane (STR_Z_YZ1_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(1) plane. Page 216 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.17.6 PLANE YZ2 • Plane YZ2 command: • Address parameter • Plane YZ2 command (ADR_PLANE_YZ2): This parameter defines the plane command of the negative YZ plane. It is output when the APT command MODE/YZPLAN, 2. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 1) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM this parameter • Plane YZ” sequence: • Address parameter block • free text (BLK_MODE_YZ2): This sequence defines the selection of the negativeYZ plane. It is output when the APT command MODE/YZPLAN,2 is programmed. Available pool variables: C_TOOL_AXIS actual tool axis (value here: 1) C_TOOL_AXIS_SIGN actual tool direction (value here: -1) C_MODE_PLANE_COM actual plane command • X assignment in YZ2 Plane (STR_X_YZ2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(2) plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +X , Y: +Y, Z: +Z ISO: G1 X100 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in YZ2 Plane (STR_Y_YZ2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(2) plane. • Z assignment in YZ2 Plane (STR_Z_YZ2_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the YZ(2) plane. © CENIT AG Systemhaus cPost Documentation V1R6 Page 217 Chapter 5 - cPost Tab Pages 5.4.17.7 PLANE ZXL • Plane ZXL command: • Address parameter • Plane ZXL command (ADR_PLANE_ZXL): This parameter defines the plane command of the ZX plane for turning. It is output when the APT command MODE/ZXPLAN, L. Available pool variables: C_MODE_PLANE_COM this parameter • Plane ZXL sequence: • Address parameter block • free text (BLK_MODE_ZXL): This sequence defines the selection of the ZX plane for turning. It is output when the APT command MODE/ZXPLAN,L is programmed. Available pool variables: C_MODE_PLANE_COM actual plane command • X assignment in ZXL Plane (STR_ZX_LATHE_X_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZXL plane. Example: APT: GOTO/ 100,200,300 Assignment: X: +2*X , Y: +Y, Z: +Z ISO: G1 X200 Y200 Z300 Assignment: X: +X , Y: -Z, Z: +Y ISO: G1 X100 Y300 Z-200 Assignment: X: +Z , Y: +Y, Z: +X ISO: G1 X300 Y200 Z100 • Y assignment in ZXL Plane (STR_ZX_LATHE_Y_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZXL plane. • Z assignment in ZXL Plane (STR_ZX_LATHE_Z_ASSIGNMENT): This parameter defines the relation between CAD axis and machine axis for the ZXL plane. • ZXL-Plane is also valid default for milling (I4_ZXLPLANE_STD_MILL): This switch defines if the ZXL plane is to be used for standard milling operations. Page 218 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.17.8 • OPTIONS Support MODE command in angle calculation (I4_MODE_5AXIS_HANDLING): This switch defines if the MODE command is supported on 5 axis angle calculation. If the switch is set, on each MODE command the default tool direction will be calculated. This tool direction is then used for the following angle calculations. Example (2 Axis on table machine with tilting head): MODE/XYPLAN GOTO/0,0,0,0,0,1 GOTO/0,0,0,0,1,0 MODE/ZXPLAN GOTO/0,0,0,0,1,0 ISO with “Support MODE command in angle calculation” on: G1 X0 Y0 Z0 A0 C0 G1 X0 Y0 Z0 A90 C0 G18 // new default tool vector for angle calculation (0,1,0) G1 X0 Y0 Z0 A0 C0 ISO with “Support MODE command in angle calculation” off: G1 X0 Y0 Z0 A0 C0 G1 X0 Y0 Z0 A90 C0 G18 // no redefinition of default tool vector for angle calculation (0,0,1) G1 X0 Y0 Z0 A90 C0 • Automatic Mode generation (I4_AUTO_MODE): This parameter defines if the Post Processor generates automatic plane commands. If the switch is set, the plane is calculated from the tool vector. If the vector changes, a new plane command is created. • Plane factors also incremental? (I4_PLANE_FACT_INCR): This switch defines if the factors for the plane assignments are incremental or not. • Tlaxis support (I4_TLAXIS_SUPPORT): This switch defines if the TLAXIS command is supported or not. If it is supported the APT command TLAXIS/0,0,1 and the APT command MODE/XYPLAN have the same results. • Starting plane (STR_DEFAULT_PLANE): This parameter defines the starting working plane of the toolmachine. © CENIT AG Systemhaus cPost Documentation V1R6 Page 219 Chapter 5 - cPost Tab Pages 5.4.18 SETPLANE 5.4.18.1 COORDINATES • Address of 1st SETPLN axis: • Address parameter • Address of 1st SETPLN axis (ADR_SETPLN_1ST_COORD): This parameter defines the address of the first coordinate in the plane defined with SETPLN/ ON. If no address is defined, the postprocessor uses the same coordinates as in the other planes. • Format • Address of 2nd SETPLN axis: • Address parameter • Address of 2nd SETPLN axis (ADR_SETPLN_2ND_COORD): This parameter defines the address of the second coordinate in the plane defined with SETPLN/ON. If no address is defined, the postprocessor uses the same coordinates as in the other planes. • Format • Address of 3rd SETPLN axis: • Address parameter • Address of 3rd SETPLN axis (ADR_SETPLN_3RD_COORD): This parameter defines the address of the third coordinate in the plane defined with SETPLN/ ON. If no address is defined, the postprocessor uses the same coordinates as in the other planes. • Format Page 220 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.18.2 OPTIONS • Output of tool tip on SETPLN (I4_5X_SETPLN_RTCP): This parameter defines which point is output in SETPLN mode. If the switch is set, the tool tip is output. If not, cPost output the pivot point. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (pivot) or 1 (tip). e.g. OLD = CF_ SETPARINT(’’5X_SETPLN_RTCP’’,1) • Frame definition (I4_SETPLN_EULER_ANGLES): This parameter defines which angles are used for the new frame definition. The choice is between machine angles and Euler angles. If Euler angles are choosen, these Angles must also be defined (Motions->Coordiantes->5X Euler). Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (machine angles are used) or 1 (Euler angles are used). e.g. OLD = CF_ SETPARINT(’’SETPLN_EULER_ANGLES’’,1) • Handling of a tool change in SETPLN section (I4_SETPLN_DEL_REPEAT_LOADTL): This parameter defines if the automatic SETPLN function is interrupted at each LOADTL. The choice is between ’’Interrupt’’ and ’’No interrupt necessary’’. If “Interrupt” is selected, the SETPLN transformation is switch off before the tool change and switched on afterwards. For example : ’switch off and repeat’’ ’’no interrupt necessary ’’ SETPLN/ON SETPLN/ON .... ...... GOTO/100,100,100,0,0,1 GOTO/100,100,100,0,0,1 SETPLN/OFF is insert here LOADTL/2 LOADTL/2 SETPLN/ON is insert here GOTO/300,300,200,0,0,1 GOTO/300,300,200,0,0,1 Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (no interrupt) or 1 (Switch off and repeat). e.g. OLD = CF_ SETPARINT(''SETPLN_DEL_REPEAT_LOADTL'',1) • New frame also for initial vector (I4_SETPLN_AUTO_INIT): This parameter defines the behaviour of the automatic SETPLN, if the initial tool vector is input. cPost offers the following possibilities: - Activation of the frame (1). - No activation of this frame (0). In this case the old frame is only switched off. Attention: This parameter can be modified with the macro function CF_SETPARINT. Possible values are 0 (don’t activate) or 1 (activate). e.g. OLD = CF_ SETPARINT(’’SETPLN_AUTO_INIT’’,1) © CENIT AG Systemhaus cPost Documentation V1R6 Page 221 Chapter 5 - cPost Tab Pages 5.4.18.3 SEQUENCES • SETPLN on sequence: • Address parameter block • free text (BLK_SETPLANE_ON): This block defines the nc sequence to define special planes. It is output when a SETPLN/ON is programmed. All following motion coordiantes are transformed in the new axis system. • SETPLN off sequence: • Address parameter block • free text (BLK_SETPLANE_OFF): This block defines the nc sequence to finish the working on special planes. It is output when a SETPLN/OFF is programmed. Page 222 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.19 POLAR PLANE 5.4.19.1 ADDRESSES FOR POLAR PLANE • Address of radius: • Address parameter • Address of radius (ADR_POLAR_MODE_RADIUS): This parameter defines the address and format of motion coordinate for the radius output in polar mode. This mode is switched on with MODE/POLAR, , , , and switched off with MODE/POLAR,OFF. If the plane XY is defined as polar plane, X and Y coordiantes are used for angle and radius calculation. Z is not changed. • Format • Address of angle: • Address parameter • Address of angle (ADR_POLAR_MODE_ANGLE): This parameter defines the address and format of motion coordinate for the angle output in polar mode. This mode is switched on with MODE/POLAR, , , , and switched off with MODE/POLAR,OFF. If the plane XY is defined as polar plane, X and Y coordiantes are used for angle and radius calculation. Z is not changed. • Format • Address of linear axis: • Address parameter • Address of linear axis (ADR_POLAR_MODE_LINEAR_AXIS): This parameter defines the address and format of motion coordinate for the angle output in polar mode. This mode is switched on with MODE/POLAR, , , , and switched off with MODE/POLAR,OFF. If the plane XY is defined as polar plane, X and Y coordiantes are used for angle and radius calculation. Z is not changed. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 223 Chapter 5 - cPost Tab Pages 5.4.19.2 MOTION COMMANDS • Rapid command: • Address parameter • Rapid command (ADR_POLAR_MODE_RAPID_1ST): This parameter defines the command for rapid movements in polar mode. Generated by the APT-Words RAPID GOTO/x, y, z • Rapid command (2nd part): • Address parameter This parameter defines the 2nd part of the command for rapid movements in polar mode. • Linear interpolation command: • Address parameter • Linear interpolation command (ADR_POLAR_MODE_LINEAR_1ST): This parameter defines the command for linear movements in polar mode. • Linear interpolation command (2nd): • Address parameter • Linear interpolation command (2nd) (ADR_POLAR_MODE_LINEAR_2ND): This parameter defines the second part of the linear motion statement, in case the controller requires a divided command (two parts). Page 224 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.19.3 OPTIONS • Linear accuracy (R8_POLAR_MODE_LIN_TOL): This parameter defines the default accuracy for linear movements in polar mode. This mode is switched on with MODE/POLAR, , , , and switched off with MODE/POLAR,OFF. All linear movements in this plane will be splitted in dependence of this linear accuracy. • Circle accuracy (R8_POLAR_MODE_CIR_TOL): This parameter defines the default accuracy for circular movements in polar mode. This mode is switched on with MODE/POLAR, , , , and switched off with MODE/POLAR,OFF. All circular movements in this plane will be splitted in dependence of this circular accuracy. • Angle offset (R8_POLAR_MODE_OFFSET_ANGLE): This parameter defines the offset of the angle in polar mode. This mode is switched on with MODE/ POLAR, , , , and switched off with MODE/POLAR,OFF. If the plane XY is defined as polar plane, X and Y coordiantes are used for angle and radius calculation. Z is not changed. 0 degree for the angle means, the point is on the X axis. If your controller needs another value, this offset must be defined here. © CENIT AG Systemhaus cPost Documentation V1R6 Page 225 Chapter 5 - cPost Tab Pages 5.4.19.4 SEQUENCES • POLAR on sequence: • Address parameter block • free text (BLK_POLAR_MODE_ON): This sequence defines the switch on commands for the polar mode. This sequence is output when a MODE/POLAR, , , , is programmed. The XY coordiantes of this plane will be transformed to radius and angle coordiantes. All linear and circular movements in this plane will be splitted in dependence of its accuracies. • POLAR off sequence: • Address parameter block • free text (BLK_POLAR_MODE_OFF): This sequence defines the switch off commands for the polar mode. This sequence is output when a MODE/POLAR, OFF is programmed. • POLAR macro name (STR_POLAR_MODE_MACRO_NAME): This parameter defines the macro name for the polar mode handling. It is called by each MODE/ POLAR command when it is defined. If there is no macro defined and this parameter is blank, the sequences for switching on/off are called. Page 226 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.20 CYCLES 5.4.20.1 Each Cycle • Cycle selection: • Select cycle: First you have to select a cycle definition in the pull down menu. If there is no cycle defined you have to fill out all necessary parameters. After that you can add the new defined cycle. If you have choosen one of the existing once you can modify them. For the definition of call and end command you have the choice to use block definitions or simple commands. Depending on the choice the panel changes slightly. • Cycle name: • Cycle name (CYC_CYCLE_01): This parameter defines the name of the cycle. The name of the cycle is also the first parameter of the APT command CYCLE/ <cycle name>, <cycle parameters> . • Link Handling: This parameter defines what cPost have to do if the value of the Z axis changes between two cycle calls. © CENIT AG Systemhaus cPost Documentation V1R6 Page 227 Chapter 5 - cPost Tab Pages For example: APT input: CYCLE / DRILL,1,2 GOTO / 10,20,30 GOTO / 20,10,30 GOTO / 30,40,50 GOTO / 40,50,50 CYCLE / OFF The Z value changes between cycle call 2 and cycle call 3. cPost will make the following actions: “Do nothing”: Everything is output like programmed. G81 TI1 SI2 G79 X10 Y20 Z30 G79 X20 Y10 G79 X30 Y40 Z50 G79 X40 Y50 G80 “'Only link”': cPost inserts the cycle link sequence between point 2 and point 3. G81 TI1 SI2 G79 X10 Y20 Z30 G79 X20 Y10 G0 X20 Y10 Z50 !!!! automatic inserted link sequence G79 X30 Y40 G79 X40 Y50 G80 “Link and definition”: cPost inserts the cycle link block and repeats the cycle definition sequence between point 2 and point 3. G81 TI1 SI2 G79 X10 Y20 Z30 G79 X20 Y10 G80 G0 X20 Y10 Z50 !!!! automatic inserted link sequence G81 TI1 SI2 !!!! automatic inserted definition sequence G79 X30 Y40 G79 X40 Y50 G80 “Only definition”: cPost inserts the cycle definition sequence between point 2 and point 3. G81 TI1 SI2 G79 X10 Y20 Z30 G79 X20 Y10 G80 G81 TI1 SI2 !!!! automatic inserted definition sequence G79 X30 Y40 G79 X40 Y50 G80 Page 228 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages • Output of 1st GOTO This parameter defines the handling of the first cycle call position. If “in definition” is selected, cPost supresses the first position (GOTO) after the definition. This position has to be defined in the cycle definition block. If “after definition” is selected, the first position (GOTO) is output like any other position after the cycle definition. Example: CYCLE / DRILL,1,2 GOTO / 10,20,30 GOTO / 20,20,30 Output with first position in cycle definition: N10 G0 X10 Y20 N20 G81 TI1 SA2 N30 G79 X20 Y20 Output with first position after cycle definition: N10 G81 TI1 SA2 N20 G79 X10 Y20 N30 G79 X20 Y20 • • • • Output of definition This parameter defines the position of the output of the cycle definition. The choice is between: • in program (at programming position) • at end formula of approach value (long) (CYC_CYCLE_01): This parameter defines the modification of the Z value of the cycle for the long definition form. formula of approach value (short) (CYC_CYCLE_01): This parameter defines the modification of the Z value of the cycle for the short definition form. use Block definitions: © CENIT AG Systemhaus cPost Documentation V1R6 Page 229 Chapter 5 - cPost Tab Pages • Cycle call sequence: • Address parameter block • free text (BLK_CYCLE_CALL_01): This sequence defines the cycle call. It is output for each cycle call position (GOTO between CYCLE/ ,..... and CYCLE/OFF). cPost offers 2 call possiblities: output of this sequences for complex calls or output of simple parameters. Available pool variables: C_VARGR() all parameters as real numbers with index 1.... to number C_VARG$() all parameters as strings with index 1.... to number C_AXIS_X_NXT_POS X coordiante of call position C_AXIS_Y_NXT_POS Y coordiante of call position C_AXIS_Z_NXT_POS Z coordiante of call position • Cycle end sequence: • Address parameter block • free text (BLK_CYCLE_END_01): This sequence defines the cycle end command. It is output when a CYCLE/OFF is programmed. cPost offers 2 cycle end possiblities: output of this sequences for complex end commands or output of simple parameters. • Cycle long definition sequence • Address parameter block • free text (BLK_CYCLE_LONG_01): This sequence defines the long form of the cycle definition. It is output when a CYCLE/ ,..... is programmed. cPost offers 2 definition sequences: a short and a long form. If the APT CYCLE command has enough variables for the long form, cPost output the long form. In the other case the short form is output. Available pool variables: C_VARGR() all parameters as real numbers with index 1.... to number C_VARG$() all parameters as strings with index 1.... to number • Cycle short definition sequence • Address parameter block • free text (BLK_CYCLE_SHORT_01): This sequence defines the short form of the cycle definition. It is output when a CYCLE/ ,..... is programmed. cPost offers 2 definition sequences: a short and a long form. If the APT CYCLE command has enough variables for the long form, cPost output the long form. In the other case the short form is output. Available pool variables: C_VARGR() all parameters as real numbers with index 1.... to number C_VARG$() all parameters as strings with index 1.... to number • Link sequence v->h • Address parameter block • free text (BLK_CYCLE_LINK_VH_01): This sequence defines the cycle link block. It is output if the Z value of the cycle positions changes from lower to higher between CYCLE/ON and CYCLE/OFF. CYCLE / DRILL,1,2 GOTO / 10,20,30 GOTO / 20,10,30 GOTO / 30,40,10 GOTO / 40,50,10 CYCLE / OFF cPost output this block between point 2 and point 3. • Link sequence h->v • Address parameter block • free text BLK_CYCLE_LINK_HV_01): This sequence defines the cycle link block. It is output if the Z value of the cycle positions changes from higher to lower between CYCLE/ON and CYCLE/OFF. CYCLE / DRILL,1,2 Page 230 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages GOTO / 10,20,30 GOTO / 20,10,30 GOTO / 30,40,10 GOTO / 40,50,10 CYCLE / OFF cPost output this block between point 2 and point 3. • no use of Block definitions: • • • Cycle call command: • Address parameter • Cycle call command (ADR_CYCLE_01): Definition of the first part of the cycle call command • Format Cycle call command (2nd): • Address parameter • Cycle call command (2nd) (ADR_CYCLE_CALL2_01): Definition of the second part of the cycle call command, in case the controller needs two different parts. • Format Cycle end command: • Address parameter • Cycle end command (ADR_CYCLE_END_01): Definition of the cycle end command. • Format © CENIT AG Systemhaus cPost Documentation V1R6 Page 231 Chapter 5 - cPost Tab Pages 5.4.21 LATHE SEQUENCES 5.4.21.1 CLAMP • Clamp on: • Address parameter block • free text (BLK_CLAMP_ON): This sequence is output when the APT command CLAMP/OFF is programmed. • Clamp off: • Address parameter block • free text (BLK_CLAMP_OFF): This sequence is output when the APT command CLAMP/ON is programmed. • Clamp chuck: • Address parameter block • free text (BLK_CLAMP_CHUCK): This sequence is output when the APT command CLAMP/CHUCKOFF is programmed. • Clamp barfed: • Address parameter block • free text (BLK_CLAMP_BARFED): This sequence is output when the APT command CLAMP/BARFED is programmed. Page 232 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.21.2 RETURN • Return on sequence: • Address parameter block • free text (BLK_RETURN_ON): This sequence is output when the APT command RETURN/ON is programmed. • Return off sequence: • Address parameter block • free text (BLK_RETURN_OFF): This sequence is output when the APT command RETURN/OFF is programmed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 233 Chapter 5 - cPost Tab Pages 5.4.21.3 • SWITCH Switch sequence: • Address parameter block • free text (BLK_SWITCH): This sequence defines the sequence to change some TOOLNO data and is output when the APT command SWITCH is programmed. Available pool variables: C_TLNO_QUADRANT_C new tool quadrant C_TLNO_GAUGE_LEN_X_C new tool gauge length in X C_TLNO_GAUGE_LEN_Y_C new tool gauge length in Y C_TLNO_TIP_RADIUS new tool tip radius Page 234 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 5 - cPost Tab Pages 5.4.22 WIRE SEQUENCES 5.4.22.1 THREAD • Threading sequence: • Address parameter block • free text (BLK_WIRE_THREAD): This sequence defines the threading sequence. It is output when a WIRE/THREAD is programmed. • Cutting sequence: • Address parameter block • free text (BLK_WIRE_CUT): This sequence defines the cutting sequence. It is output when a WIRE/CUT is programmed. 5.4.22.2 • OPTIONS Old handling of CHNGRG (I4_WIRE_OLD_CHNGRG ): This parameter defines how the CHNGRG is managed by cPost. If it is set to OLD handling (1), the next 2 motions after a CHNGRG/PROFILE or POCKET are suppressed and the data of these motions must be managed with a CHNGRG macro. This is the handling of V1R4 pps. In cPost version V1R6 and higher it is possible to do the complete handing in macros. This is the default of the new pps. Attention: This parameter cannot be modified with the macro function CF_SETPARINT. © CENIT AG Systemhaus cPost Documentation V1R6 Page 235 Chapter 5 - cPost Tab Pages 5.4.23 MACROS • Macro definition: • Select macro: First you have to select a macro definition in the pull down menu. If there is no macro defined you have to define one. After that you can add the new defined macro. If you have choosen one of the existing once you can modify them. • Macro name: This defines the name of the macro or the sequence. It must be the same like the APT command in the source file. • Modal switch, Read ahead switch and priorities: This switches work like in any other sequence (see . ##### Baerbel referenz zu tab pages in kap 2???? ###### • Macro or Block This switch defines if the following sequence is handled like a macro or like a sequence. Macros have more functions, but are slower in execution. Both have different command syntaxes. • Free text: Here you can define or change the selected macro or block. For macros you have to use the cPost Macro Language, for sequences you have to use the sequence syntax. • Event switch This defines if the macro has a corresponding event in the products CUT4AXES or FastTRIM. • Free text: This text field defines the event. Only for cenit products available. Page 236 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6 APT-Syntax The program processes a data format with a syntax corresponding to the APT input data format. APT geometrical descriptions are only supported to the extent to which they are generated in the CAD/CAM system (APT commands GOTO, GODLTA and INDIRV). All other APT commands supported by the Post Processor fall into the category of Post Processor commands with which machine functions can be directly addressed (APT commands FEDRAT, SPINDL, RAPID...). The following is a list of the APT commands supported by the program. ANGTWO The APT command ANGTWO is used to choose the other angle solution in MULTAX mode. AUXFUN The APT command AUXFUN is used to output extra machine commands. The command number n and the corresponding address defined in the PP will be generated. BARFED This APT command is only supported by Post Processors for turning tool machines. The APT command BARFED causes an automatic feed of the raw material. BEGIN NURBS The APT command BEGIN NURBS is used to define a NURBS. C_VARDEL The APT command C_VARDEL is used to delete variables in the variable pool. C_VARPUT The APT command C_VARPUT is used to put new variables in the variable pool. CALSUB The APT command CALSUB can be used to call internal (controller) and self-defined subprograms. CHNGRG This APT command is only supported by Post Processors for wire machines. The APT command CHNGRG defines the beginning or end of a contour and the necessary contour data. CIR2PT The APT command CIR2PT is used to define a CIRCLE with a VIA point CLAMP This APT command is only supported by Post Processors for turning tool machines. The APT command CLAMP controls the clamp of a workpiece. CONIC This APT command is only supported by Post Processors for wire machines. The APT command CONIC defines the fixed conic angle of a contour. COOLNT This APT command can be used to activate or deactivate the coolant. © CENIT AG Systemhaus cPost Documentation V1R6 Page 237 Chapter 6 - APT-Syntax CUTCOM The APT command CUTCOM activates/deactivates the tool radius or length compensation. CUTTER The APT statement CUTTER stands for the formal description of the tool used. CYCLE The CYCLE statement describes a machine cycle which is executed with all subsequent GOTO statements. DEFPLN The APT command DEFPLN is used to define some special frames together with the APT command SETPLN. DEFSUB The APT command DEFSUB indicates the start of a subprogram to be terminated with the APT command ENDSUB and called with the APT command CALSUB (See CALSUB and ENDSUB command). DELAY The APT command DELAY controls the path of the tool. DOF_GOTO The APT command DOF_GOTO is used internal to support some MIK features. The syntax is equal to the GOTO syntax. The only difference between a GOTO and a DOF_GOTO is the suppressed ISO output of the DOF_GOTO. DUMP The APT command DUMP creates a list of all pool variables and values at a certain point of the APT program and writes this list in the Post Processor execution report. DWELL The APT command DWELL produces a dwell time of n seconds at the output point in the APT/ NC program. ENDSUB The APT command ENDSUB marks the end of a subprogram. The subprogram is identified by the subprogram number n (see CALSUB and DEFSUB). END NURBS The APT command ENDNURBS marks the end of a NURBS definition (see BEGIN NURBS). FEDRAT The APT statement FEDRAT defines the feed rate for the subsequent tool movements. FINI The APT command FINI marks the end of the APT program and causes the output of the machine command for the end of the NC program. FROM The APT command FROM defines a rapid motion from the defined tool loading point to the starting position. Page 238 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax GODLTA The APT command GODLTA produces relative linear movement of the tool starting from the current position by the values X, Y and Z or along the tool axis (Z). GOHOME The APT command GOHOME produces linear movement of the tool from the current position either to the point defined with the APT command FROM or to the default point given in the Post Processor. GOTO The APT command GOTO produces linear movement of the tool from the current position to the point with the absolute coordinates X, Y and Z. HEIGHT This APT command is only supported by Post Processors for wire machines. The APT command HEIGHT defines the height of the part. IGNORE APT lines between IGNORE / ON and IGNORE / OFF will be ignored by the Post Processor and cause no output in the NC program. INDIRV The APT command INDIRV causes the tool to move in a circular path around the described centre point to an end position defined in the LINE statement. INSERT With the INSERT command any instruction can be inserted into the NC program. LOADTL This APT command either produces a tool change command in the NC program or selects new registers for unchanged tool numbers. MACH_AXIS The APT command MACH_AXIS defines a new axis system. MIKFUN The APT command MIKFUN is used internal to support some MIK features. MODE Milling The APT command MODE has many functions: • • • • • The motion is output incrementally with INCR, ON and in absolute terms with INCR, OFF. As standard, the motion instructions are calculated as absolute values. The options XYPLAN, ZXPLAN and YZPLAN make it possible to switch between the five machining planes. The Post Processor converts the coordinates according to chosen plane. The option POLAR is used to activate or deactivate the polar mode. The option FRAME is used to activate or deactivate the automatic SETPLN (FRAME) support. The option CLAMP is used to define the output of the rotation angles. Turning The APT command MODE has the following functions: • • The motion is output incrementally with INCR, ON and in absolute terms with INCR, OFF. As standard, the motion instructions are calculated as absolute values. The options XYPLAN, ZXPLAN and YZPLAN make it possible to switch between the five machining planes for powered tools. © CENIT AG Systemhaus cPost Documentation V1R6 Page 239 Chapter 6 - APT-Syntax • The option ZXPLAN, L selects the ZX coordinate system of the turning operation. The Post Processor converts the coordinates in line with the chosen plane. MOTION This APT command is only supported by Post Processors for wire machines. The APT command MOTION defines motion with 2 contours instead of a GOTO with a tool vector. MULTAX The APT command MULTAX defines the 5 axis mode. OPSKIP Skippable records which are generated with the appropriate character before the line and with the level number (if level is defined), are skipped by the NC machine tool. ORIGIN cPost supports also programmed (G92) and manual (G54, G55,...) NC origin offsets. The ORIGIN and ORIGIN / MANUAL coordinates are interpreted in CAD measurement unit. The factor is used to convert the values into NC measurement units. Coordinates for ORIGIN / DATUM are in NC measurement unit. OUTPUT The APT command OUTPUT is used to define the NC output handling. PARTNO The APT command PARTNO stands for the designation or NC program number of the part to be manufactured. PITCH The APT command PITCH can be used to program the thread pitch as an alternative to the THREAD command. PPRINT The APT statement PPRINT is used to mark comments in the APT program. PREFUN The APT command PREFUN is used to generate extra motion commands. RAPID If the APT command RAPID is output, the next linear motion of the tool (GOTO, GODLTA) is a rapid motion. REGLTL The APT command REGLTL defines the compensation registers for the actual tool. It is autmaticly generated from the LOADTL by cPost. RETURN RETURN activates (ON) or deactivates (OFF) the rear side treatment of a movement component. REWIND The APT command REWIND effects repetition of part of a program. Page 240 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax SAFETY The APT command SAFETY defines the safety plane. SELCTL This APT command preselects the tool with the appropriate tool number. SEQNO The APT command SEQNO defines the record numbering in the NC program. SETANG The APT command SETANG is used to modify the angle output in MULTAX mode. SETPLN The APT command SETPLN is used to define new frames in MULTAX mode. SPINDL The APT command SPINDL is used either to establish the spindle speed (minor word RPM) or the constant cutting rate (minor word SFM) and the direction of rotation of the machining spindle or to deactivate the spindle. STOP The APT command STOP causes the output of a program stop command. SWITCH This APT command is only supported by Post Processors for turning tool machines. The APT command SWITCH defines a new reference point for the current tool and changes consequently the referred point of the edge position. TAG The APT command TAG is a motion command like a 5 axis GOTO with an additional vector for the orientation of the tool (6 axis). This command is generetad by FasTRIM. THREAD The APT command THREAD results in output of the thread cutting command for turning and facing rates. TLAXIS The APT command TLAXIS describes the working plane by the vector perpendicular to this plane (i.e. tool axis vector). TOOLNO The APT command TOOLNO replaces the APT command CUTTER and stands for the description of the tool used. TPRINT The statement TPRINT is used to mark comments following TOOLNO statement in the APT program. WIRE This APT command is only supported by Post Processors for wire machines. The APT command WIRE is used to cut or thread the wire. © CENIT AG Systemhaus cPost Documentation V1R6 Page 241 Chapter 6 - APT-Syntax 6.1 ANGTWO Description The APT command ANGTWO is used to choose the other angle solution in MULTAX mode. cPost calculates for each tool vector the possible angles and choose the solution in dependence of its 5 axis parameters. If cPost must output the other solution in some special cases, the ANGTWO command must be programmed before this motion. This command has no output. Syntax ANGTWO Example APT: GOTO/100,100,100,0,1,0 ANGTWO GOTO/110,100,100,0,1,0 NC: N100 G1 X100 Y100 Z100 A90 C0 N110 G1 X110 Y100 Z100 A-90 C180 cPost calculates the angle solutions A90 C0 and A-90 C180 for the tool vector (0,0,1). If ANGTWO is not programmed, cPost choose the first angle solution for output. If ANGTWO is programmed, cPost must not use the first solution. In this case the second angle solution is output. Page 242 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.2 AUXFUN Description The APT command AUXFUN is used to output extra machine commands. The command number n and the corresponding address defined in the PP will be generated. Syntax AUXFUN / n AUXFUN / n, LAST NOW NEXT where n = Number of machine command: Mn LAST = Output in last NC record NOW = Output as separate NC record NEXT = Output in next NC record Example APT: AUXFUN / 18 NC: N100 M18 © CENIT AG Systemhaus cPost Documentation V1R6 Page 243 Chapter 6 - APT-Syntax 6.3 BARFED Description This APT command is only supported by Post Processors for turning tool machines. The APT command BARFED causes an automatic feed of the raw material. BARFED is used in combination with the command CLAMP. Note The values are given in the CAD length measurement unit. The values are not converted into NC measurement unit, except for a manual conversion in the NC block definition. Syntax BARFED/spnr, offset, dm, l, ON OFF where spnr = Spindle number offset = Value of origin offset dm = Diameter of raw material l = Length of raw material ON = Feed occurs through the bar OFF = Feed does not occur through the bar but through the clamps Page 244 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.4 BEGIN NURBS 6.4.1 Standard 3X Description The description of the format for a NURBS definition generated by CATMFG is as follows: • a starting statement BEGIN NURBS (DEG=n, FED=feed, AXIS=i, j, k) where • n = degree of the NURBS (degree means Order-1) feed = feedrate value used for the NURBS (in model units per minute) i, j, k = components of the tool axis the poles description, with each pole description written on one line Ni, X=x(i), Y=y(i), Z=z(i), DK =dk(i), W=w(i) where • i = pole number (from 0 to NumberOfPole-1) x, y, z = coordinates of the pole dk = increment of nodal parameter for the pole w = pole weight an end statement, which ends the pols list END NURBS Example BEGIN NURBS (DEG=3, FED=100.000000, AXIS=0.000000, 0.000000, 1.000000); N0, X=2.000100, Y=-8.000000, Z=10.000000, DK=0.000000, W=1.000000; N1, X=2.000100, Y=-8.004114, Z=8.397441, DK=4.803634, W=1.000000; N2, X=2.000100, Y=-7.418269, Z=6.033400, DK=2.298425, W=1.000000; N3, X=2.000100, Y=-5.631417, Z=3.396245, DK=2.388862, W=1.000000; N4, X=2.000100, Y=-3.899125, Z=1.811367, DK=2.304729, W=1.000000; N5, X=2.000100, Y=-1.374083, Z=0.411191, DK=3.908731, W=1.000000; N6, X=2.000100, Y=0.696544, Z=-0.001405, DK=0.000000, W=1.000000; N7, X=2.000100, Y=2.000000, Z=0.000000, DK=0.000000, W=1.000000; END NURBS; © CENIT AG Systemhaus cPost Documentation V1R6 Page 245 Chapter 6 - APT-Syntax 6.4.2 SIEMENS MULTAX NURBS Description The description of the format for a SIEMENS MULTAX NURBS is as follows: • a starting statement BEGIN NURBS_SIEMENS (D=n, F=feed, AXIS=VAR, LENGTH=length) where n • = degree of the NURBS (degree means Order-1) feed = feedrate value used for the NURBS (in model units per minute) VAR = specifies a multax NURBS length = length of the vector the poles description, with each pole description written on two line Ni, XT=xt(i), YT=yt(i), ZT=zt(i) $ XH=xh(i), YH=yh(i), ZH=zh(i), DK =dk(i), W=w(i) where • i = pole number (from 0 to NumberOfPole-1) xt, yt, zt = lower coordinates of the pole xh, yh, zh = upper coordinates of the pole dk = increment of nodal parameter for the pole w = pole weight an end statement, which ends the pols list END NURBS Example BEGIN NURBS_SIEMENS (D=3,F=1000.000000,AXIS=VAR,LENGTH=10.000000); N0,XT=32.387221,YT=4.998636,ZT=44.323820, $ XH=41.671988,YH=4.998636,ZH=48.037726, DK=0.000000,W=1.0000; N1,XT=32.793566,YT=5.037345,ZT=43.306033, $ XH=42.078333,YH=5.037344,ZH=47.019940, DK=0.000000,W=1.0000; N2,XT=33.505689,YT=4.423307,ZT=41.482876, $ XH=42.790456,YH=4.423307,ZH=45.196783, DK=3.283413,W=1.0000; N3,XT=33.946794,YT=2.866154,ZT=40.290832, $ XH=43.231561,YH=2.866154,ZH=44.004739, DK=2.546939,W=1.0000; N4,XT=34.061302,YT=2.091235,ZT=39.961529, $ XH=43.346069,YH=2.091235,ZH=43.675436, DK=0.000000,W=1.0000; END NURBS; Page 246 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.5 C_VARDEL Description The APT command C_VARDEL is used to delete variables in the variable pool. This command has no output. Syntax C_VARDEL / name where name = Variable name Example APT: C_VARDEL / DMF_ApproachAngle © CENIT AG Systemhaus cPost Documentation V1R6 Page 247 Chapter 6 - APT-Syntax 6.6 C_VARPUT Description The APT command C_VARPUT is used to put variables in the variable pool. This command has no output. Syntax C_VARPUT / name, I4 R8 STRING ,value where name = Variable name I4 = Variable type is Integer R8 = Variable type is Real STRING = Variable type is String value = Variable value Example APT: C_VARPUT / DMF_ApproachAngle, R8, 90 C_VARPUT / DMF_RetractAngle, R8, 80 New pool variables: DMF_ApproachAngle = 90.0 DMF_RectractAngle = 80.0 Page 248 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.7 CALSUB Description The APT command CALSUB can be used to call controller internal and self-defined subprograms. Self-defined subprograms must be defined in the same APT program with the APT commands DEFSUB and ENDSUB. They are called with the APT command CALSUB. Internal subprograms of the controller are called with the minor word EXTERN. The subprogram number refers to the respective subprogram. In this case a definition with DEFSUB and ENDSUB is not required. Syntax CALSUB / n1 CALSUB / n1, n2[, n3 [, n4 [..., n10]]] CALSUB / EXTERN, n1 CALSUB / EXTERN, n1, n2[, n3 [, n4 [..., n10]]] where EXTERN = Subprogram as separate NC program n1 = Subprogram number n2 = Repetition factor n3...n10 = Further parameters for subprogram calls Example Structure of an APT including self-defined subprograms: DEFSUB / 99 MODE / INCR, ON MODE / INCR, OFF ENDSUB / 99 CALSUB / 99, 3 FINI Note: You can use the variables of the table below in NC Blocks, macros and in execution report macros. Variable Type Description n1 C_SUB_PROG_ID Num Subprogram number n2 C_SUB_NB_OF_REP Num subprogram repetition n3...n10 C_SUB_CALLING_PAR N/T Additional subprogram call parameter © CENIT AG Systemhaus cPost Documentation V1R6 Page 249 Chapter 6 - APT-Syntax 6.8 CHNGRG Description The APT command CHNGRG is generated by CUT4AXES. If the first parameter is POCKET or PROFILE, it defines the beginning of a wire contour and all its parameters like registers and so on. If the first parameter is OFF, it defines the end of a contour. cPost will also calculate the dummy motion after a CHNGRG/OFF fro the Agie100/123 controller. Syntax CHNGRG / OFF CHNGRG/ POCKET , 2X [, n1, n2, n3,.... ] PROFILE 4X where POCKET or PROFILE=Type of cut 2X or 4X = Subprogram number n1, n2, n3,... =Additional contour parameters Example CHNGRG / POCKET, 2X, -1 GOTO/..... GOTO/..... CHNGRG/OFF GOTO/..... FINI Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description all arguments C_CHNGRG_VARGC Num Number or variables all arguments C_CHNGRG_VARG$[] Text All variables as string all arguments C_CHNGRG_VARGR[] Num All variables as real numbers OFF C_CHNGRG_DUM_X_POS Num Dummy motion X (Agie 100) OFF C_CHNGRG_DUM_Y_POS Num Dummy motion Y (Agie 100) OFF C_CHNGRG_DUM_Z_POS Num Dummy motion Z (Agie 100) Example for pool variables: CHNGRG / POCKET, 2X, -1 results in the following pool variables: Page 250 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax Variable Type Value C_CHNGRG_VARGC Num 3 C_CHNGRG_VARG$[1] Text “POCKET” C_CHNGRG_VARGR[1] Num 0.0 C_CHNGRG_VARG$[2] Text “2X” C_CHNGRG_VARGR[2] Num 2.0 C_CHNGRG_VARG$[3] Text “-1” C_CHNGRG_VARGR[3] Num -1.0 © CENIT AG Systemhaus cPost Documentation V1R6 Page 251 Chapter 6 - APT-Syntax 6.9 CIR2PT Description The APT command CIR2PT is generated by FasTRIM to support circle definitions with a via point. The first GOTO after the CIR2PT defines the viapoint of the circle. The circle endpoint is defined by the second GOTO. These 3 APT commands are output as the CIR2PT (BLK_CIRCLE_TWO_POINTS) sequence. The 2 GOTOs have no separat output. Syntax CIR2PT GOTO / x, y, z [, i, j, k] GOTO / x, y, z [, i, j, k] Example CIR2PT/ GOTO / 32.45768, -229.09303, -12.54115,-0.699341, 0.713936, 0.034899 GOTO / 36.95793, -218.68721, -12.56232,-0.999178, 0.020641, 0.034899 You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description C_AXIS_X_NXT_VIA Num ISO X coordinate of the viapoint C_AXIS_Y_NXT_VIA Num ISO Y coordinate of the viapoint C_AXIS_Z_NXT_VIA Num ISO Z coordinate of the viapoint C_AXIS_A_NXT_VIA Num ISO A coordinate of the viapoint C_AXIS_B_NXT_VIA Num ISO B coordinate of the viapoint C_AXIS_C_NXT_VIA Num ISO C coordinate of the viapoint C_AXIS_X_NXT_POS Num ISO Y coordinate of the endpoint C_AXIS_Y_NXT_POS Num ISO Z coordinate of the endpoint C_AXIS_Z_NXT_POS Num ISO X coordinate of the endpoint C_AXIS_A_NXT_POS Num ISO X coordinate of the endpoint C_AXIS_B_NXT_POS Num ISO Y coordinate of the endpoint C_AXIS_C_NXT_POS Num ISO Z coordinate of the endpoint Page 252 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.10 CLAMP Description The APT command CLAMP controls the clamp of a workpiece. CLAMP is used in combination with BARFED. This APT command is only supported by Post Processors for turning tool machines. Syntax CLAMP/ ON OFF where ON = Clamp activated OFF = Clamp deactivated © CENIT AG Systemhaus cPost Documentation V1R6 Page 253 Chapter 6 - APT-Syntax 6.11 CONIC Description The APT command CONIC defines a fixed conic angle of a contour for wire machines. The command has no separat output. The definition is only put in the variable pool. Syntax CONIC / a CONIC/ OFF where a = Conic angle Example WIRE / THREAD CONIC/5 CUTCOM/LEFT CHNGRG/PROFILE,2X,-1 GOTO/ .... Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. a Page 254 Variable Type Description C_CONIC_ANGLE_CUR Num Conic angle C_CONIC_PROG Num Conic flag 1: conic is programmed (a defined) 0: no conic is programmed (OFF) © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.12 COOLNT Description The minor word ON activates the coolant supply. OFF deactivates the coolant with the corresponding machine command in the NC program. The minor words FLOOD, MIST, THRU and TAP permit specific activation/deactivation of a particular coolant supply. Syntax COOLNT/ ON OFF COOLNT/ FLOOD MIST ON , THRU OFF TAP where ON = Coolant on OFF = Coolant off FLOOD = Flood coolant MIST = Mixed coolant THRU = Internal tool coolant TAP = Tap coolant Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description C_COOLNT_COM Text Current COOLNT command C_COOLNT_TYPE Text Current COOLNT type (APT) for no type, value=”DEFAULT” C_COOLNT_STAT Text Current COOLNT status (APT): ON or OFF © CENIT AG Systemhaus cPost Documentation V1R6 Page 255 Chapter 6 - APT-Syntax 6.13 CUTCOM Description The APT command CUTCOM activates/deactivates the tool compensation. There are the following compensation modes: - tool length compensation - tool radius compensation - tool compensation along a vector normal to the drive surface, in contact with the flank of the tool - tool compensation along a vector normal to the part surface, in contact with the end of the tool The actual registers for length and radius compensation are defined in the LOADTL or REGLTL command. If the compensation along a vector, CATIA output more cutting information in the GOTO command which is output by cPost. This is only available with CATIA V5R12 or higher. 6.13.1 Length Compensation: Syntax CUTCOM/ PARX PARY PARZ , POS [ ,lcr ] NEG where lcr = length correction register Syntax Meaning CUTCOM / PARX, POS, lcr Positive X-axis correction with the listed length compensation register. CUTCOM / PARY, NEG, lcr Negative Y-axis correction with the listed length compensation register. CUTCOM / PARZ, NEG Negative Z-axis correction. The missing length correction register will be taken from the current LOADTL or the last CUTCOM command. CUTCOM / PARZ Positive (default) Z-axis correction. The missing length correction register will be taken from the current LOADTL or the last CUTCOM command. Page 256 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.13.2 Radius Compensation: There is the possibility to output the tip or the profile point from CATIA. For this cPost offers no contour recalculation. Syntax CUTCOM/ RIGHT LEFT OFF Syntax Meaning CUTCOM / RIGHT Switch on cutter compensation right CUTCOM / LEFT Switch on cutter compensation left CUTCOM / OFF Switch off cutter compensation Example: PLANAR_PROFILE (MULTAX OFF): $$ Start generation of : Profile Contouring.1 FEDRAT/ 1000.0000,MMPM SPINDL/ 70.0000,RPM,CLW CUTCOM/LEFT $$ START CUTCOM PLANAR XP, YP, ZP GOTO / 100.00000, -115.00000, 10.00000 GOTO / 0.00000, -115.00000, 10.00000 CUTCOM/OFF $$ END CUTCOM PLANAR XP, YP, ZP $$ End of generation of : Profile Contouring.1 PLANAR_TIP (MULTAX OFF) $$ Start generation of : Profile Contouring.1 FEDRAT/ 1000.0000,MMPM SPINDL/ 70.0000,RPM,CLW CUTCOM/LEFT $$ START CUTCOM PLANAR XT, YT, ZT GOTO / 100.00000, -125.00000, 10.00000 GOTO / 0.00000, -125.00000, 10.00000 CUTCOM/OFF $$ END CUTCOM PLANAR XT, YT, ZT $$ End of generation of : Profile Contouring. © CENIT AG Systemhaus cPost Documentation V1R6 Page 257 Chapter 6 - APT-Syntax 6.13.3 Tool Compensation along a Vector normal to Drive Surface: There is the possibility to output the tip or the profile point from CATIA. For this cPost offers no contour recalculation. Syntax CUTCOM/ NORMDS OFF Syntax Meaning CUTCOM / NORMDS Switch on this compensation CUTCOM / OFF Switch off this compensation Example: NORMDS_TIP (MULTAX ON) $$ Start generation of : Multi Axis Flank Contouring.1 FEDRAT/ 1000.0000,MMPM SPINDL/ 70.0000,RPM,CLW CUTCOM/NORMDS $$ START CUTCOM NORMDS XT,YT,ZT,I,J,K,P,Q,R GOTO / 100.00000, -125.00000, 10.00000, 0.000000, 0.000000, 1.000000, $ 0.000000, 1.0000000, 0.000000 GOTO / 0.00000, -125.00000, 10.00000 0.000000, 0.000000, 1.000000, $ 0.000000, 1.0000000, 0.000000 CUTCOM/OFF $$ END CUTCOM NORMDS XT,YT,ZT,I,J,K,P,Q,R $$ End of generation of : Multi Axis Flank Contouring.1 NORMDS_TIP (MULTAX OFF) $$ Start generation of : Multi Axis Flank Contouring.1 FEDRAT/ 1000.0000,MMPM SPINDL/ 70.0000,RPM,CLW CUTCOM/NORMDS $$ START CUTCOM NORMDS XT,YT,ZT,P,Q,R GOTO / 100.00000, -125.00000, 10.00000, 0.000000, 1.000000, 0.000000 GOTO / 0.00000, -125.00000, 10.00000, 0.000000, 1.000000, 0.000000 CUTCOM/OFF $$ END CUTCOM NORMDS XT,YT,ZT,P,Q,R $$ End of generation of : Multi Axis Flank Contouring.1 Page 258 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.13.4 Tool Compensation along a Vector normal to Part Surface: There is the possibility to output the tip or the contact point from CATIA. Syntax CUTCOM/ NORMPS OFF Syntax Meaning CUTCOM / NORMPS Switch on this compensation CUTCOM / OFF Switch off this compensation NORMPS_TIP (MULTAX OFF) CUTCOM/NORMPS $$ START CUTCOM NORMPS XT,YT,ZT,XC,YC,ZC,XN,YN,ZN ../.. CUTCOM/OFF $$ END CUTCOM NORMPS XT,YT,ZT,XC,YC,ZC,XN,YN,ZN NORMPS_TIP (MULTAX ON) CUTCOM/NORMPS $$ START CUTCOM NORMPS XT,YT,ZT,I,J,K,XC,YC,ZC,XN,YN,ZN ../.. CUTCOM/OFF $$ END CUTCOM NORMPS XT,YT,ZT,I,J,K,XC,YC,ZC,XN,YN,ZN NORMPS_CONTACT (MULTAX OFF) CUTCOM/NORMPS $$ START CUTCOM NORMPS XC,YC,ZC,XN,YN,ZN ../.. CUTCOM/OFF $$ END CUTCOM NORMPS XC,YC,ZC,XN,YN,ZN NORMPS_CONTACT (MULTAX ON) CUTCOM/NORMPS $$ START CUTCOM NORMPS XC,YC,ZC,XN,YN,ZN,I,J,K ../.. CUTCOM/OFF $$ END CUTCOM NORMPS XC,YC,ZC,XN,YN,ZN,I,J,K © CENIT AG Systemhaus cPost Documentation V1R6 Page 259 Chapter 6 - APT-Syntax 6.13.5 General Note: You can use the variables of the table below in NC sequences, macros. Page 260 Variable Type Description C_CUTCOM_VARG$[] Text Parameter of actual C_CUTCOM command as text variables C_CUTCOM_VARGR[] Num Parameter of actual C_CUTCOM command as real variables C_CUTCOM_VARGC Num Number of C_CUTCOM_VARG* variables C_TL_LEN_COMP_COM Text Current tool length compensation command © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.14 CUTTER Description The APT statement CUTTER stands for the formal description of the tool used. This is employed in the Post Processor if no TOOLNO is programmed. The values (length measurement) are given in the measurement unit of the machine tool as default. 6.14.1 Milling and powered tools Syntax CUTTER / tld, tlel CUTTER / tld, tlr, dcc, dct, act, ac, tlel where tld = Cutter diameter at tip tlr = Cutter radius dcc = Horizontal distance between radius centre point and centre of cutter dct = Vertical distance between radius centre point and cutter tip act = Angle of cutter tip ac = Angle of cutter tlel = Length of cutter ac tlel dcc tlr dct act tld © CENIT AG Systemhaus cPost Documentation V1R6 Page 261 Chapter 6 - APT-Syntax ac tlel dcc tlr dct act tld General cutter definition and its parameters (positive ac angle) 6.14.2 Turning Syntax CUTTER / d where d = diameter of cutter nose Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description tld C_TLNO_DIAMETER Num Tool diameter tlr C_TLNO_TL_RAD Num Tool radius dcc C_TLNO_EFFEC_LEN Num Tool effective length Page 262 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.15 CYCLE Description The CYCLE statement describes a machine cycle which is executed with all subsequent GOTO statements. The command CYCLE/ON calls the last machine cycle again. The command CYCLE/OFF ends the cycle. cPost supports the following cycles by default: BORE, BRKCHP, CSINK, DEEPHL, DRILL, REAM and TAP. The customer can also define his own cycles. The first parameter of the CYCLE command defines the cycle type. All other parameters are free. But these cycles are not support by the internal cPost time calculation. Syntax Drilling, Boring, Taping and countersinking: CYCLE / BORE CSINK DRILL REAM TAP , tdp, cl CYCLE / BORE CSINK DRILL REAM TAP , tdp, cl, sdp, dw, zav, fr, ss, ON OFF Deep hole drilling and Drilling with chip breaking: BRKCHP DEEPHL CYCLE / , tdp, cl, pdp, ddp, lcl CYCLE / BRKCHP , tdp, cl, sdp, dw, zav, fr, ss, ON , pdp, ddp, lcl DEEPHL OFF Others: CYCLE / ON OFF CYCLE/ usertype, user parameter.... where CSINK Countersink cycle DRILL Drilling cycle TAP Tapping BORE Boring REAM Reaming DEEPHL Deep hole drilling © CENIT AG Systemhaus cPost Documentation V1R6 Page 263 Chapter 6 - APT-Syntax BRKCHP Drilling with chip breaking OFF Cycle off ON Output of last cycle definition tdp = Total drill depth cl = Safety clearance sdp = Special drill depth of infeed dw = Dwell time zav = Retraction plane fr = Feed rate in mm/min ss = Spindle speed ON/OFF = Coolant on/off pdp = Plunge-in drilling depth (chip breaking, deep hole) ddp = Decrement depth value (chip breaking,deep hole) lcl = Lift-off clearance (chip breaking, deep hole) Note A maximum of 35 cycles can be defined. The factor between APT and NC measurement unit will always be multiplied with the length. All cycle parameters are available with the pool variables C_VARGR(), C_VARG$() and C_VARGC. Example: CYCLE/ DRILL, 12,5 with C_VARGC=2 C_VARG$(1)=’12’ C_VARG$(2)=’5’ C_VARGR(1)=12.0 C_VARGR(2)=5.0 Page 264 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.16 DEFPLN Description This APT command is used together with SETPLN to define a new frame. This frame can be defined in the APT file and all following coordiantes are transformed in this new frame. This command is used to support such features like the CYCLE 19 or G80 on Heidenhain controllers, the G7 on Millplus or the ROT on Siemens 840D. Syntax DEFPLN / Zx, Zy, Zz [ , Xx, Xy, Xz [ , Yx, Yy, Yz ] ] where Zx = X coordinate of new Z axis Zy = Y coordinate of new Z axis Zz = Z coordinate of new Z axis Xx = X coordinate of new X axis Xy = Y coordinate of new X axis Xz = Z coordinate of new X axis Yx = X coordinate of new Y axis Yy = Y coordinate of new Y axis Yz = Z coordinate of new Y axis Example APT: GOTO / 0, 0, 100, 0, 0, 1 DEFPLN / 0, 0.7, 0.7 SETPLN / ON GOTO / 100, 100, 100, 0, 0.7, 0.7 GOTO / 100, 100, 200, 0, 0.7, 0.7 ..... © CENIT AG Systemhaus cPost Documentation V1R6 Page 265 Chapter 6 - APT-Syntax 6.17 DEFSUB Description The APT command DEFSUB indicates the start of a subprogram to be finished with the APT command ENDSUB and called with the APT command CALSUB (See CALSUB and ENDSUB command). The subprogram numbers identify the individual subprograms. Syntax DEFSUB / n where n = Subprogram number Example Structure of an APT including self-defined subprograms: DEFSUB / 99 MODE / INCR, ON MODE / INCR, OFF ENDSUB / 99 CALSUB / 99, 3 FINI Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. n Page 266 Variable Type Description C_SUB_PROG_ID Num Subprogram number © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.18 DELAY Description The APT command DELAY controls the path of the tool. DELAY without minor words effects exact positioning during subsequent motion, that means the end position is precisely approached. So that the two motion commands can be execute separately. For example to produce a stiffening angle without a corner. If DELAY is programmed with the minor word ON, exact positioning is activated for all APT lines until DELAY/OFF. Syntax DELAY DELAY/ ON OFF Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. on/ off Variable Type Description C_DELAY_ACTIVE Num Flag for DELAY (1:active; 0:not active) © CENIT AG Systemhaus cPost Documentation V1R6 Page 267 Chapter 6 - APT-Syntax 6.19 DUMP Description The APT command DUMP creates a list of all pool variables and values at a certain point of the APT program and writes this list in the execution report. DUMP is helpful for the development of Post Processor definitions of new machine tools. The developer is now able to check the value of a certain block variable, he wants to use in a new NC block definition. Syntax DUMP Example Pool: “TEST” : TEXT : C_APT_PARAM[0] =>CYCLE< TEXT : C_APT_PARAM[1] =>DRILL< TEXT : C_APT_PARAM[2] =>12< TEXT : C_APT_PARAM[3] =>4< TEXT : C_APT_PARAM[4] =>0< TEXT : C_APT_PARAM[5] =>0< : Real : C_AXIS_X_NXT_APT_POS =5.000000 Real : C_AXIS_X_NXT_POS =5.000000 : Integer: C_CONIC_PROG =0 Integer: C_DELAY_ACTIVE =0 : Text : C_VARG$[0] =>LOADTL< Text : C_VARG$[10]=>12< !!! Text : C_VARG$[11]=>0< !!! Text : C_VARG$[1] =>12< Text : C_VARG$[2] =>4< Text : C_VARG$[3] =>0< !!! Text : C_VARG$[4] =>0< !!! Text : C_VARG$[5] =>15< !!! Text : C_VARG$[6] =>.1< !!! Text : C_VARG$[7] =>25< !!! Text : C_VARG$[8] =>ON< !!! Text : C_VARG$[9] =>20< !!! : deleted deleted deleted deleted deleted deleted deleted deleted deleted Note: deleted means not longer available. Page 268 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.20 DWELL Description The APT command DWELL produces a dwell time of n seconds at the output point in the APT/ NC program. If the controller requires the dwell time in a different unit, the dwell time factor must be defined. Syntax DWELL / n where n © CENIT AG Systemhaus cPost Documentation V1R6 = Dwell time of n seconds Page 269 Chapter 6 - APT-Syntax 6.21 END NURBS Description The APT command ENDNURBS marks the end of a NURBS definition (see BEGIN NURBS). Syntax END NURBS Page 270 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.22 ENDSUB Description The APT command ENDSUB marks the end of a subprogram. The subprogram is identified by the subprogram number n (see CALSUB and DEFSUB). Syntax ENDSUB/n where n = Subprogram number Example Structure of an APT including self-defined subprograms: DEFSUB / 99 MODE / INCR, ON MODE / INCR, OFF ENDSUB / 99 CALSUB / 99, 3 FINI Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. n Variable Type Description C_SUB_PROG_ID Num Subprogram number © CENIT AG Systemhaus cPost Documentation V1R6 Page 271 Chapter 6 - APT-Syntax 6.23 FEDRAT Description The APT statement FEDRAT defines the feed rate for the subsequent tool movements. The feed rate is converted to the units defined for the machine tool, compared to the limit values and entered in the NC program. Feed rate commands with a feed rate of 0.0 are ignored. Syntax FEDRAT / fr, unit FEDRAT / MODIFY, fr, unit where fr = Feed rate MODIFY = Modification of feed rate for exactly one motion unit = Length measurement unit of the CAD model (see table below). Note This NC information is generally linked to a motion command (GOTO, GODLTA). The following values may be used to specify the unit: Value Meaning MMPM Feed rate programmed in mm/min. MMPR Feed rate programmed in mm/revolution IPM Feed rate programmed in inch/min. IPR Feed rate programmed in inch/revolution The factor between APT and NC measurement unit will always be multiplied with the feedrate values. You can use the variables of the table below in NC Blocks, macros and in execution report macros. Variable Type Description fr C_FEED_VALUE Num feed rate unit C_FEED_UNIT Text Current feedrate unit (MMPM, MMPR, IPM, IPR) C_FEED_UNIT_COM Text Current feedrate unit command Page 272 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.24 FINI Description The APT commandAPT command FINI marks the end of the APT program and causes the output of the machine command for the end of the NC program. Syntax FINI Note If defined, the command for program end and the end block with and without record numbering will be generated in the NC program. A FINI is automatically appended, if missing. © CENIT AG Systemhaus cPost Documentation V1R6 Page 273 Chapter 6 - APT-Syntax 6.25 FROM Description The APT command FROM defines a rapid motion from the defined tool loading point to the starting position. Syntax FROM/ x, y, z [, i, j, k] You can use the variables of the table below in NC Blocks, macros and in execution report macros. Variable Type Description x C_AXIS_X_FROM Num X-coordinate y C_AXIS_Y_FROM Num Y-coordinate z C_AXIS_Z_FROM Num Z-coordinate i C_AXIS_TLVEC_X_FROM Num Tool vector X-coordinate (MULTAX) j C_AXIS_TLVEC_Y_FROM Num Tool vector Y-coordinate (MULTAX) k C_AXIS_TLVEC_Z_FROM Num Tool vector Z-coordinate (MULTAX) Note The coordiantes of the FROM command are also used if a GOHOME command without coordinate is programmed (see GOHOME for an example). The factor between APT and NC measurement unit will always be multiplied with the coordinates. Page 274 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.26 GODLTA Description The APT command GODLTA produces relative linear movement of the tool starting from the current position by the values X, Y and Z or along the tool axis (Z). Syntax GODLTA / x, y, z GODLTA / z © CENIT AG Systemhaus cPost Documentation V1R6 Page 275 Chapter 6 - APT-Syntax 6.27 GOHOME Description The APT command GOHOME produces linear movement of the tool from the current position either to the point defined with the APT command FROM or to the default point given in the Post Processor. The output coordiantes are indicated with the minor words XAXIS, YAXIS and ZAXIS. If individual coordinates of this point shall be overwritten for the current retraction movement, these can be stated after the corresponding minor word for the axis. The factor between APT and NC measurement unit will always be multiplied with the coordinates. Syntax GOHOME/ [XAXIS[,x]] [, YAXIS [,y]] [, ZAXIS [,z]] Example APT: FROM / 18, 16, 30 GOHOME / YAXIS GOHOME / XAXIS, YAXIS, 40, ZAXIS GOHOME NC: N100 G00 Y16 N200 G00 X18 Y40 Z30 N200 G00 X18 Y16 Z30 Page 276 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.28 GOTO Description The APT command GOTO produces linear movement of the tool from the current position to the point with the absolute coordinates X, Y and Z. There is some additional information in some special modes: Mode Additional Information MULTAX Tool vector CUTCOM/NORMDS Vector normal to drive surface CUTCOM/NORMPS Vector normal to part surface and contact point Syntax GOTO / x, y, z [, i, j, k] GOTO / x, y, z, [, i, j, k] [, p, q, r] in CUTCOM/NORMDS mode GOTO / x, y, z, [, i, j, k] [, xc, yc, zc] [, xn, yn, zn] in CUTCOM/NORMPS mode where x, y, z = Coordinates of the target point (tip or profile - depends on CATIA V5 i, j, k = Components of tool axis vector (only when MULTAX is active) p, q, r = Components of compensation vector normal to drive surface options) (only when CUTCOM/NORMDS is active) xc, yc, zc = Contact point (only when CUTCOM/NORMPS is active) xn, yn, zv = Components of compensation vector normal to part surface (only when CUTCOM/NORMPS is active) Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description x C_AXIS_X_NXT_POS Num Next position X y C_AXIS_Y_NXT_POS Num Next position Y z C_AXIS_Z_NXT_POS Num Next position Z i C_AXIS_TLVEC_X_NXT Num Next Tool vector in X j C_AXIS_TLVEC_Y_NXT Num Next Tool vector in Y k C_AXIS_TLVEC_Z_NXT Num Next Tool vector in Z © CENIT AG Systemhaus cPost Documentation V1R6 Page 277 Chapter 6 - APT-Syntax 6.29 IGNORE Description APT lines between IGNORE / ON and IGNORE / OFF will be ignored by the Post Processor and are not output in the NC program. Syntax IGNORE / ON OFF Page 278 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.30 INDIRV Description The APT command INDIRV causes the tool to move in a circular path around the described centre point to an end position defined in the LINE statement. The direction of movement at the start of the circular interpolation is described with a normed vector (vector with the length of 1), which is tangent to the starting point. The X, Y and Z components of this vector are generated in the INDIRV statement. Syntax Possible circle syntax: INDIRV / vx, vy, vz TLON,GOFWD (CIRCLE / xcp, ycp, zcp, $ radius), ON, (LINE / xcp, ycp, zcp, $ xep, yep, zep) or INDIRV / vx, vy, vz TLON,GOFWD (CIRCLE / xcp, ycp, zcp, $ radius), ON, 2,INTOF, $ (LINE / xcp, ycp, zcp, $ xep, yep, zep) Possible cylndr syntax: INDIRV / vx, vy, vz TLON,GOFWD (CYLNDR / xcp, ycp, zcp, $ vtx, vty, vtz, radius), ON, $ (PLANE/PERPTO,$ (PLANE / (POINT / xcp, ycp, zcp), PERPTO, $ (VECTOR / vpx, vpy, vpz)), $ (POINT (xcp, ycp, zcp), $ (POINT / xep, yep, zep)) or INDIRV / vx, vy, vz TLON,GOFWD (CYLNDR / xcp, ycp, zcp, $ vtx, vty, vtz, radius), ON,2,INTOF, $ (PLANE/PERPTO,$ (PLANE / (POINT / xcp, ycp, zcp), PERPTO, $ (VECTOR / vpx, vpy, vpz)), $ (POINT (xcp, ycp, zcp), $ (POINT / xep, yep, zep)) where vx, vy, vz = Direction vector components of the movement vpx, vpy, vpz = Direction vector components perpendicular to plane © CENIT AG Systemhaus cPost Documentation V1R6 Page 279 Chapter 6 - APT-Syntax vtx, vty, vtz = Direction vector components of tool axis xcp, ycp, zcp = Centre point components xep, yep, zep = End point components radius Radius of circular movement of tool tip = Example GOTO /... INDIRV/.00000, 1.00000,.00000 TLON,GOFWD/ (CIRCLE/.00000, 35.925, 17.05000,$ .07500),ON,(LINE/.00000, 35.92500, 17.05000,$ -.07500, 35.92500, 17.05000) GOTO... Page 280 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.31 INSERT Description With the INSERT command any instruction can be inserted into the NC program. This APT command is used to insert NC commands which are not supported by the Post Processor into the NC program. Syntax INSERT / NC line Note The syntax is not checked and is transferred analogously to the NC program. If frequent use is made of this feature, the APT file loses its neutrality concerning the type of NC machine tool used. © CENIT AG Systemhaus cPost Documentation V1R6 Page 281 Chapter 6 - APT-Syntax 6.32 LOADTL Description This APT command either produces a tool change command in the NC program or selects new registers for unchanged tool numbers. If the compensation register is omitted or if OFF is entered, the output of the compensation register is suppressed in the NC program. Syntax LOADTL / tlno [, OFF [, OFF]] LOADTL / tlno, NOTE LOADTL / tlno, lcr [, OFF] LOADTL / tlno, lcr, NOTE LOADTL / tlno, lcr, rcr LOADTL / tlno, lcr, rcr, NOTE where tlno = Tool number lcr = Length compensation register rcr = Radius compensation register NOTE = PPRINT output following tool call OFF = No output of compensation register Note: A LOADTL command causes the CATIA Post Processor to generate the tool change command sequence from the PP block definition into the NC program. If a length compensation register has been defined, tool change is automatically followed by the output of compensation in the tool axis direction. You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description tlno C_TLNO_TL_NUMBER[] Num Tool number (TOOLNO) lcr C_TL_LEN_COMP_REG Num Current tool length compensation register rcr C_TL_RAD_COMP_REG NUM Current radius compensation register programmed in APT tlno C_TL_CUR_TLID Num Current tool number C_TL_PREV_TLID Num Previous tool number (LOADTL) Page 282 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.33 MACH_AXIS Description The APT command MACH_AXIS defines a new axis system. Syntax MACH_AXIS / id, onb, x_xaxis, y_xaxis, z_xaxis, x_yaxis, y_yaxis, z_yaxis, x_zaxis, y_zaxis, z_zaxis, x_off, y_off, z_off where id = Machine axis identifier onb = Origin number *_xaxis = New X axis in old axis system *_yaxis = New Y axis in old axis system *_zaxis = New Z axis in old axis system *_off = Offset vector Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description id C_AXIS_SYS_ID$ Text Id of axis system onb C_AXIS_SYS__ONR Num Origin number *axis C_AXIS_SYS_MAT(3)(3) Num Transformation matrix *_off C_AXIS_SYS_OFF(3) Num Offset © CENIT AG Systemhaus cPost Documentation V1R6 Page 283 Chapter 6 - APT-Syntax 6.34 MODE Description The APT command MODE has the following functions: • The motion is output incrementally with INCR, ON and in absolute terms with INCR, OFF. The motion instructions are calculated as absolute values by default. • The options XYPLAN, ZXPLAN and YZPLAN make it possible to switch between the machining planes. cPost converts the coordinates according to chosen plane and its transdefined formation. • The option AUTO activates or deactivates the automatic XY,ZX or YZ plane generation (MODE/..PLAN). The tool vector defines the active machining plane. • The option FRAME activates or deactivates the automatic plane generation (DEFPLN,SETPLN). • The option CLAMP defines the output of rotation angles. There is the choice between macro, clamp sequences and normal angle output. • The option POLAR defines the output of the coordiantes as polar coordiantes. 6.34.1 Absolute / Incremental output Description This command is used to choose between absolute and incremental programming. Syntax MODE / INCR, ON OFF Example APT: GOTO / 100, 100, 200 MODE / INCR, ON GOTO / 200, 200, 300 MODE / INCR, OFF GOTO / 300, 300, 400 NC: N100 G01 X100 Y100 Z200 N110 G01 G91 X100 Y100 Z100 N200 G01 G90 X300 Y300 Z400 Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. on/ off Page 284 Variable Type Description C_INCREMENTAL_ON Num Flag for incremental (1) or absolute (2) measurement © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.34.2 Plane selection Description This command is used to define the new machining plane. This is important for the output circles for example. MODE/XYPLAN, 1 means that the XY plane is the new machining plane with the tool vector (0,0,1). MODE/XYPLAN,2 has the the tool vector (0,0,-1). MODE/ZXPLAN, L is the special plane for turning operations. Syntax MODE / XYPLAN , [ 1 2 ] MODE / ZXPLAN , [ 1 2 L ] MODE / YZPLAN , [ 1 2 ] Example APT: MODE / XYPLAN, 1 GOTO / 100, 100, 200 NC: N100 G17 N110 G01 X100 Y100 Z200 Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description C_TOOL_AXIS Num Current tool axis - infeed flag (XY -> 3, XY2 -> -3, ...) C_TOOL_AXIS_SIGN Num Sign of current infeed axis direction. In the XY plane, the infeed axis direction is the Z-axis. In the YZ plane, the milling head can machine the workpiece from one side or the other (YZPLAN, 1 or YZPLAN, 2). C_MODE_PLANE_COM Text Current plane command © CENIT AG Systemhaus cPost Documentation V1R6 Page 285 Chapter 6 - APT-Syntax 6.34.3 Automatic plane selection Description This command is used to activate (ON) or deactivate (OFF) the automatic plane generation. This only works in MULTAX mode. cPost checks the tool vector and activates the plane defined by the tool vector. The following table shows which tool vector actiavtes which plane: Tool vector Plane Inserted commandType (0,0,1) XY MODE / XYPLAN, 1 (0,0,-1) XY2 MODE / XYPLAN, 2 (0,1,0) ZX MODE / ZXPLAN, 1 (0,-1,0) ZX2 MODE / ZXPLAN, 2 (1,0,0) YZ MODE / YZPLAN, 1 (-1,0,0) YZ2 MODE / YZPLAN, 2 Syntax MODE / AUTO, ON OFF Example APT: GOTO / 0, 0, 100, 0, 0, 1 MODE / AUTO, ON GOTO / 100, 100, 100, 0, 0, 1 GOTO / 100, 100, 200, 0, 1, 0 ..... internal APT: GOTO / 0, 0, 100, 0, 0, 1 MODE / AUTO, ON GOTO / 100, 100, 100, 0, 0, 1 MODE / YZPLAN, 1 GOTO / 100, 100, 200, 0, 1, 0 .... NC: N100 G01 X0 Y0 Z100 N110 G01 X100 Y100 Z100 N120 G18 N130 G01 X100 Y100 Z200 Page 286 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.34.4 Automatic SETPLN (Frame) selection Description This command is used to activate (ON) or deactivate (OFF) the automatic frame generation. This only works in MULTAX mode. cPost checks the tool vector and inserts at each new tool vector a redefintion of the frame with the commands SETPLN and DEFPLN. This command is used to support automaticly the CYCLE 19 or G80 on Heidenhain controllers, the G7 on Millplus controllers and the TRAORI function on Siemens 840D controllers. Syntax MODE / FRAME, ON OFF Example APT: MODE / FRAME, ON GOTO / 0, 0, 100, 0, 0, 1 .... GOTO / 100, 100, 100, 0, 0, 1 GOTO / 100, 100, 200, 0, 1, 0 ..... GOTO / 200, 300, 400, 0, 1, 0 GOTO / 100, 200, 300, 0.7, 0.7, 0 .... internal APT: MODE / FRAME, ON GOTO / 0, 0, 100, 0, 0, 1 .... GOTO / 100, 100, 100, 0, 0, 1 SETPLN / OFF DEFPLN / 0, 1, 0 SETPLN / ON GOTO / 100, 100, 200, 0, 1, 0 ..... GOTO / 200, 300, 400, 0, 1, 0 SETPLN / OFF DEFPLN / 0.7, 0.7, 0 SETPLN / ON GOTO / 100, 200, 300, 0.7, 0.7, 0 .... © CENIT AG Systemhaus cPost Documentation V1R6 Page 287 Chapter 6 - APT-Syntax 6.34.5 Output of rotation angles Description This command is used to define the rotation angle output. If ON is active, cPost output a sequence or macro for each rotation angle difference. No angles will be output. If OFF is active, the angles are output normally. Syntax MODE / CLAMP, ON OFF Example APT: MODE /CLAMP, ON GOTO / 0, 0, 100, 0, 0, 1 .... GOTO / 100, 100, 100, 0, 0, 1 GOTO / 100, 100, 200, 0, 1, 0 ..... GOTO / 200, 300, 400, 0, 1, 0 .... internal APT: MODE / FRAME, ON GOTO / 0, 0, 100, 0, 0, 1 .... GOTO / 100, 100, 100, 0, 0, 1 OUTPUT/ CLAMP sequences GOTO / 100, 100, 200, 0, 1, 0 ..... 6.34.6 Polar planes Description This command is used to support polar coordinates. If this polar mode is active, cPost will transform all XY coordiantes of the defined plane to radius and angle. Linear and circular motions will be splitted until the defined accuracy is reached. There is the possibility to define an angle offset to adjust the output to the controller. Syntax XY MODE / POLAR, ZX YZ , angle, lin, cir MODE / POLAR, OFF where angle Page 288 = angle offset lin = linear accuracy cir = circular accuracy © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax Example APT: MODE /POLAR, XY, 0, 0.01, 0.01 GOTO / 0, 0, 100 GOTO / 10, 0, 100 GOTO / 10, 10, 100 GOTO / 10, 10, 200 RAPID GOTO / 100, 100, 400 NC: N100 G01 R0 A0 Z100 N110 G01 R10 A0 Z100 N120 G01 R... A... Z100 .... many intermediate points til... N300 G01 R14.14 A45 Z100 N310 G01 R14.14 A45 Z200 N320 G00 R141.4 A45 Z400 where A = angle address R = radius address Note: The following table shows the naming of the pool variables for this polar mode. Variable Type Polar mode active Polar mode not active C_AXIS_X_ADR Text Address of radius Address of 1st coordiante C_AXIS_Y_ADR Text Address of angle Address of 2nd coordiante C_AXIS_Z_ADR Text Address of tool axis Address of 3rd coordiante C_AXIS_X_CUR_POS Num Actual radius actual X position C_AXIS_Y_CUR_POS Num Actual angle actual Y position ... ... ... ... © CENIT AG Systemhaus cPost Documentation V1R6 Page 289 Chapter 6 - APT-Syntax 6.35 MOTION Description The APT command MOTION defines “2 contour motions” instead of a GOTO with a tool vector. This command is automaticly generated by CUT4AXES and only supported by wire machines. Syntax Multax OFF mode: MOTION / LIN, xs, ys, zs, xe, ye, ze MOTION / CIR, xs, ys, zs, xe, ye, ze, xm, ym, zm, vx, vy, vz Multax ON mode: MOTION / LIN, xs, ys, zs, xe, ye, ze, $ LIN, xs2 ys2, zs2, xe2, ye2, ze2 MOTION / LIN, xs, ys, zs, xe, ye, ze, $ CIR, xs2, ys2, zs2, xe2, ye2, ze2, xm2, ym2, zm2, vx2, vy2, vz2 MOTION / CIR, xs, ys, zs, xe, ye, ze, xm, ym, zm, vx, vy, vz, $ LIN, xs2 ys2, zs2, xe2, ye2, ze2 MOTION / CIR, xs, ys, zs, xe, ye, ze, xm, ym, zm, vx, vy, vz, $ CIR, xs2, ys2, zs2, xe2, ye2, ze2, xm2, ym2, zm2, vx2, vy2, vz2 where Page 290 LIN or CIR = Type of motion (LINear or CIRcular) xs, ys, zs = Start point of 1st contour xe, ye, ze = End point of 1st contour xm, ym, zm = Circle center point of 1st contour vx, vy, vz = Tangent vector at circle start point of 1st contour xs2, ys2, zs2 = Start point of 2nd contour xe2, ye2, ze2 = End point of 2nd contour xm2, ym2, zm2= Circle center point of 2nd contour vx2, vy2, vz2 = Tangent vector at circle start point of 2nd contour © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.36 OPSKIP Description Skippable records which are generated with the appropriate character before the line and with the level number (if level is defined), are skipped by the NC machine tool. They can be defined between the APT commands OPSKIP/ON and OPSKIP/OFF. Syntax OPSKIP/ ON [, level] OFF © CENIT AG Systemhaus cPost Documentation V1R6 Page 291 Chapter 6 - APT-Syntax 6.37 ORIGIN Description The program supports both programmed (G92) and manual (G54, G55,...) NC origin offsets. The ORIGIN and ORIGIN / MANUAL coordinates are interpreted as CAD measurement unit. The factor is used to convert the values into NC measurement units. Coordinates of ORIGIN / DATUM commands are in NC measurement unit. They are normally programmed by way of the APT command ORIGIN at the point where they are subsequently to appear in the NC program. A programmed origin offset (additive) is called with the following APT line: ORIGIN/DATUM, INCR, 11, 12, 0 The option DATUM activates the additive origin offset. The shift is not calculated by the Post Processor. The X, Y, Z values determine the order of magnitude of the origin offset. In the case of the option (INCR), this shift is implemented incrementally, i.e. referenced to the instantaneous active origin. If the shift is implemented without the option (INCR), the shift always refers in absolute terms to the set workpiece origin. The following is an example of a manual origin offset call: ORIGIN/MANUAL, 1, 11, 12, 0 This origin offset can be calculated by the Post Processor. It is necessary if the CAD origin does not coincide with the manual machine origin. If the command is used for a second time the repeat of the coordinates is not necessary. The following table shows how each ORIGIN is managed by cPost.. ORIGIN Output subtraction on coordinates X, Y, Z no always on APT DATUM yes never MANUAL yes if defined on APT NCDATA no always on NC Syntax ORIGIN / x, y, z ORIGIN / MANUAL, n [, x, y, z] ORIGIN / DATUM, [INCR,] x, y, z ORIGIN / NCDATA, x, y, z where Page 292 x = Shift in x y = Shift in y z = Shift in z MANUAL = Selection of manual origin n = Number of manual origin offset DATUM = Additive origin offset INCR = Incremental origin offset NCDATA = Origin of NC coordiantes © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax Example for the different Origins: The table gives an overview of the effects of the ORIGIN. APT: NC: ORIGIN/ 30, 20, 50 GOTO/ 120, 0, -45 G1 X150 Y20 Z5 ORGIN/DATUM, 30, 20, 50 GOTO/ 120, 0, -45 G92 X30 Y20 Z50 G1 X120 Y0 Z-45 ORIGIN/MANUAL, 1, 10, 20, 30 GOTO/ 10, 20, 30 no subtraction: G54 G1 X10 Y20 Z30 with subtraction: G54 G1 X0 Y0 Z0 Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description x C_ORIGIN_X_AXIS Num Current origin offset in X-direction (ORIGIN / X, Y, Z) y C_ORIGIN_Y_AXIS Num Current origin offset in Y-direction (ORIGIN / X, Y, Z) x C_ORIGIN_Z_AXIS Num Current origin offset in Z-direction (ORIGIN / X, Y, Z) n C_ORIGIN_MANUAL_NR() Num Current origin manual number x C_ORIGIN_MAN_X_AXIS() Num Origin offset in X-direction (ORIGIN/MANUAL, X, Y, Z) y C_ORIGIN_MAN_Y_AXIS() Num Origin offset in Y-direction (ORIGIN/MANUAL, X, Y, Z) z C_ORIGIN_MAN_Z_AXIS() Num Origin offset in Z-direction (ORIGIN/MANUAL, X, Y, Z) C_ORIGIN_MANUAL_1ST() Text All origin manual command (1st part) C_ORIGIN_MANUAL_2ND() Text All origin manual command (2ND part) © CENIT AG Systemhaus cPost Documentation V1R6 Page 293 Chapter 6 - APT-Syntax 6.38 OUTPUT Description The APT command OUTPUT is used to manage the NC output and to redefine the ISO output file. Syntax OUTPUT / ON OFF FLUSH BLANK where ON = NC output OFF = no NC output FLUSH = Output of complete output stack BLANK = Output of a empty line in NC NEW OUTPUT / ISOFILE, newName, APPEND where newName = new ISO filename NEW = option for create new ISO file APPEND = option for append on existing ISO file Example Open a new ISO file named ABC.iso: OUTPUT / ISOFILE, ABC.iso, NEW Open an existing ISO file named ABC.iso and append the output: OUTPUT / ISOFILE, ABC.iso, APPEND Page 294 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.39 PARTNO Description The APT command PARTNO stands for the designation or NC program number of the part to be manufactured. The text is inserted with the text variables C_PARTNO_1ST_SEP and C_PARTNO_2ND_SEP into the program header or into other NC blocks. These two PARTNO commands may also be further subdivided. The individual parts are to be separated with $. Syntax PARTNO / designation or nc program number Example APT command: PARTNO / 66532$220194$MILLER Pool variables: C_PARTNO(1) = 66532$220194$MILLER C_PARTNO_1ST_SEP(1) = 66532 C_PARTNO_1ST_SEP(2) = 220194 C_PARTNO_1ST_SEP(3) = MILLER You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description C_PARTNO() Text Content of PARTNOs from APT file C_PARTNO_1ST_SEP Text Part strings from first PARTNO separated with $ C_PARTNO_2ND_SEP Text Part strings from second PARTNO separated with $ © CENIT AG Systemhaus cPost Documentation V1R6 Page 295 Chapter 6 - APT-Syntax 6.40 PITCH Description The APT command PITCH can be used to program the thread pitch as an alternative to the THREAD command. Syntax PITCH / r1 where r1 Page 296 = Thread pitch © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.41 PPRINT Description The APT statement PPRINT is used to mark comments in the APT program. The comments are provided with the appropriate start and end characters and transferred to the NC program. The number of letters of the comment may be limited by defining a maximum value. Syntax PPRINT / comment Special syntax For the PPRINT command after TOOLNO /... NOTE the following syntax is valid: PPRINT / tlid:tldesc:insid:tlmat:tlhold:comment where tlid = Tool identification tldesc = Tool description tlinsid = Tool holder identification tlmat = Tool material tlhold = Tool holder type tlcomment = Comment © CENIT AG Systemhaus cPost Documentation V1R6 Page 297 Chapter 6 - APT-Syntax 6.42 PREFUN Description The APT command PREFUN is used to generate extra motion commands. The command number n and the corresponding address defined in the parameters will be generated. Syntax PREFUN/ n LAST PREFUN/ n, NOW NEXT where n = Numerical block LAST = Output in last NC record NOW = Output as separate NC record NEXT = Output in next NC record Example APT: GOTO/ 100, 200, 300 PREFUN / 17 GOTO/ 200, 300, 400 Option LAST NC output: G1 G17 X100 Y200 Z300 G1 X200 Y300 Z400 Option NOW NC output: G1 X100 Y200 Z300 G17 G1 X200 Y300 Z400 Option NEXT NC output: G1 X100 Y200 Z300 G1 G17 X200 Y300 Z400 Page 298 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.43 RAPID Description If the APT command RAPID is output, the next linear motion of the tool (GOTO, GODLTA) is a rapid motion. If several rapid motion instructions are to be output, each motion instruction must be programmed with RAPID. Syntax RAPID © CENIT AG Systemhaus cPost Documentation V1R6 Page 299 Chapter 6 - APT-Syntax 6.44 REGLTL Description This APT command is used to select new tool compensation registers for unchanged tool numbers. Syntax REGLTL / tlno, lcr, rcr where tlno = Tool number lcr = Length compensation register rcr = Radius compensation register Note: You can use the variables of the table below in macros, in execution report macros and in NC sequences. Variable Type Description lcr C_TL_LEN_COMP_REG Num Current tool length compensation register rcr C_TL_RAD_COMP_REG NUM Current radius compensation register programmed in APT Page 300 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.45 RETURN Description RETURN activates (ON) or deactivates (OFF) the rear side treatment of a movement component. Syntax RETURN/ ON OFF where ON = Rear side treatment on OFF = Rear side treatment off © CENIT AG Systemhaus cPost Documentation V1R6 Page 301 Chapter 6 - APT-Syntax 6.46 REWIND Description The APT command REWIND effects repetition of part of a program. The options ON and OFF are used to mark a program section which can be output at any point in the NC program by way of the option OUT. The parameter id is used to identify the section of the program to be repeated. The parameter count indicates the number of defined program section repetitions. Syntax REWIND/ ON , id OFF REWIND/ OUT, id, count Example GOTO /... REWIND / ON, 1 GOTO /... : GOTO /... REWIND / OFF, 1 : REWIND / OUT, 1, 5 Page 302 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.47 SELCTL Description This APT command preselects the tool with the appropriate tool number. This command is not necessary if the cPost parameter "automatic tool preselection" is active. Syntax SELCTL / n where n = Tool number Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. n Variable Type Description C_TL_SELECTED_TLID Num Selected tool number © CENIT AG Systemhaus cPost Documentation V1R6 Page 303 Chapter 6 - APT-Syntax 6.48 SEQNO Description The APT command SEQNO causes the record numbering in the NC program to be redefined. Syntax SEQNO / n1 [, INCR, n2] where n1 = New record number n2 = New increment SEQNO/ ON OFF Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. n1 Page 304 Variable Type Description C_REC_NUMBER_INC Num Record number increment © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.49 SETANG Description The APT command SETANG is used to modify the angle output in MULTAX mode. cPost calculates for each tool vector the possible angles and choose the solution in dependence of its 5 axis parameters and the former angle solution. If cPost must output another solution in some special cases, the SETANG command must be programmed before this motion. This command has no output. It is only used to set internal angle values for the selection of the next angle solution. Syntax SETANG / a, b, c where a = Angle of 1st axis b = Angle of 2nd axis c = Angle of 3rd axis Example APT: GOTO/100,100,100,0,0,1 SETANG/ , , 75 GOTO/110,100,100,0,0,1 NC: N100 G1 X100 Y100 Z100 A0 C0 N110 G1 X110 Y100 Z100 A0 C75 cPost calculates the angle solutions A0 C0 for the first GOTO. The tool vector of the second GOTO is the same but a SETANG is programmed before. The C angle is undefined for the tool vector (0,0,1), so cPost takes the old value. Because this is set to 75 by the SETANG command, cPost will output C75 instead of C0. © CENIT AG Systemhaus cPost Documentation V1R6 Page 305 Chapter 6 - APT-Syntax 6.50 SETPLN Description This APT command is used to define new frames in MULTAX mode. SETPLN / ON activates the transformation in a new frame and SETPLN / OFF deactivates it. The new frame is defined by the tool vector or a programmed DEFPLN. All coordiantes between the SETPLN commands are transformed in the new frame. There is no angle output if SETPLN is active. cPost offers the possibility to generate SETPLN commands automaticly. This is defined by the MODE / FRAME command. This command is used to support such features like the CYCLE 19 or G80 on Heidenhain controllers, the G7 on Millplus or the TRAORI on Siemens 840D. Syntax ON OFF SETPLN / Example APT: GOTO / -51.00000,-10.00000,-30.00000,-1.000000,0.000000,0.000000 DEFPLN / -0.556670,0.500000,0.663414 SETPLN / ON PPRINT / OPERATION NAME : Drilling.3 SPINDL / 70.0000,RPM,CLW RAPID GOTO / -38.95683,32.94096,1.27131,-0.556670,0.500000,0.663414 FEDRAT / 300.0000,MMPM GOTO / -33.39013,27.94096,-5.36283,-0.556670,0.500000,0.663414 CYCLE / DRILL,10.000000,10.000000,.... GOTO / -32.83346,27.44096,-6.02625,-0.556670,0.500000,0.663414 CYCLE / OFF FEDRAT / 1000.0000,MMPM GOTO / -38.95683,32.94096,1.27131,-0.556670,0.500000,0.663414 ISO: 62 L Y-10 Z+51 F1000 63 ; (*** New Frame ***) 64 M9 65 M5 66 CYCL DEF 19.0 BEARBEITUNGSEBENE 67 CYCL DEF 19.1 A+0 B+0 68 CYCL DEF 19.0 BEARBEITUNGSEBENE 69 CYCL DEF 19.1 70 Z+1065.38 R0 F MAX M91 71 Y-360 R0 F MAX M91 72 B-40 R0 F MAX 73 A-30 R0 F MAX 74 CYCL DEF 19.0 BEARBEITUNGSEBENE 75 CYCL DEF 19.1 A-30 B-40 76 FN 17: SYSWRITE ID420 NR0 IDX0 = +0 77 FN 17: SYSWRITE ID210 NR7 = -1 78 ; (OPERATION NAME : Drilling.3) Page 306 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 79 TOOL CALL S70 80 M3 81 L X-29.025 Y+15.52 Z+39 F MAX 82 L Z+29 F300 83 CYCL DEF 201 REIBEN ~ Q200=1 ;SICHERHEITS-ABST. ~ Q201=-10 ;TIEFE ~ .......... 84 L X-29.025 Y+15.52 R0 F MAX 85 CYCL CALL 86 L Z+39 F1000 © CENIT AG Systemhaus cPost Documentation V1R6 Page 307 Chapter 6 - APT-Syntax 6.51 SPINDL Description The APT command SPINDL defines either the spindle speed (qualifier RPM) or the constant cutting rate (minor word SFM) and the direction of rotation of the machining spindle. It is also used to deactivate the spindle. If the spindle is activated, either the option CLW for clockwise rotation or CCLW for counterclockwise rotation of the spindle must be programmed with the spindle speed. CLW is defaul, so in case of clockwise rotation this minor word hast not to be programmed. The command SPINDL/ON activates the spindle again. The spindle speed applied is the one last programmed with the APT command SPINDL/ss, RPM. The direction of rotation is likewise assumed from this command. The qualifier RANGE is used to choose a specific transmission n of the machine tool. If the spindle speed is to be limited for machining at constant cutting rate, the permissible maximum spindle speed ssm must be programmed with the minor word MAXRPM. Syntax SPINDL/ ON OFF SPINDL/ ss, RPM , CLW SFM CCLW SPINDL/ RANGE, n SPINDL/ ssm, MAXRPM where ss = Spindle speed value ssm = Maximum spindle speed value n = Transmission Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description ss C_SPINDL_SPEED Num Current spindl speed rpm/ sfm C_SPINDL_UNIT Num Spindle speed unit programmed in APT (1: RPM, 2: SFM = constant cutting speed) C_SPINDL_UNIT_COM Text Current spindle speed unit command + D127 C_SPINDL_WAY Text Current spindle direction of rotation C_SPINDL_WAY_COM Text Current spindle direction of rotation command clw/ cclw/ off Page 308 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.52 STOP Description The APT command STOP causes the output of a program stop command (for example programmed stop M0). Previously all information and commands saved in the stack (program internal memory to buffer the output) are output; the stack will be empty consequently. Syntax STOP © CENIT AG Systemhaus cPost Documentation V1R6 Page 309 Chapter 6 - APT-Syntax 6.53 SWITCH Description This APT command is only supported by Post Processors for turning tool machines. The APT command SWITCH defines a new reference point for the current tool and changes consequently the referred point of the edge position. The statements are active up to the next LOADTL or SWITCH command. At first the specified parameters will be updated and afterwards a definable block will be generated by the Post Processor. The APT commands which have originally defined these parameters are listed in the brackets. Note After using the APT command SWITCH the modality of the motion should be cancelled. The default length measurement unit is the machine tool length measurement unit, but it may switched to the CAD length measurement unit. Syntax SWITCH / lcr, quadrant, INCR, glx, glz, npr where lcr = Length correction register (from LOADTL command) quadrant = Quadrant (from TOOLNO command) glx = Gauge length in X (from TOOLNO command) glz = Gauge length in Z npr = Nose point radius (from TOOLNO command) (from TOOLNO command) Tool mounting point glz glx glx glz Tool length compensation Page 310 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description quadrant C_TLNO_QUADRAT[] Num Tool quadrant (TOOLNO) glx C_TLNO_GAUGE_LEN_X[] Num Tool gauge length in X (TOOLNO) gly C_TLNO_GAUGE_LEN_Y [] Num Tool gauge length in Y (TOOLNO) npr C_TLNO_TIP_RADIUS Num Tool tip radius (TOOLNO) © CENIT AG Systemhaus cPost Documentation V1R6 Page 311 Chapter 6 - APT-Syntax 6.54 THREAD Description The APT command THREAD results in output of the thread cutting command for turning and facing rates. The thread pitch r1 can either be indicated in the THREAD command or separately in the PITCH command. The length measurement unit for r1 is the CAD measurement unit. If you want to convert it to the NC measurement unit use the parameter described in “Conversion Factor for Linear Measurements” in the parameter definition. NOMORE is used to switch off the THREAD command. Syntax THREAD/ TURN [,r1] FACE THREAD/NOMORE where r1 Page 312 = Pitch of thread © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.55 TLAXIS Description The APT command TLAXIS describes the working plane by the vector perpendicular to this plane (i.e. tool axis vector). The plane command according to the first TLAXIS command before the first motion command may be accessed by the NC block variable PLANE in the NC block processed at the start of the program (no automatic generation of this plane command). The plane command for every working plane can be defined in the Post Processor parameters. After the first motion command the TLAXIS command processes the NC block of the according plane command into the NC program. Syntax TLAXIS / vx, vy, vz Example TLAXIS/ 0.00000, 0.00000, 1.00000 •The tool axis vector is the Z axis. •This command is equivalent with MODE / XYPLAN •The NC block for MODE / XYPLAN is processed Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description vx C_TOOL_AXIS_X_AXIS Num Current tool axis in X direction (APT) vy C_TOOL_AXIS_Y_AXIS Num Current tool axis in Y direction (APT) vz C_TOOL_AXIS_Z_AXIS Num Current tool axis in Z direction (APT) © CENIT AG Systemhaus cPost Documentation V1R6 Page 313 Chapter 6 - APT-Syntax 6.56 TOOLNO 6.56.1 Milling Description The APT command TOOLNO replaces the APT command CUTTER and stands for the description of the tool used. As opposed to the CUTTER command, this APT command additionally includes process data and a description of the periphery. Syntax TOOLNO / tlno, operation, d [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO/ tlno, operation, d, fr, ss [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO/ tlno, operation, d, a, sd, el, pl, fr, fu, ss, su, rt [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, d, r, a, sd, el, pl, fl, nt, fr, fu, ss, su, rt, cool, tc, t [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, d, r, a, sd, el, pl, fl, nt, t [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, d, operation, r, a, sd, el, pl, fl, nt, t [,OPTION, n1 [,... [,n10]]] [, NOTE] where tlno = Tool number operation = Type of tool operation (DRILL, MILL, d = Tool diameter r = Tool radius a = Tool tip angle TURN, BORE) sd = Setting distance el = Effective tool length pl = Pilot length fl = Flute length nt = Number of teeth fr = Feed rate fu = Unit of feed rate (MMPM, MMPR, IPM, IPR) ss = Spindle speed su = Unit of speed (RPM,SFM) rt = Direction of rotation (CLW, CCLW, OFF) cool = Coolant (ON, OFF, THRU, TAP, FLOOD, MIST) tc = Tool change (AUTO, MANUAL, LOW, MEDIUM, LARGE) t Page 314 = Tool life time © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax OPTION, n1...n10 NOTE = Additional information = Output of corresponding PPRINT in next line. (See special syntax for the PPRINT command) sd Tool mounting point fl d a el Tool length compensation 6.56.2 Turning Description The APT command TOOLNO replaces the APT command CUTTER and stands for the description of the tool used. As opposed to the CUTTER command, this APT command additionally includes process data and a description of the periphery. The Post Processor recognizes the type of machining from the type of tool (2nd parameter), i.e., if the command SPINDL defines the spindle speed of the tool (powered) or of the workpiece (fixed). The following chart shows how each type of tool is processed by the Post Processor. Type of tool Option n1 Treatment type MILL independent powered DRILL unequal 1 powered 1 fixed TURN independent fixed BORE independent fixed The Post Processor outputs the corresponding block in case of a change of the treatment type when the tool type is changed. © CENIT AG Systemhaus cPost Documentation V1R6 Page 315 Chapter 6 - APT-Syntax Syntax for lathe tools TOOLNO / tlno, operation, station, tmp, quadrant, npr [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, station, tmp, quadrant, npr, fr, fu, ss, su, rt, cool, t [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, station, tmp, quadrant, npr, glx, glz, fr, fu, ss, su, rt, cool, t [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, quadrant, npr, glx, glz, t, [,OPTION, n1 [,... [,n10]]] [, NOTE] where tlno = Tool number operation = Type of tool operation (TURN, BORE) station = Turret station tmp = Tool mounting point quadrant = Quadrant number of tool tip npr = Nose point radius glx = Tool length in X glz = Tool length in Z fr = Feed rate fu = Unit of feed rate (MMPM, MMPR, IPM, IPR) ss = Spindle speed su = Unit of spindle speed (RPM, SFM) rt = Direction of rotation (CLW, CCLW, OFF) cool = Coolant (ON, OFF, THRU, FLOOD, t = Tool life time MIST, TAP) OPTION, n1...= Additional information NOTE Output of corresponding PPRINT in = next line (See special syntax for the PPRINT command) Page 316 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax Syntax for powered tools TOOLNO / tlno, operation, station, tmp, d [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, station, tmp, d, fr, fu, ss, su, rt, cool, t [,OPTION, n1 [,... [,n10]]] [, NOTE] TOOLNO / tlno, operation, station, tmp, d, glx, gly, glz, a, el, pl, fl, fr, fu, ss, su, rt, cool, t [,OPTION, n1 [,... [,n10]]] [, NOTE] where tlno = Tool number operation = Type of tool operation (MILL, DRILL) station = Turret station tmp = Tool mounting point d = Tool diameter glx = Tool length in X gly = Tool length in Y glz = Tool length in Z a = Tool tip angle el = Effective tool length pl = Pilot length fl = Flute length fr = Feed rate fu = Unit of feed rate (MMPM, MMPR, IPM, IPR) ss = Spindle speed su = Unit of spindle speed (RPM, SFM) rt = Direction of rotation (CLW, CCLW, OFF) cool = Coolant (ON, OFF, THRU, FLOOD, MIST, TAP) t = Tool life time OPTION, n1.. = Additional information NOTE Output of corresponding PPRINT in = next line (See special syntax for the PPRINT command © CENIT AG Systemhaus cPost Documentation V1R6 Page 317 Chapter 6 - APT-Syntax Note: You can use the variables of the table below in macros, in execution report macros and in NC Blocks. Variable Type Description tlno C_TLNO_TL_NUMBER() Num Tool number (TOOLNO) operation C_TOLNO_OPER_TYPE() Text Tool operation type (TOOLNO) station C_TLNO_STATION_NB() Num Tool station number (TOOLNO) tmp C_TLNO_MOUNTING_PT() Num Tool mounting point (TOOLNO) quadrant C_TLNO_QUADRAT() Num Tool quadrant (TOOLNO) npr C_TLNO_TL_RAD() Num Tool radius (TOOLNO) d C_TLNO_DIAMETER() Num Tool diameter (TOOLNO) r C_TLNO_TIP_RADIUS() Num Tool tip radius (TOOLNO) glx C_TLNO_GAUGE_LEN_X() Num Tool gauge length in X (TOOLNO) gly C_TLNO_GAUGE_LEN_Y() Num Tool gauge length in Y (TOOLNO) glz C_TLNO_GAUGE_LEN_Z() Num Tool gauge length in Z (TOOLNO) a C_TLNO_TIP_ANGLE() Num Tool tip angle (TOOLNO) sd C_TLNO_SETTING_DIS() Num Tool setting distance (TOOLNO) el C_TLNO_EFFEC_LEN() Num Tool effective length (TOOLNO) pl C_TLNO_PILOT_LEN() Num Tool pilot length (TOOLNO) fl C_TLNO_FLUTE_LEN() Num Tool flute length (TOOLNO) nt C_TLNO_NB_OF_TIPS() Num Number of tool tips (TOOLNO) fr C_TLNO_FEED_VALUE() Num Tool feed rate (TOOLNO) fu C_TLNO_FEED_UNIT() Num Tool feed unit (TOOLNO) ss C_TLNO_SPINDL_SPEED() Num Tool speed (TOOLNO) su C_TLNO_SPINDL_UNIT() Text Unit of tool speed (TOOLNO) rt C_TLNO_SPINDL_WAY() Text Tool direction of rotation (TOOLNO) cool C_TLNO_COOLNT() Text Tool coolant (TOOLNO) tc C_TLNO_TL_CHANGE() Text Tool change (TOOLNO) t C_TLNO_TL_LIFETIME() Num Tool life time (TOOLNO) tlno C_TLNO_TLID() Text Tool identification number (TOOLNO) PPRINT after NOTE C_TLNO_DESCRIP() Text Tool description (TOOLNO) PPRINT after NOTE C_TLNO_INSERT_ID() Text Tool insert identification (TOOLNO) PPRINT after NOTE C_TLNO_MATERIAL() Text Tool material type (TOOLNO) PPRINT after NOTE C_TLNO_HOLDER_TYPE() Text Tool holder type (TOOLNO) PPRINT after NOTE C_TLNO_COMMENT() Text Tool comment (TOOLNO) Page 318 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 6 - APT-Syntax 6.57 TPRINT Description The statement TPRINT is used to mark comments following TOOLNO statement in the APT program. Syntax TPRINT / tlid, tldesc, tlhold where tlid = Tool identification tldesc = Tool desciption tlhold = Tool holder type © CENIT AG Systemhaus cPost Documentation V1R6 Page 319 Chapter 6 - APT-Syntax 6.58 WIRE Description The APT command WIRE defines the state of the wire. It can be cut or threaded. This command is only supported by wire machines. Syntax CUT THREAD WIRE / where CUT = Wire is cut OFF = Wire is threaded Example WIRE / THREAD CHNGRG / POCKET, 2X, -1 GOTO/..... GOTO/..... CHNGRG/OFF WIRE/CUT GOTO/..... FINI Page 320 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX 7 APPENDIX © CENIT AG Systemhaus cPost Documentation V1R6 Page 321 Chapter 7 - APPENDIX 7.1 Pool Variables The following numerical and alphanumeric variables can be used in the sequences and the macros. Variables with brackets (VAR()) are index variables. If you want to get the current value of an index variable, this variable must be accessed with an added _C. List of Variables Text = Num = Variable contains text information Variable contains numerical values Variable Type Description C_ACTUAL_DATE$ Text Actual date C_ACTUAL_TIME Num Actual NC working time in seconds C_ADD_TIME_CUTTING Num Cutting time for actual NC sequence (could be set in sequences to be added to time calculation) C_ADD_TIME_NOT_CUTTING Num Non cutting time for actual NC sequence(could be set in sequences to be added to time calculation) C_APT_COMMAND Text Current APT command C_ANGLE_OPT_A_AXIS Num Optimal A axis angle, which is impossible (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_ANGLE_OPT_B_AXIS Num Optimal B axis angle, which is impossible (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_ANGLE_OPT_C_AXIS Num Optimal C axis angle, which is impossible (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_ANGLE_POSS_A_AXIS Num Possible A axis angle, which is not optimal (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_ANGLE_POSS_B_AXIS Num Possible B axis angle, which is not optimal (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_ANGLE_POSS_C_AXIS Num Possible C axis angle, which is not optimal (STR_MULTAX_ANGLE_BEST_NOT_POSS) C_APT_NAME Text Actual APT filename C_APT_PARAM() Text Parameter of APT command C_APT_PATH Text Actual APT directory C_APTLINE$ Text Actual complete APT line C_AXIS_A_ADR Text Address character of the machine tool axis rotating around the CAD X-axis C_AXIS_A_CUR_POS Num Actual position of the machine tool axis rotating around the CAD X-axis C_AXIS_A_MAX_DELTA Num Maximum A distance moved (delta) C_AXIS_A_MAX_DELTA_REC Num ISO record number maximum delta A is reached C_AXIS_A_MAXIMUM Num Maximum A distance moved Page 322 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Variable Type Description C_AXIS_A_MAXIMUM_REC Num ISO record number maximum A is reached C_AXIS_A_MINIMUM Num Minimum A distance moved C_AXIS_A_MINIMUM_REC Num ISO record number minimum A is reached C_AXIS_A_NXT_POS Num Next value of the machine tool axis rotating around the CAD X-axis C_AXIS_B_ADR Text Address character of the machine tool axis rotating around the CAD Y-axis C_AXIS_B_CUR_POS Num Actual position of the machine tool axis rotating around the CAD Y-axis C_AXIS_B_MAX_DELTA Num Maximum B distance moved (delta) C_AXIS_B_MAX_DELTA_REC Num ISO record number maximum delta B is reached C_AXIS_B_MAXIMUM Num Maximum B distance moved C_AXIS_B_MAXIMUM_REC Num ISO record number maximum B is reached C_AXIS_B_MINIMUM Num Minimum B distance moved C_AXIS_B_MINIMUM_REC Num ISO record number minimum B is reached C_AXIS_B_NXT_POS Num Next value of the machine tool axis rotating around the CAD Y-axis C_AXIS_C_ADR Text Address character of the machine tool axis rotating around the CAD Z-axis C_AXIS_C_CUR_POS Num Actual position of the machine tool axis rotating around the CAD Z-axis C_AXIS_C_MAX_DELTA Num Maximum C distance moved (delta) C_AXIS_C_MAX_DELTA_REC Num ISO record number maximum delta C is reached C_AXIS_C_MAXIMUM Num Maximum C distance moved C_AXIS_C_MAXIMUM_REC Num ISO record number maximum C is reached C_AXIS_C_MINIMUM Num Minimum C distance moved C_AXIS_C_MINIMUM_REC Num ISO record number minimum C is reached C_AXIS_C_NXT_POS Num Next value of the machine tool axis rotating around the CAD Z-axis C_AXIS_EULER_1_CUR_POS Num Actual 1st euler angle C_AXIS_EULER_2_CUR_POS Num Actual 2nd euler angle C_AXIS_EULER_3_CUR_POS Num Actual 3rd euler angle C_AXIS_EULER_1_NXT_POS Num Next 1st euler angle C_AXIS_EULER_2_NXT_POS Num Next 2nd euler angle C_AXIS_EULER_3_NXT_POS Num Next 3rd euler angle C_AXIS_TLVEC_X_CUR Num Actual tool vector in X © CENIT AG Systemhaus cPost Documentation V1R6 Page 323 Chapter 7 - APPENDIX Variable Type Description C_AXIS_SYS_ID$ Text Actual machine axis system identifier C_AXIS_SYS_ONR Num Actual machine axis system origin number C_AXIS_SYS_MAT(3)(3) Num Actual machine axis system transformation matrix C_AXIS_SYS_OFF(3) Num Actual machine axis system offset vector C_AXIS_TLVEC_X_FROM Num Tool vector X Coordinate of FROM command C_AXIS_TLVEC_X_NXT Num Next tool vector in X C_AXIS_TLVEC_Y_CUR Num Actual tool vector in Y C_AXIS_TLVEC_Y_FROM Num Tool vector Y Coordinate of FROM command C_AXIS_TLVEC_Y_NXT Num Next tool vector in Y C_AXIS_TLVEC_Z_CUR Num Actual tool vector in Z C_AXIS_TLVEC_Z_FROM Num Tool vector Z Coordinate of FROM command C_AXIS_TLVEC_Z_NXT Num Next tool vector in Z C_AXIS_UX_CUR_APT_POS Num Actual upper APT position of X axis, if MOTION command contains 2 contours C_AXIS_UX_CUR_MP Num Actual upper position of circle center (X), if MOTION command contains 2 contours C_AXIS_UX_CUR_POS Num Actual upper ISO position of X axis, if MOTION command contains 2 contours C_AXIS_UX_NXT_APT_POS Num Next upper APT position of X axis, if MOTION command contains 2 contours C_AXIS_UX_NXT_MP Num Next upper position of circle center (X), if MOTION command contains 2 contours C_AXIS_UX_NXT_POS Num Next upper ISO position of X axis, if MOTION command contains 2 contours C_AXIS_UY_CUR_APT_POS Num Actual upper APT position of Y axis, if MOTION command contains 2 contours C_AXIS_UY_CUR_MP Num Actual upper position of circle center (Y), if MOTION command contains 2 contours C_AXIS_UY_CUR_POS Num Actual upper ISO position of Y axis, if MOTION command contains 2 contours C_AXIS_UY_NXT_APT_POS Num Next upper APT position of Y axis, if MOTION command contains 2 contours C_AXIS_UY_NXT_MP Num Next upper position of circle center (Y), if MOTION command contains 2 contours C_AXIS_UY_NXT_POS Num Next upper ISO position of Y axis, if MOTION command contains 2 contours C_AXIS_UZ_CUR_APT_POS Num Actual upper APT position of Z axis, if MOTION command contains 2 contours Page 324 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Variable Type Description C_AXIS_UZ_CUR_MP Num Actual upper position of circle center (Z), if MOTION command contains 2 contours C_AXIS_UZ_CUR_POS Num Next upper ISO position of Z axis, if MOTION command contains 2 contours C_AXIS_UZ_NXT_APT_POS Num Next upper APT position of Z axis, if MOTION command contains 2 contours C_AXIS_UZ_NXT_MP Num Nextl upper position of circle center (Z), if MOTION command contains 2 contours C_AXIS_UZ_NXT_POS Num Next upper ISO position of Z axis, if MOTION command contains 2 contours C_AXIS_X_ADR Text Address letter of 1st main axis of plane C_AXIS_X_CUR_APT_POS Num Actual APT position of X axis C_AXIS_X_CUR_MP Num Actual position of circle center of 1st linear axis(X) C_AXIS_X_CUR_POS Num Current actual position X Last position of 1st coordinate axis (coordinate X in normal plane XY). With most control units, the coordinates are converted in the controller; in this case, X1 is always the X-coordinate; if not, it is the coordinate calculated in line with the assignment. C_AXIS_X_CUR_VIA Num Actual position of via point of 1st linear axis (X) C_AXIS_X_FROM Num X-coordinate of FROM command C_AXIS_X_MAX_DELTA Num Maximum X distance moved (delta) C_AXIS_X_MAX_DELTA_REC Num ISO record number maximum delta X is reached C_AXIS_X_MAXIMUM Num Maximum X distance moved C_AXIS_X_MAXIMUM_REC Num ISO record number maximum X is reached C_AXIS_X_MINIMUM Num Minimum X distance moved C_AXIS_X_MINIMUM_REC Num ISO record number minimum X is reached C_AXIS_X_NXT_APT_POS Num Next APT position of X-axis C_AXIS_X_NXT_MP Num Next position of circle center of 1st linear axis (X) C_AXIS_X_NXT_POS Num Next position X Position of 1st coordinate axis defined in first GOTO after cycle call. Here again the following applies: If the current working plane is the XY plane, X2 is equal to the X-coordinate; for controls which convert the coordinates internally the X-coordinate is always X2. C_AXIS_X_NXT_VIA Num Next position of via point of 1st linear axis (X) C_AXIS_X_TIP_MAXIMUM Num Maximum X (Tip point) C_AXIS_X_TIP_MAXIMUM_R EC Num ISO record number maximum X (Tip) is reached C_AXIS_X_TIP_MINIMUM Num Minimum X (Tip point) © CENIT AG Systemhaus cPost Documentation V1R6 Page 325 Chapter 7 - APPENDIX Variable Type Description C_AXIS_X_TIP_MINIMUM_RE C Num ISO record number minimum X (Tip) is reached C_AXIS_Y_ADR Text Address letter of 2nd main axis of plane C_AXIS_Y_CUR_APT_POS Num Actual APT position of Y axis C_AXIS_Y_CUR_MP Num Actual position of circle center of 2nd linear axis(Y) C_AXIS_Y_CUR_POS Num Current actual position of Y axis C_AXIS_Y_CUR_VIA Num Actual position of via point of 2nd linear axis (Y) C_AXIS_Y_FROM Num Y-coordinate of FROM command C_AXIS_Y_MAX_DELTA Num Maximum Y distance moved (delta) C_AXIS_Y_MAX_DELTA_REC Num ISO record number maximum delta Y is reached C_AXIS_Y_MAXIMUM Num Maximum Y distance moved C_AXIS_Y_MAXIMUM_REC Num ISO record number maximum Y is reached C_AXIS_Y_MINIMUM Num Minimum Y distance moved C_AXIS_Y_MINIMUM_REC Num ISO record number minimum Y is reached C_AXIS_Y_NXT_APT_POS Num Next APT position of Y-axis C_AXIS_Y_NXT_MP Num Next position of circle center of 2nd linear axis (Y) C_AXIS_Y_NXT_POS Num Next position Y C_AXIS_Y_NXT_VIA Num Next position of via point of 2nd linear axis (Y) C_AXIS_Y_TIP_MAXIMUM Num Maximum Y (Tip point) C_AXIS_Y_TIP_MAXIMUM_R EC Num ISO record number maximum Y (Tip) is reached C_AXIS_Y_TIP_MINIMUM Num Minimum Y (Tip point) C_AXIS_Y_TIP_MINIMUM_RE C Num ISO record number minimum Y (Tip) is reached C_AXIS_Z_ADR Text Address letter of 3rd main axis of plane C_AXIS_Z_CUR_APT_POS Num Actual APT position of Z axis C_AXIS_Z_CUR_MP Num Actual position of circle center of 3rd linear axis(Z) C_AXIS_Z_CUR_POS Num Current actual position of Zaxis C_AXIS_Z_CUR_VIA Num Actual position of via point of 3rd linear axis (Z) C_AXIS_Z_FROM Num Z-coordinate of FROM command C_AXIS_Z_MAX_DELTA Num Maximum Z distance moved (delta) C_AXIS_Z_MAX_DELTA_REC Num ISO record number maximum delta Z is reached C_AXIS_Z_MAXIMUM Num Maximum Z distance moved C_AXIS_Z_MAXIMUM_REC Num ISO record number maximum Z is reached C_AXIS_Z_MINIMUM Num Minimum Z distance moved Page 326 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Variable Type Description C_AXIS_Z_MINIMUM_REC Num ISO record number minimum Z is reached C_AXIS_Z_NXT_APT_POS Num Next APT position of Z-axis C_AXIS_Z_NXT_MP Num Next position of circle center of 3rd linear axis (Z) C_AXIS_Z_NXT_POS Num Next position of Z-axis C_AXIS_Z_NXT_VIA Num Next position of via point of 3rd linear axis (Z) C_AXIS_Z_TIP_MAXIMUM Num Maximum Z (Tip point) C_AXIS_Z_TIP_MAXIMUM_R EC Num ISO record number maximum Z (Tip) is reached C_AXIS_Z_TIP_MINIMUM Num Minimum Z (Tip point) C_AXIS_Z_TIP_MINIMUM_RE C Num ISO record number minimum Z (Tip) is reached C_COOLNT_COM Text Current COOLNT command C_COOLNT_STAT Text Current COOLNT status (APT): ON or OFF C_COOLNT_TYPE Text Current COOLNT type (APT) for no type, value=”DEFAULT” C_CPOST_PPINFO_CREAT$ Text Creator of actual parameterfile C_CPOST_PPINFO_DATE$ Text Date of actual parameterfile C_CPOST_PPINFO_LIC$ Text License type of actual parameterfile C_CPOST_PPINFO_VERS$ Text Version of actual parameterfile C_CPOST_VERSION$ Text actual cPost version (Binary) C_CUR_CIRCLE_RADIUS Num Actual circle radius C_CUR_UCIRCLE_RADIUS Num Actual upper circle radius, if MOTION command contains 2 contours C_CUR_MOTION_COM$ Text Actual motion command (e.g. “G01”) C_CUR_UMOTION_COM$ Text Actual upper motion command (e.g. “G01”), if MOTION command contains 2 contours C_CUTCOM_VARG$() Text Parameter of actual C_CUTCOM command as text variables C_CUTCOM_VARGC Num Number of C_CUTCOM_VARG* variables C_CUTCOM_VARGR() Num Parameter of actual C_CUTCOM command as real variables C_DELAY_ACTIVE Num Flag for DELAY (1:active; 0:not active) C_FEED_UNIT Text Current feedrate unit (MMPM, MMPR, IPM, IPR) C_FEED_UNIT_COM Text Current feedrate unit command C_FEED_VALUE Num Currently applied feed rate from last FEDRAT command © CENIT AG Systemhaus cPost Documentation V1R6 Page 327 Chapter 7 - APPENDIX Variable Type Description C_FIRST_PPRINTS() Text Individual PPRINT commands prior to first motion/FROM command C_GLOBAL_FACTOR Num Factor to convert APT measurement unit into NC measurement unit (mm -> inch) C_INCREMENTAL_ON Num Flag for incremental (1) or absolute (0) measurement C_INTERNAL_SUBNAME Text Name of subprogramm C_ISO_NAME Text Actual ISO filename C_ISO_PATH Text Actual ISO directory C_MACHINE_NAME Text Name of machine tool C_MACHING_TYPE Text Contains machining type (’MILL’ or ’LATHE’) C_MODE_PLANE_COM Text Current plane command C_NB_OF_ISO_LINES Num Amount of generated NC lines C_NURB_DEG Num Degree of the current NURB C_NURB_1ST_PT_MO_TYPE Num Type of the suppressed motion before NURB (0:RAPID, 1 Linear) C_NURB_DK Num Increment of nodal parameter of the pole of the current NURB C_NURB_FEED Num Programmed feed of the current NURB C_NURB_FIXED_AXIS_X Num X value of tool vector of NURB with fixed axis C_NURB_FIXED_AXIS_Y Num Y value of tool vector of NURB with fixed axis C_NURB_FIXED_AXIS_Z Num Z value of tool vector of NURB with fixed axis C_NURB_POLE_WEIGHT Num Weight of the current pole of the current NURB C_NURB_POLE_X_AXIS_T Num X coordinate of the current pole (tip) of the current NURB C_NURB_POLE_X_AXIS_H Num X coordinate of the current pole (high) of the current NURB C_NURB_POLE_Y_AXIS_T Num Y coordinate of the current pole (tip) of the current NURB C_NURB_POLE_Y_AXIS_H Num Y coordinate of the current pole (high) of the current NURB C_NURB_POLE_Z_AXIS_T Num Z coordinate of the current pole (tip) of the current NURB C_NURB_POLE_Z_AXIS_H Num Z coordinate of the current pole (high) of the current NURB C_NXT_CIRCLE_RADIUS Num Next circle radius C_NXT_UCIRCLE_RADIUS Num Next upper circle radius, if MOTION command contains 2 contours C_NXT_MOTION_COM$ Text Next motion command (e.g. “G01”) Page 328 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Variable Type Description C_NXT_UMOTION_COM$ Text Next upper motion command (e.g. “G01”), if MOTION command contains 2 contours C_OS$ Text Operating System (AIX, HPUX, SUNOS, IRIX, WIN) C_ORIGIN_MAN_X_AXIS() Num Origin offset in X-direction (ORIGIN/MANUAL, X, Y, Z) C_ORIGIN_MAN_Y_AXIS() Num Origin offset in Y-direction (ORIGIN/MANUAL, X, Y, Z) C_ORIGIN_MAN_Z_AXIS() Num Origin offset in Z-direction (ORIGIN/MANUAL, X, Y, Z) C_ORIGIN_MANUAL_1ST Text All origin manual command (1st part) C_ORIGIN_MANUAL_2ND Text All origin manual command (2ND part) C_ORIGIN_MANUAL_NR Num Current origin manual number C_ORIGIN_X_AXIS Num Current origin offset in X-direction (ORIGIN / X, Y, Z) C_ORIGIN_Y_AXIS Num Current origin offset in Y-direction (ORIGIN / X, Y, Z) C_ORIGIN_Z_AXIS Num Current origin offset in Z-direction (ORIGIN / X, Y, Z) C_PARTNO() Text Content of first PARTNO from APT file C_PARTNO_1ST_SEP Text Part strings from PARTNOs separated with $ C_PARTNO_2ND_SEP Text Part strings from second PARTNO separated with $ C_PP_NAME Text Actual postprocessor name C_PP_PATH Text Actual postprocessor directory C_RAPID Num Flag of current motion (1: RAPID, 0: Linear) C_RAPID_NXT Num Flag of next motion (1: RAPID, 0: Linear) C_REC_NUMBER_INC Num Record number increment C_RECORD_NUMBER Num Next record number C_REP_NAME Text Actual report filename C_REP_PATH Text Acutal report directory C_SAFETY_Z_AXIS Num Coordinate of retraction plane C_SETPLN_A_AXIS Num SETPLN: 1st rotation axis value C_SETPLN_B_AXIS Num SETPLN: 2nd rotation axis value C_SETPLN_C_AXIS Num SETPLN: 3rd rotation axis value C_SETPLN_X_AXIS_X Num SETPLN: new X axis of SETPLN coordinate system in old axis system C_SETPLN_X_AXIS_Y Num SETPLN: new Y axis of SETPLN coordinate system in old axis system C_SETPLN_X_AXIS_Z Num SETPLN: new Z axis of SETPLN coordinate system in old axis system C_SPINDL_MAXRPM Num Current maximum spindle speed © CENIT AG Systemhaus cPost Documentation V1R6 Page 329 Chapter 7 - APPENDIX Variable Type Description C_SPINDL_RANGE_COM Text Current spindle range command C_SPINDL_SPEED Num Current spindl speed C_SPINDL_UNIT Num Spindle speed unit programmed in APT (1: RPM, 2: SFM = constant cutting speed) C_SPINDL_UNIT_COM Text Current spindle speed unit command + D127 C_SPINDL_WAY Text Current spindle direction of rotation C_SPINDL_WAY_COM Text Current spindle direction of rotation command C_STARTFILE_VAR Text Content of startfile (pprun -x -i startfile) C_SUB_CALLING_PAR() N/T Additional subprogram call parameters C_SUB_NB_OF_REP Num Subprogram repetition (CALSUB) C_SUB_PROG_ID Num Subprogram number (DEFSUB) C_SUB_PROG_ID Num Subprogram number (ENDSUB) C_SUB_PROG_ID Num Subprogram number C_SYNC_B_NUMBER Num Number of current synchronization stop form APT C_SYNC_O_NUMBER Num Number of current one-sided synchronization stop C_SYNC_SLIDE_FLG Num Flag indicating if slide participates at synchro stop (1/0) C_TAXIS_X_CUR_APT_POS Num Actual Tool vector X axis C_TAXIS_X_NXT_APT_POS Num Next Tool vector X axis C_TC_CUTTING_TIME() Num Cutting time for each tool (Time calculation) C_TC_CUTTING_WAY() Num Cutting way for each tool C_TC_NON_CUTTING_TIME() Num Non cutting time for each tool (Time calculation) C_TC_NON_CUTTING_WAY() Num Non cutting way for each tool C_TC_TLNO() Num Tool Id (Time calculation) C_TC_TOOL_NB Num Number of Tools (Time calculation) C_TL_CUR_TLID Num Current tool number C_TL_LEN_COMP_COM Text Current tool length compensation command C_TL_LEN_COMP_REG Num Current tool length compensation register C_TL_NB_OF_CHANGES Num Number of tool changes (LOADTL’s) in APT C_TL_NB_OF_TOOLS Num Number of different tools (TOOLNO’s) in APT C_TL_PREV_TLID Num Previous tool number (LOADTL) C_TL_RAD_COMP_REG NUM Current radius compensation register programmed in APT C_TL_SELECTED_TLID Num Selected tool number C_TLNO_COMMENT() Text Tool comment (TOOLNO) Page 330 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Variable Type Description C_TLNO_COOLNT() Text Tool coolant (TOOLNO) C_TLNO_DESCRIP() Text Tool description (TOOLNO) C_TLNO_DIAMETER() Num Tool diameter (CUTTER) C_TLNO_DIAMETER() Num Tool diameter (TOOLNO) C_TLNO_EFFEC_LEN() Num Tool effective length (CUTCOM) C_TLNO_EFFEC_LEN() Num Tool effective length (TOOLNO) C_TLNO_FEED_UNIT() Num Tool feed unit (TOOLNO) C_TLNO_FEED_VALUE() Num Tool feed rate (TOOLNO) C_TLNO_FLUTE_LEN() Num Tool flute length (TOOLNO) C_TLNO_GAUGE_LEN_X() Num Tool gauge length in X (SWITCH) C_TLNO_GAUGE_LEN_X() Num Tool gauge length in X (TOOLNO) C_TLNO_GAUGE_LEN_Y() Num Tool gauge length in Y (SWITCH) C_TLNO_GAUGE_LEN_Y() Num Tool gauge length in Y (TOOLNO) C_TLNO_GAUGE_LEN_Z() Num Tool gauge length in Z (TOOLNO) C_TLNO_HOLDER_TYPE() Text Tool holder type (TOOLNO) C_TLNO_INSERT_ID() Text Tool insert identification (TOOLNO) C_TLNO_MATERIAL() Text Tool material type (TOOLNO) C_TLNO_MOUNTING_PT() Num Tool mounting point (TOOLNO) C_TLNO_NB_OF_TIPS() Num Number of tool tips (TOOLNO) C_TLNO_NOTE() Text Tool note (TOOLNO) C_TOLNO_OPER_TYPE() Text Tool operation type (TOOLNO) C_TLNO_OPTION() Text Tool option (TOOLNO) C_TLNO_OPTION_1() Text Tool option N1 (TOOLNO) C_TLNO_OPTION_2() Text Tool option N2 (TOOLNO) C_TLNO_OPTION_3() Text Tool option N3 (TOOLNO) C_TLNO_OPTION_4() Text Tool option N4 (TOOLNO) C_TLNO_OPTION_5() Text Tool option N5 (TOOLNO) C_TLNO_PILOT_LEN() Num Tool pilot length (TOOLNO) C_TLNO_QUADRAT() Num Tool quadrant (SWITCH) C_TLNO_QUADRAT() Num Tool quadrant (TOOLNO) C_TLNO_SETTING_DIS() Num Tool setting distance (TOOLNO) C_TLNO_SPINDL_SPEED() Num Tool speed (TOOLNO) C_TLNO_SPINDL_UNIT() Text Unit of tool speed (TOOLNO) © CENIT AG Systemhaus cPost Documentation V1R6 Page 331 Chapter 7 - APPENDIX Variable Type Description C_TLNO_SPINDL_WAY() Text Tool direction of rotation (TOOLNO) C_TLNO_STATION_NB() Num Tool station number (TOOLNO) C_TLNO_TIP_ANGLE() Num Tool tip angle (TOOLNO) C_TLNO_TIP_RADIUS() Num Tool corner radius (TOOLNO) C_TLNO_TL_CHANGE() Text Tool change (TOOLNO) C_TLNO_TL_LIFETIME() Num Tool life time (TOOLNO) C_TLNO_TL_NUMBER() Num Tool number (LOADTL) C_TLNO_TL_NUMBER() Num Tool number (TOOLNO) C_TLNO_TL_RAD() Num Tool radius (CUTCOM) C_TLNO_TL_RAD() Num Tool radius (TOOLNO) C_TLNO_TLID() Text Tool identification number (TOOLNO) C_TOOL_AXIS Num Current tool axis - infeed flag (XY -> 3, XY2 -> -31, ...) C_TOOL_AXIS_SIGN Num Sign of current infeed axis direction. In the XY plane, the infeed axis direction is the Z-axis. In the YZ plane, the milling head can machine the workpiece from one side or the other (YZPLAN, 1 or YZPLAN, 2). TAXSF becomes negative in YZPLAN, 2. C_TOOL_AXIS_X_AXIS Num Current tool axis in X direction (APT) C_TOOL_AXIS_Y_AXIS Num Current tool axis in Y direction (APT) C_TOOL_AXIS_Z_AXIS Num Current tool axis in Z direction (APT) C_TOOL_COMMENT Text Comment associated with the current tool C_TOOL_ORDER Num Consecutive tool numbers C_TURRET_ID Num Current slide number from TURRET command C_TURRET_NAME Text Name of current turret C_USERID$ Num Userid C_VARGC Num Dimension of C_VARGR() and C_VARG$() array C_VARGR() Num Call parameter of actual cycle or macro C_VARG$() Text Call parameter of actual cycle or macro Page 332 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX 7.2 cPost Objects The following table shows the connection of APT commands with the internal cPost objects. The primary and secondary obejct types are needed for the CF_GETNXTCO, CF_GETPTYPE$ and CF_GETSTYPE$ macro functions. 7.2.1 Sorted by APT command APT command Primary Type Secondary Type any unknown command PTYP_ELSE NO_TYPE ANGTWO PTYP_ANGTWO NO_TYPE AUXFUN PTYP_EXTFUN STYP_AUXFUN BARFED PTYP_BARFED NO_TYPE BEGIN NURBS PTYP_NURBS STYP_NURBS_START C_VARDEL PTYP_C_VARPUT STYP_C_VARDEL C_VARPUT PTYP_C_VARPUT STYP_C_VARPUT CALSUB PTYP_CALSUB NO_TYPE CHNGRG/OFF PTYP_CHNGRG STYP_CHNGRG_OFF_POST CHNGRG/PROFILE CHNGRG/POCKET PTYP_CHNGRG STYP_CHNGRG_POST CLAMP PTYP_CLAMP NO_TYPE CIR2PT PTYP_CIR2PT STYP_CIR2PT_PRE COOLNT/ON COOLNT/OFF PTYP_COOLNT STYP_CNORMAL COOLNT/THRU,ON COOLNT/THRU,OFF PTYP_COOLNT STYP_CTHRU COOLNT/TAP,ON COOLNT/TAP,OFF PTYP_COOLNT STYP_COOLTAP COOLNT/FLOOD,ON COOLNT/FLOOD,OFF PTYP_COOLNT STYP_CFLOOD COOLNT/MIST,ON COOLNT/MIST,OFF PTYP_COOLNT STYP_CMIST CUTCOM PTYP_CUTCOM NO_TYPE CUTTER PTYP_CUTTER NO_TYPE CYCLE/BORE PTYP_CYCLE STYP_CBORE CYCLE/BRKCHP PTYP_CYCLE STYP_CBRKCHP CYCLE/CSINK PTYP_CYCLE STYP_CCSINK CYCLE/DEEPHL PTYP_CYCLE STYP_CDEEPHL © CENIT AG Systemhaus cPost Documentation V1R6 Page 333 Chapter 7 - APPENDIX APT command Primary Type Secondary Type CYCLE/DRILL PTYP_CYCLE STYP_CDRILL CYCLE/OFF PTYP_CYCLE STYP_CYCOFF CYCLE/ON PTYP_CYCLE STYP_CYCON CYCLE/REAM PTYP_CYCLE STYP_CREAM CYCLE/TAP PTYP_CYCLE STYP_CTAP CYCLE/any other PTYP_CYCLE STYP_COTHER DEFPLN PTYP_SETPLN STYP_DEFPLN DEFSUB PTYP_SUBPRG STYP_DEFSUB DELAY PTYP_DELAY NO_TYPE DOF_GOTO (no RAPID before) PTYP_COORD STYP_DOF_GOTO DOF_GOTO (RAPID before) PTYP_COORD STYP_DOF_RAPID DUMP PTYP_DEBUG NO_TYPE DWELL PTYP_DWELL NO_TYPE END NURBS PTYP_NURBS STYP_NURBS_END ENDSUB PTYP_SUBPRG STYP_ENDSUB FEDRAT PTYP_FEDRAT STYP_FNORMAL FEDRAT/INVERS,OFF PTYP_FEDRAT STYP_FINVOFF FEDRAT/INVERS,ON PTYP_FEDRAT STYP_FINVON FEDRAT/MODIFY PTYP_FEDRAT STYP_FMODIFY FEDRAT/MULTAX PTYP_FEDRAT STYP_FMULTAX FINI PTYP_FINI NO_TYPE FROM PTYP_COORD STYP_FROM GODLTA (no RAPID before) PTYP_COORD STYP_GODLTA GODLTA (RAPID before) PTYP_COORD STYP_RAPDLTA GOHOME PTYP_COORD STYP_GOHOME GOTO (no RAPID before) PTYP_COORD STYP_GOTO GOTO (RAPID before) PTYP_COORD STYP_RAPID GOTO (CIR2PT before) PTYP_COORD STYP_CIR2PT_VIA (1st point after CIR2PT) GOTO (CIR2PT before) PTYP_COORD STYP_CIR2PT_NXT (2nd point after CIR2PT) HEIGHT PTYP_HEIGHT NO_TYPE INDIRV (->TLON) PTYP_ELSE NO_TYPE INSERT PTYP_INSERT NO_TYPE Page 334 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX APT command Primary Type Secondary Type LOADTL (same tool number) PTYP_REGLTL NO_TYPE LOADTL PTYP_LOADTL STYP_LTLPRE LOADTL/POST PTYP_LOADTL STYP_LTLPOST MACH_AXIS PTYP_MACHAXIS NO_TYPE MIKFUN PTYP_MIKFUN STYP_MIKFUN_ID MIKFUN/OFF MIKFUN/ON MIKFUN/NC MIKFUN/DOF MIKFUN/SAVE PTYP_MIKFUN STYP_MIKFUN_TYP MODE/INCR PTYP_B_MODE NO_TYPE MODE/*PLAN MODE/POLAR PTYP_P_MODE NO_TYPE MODE/AUTO MODE/FRAME MODE/CLAMP MODE/EULER MODE/MULTAX PTYP_M_MODE NO_TYPE MOTION/LIN (no RAPID before) PTYP_COORD STYP_GOTO MOTION/LIN (RAPID before) PTYP_COORD STYP_RAPID MOTION/CIR PTYP_COORD STYP_CIRCLE N... (between BEGIN NURBS and END NURBS) PTYP_COORD STYP_NURBS OPSKIP PTYP_OPSKIP NO_TYPE ORIGIN/X,Y,Z PTYP_ORIGIN STYP_ORINULL ORIGIN/NCDATA PTYP_ORIGIN STYP_ORINC ORIGIN/DATUM PTYP_ORIGIN STYP_ORIDAT ORIGIN/MANUAL PTYP_ORIGIN STYP_ORIMAN OUTPUT PTYP_OUTPUT NO_TYPE PARTNO PTYP_PARTNO NO_TYPE PITCH PTYP_PITCH NO_TYPE PREFUN PTYP_EXTFUN STYP_PREFUN RAPID PTYP_ELSE NO_TYPE REGLTL PTYP_REGLTL NO_TYPE RETURN PTYP_RETURN NO_TYPE REWIND/OFF PTYP_REWIND STYP_REWOFF REWIND/ON PTYP_REWIND STYP_REWON REWIND/OUT PTYP_REWIND STYP_REWOUT © CENIT AG Systemhaus cPost Documentation V1R6 Page 335 Chapter 7 - APPENDIX APT command Primary Type Secondary Type SAFETY PTYP_SAFETY NO_TYPE SELCTL PTYP_SELCTL STYP_SLTNOR SELCTL/ .AUTOMATIC_PRE_SEL PTYP_SELCTL STYP_SLTAUT SEQNO PTYP_SEQNO NO_TYPE SETANG PTYP_COORD STYP_SETANG SETPLN PTYP_SETPLN STYP_SETPLN SPINDL/LOCK PTYP_SPINDL STYP_SPLOCK SPINDL/MAXRPM PTYP_SPINDL STYP_MAXRPM SPINDL/RANGE PTYP_SPINDL STYP_SRANGE SPINDL PTYP_SPINDL STYP_SNORMAL STOP PTYP_STOP NO_TYPE SWITCH PTYP_SWITCH NO_TYPE THREAD PTYP_THREAD NO_TYPE TLAXIS PTYP_TLAXIS NO_TYPE TLON PTYP_COORD STYP_CIRCLE TOOLNO PTYP_TOOLNO STYP_TLMILL TOOLNO/...BORE.... PTYP_TOOLNO STYP_TLBORE TOOLNO/...DRILL.... PTYP_TOOLNO STYP_TLDRILL TOOLNO/...MILL.... PTYP_TOOLNO STYP_TLMILL TOOLNO/...TURN... PTYP_TOOLNO STYP_TLTURN WIRE PTYP_WIRE NO_TYPE Page 336 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX 7.2.2 Sorted by Objects Primary Type Secondary Type APT command PTYP_ANGTWO NO_TYPE ANGTWO PTYP_B_MODE NO_TYPE MODE/INCR PTYP_BARFED NO_TYPE BARFED PTYP_C_VARPUT STYP_C_VARDEL C_VARDEL PTYP_C_VARPUT STYP_C_VARPUT C_VARPUT PTYP_CALSUB NO_TYPE CALSUB PTYP_CHNGRG STYP_CHNGRG_OFF_POS T CHNGRG/OFF PTYP_CHNGRG STYP_CHNGRG_POST CHNGRG/PROFILE CHNGRG/POCKET PTYP_CIR2PT STYP_CIR2PT_PRE CIR2PT PTYP_CLAMP NO_TYPE CLAMP PTYP_COOLNT STYP_CFLOOD COOLNT/FLOOD,ON COOLNT/FLOOD,OFF PTYP_COOLNT STYP_CMIST COOLNT/MIST,ON COOLNT/MIST,OFF PTYP_COOLNT STYP_CNORMAL COOLNT/ON COOLNT/OFF PTYP_COOLNT STYP_COOLTAP COOLNT/TAP,ON COOLNT/TAP,OFF PTYP_COOLNT STYP_CTHRU COOLNT/THRU,ON COOLNT/THRU,OFF PTYP_COORD STYP_CIR2PT_NXT (2nd point after CIR2PT) GOTO (CIR2PT before) PTYP_COORD STYP_CIR2PT_VIA (1st point after CIR2PT) GOTO (CIR2PT before) PTYP_COORD STYP_CIRCLE MOTION/CIR PTYP_COORD STYP_CIRCLE TLON PTYP_COORD STYP_DOF_GOTO DOF_GOTO (no RAPID before) PTYP_COORD STYP_DOF_RAPID DOF_GOTO (RAPID before) PTYP_COORD STYP_FROM FROM PTYP_COORD STYP_GODLTA GODLTA (no RAPID before) PTYP_COORD STYP_GOHOME GOHOME PTYP_COORD STYP_GOTO GOTO (no RAPID before) © CENIT AG Systemhaus cPost Documentation V1R6 Page 337 Chapter 7 - APPENDIX Primary Type Secondary Type APT command PTYP_COORD STYP_GOTO MOTION/LIN (no RAPID before) PTYP_COORD STYP_NURBS N... (between BEGIN NURBS and END NURBS) PTYP_COORD STYP_RAPDLTA GODLTA (RAPID before) PTYP_COORD STYP_RAPID GOTO (RAPID before) PTYP_COORD STYP_RAPID MOTION/LIN (RAPID before) PTYP_COORD STYP_SETANG SETANG PTYP_CUTCOM NO_TYPE CUTCOM PTYP_CUTTER NO_TYPE CUTTER PTYP_CYCLE STYP_CBORE CYCLE/BORE PTYP_CYCLE STYP_CBRKCHP CYCLE/BRKCHP PTYP_CYCLE STYP_CCSINK CYCLE/CSINK PTYP_CYCLE STYP_CDEEPHL CYCLE/DEEPHL PTYP_CYCLE STYP_CDRILL CYCLE/DRILL PTYP_CYCLE STYP_COTHER CYCLE/any other PTYP_CYCLE STYP_CREAM CYCLE/REAM PTYP_CYCLE STYP_CTAP CYCLE/TAP PTYP_CYCLE STYP_CYCOFF CYCLE/OFF PTYP_CYCLE STYP_CYCON CYCLE/ON PTYP_DEBUG NO_TYPE DUMP PTYP_DELAY NO_TYPE DELAY PTYP_DWELL NO_TYPE DWELL PTYP_ELSE NO_TYPE any unknown command PTYP_ELSE NO_TYPE INDIRV (->TLON) PTYP_ELSE NO_TYPE RAPID PTYP_EXTFUN STYP_AUXFUN AUXFUN PTYP_EXTFUN STYP_PREFUN PREFUN PTYP_FEDRAT STYP_FINVOFF FEDRAT/INVERS,OFF PTYP_FEDRAT STYP_FINVON FEDRAT/INVERS,ON PTYP_FEDRAT STYP_FMODIFY FEDRAT/MODIFY PTYP_FEDRAT STYP_FMULTAX FEDRAT/MULTAX PTYP_FEDRAT STYP_FNORMAL FEDRAT PTYP_FINI NO_TYPE FINI Page 338 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX Primary Type Secondary Type APT command PTYP_HEIGHT NO_TYPE HEIGHT PTYP_INSERT NO_TYPE INSERT PTYP_LOADTL STYP_LTLPOST LOADTL/POST PTYP_LOADTL STYP_LTLPRE LOADTL PTYP_M_MODE NO_TYPE MODE/AUTO MODE/FRAME MODE/CLAMP MODE/EULER MODE/MULTAX PTYP_MACHAXIS NO_TYPE MACH_AXIS PTYP_MIKFUN STYP_MIKFUN_ID MIKFUN PTYP_MIKFUN STYP_MIKFUN_TYP MIKFUN/OFF MIKFUN/ON MIKFUN/NC MIKFUN/DOF MIKFUN/SAVE PTYP_NURBS STYP_NURBS_END END NURBS PTYP_NURBS STYP_NURBS_START BEGIN NURBS PTYP_OPSKIP NO_TYPE OPSKIP PTYP_ORIGIN STYP_ORIDAT ORIGIN/DATUM PTYP_ORIGIN STYP_ORIMAN ORIGIN/MANUAL PTYP_ORIGIN STYP_ORINC ORIGIN/NCDATA PTYP_ORIGIN STYP_ORINULL ORIGIN/X,Y,Z PTYP_OUTPUT NO_TYPE OUTPUT PTYP_P_MODE NO_TYPE MODE/*PLAN MODE/POLAR PTYP_PARTNO NO_TYPE PARTNO PTYP_PITCH NO_TYPE PITCH PTYP_REGLTL NO_TYPE LOADTL (same tool number) PTYP_REGLTL NO_TYPE REGLTL PTYP_RETURN NO_TYPE RETURN PTYP_REWIND STYP_REWOFF REWIND/OFF PTYP_REWIND STYP_REWON REWIND/ON PTYP_REWIND STYP_REWOUT REWIND/OUT PTYP_SAFETY NO_TYPE SAFETY PTYP_SELCTL STYP_SLTAUT SELCTL/ .AUTOMATIC_PRE_SEL PTYP_SELCTL STYP_SLTNOR SELCTL © CENIT AG Systemhaus cPost Documentation V1R6 Page 339 Chapter 7 - APPENDIX Primary Type Secondary Type APT command PTYP_SEQNO NO_TYPE SEQNO PTYP_SETPLN STYP_DEFPLN DEFPLN PTYP_SETPLN STYP_SETPLN SETPLN PTYP_SPINDL STYP_MAXRPM SPINDL/MAXRPM PTYP_SPINDL STYP_SNORMAL SPINDL PTYP_SPINDL STYP_SPLOCK SPINDL/LOCK PTYP_SPINDL STYP_SRANGE SPINDL/RANGE PTYP_STOP NO_TYPE STOP PTYP_SUBPRG STYP_DEFSUB DEFSUB PTYP_SUBPRG STYP_ENDSUB ENDSUB PTYP_SWITCH NO_TYPE SWITCH PTYP_THREAD NO_TYPE THREAD PTYP_TLAXIS NO_TYPE TLAXIS PTYP_TOOLNO STYP_TLBORE TOOLNO/...BORE.... PTYP_TOOLNO STYP_TLDRILL TOOLNO/...DRILL.... PTYP_TOOLNO STYP_TLMILL TOOLNO PTYP_TOOLNO STYP_TLMILL TOOLNO/...MILL.... PTYP_TOOLNO STYP_TLTURN TOOLNO/...TURN... PTYP_WIRE NO_TYPE WIRE Page 340 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX 7.3 CF_GETSTATE and CF_SETSTATE Parameters The following table lists the possible parameters and possible values. PARAM$ RC Type of actual processing WORKING_TYPE 0=MILL, 1=LATHE MULTAX programming MULTAX 0=OFF, 1=ON thread cutting cycle THREAD 0=OFF, 1=ON status delay time DELAY 0=OFF, 1=ON 2nd solution for rotation angle ANGTWO 0=OFF, 1=ON special plane choice active SETPLN 0=OFF, 1=ON SETPLN automatic active SETPLN_AUTO 0=OFF, 1=ON status of NC output OUTPUT 0=OFF, 1=ON Debug modus active DEBUG 0=OFF, 1=ON actual processing plane PLANE 0=PLANE_XY_1, 1=PLANE_XY_2, 2=PLANE_ZX_1, 3=PLANE_ZX_2 4=PLANE_YZ_1, 5=PLANE_YZ_2 Cycle processing CYCLE 0=FALSE, 1=TRUE number of actual cycle position CYCLE_POS_NB 0 ... n status incremental output INCREMENTAL 0=OFF, 1=ON status optikal skip OPSKIP 0=OFF, 1=ON status sequence number output SEQNO 0=OFF, 1=ON MAINPART Flag if pre read UPDATEPOOL 0=FALSE, 1=TRUE select tool active SELCTL 0=OFF, 1=ON actual feedrate output FEDRAT 0=OFF, 1=ON fedrat modification FEDRAT_MODIFY 0=FED_NORMAL, 1=FED_MOD_ACTIVE, 2=FED_REPEAT status circle correction CUTCOM_RADIUS 0=NONE, 1=LEFT, 2=RIGHT, 3=OFF calculate length correction CUTCOM_LENGTH 0=NONE, 4=X_POS, 5=Y_POS, 6=Z_POS, 7=X_NEG, 8=Y_NEG, 9=Z_NEG wire thread WIRE_THREAD 0=OFF, 1=ON © CENIT AG Systemhaus cPost Documentation V1R6 Page 341 Chapter 7 - APPENDIX PARAM$ RC conic type WIRE_CONIC 1=2X, 2=4X Flag for CHNGRG handling WIRE_CHNGRG 0=OFF, 1=APP, 2=FIRST, 3=OFF actual programed height WIRE_HEIGHT 0.0.. actual time ACTUALTIME 0.0.. Page 342 © CENIT AG Systemhaus cPost Documentation V1R6 Chapter 7 - APPENDIX © CENIT AG Systemhaus cPost Documentation V1R6 Page 343