CITATION

Sinha, S.K. CNC Programming using Fanuc Custom Macro B. US: McGraw-Hill Professional, 2010.

CNC Programming using Fanuc Custom Macro B

Authors:

Published:  June 2010

eISBN: 9780071713337 0071713336 | ISBN: 9780071713320
  • Contents
  • Preface
  • Acknowledgments
  • 1 Introduction
  • 1.1 Part Programming Techniques
  • Conventional Part Programming
  • Conversational Part Programming
  • Part Programming Using CAM Software
  • Macro Programming
  • Comparison of the Four Methods
  • 1.2 Certain Applications of Macro Programming
  • Complex Motions
  • Families of Parts
  • Custom Canned Cycles
  • “Intelligent” Programs
  • Probing
  • Machine Status Information/Manipulation
  • Communication with External Devices
  • 1.3 Does My Machine Have Macro Capability?
  • 1.4 Aim of the Present Text
  • 1.5 How to Use This Text
  • 2 Variables and Expressions
  • 2.1 Macro Variables
  • 2.2 Macro Expressions
  • 2.3 Assigning a Value to a Variable
  • 2.4 Display of Variables
  • 2.5 Real versus Integer Values
  • 2.6 Undefined Variables
  • Null Variables in Word Addresses
  • Null Variables in Arithmetic Operations
  • Null Variables in Conditional Expressions
  • 2.7 A Simple Use of Macro Programming Features
  • 2.8 Retaining Programs in MDI Mode
  • 3 Types of Variables
  • 3.1 Local and Global Variables
  • 3.2 Effect of System Reset on Macro Variables
  • 3.3 Levels of Local Variables
  • 3.4 Range of Values Stored in Variables
  • 3.5 System Variables
  • System Variables versus System Parameters
  • System Variables on Fanuc 0i Series Controls
  • Displaying System Variables
  • Interface Signals
  • System Variables for Input Interface Signals
  • System Variables for Output Interface Signals
  • Geometry and Wear Offset Values
  • Workpiece Coordinate System Shift Amount
  • Macro Alarms
  • Time Information
  • Automatic Operation Control
  • Execution Pause
  • Mirror Image Information
  • Number of Machined Parts
  • Modal Information
  • Current Tool Position
  • Work Offset Values
  • 4 Macro Functions
  • 4.1 Types of Macro Functions
  • Priority of Operations in Arithmetic Expressions
  • Priority of Operations in Boolean Expressions
  • Effect of Order of Calculations
  • Nesting of Brackets
  • 4.2 Arithmetic Operations
  • Division versus Block-Skip Function
  • 4.3 Trigonometric Functions
  • 4.4 Rounding Functions
  • ROUND, FIX, and FUP
  • 4.5 Miscellaneous Functions
  • SQRT
  • ABS
  • LN
  • EXP
  • Arbitrary Exponent of a Number
  • 4.6 Logical Functions
  • Bitwise Functions
  • Boolean Functions
  • Bitwise versus Boolean Operations
  • Enabling Boolean Operations
  • An Application Example of Bitwise Operation
  • 4.7 Conversion Functions
  • 5 Branches and Loops
  • 5.1 Unconditional Branching
  • 5.2 Conditional Branching
  • 5.3 Conditional Execution of a Single Macro Statement
  • 5.4 Execution in a Loop
  • 5.5 Arithmetic Operations on Macro Variable Numbers
  • Methods of Zero Shift
  • Machine Coordinate System
  • External Workpiece Coordinate System
  • G54-G59, G54.1 P1-P48 Workpiece Coordinate Systems
  • Zero Shift by Manipulating Offset Distances
  • Zero Shift through System Variables
  • Work Offset Display on a Milling Machine
  • System Variables for Various Work Offset Values
  • Zero Shift through a Program
  • 5.6 Nested WHILE Statement
  • 6 Review of Subprograms
  • 6.1 Introduction
  • What Is a Subprogram?
  • Why Is It Used?
  • Subprograms versus Subroutines of a Conventional Computer Language
  • 6.2 Subprogram Call
  • 6.3 Multiple Call of a Subprogram
  • 6.4 Subprogram Nesting
  • 7 Macro Call
  • 7.1 Introduction
  • 7.2 Macro versus Subprogram
  • 7.3 Macro Call
  • Simple Call (G65)
  • Modal Call (G66)
  • Call with User-Defined G-Code
  • Call with User-Defined M-Code
  • 7.4 Subprogram Call without Using M98/M198
  • Subprogram Call Using an M-Code
  • Subprogram Call Using a T-Code
  • 7.5 Argument Specification
  • Argument Specification I
  • Argument Specification II
  • Mixed Argument Specification
  • An Example of a G-Code Macro Call with Arguments
  • 7.6 Processing of Macro Statements
  • What Is Buffering?
  • How Many Blocks Are Buffered?
  • When Are the Buffered Blocks Processed?
  • Processing When the Next Block Is Not Buffered
  • Processing in Radius Compensation Cancel (G40) Mode
  • Processing in Radius Compensation Mode (Case 1)
  • Processing in Radius Compensation Mode (Case 2)
  • Effect of Buffering of Macro Statements on Program Execution
  • 8 Complex Motion Generation
  • 8.1 Introduction
  • 8.2 Arc with Uniformly Varying Radius
  • 8.3 Helical Interpolation with Variable Radius
  • 8.4 Parabolic Turning
  • Roughing Operation
  • Step-Removal Operation
  • 8.5 Turning a Sine Curve
  • 9 Parametric Programming
  • 9.1 Introduction
  • 9.2 Locator Pin
  • 9.3 Bolt Holes on a Flange
  • 10 Custom Canned Cycles
  • 10.1 Introduction
  • 10.2 Deep-Hole Peck Drilling on a Lathe
  • 10.3 Drilling with Reducing Peck Lengths on a Milling Machine
  • 11 Probing
  • 11.1 Introduction
  • 11.2 Skip Function on a CNC Machine
  • 11.3 Probing a Pocket
  • 11.4 Finding Center of a Hole
  • 11.5 Finding Angle of an Edge
  • 11.6 Adjusting Wear Offset
  • 12 Communication with External Devices
  • 12.1 Introduction
  • 12.2 Switching Principle
  • 12.3 Input Types and Wiring
  • 12.4 Connector Pin Assignment
  • 12.5 Discrete Sensors for Sourcing/Sinking PLC Inputs
  • 12.6 Output Types and Wiring
  • 13 Programmable Data Input
  • 13.1 Introduction
  • 13.2 Data Input for WCS Offset Distances
  • 13.3 Data Input for Additional WCS Offset Distances
  • 13.4 Data Input for Compensation Values on a Milling Machine
  • 13.5 Data Input for Compensation Values on a Lathe
  • 13.6 Data Input for Parameter Values
  • A Limitation of G10 L50 Method
  • Appendix A: List of Complex Macros
  • Appendix B: List of Parameters
  • Index