| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
| |
Introduction | |
| |
| |
| |
Part Programming Techniques | |
| |
| |
Conventional Part Programming | |
| |
| |
Conversational Part Programming | |
| |
| |
Part Programming Using CAM Software | |
| |
| |
Macro Programming | |
| |
| |
Comparison of the Four Methods | |
| |
| |
| |
Certain Applications of Macro Programming | |
| |
| |
Complex Motions | |
| |
| |
Families of Parts | |
| |
| |
Custom Canned Cycles | |
| |
| |
"Intelligent" Programs | |
| |
| |
Probing | |
| |
| |
Machine Status Information/Manipulation | |
| |
| |
Communication with External Devices | |
| |
| |
| |
Does My Machine Have Macro Capability? | |
| |
| |
| |
Aim of the Present Text | |
| |
| |
| |
How to Use This Text | |
| |
| |
| |
Variables and Expressions | |
| |
| |
| |
Macro Variables | |
| |
| |
| |
Macro Expressions | |
| |
| |
| |
Assigning a Value to a Variable | |
| |
| |
| |
Display of Variables | |
| |
| |
| |
Real versus Integer Values | |
| |
| |
| |
Undefined Variables | |
| |
| |
Null Variables in Word Addresses | |
| |
| |
Null Variables in Arithmetic Operations | |
| |
| |
Null Variables in Conditional Expressions | |
| |
| |
| |
A Simple Use of Macro Programming Features | |
| |
| |
| |
Retaining Programs in MDI Mode | |
| |
| |
| |
Types of Variables | |
| |
| |
| |
Local and Global Variables | |
| |
| |
| |
Effect of System Reset on Macro Variables | |
| |
| |
| |
Levels of Local Variables | |
| |
| |
| |
Range of Values Stored in Variables | |
| |
| |
| |
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 | |
| |
| |
| |
Macro Functions | |
| |
| |
| |
Types of Macro Functions | |
| |
| |
Priority of Operations in Arithmetic Expressions | |
| |
| |
Priority of Operations in Boolean Expressions | |
| |
| |
Effect of Order of Calculations | |
| |
| |
Nesting of Brackets | |
| |
| |
| |
Arithmetic Operations | |
| |
| |
Division versus Block-Skip Function | |
| |
| |
| |
Trigonometric Functions | |
| |
| |
| |
Rounding Functions | |
| |
| |
ROUND, FIX, and FUP | |
| |
| |
| |
Miscellaneous Functions | |
| |
| |
SQRT | |
| |
| |
ABS | |
| |
| |
LN | |
| |
| |
EXP | |
| |
| |
Arbitrary Exponent of a Number | |
| |
| |
| |
Logical Functions | |
| |
| |
Bitwise Functions | |
| |
| |
Boolean Functions | |
| |
| |
Bitwise versus Boolean Operations | |
| |
| |
Enabling Boolean Operations | |
| |
| |
An Application Example of Bitwise Operation | |
| |
| |
| |
Conversion Functions | |
| |
| |
| |
Branches and Loops | |
| |
| |
| |
Unconditional Branching | |
| |
| |
| |
Conditional Branching | |
| |
| |
| |
Conditional Execution of a Single Macro Statement | |
| |
| |
| |
Execution in a Loop | |
| |
| |
| |
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 | |
| |
| |
| |
Nested WHILE Statement | |
| |
| |
| |
Review of Subprograms | |
| |
| |
| |
Introduction | |
| |
| |
What Is a Subprogram? | |
| |
| |
Why Is It Used? | |
| |
| |
Subprograms versus Subroutines of a Conventional Computer Language | |
| |
| |
| |
Subprogram Call | |
| |
| |
| |
Multiple Call of a Subprogram | |
| |
| |
| |
Subprogram Nesting | |
| |
| |
| |
Macro Call | |
| |
| |
| |
Introduction | |
| |
| |
| |
Macro versus Subprogram | |
| |
| |
| |
Macro Call | |
| |
| |
Simple Call (G65) | |
| |
| |
Modal Call (G66) | |
| |
| |
Call with User-Defined G-Code | |
| |
| |
Call with User-Defined M-Code | |
| |
| |
| |
Subprogram Call without Using M98/M198 | |
| |
| |
Subprogram Call Using an M-Code | |
| |
| |
Subprogram Call Using a T-Code | |
| |
| |
| |
Argument Specification | |
| |
| |
Argument Specification I | |
| |
| |
Argument Specification II | |
| |
| |
Mixed Argument Specification | |
| |
| |
An Example of a G-Code Macro Call with Arguments | |
| |
| |
| |
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 | |
| |
| |
| |
Complex Motion Generation | |
| |
| |
| |
Introduction | |
| |
| |
| |
Arc with Uniformly Varying Radius | |
| |
| |
| |
Helical Interpolation with Variable Radius | |
| |
| |
| |
Parabolic Turning | |
| |
| |
Roughing Operation | |
| |
| |
Step-Removal Operation | |
| |
| |
| |
Turning a Sine Curve | |
| |
| |
| |
Parametric Programming | |
| |
| |
| |
Introduction | |
| |
| |
| |
Locator Pin | |
| |
| |
| |
Bolt Holes on a Flange | |
| |
| |
| |
Custom Canned Cycles | |
| |
| |
| |
Introduction | |
| |
| |
| |
Deep-Hole Peck Drilling on a Lathe | |
| |
| |
| |
Drilling with Reducing Peck Lengths on a Milling Machine | |
| |
| |
| |
Probing | |
| |
| |
| |
Introduction | |
| |
| |
| |
Skip Function on a CNC Machine | |
| |
| |
| |
Probing a Pocket | |
| |
| |
| |
Finding Center of a Hole | |
| |
| |
| |
Finding Angle of an Edge | |
| |
| |
| |
Adjusting Wear Offset | |
| |
| |
| |
Communication with External Devices | |
| |
| |
| |
Introduction | |
| |
| |
| |
Switching Principle | |
| |
| |
| |
Input Types and Wiring | |
| |
| |
| |
Connector Pin Assignment | |
| |
| |
| |
Discrete Sensors for Sourcing/Sinking PLC Inputs | |
| |
| |
| |
Output Types and Wiring | |
| |
| |
| |
Programmable Data Input | |
| |
| |
| |
Introduction | |
| |
| |
| |
Data Input for WCS Offset Distances | |
| |
| |
| |
Data Input for Additional WCS Offset Distances | |
| |
| |
| |
Data Input for Compensation Values on a Milling Machine | |
| |
| |
| |
Data Input for Compensation Values on a Lathe | |
| |
| |
| |
Data Input for Parameter Values | |
| |
| |
A Limitation of G10 L50 Method | |
| |
| |
Appendix A List of Complex Macros | |
| |
| |
Appendix B List of Parameters | |
| |
| |
Index | |