Fagor 8070 BL Programming Manual
Fagor 8070 BL Programming Manual

Fagor 8070 BL Programming Manual

Cnc 8070 series
Table of Contents

Advertisement

Quick Links

CNC
8070
Programming manual.
(Ref: 1709)

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 8070 BL and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Fagor 8070 BL

  • Page 1 8070 Programming manual. (Ref: 1709)
  • Page 2 CNC and at the drives. • Tendency test on analog axes. FAGOR AUTOMATION shall not be held responsible for any personal injuries or physical damage caused or suffered by the CNC resulting from any of the safety elements being disabled.
  • Page 3: Table Of Contents

    Pro gramm i ng man u a l. I N D E X About the product - CNC 8070 ..................... 9 Declaration of CE conformity and warranty conditions ............... 13 Version history - CNC 8070 ......................15 Safety conditions ........................23 Returning conditions ........................
  • Page 4 P r o g r a m mi ng ma n u a l. Zero offsets (G54-G59/G159) ..................87 5.5.1 Variables for setting zero offsets................89 5.5.2 Incremental zero offset (G158) .................. 90 5.5.3 Excluding axes in the zero offset (G157) ..............92 Zero offset cancellation (G53) ..................
  • Page 5 Pro gramm i ng man u a l. CHAPTER 10 ELECTRONIC THREADING AND RIGID TAPPING. 10.1 Electronic threading with constant pitch (G33) ............179 10.1.1 Programming examples (·M· model)................ 182 10.1.2 Programming examples (·T· model) ................ 183 10.2 Electronic threading with variable pitch (G34) ............. 185 10.3 Rigid tapping (G63)......................
  • Page 6 Summary of kinematics related variables..............357 : 1709) CHAPTER 20 HSC. HIGH SPEED MACHINING. 20.1 Recommendations for machining................362 20.2 User subroutines G500-G501 to turn HSC on/off............363 20.2.1 Alternative example for functions G500-G501 supplied by Fagor......365 ·6·...
  • Page 7 Pro gramm i ng man u a l. 20.3 HSC SURFACE mode. Optimization of surface finish..........367 20.4 HSC CONTERROR mode. Optimizing the contouring error........370 20.5 HSC FAST mode. Optimizing the machining feedrate..........372 20.6 Canceling the HSC mode.................... 374 CHAPTER 21 VIRTUAL TOOL AXIS.
  • Page 8 BLANK PAGE ·8·...
  • Page 9: About The Product - Cnc 8070

    P r o gr a m mi n g m a nu a l . ABOUT THE PRODUCT - CNC 8070 BASIC CHARACTERISTICS. Basic characteristics. ·BL· ·OL· ·L· Number of axes. 3 to 7 3 to 31 3 to 31 Number of spindles.
  • Page 10 With this feature, the PLC It limits the number of axes to 4, where the CNC can also may be programmed either in the usual Fagor language interpolate these at the same time. or in IEC 61131 format.
  • Page 11 C axes. The parameters of each axis indicate if it will function as a C axis or not, where it will not be Third-party CANopen. necessary to activate another axis for the machine Enables the use of non-Fagor CANopen modules. parameters. SOFT FVC UP TO 10m3 SOFT TANDEM AXES SOFT FVC MORE TO 10m3 Tandem axes.
  • Page 12 BLANK PAGE ·12·...
  • Page 13: Declaration Of Ce Conformity And Warranty Conditions

    P r o gr a m mi n g m a nu a l . DECLARATION OF CE CONFORMITY AND WARRANTY CONDITIONS DECLARATION OF CONFORMITY The declaration of conformity for the CNC is available in the downloads section of FAGOR’S corporate website. http://www.fagorautomation.com. (Type of file: Declaration of conformity).
  • Page 14 BLANK PAGE ·14·...
  • Page 15: Version History - Cnc 8070

    P r o gr a m mi n g m a nu a l . VERSION HISTORY - CNC 8070 Here is a list of the features added to each manual reference. Ref. 0201 Software V01.00 First version. Milling model. Ref.
  • Page 16 P r o g r a m mi ng ma n u a l. Software V02.01 Optimize the reading and writing of variables from the PLC. Only the access • Reading and writing of variables from the PLC. to the following variables will be asynchronous. •...
  • Page 17 Pro gramm i ng man u a l. Software V03.01 The instruction #EXEC does not issue an error if the channel is busy; the • #EXEC instruction. instruction waits for the operation in progress to end. The instruction #EXBLK does not issue an error if the channel is busy; the •...
  • Page 18 P r o g r a m mi ng ma n u a l. Ref. 0801 Software V03.20 Set change. The CNC lets change the gear of the slave axis or spindle of a tandem. Coordinate latching with the help of a probe or a digital input. •...
  • Page 19 Pro gramm i ng man u a l. Software V04.10 (it does not include the features of version V04.02) Know the current position of the main rotary axes of the kinematics (third axis). • Variable: (V.)G.POSROTT Know the target position of the main rotary axes of the kinematics (third axis). •...
  • Page 20 Software V04.27.10 HSC. New SURFACE mode. • #HSC instruction. Generic user subroutines. • Functions G500-G599. Generic user subroutines pre-configured by Fagor. • G500-G501 functions. "program-start" subroutine. Override of the dynamics for HSC. • Variable: (V.)G.DYNOVR New name for the (V.)G.CONTERROR variable •...
  • Page 21 Pro gramm i ng man u a l. Software V05.10 Position to be occupied by the fourth rotary axis of the kinematics in order to • Variable: (V.)G.TOOLORIO1 position the tool perpendicular to the inclined plane (solution 1 and 2). (V.)G.TOOLORIO2 Status of the #CSROT function.
  • Page 22 P r o g r a m mi ng ma n u a l. Software V05.31 Percentage of loop time (cycle time) used by the PLC. • Variable: (V.)G.PLCTIMERATE Percentage of loop time (cycle time) used by the dynamic preparation of the •...
  • Page 23: Safety Conditions

    Read the following safety measures in order to prevent harming people or damage to this product and those products connected to it. Fagor Automation shall not be held responsible of any physical or material damage originated from not complying with these basic safety rules.
  • Page 24 Central unit enclosure. To maintain the right ambient conditions in the enclosure of the central unit, it must meet the requirements indicated by Fagor. See the corresponding chapter in the hardware manual. Power switch. This switch must be easy to access and at a distance between 0.7 and 1.7 m (2.3 and 5.6 ft) off the floor.
  • Page 25 Pro gramm i ng man u a l. Symbols that the product may carry. Ground symbol. This symbol indicates that that point must be under voltage. ESD components. This symbol identifies the cards as ESD components (sensitive to electrostatic discharges). CNC 8070 : 1709) ·25·...
  • Page 26 BLANK PAGE ·26·...
  • Page 27: Returning Conditions

    P r o gr a m mi n g m a nu a l . RETURNING CONDITIONS Pack it in its original package along with its original packaging material. If you do not have the original packaging material, pack it as follows: Get a cardboard box whose 3 inside dimensions are at least 15 cm (6 inches) larger than those of the unit itself.
  • Page 28 BLANK PAGE ·28·...
  • Page 29: Cnc Maintenance

    • Do not handle the connectors with the unit supplied with power. Before handling these connectors (I/O, feedback, etc.), make sure that the unit is not powered. • Do not get into the inside of the unit. Only personnel authorized by Fagor Automation may access the interior of this unit.
  • Page 30 BLANK PAGE ·30·...
  • Page 31: Programming Languages

    CREATING A PROGRAM. Programming languages. The CNC has its own programming language described in this manual. The program is edited block by block and each one may be written in ISO language or in High level language. See "1.3 Program block structure." on page 35.
  • Page 32: Program Structure

    P r o g r a m mi ng ma n u a l. Program structure. A CNC program consists of a set of blocks or instructions that properly organized, in subroutines or in the program body, provide the CNC with the necessary data to machine the desired part.
  • Page 33: Program Body

    Pro gramm i ng man u a l. 1.2.1 Program body. The body of the program has the following structure. Header The header indicates the beginning of the body of the program. The header must be programmed when the program has local subroutines.
  • Page 34: The Subroutines

    P r o g r a m mi ng ma n u a l. 1.2.2 The subroutines. A subroutine is a set of blocks that, once properly identified, may be called upon several times from another subroutine or from the program. Subroutines are normally used for defining a bunch of operations or movements that are repeated several times throughout the program.
  • Page 35: Program Block Structure

    Pro gramm i ng man u a l. Program block structure. The blocks comprising the subroutines or the program body may be defined by commands in ISO code or in high-level language. Each block must be written in either language but not mixed;...
  • Page 36: Programming In Iso Code

    P r o g r a m mi ng ma n u a l. 1.3.1 Programming in ISO code. ISO-coded functions consist of letters and numbers. The letters are "N", "G", "F", "S", "T", "D", "M", "H", "NR" plus those identifying the axes. The numbers include digits "0"...
  • Page 37 Pro gramm i ng man u a l. ·S· Spindle speed. This function sets the spindle speed. The spindle name is defined by 1 or 2 characters. The first character is the letter S and the second character is optional, it must be a numerical suffix between 1 and 9. This way, the name of the spindles may be within the range S, S1 ...
  • Page 38: High-Level Language Programming

    P r o g r a m mi ng ma n u a l. 1.3.2 High-level language programming. The commands of high level language are made up of control instructions "#" and flow control instructions "$". Block structure. A block may have the following commands, but needs not contain all of them. / N—...
  • Page 39: Programming Of The Axes

    Pro gramm i ng man u a l. Programming of the axes. Programming using the name of the axis. The axis name is defined by 1 or 2 characters. The first character must be one of the letters X - Y - Z - U - V - W - A - B - C. The second character is optional and will be a numerical suffix between 1 and 9.
  • Page 40: List Of "G" Functions

    P r o g r a m mi ng ma n u a l. List of "G" functions. The following tables show a list of "G" functions available at the CNC. The meaning of the "M", "D" and "V" fields of the table is the following: ·M·...
  • Page 41 Pro gramm i ng man u a l. Function Meaning Absolute zero offset 4. Absolute zero offset 5. Absolute zero offset 6. Square corner (not modal). 11.1 Controlled corner rounding (not modal). 11.3 Rigid tapping. 10.3 (·T· model). Pattern repeat canned cycle. - - - (·T·...
  • Page 42 P r o g r a m mi ng ma n u a l. Function Meaning G152 Programming in radius. G157 Excluding axes in the zero offset. 5.5.3 G158 Incremental zero offset. 5.5.2 G159 Additional absolute zero offsets. G160 (·M· model). Multiple machining in a straight line. - - - G160 (·T·...
  • Page 43: List Of Auxiliary (Miscellaneous) M Functions

    Pro gramm i ng man u a l. List of auxiliary (miscellaneous) M functions. The following table shows a list of "M" functions available at the CNC. Next to each function, it indicates which chapter of this manual describes it; if no chapter is indicated, the function is described in another manual.
  • Page 44: List Of Statements And Instructions

    P r o g r a m mi ng ma n u a l. List of statements and instructions. The following tables show a list of statements and instructions functions available at the CNC. Next to each of them, it indicates which chapter of this manual describes it; if no chapter is indicated, the function is described in another manual.
  • Page 45 Pro gramm i ng man u a l. Instruction Meaning #EXEC It executes a program in the indicated channel. 15.1 #FACE "C" axis. Machining on the face of the part. 16.2 #FEEDND Smooth the path and the feedrate. 12.5 #FLUSH Interrupt block preparation.
  • Page 46 P r o g r a m mi ng ma n u a l. Instruction Meaning #TSYNC Spindle synchronization. Synchronization of the theoretical coordinate. 22.1.11 #UNLINK Cancel the electronic coupling (slaving) of axes. 22.1.7 #UNPARK Unpark an axis 22.1.8 #UNSYNC Spindle synchronization.
  • Page 47: Comment Programming

    Pro gramm i ng man u a l. Comment programming. Any comment may be associated with the blocks. When executing the program, the CNC ignores this information. The CNC offers various methods to include comments in the program. Programming comments in parenthesis "(" and ")". The comment must go in parenthesis "("...
  • Page 48: Variables And Constants

    P r o g r a m mi ng ma n u a l. Variables and constants. Constants. They are fixed values that cannot be modified by program; constants are numbers in decimal, binary and hexadecimal system and read-only tables and variables because their value cannot be changed within a program.
  • Page 49: Arithmetic Parameters

    Pro gramm i ng man u a l. 1.10 Arithmetic parameters. Arithmetic parameters are general purpose variables that the user may utilize to create his/her own programs. The CNC has global, local and common arithmetic parameters. The range of available parameters of each type is defined in the machine parameters. Arithmetic parameters are programmed with the "P"...
  • Page 50: Arithmetic And Logic Operators And Functions

    P r o g r a m mi ng ma n u a l. 1.11 Arithmetic and logic operators and functions. An operator is a symbol that indicates the mathematical or logic operations to carry out. The CNC offers the following types of operators. Arithmetic operators.
  • Page 51 Pro gramm i ng man u a l. Boolean constants. TRUE True $IF V.S.VAR == TRUE FALSE Not true $IF V.S.VAR == FALSE Trigonometric functions. SIN[...] Sine P1 = SIN[30] P1 = 0.5 COS[...] Cosine P2 = COS[30] P2 = 0.866 TAN[...] Tangent P3 = TAN[30]...
  • Page 52: Arithmetic And Logic Expressions

    P r o g r a m mi ng ma n u a l. 1.12 Arithmetic and logic expressions. An expression is any valid combination of operators, constants, parameters and variables. Expressions may be used to program the numerical portion of any function, statement, etc. The priorities of the operators and the way they can be associated determine how these expressions are calculated: Priority from highest to lowest...
  • Page 53: Axis Nomenclature

    MACHINE OVERVIEW Axis nomenclature With this CNC, the manufacturer may select up to 28 axes (that must be properly defined as linear, rotary, etc. by setting machine parameters), without no limitation as how to program them and they may all be interpolated at the same time. The DIN 66217 standard denomination for the axes is: X-Y-Z Main axes of the machine.
  • Page 54 P r o g r a m mi ng ma n u a l. Right-hand rule The direction of the X-Y-Z axes can easily be remembered using the right-hand rule (see the drawing below). On rotary axes, the positive turning direction is determined by the direction pointed by your fingers when holding the rotary axis with your hand while your thumb points in the positive direction of the linear axis.
  • Page 55: Coordinate System

    Pro gramm i ng man u a l. Coordinate system Since one of the CNC's purposes is to control the movement and positioning of the axes, a coordinate system is required that permits defining the position of the various target (destination) points in the plane (2D) or in space (3D).
  • Page 56: Reference Systems

    P r o g r a m mi ng ma n u a l. Reference systems A machine may use the following reference systems. • Machine reference system. It is the coordinate system of the machine and it is set by the manufacturer of the machine. •...
  • Page 57: Origins Of The Reference Systems

    Pro gramm i ng man u a l. 2.3.1 Origins of the reference systems The position of the different reference systems is determined by their respective origin points. Machine zero. It is the origin point of the machine reference system, set by the machine manufacturer. Fixture zero It is the origin point of the fixture reference system being used.
  • Page 58: Home Search

    P r o g r a m mi ng ma n u a l. Home search 2.4.1 Definition of "Home search" It is the operation used to synchronize the system. This operation must be carried out when the CNC loses the position of the origin point (e.g. by turning the machine off). In order to perform the "Home search", the machine manufacturer has set particular points of the machine;...
  • Page 59: Home Search" Programming

    Pro gramm i ng man u a l. 2.4.2 "Home search" programming When programming a "Home search", the axes are homed sequentially in the order set by the operator. All the axes need not be included in the "Home search", only those being homed.
  • Page 60 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·60·...
  • Page 61: Programming In Millimeters (G71) Or In Inches (G70)

    COORDINATE SYSTEM Programming in millimeters (G71) or in inches (G70) The displacements and feedrates of the axes may be defined in millimeters or in inches. The unit system may be selected by program using the following functions: Programming in inches. Programming in millimeters.
  • Page 62: Absolute (G90) Or Incremental (G91) Coordinates

    P r o g r a m mi ng ma n u a l. Absolute (G90) or incremental (G91) coordinates. The coordinates of the various points may be defined in absolute coordinates (referred to the active origin point) or incremental coordinates (referred to the current position). The type of coordinates may be selected by program using the following functions: Programming in absolute coordinates.
  • Page 63: Rotary Axes

    Pro gramm i ng man u a l. 3.2.1 Rotary axes. The CNC admits different ways to configure a rotary axis depending on how it is going to move. Hence, the CNC can have rotary axes with travel limits, for example between 0º and 180º...
  • Page 64 P r o g r a m mi ng ma n u a l. Positioning-only rotary axis. This type of rotary axis can move in both directions; but in absolute movements, it only moves via the shortest path. The CNC displays the position values between the limits of the module. G90 movements.
  • Page 65: Absolute And Incremental Coordinates In The Same Block (I)

    Pro gramm i ng man u a l. Absolute and incremental coordinates in the same block (I). The "I" command may be added to the programmed coordinate and it may be used to make it incremental. This command is non-modal and indicates that the coordinate is programmed incrementally, regardless of the rest of the block and of the G90/G91 function that is currently active.
  • Page 66: Programming In Radius (G152) Or In Diameters (G151)

    P r o g r a m mi ng ma n u a l. Programming in radius (G152) or in diameters (G151). The following functions are oriented to lathe type machines. Programming in diameters is only available on the axes allowed by the machine manufacturer (DIAMPROG=YES). Programming in radius or diameters may be selected by program with these functions: G151 Programming in diameters.
  • Page 67: Coordinate Programming

    Pro gramm i ng man u a l. Coordinate programming 3.5.1 Cartesian coordinates Coordinates are programmed according to a Cartesian coordinate system. This system consists of two axes in the plane and three or more in space. Definition of position values The position of a point in this system is given by its coordinates in the different axes.
  • Page 68: Polar Coordinates

    P r o g r a m mi ng ma n u a l. 3.5.2 Polar coordinates When having circular elements or angular dimensions, polar coordinates may be more convenient to express the coordinates of the various points in the plane. This type of coordinates requires a reference point referred to as "polar origin"...
  • Page 69 Pro gramm i ng man u a l. Examples. Point definition in polar coordinates. 63.4 33.7 33.7 33.7 360 63.4 CNC 8070 : 1709) ·69·...
  • Page 70: Angle And Cartesian Coordinate

    P r o g r a m mi ng ma n u a l. 3.5.3 Angle and Cartesian coordinate. In the main plane, a point may be defined using one of its Cartesian coordinates (X..Z) and the angle (Q) formed by the abscissa axis and the line joining the starting point and the final point.
  • Page 71 Pro gramm i ng man u a l. Programming example (·T· model) G00 G90 X0 Z160 ; Point P0 G01 X30 Q90 ; Point P1 G01 Z110 Q150 ; Point P2 G01 Z80 Q180 ; Point P3 G01 Z50 Q145 ; Point P4 G01 X100 Q90 ;...
  • Page 72 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·72·...
  • Page 73 WORK PLANES. The work planes determine which axes define the work plane/trihedron and which axis corresponds to the longitudinal axis of the tool. Plane selection is required to execute operations like: • Circular and helical interpolations. • Corner chamfering and rounding. •...
  • Page 74: About Work Planes On Lathe And Mill Models

    P r o g r a m mi ng ma n u a l. About work planes on lathe and mill models. The operation of the work planes depends on the geometric configuration of the axes. At a mill model, the geometric configuration of the axes is always of the "trihedron" type whereas at a lathe model, the geometric configuration of the axes may be either a "trihedron"...
  • Page 75: Select The Main New Work Planes

    Pro gramm i ng man u a l. Select the main new work planes. 4.2.1 Mill model or lathe model with "trihedron" type axis configuration. The main planes may be selected by program using functions G17, G18 and G19 and are formed by two of the first three axes of the channel.
  • Page 76: Lathe Model With "Plane" Type Axis Configuration

    P r o g r a m mi ng ma n u a l. 4.2.2 Lathe model with "plane" type axis configuration. The work plane is always G18 and will be formed by the first two axes defined in the channel. Functions G17 and G19 have no meaning for the CNC.
  • Page 77: Select Any Work Plane And Longitudinal Axis

    Pro gramm i ng man u a l. Select any work plane and longitudinal axis. The meaning of function G20 depends on the type of configuration of the machines axes; "plane" type for lathe or "trihedron" type for lathe or mill. •...
  • Page 78 P r o g r a m mi ng ma n u a l. Select the longitudinal axis of the tool. When selecting the longitudinal axis with G20, tool orientation may be established according to the programmed sign. • If the parameter to select the longitudinal axis is positive, the tool is positioned in the positive direction of the axis.
  • Page 79: Select The Longitudinal Axis Of The Tool

    Pro gramm i ng man u a l. Select the longitudinal axis of the tool. The instruction #TOOL AX allows changing the longitudinal axis of the tool except on those for turning. This instruction allows to select any machine axis as the new longitudinal axis. Programming.
  • Page 80 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·80·...
  • Page 81 ORIGIN SELECTION With this CNC, it is possible to program movements in the machine reference system or apply offsets in order to use reference systems referred to the fixtures or the part without having to change the coordinates of the different points of the part in the program. There are three different offset types;...
  • Page 82 P r o g r a m mi ng ma n u a l. Programming with respect to machine zero Machine zero is the origin of the machine reference system. Movements referred to machine zero are programmed using the instructions #MCS and #MCS ON/OFF. Program a movement referred to machine zero.
  • Page 83 Pro gramm i ng man u a l. System units; millimeters or inches When moving with respect to machine reference zero, the G70 or G71 units (inches/millimeters) selected by the user are ignored. It assumes the units predefined at the CNC (INCHES parameter);...
  • Page 84: Set The Machine Coordinate (G174)

    P r o g r a m mi ng ma n u a l. Set the machine coordinate (G174). Use this function with caution. Changing the machine coordinate can cause the axes to exceed the travel limits during the movement. Function G174 may be used to set the machine coordinate of an axis or spindle;...
  • Page 85: Fixture Offset

    Pro gramm i ng man u a l. Fixture offset With fixture offsets, it is possible to select the fixture system to be used (when having more than one fixture). When applying a new fixture offset, the CNC assumes the point set by the new selected fixture as the new fixture zero.
  • Page 86: Coordinate Preset (G92)

    P r o g r a m mi ng ma n u a l. Coordinate preset (G92) Coordinate presetting is done with function G92 and it may be applied onto any axis of the machine. When presetting coordinates, the CNC interprets that the axis coordinates programmed after function G92 define the current position of the axes.
  • Page 87: Zero Offsets (G54-G59/G159)

    Pro gramm i ng man u a l. Zero offsets (G54-G59/G159) The zero offsets may be used to set the part zero at different positions of the machine. When applying a zero offset, the CNC assumes as the new part zero the point defined by the selected zero offset.
  • Page 88 P r o g r a m mi ng ma n u a l. G54 (G159=1) G55 (G159=2) G56 (G159=3) G57 (G159=4) N100 V.A.ORGT[1].X=0 V.A.ORGT[1].Z=420 N110 V.A.ORGT[2].X=0 V.A.ORGT[2].Z=330 N100 V.A.ORGT[3].X=0 V.A.ORGT[3].Z=240 N100 V.A.ORGT[4].X=0 V.A.ORGT[3].Z=150 N100 G54 (It applies the first absolute zero offset) ···...
  • Page 89: Variables For Setting Zero Offsets

    Pro gramm i ng man u a l. 5.5.1 Variables for setting zero offsets Zero offset table (without fine setting of the absolute zero offset). The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 90: Incremental Zero Offset (G158)

    P r o g r a m mi ng ma n u a l. 5.5.2 Incremental zero offset (G158) When applying an incremental zero offset, the CNC adds it to the absolute zero offset active at a time. Programming Incremental zero offset are defined by program using function G158 followed by the values of the zero offset to be applied on each axis.
  • Page 91 Pro gramm i ng man u a l. ··· (Machining of profile A2) N300 G55 (It applies the second absolute zero offset) (The incremental zero offset stays active) ··· (Machining of profile A3) N200 G158 Z-180 (It applies the second incremental zero offset) ···...
  • Page 92: Excluding Axes In The Zero Offset (G157)

    P r o g r a m mi ng ma n u a l. 5.5.3 Excluding axes in the zero offset (G157) Excluding axes allows to select on to which axes the next absolute zero offset will not be applied. After applying the zero offset, the programmed axis exclusion is canceled and it has to be programmed again in order to apply it again.
  • Page 93: Zero Offset Cancellation (G53)

    Pro gramm i ng man u a l. Zero offset cancellation (G53) Executing function G53 cancels the active zero offset resulting either from a preset (G92) or from a zero offset, including the incremental offset and the defined axis exclusion. It also cancels the zero offset due to a probing operation.
  • Page 94: Polar Origin Preset (G30)

    P r o g r a m mi ng ma n u a l. Polar origin preset (G30) Function G30 may be used to preset any point of the work plane as the new polar origin. If not selected, it assumes as polar origin the origin of the active reference system (part zero). Programming The polar origin preset must be programmed alone in the block.
  • Page 95 Pro gramm i ng man u a l. G18 G151 ; Main plane Z-X, and programming in diameters. G90 X180 Z50 ; Point P0, programming in diameters. G01 X160 ; Point P1, in a straight line (G01). G30 I90 J160 ;...
  • Page 96 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·96·...
  • Page 97: Machining Feedrate (F)

    TECHNOLOGICAL FUNCTIONS Machining feedrate (F) The machining feedrate may be selected by programmed using the "F" code which remains active until another value is programmed. The programming units depend on the active work mode (G93, G94 or G95) and the type of axis being moved (linear or rotary). - Feedrate in millimeters/minute (inches/minute).
  • Page 98 P r o g r a m mi ng ma n u a l. Understanding how the CNC calculates the feedrate. The feedrate is measured along the tool path, either along the straight line (linear interpolations) or along the tangent of the indicated arc (circular interpolations). Feedrate direction on linear and circular interpolations.
  • Page 99: Feedrate Related Functions

    Pro gramm i ng man u a l. Feedrate related functions 6.2.1 Feedrate programming units (G93/G94/G95) The functions related to programming units permit selecting whether mm/minute (inches/minute) or mm/revolution (inches/rev.) are programmed or, instead, the time the axes will take to reach their target position. Programming The functions related to programming units are: Feedrate in millimeters/minute (inches/minute).
  • Page 100: Feedrate Blend (G108/G109/G193)

    P r o g r a m mi ng ma n u a l. 6.2.2 Feedrate blend (G108/G109/G193) With these functions, it is possible to blend the feedrate between consecutive blocks programmed with different feedrates. Programming The functions related to feedrate blending are: G108 Feedrate blending at the beginning of the block.
  • Page 101 Pro gramm i ng man u a l. Considerations Adapting the feedrate (G108 and G109) is only available when the manufacturer has set the CNC to operate with either trapezoidal or square-sine (bell shaped) acceleration. Feedrate interpolation (G193) is only available when the manufacturer has set the CNC to operate with linear acceleration.
  • Page 102: Constant Feedrate Mode (G197/G196)

    P r o g r a m mi ng ma n u a l. 6.2.3 Constant feedrate mode (G197/G196) With these functions, it is possible to choose whether the feedrate at the tool center is maintained constant while machining or the feedrate at the cutting edge so when working with tool radius compensation, the programmed "F"...
  • Page 103 Pro gramm i ng man u a l. N10 G01 G196 G41 X12 Y10 F600 (Tool radius compensation and constant tangential feedrate) N20 G01 X12 Y30 N30 G02 X20 Y30 R4 (Constant tangential feedrate) N40 G03 X30 Y20 R10 (Constant tangential feedrate) N50 #TANGFEED RMIN [5] (Minimum radius = 5) N60 G01 X40 Y20...
  • Page 104: Cancellation Of The % Of Feedrate Override (G266)

    P r o g r a m mi ng ma n u a l. 6.2.4 Cancellation of the % of feedrate override (G266) G266 Feedrate override at 100% This function sets the feedrate override at 100%, which can neither be changed by selector switch on the operator panel nor via PLC.
  • Page 105: Acceleration Control (G130/G131)

    Pro gramm i ng man u a l. 6.2.5 Acceleration control (G130/G131) These functions allow to change the acceleration and deceleration of the axes and spindles. Programming The functions related to acceleration control are: G130 Percentage of acceleration to be applied per axis or spindle. G131 Percentage of acceleration to be applied, global.
  • Page 106 P r o g r a m mi ng ma n u a l. Properties of the functions Functions G130 and G131 are modal and incompatible with each other. On power-up, after an M02, M30, EMERGENCY or a RESET, the CNC restores 100% of acceleration for all the axes and spindles.
  • Page 107: Jerk Control (G132/G133)

    Pro gramm i ng man u a l. 6.2.6 Jerk control (G132/G133) The jerk of axes and spindles may be modified with these functions. Programming The functions associated with jerk control are: G132 Percentage of jerk to be applied per axis or spindle. G133 Percentage of jerk to be applied, global.
  • Page 108: Feed-Forward Control (G134)

    P r o g r a m mi ng ma n u a l. 6.2.7 Feed-Forward control (G134) Feed-Forward control may be used to reduce the amount of following error (axis lag). Feed-forward may be applied via machine parameters and via PLC as well as by program. The value defined by PLC will be the one with the highest priority and the one defined by the machine parameters will have the lowest priority.
  • Page 109: Ac-Forward Control (G135)

    Pro gramm i ng man u a l. 6.2.8 AC-Forward control (G135) AC-Forward control may be used to improve system response in acceleration changes and reduce the amount of following error (axis lag) on the acceleration and deceleration stages. AC-forward may be applied via machine parameters and via PLC as well as by program. The value defined by PLC will be the one with the highest priority and the one defined by the machine parameters will have the lowest priority.
  • Page 110: Spindle Speed (S)

    P r o g r a m mi ng ma n u a l. Spindle speed (S) The spindle speed is selected by program using the spindle name followed by the desired speed. The speeds of all the spindles of the channel may be programmed in the same block. See chapter "7 The spindle.
  • Page 111: Tool Number (T)

    Pro gramm i ng man u a l. Tool number (T) The "T" code identifies the tool to be selected. The tools may be in a magazine managed by the CNC or in a manual magazine (referred to as ground tools). The programming format is T<0-4294967294>...
  • Page 112 P r o g r a m mi ng ma n u a l. Loading and unloading a tool in the magazine To load the tools into the magazine, the magazine must be in load mode. To unload the tools from the magazine, the magazine must be in unload mode.
  • Page 113 Pro gramm i ng man u a l. Positioning a turret magazine. The CNC allows positioning the turret in a particular position whether there is a tool in the indicated position or not. If the selected position contains a tool, the CNC assumes it as programmed tool;...
  • Page 114: Tool Offset Number (D)

    P r o g r a m mi ng ma n u a l. Tool offset number (D) The tool offset contains the tool dimensions. Each tool may have several offsets associated with it in such a way that when using combined tools having parts with different dimensions, a different offset number will be used for each of those parts.
  • Page 115 Pro gramm i ng man u a l. N10 ... N20 T1 M06 (Select and load tool T1. Offset D1 is activated by default) N30 F500 S1000 M03 N40 ... (Operation 1) N50 T2 (Prepare tool T2) N60 D2 (Select tool offset D2 for tool T1) N70 F300 S800 N80 ...
  • Page 116: Auxiliary (Miscellaneous) Functions (M)

    P r o g r a m mi ng ma n u a l. Auxiliary (miscellaneous) functions (M) Auxiliary "M" functions are related to the overall CNC program execution and the control of the various devices of the machine such as spindle gear change, coolant, tool changes and so on.
  • Page 117: List Of "M" Functions

    Pro gramm i ng man u a l. 6.6.1 List of "M" functions Program Interruption (M00/M01) Program stop. Function M00 interrupts the execution of the program. It does not stop the spindle or initialize the cutting conditions. The [CYCLE START] key of the operator panel must be pressed again in order to resume program execution.
  • Page 118: Auxiliary Functions (H)

    P r o g r a m mi ng ma n u a l. Auxiliary functions (H) Auxiliary "H" functions are used to send information out to the PLC. They differ from the "M" functions in that the "H" functions do not wait for confirmation that the function has been executed in order to go on executing the program.
  • Page 119 THE SPINDLE. BASIC CONTROL. The CNC can have up to four spindles distributed between the various channels of the system. A channel may have one, several or no spindles associated with it. Each channel can only control its spindles; it is not possible to start up or stop the spindles of another channel directly.
  • Page 120: The Master Spindle Of The Channel

    P r o g r a m mi ng ma n u a l. The master spindle of the channel The master spindle is the main spindle of the channel. It is the spindle that receives the commands when no specific spindle is mentioned. In general, whenever a channel has a single spindle, it will be its master spindle.
  • Page 121 Pro gramm i ng man u a l. • If two or more spindles remain in a channel and none of the previous rules can be applied, it applies the following criteria. If any of the spindles is the original master, it is assumed as master spindle. If it is parked, it selects the next spindle from the original configuration (those defined by the machine parameters) and so on.
  • Page 122: Manual Selection Of A Master Spindle

    P r o g r a m mi ng ma n u a l. 7.1.1 Manual selection of a master spindle Selecting a new master spindle Whenever a channel has a single spindle, it will be its master spindle. When a channel has several spindles, the CNC will choose the master spindle according to the criteria described earlier.
  • Page 123: Spindle Speed

    Pro gramm i ng man u a l. Spindle speed The spindle speed is selected by program using the spindle name followed by the desired speed. The speeds of all the spindles of the channel may be programmed in the same block. It is not possible to program the speed of a spindle that is not in the channel.
  • Page 124: G192. Turning Speed Limitation

    P r o g r a m mi ng ma n u a l. 7.2.1 G192. Turning speed limitation Function G192 limits the spindle turning speed in both work modes; G96 and G97. This function is especially useful when working at constant cutting speed while machining large parts or when doing spindle maintenance work.
  • Page 125: Constant Surface Speed

    Pro gramm i ng man u a l. 7.2.2 Constant surface speed The following functions are oriented to lathe type machines. In order for Constant Surface Speed mode to be available, the machine manufacturer must have set one of the axis -face axis- (usually axis perpendicular to the shaft of the part).
  • Page 126: Spindle Start And Stop

    P r o g r a m mi ng ma n u a l. Spindle start and stop A speed must be set in order to start up a spindle. The spindle start-up and stop are defined using the following auxiliary functions. M03 - Start the spindle clockwise.
  • Page 127 Pro gramm i ng man u a l. Knowing which is the preset turning direction. The turning direction preset for each tool may be consulted in the tool table; the one for the active tool can also be consulted with a variable. (V.)G.SPDLTURDIR This variable returns the preset turning speed of the active tool.
  • Page 128: Gear Change

    P r o g r a m mi ng ma n u a l. Gear change. Each spindle may have up to 4 different ranges (gears). Each gear means a speed range for the CNC work in. The programmed speed must be within the active gear; otherwise, a gear change will be required.
  • Page 129 Pro gramm i ng man u a l. (V.)[n].G.MS[i] Variable that can only be read from the PRG and PLC. The variable indicates the status of the auxiliary Mi function This variable returns a ·1· if it is active and a ·0· if not. Gear change on Sercos spindles.
  • Page 130: Spindle Orientation

    P r o g r a m mi ng ma n u a l. Spindle orientation. This work mode is only available on machines having a rotary encoder installed on the spindle. The spindle orientation is defined with function M19. This function stops the spindle and it positions it at an angle defined by parameter "S".
  • Page 131 Pro gramm i ng man u a l. How is positioning carried out When executing function M19, the CNC behaves as follows. The CNC stops the spindle (if it was turning). The spindle no longer works in speed mode and it switches to positioning mode. If it is the first time the M19 is executed, the CNC homes the spindle (home search).
  • Page 132: The Turning Direction For Spindle Orientation

    P r o g r a m mi ng ma n u a l. 7.5.1 The turning direction for spindle orientation The turning direction for positioning may be set with function M19; if not defined, the CNC applies a turning direction by default. Each spindle may have a different turning direction by default.
  • Page 133 Pro gramm i ng man u a l. How to know the type of spindle. The type of spindle may be checked directly in the machine parameter table or using the following variables. (V.)SP.SHORTESTWAY.Sn Variable that can only be read from the PRG and PLC. This variable indicates whether the spindle Sn orients via the shortest way.
  • Page 134: M19 Function With An Associated Subroutine

    P r o g r a m mi ng ma n u a l. 7.5.2 M19 function with an associated subroutine. Function M19 may have a subroutine associated with them that the CNC executes instead of the function. If, within a subroutine associated with an "M" function, the same "M" function is programmed, The CNC will executed it;...
  • Page 135: Positioning Speed

    Pro gramm i ng man u a l. 7.5.3 Positioning speed It is possible to set the spindle positioning (orienting) speed; if it is not set, the CNC assumes the one set by machine parameter REFEED1as the positioning speed. Each spindle may have a different positioning speed.
  • Page 136: M Functions With An Associated Subroutine

    P r o g r a m mi ng ma n u a l. M functions with an associated subroutine. M3, M4, M5, M19 and M41 to M44 may have a subroutine associated with them that the CNC executes instead of the function. Although a function may affect more than one spindle in the same block, the CNC only executes the subroutine once per block.
  • Page 137: Rapid Traverse (G00)

    PATH CONTROL. Rapid traverse (G00). Function G00 executes a rapid positioning, according to a straight line and to the rapid traverse determined by the OEM, from the current position to the programmed point. Regardless of the number of axes involved, the resulting path is always a straight line. If auxiliary or rotary axes are programmed in the linear interpolation block, the CNC will calculate the feedrate for those axes so their movement begins and ends simultaneously with the main axes.
  • Page 138 P r o g r a m mi ng ma n u a l. • For polar coordinates, define the radius (R) and the angle (Q) of the end point relative to the polar origin. The "R" radius will be the distance between the polar origin and the point.
  • Page 139: Linear Interpolation (G01)

    Pro gramm i ng man u a l. Linear interpolation (G01). Function G01 activates the linear movement, according to the active "F" feedrate, for the following programmed movements. If auxiliary or rotary axes are programmed in the linear interpolation block, the CNC will calculate the feedrate for those axes so their movement begins and ends simultaneously with the main axes.
  • Page 140 P r o g r a m mi ng ma n u a l. • For polar coordinates, define the radius (R) and the angle (Q) of the end point relative to the polar origin. The "R" radius will be the distance between the polar origin and the point.
  • Page 141 Pro gramm i ng man u a l. Programming example (M model). Absolute and incremental cartesian coordinates. Absolute coordinates. N10 G00 G90 X20 Y15 N20 G01 X70 Y15 F450 N30 Y30 N40 X45 Y45 N50 X20 N60 Y15 N70 G00 X0 Y0 N80 M30 Incremental coordinates.
  • Page 142 P r o g r a m mi ng ma n u a l. Programming example (M model). Cartesian and Polar coordinates. N10 T1 D1 N20 M06 N30 G71 G90 F450 S1500 M03 (Initial conditions) N40 G00 G90 X-40 Y15 Z10 (Approaching profile 1) N50 G01 Z-5 N60 X-40 Y30...
  • Page 143 Pro gramm i ng man u a l. Programming example (T model). Programming in radius. Absolute coordinates. G90 G95 G96 F0.15 S180 T2 D1 M4 M41 G0 X50 Z100 G1 X0 Z80 ; Point A G1 X15 Z65 ; A-B section ;...
  • Page 144 P r o g r a m mi ng ma n u a l. Programming example (T model). Programming in diameters. Absolute coordinates. G90 G95 G96 F0.15 S180 T2 D1 M4 M41 G0 X100 Z100 G1 X0 Z80 ; Point A G1 X30 Z65 ;...
  • Page 145: Circular Interpolation (G02/G03)

    Pro gramm i ng man u a l. Circular interpolation (G02/G03). Movements programmed for G02 and G03 are executed along a circular tool path at the programmed feedrate "F" from the current position to the indicated target point. A circular interpolation can only be executed in the active plane.
  • Page 146 P r o g r a m mi ng ma n u a l. Considerations for the feedrate. • The programmed feedrate "F" stays active until a new value is programmed, thus not being necessary to program it in every block. •...
  • Page 147: Cartesian Coordinates (Arc Center Programming)

    Pro gramm i ng man u a l. 8.3.1 Cartesian coordinates (Arc center programming). The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and those of its center (referred to the starting point of the arc) according to the axes of the active work plane.
  • Page 148 P r o g r a m mi ng ma n u a l. Programming examples. XY plane (G17) XY plane (G17) YZ plane (G19) N10 G17 G71 G94 N10 G19 G71 G94 G02 X60 Y15 I0 J-40 N20 G01 X30 Y30 F400 N20 G00 Y55 Z0 N30 G03 X30 Y30 I20 J20 N30 G01 Y55 Z25 F400...
  • Page 149: Cartesian Coordinates (Arc Radius Programming)

    Pro gramm i ng man u a l. 8.3.2 Cartesian coordinates (arc radius programming). When programming an arc using the radius, it is not possible to program full circles because there are infinite solutions. The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point and its radius.
  • Page 150 P r o g r a m mi ng ma n u a l. Programming examples. XY plane (G17) ZX plane (G18) YZ plane (G19) G03 G17 X20 Y45 R30 G03 G18 Z20 X40 R-30 G02 G19 Y80 Z30 R30 CNC 8070 : 1709) ·150·...
  • Page 151: Cartesian Coordinates (Arc Radius Pre-Programming) (G263)

    Pro gramm i ng man u a l. 8.3.3 Cartesian coordinates (arc radius pre-programming) (G263). The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point. The arc radius is programmed in an earlier block, using function G263 or the command "R1".
  • Page 152: Polar Coordinates

    P r o g r a m mi ng ma n u a l. 8.3.4 Polar coordinates. The arc is defined by programming function G02 or G03 followed by the coordinates of the arc's end point (radius and angle) and those of its center (relative to the starting point of the arc) according to the axes of the active work plane.
  • Page 153 Pro gramm i ng man u a l. Plane. Programming the center. G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively. G17 (XY plane) G02/G03 R... Q... I... J... G18 (ZX plane) G02/G03 R...
  • Page 154: Programming Example (M Model). Polar Coordinates

    P r o g r a m mi ng ma n u a l. 8.3.5 Programming example (M model). Polar coordinates. Absolute coordinates. I n c r e m e n t a l coordinates. G00 G90 X0 Y0 F350 G00 G90 X0 Y0 F350 ;...
  • Page 155: Programming Example (M Model). Polar Coordinates

    Pro gramm i ng man u a l. 8.3.6 Programming example (M model). Polar coordinates. Absolute coordinates. G90 R46 Q65 F350 ; Point P1. G01 R31 Q80 ; Point P2. Straight line. G01 R16 ; Point P3. Straight line. G02 Q65 ;...
  • Page 156: Programming Example (T Model). Programming Examples

    P r o g r a m mi ng ma n u a l. 8.3.7 Programming example (T model). Programming examples. 63.4 33.7 33.7 33.7 360 63.4 Absolute coordinates. I n c r e m e n t a l coordinates.
  • Page 157: Polar Coordinates. Temporary Polar Origin Shift To The Center Of Arc (G31)

    Pro gramm i ng man u a l. 8.3.8 Polar coordinates. Temporary Polar origin shift to the center of arc (G31). Function G31 shifts temporarily the polar origin to the center of the programmed arc. This function only acts in the block that contains it; once the block has been executed, it restores the previous polar.
  • Page 158: Cartesian Coordinates. Arc Center In Absolute Coordinates (No-Modal) (G06)

    P r o g r a m mi ng ma n u a l. 8.3.9 Cartesian coordinates. Arc center in absolute coordinates (no-modal) (G06). Function G06 indicates that the absolute coordinates are defined by the center of the arc, relative to the origin of the active reference system (part zero, polar origin, etc.). G02 G06 Programming.
  • Page 159: Cartesian Coordinates. Arc Center In Absolute Coordinates (Modal) (G261/G262)

    Pro gramm i ng man u a l. 8.3.10 Cartesian coordinates. Arc center in absolute coordinates (modal) (G261/G262). Function G261 indicates that the absolute coordinates are defined by the center of the arc, relative to the origin of the active reference system (part zero, polar origin, etc.). Function G262 cancels function G261 and the arc center is then defined according to the starting point of the arc.
  • Page 160 P r o g r a m mi ng ma n u a l. Properties of the function and Influence of the reset, turning the CNC off and of the M30 function. • Functions G261 and G262 are modal and incompatible with each other. •...
  • Page 161: Arc Correction (G264/G265)

    Pro gramm i ng man u a l. 8.3.11 Arc correction (G264/G265). In order to execute the programmed arc, the CNC calculates the initial and end radii, which must be the same. When this is not the case, the CNC attempts to execute the arc by correcting its center along the tool path.
  • Page 162 P r o g r a m mi ng ma n u a l. Properties of the function and Influence of the reset, turning the CNC off and of the M30 function. • Functions G264 and G265 are modal and incompatible with each other. •...
  • Page 163: Arc Tangent To Previous Path (G08)

    Pro gramm i ng man u a l. Arc tangent to previous path (G08). Function G08 may program a circular tool path tangent to the previous path without having to program the center coordinates (I, J or K). The previous path may be either linear or circular.
  • Page 164 P r o g r a m mi ng ma n u a l. Programming examples. If you wish to program a straight line, then an arc tangential to the line and finally an arc tangential to the previous one. G90 G01 X70 G08 X90 Y60 G08 X110...
  • Page 165: Arc Defined By Three Points (G09)

    Pro gramm i ng man u a l. Arc defined by three points (G09). Function G09 allows a circular tool path (arc) to be defined, by programming the end point and an intermediate point; this means, instead of programming the coordinates of the center, it programs any intermediate point.
  • Page 166 P r o g r a m mi ng ma n u a l. Properties of the function and Influence of the reset, turning the CNC off and of the M30 function. • Function G09 may also be programmed as G9. •...
  • Page 167: Helical Interpolation (G02/G03)

    Pro gramm i ng man u a l. Helical interpolation (G02/G03). Helical interpolation consists of a circular interpolation in the work plane and a linear movement of the rest of the axes programmed. If the helical interpolation is supposed to make more than one turn, the helical pitch must be defined.
  • Page 168 P r o g r a m mi ng ma n u a l. Helical pitch. The helical pitch is defined using the letter "I", "J" or "K" associated with the axis perpendicular to the work plane. The pitch will not be affected by functions G90 and G91. Plane.
  • Page 169 TOOL PATH CONTROL. MANUAL INTERVENTION. Manual intervention makes it possible to activate the JOG mode by program; in other words, the axes may be jogged even while executing a program. The movement may be made using handwheels or the jog keys (incremental or continuous jog). The functions related to manual intervention are: G200 Exclusive manual intervention.
  • Page 170: Additive Manual Intervention (G201/G202)

    P r o g r a m mi ng ma n u a l. Additive manual intervention (G201/G202). The additive manual intervention makes it possible to jog the axes using handwheels or the jog keys (continuous or incremental) while executing the program. This function can be applied on any axis of the machine;...
  • Page 171: Exclusive Manual Intervention (G200)

    Pro gramm i ng man u a l. Exclusive manual intervention (G200). With exclusive manual intervention, the axes may be jogged using handwheels or jog keys (continuous or incremental) by interrupting the execution of the program. This function can be applied on any axis of the machine; however, it cannot be applied on the spindle, although this can work in positioning mode.
  • Page 172: Jogging Feedrate

    P r o g r a m mi ng ma n u a l. Jogging feedrate. 9.3.1 Feedrate in continuous jog (#CONTJOG). This statement allows the feedrate to be configured in continuous jog mode for the specified axis. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.
  • Page 173 Pro gramm i ng man u a l. 9.3.2 Feedrate in incremental jog (#INCJOG). This instruction configures the indicated incremental movement and axis feedrate for each incremental jog position of the selector switch. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.
  • Page 174 P r o g r a m mi ng ma n u a l. 9.3.3 Feedrate in incremental jog (#MPG). This instruction allows for the configuration, for each position on the handwheel, of the resolution of the handwheel on the specified axis. These values may be defined before or after activating manual intervention and stay active until the end of the program or a reset.
  • Page 175: Manual Path Movement Limits (#Set Offset)

    Pro gramm i ng man u a l. 9.3.4 Manual path movement limits (#SET OFFSET). This statement allows for the configuration of the movement limits made under additive manual intervention. These limits are ignored when executing the movements by program. The limits may be defined after activating manual intervention and stay active until it is deactivated.
  • Page 176: Synchronization Of Coordinates And Additive Manual Offset (#Sync Pos)

    P r o g r a m mi ng ma n u a l. 9.3.5 Synchronization of coordinates and additive manual offset (#SYNC POS). This instruction synchronizes the preparation coordinate with the execution one and assumes the additive manual offset. Programming.
  • Page 177: Variables

    Pro gramm i ng man u a l. Variables. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Reading these variables interrupts block preparation. Variable.
  • Page 178 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·178·...
  • Page 179: Electronic Threading With Constant Pitch (G33)

    ELECTRONIC THREADING AND RIGID TAPPING. 10.1 Electronic threading with constant pitch (G33) For electronic threading, the machine must have a rotary encoder installed on the spindle. The electronic threading executes the programmed thread in a single pass. In the electronic threading, the CNC does NOT interpolate the movement of the axes with the spindle.
  • Page 180 P r o g r a m mi ng ma n u a l. Thread pitch. • The pitch is defined by the letters "I", "J" or "K" depending on the active plane. G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.
  • Page 181 Pro gramm i ng man u a l. Feedrate behavior. The threading feedrate depends on the programmed spindle speed and thread pitch (Feedrate = Spindle speed x Pitch). The electronic threading is carried out at 100% of the calculated feedrate and these values cannot be modified from the CNC's operator panel or via PLC.
  • Page 182: Programming Examples (·M· Model)

    P r o g r a m mi ng ma n u a l. 10.1.1 Programming examples (·M· model) Single-entry electronic threading To make the following electronic thread in a single pass. Position: X30 Y30 Z0 Depth: 30mm Pitch: 1.5mm S100 M03 G01 G90 X30 Y30 Z0 G33 Z-30 K1.5...
  • Page 183: Programming Examples (·T· Model)

    Pro gramm i ng man u a l. 10.1.2 Programming examples (·T· model) Example programming the X axis in radius. Longitudinal electronic threading To make a cylindrical thread in a single pass, 2 mm deep and with a 5 mm pitch. S100 M03 G00 G90 X200 Z190 X116 Z180...
  • Page 184 P r o g r a m mi ng ma n u a l. Electronic taper threading To make a taper thread in a single pass, 2 mm deep and with a 5 mm pitch. S100 M03 G00 G90 X200 Z190 G33 X140 Z50 K5 G00 X200 Z190...
  • Page 185: Electronic Threading With Variable Pitch (G34)

    Pro gramm i ng man u a l. 10.2 Electronic threading with variable pitch (G34) For electronic threading, the machine must have a rotary encoder installed on the spindle. The electronic threading executes the programmed thread in a single pass. In the electronic threading, the CNC does NOT interpolate the movement of the axes with the spindle.
  • Page 186 P r o g r a m mi ng ma n u a l. Starting thread pitch. • The pitch is defined by the letters "I", "J" or "K" depending on the active plane. G17 G18 G19 Letters "I", "J" and "K" are associated with the first, second and third axis of the channel respectively.
  • Page 187 Pro gramm i ng man u a l. Considerations about execution. Beginning of threading. If threading begins in square (sharp) corner, the pitch increase in the first turn will be half the increment ("K1"/2) and it will be a full increment "K1" in the following turns. Interrupt execution ([STOP] key or PLC mark _FEEDHOL).
  • Page 188 P r o g r a m mi ng ma n u a l. Blending a thread of variable pitch (G34) with a thread of fixed pitch (G33). This combination is used to end a variable-pitch thread (G34) with a portion of the thread that maintains the final pitch of the previous thread.
  • Page 189: Rigid Tapping (G63)

    Pro gramm i ng man u a l. 10.3 Rigid tapping (G63) For rigid tapping, the machine must have a rotary encoder installed on the spindle. When rigid tapping, the CNC interpolates the movement of the longitudinal axis with the spindle.
  • Page 190 P r o g r a m mi ng ma n u a l. G63 Z0 S-150 M19 S240 (Third entry at 240º) G63 Z-50 S150 G63 Z0 S-150 3-entry thread, 50mm deep and 1mm pitch. Considerations for the execution Spindle speed behavior Threading is carried out a the speed defined with function G63.
  • Page 191: Withdraw The Axes After Interrupting An Electronic Threading (G233)

    Pro gramm i ng man u a l. 10.4 Withdraw the axes after interrupting an electronic threading (G233). This feature must be enabled by the OEM in the machine parameters (parameter RETRACTTHREAD); otherwise, when interrupting the execution while threading (using the [STOP] key or the PLC mark _FEEDHOL) the axes always stop at the end of the pass.
  • Page 192 P r o g r a m mi ng ma n u a l. Programming. Define the block to resume the block to resume execution after pressing [START]. To resume execution, press the [START] key; execution resumes at the next block where function G233 is programmed alone.
  • Page 193 Pro gramm i ng man u a l. Threading canned cycles, ISO and conversational (-T- model). The option to withdraw the axes when interrupting a threading operation depends on the configuration of the machine (parameter RETRACTTHREAD). RETRACTTHREAD Meaning. The CNC interrupts the threading and withdraws the axes. The CNC stops the axes at the end of the pass.
  • Page 194: Variables Related To G233

    P r o g r a m mi ng ma n u a l. 10.4.1 Variables related to G233. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 195: Square Corner (G07/G60)

    GEOMETRY ASSISTANCE 11.1 Square corner (G07/G60) When working in square corner mode, the CNC does not begin executing the next movement until the axis reaches the programmed position. The CNC considers that the programmed position has been reached when the axis is located within the "in position" zone set by the machine manufacturer (OEM) [A.M.P.
  • Page 196: Semi-Rounded Corner (G50)

    P r o g r a m mi ng ma n u a l. 11.2 Semi-rounded corner (G50) When working in semi-rounded corner, the CNC starts executing the next movement once the theoretical interpolation of the current move is completed without waiting for the axes to be in position.
  • Page 197: Controlled Corner Rounding, Radius Blend, (G05/G61)

    Pro gramm i ng man u a l. 11.3 Controlled corner rounding, radius blend, (G05/G61) When working in round corner, it is possible to control the corners of the programmed profile. How this machining is carried out depends on the type of corner rounding selected. Programming The type of corner rounding is selected with the "#ROUNDPAR"...
  • Page 198: Types Of Corner Rounding

    P r o g r a m mi ng ma n u a l. 11.3.1 Types of corner rounding There are 5 different corner contouring types. The first 4 execute the different corner rounding types whereas the last one executes a square corner. The last one is aimed at special machines (Laser, water jet, etc.), that use it to avoid "burning"...
  • Page 199 Pro gramm i ng man u a l. ··· N70 #ROUNDPAR [2,40] (X50 Y30) N80 G01 G91 G61 X50 F850 N90 G01 Y30 ··· ··· N70 #ROUNDPAR [2,40] N75 G05 N80 G01 G91 X50 F850 N90 G01 Y30 ··· #ROUNDPAR [2,f] f: Porcentage of feedrate "F"...
  • Page 200 P r o g r a m mi ng ma n u a l. ··· N70 #ROUNDPAR [4,3] (X50 Y30) N80 G01 G91 G61 X50 F850 N90 G01 Y30 ··· ··· N70 #ROUNDPAR [4,3] N75 G05 N80 G01 G91 X50 F850 N90 G01 Y30 ···...
  • Page 201 Pro gramm i ng man u a l. (Px, Py, Pz) G92 X0 Y0 G71 G90 #ROUNDPAR [5,-30,-30,55,-5,0] (Px, Py, Pz) G01 G61 X50 F850 N90 G01 Y40 "a" and "b" distances negative and greater (in absolute value) than the distance from the programmed point to the intermediate point on each axis (about 4 times).
  • Page 202: Corner Rounding, Radius Blend, (G36)

    P r o g r a m mi ng ma n u a l. 11.4 Corner rounding, radius blend, (G36) G36 may be used to round a corner with a particular radius without having to calculate either the center or the starting and ending points of the arc. Programming The rounding definition must be programmed between the two paths that define the corner to be rounded.
  • Page 203 Pro gramm i ng man u a l. The programmed rounding feedrate depends on the type of movement programmed afterwards: • If the next movement is in G00, the rounding will be carried out in G00. • If the next movement is in G01, G02 or G03, the rounding will be carried out at the feedrate programmed in rounding definition block.
  • Page 204: Corner Chamfering, (G39)

    P r o g r a m mi ng ma n u a l. 11.5 Corner chamfering, (G39) Function G39 may be used to insert a chamfer of a particular size without having to calculate the intersection points. Programming The chamfer definition must be programmed between the two paths that define the corner to be chamfered.
  • Page 205 Pro gramm i ng man u a l. The programmed chamfering feedrate depends on the type of movement programmed afterwards: • If the next movement is in G00, the chamfer will be carried out in G00. • If the next movement is in G01, G02 or G03, the chamfer will be carried out at the feedrate programmed in chamfer definition block.
  • Page 206: Tangential Entry (G37)

    P r o g r a m mi ng ma n u a l. 11.6 Tangential entry (G37) Function G37 may be used to begin machining with a tangential entry of the tool without having to calculate the intersection points. Programming Tangential entry must be programmed alone in the block and after the block whose path is to be modified;...
  • Page 207: Tangential Exit (G38)

    Pro gramm i ng man u a l. 11.7 Tangential exit (G38) Function G38 may be used to end machining with a tangential exit of the tool without having to calculate the intersection points. Programming Tangential exit must be programmed alone in the block and before the block whose path is to be modified;...
  • Page 208: Mirror Image (G11, G12, G13, G10, G14)

    P r o g r a m mi ng ma n u a l. 11.8 Mirror image (G11, G12, G13, G10, G14) Mirror image may be used to repeat the programmed machining operation in a symmetrical position with respect one or more axes. When using with mirror image, the movements of the axes where mirror image is applied are executed with the opposite sign.
  • Page 209 Pro gramm i ng man u a l. Considerations When machining a profile with a mirror image, the machining direction is opposite to that of the programmed profile. If this profile has been defined with tool radius compensation, when activating the mirror image, the CNC will change the type of compensation (G41 or G42) to obtain the programmed profile.
  • Page 210 P r o g r a m mi ng ma n u a l. Programming examples. %L PROFILE ("PROFILE" subroutine definition) N10 G00 X10 Y10 N20 G01 Z0 F400 N30 G01 X20 Y20 F850 N40 X50 N50 G03 X50 Y50 R15 N60 G01 X30 N70 X20 Y40 N80 Y20...
  • Page 211 Pro gramm i ng man u a l. -150 -110 %L PROFILE (Subroutine that defines the "A" zone of the part) G90 G00 X40 Z150 G02 X80 Z110 R60 G01 Z60 G01 X124 Z-6 %PROGRAM (Main program) G18 G151 (Main plane ZX and programming in diameters) V.A.ORGT[1].Z=160 (Definition of the first zero offset, G54) (Application of the zero offset)
  • Page 212: Pattern Rotation (G73)

    P r o g r a m mi ng ma n u a l. 11.9 Pattern rotation (G73) Function G73 may be used to rotate the coordinate system taking as rotation center the active reference system (part zero) or the programmed rotation center. Programming The coordinate system rotation must be programmed alone in the block.
  • Page 213 Pro gramm i ng man u a l. On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the CNC cancels the active coordinate system (pattern) rotation. Programming example Assuming that the starting point is X0 Y0, you get: %L PROFILE (Subroutine with the profile) G01 X21 Y0 F300...
  • Page 214: General Scaling Factor

    P r o g r a m mi ng ma n u a l. 11.10 General scaling factor It may be used to enlarge or reduce the scale of the programmed paths and contours. This permits using a single program to make sets of similar profiles of different dimensions. The general scaling factor is applied to all the axes of the channel.
  • Page 215 Pro gramm i ng man u a l. Programming example %L PROFILE (Profile to be machined) G90 X-19 Y0 G01 X0 Y10 F150 G02 X0 Y-10 I0 J-10 G01 X-19 Y0 %PROGRAM G00 X-30 Y10 #CALL PROFILE (Machining of profile "a") G92 X-79 Y-30 (Coordinate preset) #SCALE [2]...
  • Page 216 P r o g r a m mi ng ma n u a l. %L PROFILE (Subroutine that defines the "A1" zone of the part) G90 G01 X200 Z0 G01 X200 Z30 F150 G01 X160 Z40 G03 X160 Z60 R10 G02 X160 Z80 R10 G03 X160 Z100 R10 G02 X160 Z120 R10...
  • Page 217: Work Zones

    Pro gramm i ng man u a l. 11.11 Work zones. The work zones define a restricted area for tool movement, either forbidding it to exit the programmed zone (no-exit zone) or forbidding it to enter it (no-entry zone). The CNC lets set five of these work zones that may be active at the same time.
  • Page 218: Cnc Behavior When There Are Active Work Zones

    P r o g r a m mi ng ma n u a l. 11.11.1 CNC behavior when there are active work zones. Some general points to consider. • On power-up, the CNC will not monitor the zones whose limits are defined by axes that have non-absolute feedback and have not been homed.
  • Page 219: Set The Limits Of The Work Zones (G120/G121/G123)

    Pro gramm i ng man u a l. 11.11.2 Set the limits of the work zones (G120/G121/G123). The CNC lets set the work zones using the following functions. A work zone may be limited in all the axes of the channel. G120 Set lower linear limits of the work zone.
  • Page 220 P r o g r a m mi ng ma n u a l. Programming. Set circular limits of a zone. Program function G123 and then the zone number and its dimensions. Programming format. The programming format is the following; the arguments appear between curly brackets. G123 K{zone} X..C{center} X..C{center} R{radius} K{zone} Zone number (between 1 and 5).
  • Page 221: Enable/Disable The Work Zones (G122)

    Pro gramm i ng man u a l. 11.11.3 Enable/disable the work zones (G122). Once the zones have been defined, function G122 allows enabling them either as a no-exit or no-entry zone. When a zone is enabled, the CNC, by default, watches the tool tip, but, it also offer the option monitor the tool base or both (tip and base).
  • Page 222 P r o g r a m mi ng ma n u a l. Considerations. CNC behavior when an axis invades the forbidden zone. When one or several axes get into a no-entry zone or get out of a no-exit zone, the CNC interrupts the execution and issues the corresponding error message.
  • Page 223 Pro gramm i ng man u a l. If there are 2 circular or rectangular no-exit zones one inside the other, the CNC will only take into account the outside one. The entire shaded area is the permitted zone. G122 K1 E2 G122 K2 E2 Properties of the function and Influence of the reset, turning the CNC off and of the M30 function.
  • Page 224: Summary Of Work Zone Related Variables

    P r o g r a m mi ng ma n u a l. 11.11.4 Summary of work zone related variables. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 225: Dwell (G04 / #Time)

    ADDITIONAL PREPARATORY FUNCTIONS 12.1 Dwell (G04 / #TIME). The F04 function and the #TIME instruction may be used to interrupt the execution of the program for the specified period of time. Both commands are equivalent and either one may be used. Programming (1).
  • Page 226 P r o g r a m mi ng ma n u a l. #TIME [5] #TIME 5 (5 second dwel) P1=2 #TIME [P1] #TIME P1 (2 second dwel) P1=2 #TIME [P1+3] (5 second dwel) Properties of the function and Influence of the reset, turning the CNC off and of the M30 function.
  • Page 227: Software Limits

    Pro gramm i ng man u a l. 12.2 Software limits. The CNC lets set the software limits on linear axes and on linearlike rotary axes. The software limits set the travel limits for the axes to prevent the carriages from reaching the mechanical hard stops.
  • Page 228: Define The First Software Limit (G198/G199)

    P r o g r a m mi ng ma n u a l. 12.2.1 Define the first software limit (G198/G199). The CNC lets set the software limits on linear axes and on linearlike rotary axes. The first software limits of the axes are pre-defined in the machine parameters (parameters LIMIT+ / LIMIT-).
  • Page 229 Pro gramm i ng man u a l. Axes out of position. If after setting the new limits, an axis positions beyond them, it will be possible to move that axis towards the work zone (between those limits). Programming on a lathe (radius/diameter). The software limits are always defined in radius, regardless of the setting of parameter DIAMPROG and the active function G151/G152.
  • Page 230: Define The First Software Limit Via Variables

    P r o g r a m mi ng ma n u a l. 12.2.2 Define the first software limit via variables. The first software limits can also be defined by the variables equivalent to G198/G199. The functions and the variables modify the same software limits; therefore, either ones may be used.
  • Page 231: Define The Second Software Limit Via Variables

    Pro gramm i ng man u a l. 12.2.3 Define the second software limit via variables. The second software limits can only be defined by variables. V.A.RTNEGLIMIT.xn Set lower software travel limits (second limit). V.A.RTPOSLIMIT.xn Set upper software travel limits (second limit). On power-up, these variables assume the values of the first software limits.
  • Page 232: Variables Associated With The Software Limits

    P r o g r a m mi ng ma n u a l. 12.2.4 Variables associated with the software limits. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 233: Turn Hirth Axis On And Off (G170/G171)

    Pro gramm i ng man u a l. 12.3 Turn Hirth axis on and off (G170/G171). A Hirth axis is the one that can only be positioned at particular positions, multiple of its pitch (parameter HPITCH). When a Hirth axis is not active, it behaves like a normal rotary or linear axis and can reach any position.
  • Page 234: Set And Gear Change

    P r o g r a m mi ng ma n u a l. 12.4 Set and gear change. 12.4.1 Change parameter set of an axis (G112) The CNC may have up to 4 sets of parameters for each axis defined by the OEM in the machine parameter table.
  • Page 235: Change The Gear And Set Of A Sercos Drive Using Variables

    Pro gramm i ng man u a l. 12.4.2 Change the gear and set of a Sercos drive using variables. The following variables may be used to change the gear and set of a Sercos drive for axes and for spindles. This variable does not affect the parameter set of the CNC. (V.)[ch].A.SETGE.xn Select the set and the gear at the Sercos drive.
  • Page 236: Variables Related To Set And Gear Change

    P r o g r a m mi ng ma n u a l. 12.4.3 Variables related to set and gear change. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 237: Smooth The Path And The Feedrate

    Pro gramm i ng man u a l. 12.5 Smooth the path and the feedrate. By default, the CNC calculates the space and the feedrate on the main three axes and the rest of the axes follow their corresponding feedrate. This way, on a machine that moves more than tree axes and has the kinematics and RTCP active, the tool tip moves at the programmed feedrate.
  • Page 238: Smooth The Path And The Feedrate (#Feednd)

    P r o g r a m mi ng ma n u a l. 12.5.2 Smooth the path and the feedrate (#FEEDND). This instruction being active (#FEEDND ON), the CNC considers all the axes when calculating the space. The programmed feedrate will be the result of composing the movements onto all the axes of the channel.
  • Page 239 TOOL COMPENSATION Tool compensation allows programming the contour to be machined based on part dimensions and without taking into account the dimensions of the tool that will be used later on. This way, there is no need to calculate and redefine the tool path depending on the radius and length of each tool.
  • Page 240 P r o g r a m mi ng ma n u a l. Compensation values The compensation values applied in each case is calculated from the tool dimensions. • In tool radius compensation, the applied value is the sum of the radius and radius wear of the selected tool.
  • Page 241: Tool Radius Compensation

    Pro gramm i ng man u a l. 13.1 Tool radius compensation Radius compensation is applied in the active work plane, previously selected using functions G17 (XY plane), G18 (ZX plane), G19 (YZ plane) or G20 (user defined plane). Programming The functions for selecting tool radius compensation are: Left-hand tool radius compensation.
  • Page 242: Location Code (Shape Or Type) Of The Turning Tools

    P r o g r a m mi ng ma n u a l. 13.1.1 Location code (shape or type) of the turning tools The location code indicates the type of tool and the sides used to calibrate it. The location code depends on the position of the tools and on the orientation of the machine axes.
  • Page 243 Pro gramm i ng man u a l. CNC 8070 : 1709) ·243·...
  • Page 244 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·244·...
  • Page 245: Functions Associates With Radius Compensation

    Pro gramm i ng man u a l. 13.1.2 Functions associates with radius compensation The functions associated with tool compensation may be programmed anywhere in the program, even while tool radius compensation is active. SELECTING THE TYPE OF TRANSITION BETWEEN BLOCKS The transition between blocks determines how the compensated paths are joined together.
  • Page 246 P r o g r a m mi ng ma n u a l. HOW TOOL RADIUS IS ACTIVATED AND CANCELED The functions associated with the strategy for activating and canceling establish how tool radius compensation starts and ends. Programming The type of strategy may be selected from the program by means of the following functions: G138 Direct activation/cancellation of tool compensation.
  • Page 247 Pro gramm i ng man u a l. On power-up, after executing an M02 or M30, and after an EMERGENCY or RESET, the CNC assumes function G139. CNC 8070 : 1709) ·247·...
  • Page 248: Beginning Of Tool Radius Compensation

    P r o g r a m mi ng ma n u a l. 13.1.3 Beginning of tool radius compensation Tool radius compensation is selected with these functions: Left-hand tool radius compensation. Right-hand tool radius compensation. After executing one of these functions, radius compensation will be active for the next movement in the work plane, that must be a linear movement.
  • Page 249 Pro gramm i ng man u a l. STRAIGHT-TO-STRAIGHT PATH When the angle between paths is smaller than or equal to 180º, the way radius compensation is activated is independent from the functions G136/G137 or G138/G139 selected.   0º < <...
  • Page 250 P r o g r a m mi ng ma n u a l. STRAIGHT - ARC PATH When the angle between the straight path and the tangent of the arc is smaller than or equal to 180º, the way radius compensation is activated is independent from the functions G136/G137 and G138/G139 selected.
  • Page 251: Sections Of Tool Radius Compensation

    Pro gramm i ng man u a l. 13.1.4 Sections of tool radius compensation The way the compensated paths are joined depends on the type of transition selected (G136/G137). The following tables show the different transition possibilities between various paths depending on the selected function G136 or G137.
  • Page 252 P r o g r a m mi ng ma n u a l. STRAIGHT - ARC PATH When the angle between the straight line and the tangent of the arc is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function.
  • Page 253 Pro gramm i ng man u a l. ARC-TO-STRAIGHT PATH When the angle between the tangent of the arc and the straight line is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function.
  • Page 254 P r o g r a m mi ng ma n u a l. ARC-TO-ARC PATH When the angle between the tangents of the arcs is smaller than or equal to 180º, the transition between the paths is independent from the selected G136/G137 function. ...
  • Page 255: Change Of Type Of Radius Compensation While Machining

    Pro gramm i ng man u a l. 13.1.5 Change of type of radius compensation while machining The compensation may be changed from G41 to G42 or vice versa without having to cancel it with G40. It may be changed in any motion block or even in a motionless one; i.e. without moving the axis of the plane or by programming the same point twice.
  • Page 256 P r o g r a m mi ng ma n u a l. • Back-and-forth path along the same way. • Intermediate path as long as the tool radius: CNC 8070 : 1709) ·256·...
  • Page 257: Cancellation Of Tool Radius Compensation

    Pro gramm i ng man u a l. 13.1.6 Cancellation of tool radius compensation Tool radius compensation is canceled with function G40. After executing one of this function, radius compensation will be canceled during the next movement in the work plane, that must be a linear movement. The way this compensation is canceled depends on the type of cancellation end (G138/G139) and the type of transition G136/G137 selected: •...
  • Page 258 P r o g r a m mi ng ma n u a l. STRAIGHT-TO-STRAIGHT PATH When the angle between the paths is smaller or equal to 180º, the way radius compensation is canceled is independent from the G136/G137 and G138/G139 functions selected. ...
  • Page 259 Pro gramm i ng man u a l. TOOL PATH ARC-STRAIGHT When the angle between the tangent of the arc and the straight path is smaller or equal to 180º, the way radius compensation is canceled is independent from the G136/G137 and G138/G139 functions selected.
  • Page 260: Tool Length Compensation

    P r o g r a m mi ng ma n u a l. 13.2 Tool length compensation Tool length compensation on a milling machine. On a milling machine, tool length compensation is applied to the longitudinal axis; i.e. on the axis indicated by the instruction "#TOOL AX", or when missing, to the longitudinal axis designated by selecting the plane.
  • Page 261 Pro gramm i ng man u a l. • To activate this compensation, program "D<n>", where <n> is the tool offset number that contains the tool dimensions that will be used as compensation values. • To cancel this compensation, program "D0". Once one of these codes has been executed, tool length compensation will be activated or cancel during the next movement of the longitudinal axis.
  • Page 262: D Tool Compensation

    P r o g r a m mi ng ma n u a l. 13.3 3D tool compensation. In tool radius compensation (G41/G42) tool orientation is constant. 3D tool compensation allows changing the tool orientation during the path considering the dimensions and the shape of the tool.
  • Page 263 Pro gramm i ng man u a l. Type of compensation. 3D compensation with normal vector. The CAM generates a program with the necessary information for the CNC to generate the paths at the corners, depending on the type of tool, if necessary. This type of compensation can only be executed with cylindrical, toric or spherical tools.
  • Page 264: Programming The Vector In The Block

    P r o g r a m mi ng ma n u a l. 13.3.1 Programming the vector in the block. The vector MUST BE programmed in all linear and circular motion blocks; if not programmed and 3D compensation is active, the CNC will issue an error message. If the vector is programmed but 3D compensation is not active, the CNC ignores that the vector has been programmed.
  • Page 265 SUBROUTINES. A subroutine is a set of blocks that, once properly identified, may be called upon several times from another subroutine or from the program. Subroutines are normally used for defining a bunch of operations or movements that are repeated several times throughout the program. The CNC allows up to a total of seven subroutines to be executed per block (G180, G380, G500, functions M with subroutine, etc.).
  • Page 266 P r o g r a m mi ng ma n u a l. Common parameters. Common parameters will be shared by the program and the subroutines of any channel. They may be used in any block of the program and of the subroutine regardless of the nesting level they may be at.
  • Page 267: Executing Subroutines From Ram Memory

    Pro gramm i ng man u a l. 14.1 Executing subroutines from RAM memory. If the same subroutines are executed repeatedly during execution, it is more efficient to load them into the RAM memory of the CNC because this way, they may be accessed faster and execution time may be consequently optimized.
  • Page 268: Definition Of The Subroutines

    P r o g r a m mi ng ma n u a l. 14.2 Definition of the subroutines Like the body of the program, a subroutine has a header, a body and an end-of-subroutine function. Header of a local subroutine. The header of the subroutine is a block consisting of the "%L"...
  • Page 269: Subroutine Execution

    Pro gramm i ng man u a l. 14.3 Subroutine execution. The CNC offers the following types of commands to call the subroutines. Command. Call type. Call to a global subroutine. Parameters cannot be initialized with this command. Call to a local subroutine. Parameters cannot be initialized with this command.
  • Page 270: Ll. Call To A Local Subroutine

    P r o g r a m mi ng ma n u a l. 14.3.1 LL. Call to a local subroutine. The command LL calls a local subroutine. This type of call allows initializing local parameters of the subroutine. Programming format. The programming format is: LL sub Name of the subroutine...
  • Page 271: Call. Call To A Global Or Local Subroutine

    Pro gramm i ng man u a l. 14.3.3 #CALL. Call to a global or local subroutine. The #CALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.
  • Page 272 P r o g r a m mi ng ma n u a l. 14.3.4 #PCALL. Call to a global or local subroutine initializing parameters. The #PCALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine.
  • Page 273: Mcall. Modal Call To A Local Or Global Subroutine

    Pro gramm i ng man u a l. 14.3.5 #MCALL. Modal call to a local or global subroutine. The #MCALL instruction calls a local or global subroutine. This type of call allows initializing local parameters of the subroutine. When it is a global subroutine, its whole path may be defined.
  • Page 274 P r o g r a m mi ng ma n u a l. Local parameter nesting levels. If local parameters are initialized in the #MCALL instruction, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within 20 subroutine nesting levels.
  • Page 275: Mdoff. Turning The Subroutine Into Non-Modal

    Pro gramm i ng man u a l. 14.3.6 #MDOFF. Turning the subroutine into non-modal. The subroutine stops being modal with the instruction #MDOFF. . Programming format. The programming format is: #MDOFF #MDOFF CNC 8070 : 1709) ·275·...
  • Page 276: Retdsblk. Execute Subroutine As A Single Block

    P r o g r a m mi ng ma n u a l. 14.3.7 #RETDSBLK. Execute subroutine as a single block. The #RETDSBLK instruction ends the subroutine and cancels the single block treatment. Programming format. Program the instruction alone in the block and at the end of the subroutine. #RETDSBLK #RETDSBLK How to create the subroutine.
  • Page 277: Path. Define The Location Of The Global Subroutines

    Pro gramm i ng man u a l. 14.4 #PATH. Define the location of the global subroutines. The instruction #PATH defines the pre-determined location of the global subroutines If no path is defined in the global subroutine call, the CNC will look for the subroutine in the path defined using the instruction #PATH.
  • Page 278: Oem Subroutine Execution

    P r o g r a m mi ng ma n u a l. 14.5 OEM subroutine execution. The machine manufacturer may define up to 30 subroutines per channel and associate them with functions G180 through G189 and G380 through G399 in such a way that when a channel executes one of these functions, it will execute the subroutine associated with that function for that channel.
  • Page 279 Pro gramm i ng man u a l. Additional data in the block. Besides initializing the parameters, any other type of additional information may be added to these functions, even movements. This information must be programmed before the subroutine calling function; otherwise, the data will considered as for initializing the parameters.
  • Page 280: Generic User Subroutines (G500-G599)

    CNC deletes them from its RAM memory. This way, if a user subroutine is edited or modified, the CNC assumes the changes the next time it executes it. When updating the version, only the subroutines supplied by Fagor will be updated when choosing the third installation level "rename previous version and install completely".
  • Page 281 G500 associated with it. G501 will have subroutine G501 associated with it. · · · G599 will have subroutine G599 associated with it. Subroutines supplied by Fagor. Subroutine. Meaning. G500 HSC cancellation. G501 HSC activation for roughing operations.
  • Page 282 P r o g r a m mi ng ma n u a l. Local parameter nesting levels. If these functions initialize local parameters, this instruction generates a new nesting level for the local parameters. Remember that up to 7 parameter nesting levels are possible within 20 subroutine nesting levels.
  • Page 283: Assistance For Subroutines

    Pro gramm i ng man u a l. 14.7 Assistance for subroutines. 14.7.1 Subroutine help files. Help files may be associated with each OEM subroutine (G180, G380, etc), user subroutine (G500, G800, etc) and each global subroutine called upon using #MCALL or #PCALL and they will be displayed while editing.
  • Page 284 P r o g r a m mi ng ma n u a l. Where to save the help files. The machine manufacturer can save the help files in the folders ..\Mtb\Sub\Help and ..\Mtb\Sub\Help\{language}. Since the modifications to the MTB directory in the "User" work mode disappear when turning the unit off, the user must save his help files in the folder ..\Users\Sub\Help and ..\Users\Sub\Help\{language}.
  • Page 285: List Of Available Subroutines

    The list of subroutines must be in a text (txt) file. The file must be edited so each line is the name of a possible subroutine to be called. Example of a file with a list of subroutines. C:\CNC8070\USERS\SUB\FAGOR.NC SUBROUTINE.NC EXAMPLE.NC POSITIONING.NC...
  • Page 286: Interruption Subroutines

    P r o g r a m mi ng ma n u a l. 14.8 Interruption subroutines. The interruption subroutines are defined by the machine manufacturer and will be executed from the PLC. When the PLC commands the execution of one of these subroutines, the channel interrupts the execution of the program and executes the corresponding interruption subroutine.
  • Page 287: Repositioning Axes And Spindles From The Subroutine (#Repos)

    Pro gramm i ng man u a l. 14.8.1 Repositioning axes and spindles from the subroutine (#REPOS). The #REPOS can only be used inside the interruption subroutines and allows repositioning axes and spindles before ending that subroutine. The CNC does not reposition the axes when the instruction is executed, it does when returning from the subroutine to the program as the last action associated with the subroutine.
  • Page 288: Subroutine Associated With The Start

    P r o g r a m mi ng ma n u a l. 14.9 Subroutine associated with the start. For each channel, a subroutine can be associated with the execution start, which can be executed by pressing the [START] key, in automatic mode, to start the execution of the entire program;...
  • Page 289: Subroutine Associated With The Reset

    Pro gramm i ng man u a l. 14.10 Subroutine associated with the reset. For each channel, the reset may have an associated subroutine, which will be executed after pressing the [RESET] key on the operator panel or when the PLC activates the RESETIN mark.
  • Page 290: Subroutines Associated With The Kinematics Calibration Cycle

    Subroutine associated with the end of the kinematics calibration cycle. Fagor supplies both subroutines as incomplete and it is the manufacturer's responsibility to define both subroutines. Software updates do not modify any existing subroutines. Name and location of the subroutine.
  • Page 291: Executing A Program In The Indicated Channel

    EXECUTING BLOCKS AND PROGRAMS 15.1 Executing a program in the indicated channel. With the #EXEC instruction, it is possible, from a program in execution, to begin the execution of a second program in another channel. The execution of the program starts in the indicated channel in parallel (at the same time) with the block following the #EXEC instruction.
  • Page 292 P r o g r a m mi ng ma n u a l. Channel where the block is to be executed. Programming the channel is optional. If the channel is not indicated or it coincides with the channel where the #EXEC instruction is executed, the second program will be executed as a subroutine.
  • Page 293: Executing A Block In The Indicated Channel

    Pro gramm i ng man u a l. 15.2 Executing a block in the indicated channel. With the #EXBLK instruction, it is possible, from a program in execution or via MDI, to execute a block in another channel. If the channel where the block to be executed is busy, the CNC waits for the operation in progress to end.
  • Page 294: Abort The Execution Of The Program And Resume It In Another Block Or Program

    P r o g r a m mi ng ma n u a l. 15.3 Abort the execution of the program and resume it in another block or program. In order to use this feature, the machine manufacturer must have defined the corresponding PLC operation.
  • Page 295: Define The Execution Resuming Block Or Program

    Pro gramm i ng man u a l. 15.3.1 Define the execution resuming block or program. The point where the execution is resumed is defined with the #ABORT instruction. Within the same program, it is possible to define several resume points; when interrupting the program, the CNC will use the one that is active at the time;...
  • Page 296: Canceling The Execution Resuming Point

    P r o g r a m mi ng ma n u a l. Considerations. It is recommended to program the target labels at the beginning of the program, outside the main program. Otherwise, and depending on the length of the program, if the jump labels are defined at the end of it, the #ABORT instruction may take longer to find them.
  • Page 297 C AXIS The CNC allows activating axes and spindles as C axis, that interpolated with a linear axis makes it possible to mill the cylindrical surface or the face of a turning part. Although the machine may have several axes or spindle defined as "C" axis, only one of them may be active.
  • Page 298: Activating The Spindle As "C" Axis

    P r o g r a m mi ng ma n u a l. 16.1 Activating the spindle as "C" axis. To use a spindle as ·C· axis, it must be enabled as such first. Once this is done, it will be possible to program machining operation on the face or on the side using the instructions #FACE or #CYL respectively.
  • Page 299 Pro gramm i ng man u a l. Programming the master spindle as ·C· axis. #CAX G01 Z50 C100 F100 G01 X20 C20 A50 #CAX OFF Programming any spindle as ·C· axis. #CAX [S1,C1] (The spindle "S1" is activated as "C" axis under the name of "C1") G01 Z50 C1=100 F100 G01 X20 C1=20 A50 S1000 #CAX OFF...
  • Page 300: Machining Of The Face Of The Part

    P r o g r a m mi ng ma n u a l. 16.2 Machining of the face of the part Either a rotary axis or a spindle may be used as C axis for this type of machining operation. When using a spindle, it must be activated as "C"...
  • Page 301 Pro gramm i ng man u a l. #FACE [X,C] G90 X0 C-90 G01 G42 C-40 F600 G37 I10 X37.5 G36 I10 G36 I15 X12.56 C38.2 G03 X-12.58 C38.2 R15 G01 X-37.5 C0 G36 I15 C-40 G36 I10 G38 I10 G40 C-90 #FACE OFF CNC 8070...
  • Page 302: Machining Of The Turning Side Of The Part

    P r o g r a m mi ng ma n u a l. 16.3 Machining of the turning side of the part Either a rotary axis or a spindle may be used as C axis for this type of machining operation. When using a spindle, it must be activated as "C"...
  • Page 303 Pro gramm i ng man u a l. #CYL [Y,B,Z20] G90 G42 G01 Y70 B0 G91 Z-4 G90 B15.708 G36 I3 Y130 B31.416 G36 I3 B39.270 G36 I3 Y190 B54.978 G36 I3 B70.686 G36 I3 Y130 B86.394 G36 I3 B94.248 G36 I3 Y70 B109.956 G36 I3...
  • Page 304 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·304·...
  • Page 305 ANGULAR TRANSFORMATION OF AN INCLINE AXIS. With the angular transformation of an incline axis, it is possible to make movements along an axis that is not perpendicular to another. The movements are programmed in the Cartesian system and to make the movements, they are transformed into movements on the real axes.
  • Page 306 P r o g r a m mi ng ma n u a l. Considerations for the angular transformation of an incline axis. The axes that make up the angular transformation must meet the following requirements: • Both axes must belong to the same channel. •...
  • Page 307: Turning Angular Transformation On And Off

    Pro gramm i ng man u a l. 17.1 Turning angular transformation on and off Turn angular transformation on. When the transformation is on, the movements are programmed in the Cartesian system and to make the movements, the CNC transforms them into movements on the real axes. The coordinates displayed on the screen will be those of the Cartesian system.
  • Page 308: Freezing (Suspending) The Angular Transformation

    P r o g r a m mi ng ma n u a l. 17.2 Freezing (suspending) the angular transformation. Freezing the angular transformation is a special way to make movements along the angular axis, but programming it in the Cartesian system. The angular transformation cannot be "frozen"...
  • Page 309: Obtaining Information On Angular Transformation

    Pro gramm i ng man u a l. 17.3 Obtaining information on angular transformation. Checking the configuration of the angular transformation. The configuration data of the angular transformation may be checked directly in the machine parameter table or using the following variables. Number of angular transformations defined.
  • Page 310 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·310·...
  • Page 311 TANGENTIAL CONTROL. "Tangential Control" Keeps a rotary axis always in the same orientation with respect to the programmed path. The machining path is defined in the axes of the active plane and the CNC keeps the orientation of the rotary axis along the whole path. Orientation parallel to the path.
  • Page 312 P r o g r a m mi ng ma n u a l. When jogging the axes, the CNC cancels tangential control Once the movement has ended, the CNC re-activates tangential control in the same conditions as before. MDI mode. The MDI mode may be accessed from jog mode to activate tangential control and move the axes using blocks programmed in MDI.
  • Page 313: Turning Tangential Control On And Off

    Pro gramm i ng man u a l. 18.1 Turning tangential control on and off. There are two ways to manage tangential control; using either ISO-coded functions or high level commands. Both modes are equivalent and may be combined in the same part- program.
  • Page 314 P r o g r a m mi ng ma n u a l. The positioning angle in only maintained when tangential control is "frozen"; in the rest of the cases, it must be programmed every time tangential control is activated. See "18.2 Freezing tangential control."...
  • Page 315 Pro gramm i ng man u a l. Cancel tangential control. Tangential control is canceled with function G45 or with the instruction #TANGCTRL. Programming format (1). This function cancels tangential control in all the axes of the channel. Programming format (2). This instruction cancels tangential control in one or several axes.
  • Page 316: Freezing Tangential Control

    P r o g r a m mi ng ma n u a l. 18.2 Freezing tangential control. Freezing tangential control is a special cancellation where the CNC remembers the programmed angle. When restoring tangential control, the CNC orients the axis with the same angle it had when tangential control was frozen.
  • Page 317 Pro gramm i ng man u a l. Programming format (2). This instruction resumes tangential control in one or several axes. If no axis is programmed, it resumes tangential control in all the axes of the channel. The programming format is: Optional parameters are indicated between angle brackets. #TANGCTRL RESUME <[X~C]>...
  • Page 318: Obtaining Information On Tangential Control

    P r o g r a m mi ng ma n u a l. 18.3 Obtaining information on tangential control. Checking the configuration of the angular transformation. The configuration data of the tangential control may be checked directly in the machine parameter table or using the following variables.
  • Page 319 KINEMATICS AND COORDINATE TRANSFORMATION The description of the general coordinate transformation is divided into these basic functions: Instruction. Meaning. #KIN ID. Select a kinematics. #CS. Define a machining coordinate system (Inclined plane). #ACS. Define a fixture coordinate system. #RTCP. RTCP (Rotating Tool Center Point) transformation. #TLC.
  • Page 320: Coordinate Systems

    P r o g r a m mi ng ma n u a l. 19.1 Coordinate systems. For clarity's sake, the following examples show three coordinate systems: X Y Z Machine coordinate system. X' Y' Z' Part coordinate system. X" Y" Z" Tool coordinate system.
  • Page 321: Movement In An Inclined Plane

    Pro gramm i ng man u a l. 19.2 Movement in an inclined plane. An inclined plane is any plane resulting form a coordinate transformation of the first three axes of the channel (XYZ in the following examples). Any plane in space may be selected to carry out machining operations in it.
  • Page 322: Select A Kinematics (#Kin Id)

    P r o g r a m mi ng ma n u a l. 19.3 Select a kinematics (#KIN ID). The manufacturer can set up to 6 kinematics for the machine each one indicating the type of spindle or table, its characteristics and dimensions. Usually, the OEM defines the kinematics number being used by default by means of general machine parameter KINID.
  • Page 323: Coordinate Systems (#Cs / #Acs)

    Pro gramm i ng man u a l. 19.4 Coordinate systems (#CS / #ACS). There are two different types of coordinate systems, namely the machining coordinate system and the fixture coordinate system. Each one is handled with its associated instruction. With the #CS instruction, up to 5 machining coordinate systems may be defined, stored, activated and deactivated.
  • Page 324 P r o g r a m mi ng ma n u a l. Definition mode. The MODE definition mode sets the order in which the axes rotate to reach the desired plane. In some cases, the resolution of the plane presents two solutions; the selection is carried out defining which axis of the coordinate system stays aligned with the plane.
  • Page 325 Pro gramm i ng man u a l. Format to define and activate (without saving) a coordinate system. Only one of them may be defined; to define another one, the previous one must be canceled. The coordinate system may be used, until canceled, as any other coordinate system saved in memory.
  • Page 326 P r o g r a m mi ng ma n u a l. Format to assume and save the current coordinate system. #CS DEF ACT [{nb}] #ACS DEF ACT [{nb}] {nb} Number of the coordinate system (from 1 to 5). #CS DEF ACT [2] (Assumes and saves a new coordinate system as CS2) Format to activate a saved coordinate system.
  • Page 327: Define A Coordinate System (Mode1)

    Pro gramm i ng man u a l. 19.4.1 Define a coordinate system (MODE1). Both instructions use the same programming format and may be used together or separately. #CS DEF [{n}] [MODE 1, {V1}, {V2}, {V3}, {1}, {2}, {3}] #ACS DEF [{n}] [MODE 1, {V1}, {V2}, {V3}, {1}, {2}, {3}] This mode defines an inclined plane as a result from rotating the amounts indicated in 1, 2, 3 first around the first axis, then around the second axis and finally around the third axis respectively.
  • Page 328: Define A Coordinate System (Mode2)

    P r o g r a m mi ng ma n u a l. 19.4.2 Define a coordinate system (MODE2). Both instructions use the same programming format and may be used together or separately. #CS DEF [{n}] [MODE 2, {V1}, {V2}, {V3}, {1}, {2}, {3}] #ACS DEF [{n}] [MODE 2, {V1}, {V2}, {V3}, {1}, {2}, {3}] This mode defines, in spherical coordinates, an inclined plane as a result from rotating the amounts indicated in 1, 2, 3 respectively first around the third axis, then around the...
  • Page 329: Define A Coordinate System (Mode3)

    Pro gramm i ng man u a l. 19.4.3 Define a coordinate system (MODE3). Both instructions use the same programming format and may be used together or separately. #CS DEF [{n}] [MODE 3, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] #ACS DEF [{n}] [MODE 3, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] In this mode, the inclined plane is defined by the angles formed by the plane with respect to the first and second axes (X Y) of the machine coordinate system.
  • Page 330: Define A Coordinate System (Mode4)

    P r o g r a m mi ng ma n u a l. 19.4.4 Define a coordinate system (MODE4). Both instructions use the same programming format and may be used together or separately. #CS DEF [{n}] [MODE 4, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] #ACS DEF [{n}] [MODE 4, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] In this mode, the inclined plane is defined by the angles formed by the plane with respect to the first and third axes (X Z) of the machine coordinate system.
  • Page 331: Define A Coordinate System (Mode5)

    Pro gramm i ng man u a l. 19.4.5 Define a coordinate system (MODE5). Both instructions use the same programming format and may be used together or separately. #CS DEF [{n}] [MODE 5, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] #ACS DEF [{n}] [MODE 5, {V1}, {V2}, {V3}, {1}, {2}, {3}, <{align}>] In this mode, the inclined plane is defined by the angles formed by the plane with respect to the second and third axes (Y Z) of the machine coordinate system.
  • Page 332: Define A Coordinate System (Mode6)

    P r o g r a m mi ng ma n u a l. 19.4.6 Define a coordinate system (MODE6). In order to use this definition, while setting up the machine, the tool position when it is parallel to the Z axis of the machine must be set as the spindle's rest position.
  • Page 333 Pro gramm i ng man u a l. V1, V2, V3 Components of the translation vector. Coordinate origin of the inclined plane with respect to the current part zero. 1 Coordinate (pattern) rotation. This argument permits defining and applying a coordinate rotation in the new Cartesian plane X' Y'.
  • Page 334: Operation With 45º Spindles (Huron Type)

    P r o g r a m mi ng ma n u a l. 19.4.7 Operation with 45º spindles (Huron type). Huron type spindles have two solutions for orienting the tool perpendicular to the new work plane. • The first solution is the one that involves the smallest movement of the main rotary axis (the articulation closest to the ram or furthest away from the tool) referred to the zero position.
  • Page 335 Pro gramm i ng man u a l. In order that the tool is perpendicular to the defined plane, the positioning must be performed using machine coordinates (#MCS), since the CNC provides the solution in machine coordinates, or by using the instruction #TOOL ORI and the movement of an axis. Option 1.
  • Page 336: How To Combine Several Coordinate Systems

    P r o g r a m mi ng ma n u a l. 19.4.8 How to combine several coordinate systems. Up to 10 ACS and CS coordinate systems may be combined to build new coordinate systems. For example, the ACS coordinate system generated by a fixture on the part may be combined with the #CS coordinate system that defines the inclined plane of the part to be machined.
  • Page 337 Pro gramm i ng man u a l. The #ACS OFF and #CS OFF instructions deactivate the last #ACS or #CS activated, respectively. N100 #CS ON [1] (CS[1]) N110 #ACS ON [2] (ACS[2] + CS[1]) N120 #ACS ON [1] (ACS[2] + ACS[1] + CS[1]) N130 #CS ON [2] (ACS[2] + ACS[1] + CS[1] + CS[2]) N140 #ACS OFF...
  • Page 338: Tool Perpendicular To The Inclined Plane (#Tool Ori)

    P r o g r a m mi ng ma n u a l. 19.5 Tool perpendicular to the inclined plane (#TOOL ORI). The #TOOL ORI instruction is used to position the tool perpendicular to the active inclined plane. After executing this instruction, the tool is positioned perpendicular to the inclined plane, parallel to the third axis of the active coordinate system at the first motion programmed next.
  • Page 339: Programming Examples

    Pro gramm i ng man u a l. 19.5.1 Programming examples. #CS ON [1] [MODE 1, 0, 0, 20, 30, 0, 0] (Define the inclined plane) #TOOL ORI (Tool perpendicular to the inclined plane; request) G90 G90 G0 X60 Y20 Z3 (Position at point P1) (The spindle orients perpendicular to the plane during this positioning move) G1 G91 Z-13 F1000 M3...
  • Page 340 P r o g r a m mi ng ma n u a l. The following example shows how to drill three holes with different inclination in the same plane: #CS ON [1] [MODE ..] (Define the inclined plane) #TOOL ORI (Tool perpendicular to the inclined plane;...
  • Page 341: Using Rtcp (Rotating Tool Center Point)

    Pro gramm i ng man u a l. 19.6 Using RTCP (Rotating Tool Center Point). The RTCP represents a length compensation in space. The RTCP orientation of the tool may be changed without modifying the position occupied by its tip on the part. Obviously, the CNC must move several axes in order to maintain the tool tip position at all times.
  • Page 342 P r o g r a m mi ng ma n u a l. Considerations about the RTCP transformation. • In order to work with RTCP transformation, the first three axes of the channel (for example X, Y, Z) must be defined, they must form a trihedron and be linear. These axes may be GANTRY axes.
  • Page 343: Programming Examples

    Pro gramm i ng man u a l. 19.6.1 Programming examples. Example 1. Circular interpolation maintaining tool orientation. • Block N20 selects the ZX plane (G18) and positions the tool at the starting point (30,90). • Block N21 turns RTCP on. •...
  • Page 344 P r o g r a m mi ng ma n u a l. Example 3. Machining a profile. G18 G90 (Selects the ZX plane (G18)) #RTCP ON (Turn RTCP on) G01 X40 Z0 B0 F1000 (Position the tool at X40 Z0, oriented at 0º) X100 (Movement to X100 with tool oriented at 0º) B-35...
  • Page 345: Correct The Implicit Tool Length Compensation Of The Program (#Tlc)

    Pro gramm i ng man u a l. 19.7 Correct the implicit tool length compensation of the program (#TLC). CAD-CAM programs take the tool length into consideration and generate the coordinates for the tool base. The instruction #TLC must be used with CAD-CAM generated programs and the CNC does not have a tool with the same dimensions.
  • Page 346: How To Withdraw The Tool When Losing The Plane

    P r o g r a m mi ng ma n u a l. 19.8 How to withdraw the tool when losing the plane. If the CNC is turned off and back on while working with kinematics, the work plane that was selected gets lost.
  • Page 347: Tool Orientation In The Part Coordinate System

    Pro gramm i ng man u a l. 19.9 Tool orientation in the part coordinate system. 19.9.1 Activate tool orientation in the part coordinate system. Currently at the CNC, in order to orient the tool considering an active kinematics, one has to program the angles of the rotary axes (the position that those axes take).
  • Page 348: Cancel Tool Orientation In The Part Coordinate System

    P r o g r a m mi ng ma n u a l. 19.9.2 Cancel tool orientation in the part coordinate system. The instruction #CSROT OFF cancels the programming of the rotary axes in the active ACS/CS coordinate system and, therefore, activates the programming of those axes in the machine coordinate system.
  • Page 349: How To Manage The Discontinuities In The Orientation Of Rotary Axes

    Pro gramm i ng man u a l. 19.9.3 How to manage the discontinuities in the orientation of rotary axes. Usually, the axis orienting process provides two possible solution in the positioning of the rotary axes for a particular tool orientation. The CNC applies the one resulting in the shortest distance with respect to the current position.
  • Page 350 P r o g r a m mi ng ma n u a l. Criterion to solve the discontinuity. The possible criteria are: Command. Meaning. LOWF The shortest way for the main rotary axis, then the secondary axis. LOWS The shortest way for the secondary rotary axis, then the main axis. DPOSF Positive direction of the main rotary axis.
  • Page 351 Pro gramm i ng man u a l. 19.9.4 Screen for choosing the desired solution. When the instruction #CSROT is programmed with the WARNING option (show a warning and interrupt the execution) the CNC shows the following screen for the user to choose the solution to be applied, both for the beginning of the block and for the end.
  • Page 352: Execution Example. Selecting A Solution

    P r o g r a m mi ng ma n u a l. 19.9.5 Execution example. Selecting a solution. The example assumes a CB spindle type kinematics. The starting program will be a circle in the XZ plane. N1 X.. Y.. Z.. C0 B0 N2 X..
  • Page 353: Selecting The Rotary Axes That Position The Tool In Type-52 Kinematics

    Pro gramm i ng man u a l. 19.10 Selecting the rotary axes that position the tool in type-52 kinematics. The instruction #SELECT ORI may be used to choose onto which rotary axes of the kinematics the tool orientation is calculated for a given direction on the work piece (part). Kinematics 52 has at the most 2 rotary axes on the spindle and two rotary axes on the table, which means that there may be up to 4 rotary axes to orient the tool on the work piece.
  • Page 354: Transform The Current Part Zero Considering The Position Of The Table Kinematics

    P r o g r a m mi ng ma n u a l. 19.11 Transform the current part zero considering the position of the table kinematics. On 7-axis kinematics (spindle-table) or 5-axis table kinematics, without coordinate system rotation, it may be necessary to get a part zero with the axes of the table in any position, to use it later on when activating the RTCP of the kinematics with the option to keep the part zero without coordinate system rotation.
  • Page 355: Process Of Saving A Part Zero With The Table Axes In Any Position

    Pro gramm i ng man u a l. 19.11.1 Process of saving a part zero with the table axes in any position. The following steps are valid for the type-51 table kinematics, type-52 spindle-table kinematics and the standard tables with parameter TDATA17=1. Activate the kinematics (#KIN ID [ ]).
  • Page 356: Example To Maintain The Part Zero Without Rotating The Coordinate System

    P r o g r a m mi ng ma n u a l. 19.11.2 Example to maintain the part zero without rotating the coordinate system. The following example shows a possible sequence of steps so the measured part zero may be saved and restored after activating the RTCP with the option to maintain the part zero without rotating the coordinate system.
  • Page 357: Summary Of Kinematics Related Variables

    Pro gramm i ng man u a l. 19.12 Summary of kinematics related variables. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variables related to the active kinematics. Variables.
  • Page 358 P r o g r a m mi ng ma n u a l. In order that the tool is perpendicular to the defined plane, the positioning must be performed using machine coordinates, since the CNC provides the solution in machine coordinates, or by using the instruction #TOOL ORI and the movement of an axis.
  • Page 359 Pro gramm i ng man u a l. Variables. Meaning. V.G.CSROTO2[2] Position (machine coordinates) calculated for the fourth rotary axis of the kinematics at the end of the block, for solution 2 of the #CSROT mode. V.G.CSROTF[1] Position (machine coordinates) to be occupied by the first rotary axis of the kinematics at the beginning of the block, for the #CSROT mode.
  • Page 360 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·360·...
  • Page 361 (SURFACE mode) optimizing the contour error (CONTERROR mode) or the machining feedrate (FAST mode). The default machining mode is defined by parameter HSCDEFAULTMODE, where Fagor offers the SURFACE mode as default. The more sophisticated algorithms of the SURFACE mode obtain more accurate machining.
  • Page 362: Recommendations For Machining

    P r o g r a m mi ng ma n u a l. 20.1 Recommendations for machining. S e l e c t i n g t h e c h o r d a l e r r o r a t t h e C N C a n d a t t h e p o s t - processed CAM.
  • Page 363: User Subroutines G500-G501 To Turn Hsc On/Off

    G500 through G599, so when the CNC executes one of these functions, it will execute its associated subroutine. Subroutines G500 and G501 are pre-configured by Fagor to turn HSC on and off in SURFACE mode (mode recommended by Fagor). Both subroutines may be modified by the user.
  • Page 364 P r o g r a m mi ng ma n u a l. Subroutine G501 supplied by Fagor (may be modified by the user). ; ----------------------------------------- ; ----------------------------------------- ; HSC ACTIVATION ; OPTIONAL PARAMETERS ; E - CONTOUR TOLERANCE ;...
  • Page 365: Alternative Example For Functions G500-G501 Supplied By Fagor

    Pro gramm i ng man u a l. 20.2.1 Alternative example for functions G500-G501 supplied by Fagor. G500 subroutines supplied by Fagor may be modified by the user. Here is another example for turning HSC ON/OFF using three subroutines. Subroutine.
  • Page 366 P r o g r a m mi ng ma n u a l. Example of a G501 subroutine. Turn HSC on in FAST mode. ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- ; HSC ROUGHING ACTIVATION ; E - Contour Tolerance ; A - % Acceleration ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- #ESBLK...
  • Page 367: Hsc Surface Mode. Optimization Of Surface Finish

    Pro gramm i ng man u a l. 20.3 HSC SURFACE mode. Optimization of surface finish. It is the recommended way (mode) to work. This mode optimizes the velocity profile through intelligent algorithms that detect curvature changes. This mode offers excellent results in time and surface quality solving jerk problems that may appear depending on the profile to be machined.
  • Page 368 P r o g r a m mi ng ma n u a l. Maximum chordal error allowed. The E command sets the maximum contouring error allowed between the programmed path and the resulting path (mm or inches). This command is applied to the first three linear axes of the channel.
  • Page 369 Pro gramm i ng man u a l. When changing HSC modes, the CNC assumes the default values set in the machine parameters. Execute an HSC mode starting with initial conditions. To execute in HSC mode starting with initial conditions, first cancel the previous mode. See "20.6 Canceling the HSC mode."...
  • Page 370: Hsc Conterror Mode. Optimizing The Contouring Error

    P r o g r a m mi ng ma n u a l. 20.4 HSC CONTERROR mode. Optimizing the contouring error. From this instruction on, the CNC modifies the geometry through intelligent algorithms for eliminating unnecessary points and automatically generating polynomials. . This way, the contour is traveled at a variable feedrate according to the curvature and the programmed parameters (acceleration and feedrate) but respecting the set error limits.
  • Page 371 Pro gramm i ng man u a l. Maximum error on rotary axes. The RE command defines the error in all the rotary axes and linear axes (except the first three axes of the channel). Programming it is optional; if not programmed, the CNC assumes as maximum error the highest value between machine parameter MAXERROR and the E command.
  • Page 372: Hsc Fast Mode. Optimizing The Machining Feedrate

    P r o g r a m mi ng ma n u a l. 20.5 HSC FAST mode. Optimizing the machining feedrate. In spite of the recommendations for generating CAM programs, it is possible to have programs already generated that do not show a continuity between the error generated by the CAM, the block size and the error required by the HSC.
  • Page 373 Pro gramm i ng man u a l. Maximum angle for square corner. The CORNER command sets the maximum angle between two paths (between 0º and 180º), under which the CNC machines in square corner mode. Programming it is optional; if not programed, the CNC assumes the angle set in machine parameter CORNER.
  • Page 374: Canceling The Hsc Mode

    P r o g r a m mi ng ma n u a l. 20.6 Canceling the HSC mode. The HSC mode is canceled with the instruction #HSC OFF. HSC is also canceled when programming any of the functions G05, G07 or G50. Functions G60 and G61 do not cancel the HSC mode.
  • Page 375 VIRTUAL TOOL AXIS. A virtual axis of the tool is a fictitious axis that always moves in the direction in which the tool is oriented. This virtual tool axis facilitates the movement in the tool direction when it is not aligned with the axes of the machine, but it is oriented in any other direction depending on the position of the bi-rotary or tri-rotary spindle.
  • Page 376: Activate The Virtual Tool Axis

    P r o g r a m mi ng ma n u a l. 21.1 Activate the virtual tool axis. The instruction #VIRTAX is used to activate the transformation of the virtual tool axis. Programming. When defining this instruction, it is also possible to define the position value (coordinate) where the axis is located.
  • Page 377: Cancel The Virtual Tool Axis

    Pro gramm i ng man u a l. Example 2. Increase or decrease the machining pass depth while machining Functions #VIRTAX and G201 are not active in the program being executed. The steps to change the machining pass are the following. (1) Interrupt program execution with the [STOP] key.
  • Page 378: Variables Associated With The Virtual Tool Axis

    P r o g r a m mi ng ma n u a l. 21.3 Variables associated with the virtual tool axis. The following variables may be accessed via part-program or via MDI/MDA mode. Each of them indicates whether it may be read (R) or written (W). Variable.
  • Page 379 STATEMENTS AND INSTRUCTIONS There are two types of high level language commands, programming instructions and flow controlling instructions. Programming instructions They are defined with the "#" sign followed by the name of the instruction and its associated parameters. They are used for various operations such as. •...
  • Page 380: Programming Statements

    P r o g r a m mi ng ma n u a l. 22.1 Programming statements 22.1.1 Display instructions. Display an error on the screen It interrupts program execution and displays the indicated error message. It is programmed using the instruction #ERROR, selecting either the number of the error to be displayed or the error text.
  • Page 381 Pro gramm i ng man u a l. Including external values in the error text The identifier %D or %d may be used to insert external values (parameters or variables) into the text. The data whose value is to be displayed must be defined after the text. #ERROR ["Wrong %d value",120] #ERROR ["Tool %D expired",V.G.TOOL] #ERROR ["Wrong %D - %D values",18,P21]...
  • Page 382: Display Instructions. Display A Warning On The Screen

    P r o g r a m mi ng ma n u a l. 22.1.2 Display instructions. Display a warning on the screen The display of warnings on the screen may be programmed using the instruction #WARNINGSTOP or #WARNING depending on whether the program execution is to be interrupted or not.
  • Page 383 Pro gramm i ng man u a l. #WARNING ["Message"] #WARNING ["Parameter \"P100\" is wrong"] #WARNING ["Difference between P12 and P14 > 40%%"] Including external values in the error text The identifier %D or %d may be used to insert external values (parameters or variables) into the text.
  • Page 384: Display Instructions. Display A Message On The Screen

    P r o g r a m mi ng ma n u a l. 22.1.3 Display instructions. Display a message on the screen The indicated message appears at the top of the screen and it does not interrupt the execution of the program. The message will stay active until a new message is activated, another program is executed or a reset is carried out.
  • Page 385: Display Instructions. Define The Size Of The Graphics Area

    Pro gramm i ng man u a l. 22.1.4 Display instructions. Define the size of the graphics area The instruction #DGWZ may be used to define cylindrical or prismatic parts at both CNC models. The defined parts are kept until a new one is defined, they are changed or the CNC is turned off.
  • Page 386 P r o g r a m mi ng ma n u a l. Programming format (2). Defining a cylindrical part. The programming format is the following; the list of arguments appears between curly brackets and the optional ones between angle brackets. The CYL command may be left out at the lathe model.
  • Page 387 Pro gramm i ng man u a l. Programming from channel ·1·. #DGWZ RECT [...] Programming from channel ·1·. #DGWZ CYL Z [...] P1 C1 Programming from channel ·2·. #DGWZ CYL Z2 [...] P2 C2 Programming from channel ·1·. #DGWZ CYL Z [...] P1 C1 C2 CNC 8070 : 1709) ·387·...
  • Page 388: Enabling And Disabling Instructions

    P r o g r a m mi ng ma n u a l. 22.1.5 Enabling and disabling instructions #ESBLK Beginning of the single-block treatment #DSBLK End of the single-block treatment The #ESBLK and #DSBLK instructions activate and deactivate the single block treatment. When executing the #ESBLKinstruction, the CNC executes the following blocks as if they were a single block.
  • Page 389: Iso Generation

    Pro gramm i ng man u a l. 22.1.6 ISO generation. ISO generation converts canned cycles, calls to subroutines, loops, etc. into their equivalent ISO code (G, F, S, etc functions), so the user can modify it and adapt it to his needs (eliminate unwanted movements, etc.).
  • Page 390 P r o g r a m mi ng ma n u a l. Programming. Disable ISO generation. 'This instruction must be programmed alone in the block' Programming it is optional; if not programed, the CNC generates ISO code up to the end of the program (M30). Programming format.
  • Page 391 Pro gramm i ng man u a l. Example. Convert parameters. Program after ISO generation. $FOR P1=0,240,120 G73 Q[0] G73 Q[P1] $ENDFOR G73 Q[120] G73 Q[240] CNC 8070 : 1709) ·391·...
  • Page 392: Electronic Axis Slaving

    P r o g r a m mi ng ma n u a l. 22.1.7 Electronic axis slaving Two axes may be slaved to each other so the movement of one of them (slave) depends on the movement of the other one (master). It is possible to have several axis couplings (slaving) at the same time.
  • Page 393: Axis Parking

    Pro gramm i ng man u a l. 22.1.8 Axis parking Some machines, depending on the type of machining, may have two different configurations (axes and spindles). In order to prevent the elements not present in one of the configurations from causing an error message (drives, feedback systems, etc.) the CNC allows parking them.
  • Page 394 P r o g r a m mi ng ma n u a l. When trying to park an axis or spindle that is already parked, the programming is ignored. #PARK A (It parks the "A" axis) #PARK S2 (It parks spindle "S2") #UNPARK Unparks an axis This instruction is used to unpark the selected axis or spindle.
  • Page 395: Modifying The Configuration Of The Axes Of A Channel

    Pro gramm i ng man u a l. 22.1.9 Modifying the configuration of the axes of a channel Initially, each channel has some axes assigned to it as set by the machine parameters. While executing a program, a channel may release its axes or request new axes. This possibility is determined by machine parameter AXISEXCH, which establishes whether an axis can change channels or whether this change is permanent or not.
  • Page 396 P r o g r a m mi ng ma n u a l. Parameter Meaning <Xn> Axes that make up the new configuration. If instead of defining an axis, a zero is written, an empty space (without an axis) appears in this position. <offset>...
  • Page 397 Pro gramm i ng man u a l. Parameter Meaning <Xn> Axes to be added to the configuration. If the axis already exists, it is placed in the new position. <pos> Optional. Position of the axis in the new configuration. If not programmed, the axis is placed after the last one.
  • Page 398 P r o g r a m mi ng ma n u a l. #FREE AX [X,A] (It removes the X and A axes from the configuration) #FREE AX ALL (Removes all the axes from the channel) Screen display At first, the axes appear ordered as they have been defined in the general machine parameter table (by channels) and then as the swapping is defined.
  • Page 399 Pro gramm i ng man u a l. Accessing the variables of a renamed axis. After changing the name of an axis, the new name of the axis must be used to access its variables from the part-program or MDI. The access to the variables from the PLCA or from an interface does not change;...
  • Page 400: Modifying The Configuration Of The Spindles Of A Channel

    P r o g r a m mi ng ma n u a l. 22.1.10 Modifying the configuration of the spindles of a channel The CNC can have up to four spindles distributed between the various channels of the system. A channel may have one, several or no spindles associated with it. Initially, each channel has some spindles assigned to it as set by the machine parameters.
  • Page 401 Pro gramm i ng man u a l. #CALL SP Add a spindle to the configuration It adds one or several spindles to the current configuration. The position of the spindles in the channel is not relevant. To add a spindle to the channel, the spindle must be free; it must not be in another channel.
  • Page 402 P r o g r a m mi ng ma n u a l. When a channel releases (frees) a spindle (instruction #SET or #FREE), the axis always recovers its original name. Even if the #RENAME is kept (parameter RENAMECANCEL), the CNC cancels it if the channel recovers a spindle with the same name after a reset or after a new program starts.
  • Page 403: Spindle Synchronization

    Pro gramm i ng man u a l. 22.1.11 Spindle synchronization This mode may be used to set the movement of a spindle (slave) synchronized with that of another spindle (master) through a given ratio. The spindle synchronization is always programmed in the channel the slave spindle belongs to, both to activate it or deactivate it and to reset it.
  • Page 404 P r o g r a m mi ng ma n u a l. Considerations for the synchronization The #SYNC function may be executed either in open loop (M3 or M4) or in closed loop (M19) In the synchronization, the master spindle can work in either open or closed loop; the slave spindle is always in closed loop.
  • Page 405 Pro gramm i ng man u a l. #UNSYNC [slave1 <,slave2> ...] All the spindles are uncoupled if no parameter is defined. Parameter Meaning slave Slave spindle to be synchronized. #UNSYNC All the spindles of the channel are uncoupled. #UNSYNC [S1,S2] Slave spindles S1 and S2 are uncoupled from the master spindle with which they were synchronized.
  • Page 406 P r o g r a m mi ng ma n u a l. Position synchronization (V.)[n].A.SYNCPOSW.Xn Read-only from the PRG, PLC e INT. When the spindles are synchronized in position, the slave spindle follows the master keeping the programmed offset (taking the ratio into account). If the value defined in this variable is exceeded, the SYNCPOSI signal goes low;...
  • Page 407: Selecting The Loop For An Axis Or A Spindle. Open Loop Or Closed Loop

    Pro gramm i ng man u a l. 22.1.12 Selecting the loop for an axis or a spindle. Open loop or closed loop This function is not available for Sercos position-drives (axis or spindle). In this case, the CNC cannot open or close the loop, the drive controls the loop, instead.
  • Page 408 P r o g r a m mi ng ma n u a l. #SERVO ON [axis/spindle] Parameter Meaning axis/spindle Name of the axis or spindle. The loop of each axis or spindle must be opened separately. #SERVO OFF [S] It cancels the closed loop of spindle S.
  • Page 409: Collision Detection

    Pro gramm i ng man u a l. 22.1.13 Collision detection With this option, the CNC analyzes in advance the blocks to be executed in order to detect loops (intersections of the profile with itself) or collisions in the programmed profile. The operator may define up to 200 blocks on an 8065 CNC and 40 blocks on an 8060 to be analyzed.
  • Page 410 P r o g r a m mi ng ma n u a l. #CD OFF Cancels collision detection It cancels the collision detecting process. The process will also be canceled automatically after executing an M02 or M30 and after an error or a reset.
  • Page 411: Spline Interpolation (Akima)

    Pro gramm i ng man u a l. 22.1.14 Spline interpolation (Akima) This type of machining adapts the programmed contour to a spline type curve that goes through all the programmed points. The dashed line shows the programmed profile. The solid line shows the spline. The contour to be splined is defined with straight paths (G00/G01).
  • Page 412 P r o g r a m mi ng ma n u a l. Value Meaning The tangent is calculated automatically. Tangent to the previous /next block. Tangent as specified. If defined with a value of ·3·, the initial tangent is defined using the #ASPLINE STARTTANG instruction and the final tangent using the #ASPLINE ENDTANG instruction If not defined, it applies the values used last.
  • Page 413 Pro gramm i ng man u a l. N10 G00 X0 Y20 N20 G01 X20 Y20 F750 (Starting point of the spline) N30 #ASPLINE MODE [1,2] (Type of initial and final tangent) N40 #SPLINE ON (Activation of the spline) N50 X40 Y60 N60 X60 N70 X50 Y40 N80 X80...
  • Page 414: Polynomial Interpolation

    P r o g r a m mi ng ma n u a l. 22.1.15 Polynomial interpolation The CNC permits interpolating straight lines and arcs and the #POLY instruction may be used to interpolate complex curves, like a parabola. #POLY Polynomial interpolation This type of interpolation lets machining a curve given by a polynomial of up to a 4th degree where the interpolation parameter is the length of the arc.
  • Page 415: Acceleration Control

    Pro gramm i ng man u a l. 22.1.16 Acceleration control The acceleration and the jerk (variation of acceleration) applied on the movements are set by machine parameters. However, those values may be changed from the program using the following functions. G130 or G131 Percentage of acceleration and deceleration to be applied.
  • Page 416 P r o g r a m mi ng ma n u a l. #SLOPE It sets the behavior of the acceleration This instruction sets the influence of the values defined with functions G130, G131, G132 and G133 in the behavior of the acceleration. The programming format is as follows: #SLOPE [<type>,<jerk>,<accel>,<move>] Parameter...
  • Page 417: Definition Of Macros

    Pro gramm i ng man u a l. 22.1.17 Definition of macros Macros may be used to define a program block or part of it with their own names in the format "MacroName" = "CNCblock". Once the macro has been defined, programming "MacroName"...
  • Page 418 P r o g r a m mi ng ma n u a l. Example1 #DEF "MACRO1"="X20 Y35" #DEF "MACRO2"="S1000 M03" #DEF "MACRO3"="G01 \"MA1\" F100 \"MA2\"" Example 2 #DEF "POS"="G1 X0 Y0 Z0" #DEF "START"="S750 F450 M03" #DEF "MACRO"="\"POS\" \"START\"" #INIT MACROTAB Resetting the table of macros When defining a macro from a program (or MDI), it is stored in a CNC table so it is available...
  • Page 419: Block Repetition

    Pro gramm i ng man u a l. 22.1.18 Block repetition This instruction may be used to execute a portion of the program defined between two blocks which will be identified with labels. The label of the last block must be programmed alone. Optionally, it is possible to define the number of repetitions of the execution;...
  • Page 420 P r o g r a m mi ng ma n u a l. N10 #RPT [N10,N20,4] N10: G01 G91 F800 (first block) N20: (last block) The execution of a block can also be repeated with the "NR" command. See "1.3.1 Programming in ISO code."...
  • Page 421: Communication And Synchronization Between Channels

    Pro gramm i ng man u a l. 22.1.19 Communication and synchronization between channels Each channel may execute its own program simultaneously and independently from other channels. But, besides this, it can also communicate with other channels, transfer information or synchronize in specific points. The communication takes place on the basis of a number of marks managed by the part- programs of each channel.
  • Page 422 P r o g r a m mi ng ma n u a l. • Status of the MEET or WAIT type "m" mark in the "n" channel V.[n].G.MEETST[m] V.[n].G.WAITST[m] #MEET It activates the mark indicated in the channel and waits for it to be activated in the rest of the programmed channels.
  • Page 423 Pro gramm i ng man u a l. Parameter Meaning <mark> Synchronization mark waited for to be activated. <channel> Channel or channels that must activate the mark. As opposed to the #MEET instruction, it does not activate the indicated mark of its own channel.
  • Page 424: Movements Of Independent Axes

    P r o g r a m mi ng ma n u a l. 22.1.20 Movements of independent axes This function has a specific manual. This manual that you are reading now only offers some information about this function. Refer to the specific documentation to obtain further information regarding the requirements and operation of the independent axes.
  • Page 425 Pro gramm i ng man u a l. Positioning move (#MOVE) The various types of positioning are programmed with the following instructions. - Absolute positioning move. #MOVE - Incremental positioning move. #MOVE ADD - Infinite (endless) positioning move. #MOVE INF The programming format for each of them is the following.
  • Page 426 P r o g r a m mi ng ma n u a l. P100 = 500 (feedrate) #MOVE [X50, FP100, PRESENT] #MOVE [X100, F[P100/2], NEXT] #MOVE [X150, F[P100/4], NULL] 50mm 100mm 150mm Synchronization move (#FOLLOW ON) The activation and cancellation of the different types of synchronization are programmed with the following instructions.
  • Page 427 Pro gramm i ng man u a l. Programming it is an option. If not programmed, it executes a velocity synchronization. #FOLLOW ON [X, Y, N1, D1] #FOLLOW ON [A1, U, N2, D1, POS] #FOLLOW OFF [Y] #FOLLOW ON [ACCUX, Y, N1, D1] CNC 8070 : 1709) ·427·...
  • Page 428: Electronic Cams

    P r o g r a m mi ng ma n u a l. 22.1.21 Electronic cams. This function has a specific manual. This manual that you are reading now only offers some information about this function. Refer to the specific documentation to obtain further information regarding the requirements and operation of the electronic cams.
  • Page 429 Pro gramm i ng man u a l. Activating and canceling the electronic cam (#CAM). The activation and cancellation of the electronic cam is programmed with the following instructions. - Activates the cam (real coordinates). #CAM ON - Activates the cam (theoretical coordinates). #TCAM ON - Cancel the electronic cam.
  • Page 430 P r o g r a m mi ng ma n u a l. [type] Cam type. Depending on the execution mode, the time cams and the position cams may be of two different types; i.e. periodic or non-periodic. This selection is made using the following commands: [type] Meaning.
  • Page 431: Additional Programming Instructions

    Pro gramm i ng man u a l. 22.1.22 Additional programming instructions #FLUSH Interruption of block preparation The CNC reads several blocks ahead (preparation) of the one being executed in order to calculate in advance the path to follow. The #FLUSH instruction interrupts this block preparation in advance, executes the last prepared blocs, synchronizes the preparation and execution of blocks and then goes on with the program.
  • Page 432 CNC issues the relevant error message. Remarks The machine configuration files supplied by Fagor consist of a single file, the xca. When an OEM creates his own configuration files, for each xca file, he must create a ".def" file with the same name that completes the configuration of the axes involved in the kinematics.
  • Page 433: Flow Controlling Instructions

    Pro gramm i ng man u a l. 22.2 Flow controlling instructions 22.2.1 Jump to a block ($GOTO) $GOTO N<EXPRESIÓN> $GOTO [<ETIQUETA>] One of the following parameters is defined in this instruction: <expression> It may be a number, parameter or arithmetic expression whose result is a number. <label>...
  • Page 434: Conditional Execution ($If)

    P r o g r a m mi ng ma n u a l. 22.2.2 Conditional execution ($IF) $IF <CONDITION> ... $ENDIF The following parameter is defined in this instruction: <condition> It may be a comparison between two numbers, parameters or arithmetic expressions whose result is a number.
  • Page 435 Pro gramm i ng man u a l. $IF <CONDITION1> ... $ELSEIF<CONDITION2> ... $ENDIF This instruction analyzes the following programmed conditions. • If <condition1> is true, it executes the blocks contained between $IF and $ELSEIF. • If <condition1> is false, it analyzes <condition2>. If true, it executes the blocks contained between $ELSEIF and $ENDIF (or the next $ELSEIF if any).
  • Page 436: Conditional Execution ($Switch)

    P r o g r a m mi ng ma n u a l. 22.2.3 Conditional execution ($SWITCH) $ S W I T C H < E X P R E S S I O N 1 > . . . $ C A S E < E X P R E S S I O N 2 > ...
  • Page 437: Block Repetition ($For)

    Pro gramm i ng man u a l. 22.2.4 Block repetition ($FOR) $FOR <N> = <EXPR1>,<EXPR2>,<EXPR3> ... $ENDFOR The following parameters are defined in this instruction. <n> It may be an arithmetic parameter of a write variable. <expr> It may be a number, parameter or arithmetic expressing whose result is a number. When executing this instruction, <n>...
  • Page 438: Conditional Block Repetition ($While)

    P r o g r a m mi ng ma n u a l. 22.2.5 Conditional block repetition ($WHILE) $WHILE <CONDITIONN> ... $ENDWHILE The following parameter is defined in this instruction: <condition> It may be a comparison between two numbers, parameters or arithmetic expressions whose result is a number.
  • Page 439: Conditional Block Repetition ($Do)

    Pro gramm i ng man u a l. 22.2.6 Conditional block repetition ($DO) $DO ... $ENDDO <CONDITION> The following parameter is defined in this instruction: <condition> It may be a comparison between two numbers, parameters or arithmetic expressions whose result is a number. While the condition is true, it repeats the execution of the blocks contained between $DO and $ENDDO.
  • Page 440 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·440·...
  • Page 441 CNC VARIABLES. All information regarding CNC variables can found in the manual on “CNC Variables", which can be downloaded from the Fagor Automation corporate website. The electronic document is called man_8070_var.pdf. http://www.fagorautomation.com/en/downloads/ CNC 8070 : 1709) ·441·...
  • Page 442 P r o g r a m mi ng ma n u a l. CNC 8070 : 1709) ·442·...
  • Page 443 Pro gramm i ng man u a l. User notes: CNC 8070 : 1709) ·443·...
  • Page 444 Fagor Automation S. Coop. Bº San Andrés, 19 - Apdo. 144 E-20500 Arrasate-Mondragón, Spain Tel: +34 943 719 200 +34 943 039 800 Fax: +34 943 791 712 E-mail: info@fagorautomation.es www.fagorautomation.com...

This manual is also suitable for:

8070 ol8070 l

Table of Contents

Save PDF