MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265...

265
Start Up Manual MACHINEMATE ®

Transcript of MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265...

Page 1: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

Start Up Manual

MACHINEMATE®

Page 2: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 2/265

Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer the most advanced products in the industry. Therefore, information in this document is subject to change without notice. The illustrations and specifications in this document are not binding in detail. MACHINEMATE INC shall not be liable for any technical or editorial omissions occurring in this document nor for any consequential or incidental damages resulting from the use of this document.

DO NOT ATTEMPT to use any MACHINEMATE INC product until the use of such product is completely understood. It is the responsibility of the user to make certain proper operation practices are understood. MACHINEMATE INC products should be used only by qualified personnel and for the express purpose for which said products were designed.

Should information not covered in this document be required, please contact: MACHINEMATE INC. Fond du Lac, WI 54937 Phone: 920-907-0001 Fax: 920-907-0181 E-mail: mailto:[email protected] Document revision: 0718

Page 3: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 3/265

Table of Contents 1. Introduction .........................................................................................................11

1.1 Overview of the Manual..................................................................................11 1.2 Preparation......................................................................................................13

2 Configure the PLC inputs and outputs .............................................................14 2.1 General ............................................................................................................14 2.2 Structure of the input / output configuration file .........................................14 2.3 The CNC generated input / output configuration file...................................15 2.4 Different IO components ................................................................................15

2.4.1 MIO components ..........................................................................................15 2.4.2 Example 1: CNC with Built In IO, analog axes and manual configuration.....17 2.4.3 Example 2: CNC without Built In IO, with analog axes, manual configuration17 2.4.4 PCI Sercos board onboard inputs / outputs ..................................................18 2.4.5 Example 3: CNC with Sercos axes and automatic configuration ..................19 2.4.6 4ENC4A / 4AXLX Module IO configuration...................................................19 2.4.7 Field Bus IO Configuration............................................................................21

3 Configure the drives ...........................................................................................23 3.1 General ............................................................................................................23 3.2 Structure of Sercos drives configuration file ...............................................24 3.3 Structure for Axes on the 4ENC4A or 4AXLX Module .................................27 3.4 Structure for Stepper Axes in the LL CNC....................................................28 3.5 Drive Tuning....................................................................................................28

4 Machine Parameter Editor..................................................................................30 4.1 General ............................................................................................................30 4.2 Edit and save...................................................................................................32 4.3 Parameter “Find” ............................................................................................37 4.4 Allowed programmable letters and name of the axes .................................38

4.4.1 Example 1: Letter Y for second linear axis ...................................................41 4.4.2 Example 2: Letter M for first BCD letter ........................................................42 4.4.3 Example 3: Letter A for round axis ...............................................................42 4.4.4 Usual configurations for the various letters...................................................42 4.4.5 Feedrate and dwell configuration..................................................................44 4.4.6 Open loop axis..............................................................................................45

4.5 Complete the Initial Parameters ....................................................................46 4.5.1 Length Compensation: HCorrAxes ...............................................................46 4.5.2 Plane Selection: WPlaneIndex .....................................................................46 4.5.3 Initial State G-codes: GCodeAppl and GCodeAppl2 ....................................47

4.6 Temporarily disable the mandatory homing cycle.......................................48 4.7 Unit conversions.............................................................................................48

5 Initial machine parameters for analog axes......................................................49 5.1 Set up the axes................................................................................................49

5.1.1 Maximum axis velocity AxisSpeedMaxAppl..................................................50 5.1.2 Axis velocity in Manual mode SAxisFeedAppl ..............................................50 5.1.3 Axis acceleration AxisSlopeTime..................................................................51

Page 4: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 4/265

5.1.4 Travel distance per encoder pulse MachToInternalIncr ................................52 5.1.5 Position loop gain GainSpeedFactor ............................................................56 5.1.6 Rotary Axis or Spindle Setup........................................................................57 5.1.7 Stepper Axis Setup.......................................................................................59

5.2 Set up the override function ..........................................................................60 5.2.1 Hardware location of override switches AdditionKeyIOAddress ...................60 5.2.2 Override functionality OverrideAppl ..............................................................60 5.2.3 Override percentages: AutoFeedoverride, ManOverride, SpindleOverride...62

6 Initial machine parameters for Sercos drives...................................................63 6.1 Set up the axes................................................................................................63

6.1.1 Sercos position loop control SercosPositionControl .....................................64 6.1.2 Maximum axis velocity SercosMaxCommandValue .....................................65 6.1.3 Maximum axis velocity AxisSpeedMaxAppl..................................................65 6.1.4 Axis velocity in Manual mode SAxisFeedAppl ..............................................66 6.1.5 Axis acceleration AxisSlopeTime..................................................................66 6.1.6 Travel distance per encoder pulse MachToInternalIncr ................................68 6.1.7 Position loop gain GainSpeedFactor ............................................................68 6.1.8 Rotary Axis or Spindle Setup........................................................................69

6.2 Set up the override function ..........................................................................70 6.3 Sercos monitor................................................................................................71

6.3.1 General.........................................................................................................71 6.3.2 Perform Sercos timing and communication set up .......................................75 6.3.3 Monitoring Ident numbers .............................................................................78 6.3.4 Sercos Start Up Ident numbers ....................................................................80 6.3.5 Sercos parameters saved through power cycle............................................93

7 Programmable Logic Controller tool.................................................................94 7.1 General ............................................................................................................94 7.2 Load project ....................................................................................................95 7.3 Download project............................................................................................96 7.4 Online mode ....................................................................................................97 7.5 Write and Force variables ............................................................................100

8 Initial PLC program...........................................................................................102 8.1 General ..........................................................................................................102 8.2 The PLC project ‘Set_up.pro’.......................................................................103

8.2.1 PLC program variable declarations ............................................................104 8.2.2 PLC program code (in structured text)........................................................104

8.3 CNC-PLC variables used by ‘Set_up.pro’ ...................................................105 8.3.1 Emergency stop INEMERGENCn ..............................................................105 8.3.2 NC Cycle Start IN_START..........................................................................105 8.3.3 NC Cycle Stop IN_STOPn..........................................................................106 8.3.4 Block transfer enable IN_TRANSF .............................................................106 8.3.5 Feed enable all axes IN_ENABLE..............................................................106 8.3.6 Position loop enable IN_DRIVEON ............................................................106 8.3.7 Axis feed enable IN_DRIVEEN...................................................................107

9 First positioning test.........................................................................................108 10 Homing the axes ...............................................................................................110

Page 5: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 5/265

10.1 General ..........................................................................................................110 10.2 Reference sequence .....................................................................................112

10.2.1 Axis travels to the home position ................................................................112 10.2.2 Leaving the home position limit switch........................................................112 10.2.3 Re-approaching the home position limit switch...........................................112 10.2.4 Searching for the marker signal ..................................................................113 10.2.5 Traveling by RefPositionDistance, then setting RefPositionValue ..............113

10.3 Software limit switches ................................................................................114 10.4 Machine parameters for homing..................................................................115

10.4.1 Mandatory homing RefAxesAppl ................................................................115 10.4.2 Axes homing sequence AxisSequence.......................................................116 10.4.3 Homing search direction RefDirectionAppl .................................................116 10.4.4 Homing first search velocity RefVelocity1Appl............................................117 10.4.5 Homing second search velocity RefVelocityAppl ........................................118 10.4.6 Homing travel distance RefPositionDistance .............................................119 10.4.7 Homing set position RefPositionValue.......................................................119 10.4.8 Distance between two marker pulses: MarkerDistance .............................119 10.4.9 Invalid Marker Pulse: BadMarkerSignal......................................................120 10.4.10 Maximum marker distance error allowed: MaxIncrementError ...................121 10.4.11 Reference Cycle Type: RefCycleType........................................................121

11 Handwheel Set-up.............................................................................................122 11.1 Handwheel Hardware....................................................................................122 11.2 Machine Parameters for Handwheel support .............................................122

11.2.1 Machine Parameter: HandwheelNoAppl.....................................................122 11.2.2 Machine Parameter: HandwheelNo1Axis ...................................................122 11.2.3 Machine Parameter: HandwheelNo1Factor................................................123 11.2.4 Machine Parameter: HandwheelNo1InputChannel.....................................124 11.2.5 Machine Parameter: HandwheelNo1InputType ..........................................124 11.2.6 Machine Parameter: HandwheelNo1InputBitNo .........................................124 11.2.7 Machine Parameter: HandwheelNo1Station...............................................125

12 Spindle Setup ....................................................................................................126 12.1 Drive Configuration ......................................................................................126 12.2 Spindle Output Channel ...............................................................................126

12.2.1 Machine Parameter: SpindleOutputAppl....................................................126 12.2.2 Spindle BCD Number .................................................................................127

12.3 Spindle Feedback .........................................................................................128 12.3.1 Machine Parameter: SpindleFeedbackAppl...............................................128 12.3.2 Machine Parameter: SpindleIncrPerRev....................................................128 12.3.3 Machine Parameter: G33SpindleControlAppl ............................................129 12.3.4 Other Machine Parameters for a Spindle....................................................130

12.4 Spindle Speed ...............................................................................................131 12.4.1 Machine Parameter: SpindleMaxSpeedAppl ..............................................131 12.4.2 Machine Parameter: SpindleSlopeTime .....................................................131 12.4.3 Machine Parameter: SpindleMaxRPMAppl, SpindleMinRPMAppl..............131

12.5 Spindle Output Polarity ................................................................................132 12.5.1 Machine Parameter: SpindleReversalAppl .................................................132

Page 6: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 6/265

12.6 Spindle Orientation.......................................................................................132 12.6.1 Machine Parameter: M19Appl ....................................................................132 12.6.2 Machine Parameter: SpindleM19Offset ......................................................132 12.6.3 Machine Parameter: SpindleStopRPM .......................................................133

13 Set up of Other Axis Configuration Parameters.............................................134 13.1 Determining the Maximum Path Velocity....................................................134 13.2 Limit Values for Axis Ramping ....................................................................135 13.3 Standstill Lag Check.....................................................................................135 13.4 Axis In-position window...............................................................................135 13.5 Circle KV Element .........................................................................................135 13.6 Limit circle acceleration ...............................................................................136 13.7 Allowed contour error of circles..................................................................136 13.8 Backlash compensation...............................................................................136 13.9 Drift compensation .......................................................................................137 13.10 G73 positioning.............................................................................................138 13.11 Manual operating mode motions.................................................................139

14 Pitch Error Compensation................................................................................141 14.1 Introduction...................................................................................................141 14.2 Activation ......................................................................................................141 14.3 Program Format ............................................................................................142 14.4 Example of compensations including the program...................................143 14.5 Additional Information..................................................................................145

15 ART.....................................................................................................................146 15.1 Advanced Regulation Technology ..............................................................146 15.2 Activating ART and the Command Filter ....................................................147 15.3 Summary of ART G-codes ...........................................................................148 15.4 Setting up ART..............................................................................................148 15.5 General Machine Setup ................................................................................149 15.6 Optimization of the speed factors ...............................................................150 15.7 Optimization of the acceleration factors.....................................................151 15.8 Optimization of the ART-factors for changing of the acceleration...........152 15.9 Command filter..............................................................................................153 15.10 Reduction of the KV-factor of ART..............................................................154 15.11 Saving Optimized ART Values.....................................................................155 15.12 Machine Parameters .....................................................................................155 15.13 ART Examples...............................................................................................155

16 Distance Encoded Feedback System..............................................................158 16.1 Brief Description of the Feature ..................................................................158 16.2 Reference point cycle for distance encoded measuring systems............158 16.3 Machine Parameters .....................................................................................158 16.4 Set Up Requirements....................................................................................159

16.4.1 Home or reference point cams ...................................................................159 16.4.2 Interval coded rotary encoder (Stegmann TE 60).......................................159 16.4.3 Machine parameters in the AxisControl group............................................159

16.6 Adaptation with a gantry axis ......................................................................160 17 Distance Regulation..........................................................................................162

Page 7: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 7/265

17.1 General ..........................................................................................................162 17.2 Setup distance regulation ............................................................................162 17.3 Axis assignment and axis selection............................................................162

17.3.1 Without 5-axis software ..............................................................................162 17.3.2 With 5-axis software ...................................................................................163

17.4 Reading the analog input signal..................................................................164 17.5 Loop gain.......................................................................................................164

17.5.2 Setup based on sensor characteristic.........................................................165 17.5.3 Non-linear characteristic .............................................................................168

17.6 Machine Parameters .....................................................................................169 18 Machine Parameters for CNC features............................................................170

18.1 Analog Feed Control.....................................................................................170 18.2 Analog Inputs and Analog Outputs.............................................................172 18.3 Angled Wheel Transformation.....................................................................173 18.4 Automatic Spindle Gear Range Selection ..................................................176 18.5 Diameter Programming ................................................................................177 18.6 Dresser, wheel, tool tip radius compensation (DWRC) .............................178 18.7 Electronic Gear Box......................................................................................179 18.8 Feed Influencing via Digital Measuring (Probe) .........................................179 18.9 Feed Interpolation.........................................................................................182 18.10 Gantry Axes...................................................................................................182

18.10.1 Referencing a gantry ..................................................................................182 18.10.2 Start up of a gantry .....................................................................................183 18.10.3 Machine Parameters for a gantry ...............................................................183

18.11 Infinitely Rotating Axis .................................................................................185 18.12 Laser Power Control and associated fast outputs.....................................185

18.12.1 Laser power control ....................................................................................185 18.12.2 Fast output signals .....................................................................................186 18.12.3 Position-defined, fast M-functions...............................................................186

18.13 Multiple Spindles ..........................................................................................187 18.14 Parallel Axes .................................................................................................187 18.15 Polar / Barrel Cam Transformation..............................................................188 18.16 Spindle / Rotary Axis Switch over ...............................................................190 18.17 Thread Cutting ..............................................................................................191 18.18 Tool Management .........................................................................................192 18.19 Turning Cycles..............................................................................................194 18.20 Work Cycles ..................................................................................................195

18.20.1 Canned Drilling Cycles ...............................................................................195 18.20.2 G-code Cycle Programs .............................................................................195 18.20.3 User Cycle Programs..................................................................................196

18.21 MachineMate Special Features....................................................................197 18.21.1 Lathe T-Code programming........................................................................197 18.21.2 Programming Rotary-only Motion in G70....................................................197 18.21.3 G93 Programming for Mix of Linear and Rotary Motion..............................197 18.21.4 Canned Drilling Cycle Programming with Letters not Parameters ..............198 18.21.5 Collinear Axes Tracking..............................................................................198

Page 8: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 8/265

18.21.6 Extended Part Offsets.................................................................................199 18.21.7 Non-consecutive M-code Work Cycles .......................................................199

19 Backing Up Files ...............................................................................................201 19.1 Restarting the CNC software during machine parameter changes ..........203

20 Operator’s Manual for the Setup Mode ...........................................................204 20.1 Setup Page – Machine Parameter Editor ....................................................216 20.2 Setup Page – SERCOS Monitor ...................................................................222 20.3 Setup Page – Logic Analyzer .......................................................................223 20.4 Setup Page – Backup/Restore CNC Data....................................................234

Appendix A Axis Examples for Configuration ........................................................237 A.1 Example for linear axis.................................................................................237 A.2 Example for rotary axis ................................................................................237

Appendix B Structured Text PLC Application Example .........................................238 B.1 Introduction...................................................................................................238 B.2 Global Variables............................................................................................238 B.3 PLC_PRG.......................................................................................................239 B.4 ANALOG_DRIVES.........................................................................................240 B.5 SERCOS_DRIVES .........................................................................................241 B.6 MONITOR_CNC .............................................................................................242 B.7 DECODE_BCD...............................................................................................243 B.8 BCD_ACTION ................................................................................................244

Appendix C Ladder Diagram PLC Application Example ........................................246 C.1 Introduction...................................................................................................246 C.2 Global Variables............................................................................................246 C.3 PLC_PRG.......................................................................................................248 C.4 ANALOG_DRIVES.........................................................................................250 C.5 SERCOS_DRIVES .........................................................................................251 C.6 MONITOR_CNC .............................................................................................252 C.7 DECODE_BCD...............................................................................................253 C.8 BCD_ACTION ................................................................................................255

Appendix D Windows 2000 MM User Configuration...............................................257 Appendix E BIOS for Touch Screen Only Configuration – No Keyboard .............258 Appendix F Computer Screen Savers .....................................................................258 I Index...................................................................................................................259

Page 9: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 9/265

Table of Figures Figure 1: Machine Parameter groups...................................................................................31 Figure 2: Machine Parameter File Open dialog....................................................................32 Figure 3: Machine Parameter Edit .......................................................................................33 Figure 4: Machine Parameter Menu Dialog..........................................................................34 Figure 5: Machine Parameter File Save Dialog....................................................................35 Figure 6: Machine Parameter Find.......................................................................................37 Figure 7: CNC Interface display ...........................................................................................55 Figure 8: Sercos Monitor – Initializing....................................................................................72 Figure 9: Sercos Monitor – File soft keys...............................................................................73 Figure 10: Sercos Monitor – Save drive parameters..............................................................73 Figure 11: Sercos Monitor – Load drive parameters..............................................................74 Figure 12: Sercos Monitor – Setup soft keys .........................................................................75 Figure 13: Sercos Monitor – Find ident number.....................................................................79 Figure 14: PLC File Open...................................................................................................95 Figure 15: PLC Programming Tool – Initial Display............................................................95 Figure 16: PLC Download Project ......................................................................................96 Figure 17: PLC Online Display ...........................................................................................97 Figure 18: PLC Online Monitoring Options.........................................................................98 Figure 19: PLC Cross Reference Display...........................................................................99 Figure 20: PLC Forcing Variables ....................................................................................100 Figure 21: PLC Online Menu............................................................................................101 Figure 22: HMI Display of Axis Data.................................................................................108 Figure 23: HMI Continuous Jog Display ...........................................................................109 Figure 24: Homing: Axis Moves To Home Limit Switch....................................................112 Figure 25: Homing: Axis Moves Off Home Limit Switch ...................................................112 Figure 26: Homing: Axis Moves On Home Limit Switch Again .........................................112 Figure 27: Homing: Axis Searches for Its Marker Signal ..................................................113 Figure 28: Homing: Axis Moves to Reference Position ....................................................113 Figure 29: Axis Software Travel Limit Settings .................................................................114 Figure 30: Pitch Error Compensation Value, Error Curve and Axis Position ....................144 Figure 31: Effect of ART...................................................................................................146 Figure 32: ART example: axis motion with no ART active (KV = 1.25).............................156 Figure 33: ART example: axis motion with ART active.....................................................156 Figure 34: ART example: axis motion with ART active and G165 ....................................157 Figure 35: ART example: axis motion with ART active and reduction (G160) ..................157 Figure 36: Gantry Axis Illustration ....................................................................................160 Figure 37: Distance Regulation: Linear Characteristics....................................................165 Figure 38: Distance Regulation: Linear Loop Gain...........................................................166 Figure 39: Distance Regulation: Non-linear Loop Gain ....................................................169 Figure 40: AFC Example 1 ...............................................................................................171 Figure 41: AFC Example 2 ...............................................................................................171 Figure 42: AFC Example 3 ...............................................................................................172 Figure 43: Angle definitions α, β and γ for angled wheel X...............................................174 Figure 44: Setup Page.........................................................................................................204

Page 10: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 10/265

Figure 45: Setup Page – PLC functions...............................................................................205 Figure 46: Setup Page – Edit IO Configuration....................................................................206 Figure 47: Setup Page – Machine Setup functions..............................................................207 Figure 48: Setup Page – Edit Drive Configuration ...............................................................208 Figure 49: Setup Page – HMI Setup dialog .........................................................................209 Figure 50: Setup Page – HMI Setup dialog – Jogging .........................................................210 Figure 51: Setup Page – HMI Setup dialog – Data types ....................................................211 Figure 52: Setup Page – HMI Setup dialog – Connections..................................................212 Figure 53: Setup Page – HMI Setup dialog – Fonts.............................................................212 Figure 54: Setup Page – HMI Setup dialog – Font selection ...............................................213 Figure 55: Setup Page – HMI Setup dialog – E-mail ...........................................................213 Figure 56: Setup Page – HMI Setup dialog – User-defined soft keys ..................................214 Figure 57: Setup Page – HMI Setup dialog – New soft key .................................................215 Figure 58: Setup Page – HMI Setup dialog – New soft key - Run .......................................215 Figure 59: Setup Page – Machine Parameter Editor ...........................................................216 Figure 60: Setup Page – Machine Parameter Editor Help ...................................................217 Figure 61: Setup Page – Machine Parameter Editor Help – full screen...............................218 Figure 62: Setup Page – Machine Parameter Editor – File Open........................................219 Figure 63: Setup Page – Machine Parameter Editor – File Compare ..................................221 Figure 64: Setup Page – SERCOS Monitor .........................................................................222 Figure 65: Setup Page – Logic Analyzer .............................................................................223 Figure 66: Logic Analyzer – File soft keys ...........................................................................224 Figure 67: Logic Analyzer – Settings ...................................................................................225 Figure 68: Logic Analyzer – Channel Setting.......................................................................226 Figure 69: Logic Analyzer – Wave Form Generator Setting ................................................228 Figure 70: Logic Analyzer – View Setting ............................................................................229 Figure 71: Logic Analyzer – Connection Setting ..................................................................230 Figure 72: Logic Analyzer – Wave form generator...............................................................231 Figure 73: Logic Analyzer – View functions .........................................................................232 Figure 74: Setup Page – Backup/Restore CNC Data ..........................................................234 Figure 75: Setup Page – Backup CNC Data Selection ........................................................235 Figure 76: Setup Page – Backup CNC Data to File Selection .............................................235 Figure 77: Setup Page – Restore CNC Data from Backup File Selection............................236 Figure 78: Linear and rotary axis examples......................................................................237

Page 11: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 11/265

1. Introduction This Start Up Manual provides information for the initial start up activities for the MACHINEMATE CNC control. 1.1 Overview of the Manual

The Start Up Manual is divided in several parts. They are presented in the order that the integrator or programmer would typically perform the accompanying activities. Part 1: Introduction This part is this material. Part 2: Configuring the MachineMate I/O This part describes how to set up the control for the actual configuration of the input and output devices that are connected to the control. Part 3: Configuring the Drives This part describes how to set up the control for the actual configuration of the servo drives and encoder input devices that are connected to the control. Part 4: Introduction to the Machine Parameter Editor This part provides a general introduction to the Machine Parameter Editor within the CNC software. This tool will be used to perform various software configuration activities. This part also provides direction for several machine parameters that must be configured regardless of whether the system uses analog or Sercos drives. Part 5: Initial Machine Parameters for an Analog System This part provides the procedure for configuring the initial machine parameters for an analog drive system.

Page 12: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 12/265

Part 6: Initial Machine Parameters for a Sercos System This part provides the procedure for configuring the initial machine parameters for a Sercos (digital) drive system. Part 7: Introduction to the PLC Programming Tool This part provides a general introduction to the Programmable Logic Controller (PLC) programming tool within the CNC software. This tool will be used to program the machine-specific activities. Part 8: Introduction to the Initial PLC Program This part provides a general introduction to an initial PLC program that will provide just the basic required PLC signals to the CNC software. Some PLC logic is required to allow the CNC to get out of an emergency stop condition, to jog an axis (part 9) The initial program in Appendix B or Appendix C could be used as the foundation for the actual PLC program to be written for the specific CNC application. Part 9: First Positioning Test This part provides a test for getting the respective axes in the machine moving (an axis jog). Once the initial jog motions are achieved correctly, then the programmer has defined the initial axis dimension and velocity machine parameters correctly. Part 10: Homing This part provides a procedure for getting the respective axes in the machine homing as required. Once all the initial motions are achieved successfully (both jogging and homing), the programmer can proceed with the development of the PLC program for the specific CNC application. Subsequent Parts in the document The subsequent parts of the manual will provide information about the software configuration for other control or machine features. As new features are added to the software, their configuration details will be added to the end of this manual.

Page 13: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 13/265

1.2 Preparation

Do the following before the set-up of the CNC for your specific machine: • Become familiar with the Machine Parameter Editor (MP Editor) editor. A procedure for starting

this tool can be found in Chapter 4 “Machine Parameter Editor” of this Start Up Manual.

• Make sure that the control is wired according to the connection requirements. This is especially true for correct polarity and for the grounding system. Please follow the instructions in the Hardware Manual.

• Observe safety in moving any machine axis.

• Set-up the drives to operate at maximum velocity in plus (+) direction at 8V for the analog voltage

(and the feedrate override switch/setting at 100%). • Make sure that the emergency stop switch and the axis limit switches are functional.

Upon the application of power to the CNC, the control will automatically log into the MACHINEMATE’s user account and then it will automatically start the CNC software. If the administrator account of Windows 2000 is required for some activity, such as the installation of a new device driver for Windows 2000, do the following steps. Go to the “Start” menu and select “Shut Down” Select “Log off MM” and click OK

At that time a login dialog is presented so ‘administrator’ can be entered for the User Name as well the appropriate password. The default user account is MM for the user and no password and this MM account is typically used to run the CNC software.

There are two frequently used keyboard shortcuts for the control. These shortcuts are valid only when the HMI is the top window in 2000. They are not valid if the HMI is minimized or another window (like the PLC programming tool) is the top window. There are also other shortcuts available, as keyboard macros, but those are described in the Operator Manual.

To do a ‘Control-Reset’ from the PC keyboard, simultaneously press the ‘Ctrl’ and ‘R’ keys. The Ctrl+R is the same as the simultaneous press of Ctrl+Reset from the MachineMate front panel keypad. To clear the last operator message from the HMI, simultaneously press the ‘Ctrl’ and ‘X’ keys. The Ctrl+X is the same as the mouse double-click on the status icon that is displayed to the left of the operator message (near the bottom of the HMI display). Sometimes it is necessary to look for specific files on a PC. All files should be visible with their correct names. In Windows 2000, with Windows Explorer, if you click on Tools, then Folder options, then View, Hide file extensions for known file types should not be checked.

Page 14: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 14/265

2 Configure the PLC inputs and outputs 2.1 General

Before using machine input/output modules from PLC program or CNC functions, all I/O modules have to be configured for your application. The file is called MMIOCfg.ini and can be found in the folder C:\Program Files\MM\User Data. This I/O configuration file lists all I/O modules used in your application and defines the logical addresses (byte numbers) to access the hardware modules by software (i.e., the PLC program and CNC software functions). The configuration of logical addresses (byte numbers) allows the application programmer (both CNC and PLC) to know the hardware addresses of all modules supported by the CNC. All controls are shipped with a standard I/O configuration file. You will have to modify this file to your needs (i.e., add or remove I/O interfaces and/or modules and set up the required logical addresses). To modify the I/O configuration file, use the control HMI.

• Select “Setup” • S1 – PLC • S3 – IO configuration

This will open a text editor to modify the I/O configuration file. After the modifications are done, save the file with the original name – MMIOCfg.ini. The modifications will become active with the next start-up of the CNC control.

When first accessing the SETUP displays after starting the HMI, the control will issue a prompt for a password. There are different password levels for various HMI displays. These passwords and levels are described in the Operator Manual. The default password to be used when accessing the SETUP displays is ‘MM009’.

2.2 Structure of the input / output configuration file

The I/O configuration file has to respect following structure:

board number

number of input Bytes

number of output Bytes

address of first input Byte

address of first output Byte

comment(optional)

Each line of the file gives the description of each In / Out-component used in the application.

The character "," is used as separator. The character ";" has to precede any comment. A byte number can range from 1 to 254.

Page 15: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 15/265

2.3 The CNC generated input / output configuration file

Each time that the CNC starts, it generates a copy of its I/O configuration. The file is called MMIOCfg.out and can be found in the same folder as the MMIOCfg.ini file. The format for this file follows the format for the input IO configuration file. This file can serve as a reference for the PLC programmer for the input and output byte assignments. As the IO configuration file can make use of an ‘AUTO’ configuration attribute for many of the IO technologies so that the respective IO modules do not have to be explicitly defined, this CNC generated file serves as a record of the actual IO configuration. 2.4 Different IO components

The CNC supports several different IO technologies. Each will be described below. 2.4.1 MIO components

The MACHINEMATE Modular IO (MIO) system is the standard system for I/O components with a MACHINEMATE. • MIO 2416 (24 inputs / 16 outputs)

Each module has 3 digital input bytes and 2 digital output bytes. • MIO 16RO (16 outputs)

Each module has 2 digital output bytes. • MIO 4AD4DA (4 analog inputs / 4 analog outputs)

Each analog input occupies 2 bytes and each analog output occupies 2 bytes. • MIO 4ENC4A (4 encoder inputs / 4 analog outputs / 4 analog inputs)

Each analog input occupies 2 bytes. Even though each encoder input and analog output will also occupy a number of interface bytes, these axis interface bytes are not reserved in the IO configuration because they are only accessed internally by the CNC.

• Built-in 2416LX (24 inputs / 16 outputs)

Each built-in module has 3 digital input bytes and 2 digital output bytes, the same as the MIO 2416 module. This module is integrated into the CNC IPC in the L2 and LW models.

• Built-in 4AXLX (4 encoder inputs / 4 analog outputs)

Even though each encoder input and analog output will also occupy a number of interface bytes, these axis interface bytes are not reserved in the IO configuration because they are only accessed internally by the CNC. Therefore this module does not get any byte assignments in the IO

Page 16: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 16/265

configuration file. If the IO configuration file explicitly declares the IO modules with the byte assignments (see 2.4.2. for an example), this particular module (number 1) is not included in the configuration file. This module is integrated into the analog CNC IPC in the L2 and LW models.

These components are specified by one of following instructions: manually by: " MM-MODULAR-IO Configuration " automatically by: “ MM-MODULAR-IO AUTO Configuration "

In the case of an Auto Configuration, if no input / output addresses are specified, then by default the first input byte will have the address 1 and the first output byte will have the address 100. However, it is possible to specify any start address as follows: “ MM-MODULAR-IO AUTO Configuration IN 4, OUT 103 "

In this case the first input byte of the detected MIO components will have the address 4 and the first output byte will have the address 103. The subsequent input and output bytes will follow these addresses respectively. For example, with two MIO2416 modules in this configuration, the six input bytes would be in bytes 4 through 9 and the four output bytes would be in bytes 103 through 106. In any ‘AUTO’ configuration, the input byte number assignments start with the first module in the configuration (i.e., the first module connected to the control) and proceed consecutively from that byte number. The output byte numbers are similarly assigned. The ‘IN’ and ‘OUT’ parameters just allow control of the initial input and output byte numbers. The ‘AUTO’ configuration will not mix the input and output byte numbers in the sequence. If the ‘IN’ and ‘OUT’ values result in an overlap, then a warning message is issued during the CNC startup. Note that with the automatic byte assignments, remember that all the input bytes will be consecutive and all the output bytes will be consecutive. All input bytes are treated the same in this mapping, whether they are in a 2416 MIO or a 4AD4DA IO or a 4ENC4A MIO. Output bytes are treated the same, whether they are in a 2416 MIO or a 4AD4DA MIO. These automatic byte number assignments do not apply ONLY to the 2416 modules. For example if a 4ENC4A module is in the MIO chain with a number of 2416 modules, remember that the bytes in that module will be reserved according to its location in the chain. Since the 4ENC4A has 8 input bytes, if it is in the chain first and a 2416 is second, then the 2416 input bytes will not start at byte 1 – instead they will be assigned after the 8 bytes in the 4ENC4A MIO, so if the 4ENC4A input bytes start at number 1, then the input bytes in the 2416 that follows in the chain will start at number 9.

Page 17: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 17/265

2.4.2 Example 1: CNC with Built In IO, analog axes and manual configuration

CNC systems from MachineMate with Built In IO (BIO) will always configure the built in IO first as they are first in the chain on the IO bus. For all systems with built in IO the modules are: 1st module 4AXLX – 4 axes servo module 0 inputs & 0 outputs 2nd module 2416LX – 24V discrete input/output 24 inputs & 16 outputs 3rd module 2416LX – 24V discrete input/output 24 inputs & 16 outputs All additional modules will be on the SuperBus and can be hardware configured per specific application. Example: CNC with BIO (48 inputs / 32 outputs) 2 MIO 2416 digital In / Out (48 inputs / 32 outputs) 1 MIO 16RO relay out (16 outputs) 1 MIO 4Enc4A servo module (4 analog inputs) ; MachineMate ; Modular I/O Bus Configuration ; MM-MODULAR-IO Configuration ; ; Board No. of No of Input Output Comment ; No. Input Output Byte Byte ; Bytes Bytes Number Number ; 1, 0, 0, 0, 0 ; BIO 4AXLX

2, 3, 2, 4, 103 ; BIO 2416LX 3, 3, 2, 7, 105 ; BIO 2416LX 4, 3, 2, 20, 110 ; MIO 2416 5, 3, 2, 23, 112 ; MIO 2416 6, 0, 2, 0, 114 ; MIO 16RO 7, 8, 0, 26, ; MIO 4ENC4A

; ; END of I/O-Bus configuration

2.4.3 Example 2: CNC without Built In IO, with analog axes, manual configuration

Example: 4 MIO 2416 digital In / Out (96 inputs / 64 outputs) 1 MIO 16RO relay out (16 outputs) 1 MIO 4ENC4A servo module (4 analog inputs) 1 MIO 4AD4DA analog In / Out (4 analog inputs / 4 analog outputs)

Page 18: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 18/265

; MachineMate ; Modular I/O Bus Configuration ; MM-MODULAR-IO Configuration ; ; Board No. of No of Input Output Comment ; No. Input Output Byte Byte ; Bytes Bytes Number Number

1, 3, 2, 1, 101 ; MIO 2416 2, 3, 2, 4, 103 ; MIO 2416 3, 3, 2, 7, 105 ; MIO 2416 4, 3, 2, 10, 107 ; MIO 2416 5, 0, 2, , 109 ; MIO 16RO 6, 8, 0, 13, ; MIO 4ENC4A 7, 8, 8, 21, 111 ; MIO 4AD4DA

; ; END of I/O-Bus configuration 2.4.4 PCI Sercos board onboard inputs / outputs

These built-in input / output bytes are specified by the instruction: " MM-FAST-PCI-IO Configuration " Each PCI-Sercos board has 3 digital input bytes and 2 digital output bytes.

The PCI-Sercos input/output configuration must be explicitly declared. There is no ‘auto’ configuration for this type. The only variation in a particular configuration is the input and output byte number assignments. If the PCI-Sercos input/output connector is not physically connected in the system (including the 24VDC supply on the connector), then it should not be declared in the input/output configuration file. Defining this interface in the configuration file when it is not connected will result in a warning message during the CNC startup – indicating that there is a problem with the missing connection. The PCI-SERCOS outputs are disabled if the SERCOS CNC Ready signal is not ON. For example, if the CNC software is not running, CNC Ready is OFF so the PCI-SERCOS outputs are clamped OFF. Also if the SERCOS ring is not connected the CNC declares an error to the operator and also the CNC Ready is not ON thereby disabling these outputs.

Page 19: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 19/265

2.4.5 Example 3: CNC with Sercos axes and automatic configuration

Example: 1 Sercos board ( 24 inputs / 16 outputs) 5 MIO digital In / Out (120 inputs / 80 outputs) ; MachineMate ; Sercos and Modular I/O Bus Configuration ; MM-FAST-PCI-IO Configuration ; ; 3 Bytes in 2 Bytes out on MM-PCI-Sercos Board ; ; Board No. of No of Input Output Comment ; No. Input Output Byte Byte ; Bytes Bytes Number Number

1, 3, 2, 1, 101 ; 3 Bytes In, 2 Bytes out ; ; Modular IO automatic configuration ; The IN/OUT numbers direct the Modular IO byte numbers to follow the ; PCI-Sercos byte numbers. ; MM-MODULAR-IO AUTO configuration IN 4, OUT 103 ; ; END of I/O-Bus configuration 2.4.6 4ENC4A / 4AXLX Module IO configuration

If the 4ENC4A module is in the Modular IO configuration, then an additional line is required in the input/output configuration file. After the Modular IO configuration has been defined (either with the Auto configuration line or with explicit module declarations), include this line: BUSLENGTH 10 where the number after BUSLENGTH indicates the length (in meters) of the IO cable between the CNC control and the last 4ENC4A module in the configuration. In the example above, a 10-meter cable connects the 4ENC4A module to the control. 35 is the maximum length allowed. If the explicit module declaration format is desired or required, the format for this module definition is the same as for the MIO 2416 module. The module has 8 input bytes and 0 output bytes (as defined in this file). An example of this module as the first in the configuration (i.e., the first module that is connected to the control):

Page 20: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 20/265

1, 8, 0, 1, 0 ; 4ENC4A module: uses input bytes 1 to 8 As mentioned earlier, these eight input bytes are reserved for the four analog inputs on the module. The encoder inputs and analog outputs on the module are not defined in the IO configuration because those bytes are used only within the CNC axis interface.

It is possible to declare and use un-used analog outputs on the 4ENC4A or 4AXLX module. These unused D/A outputs can be used to drive any compatible analog device. Control of these outputs will be via the PLC.

Example: 1 MIO 2416 digital In / Out ( 24 inputs / 16 outputs) 1 MIO 4ENC4A servo (4 inputs / 0 outputs)

4th analog output is not used by the servos and will be declared for use by the PLC

Automatic configuration of byte numbers ; MM with MMMIO automatic configuration ; MM-MODULAR-IO auto configuration ; A4 ; 4th analog out of the 4Enc4A ; In this example the 4th analog output will be assigned Output 102 & 103 (because 100 & 101 are automatically assigned to 2416 module). The other analog outputs would remain unavailable to the PLC. Explicit configuration of byte numbers ; ; MM with MMMIO configuration ; MM-MODULAR-IO configuration ; 1, 3, 2, 4, 103 ; MIO 24/16 2, 8, 0, 7, ; MIO 4ENC4A A4, 105; 4th analog out of the 4enc4a ; In this example the 4th analog output will be assigned to Output 105 & 106.

Page 21: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 21/265

Note that there can be no splitting of an analog output and its encoder input for the same axis channel when the encoder is defined as an axis in the drive configuration file. An open loop axis (i.e., an encoder only, no drive) will maintain a 0V analog output to its analog output channel.

2.4.7 Field Bus IO Configuration

The CNC supports a number of field bus IO technologies. Each field bus requires its own bus master device interface card to be installed in the CNC control. The CNC software is configured for a particular field bus during its installation. If a field bus IO technology is added after a CNC has been delivered, the CNC configuration must be changed for the particular field bus (consult MachineMate) and then the CNC software must be installed again to activate the desired field bus. The CNC software does not automatically detect the presence of any field bus master card within the control; only those that have been activated will be supported by the CNC. The list of field bus interfaces supported by the CNC is in section 5 of the Hardware Manual. Each of these cards has a device driver to provide the interface with the CNC software. The installation of the configuration software will include the installation of this device driver (and that procedure in the that manual). Each field bus master device requires the network configuration to be defined. The interface card vendor typically also provides this configuration tool. As the network configuration has been defined for the interface card, typically the network is not configured again for the CNC. Each field bus technology is just declared (its presence is declared) but not its IO configuration. The input / output bytes are specified by the instruction:

For Interbus-S: " INTERBUS-S Configuration " For Profibus-DP: " PROFIBUS-DP Configuration " For CAN Bus:

“ CAN-OPEN Configuration “ For DeviceNet:

“ DEVICE-NET Configuration “ For any field bus, no manual configuration of the IO modules is required. The application of a field bus IO technology has the IO byte assignments done with the field bus configuration tool. The field bus configuration line is usually placed within the IO Configuration file before any MachineMate IO configuration lines (i.e., Modular IO or Fast-PCI-IO).

Page 22: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 22/265

For any of the field bus technologies, the CNC might need a time delay during the initialization of its interface to the field bus master. The CNC has a default delay of 1 second (or 1000 milliseconds). If more time is required for this initialization (often proportional to the number of nodes in the field bus network) then another line should be added after the configuration line like:

RESET-TIMEOUT 5000

which defines the time for field bus initialization after the device reset, where the number represents milliseconds (so 5000 represents 5 seconds). 2.5 Drive Input & Output Connections Different drive wiring connections are made depending on whether the drive is analog or SERCOS. Connection Analog SERCOS From Machine To PLC To Drive To PLC To Drive Home Input Yes No No Yes (NC Reference Switch) Over Travel Switches Yes No Yes No See the Note below. Connection Analog SERCOS From PLC To Drive To Drive Drive Enable Output Yes No Drive Reset Output Yes No Connection Analog SERCOS To PLC From Drive From Drive Drive Ready Input Yes No

If the axis over travel switch inputs are connected to the drive, then upon an over travel condition, the drive is inhibited and the motor will have to be moved by hand to recover. By connecting them to the PLC (which can provide an appropriate error message to the operator), the PLC can handle an input switch from the operator to override the axis over travel condition and allow the operator to jog the axis to recover.

Page 23: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 23/265

3 Configure the drives 3.1 General

The hardware output channels to the CNC servo axes and the spindles are assigned in the CNC drive configuration file. The file is called MMDriveCfg.ini and can be found in the folder C:\Program Files\MM\User Data. The D/A output channels are assigned with numbers 1 to 8 for all possible output channels and correspond with hardware axes numbers 1 to 8. Axes, spindles and laser power control can be connected to output channels as indicated in the MMDriveCfg.ini file. The separate interpolator paths are assigned to respective stations with numbers 1 to 8. Each interpolator path can run an independent part program. The CNC HMI allows the operator to switch between its different CNC stations. The number of stations supported by the CNC software configuration is part of the initial CNC software configuration. It is a purchased configuration item and cannot be changed in the field. All CNC controls are shipped with a standard drive configuration file. You will have to modify this file to your particular needs (i.e., add or remove drives and set up the required hardware addresses). To modify the Drive configuration file, use the control HMI.

• Select “Setup” (enter password if required) • S2 – Machine setup • S2 – Drive configuration

Pressing this soft key will open a text editor to modify the drives configuration file. After the modifications are done, save the file with the original name – MMDriveCfg.ini. The modifications will become active with the next start-up of the CNC control.

The hardware output number may be different than the display index! The display index of the axis is defined by the machine parameters in the “NCAddressFormat” group. This is the order in which the axes are displayed on the HMI. All of the axis dependent machine parameters are related to the display index and not to the hardware output number!

The number of stations supported by the CNC control is part of the initial CNC

software configuration. It cannot be changed in the field. The axis characters are defined in the drive configuration file. Each CNC station has its own machine parameter file so each has its own NCAddressFormat parameter group (see 4.5). Therefore, each station may have its own X and Y axes or the axes may be uniquely identified.

Page 24: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 24/265

The drive configuration file will use the letter L for every laser power output in the system; there can be up to three lasers in a station. The machine parameter file will configure the individual laser channels as the respective laser channels are controlled via different G-codes. The drive configuration file will use the letter S for every spindle in the system; there can be up to six spindles in a station. The machine parameter file will configure the individual spindles as typically each spindle is controlled with a different M-code. Note that the encoder feedback from a spindle is not required for all applications. Therefore in analog drive systems, there can be several variations in a spindle connection. The letter S can identify a spindle with feedback (e.g., both the analog output and encoder feedback are used in an analog system), a spindle without feedback (e.g., only the analog output would be used, not the encoder feedback) or just the spindle feedback (such as occurs with a two-headed lathe where one station has both the analog output and encoder feedback while the other station has only the encoder feedback). If a spindle without feedback has its velocity command signal connected to an analog output such as from a 4AD4DA MIO then it is not included in this file (the byte number for the D/A analog output will be defined in a machine parameter). An encoder handwheel connection to an axis channel is not identified in this file; that connection is defined in a machine parameter (see 11.2.4). 3.2 Structure of Sercos drives configuration file

The Sercos drives configuration file has to follow this structure:

Hardware output number Parameter file name CNC station number Axis character Each line of the file has to correspond with each drive used in the application. A line with only SERCOS identifies the start of the definition of the SERCOS drives. The file name given under ‘parameter file name’ is the one that the control will use to save the Sercos Ident data of the particular axis when this is required in the CNC HMI Sercos Monitor activity. The file name is limited to 12 characters (i.e., usually in the 8.3 file naming format) and the file is saved in the CNC software directory: C:\Program Files\MM. Another folder cannot be specified.

The character "," is used as a separator within a line. The character ";" precedes any comment in a line. All characters that follow the ’;’ in the line are ignored. An axis character ‘S’ stands for a spindle output. An axis character ‘L’ stands for a laser power output. Do not change the first part of the file without consulting MACHINEMATE INC.

Page 25: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 25/265

T_SCYC must match the system tick for your system. The drive configuration file cannot change this time value. (Figure 12 in Section 6 shows the display with this information; T_SCYC in the file must match the top line of the display in Figure 12.) If these entries do not match, the CNC will never get to SERCOS phase 3 with this ring. If you must change the system tick for your system due to SERCOS drive limitations, please contact MACHINEMATE INC.

VAL_TXD is the fiber optic’s transmitter level setting. If a different setting is required for the particular machine (per Figure 9), then change this value to match the value that was used in 6.3.2.

FREQ must match the drive setting(s) for its baud rate. This drive setting is usually done with a physical switch on the drive. Not all drives have the same range of available ring baud rates. All drives on the ring must be at the same baud rate. The usual settings are 2000 or 4000. The ADDR value must match the drive number assignment on the drive, usually done with a physical switch on the drive.

Page 26: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 26/265

Example: ; drive configuration file ; Sercos axes SERCOS T_SCYC = 2.0 MS T_OFFSET = 0.3 MS T_DEL = 300 ; first Sercos ring RING = 1 VAL_TXD = 3 FREQ = 2000 ; output # parameter file name station # axis character ADDR = 1, DRIVEC.PAR, 1, C ADDR = 2, DRIVEX.PAR, 1, X ADDR = 3, DRIVEZ.PAR, 1, Z ADDR = 4, DRIVEA.PAR, 1, A ; ADDR = 5, DRIVEB.PAR, 1, B ; ADDR = 6, DRIVEC.PAR, 1, C ; ADDR = 7, DRIVEW.PAR, 1, W ; ADDR = 8, DRIVES.PAR, 1, S

; second Sercos ring

RING = 2 VAL_TXD = 3 FREQ = 2000 ; output # parameter file name station # axis character ; ADDR = 1, DRIVEB.PAR, 2, B ; ADDR = 2, DRIVEE.PAR, 2, E ; ADDR = 3, DRIVEO.PAR, 2, O ; ADDR = 4, DRIVES2.PAR, 2, S ; ADDR = 5, DRIVES3.PAR, 2, S ; ADDR = 6, DRIVES4.PAR, 3, X ; ADDR = 7, DRIVES5.PAR, 3, Z ; ADDR = 8, DRIVES6.PAR, 3, S

The Sercos ring number is not the same as the CNC station number. Drives in the same Sercos ring can be within different CNC stations. The number provided with the ADDR value must match the actual axis drive number assignment within the Sercos ring. This number is typically configured on each drive with a physical switch (usually one or two rotary switches).

Page 27: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 27/265

3.3 Structure for Axes on the 4ENC4A or 4AXLX Module

The segment of the drives configuration file that defines the drives connected to the 4ENC4A or 4AXLX module will follow the format below. This 4ENC4A or 4AXLX module is also called the axis interface module. There is an initial line in the file that defines the connection to the Modular I/O axis interface modules. This line (with only the word ‘SBANALOG’) identifies the start of this drive configuration segment for Modular I/O. There are also three optional lines that may follow this SBANALOG line before the axes definitions, where ADDR identifies the number of the drive encoder and/or D/A (so the first drive on the second 4ENC4A is encoder 5). Example of the file:

; drive configuration file … (this initial part of the file could also be for Sercos drives) … ; this is the identifier for start of Modular I/O axes in the file SBANALOG T_DADELAY=0.5MS 5V_RMS_MONITOR=OFF BUSLENGTH 10 ; output # station # axis character ADDR = 1, 1, X ADDR = 2, 1, Z ADDR = 3, 1, S ;ADDR = 4, 1, A

The ‘SBANALOG’ line indicates that the following drives are analog drives connected via the Superbus (i.e., the Modular IO chain). The optional ‘T_DADELAY’ line can be used to address rare timing concerns (but only if required; the default value is 25% of the system tick, which ranges from 1ms to 8ms based on the CNC model). The optional ‘5V_RMS_MONITOR’ line will be ‘OFF’ when the 5V supply is not connected to the 4ENC4A module. If the ‘5V_RMS_MONITOR’ line is ‘ON’ (which is the state if this line is omitted), then the 5V supply input (for the module’s encoder connections) to the 4ENC4A module is included in the module’s internal safety checks. This external 5V supply is not used internally; it is used only to supply power to the encoders. The ‘BUSLENGTH’ line defines the cable length (in meters; up to 35) from the control to the 4ENC4A module.

Page 28: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 28/265

3.4 Structure for Stepper Axes in the LL CNC

The LL CNC has both an 4AXLX module built-in and an interface to 4 steppers. The drives connected to the 4AXLX module will follow the format defined above. There is a line in the file that defines the connection for stepper axes to the LL CNC. This line (with only the word ‘USBSTEPPER’) identifies the start of this drive configuration segment for stepper axes. There is one optional line that may follow this USBSTEPPER line before the axes definitions, where ADDR identifies the number of the stepper output to that axis. Example of the file:

; drive configuration file … (this initial part of the file could also be for Analog drives) … ; this is the identifier for start of stepper axes in the file USBSTEPPER T_DADELAY=0.5MS ; output # station # axis character ADDR = 1, 1, X, ENCODER ADDR = 2, 1, Z, ENCODER ADDR = 3, 1, S ;ADDR = 4, 1 A

The ‘USBSTEPPER’ line indicates that the following drives are stepper drives. The optional ‘T_DADELAY’ line can be used to address rare timing concerns (but only if required; the default value is 25% of the system tick, which is 2ms in the LL CNC model). The ADDR number identifies which stepper output is connected to the specified axis. The default for each axis is no encoder feedback for that axis. If the encoder feedback for an axis is connected then the word ‘ENCODER’ is placed on that configuration line after the axis letter (as shown in the example above). If ENCODER is indicated then that encoder input must be connected to the same encoder number as shown in the ADDR value. 3.5 Drive Tuning

To get the maximum performance of a servo drive in a CNC system, the drive should be tuned for its motor and its mechanical load before the CNC is tuned to the drive and motor. This tuning is usually done after the necessary CNC parameters have been configured and, in the case of a Sercos drive, the required drive parameters have been configured as well. While the CNC can provide some assistance in drive tuning, it is not designed with the best tools for that purpose. It is possible with a CNC version dated after March of 2001 to use the generator

Page 29: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 29/265

functions of the Logic Analyzer to drive square waveforms or sinusoidal waveforms to the servo output channels. However, most drive manufacturers provide a software package that assists in the tuning of their drives. Typically, the drive tuning sequence can be simply summed up as: 1. First, the drive’s velocity loop is tuned.

This usually involved step changes in the velocity command to the drive (i.e., an instantaneous change from a 0 velocity to the target velocity). The drive will often have one or more parameters involved in its velocity loop, usually a proportional gain and perhaps an integral gain (or time) as well. Typically, the proportional gain is increased until the system becomes unstable and then its value is reduced. An oscilloscope is very helpful in this tuning as the amount of overshoot and ringing is difficult to determine without one. (Some drive manufacturers’ software packages use the internal circuitry within the drive to provide an oscilloscope trace for such signal monitoring.) Next the integral gain is similarly adjusted.

The CNC velocity command is usually not a ‘step change’ as acceleration and deceleration ramps are typical. To tune the velocity loop of an axis drive, the CNC must be reconfigured to control the drive via velocity control (like a spindle), not position control. This reconfiguration for drive tuning can be difficult as the parameter values involved are not intuitive given the change in the drive application.

2. Second, the drive’s position loop is tuned.

This usually involved step changes in the position command to the drive (i.e., an instantaneous change from current position to the target position). The drive will often have one or more parameters involved in its position loop, usually a proportional gain and perhaps an integral gain (or time) as well. Typically, the proportional gain is increased until the system becomes unstable and then its value is reduced. The axis lag or following error is monitored to determine the relative performance. An oscilloscope is also helpful in this position loop tuning. Next the integral gain is similarly adjusted. Different filters are also available, depending on the drive’s features and technology. The CNC position command is usually not a ‘step change’ as acceleration and deceleration ramps are typical.

CNC achieves its optimum performance after its drives have been tuned for their best performance.

Page 30: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 30/265

4 Machine Parameter Editor 4.1 General

Machine Parameters affect a variety of conditions on the mechanics of the machine including items such as the soft travel limit values, control of the homing cycle and velocity limits for the axes and spindle, as well as specific definition data for different software features. The Machine Parameters also affect and optimize the operation of the entire system of CNC and machine tool.

Any changes in Machine Parameter values should be done only by specifically instructed people. Changing Machine Parameter values can have a negative impact on the machine tool causing incorrect operation, damage of the machine tool and potential personal injury. There is one set of machine parameters for each CNC station.

The Machine Parameter Editor is used to edit the content of the different machine parameters and to save them as a PC file. However these changes in the file are not active within the CNC control until this file has been loaded into the CNC. To start the MP Editor by doing the following:

• Start the HMI.

• Set the HMI to SETUP mode.

• Enter the appropriate password (if required).

• Press S2: Machine Parameter.

• Press S1: Editor of machine parameters.

The following screen will appear:

Page 31: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 31/265

Current MP Filename

Current MP group

Figure 1: Machine Parameter groups

The title bar indicates the file that is active in MP tool (or CNC:name indicates the data is in the CNC rather than a file as Figure 1 shows). The MP Tool will always open the last file that was opened or manipulated. That will not always be the currently active file. Press S3 to open a different file into the MP tool. A dialog similar to Figure 2 allows the file selection. Use this explorer window to navigate to the required file on any hard disk folder or from the CNC memory.

Page 32: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 32/265

Figure 2: Machine Parameter File Open dialog

4.2 Edit and save

To change a Machine Parameter item, do the following: 1. First save the current state as a file onto disk to be on the safe side (See 6).

2. Select the MP group where the item to be changed is located. To display the content of the group, click with the left mouse button on the + box to the left of the group name.

3. If the item to be changed has multiple indexes, then click with the left mouse button on the + box to the left of the item. Select the MP / index item to be changed by a left click with the mouse. Alternately, the cursor can be moved using the up or down arrow keys.

Page 33: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 33/265

Figure 3: Machine Parameter Edit

4. To edit the desired entry do one of the following:

• Press the Enter key when the item to be edited is highlighted • Press S2 soft key (Menu) and them click “Edit” in the dialog box • Right click when the item to be edited is highlighted and then click “Edit” in the dialog box • Double click on the Data entry field of the item to be edited

Important! Press the “Enter” key after each edit of a parameter. That saves the new value. Clicking (or tabbing or cursoring) out of the field does not update the value.

Page 34: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 34/265

Figure 4: Machine Parameter Menu Dialog

• For more information regarding any MP item, refer to the MP Tool help file (accessible via

S1 soft key or clicking on the “Help” selection from the Menu dialog).

• If the selected MP item refers to axes values, the index number is related to the CNC axes display index (i.e., from 1 to 32). The first axis displayed will have index 1.

• Changing the base of the entry can be done by using the Menu dialog. 5. Repeat steps 2 – 4 until all data values have been modified as needed. 6. All MP changes have to be saved as a file. Once the edits are complete, click on the S5 soft key.

The file “Save” dialog will appear.

• Machine parameters can be saved to 2 locations: o CNC – these will become the active parameters used by the application. These

parameters are saved on the battery-backed memory on the CNC engine. o Disk – this can be any disk / folder on the hard drive, floppy drive, etc.

• Select the location to where the parameters are to be saved by clicking the Up folder or “Backspace” key.

• Assign a file name. • Click the “Save” button or press “Enter” key

The CNC must be in Emergency Stop condition in order to save a Machine parameter file to the CNC.

Page 35: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 35/265

Path to save the file to

Save file softkey

File name

Folder UpButton

Figure 5: Machine Parameter File Save Dialog

Each CNC station has its own machine parameter file. If the control is configured for only one CNC station, then there is only one CNC folder. However, if the control is configured for more than one CNC station, then the correct CNC folder (as a number from 1 to 8) must be selected. As part of the processing of saving / loading machine parameters, the control will perform a Control-Reset operation. If the Emergency-Stop push button is a momentary action switch (rather than a push to lock and twist to unlock) it is possible that the Emergency Stop condition could be reset during the MPF load operation.

Page 36: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 36/265

The Path Graphic simulation feature of the CNC (on the Info page, not the path graphic display in Automatic mode for the actual tool path) uses the set of machine parameters that are active when the CNC starts. If any changes to machine parameters are made, the Path Graphic simulation will not be affected by the change. If a machine parameter change must be recognized by the Path Graphic simulation (e.g., a change in travel limits), please restart the CNC application.

Machine parameters should always be backed up to the hard drive on the Industrial PC or to an external disk for safekeeping.

Page 37: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 37/265

4.3 Parameter “Find”

To locate a given parameter by name, start typing the name into the “Find” input box at the top of the MP Editor page. The tool will automatically locate and highlight the first instance of the letters typed. Press “Enter” to find the next instance of the letters typed.

Start typing the name of the parameter here

“Find“ will automatically locate the match

Figure 6: Machine Parameter Find

Page 38: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 38/265

4.4 Allowed programmable letters and name of the axes

The machine parameter group NCAddressFormat consists of 26 different machine parameters, with the name ‘CharacterApplTab(x)’ (where x is each letter of the alphabet). Each parameter in this set defines the format and the assignment of the corresponding letter of the alphabet. This set defines the allowed programmable characters of the alphabet within the NC part program. The parameters also determine the axis name, the axis display index and the total number of programmable digits before and after the decimal point. Note that there are several references to bit 8. Bit 8 is set by the value of 2#10000000 in binary. Bit 1 is least significant bit in a byte or word. The MP tool online help will also make references to bit numbers. In some cases, that help text might assume bit 0 is the least significant bit (not 1) so beware the possible confusion of bit numbers. This document is consistent in the use of bit 1 as the least significant bit. Each character in the alphabet that will be allowed in the programming (including axis names) has to be defined with 6 values (6 words). During a typical installation, only the axis letters and the BCD letters might be changed. However, depending on the types of axes and the specific control options, other letters might require changes, such as to the number of decimal places. There should always be at least one axis with a letter. The following define the individual six values: 1st value: metric digits This value defines the maximum admissible total number of digits for metric displays and inputs. It includes the sum of digits before and after the decimal point. If bit 8 = 0 ⇒ sign is not allowed. If bit 8 = 1 ⇒ sign is allowed. For example, 0008h indicates 8 digits but no sign while 0088h indicates 8 digits for a signed value. 2nd value: inch digits This value defines the maximum admissible total number of digits for inch displays and inputs. It includes the sum of digits before and after the decimal point. If bit 8 = 0 ⇒ sign is not allowed. If bit 8 = 1 ⇒ sign is allowed. For example, 0008h indicates 8 digits but no sign while 0088h indicates 8 digits for a signed value. 3rd value: metric decimal digits

Page 39: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 39/265

This value defines the number of programmable digits after the decimal point for metric displays and inputs. If bit 8 = 0 ⇒ number of decimal digits for display and inputs. If bit 8 = 1 ⇒ number of decimal digits for displays only. This value is usually 3 for a letter that can represent a position. 4th value: inch decimal digits This value defines the number of programmable digits after the decimal point for inch displays and inputs. If bit 8 = 0 ⇒ number of decimal digits for display and inputs. If bit 8 = 1 ⇒ number of decimal digits for displays only. This value is usually 4 for a letter that can represent a position. 5th value: axis or BCD number This value defines the axis display index or BCD index assignment. Axis display index assignment If value = FFFFh, ⇒ no axis or BCD. If value = 0h, ⇒ this is the 1st axis If value = 1h, ⇒ this is the 2nd axis . . . If value = 1Fh ⇒ this is the 32nd axis BCD index assignment If value = 8000h ⇒ this is the 1st BCD If value = 8001h ⇒ this is the 2nd BCD If value = 8002h ⇒ this is the 3rd BCD If value = 8003h ⇒ this is the 4th BCD The axis display index assignments also determine the order that the axes are displayed in the HMI (i.e., 1st, 2nd, etc., is the order on the display). If the total number of axes or the order of the axes is changed, a restart of the HMI is required to properly update them on the display. Index 5 is FFFF-hex (65535-decimal) for the gantry (slave) axis in that relationship because the slave axis letter is never programmed.

Consult the PLC Interface Manual for information about the ON_STROBE1-4 signals for the transfer from the CNC to the PLC of the BCD values within the NC block.

Page 40: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 40/265

6th value: This value defines the special axis functions. Bit 1-8 Lead axis index of a parallel axis Bit 9-11 Round Axis Type 100h ⇒ normal round axis 200h ⇒ shortest way round axes 300h ⇒ modulo round axes 400h ⇒ resettable round axis Bit 13 = 1 Positioning Axis 1000h Bit 14 = 1 Transverse Axis 2000h Bit 15 = 1 Longitudinal Axis 4000h Bit 16 = 1 Parallel Axis 8000h

A value of 0 for the sixth word and a value between 0 and 31 in the fifth word will indicate a normal axis (i.e., having none of the attributes identified in this 6th index value). An NC block with the letter of the axis in the part program results in its motion. A round axis will always have a position between 0 and 360. The sign of the axis end point typically determines the direction of rotation for a normal round axis. (Also see 18.6.) A shortest way round axis will never move more than 180 degrees to its end point as it takes the shortest path. For the modulo round axis, the number of revolutions can be programmed using another NC character (see NC Programming Manual). A round axis is not the same as a rotary axis; a round axis is just an axis with the above requirements. If a rotary axis will move in a small range of angles (e.g., between a negative angle and a positive angle) and it should always move the shortest distance, then make that axis normal (i.e., word 6 = 0) and set its axis software end limits accordingly. A round axis cannot stop at a negative position because a round axis always has a position between 0 and 360 and the negative sign indicates direction not position. A rotary axis does not have to be defined as a round axis just because its position is in degrees. A positioning axis is moved either with a special part program or directly by the PLC. It is not interpolated with the other axes and it is not moved by a normal part program statement. An example of a positioning axis is a tool magazine servo.

Page 41: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 41/265

The transverse and longitudinal axis definitions apply only to a control, such as on a lathe, using either the thread cutting feature (see 18.13) or the turning cycles feature (see 18.15). Typically, X is the transverse axis and Z is the longitudinal axis. A parallel axis is one that runs simultaneously with its lead axis (with a 1:1 motion ratio) and only in Automatic mode as controlled with G21 (on) or G22 (off). A parallel axis is not a gantry axis as the parallel axis connection is done via the part program (and the parallel connection is not held in manual mode, like when jogging). A gantry axis is a permanent assignment that is done via the machine parameters in the Gantry parameter group. For the letters I, J and K, the sixth word has a special meaning (the fifth value is usually FFFF-hex for each of these letters). The sixth value corresponds to the axis index associated with this letter when programming G2/G3 arcs/circles. In a typical milling application, I(6) = 0, J(6) = 1, K(6) = 2 to correspond to X,Y,Z axes. In a typical 2-axis lathe application, I(6) = 0 and K(6) = 1 to correspond to X,Z axes; J(6) is usually 1 in case the lathe program for an arc/circle uses IJ instead of the correct IK. Also, the digit and decimal place configurations (index values 1 to 4) for IJK must match those of their associated axes.

Consult the PLC Interface Manual for information about the control of a positioning axis from the PLC. The control of this type of axis includes both signals (section 2) and functions (section 3). Consult the NC Part Programming Manual (section 9) for programming information regarding rotary (or round) axes, a positioning axis or parallel axes (each feature has its own programming description).

4.4.1 Example 1: Letter Y for second linear axis

Example: The letter ‘Y’ should be the name of the 2nd displayed axis, as linear axis with 1 μm resolution in metric and 0.0001 inch resolution in inch (or imperial).

CharacterApplTab(Y)

Index Data

1 0088 2 0088 3 0003 4 0004 5 0001 6 0000

Page 42: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 42/265

4.4.2 Example 2: Letter M for first BCD letter

Example: The letter ‘M’ should be the name of the first BCD function (range: 0-99).

CharacterApplTab(M)

Index data 1 0002 2 0002 3 0000 4 0000 5 8000 6 0000

4.4.3 Example 3: Letter A for round axis

Example: The letter ‘A’ should be the name of the 4th displayed axis, as ‘shortest way’ round axis with 0.001 degree resolution in metric and 0.001 degree inch resolution in inch (or imperial).

CharacterApplTab(A)

Index data

1 0088 2 0088 3 0003 4 0003 5 0003 6 0200

4.4.4 Usual configurations for the various letters

In most applications, only the axis letters (for index 5) in CharacterApplTab have to be configured and then checked for the proper number of decimal places. The default BCD letters (also index 5) of M, S, T are acceptable for most applications. Based on the machine requirements, their configuration might need to be changed (for example, if the maximum spindle speed is very high, the number of digits must be checked). However, in case the axis letters are different than or in addition to the usual (XYZ for first three linear axes), here is a summary of the usual letter configurations. The phrase ‘linear axis’ refers to the CharacterApplTab configuration used for the linear axes in this system. If the linear axes have 3 decimal places for metric and 4 decimal places for inch, then that same definition applies to this letter. If those metric/inch configurations are different (like 4 and 5), then the same configuration applies to this

Page 43: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 43/265

letter. A rotary or round axis is different than a linear axis in that the same number of decimal places applies to both inch and metric contexts (usually 3 for both index 3 and 4). Most letters shown below with ‘linear axis’ can be configured as a rotary axis (when both index 3 and 4 are the same since degrees do not change in G70/G71); the default configuration is usually all for a linear axis. The phrase ‘reserved’ indicates this letter cannot be used for an axis and the letter cannot have decimal places due to its fixed NC programming application in the CNC.

A linear axis B linear axis C linear axis D 3 digits, no decimal places, reserved E 5 digits, 3 decimal places F depends on the feedrate resolution needed in the application G 3 digits, no decimal places, reserved H 3 digits, no decimal places, reserved I linear axis J linear axis K linear axis L 4 digits, no decimal places, reserved M 3 digits, no decimal places N 6 digits, no decimal places, reserved O normally unused so its configuration depends on whether it is an axis P 6 digits, no decimal places, reserved Q 6 digits, no decimal places, reserved R linear axis S 4 digits, no decimal places T 4 digits, no decimal places U linear axis V linear axis W linear axis X linear axis Y linear axis Z linear axis

Note that the letter F is reserved for the feedrate and cannot be an axis. Its number of decimal places is configurable. If a spindle is configured then S is reserved for the spindle speed so it could not be an axis. S is reserved only if there is a spindle. Note if the letter R is not an axis and if the G-codes 50, 51 or 52 will be used (for coordinate scaling or rotation) then its number of decimal places should be configured like a round axis, or 3 decimal places for both inch and metric. Note that A, B and C are usually rotary axes; if so the default configurations for these letters must be checked. U, V and W are sometimes linear axes and in the turning

Page 44: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 44/265

cycles, these letters are linear axis parameters. However these letters are sometimes used for rotary axes. The simple rule is a letter’s configuration should be checked any time that letter is an axis. Note that if the letter P is changed for a different number of digits in a part program number the same configuration is required for Q. P is used for a program number while Q is used for the calling of a program number as a subroutine so they must be configured the same. Note that the assignment of BCD letters allows part program values to be passed to the PLC. This mechanism is not intended for the PLC to follow CNC internal behaviors. For example the letter G must not be a BCD letter because the timing required for a BCD letter (e.g., the block is stopped long enough for the PLC to get the letter’s value) hinders the CNC performance. BCD letters enables the part program to convey values regarding the machine control to the PLC (such as the spindle speed, a turret position or a machine condition such as the coolant pump on or off).

4.4.5 Feedrate and dwell configuration The letter ‘F’ configuration affects the programming of the feedrate. Typically CharacterApplTab[F] defines either no decimal places (such as: 5,5,0,0,FFFF,0) or three decimal places (8,8,3,3,FFFF,0). The FeedFactorNorm machine parameter determines the factor between the programmed feed rate (F-word) and the CNC internal feed rate. This parameter’s two values specify the factors for the programmed F-word, with the 1st value for inch programming and the 2nd value for metric. The determination of this factor depends on: 1) The number of decimal places for the linear axes (e.g.,

CharacterApplTab[X]). All formats for the linear axes should be consistent. 2) The number of decimal places for the letter F (CharacterApplTab[F]) With the typical defaults of 3 decimal places for an axis in metric (to 0.001mm), 4 decimal places for an axis in inch (to 0.0001in) and no decimal places for the feedrate (letter F), then this FeedFactorNorm value is 25.4 for the 1st value (the straight mm/in conversion) and 1.0 for the 2nd value. For each decimal placed added to the letter F, FeedFactorNorm is divided by a factor of 10. Therefore, 3 decimal places for the letter F results in values of 0.0254 for the first index value (25.4 / 1000) and 0.001 for the second index value (1 / 1000). For each decimal placed added to a linear axis (like the letter X), FeedFactorNorm is multiplied by a factor of 10. Therefore, with the 3 decimal

Page 45: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 45/265

places for F and also 5 decimal places (not 4) for the letter X in inch results in values of 0.254 for the first index value (0.0254 x 10) and 0.01 for the second index value (0.001 x 10, for 4 not 3 decimal places in mm). Dwell The feedrate programming also affects the interpretation of a programmed dwell (e.g., N20 G04 F10). The machine parameter FactorG04inMs (in the NCAddressFormat group) defines the conversion factor between the F value programmed with the G04 and the resulting number of milliseconds. Note that the CNC automatically converts each programmed letter value into an integer based on the number of decimal places defined for the letter (e.g., F5 with three decimal places for the letter F results in an internal value of 5000). If the F value has no decimal places and the programmed dwell should be in seconds, then the FactorG04inMs would be 1000 (because F1 should result in 1000 for the CNC). If the F value has no decimal places and the programmed dwell should be in milliseconds, then the FactorG04inMs would be 1 (because F1 should result in 1 for the CNC). If the F value has three decimal places and the programmed dwell should be in seconds, then the FactorG04inMs would be 1 (because F1 should result in 1000 for the CNC, which it does with the offset from the three decimal places). If the F value has three decimal places and the programmed dwell should be in milliseconds, then the FactorG04inMs would be 0.001 (because F1 should result in 1 for the CNC and this factor must compensate for the offset from the three decimal places). Other combinations of decimal places and programmed dwell times are possible given the above descriptions. The recommended combination is either: 1) F with no decimal places and programming in milliseconds or 2) F with 3 decimal places and programming in seconds. In both cases FactorG04inMs is 1.

4.4.6 Open loop axis

Sometimes an encoder will be used to indicate the position of something on the machine but there is no servo drive in the system. This encoder could be called an open loop axis because its position loop is never closed. The machine parameters are configured for this axis letter like any other axis (whether the axis is linear or rotary, with the correct number of decimal places, with the correct feedback resolution). The main difference in the system for this open loop axis is the PLC will never

Page 46: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 46/265

set its signal to the CNC (see 8.3.6) indicating the axis position loop should be controlled.

4.5 Complete the Initial Parameters

Once the axes sequence and letters are established, complete several other initial machine parameters. 4.5.1 Length Compensation: HCorrAxes

Using this machine parameter, HCorrAxes in the AxisControl parameter group, a maximum of 2 axes can be set up for which H length correction (length compensation) are allowed. The index of the first axis for the H correction is stored in the low byte and the index of the second axis for the H-correction is stored in the high byte. If only one axis is set up for using H length correction (namely the one specified in the low byte) then the high byte contains FFh.

Remember that the axis index is not the same as the axis number. The first axis will have an axis index of 0, the second will be 1 and so on. The typical value is FF02h since the Z-axis is the usual axis specified. For a lathe, this parameter typically has a value of 1 (for Z and X).

4.5.2 Plane Selection: WPlaneIndex

This machine parameter, WPlaneIndex in the CircularInterpolation parameter group, defines the processing planes corresponding to the previously assigned axes. It takes two bytes to define the circular interpolation and path correction relative to these planes. The first byte defines the main axis and the second byte defines the secondary axis. Thus, the circle parameters I, J and K are assigned.

Remember that the axis index is not the same as the axis number. The first axis will have an axis index of 0, the second will be 1 and so on. A mill (with 3 axes) configuration is typically different than a lathe (with 2 axes).

With a 2-axis lathe, all three index values are usually 0001 hex for the ZX plane (with Z leading X) although 0100 hex is possible but only if the NC programmer wishes the plane to be XZ (i.e., X leading Z). Each axis order in this parameter directly affects the interpretation of clockwise or counter-clockwise in G2/G3/G12/G13 programming in that plane.

Example:

XY plane (G17) WPlaneIndex(1) = 0100 Hex

Page 47: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 47/265

ZX plane (G18) WPlaneIndex(2) = 0002 Hex

ZY plane (G19) WPlaneIndex(3) = 0201 Hex

4.5.3 Initial State G-codes: GCodeAppl and GCodeAppl2

These two machine parameters, GCodeAppl and GCodeAppl2 in the InitialState parameter group, define the default G-codes. Whenever there is a control reset, these G-codes are activated by the CNC. The GCodeAppl machine parameter contains the initial values of the G codes (after a power-up start, control reset and M30). The first 15 values correspond to the 15 modal G-code groups (refer to the programming manual). The setup value must be an admissible value of the corresponding G-code group, e.g., in the second group the values are 70 or 71. The value 0FF hex can be entered if no function of a group should be active. The G-code of such a group is then not displayed on the screen.

The last 5 groups are reserved for record-by-record effective G codes. The machine parameter for these 5 groups must always be 0FFH. Default:

Index Possible Decimal Values: 1 1 or 0 (of 0, 1, 2, 3, 6, 12, 13, 33, 34) 2 70 or 71 (of 70, 71) 3 90 (of 14, 15, 90, 91) 4 40 (of 40, 41, 42, 43, 44) 5 94 (of 94, 95) 6 72 or 73 (of 72, 73) 7 8 or 9 (of 8, 9) 8 66 (of 63, 66) 9 255 (of 26, 27) 10 39 (of 38, 39) 11 53 to 59 (of 53, 54, 55, 56, 57, 58, 59) 12 17 to 19 (of 17, 18, 19, 20) 13 255 (of 28, 29) 14 255 or 22 (of 21, 22) 15 97 (of 96, 97) 16 255 17 255 18 255 19 255 20 255

This GCodeAppl2 machine parameter contains the initial values of the 12 special G-code groups. Each setup value must be valid for the corresponding G-code group. The value 0FF hex can be entered if no function of a group should be active. The G-code of such a group is then not displayed on the screen.

Page 48: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 48/265

Byte 1: Tool Center Transformation G180 Byte 2: Tool Orientation G120 Byte 3: Programming Tool Orientation G130 Byte 4: Reference of Orientation G140 Byte 5: Corner Smoothing G200 Byte 6: Real Time Cutter Compensation G150 Byte 7: Adaptive ART G160 Byte 8: Low-pass Filter G165 Byte 9: Angled Wheel Transformation G220 Byte 10: not used Byte 11: not used Byte 12: not used

4.6 Temporarily disable the mandatory homing cycle

Since the homing cycle cannot be completed or tested yet (at this initial stage of the start up), the mandatory homing cycle has to be disabled first. This is achieved by setting the value of machine parameter RefAxesAppl in the ReferencePointCycle group to 0.

4.7 Unit conversions

Some parameter values will be entered in microns (or micrometers). Since some values might be measured in 0.0001 inch increments (perhaps by reading a dial indicator), the conversion for ‘tenths’ (or 0.0001 inch increments, one ten-thousandth of an inch) to microns is: 1 ‘tenth’ = 2.54 microns. For example, 0.0002 inches = 5.08 microns. Other useful conversions: 1 inch = 0.0254 meters or 25.4 mm or 25400 microns. 1 mm = 0.03937 inch. 1 micron (0.001mm) = 0.00003937 inch (almost 40-millionths of inch).

Page 49: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 49/265

5 Initial machine parameters for analog axes Consult section 4 and perform the initial configuration activities, including the configuration of the different letters for the respective axes.

The following set of machine parameters is the minimum required to provide safe and proper axis movement of machine tools, equipped with analog drives, regardless of the vendor.

5.1 Set up the axes

The set up of an analog axis requires the definition of at least 5 different values in the machine parameter group AxisControl: • Maximum axis velocity AxisSpeedMaxAppl • Axis velocity in Manual mode SaxisFeedAppl • Axis acceleration AxisSlopeTime • Travel distance per encoder pulse MachToInternalIncr • Position loop gain GainSpeedFactor

Default values of the other machine parameters in this group will ensure a safe and proper first movement of the axes. Depending on the machine application, these other values should be optimized later on. All the following parameter examples for the AxisControl group are based on the axis drawings in Appendix A. There are many machine parameters that use an ‘internal increment’ as the dimension. The standard control uses a value of one micron (0.001mm) as the internal increment. A special control configuration can use a different value for an internal increment.

For the sake of simplicity, all equations and examples assume the standard internal increment of 1 micron (.001 mm) or 1 thousandth of a degree (.001 °). If axis resolution is different than .001 mm or.001 °, then the values for these machine parameters will be different and must follow the unit value defined in this manual.

Page 50: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 50/265

5.1.1 Maximum axis velocity AxisSpeedMaxAppl

The machine parameter AxisSpeedMaxAppl has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the maximum admissible axis velocity for the respective axis. Unit: 1000 internal increments / min (usually mm/min) Calculation: AxisSpeedMaxAppl has to be set to the velocity that the axis moves at output voltage 8V. Equation for a linear axis: AxisSpeedMaxAppl = [ Max Motor Speed (rpm) × Gear Ratio × Pitch of Ballscrew (mm) ] × .8

Example: linear axis given: max motor speed (10V) 2500 rpm given: ratio between motor and lead screw 1/2 given : lead screw pitch 20 mm AxisSpeedMaxAppl = (2500 × 1/2 × 20) × .8 = 20000 mm/min Equation for rotary axis: AxisSpeedMaxAppl = [ Max Motor Speed (rpm) × Gear Ratio × 360 (°/rev) ] × .8 Example: rotary axis given: max motor speed (10V) 2500 rpm given: ratio between motor and first gear wheel 1/10 given: ratio between gear wheels 25/64 AxisSpeedMaxAppl = (2500 × 1/10 × 25/64 × 360) × .8 = 28125 °/min Note that sometimes the requirements for the machine entail a motor should not exceed a certain rpm or (more typical) an axis should never exceed some feed rate value. This parameter defines the maximum feed rate for an axis so if such restrictions exist for an axis then, depending on the basis for the restriction, the lower maximum feed rate can be used for the parameter or the lower limit for the motor speed can be used for this parameter’s calculation. 5.1.2 Axis velocity in Manual mode SAxisFeedAppl

The machine parameter SAxisFeedAppl has 32 indexes; the index number is related to the CNC axes display index. Refer to section 4.5. This machine parameter determines the desired feed rate in the operation mode ‘MANUAL’. This velocity corresponds to the feed rate potentiometer at position 100%.

Page 51: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 51/265

Unit: internal increments / ms, or 1000 internal increments / sec (usually mm/sec) Calculation: Convert the feed rate to mm/sec. Equation for linear axis: SAxisFeedAppl = [ Feed rate (mm/min) ÷ 60 (sec/min) ] Example: linear axis given: manual feed rate should be 5 m / min SAxisFeedAppl = 5 × 1000 ÷ 60 = 83.3333 mm/sec Equation for rotary axis: SAxisFeedAppl = [ Feed rate (rpm) × 360 (°/rev) ] ÷ 60 (sec/min) Example: rotary axis given: manual feed rate should be 20 rpm

SaxisFeedAppl = ( 20 × 360 ) ÷ 60 = 120 °/sec

5.1.3 Axis acceleration AxisSlopeTime

The machine parameter AxisSlopeTime has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the time in which the axis should accelerate from standstill to rapid traverse (AxisFeedMaxAppl). Unit: ms Calculation: The settings depend on the drive and axis characteristics; this time should be

adjusted in such a way, that the drive never comes in current limit during the acceleration or deceleration phase. For the first start up of the axis it is recommended to increase this time approximately by 5 to reduce the acceleration as long as the drive set up is not properly achieved.

acceleration time = speed ÷ acceleration value Equation for linear axis: AxisSlopeTime = [ AxisSpeedMaxAppl (m/sec) ÷ Acceleration rate (m / s²) ] × 1000 (ms/sec)

Page 52: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 52/265

Example: linear axis given: axis acceleration should be 4 m / s² given: AxisSpeedMaxAppl = 20000 mm/min

AxisSlopeTime = [ 20000mm/min ÷ 1000mm/m ÷ 60sec/min ÷ 4m / s² ] × 1000ms/s = [ 20000 ÷1000 ÷ 60 ÷ 4 ] × 1000 = 83.333 ms

Equation for rotary axis: AxisSlopeTime = [ [AxisSpeedMaxAppl (°/s) × 2π rad / 360° ] ÷ Accel rate (rad/s²) ] × 1000 (ms/s) Example: rotary axis given: axis acceleration should be 25 rad / s² given: AxisSpeedMaxAppl = 28125 °/min

AxisSlopeTime = [ (28125°/min ÷ 60s/min) × (2π ÷ 360°) ÷ 25rad/s² ] × 1000ms/sec = [ (28125 ÷ 60) × (2π ÷ 360) ÷ 25 ] × 1000 = 327 ms

If the acceleration is not known, it is suggested to start with a value of 1 m/s² for a linear axis and a value of 6 rad / s² for a rotary axis.

5.1.4 Travel distance per encoder pulse MachToInternalIncr

The machine parameter MachToInternalIncr has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the travel distance between two encoder pulses. The sign represents the counting direction. Background: The CNC receives encoder pulses. These pulses are multiplied by 4 (quadrature)

in the hardware input circuit of the control. After that the software multiplies the resulting count by the factor MachToInternalIncr. This result in “internal increments” is the base for all (internal) calculations (usually microns).

Unit: internal increments (usually microns)

Page 53: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 53/265

Calculation: The CNC internal position calculation is based on this machine parameter value;

therefore it is necessary to determine and to enter this value with as many digits as possible to maintain the position accuracy.

Equation for a linear axis: MachToInternalIncr = [ (Pitch (mm/rev) × 1000 (μ/mm)) ÷ ( Encoder counts × 4 ) ] × Gear ratio

Example: linear axis given: encoder pulses / revolution 2500 p / rev given: ratio btn encoder and lead screw 1/2 given: lead screw pitch 20 mm given: display resolution 1000 (for display to .001 mm)

MachToInternalIncr = [ (20 × 1000) ÷ (2500 × 4) ] × 1/2 = 1 μm/count = 1 internal increment / encoder count

The normal display resolution for a linear axis in G71/metric mode is to .001 mm or 1 micron so 1 internal increment is equal to 1 micron. There is (nearly) always one more decimal place in G70/inch mode (to .0001 inch) than in G71/metric mode. If there are more or less decimal places than this when in G71/metric mode (resulting in a different internal increment definition) then the display resolution factor here is changed appropriately. Equation for a rotary axis: MachToInternalIncr = [ (360°/rev) × 1000 μ°/°) ÷ ( Encoder counts × 4 ) ] × Gear ratio Example: rotary axis given: encoder pulses / revolution 10000 p / rev given: encoder ratio 25/64 given: 1 load revolution 360° given: display resolution 1000 (for display to .001°)

MachToInternalIncr = [ (360 × 1000) ÷(10000 × 4) ] × 25/64 = 3.515625 μ°/count

= 3.515625 (internal increment / encoder count) Example: any axis given: unknown encoder parameters in machine

1. Set: MachToInternalIncr = 1.0 2. Manually move the axis a known distance. Move the axis the longest distance

possible for this parameter calculation (i.e., a longer move improves its accuracy). For this test, FaktInchMetric (also in the AxisControl group) should be set to 1 for a rotary axis or 2.54 for a linear axis.

Page 54: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 54/265

3. Read the value on the CNC position display after the move. 4. Calculate the MachToInternalIncr from

MachToInternalIncr = travel_distance / CNC_display_value 5. Example: manually moved axis 25mm but its display shows 25.460mm.

MachToInternalIncr = 25.0 / 25.460 = 0.9819 Linear scale feedback If a linear scale is used for direct axis position feedback rather than an encoder on the motor then the calculation for this parameter is more direct. Its value is simply the number of microns per feedback counts (when there are 3 decimal places in G71 (micron resolution) and 4 decimal places in G70). Example: If the linear scale has 250 lines per millimeter then there are 1000 encoder counts per millimeter (i.e., 250 * 4). Since there are 1000 microns per millimeter, the correct value for MachToInternalIncr is then 1.0, the number of microns per encoder count for this scale. If a scale is used for direct axis position feedback on a rotary axis and since the position for a rotary axis uses three decimal places (i.e., 360.000) then the value in this case is the number of degree increments (0.001 degree of rotation) per encoder count. For example if the scale offered 1000000 encoder counts per rotation then the correct value would be calculated by 360000 / 1000000. Testing the resolution and the counting direction:

Before executing the following test, make sure that the modified machine parameters have been activated by saving / downloading the machine parameter file to the CNC.

If the signal INEMERGENCn and / or the signal IN_DRONxx for the respective axis is missing (refer to chapter 6), then the counting direction and the calculated resolution can be examined by moving the particular axis manually. The status of these signals can be checked using the INFO mode of the screen and the soft key S1 ‘Interface display’.

With a lathe configuration, beware of an active G191 for the X-axis. If G191 is active then the X dimension is shown as the diameter, not as the radius. As a diameter dimension, the X value will be twice the expected value (i.e., the distance from the current X position to the center of rotation). With a lathe, G190 should be active during this axis set up (check the INFO page for the modal G-codes). If G190 is not the default on the lathe, then change the machine parameter DiameterResetState in the DiameterProgramming group (see 18.4 in this manual) to be 0 or 190 (as required). Otherwise the feedback resolution in MachToInternalIncr

Page 55: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 55/265

will be off by that factor of 2 because the displayed position (as a diameter) is one-half its actual position (as a radius).

Figure 7: CNC Interface display

If the sign of the position display does not correspond with the direction of the axis of the machine, the measuring system counting direction has to be changed; this is achieved by changing the sign of the machine parameter MachToInternalIncr. After changing this sign, this test has to be performed again for safety purposes. The resolution of the measuring system can be roughly verified in the same way; check the axis position display, move the axis manually and compare the shifted distance with the changing of the axis position display. If there is an obvious difference then the calculation of MachToInternalIncr should be verified. If there is a wiring problem, like a missing encoder wire, then the CNC declares error 67: Wire cut of axis X, loss of feedback. This error will also occur with a missing wire to the marker pulse. The hardware verifies 3 pairs of wires, for A, B and marker (each differential signals has two wires).

Page 56: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 56/265

5.1.5 Position loop gain GainSpeedFactor

The machine parameter GainSpeedFactor has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the maximum following error (lag) admissible for the respective axis and is calculated in relation with the KV-factor (position control loop gain). The KV-factor defines the relationship between the feed rate, the following error (lag) and the axis voltage output to the drive. The smaller the value of GainSpeedFactor, the higher the KV-factor value, the harder the axis is controlled, and the smaller the allowed following error (lag).

The polarity of the axis voltage output depends on the sign of this value. The drive is set to maximum speed at 8V at 100% override. When the feed override is at 120% the CNC outputs 9.6V; the servo limit is preset at the CNC side to 10V (125% of 8V).

Definition: KV-factor = Feed rate (m/min) / lag (mm)

With a KV of 1 and running at 1.0 inch/min the lag will be 0.0010 inches (with no CNC feed forward or similar optimization like ART in section 15). With a KV of 1 and running at 1 mm/min the lag will be 0.001 mm. As the feed rate increases the lag increases proportionately for the same KV (e.g., doubling the feed rate will double the lag). If the KV is decreased the lag will increase proportionately for the same feed rate. If the KV is increased the lag will decrease proportionately. For accurate interpolation the same KV should be used for all axes that will move together in an NC block (e.g., cut an arc).

Unit: internal increments Calculation: The maximum following error for the desired KV-factor must be calculated for each axis

according to the following formula and must be entered into the corresponding index of the machine parameter GainSpeedFactor.

Equation:

GainSpeedFactor = ( AxisSpeedMaxAppl × 1.25 ) ÷ KV-factor

Example: linear axis given: AxisSpeedMaxAppl 20000 mm/min given: desired KV-factor 1

GainSpeedFactor = (20000 × 1.25) ÷ 1 = 25000

Example: rotary axis

Page 57: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 57/265

given: AxisSpeedMaxAppl 28125 mm/min given: desired KV-factor 0.5

GainSpeedFactor = (28125 × 1.25) ÷ 0.5 = 70313 If the machine and drives characteristics are not known, it is suggested to start with a KV-factor value of 0.5 so that the axis is not controlled too hard (stiff).

GainSpeedFactor Adjustment: Testing the polarity of the axis voltage output Before executing the following test it has to be ensured, that the modified machine parameters has to be activated by downloading the machine parameter file. If the INEMERGENCn is released and IN_DRONxx and IN_DRENxx are set (refer to chapter 6), the polarity of the axis voltage output can be checked. Once in servo lock, the error message 481 “Lag error during standstill” may occur. If this does happen, the polarity of the D/A output has to be changed. There are two methods:

• Hardware solution: Swap the plus and minus axis voltage outputs wires (refer to the CNC Hardware Manual chapter 3.3). This swap will result in a positive axis voltage output for a plus motion.

• Software solution: Change the sign of the machine parameter GainSpeedFactor.

Changing this sign will result in a plus direction with a plus lag but it could result in a negative axis voltage output.

A further check needs to be done to verify the proper sign of the axis voltage output. 5.1.6 Rotary Axis or Spindle Setup

In addition to the Machine to internal increment parameter previously described, the following parameters need to be set for a rotary axis or a spindle. The relationship of all these two parameters is given by the formula: IncrementsPerRev = MachToInternalIncr × MachIncrementsPerRev 5.1.6.1 Machine Position per Revolution: MachIncrementsPerRev

This parameter (in the AxisControl group) is the number of feedback counts in one revolution of the round axis. This parameter must be a whole number since a round axis must have an even number of feedback counts per revolution.

Example: rotary axis

Page 58: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 58/265

Given: 10000 encoder pulses per revolution Given: 25 / 64 - gear ratio between encoder and table MachIncrementsPerRev = (Encoder counts × 4) ÷ Gear ratio MachIncrementsPerRev = ( 10000 × 4 ) ÷ (25 ÷ 64) = 102400 counts / rev of axis

MachIncrementsPerRev can also be expressed as: MachIncrementsPerRev = IncrementsPerRev ÷ MachToInternalIncr Set this value in accordance with the axis’ assigned number as defined in the Machine Parameter value 5 of CharacterApplTab[x]. (For example, if the rotary axis in question is assigned as the 3rd axis by the 5th value of CharacterApplTab[x] then set the value for index 3 of MachIncrementsPerRev.) For a linear axis this parameter is always 360000.

5.1.6.2 Internal Increments per Revolution: IncrementsPerRev

This parameter (in the AxisControl group) defines the position resolution per revolution of the rotary axis or a spindle. This value is usually 360000 (with the resolution to 0.001 degree).

Remember to set FaktInchMetric (in the AxisControl group) to 1 since the position is in degrees and it does not change between inch and metric. Example: rotary axis Given: 10000 encoder pulses per revolution Given: 25 / 64 - gear ratio between encoder and table MachToInternalIncr can be expressed as: MachToInternalIncr = IncrementsPerRev ÷ MachIncrementsPerRev MachToInternalIncr = 360000 ÷102400 = 3.515625

If the sign of MachToInternalIncr must be negative for the proper feedback orientation then for a rotary axis the sign of MachIncrementsPerRev must also be negative (as can be seen in the equation in 5.1.6.1).

Page 59: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 59/265

5.1.7 Stepper Axis Setup

The LL CNC model can support up to 4 stepper servos. Their configuration is very similar to that of an analog rotary axis. This section defines the differences. 5.1.7.1 Stepper Counts per Revolution: MotorStepsPerRev

This parameter (in the AxisControl group) is the number of motor steps in one revolution of the stepper axis. This parameter must be a whole number since a stepper axis must have an even number of steps per revolution. There is an index in this parameter for each axis. A stepper axis can be in two configurations, either with encoder feedback or without. If there is no encoder feedback then the value in MotorStepsPerRev is also entered in MachIncrementsPerRev. The presence of encoder feedback is defined in the drive configuration file (see 3.4). If there is encoder feedback for this servo then the number of encoder counts per revolution is entered in MachIncrementsPerRev (for the correct servo index). 5.1.7.2 Stepper Position Output: PositionOutputAppl

This parameter (in the AxisControl group) identifies for each stepper servo whether the CNC will update the stepper position faster than the timing of position loop during interpolation. The default value of 0 indicates to use the usual interpolation timing. If the bit for the axis is set in PositionOutputAppl then the CNC stepper control hardware will update the position output faster than the interpolation timing. The setting of this bit for an axis attempts to make the stepper frequency changes smoother through the use of this internal hardware that assists the axis interpolation software. 5.1.7.3 Stepper Position Loop Gain: GainSpeedFactor

This parameter (in the AxisControl group) identifies the gain for each stepper servo. This parameter value is different than for analog axes because the stepper position loop control is different. The CNC communicates with the stepper controller over a USB connection within the LL CNC hardware. The LAG (or following error) in the stepper control results from this internal communications. The gain (or KV) for stepper axes should always be set to: 1 – ( 4 * 0.002) or 0.992. Therefore the calculation of GainSpeedFactor is still the same as the formula shown in 5.1.5 but with a fixed KV value it could be shown as:

GainSpeedFactor = ( AxisSpeedMaxAppl × 1.25 ) ÷ 0.992

Page 60: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 60/265

5.2 Set up the override function

In order to be able to move an axis, the override functionality of the CNC must be set up according to the wiring of the override potentiometer. This requires the proper definition of following machine parameters in the FeedOverride group: • Hardware location of override switches AdditionKeyIOAddress • Override functionality OverrideAppl If the PLC will handle the override value to the CNC via the PLC-CNC interface (i.e., DWORD 15 as described in the Software Manual for the PLC Interface), then the machine parameter PLCOverrideByteNo in the PLCFunctions group must have a value of 0F0F-hex. 5.2.1 Hardware location of override switches AdditionKeyIOAddress

AdditionKeyIOAddress = 0 The zero value indicates that the feed/speed override switches, the axis jog push buttons, and the NC Start / NC Stop keys are not read by the CNC via the I/O bus. In this case, the PLC handles the inputs for these functions and passes that information to the CNC via the CNC/PLC interface. AdditionKeyIOAddress ≠ 0 Low byte: The low byte of this machine parameter contains the byte number of the I/O module

where the feed rate override switch and the Jog-Plus / Jog-Minus push buttons can be read directly by the CNC.

High byte: The machine parameter contains the byte number of the I/O module where the spindle

override switch and the NC Start / NC Stop push buttons can be read directly by the CNC.

The contents of the low and high byte of AdditionKeyIOAddress must correspond to the correct bytes defined by the I/O configuration file (refer to chapter 2). 5.2.2 Override functionality OverrideAppl

Bits 1 - 8: ⇒ Always set to 00FFh Bit 9 = 0: ⇒ The override potentiometer bits are read in as binary-code (the rotary switch has

consecutive values from 0 or 1 up to its limit, usually 23 or 24). Bit 9 = 1: ⇒ The override potentiometer bits are read in as Gray-code (each switch position has

one bit change from an adjacent position).

Page 61: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 61/265

Bit 10 = 0: ⇒ MMI supplies potentiometer values in binary-code format as far as binary-code is

set up. Bit 10 = 1: ⇒ MMI supplies potentiometer values in Gray-code format in as far as Gray-code is

set up. Bit 11 = 0: ⇒ The switch values are correct. Bit 11 = 1: ⇒ A value 1 is to be subtracted from the input switch values. Bit 12 = 0: ⇒ The switch values are correct. Bit 12 = 1: ⇒ Feed override and spindle override are permanently set to 100% regardless

of the switch position. Bit 13 = 0: ⇒ If the feed rate override in 0% position, then this value is effective regardless of the

value programmed in G63. Bit 13 = 1: ⇒ The value programmed in G63 is effective regardless of the feed rate switch

position. Bit 14 = 0: ⇒ If the spindle override in 0% position, then this value is effective regardless of the

value programmed in G63. Bit 14 = 1: ⇒ The value programmed in G63 is effective regardless of the spindle switch position. Bit 15 = 0: ⇒ When the feed and spindle override per PLC function is active,

(see PLC-CNC description) and if switches are used, the values range from 0 - 23.

Bit 15 = 1: ⇒ When the feed and spindle override per PLC function is active, (see PLC-CNC description) and if switches are used, the values range from 1 - 24.

If the machine will use G63 to prevent the feed and/or speed override switches from affecting the path, such as when tapping, then the setting of bits 13 and 14 is very important. These two bits are commonly set in milling applications that use the G84 tapping cycle. Examples: ⇒ 01FFh If feed rate and / or spindle Gray code switches are wired, then

this value allows the input switches to influence the feed rate and the spindle speed with these switches.

08FFh If there are no feed rate and / or spindle switches, then this value is necessary to provide a feed rate override and a spindle override permanently at 100%. Otherwise the missing override would be permanently set to 0 % thereby preventing movement.

30FFh The value with the MMInc MTBP (uses binary override switches) for a milling application when G63 during tapping must ignore either override at 0%.

Page 62: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 62/265

Consult the PLC Interface Manual for information about the IN_OVERRIDE signals to the CNC for the feed and speed override switch inputs via the PLC, if the CNC does not handle those inputs directly (as configured above).

If the parameter AdditionKeyIOAddress is 0 (meaning the CNC has no override switch to monitor), OverrideAppl bit 12 is 0 (meaning 100% override is not being forced) and the PLC signal IN_OVERR01 is 0 (meaning the PLC feedrate override is not active) then the CNC has a feedrate override percentage of 0 (since there is none defined) so no axis motion can occur.

5.2.3 Override percentages: AutoFeedoverride, ManOverride, SpindleOverride

There are three machine parameters that define the percentages for the feedrate override input and the spindle speed override input. The AutoFeedoverride parameter defines the feedrate override percentages when the CNC is automatic mode. The ManOverride parameter defines the feedrate override percentages when the CNC is manual mode. The SpindleOverride parameter defines the spindle speed override percentages. Each of these three parameters is a table of 24 factors where 1.00 represents a factor of 1.00 or 100%. Each parameter value should be checked for the correct percentage to match the physical rotary input switch position. The values can range from 0.0 to 1.20, resulting in a range of factors from 0% to 120%. These parameters all start with index 1 which is assumed to match an input switch position of 0. The input switch value is assumed to begin its range from 0. Its maximum input value from the switch depends on the binary or gray code setting for these override inputs (OverrideAppl bit 9; see 5.2.2). A binary input switch typically ranges from 0 to 23. A gray code input switch follows a defined sequence where each value transition has only one of the five binary inputs changing (e.g., 0,1,3,2,…). If the override percentage is seen to go up and down as the rotary switch is turned clockwise and the switch is wired correctly then the bit 9 setting is incorrect. Both override switches must be the same type (binary or gray code). The OverrideAppl bit 11 defines whether the physical rotary input switch (of either type) starts its range at 0 or 1.

Page 63: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 63/265

6 Initial machine parameters for Sercos drives Consult section 4 and perform the initial configuration activities, including the configuration of the different letters for the respective axes.

The following machine parameters are the minimum required to provide safe and proper axis movement of machine tools, equipped with digital Sercos drives, regardless of their vendor.

6.1 Set up the axes

Setting up of an axis requires the definition of at least 7 different values in the machine parameter group AxisControl:

• Sercos position loop control SercosPositionControl

• Maximum axis velocity AxisSpeedMaxAppl

• Maximum axis velocity SercosMaxCommandValue

• Axis velocity in Manual mode SaxisFeedAppl

• Axis acceleration AxisSlopeTime

• Travel distance per encoder pulse MachToInternalIncr

• Position loop gain GainSpeedFactor

Default values of the other machine parameter in this group will ensure a safe and proper first movement of the axes. These values should be optimized later on. All following examples for the ‘AxisControl’ group are based on the axis drawings in Appendix A. There are many machine parameters that use an ‘internal increment’ as the dimension. The standard control uses a value of one micron (0.001mm) as the internal increment. A special control can use a different value for an internal increment.

For the sake of simplicity, all equations and examples assume the standard internal increment of 1 micron (.001 mm) or 1 thousandth of a degree (.001 °). If axis resolution is different than .001 mm or.001 °, then the values for these machine parameters will be different and must follow the unit value defined in this manual

Page 64: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 64/265

6.1.1 Sercos position loop control SercosPositionControl

The machine parameter SercosPositionControl defines whether the position loop is closed in each digital drive or in the CNC. In most Sercos systems, the position loop is closed in the digital drives for the servo axes. The position loop is not closed for a spindle.

The position loop is usually closed inside the Sercos drive. If there is any doubt about where the position loop is or should be closed, contact the CNC technical staff. A Sercos spindle drive never has its position loop closed – in the drive or the control.

The following table illustrates how the first eight axes are represented by their appropriate hex code. The subsequent axes follow this example (such that axis 12 would be 800h). The sum of the Hex values of all Sercos axes that shall be set for mandatory homing after power-up must be written into SercosPositionControl.

Axis no. 8 7 6 5 4 3 2 1 Hex Value 80 40 20 10 8 4 2 1

Example: The machine has 4 axes with digital Sercos drives. Calculation:

Axis number Sercos drive HEX value 1 Yes 1 2 Yes 2 3 Yes 4 4 Yes 8 5 No 0 6 No 0 7 No 0 8 No 0 sum F

Result: SercosPositionControl = 0000000F

If the fifth Sercos drive were for a spindle, the calculation would be the same because spindles are not involved in the parameter.

Page 65: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 65/265

6.1.2 Maximum axis velocity SercosMaxCommandValue

The machine parameter SercosMaxCommandValue has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter gives the maximum command value to the drives. Unit: Same unit as the one that the drive uses for velocity scaling. The velocity scaling is defined in

digital Sercos drives with Ident numbers 44, 45, 46 and 47. For a spindle, the calculation is the maximum spindle RPM multiplied by the number of decimal places in S-46. This scaling value is important with a SERCOS spindle. If the value is set lower than the setting in the SERCOS spindle drive then the spindle will run with that proportional difference. If a reduction in the maximum speed of the spindle motor is desired then that is set using another machine parameter (SpindleMaxRPMAppl; see 12.4.3). Example: Spindle motor maximum RPM is 5000 and S-46 (velocity scaling exponent) is –4. SercosMaxCommandValue = 5000 * 10^4 = 50000000.

6.1.3 Maximum axis velocity AxisSpeedMaxAppl

The machine parameter AxisSpeedMaxAppl has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the maximum admissible axis velocity for the respective axis. Unit: 1000 internal increments / min (usually mm/min) AxisSpeedMaxAppl has to be set to 80% of the velocity that the axis moves at SercosMaxCommandValue. Refer to section 5.1.1 Equation for a linear axis: AxisSpeedMaxAppl = [ Max Motor Speed (rpm) × Gear Ratio × Pitch of Ballscrew (mm) ] × .8

Example: linear axis given: max motor speed (10V) 2500 rpm given: ratio between motor and lead screw 1/2 given : lead screw pitch 20 mm AxisSpeedMaxAppl = (2500 × 1/2 × 20) × .8 = 20000 mm/min Equation for rotary axis: AxisSpeedMaxAppl = [ Max Motor Speed (rpm) × Gear Ratio × 360 (°/rev) ] × .8

Page 66: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 66/265

Example: rotary axis given: max motor speed (10V) 2500 rpm given: ratio between motor and first gear wheel 1/10 given: ratio between gear wheels 25/64 AxisSpeedMaxAppl = (2500 × 1/10 × 25/64 × 360) × .8 = 28125 °/min

6.1.4 Axis velocity in Manual mode SAxisFeedAppl

The machine parameter SAxisFeedAppl has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the desired feed rate in the operation mode ‘MANUAL’. This velocity corresponds to the feed rate override position at 100%. Unit: internal increments / ms, or 1000 internal increments / sec (usually mm/sec) Calculation: Equation for linear axis: SAxisFeedAppl = [ Feed rate (mm/min) ÷ 60 (sec/min) ] Example: linear axis given: manual feed rate should be 5 m / min SAxisFeedAppl = 5 × 1000 ÷ 60 = 83.3333 mm/sec Equation for rotary axis: SAxisFeedAppl = [ Feed rate (rpm) × 360 (°/rev) ] ÷ 60 (sec/min) Example: rotary axis given: manual feed rate should be 20 rpm

SaxisFeedAppl = ( 20 × 360 ) ÷ 60 = 120 °/sec 6.1.5 Axis acceleration AxisSlopeTime

The machine parameter AxisSlopeTime has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the time in which the axis should accelerate from standstill to rapid traverse (AxisFeedMaxAppl). Unit: ms

Page 67: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 67/265

Calculation: The settings depend on the drive and axis characteristics; this time should be adjusted in such a way, that the drive never comes in current limit during the acceleration or deceleration phase. For the first start up of the axis it is recommended to increase this time approximately by 5 to reduce the acceleration as long as the drive set up is not properly achieved.

acceleration time = speed ÷ acceleration value Equation for linear axis: AxisSlopeTime = [ AxisSpeedMaxAppl (m/sec) ÷ Acceleration rate (m / s²) ] × 1000 (ms/sec) Example: linear axis given: axis acceleration should be 4 m / s² given: AxisSpeedMaxAppl = 20000 mm/min

AxisSlopeTime = [ 20000mm/min ÷ 1000mm/m ÷ 60sec/min ÷ 4m / s² ] × 1000ms/s = [ 20000 ÷1000 ÷ 60 ÷ 4 ] × 1000 = 83.333 ms

Equation for rotary axis: AxisSlopeTime = [ [AxisSpeedMaxAppl (°/s) × 2π rad / 360° ] ÷ Accel rate (rad/s²) ] × 1000 (ms/s) Example: rotary axis given: axis acceleration should be 25 rad / s² given: AxisSpeedMaxAppl = 28125 °/min

AxisSlopeTime = [ (28125°/min ÷ 60s/min) × (2π ÷ 360°) ÷ 25rad/s² ] × 1000ms/sec = [ (28125 ÷ 60) × (2π ÷ 360) ÷ 25 ] × 1000 = 327 ms

If the acceleration is not known, it is suggested to start with a value of 1 m/s² for linear axes and a value of 6 rad / s² for rotary axes.

Page 68: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 68/265

6.1.6 Travel distance per encoder pulse MachToInternalIncr

The machine parameter MachToInternalIncr has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the travel distance between two encoder pulses. The sign represents the counting direction. Unit: internal increments (usually a factor) In a Sercos drive this parameter gives the conversion factor from a position value in the drive to the metric internal increments of the controller. The position scaling in the drives is set up with Ident numbers 76, 77, 78 and 79. Standard: 0.1

The position scaling in the axis drive will configure the position according to procedure defined for an analog axis in section 5.1.4 (where the lead screw pitch and the number of encoder pulses per revolution are considered for this parameter). Some drive manufacturers do not support scaling in the drive. In these cases the MachToInternalIncr must be set in the machine parameter file.

For a linear axis with a SERCOS drive, set MachIncrementsPerRev to 1FFFFFFF (hex) to prevent a misinterpretation of this machine parameter for a linear axis. 6.1.7 Position loop gain GainSpeedFactor

The machine parameter GainSpeedFactor has 32 indexes; the index number is related to the CNC axis display index. Refer to section 4.5. This machine parameter determines the maximum following error (lag) admissible for the respective axis and is calculated in relation with the KV-factor (position control loop gain). The KV-factor defines the relationship between the feed-rate and the following error (lag).

If the position loop is closed inside the Sercos drive (the usual configuration), the KV-factor value used in following calculation for this machine parameter has to be exactly the same as the one set up in the drive.

The smaller the value of GainSpeedFactor, the higher the KV-factor value, the harder the axis is controlled, and the smaller the allowed following error (lag). Definition: KV-factor = refer to drive set up Units: internal increments

Page 69: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 69/265

Calculation: The maximum following error for the desired KV-factor must be calculated for each axis according to the following formula and must be entered into the corresponding index of the machine parameter GainSpeedFactor.

Equation:

GainSpeedFactor = ( AxisSpeedMaxAppl × 1.25 ) ÷ KV-factor

Example: linear axis given: AxisSpeedMaxAppl 20000 mm/min given: desired KV-factor 1

GainSpeedFactor = (20000 × 1.25) ÷ 1 = 25000

Example: rotary axis given: AxisSpeedMaxAppl 28125 mm/min given: desired KV-factor 0.5

GainSpeedFactor = (28125 × 1.25) ÷ 0.5 = 70313

If the machine and drive characteristics are not known, it is suggested to start with a KV-factor value of 0.5 so that the axis is not controlled too hard (or stiff).

6.1.8 Rotary Axis or Spindle Setup

In addition to the Machine to internal increment parameter previously described, the following parameters need to be set for rotary axis or a spindle. The relationship of all these two parameters is given by the formula: IncrementsPerRev = MachToInternalIncr × MachIncrementsPerRev Please refer to section 5.1.6 in this manual for the configuration of these two parameters. These rotary axis parameters are configured the same in both analog and Sercos systems. However, in a Sercos system the values match those configured in the drive.

In the case of a spindle, the MachIncrementsPerRev is usually 3600000 (per S79, see 6.3.4) so the MachToInternalIncr is 0.1 (as specified in 6.1.6). For a linear axis with a Sercos drive, set the MachIncrementsPerRev = 1FFFFFFF (hex). This value prevents a misinterpretation of this machine parameter for a linear axis.

Page 70: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 70/265

6.2 Set up the override function

In order to be able to move an axis, the override functionality of the CNC must be set up according to the wiring of the override rotary switch(es). Please refer to section 5.2 in this manual for information about these machine parameters. These machine parameters are configured the same in both analog and Sercos systems.

Page 71: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 71/265

6.3 Sercos monitor

6.3.1 General

The Sercos monitor is a tool that allows the set up of the communication between the CNC and its drives on the Sercos link and the monitoring of the variables used by this communication. The Sercos communication variables are called "Ident" variables and each is given an "Ident number." These are also referred to as IDN.

The purpose of this chapter is to provide information about the Sercos monitor. Any information about any specific IDN used by the Sercos communication should be obtained from the manual provided by the particular Sercos drive manufacturer. The very first time the control is connected to its Sercos ring and any time later after

there is any change to the drive configuration file, the CNC will start up with an error 808 indicating that the ring timing values must be initialized. This ring initialization is done using the Sercos monitor.

Start the Sercos monitor, by doing the following:

• Start the HMI • Set the HMI to SETUP mode • Enter the password (if required) • Press S2: Machine Setup • Press S3 : Sercos monitor

The initial state of the Sercos ring depends on the condition. If the error 808 exists or if there is some other CNC error about the ring then the initial display might not show drive parameters. If the ring timing has been set and the ring is at it normal running state (shown as Phase 5) then the CNC will upload parameters from all the drives in the ring. A progress bar is shown at the bottom with the percentage of data read. An example of this display is shown below.

Page 72: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 72/265

Figure 8: Sercos Monitor – Initializing

The time required for all the data to be read could take as long as a minute if there are many drives in the ring. Pressing the first soft key (Select ident) will move the cursor to the Find entry. Pressing the second soft key (Select ring) will move the cursor to the Ring selection, where a change in the ring number will move the display to that content. Pressing the third soft key (Select drive) will move the cursor to the Drive selection, where a change in the drive number will move the display to that content. Pressing the fifth soft key (Refresh) will update the display from the drives. This process can take a few moments depending on the number of drives in the ring. Pressing the eighth soft key (Exit) will exit the Sercos Monitor, closing its own window; the previously active window will be displayed. Pressing the fourth soft key (File) will bring a new set of soft keys. These soft keys allow the management of the files associated with the drive parameters. An example of this display is shown below:

Page 73: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 73/265

Figure 9: Sercos Monitor – File soft keys

Pressing the first soft key (Refresh) will update all the data on the display from the drives. This process can take a few moments depending on the number of drives in the ring. Pressing the second soft key (Select ring) will move the cursor to the Ring selection, where a change in the ring number will move the display to that content. Pressing the third soft key (Select drive) will move the cursor to the Drive selection, where a change in the drive number will move the display to that content. Pressing the fourth soft key (Save drive parameters) allows the operator to select which drive will have its parameters saved to its associated disk file. This file name is specified in the drive configuration file (see chapter 3.3); the file is located in the path C:\Program Files\MM. The operator is prompted for the drive selection; an example of this dialog is shown below:

Figure 10: Sercos Monitor – Save drive parameters

Page 74: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 74/265

Pressing the fifth soft key (Save all drives) allows the operator to save all the data to the respective disk files. This can be done at the end of the configuration process to create an archive of the data in the disk files. Pressing the sixth soft key (Load drive parameters) allows the operator to select which drive will have its parameters loaded from its associated disk file. This command can be used when a drive has been replaced and the operator wishes to load the new drive with the previous drive’s parameters. The operator is prompted for the drive selection; an example of this dialog is shown below:

Figure 11: Sercos Monitor – Load drive parameters

Pressing the seventh soft key (Load all drives) allows the operator to copy all the data from the disk files to their associated drives. This is a very rarely used command. Pressing the eighth soft key (Back) exits this soft key level and returns to the initial Sercos monitor display.

Page 75: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 75/265

6.3.2 Perform Sercos timing and communication set up

The following procedure describes the steps needed to establish communication between the CNC and a digital Sercos drive. This has to be done the very first time that the communication is necessary or after any change of the timing values (or any change in the drive configuration file; see 3.3). This last case will be signalized by the CNC with a corresponding message (error 808). Once the Sercos monitor is active, the "initialize timing" procedure is: First, from the main Sercos monitor display is the selection of the seventh soft key (Setup). This will result in a new display with a new set of soft keys. An example of this display is shown below.

Figure 12: Sercos Monitor – Setup soft keys

Second, select the fourth soft key (Boot 0 phase) so that the ring is not active. The top of the display shows the current phase of the ring. Third, select the first soft key (Init timing). The CNC will work with all the drives on the ring and establish their respective times in one master sequence. The display will update with the new timing values. An example of such timing values is in the figure above. The actual timing values will depend on the particular drives and the number of drives in the ring.

Page 76: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 76/265

Fourth, if the timing values are initialized in the drives then the next step is to exit the Sercos monitor (Back then Exit), exit the CNC software (System – Exit). The Sercos ring(s) should be restarted in a typical start up sequence after the timing is initialized. If it is impossible to reach this status (successful initialization), the Sercos monitor should be showing an error message, perhaps one like 746 Sercos: Invalid receive signal. Ring 1. If an error message appears, it is necessary to check carefully the proper connection of the fiber-optic cables (check the cable Out / In assignments) or, if the in/out connections are correct, increase the power of light emitting diode on the CNC side. The five most common CNC errors involving drive connections in a Sercos ring are: 717 (when the fiber cable is disconnected when running), 742 (when the drive has the wrong baud rate for the CNC configuration), 744 (when the drive has the wrong address for the CNC configuration), 745 (when the fiber cable is disconnected when starting up), 746 (when the drives on the ring are not powered). Note that this Sercos monitor Setup is required in several circumstances. If the fiber cables are very long or their quality affects the light over the distance it might be necessary to change the light intensity in the fiber. This adjustment of the optic power output is performed by using the S6 soft key (Increase transmitter power) or S7 soft key (Decrease transmitter power). If the drives indicate an error about no light or there is an error about the ring (like 745) then increasing the transmitter power might solve the problem, though a cable problem is more commonly the cause of such a symptom. If a change in the transmitter power is required for proper Sercos ring operations, then its value in the drive configuration file should be updated to the new transmitter power setting (see 3.3). This update to the value in the file is not automatic (i.e., Sercos monitor does not update the file). Once the ring has had its timing values initialized, it is possible for the values to be changed using Sercos monitor.

Any changes in the timing values should be done only by specifically instructed people! Wrong values will cause improper Sercos communication. T_SCYC must match the system tick for your system. The T_SCYC value in the drive configuration file cannot change this time value. (T_SCYC in the file must match the top line of the display in Figure 10.) If these entries do not match (i.e., T_SCYC in the file is not shown in this display), the CNC will never get to SERCOS phase 3 with this ring.

The other reason to use the Setup soft keys is to change certain drive parameters that cannot be done when the drive is operational (when the drive is referred to as being in phase 4). Those configuration parameters would be typically changeable in phase 2. To change the ring from phase 4 to phase 2 there is no mechanism to change the phase directly other than following a sequence from phase 0 up to the desired phase.

Page 77: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 77/265

The phase sequence of a SERCOS ring is as follows. These descriptions will be helpful when the progression of the ring states stops before reaching phase 4.

0: The CNC closes the ring. The physical fiber connections in the ring are checked.

1: The CNC identifies the axes. Each drive in the drive configuration file is identified on the ring.

Incorrect addressing will result in the CNC not detecting a drive and that drive reporting that it is not being scanned in the ring.

2: The CNC loads the ring timing parameters into the respective drives. Each drive is assigned

its ‘time’ in the ring’s protocol. The CNC cannot upload the drive’s parameters until it is at phase 2 or higher. Note that the first time the ring gets to phase 2 for the Sercos Monitor session, it will upload the parameters from all the drives in the ring. Let this upload process complete before stepping to phase 3.

3: The CNC loads other parameters into the respective drives. The drive must be completely

configured before it can progress to phase 4, including getting any data it needs from its motor (some motors contain their configuration data for the drive to read). If a drive cannot progress to phase 4, the most likely cause is its motor data is not defined correctly. Check the lists in IDN 22 and/or IDN 375.

4: The CNC is online with the drives, exchanging cyclic data. 5: Sercos monitor indicates all the drives are at phase 4 by indicating a ring state of 5.

There is not a state of 5 in a SERCOS ring and is not used in all drive manufacturers products.

Therefore when trying to change a drive parameter in phase 2 when the ring is operational (phase 4 or 5), the sequence in the Setup mode is: 1) Boot 0 phase (so the Phase at the top should be 0), 2) Boot next phase (so the Phase at the top should be 1), 3) Boot next phase (so the Phase at the top should be 2), 4) Exit (so the main list of drive parameters are available, not just the timing values). Note that sometimes the exercise of the ring phases will result in the CNC again obtaining all of the drive parameters from all of the drives. This should take a few moments (depending on the number of drives in the ring).

Page 78: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 78/265

Some drive configuration tools, when run over a serial connection to the drive (not Sercos monitor), might change some of the drive’s Sercos communication parameters. Typically, the drive configuration tool (provided by the drive manufacturer, not MACHINEMATE INC.) would be used for the initial drive/motor tuning (as described in 3.5). Once those internal parameters have been set, the Sercos monitor is used for configuring the drives in the ring(s) within the system. Beware the possible consequences of going back to the drive configuration tool after the drive has been configured as that could affect the communications with the CNC (as will be described in 6.3.4).

6.3.3 Monitoring Ident numbers

The main soft key level of the Sercos monitor allows the display of the content of any Ident within the Sercos communication. Once the Sercos monitor is active, use the second and third soft keys to select the desired ring number and drive number. The selection can be done also by scrolling through the display to find that desired combination. To find a particular drive parameter (or ident number) use the first soft key (Select ident) to move the cursor to the Find: field. Alternately the cursor can be moved there directly by the mouse or a touch screen. Upon entering a number the display will scroll automatically to show the current contents of that drive parameter (for the currently selected ring number and drive number). An example of this display is shown below.

Page 79: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 79/265

Figure 13: Sercos Monitor – Find ident number

To change a value, just press the Enter key to highlight the current value and then enter the new value. Alternately, when the current value is highlighted the cursor can be moved within the data string for more selective changes of a value (that could be a decimal or binary value) There are two specific types of variables: P: An Ident whose number starts with a letter P - this variable can have a different meaning from one drive manufacturer to another.

S: An Ident whose number starts with a letter S - the meaning of this variable is defined by the Sercos communication specification and will be the same for all Sercos drive manufacturers. Even though the S parameters are standard, the respective drive manufacturers might use slightly different names for the respective parameters. The parameter names shown in this manual’s figures might not match those of all drives. The Sercos monitor will display the full list starting with the "P" Ident's and then the "S" Ident's. The drive parameter display window shows the selected Ident number (e.g., S-0-0015), its name (which is sometimes a brief description of its function; e.g., Telegram type parameter), the current value of this parameter, the units for that value, the minimum allowed value and the maximum allowed value for that parameter. Note that depending on the screen resolution and the current column

Page 80: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 80/265

positions not all of the columns might be visible. With a mouse or touch, it is possible to select the column divider and then move it left or right to adjust the width of a particular column.

Depending on the selected Ident, the Sercos communication may not allow the change of the selected Item under any circumstances (i.e., the ident is read-only). Some variables can only be changed when the ring is in phase 2 or when the drives are disabled. The Sercos monitor will display a corresponding message. To know the status of the ring necessary to allow a change of the selected Ident, refer to the drive manufacturer’s instruction book.

When just viewing a parameter value, press Esc or click on Cancel to close the dialog. Pressing Enter will be interpreted as the OK of a value change which could result in an error if the current phase is inappropriate for such a change (whether an actual change is intended or not).

6.3.4 Sercos Start Up Ident numbers

There are a number of Sercos Ident numbers that interact with machine parameters. The following is a list of the important Sercos Ident numbers. Detailed descriptions are available within the Sercos specification. Note that in Sercos descriptions, bit 0 is the least significant bit while bit 1 is the least significant bit for the CNC bytes and words.

The operation mode Idents are related to the machine parameter SercosPositionControl (see 6.1.1). The position scaling data Idents are related to the machine parameter MachToInternalIncr (see 6.1.6). The velocity scaling data Idents are related to the machine parameter SercosMaxCommandValue (see 6.1.3). The drive gain factor Ident is related to the machine parameter GainSpeedFactor (see 6.1.7). The homing parameters are related to the descriptions provided in chapter 10 except that the drive executes the homing process not the CNC.

Depending on the drive vendor, some of the default parameter values might be correct for the drive in the CNC application. This list is provided as a guide for the start up of the Sercos drive.

Note that when starting up a new drive and motor combination, if there is an intelligent connection between the two the motor parameters should be uploaded by the drive before performing the following drive parameter changes. Since the process of initializing the drive for its motor could affect some of the other parameters it is best to do the parameter upload from the motor first.

The suggested procedure is to review the entire list of Sercos parameters for each drive. Some may apply and other may not; this depends on whether it is an axis or a spindle. The scaling factors and exponents (for position and velocity) are typically left at their default values from the drive manufacturer but they are included in this list for reference. Most of the drive-specific or the motor-specific parameters are not in this list below (e.g., motor current and rpm ratings, feedback resolution, etc.). The interaction within the drive between the standard S parameters and the drive-dependent P parameters is also not covered here. Those relationships depend on the particular drive model.

Page 81: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 81/265

Operation Mode

• S-15 This is the telegram type parameter.

For all interpolating axis S-15 is set for a telegram type 4 (0100 binary). This telegram will use the position command (S-47) and position feedback (S-51) For spindles S-15 is set for a telegram type 3 (0011 binary). This telegram will use velocity command (S-36) and position feedback (S-51). Using position feedback for a spindle is required for monitoring actual speed, spindle orient and rigid tapping or threading. • S-16 This is the custom amplifier telegram configuration list. This IDN does not require

setup. With the position loop closed in the drive, it has a value of S-51. For a spindle (where S-15 is binary ‘11’), it will be S-51 as well.

• S-24 This is the configuration list of the master data telegram. This IDN does not require setup. With the position loop closed in the drive, it has a value of S-47. For a spindle (where S-15 is binary ‘11’), it will be S-36, velocity command.

Page 82: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 82/265

• S-32 This is the main operation mode for the digital drive.

For all interpolating axis S-32 is typically set to 3 (0011 binary). This is closing the position loop in the drive and using the feedback that is on the motor. For spindles S-32 is typically set to 2 (0010 binary). This is closing the velocity loop in the drive. The switch from position mode to lag-free position control should be done only after all the other startup parameters have been configured and the CNC/drive combination has been suitably tuned.

Page 83: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 83/265

Scaling for position data

• S-55: This is the position polarities setting.

This parameter can be used to change the command and feedback polarity for a linear or round axis. Positive values means that the motor will turn clockwise when facing the motor shaft. Note: Bits 1, 2 & 3 are copies of Bit 0. On some drives only changes of Bit 0 have an effect while on other drives multiple bits are entered manually (usually both the feedback and command have the same polarity). • S-57: This is the position window (typically set at 0.100).

Page 84: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 84/265

• S-76 This is the position data scaling type.

Position data scaling determines in which format data is communicated between the drive and MachineMate CNC. Because MachineMate internal data is always metric, it is recommended that position data scaling be also set to metric for all linear axes. Some typical values are: 0000000000000001 Linear metric with feedback direct to ballscrew 0000000001000001 Linear metric with feedback on motor and gearing to the ballscrew. 0000000000010001 Linear inch with feedback direct to ballscrew 0000000001010001 Linear inch with feedback on motor and gearing to the ballscrew. 0000000000000010 Rotary – absolute for round axes 0000000010000010 Rotary – modulo for round axes or spindles Note that bit 6 determines whether there is a gear box between the motor and the feedback device used for calculating the axis position. The gear box is defined in parameters S-121 and S-122.

Page 85: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 85/265

For a rotary or spindle drive, never have both the drive and the CNC as modulo. Typically the drive is modulo and the CNC is not unless there is gearing after the feedback and then the opposite occurs. • S-77 This is the position data scaling factor. (1) • S-78 This is the position data scaling exponent. (-7) • S-79 This is the rotational position resolution. (3600000) • S-103 This is the position modulo value, applicable for a rotary axis or spindle (360.0). • S-121 This is the input revolutions in the gear box (with S-122 for a ratio). • S-122 This is the output revolutions in the gear box (with S-121 for a ratio). The gear ratio is defined as:

________S-122 Output revolutions of the load gear_____ S-121 Input revolutions for the load gear (typ motor shaft)

In the above example the Input gear = 9 teeth and the Output gear = 18 teeth. Therefore the motor shaft turns 2 times for each turn of the ballscrew. S-121 = 2

S-122 = 1 If S-121 & S_122 are used to define gear ratio; S-76 must have Bit 6 = 1. This will cause the scaling to be referenced to the load.

• S-123 This is the feed constant or the ball screw pitch. This is specified in either mm/rev

(if S-76 indicates metric) or inch/rev (if S-76 indicates inch).

Page 86: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 86/265

Scaling for velocity data

• S-43 This is the velocity polarity

This parameter can be used to change the command and feedback polarity for a velocity (spindle) axis. Positive values means that the motor will turn clockwise when facing the motor shaft. Note: Bits 1 & 2 are copies of Bit 0. Only changes of Bit 0 have an effect.

Page 87: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 87/265

• S-44 This is the velocity data scaling type.

Various scaling types can be defined for the velocity data in the drive. It is recommended that velocity data scaling be set to rotary for all interpolating (linear or rotary) axes. This establishes the best units (RPM) for various other parameters. Some typical values are: 0000000000001010 Rotary with parameter scaling (typical interpolating axis). 0000000000000001 Linear metric. 0000000000010001 Linear inch. 0000000000000010 Rotary with feedback on motor (typical spindle). 0000000001000010 Rotary with feedback on motor and gearing to the ballscrew. • S-45 This is the velocity data scaling factor. (1) • S-46 This is the velocity data scaling exponent. (-6 or –4 depending on the scaling

type) • S-91 This is the velocity limit, or the maximum motor rpm (it will be in rpm when S-44 is

set for rotary scaling).

Page 88: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 88/265

Drive gain factor

• S-104 This is the position loop KV-factor (usually 1). Homing parameters

• S-41 This is the homing velocity (10. RPM). • S-42 This is the homing acceleration (1000. rad/sec2). • S-52 This is the reference distance 1 value (usually 0). • S-147 This is the homing parameter

Page 89: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 89/265

Some typical values are: 0000000010000100 CW homing with home switch and reference mark. 0000000010000101 CCW homing with home switch and reference mark. 0000000010100100 CW homing without home switch (typical for spindle orient). • S-148 This is the homing procedure command and can be used to test the drive’s

homing sequence using Sercos Monitor. S-148 is the CNC’s command to home. Note that to run S-148 manually the machine parameter value in StandstillLagPerCent for this axis must be 0. Otherwise the CNC will declare an error 481 because the drive is moving too far when the CNC does not expect it. After doing the manual homing once, please restore the original StandstillLagPerCent value.

• S-150 This is the reference offset value 1 (usually 0). • S-400: This is the home switch status (read-only). Since the Sercos drive performs the

reference cycle, this ident is helpful when checking its connection to the Sercos drive.

Spindle only: • S-152: This is the position spindle procedure command and can be used to test the

spindle orientation using Sercos Monitor. Note that S-147 (for homing) affects this command (usually the spindle does not orient with respect to a reference switch). Note the CNC uses the S-152 command at the start of a G33 (rigid tapping or thread cutting) when the linear axis (one or more) will be synchronized with the spindle rotation. The SERCOS spindle drive should be capable of the S-152 spindle orient command for synchronized operations like the G33.

• S-154: This is the spindle position parameter and defines the direction for the orientation

If S-154 bit 2 is 0 for absolute positioning (the typical setting) then upon the S-152 command the spindle will position to the value in S-153 (spindle angle position). If bit 2 is 1 for relative positioning (uncommon) then upon the S-152 command the

Page 90: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 90/265

spindle will move the distance specified by the value in S-180 (spindle relative offset).

• S-222: This is the spindle positioning speed, in RPM (usually set it to 10).

These parameters are helpful when troubleshooting. These should apply to most drive vendors.

• S-21 This is the IDN list for invalid operation data for phase 2. This is helpful if the drive cannot advance from phase 2. S-127 is the CNC’s command to do that.

• S-22 This is the IDN list for invalid operation data for phase 3. This is helpful if the drive cannot advance from phase 3. S-128 is the CNC’s command to do that.

• S-36: This is the velocity command value, the last velocity requested by the CNC (applicable only for a spindle).

• S-40: This is the velocity feedback value, the last velocity returned to the CNC by the drive (applicable only for a spindle).

• S-47 This is the position command value, the last position requested by the CNC. Note that the S-47 value is shown by the CNC (Manual or Auto displays) in the Voltage column of axis data when the LAG Display is the active Display function and the axis servo uses SERCOS. The Voltage column is the analog output voltage with an analog axis but the Voltage column is the position command with a SERCOS axis.

• S-51 This is the position feedback 1 value, the last position returned to the CNC by the drive.

• S-53 This is the position feedback 2 (auxiliary feedback) value, the last position returned to the CNC by the drive. This is relevant when S32=100 binary.

• S-95 This is the diagnostic text message for the last error encountered by the drive. • S-96 This is the slave arrangement (or identifier). This identifies the drive’s number on

the Sercos ring.

Page 91: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 91/265

• S-134: This is the master control word, from the CNC to the drive. The word is defined in the SERCOS spec.

Page 92: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 92/265

• S-135: This is the drive status word, from the drive to the CNC. The word is defined in the SERCOS spec. Note that the Sercos monitor uses the service channel for its retrieval of drive data so the bit 1 will be on when Sercos monitor is active.

• S-265 This is the drive language selection (to interpret its IDN list and data). Some drive

vendors might not default to English (1). If this value is changed, please restart the system (power cycle the CNC and drives) to get the drive’s ident list presented in the desired language.

• S-375: This is the list of recent diagnostic messages. This list is helpful when troubleshooting a Sercos ring start up problem. Not all useful error messages will be displayed on a drive’s front panel.

Page 93: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 93/265

6.3.5 Sercos parameters saved through power cycle

It is very important that the configuration parameters (like many of those listed in 6.3.4) are saved within the drive, so that after a power cycle these parameters are unchanged. For some drive manufacturers, any Sercos parameter changes will be saved automatically. For other manufacturers, there might be a switch or Sercos parameter that must be changed to signal that the current set of parameters should be saved to the drive’s internal non-volatile memory. MachineMate Inc is not experienced with every SERCOS drive manufacturer nor every model of drive that they offer. However, several drives can be noted here. On the Beckhoff AX2000 SERCOS drive, running the S-264 command saves the updated values. On the Rockwell Ultra 3000 SERCOS drives, S-269 is set to 0 when drive parameter values will be updated and those new values should be saved through a power cycle. On the Rockwell Kinetix SERCOS drives, the Rockwell Drive Explorer software (with an RS232 connection to the drive) must be used to command this saving to non-volatile memory. Most Indramat drives require no additional operator action because most drive parameter changes (typically done in phase 2) always will be preserved through a power cycle. Each drive manufacturer may have their own mechanism for preserving parameter values and that mechanism may or may not be consistent among their different drive models. Please check with the specific drive manufacturer regarding this feature of the drive. Note that the different drive manufacturers also have different procedures for setting up certain features in their drive. For example, the procedure for the one-time setting of the axis position with an absolute encoder is different in the various drive models by the different companies. MachineMate Inc has compiled some of these procedures to help our customers with some drive models but certainly it is the drive manufacturer that is the best resource for the correct start up procedures to follow with their drives.

Page 94: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 94/265

7 Programmable Logic Controller tool 7.1 General

The PLC integrated in the CNC control allows the communication between the CNC control and the machine tool. This communication runs in two ways:

• Hardware connection to inputs and outputs at the machine from the IO modules in the CNC control.

• Software data exchange between the CNC and the PLC

The purpose of this chapter is to give brief but adequate information about how to use the PLC tool for loading and debugging a PLC program (or ‘project’) using the Online features of this tool.

Any further information about the PLC language and the PLC development system IEC 1131 is described in the Software Manual – PLC Programming. Start the PLC Tool by doing the following:

• Start the HMI.

• Set the HMI to SETUP mode.

• Enter the password (if required).

• Press S1: PLC

• Press S1: PLC programming.

The PLC development system screen will appear.

Page 95: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 95/265

7.2 Load project

To load a different PLC program, open the ‘File’ menu and with the ‘Open’ dialog, select the desired file with the mouse pointer or key in its file name and select the Open button.

Open box

file nameand directory

Figure 14: PLC File Open

After successful loading the following window will appear:

Figure 15: PLC Programming Tool – Initial Display

Page 96: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 96/265

7.3 Download project

The new PLC program is now loaded in the PLC development system but it is not yet downloaded to the CNC. Therefore it is necessary to select under the ‘Online’ menu the ‘Login’ selection. The project will now be rebuilt; that means all syntax and logical connection checks will be done. If the project is correct, the software will confirm its download. Otherwise the faults in the current project must be corrected first.

Figure 16: PLC Download Project

The project is seen to be running by the RUN status in the lower right of bottom status bar. Note that at the moment Yes is selected the CNC will always go into Emergency Stop (regardless of what is happening; this download should not be done while there are axes moving since they will immediately stop). The programmer should be aware of any machine activity before confirming this download dialog. The CNC must be in Emergency Stop while it is changing the PLC logic being run by the CNC kernel. There is no other prompt to the operator (just the one above) confirming that the machine is an acceptable state for this change in PLC logic.

Page 97: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 97/265

7.4 Online mode

The Online screen for a PLC application in Structured Text is roughly split in 4 boxes. POUs display box: Here are listed the different POUs of the actual project. To switch the display from one POU to another, select it with the mouse pointer and double click. local variable: Here are listed all the variable included in the variable declaration display box of the actual POU with Online status display. project display box: Here is displayed the program of the actual POU. variable status: Here is shown the status of the variables called in the display box corresponding program line of the actual POU

POUsdisplay box

local variabledisplay box

projectdisplay box

variable statusdisplay box

Figure 17: PLC Online Display

Page 98: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 98/265

The relative size of the ’project display box’ and the ‘variable display box’ is adjustable. This adjustment can be done by using the ‘Monitoring Options’ in the ‘Extras’ menu. The ‘Monitoring Option’ dialog allows the setting of the ‘Width of the Monitor Window’ in percentage of the total width of the two boxes, as well as the ‘Distance of two Variables’.

Width of the monitor window

Distance of two variables

Figure 18: PLC Online Monitoring Options

If the POU is written in Ladder Diagram rather than Structure Text, then there is no variable status display box. Instead, the values of individual variables are shown on the ladder diagram itself (Boolean variables with a state of TRUE are shown in color, and other variables have their values shown next to the variable name, after a ‘=’.)

Page 99: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 99/265

It is possible to search all location in all the POUs of the project where a certain variable is called. This can be done by using the ‘Show Cross Reference in the ‘Project’ menu.

Figure 19: PLC Cross Reference Display

The Project, Global Search selection also allows the programmer to search for a string among some or all code modules or logic windows.

Page 100: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 100/265

7.5 Write and Force variables

For test purposes it is possible to change the status of any local or global variable to the desired value, regardless the status to which the program would set this variable. For changing the value of a variable, perform a double mouse click on the variable either in the local variable display box or in the variable status display box. The variable is changed by: • BOOL operand: double click will alternate TRUE and FALSE • other operands: double click will open a dialog for changing the value.

Figure 20: PLC Forcing Variables

Page 101: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 101/265

After that the value is just marked for changing, but not actually changed in the controller. It is possible to change the value of several variables at once. The changing itself is performed by a ‘Write values’ or a ‘Force Values’ in the Online menu, or respectively by a ‘Ctrl+F7’ or a ‘F7’.

Figure 21: PLC Online Menu

With the command ‘’Write values’, the new values of all marked variables are just written once to the PLC (and monitored again) and can immediately be changed by the program. With the command ‘Force values’, the new values of all marked variables are written after each controller cycle to the PLC, until ‘Release Force’ or ‘Shift+F7’ is executed. As long as the values are forced, they are displayed in red color. If any values are being forced, the FORCE status will be shown in the lower right of the status bar on the bottom of the display.

IO variables that are declared in the PLC project but are never accessed by the PLC code cannot be forced. The same rule applies to system variables (the interface to the CNC from the PLC). Only those variables used by the PLC code can be forced.

For more information regarding the Online functionality, refer to the Software Manual, PLC Programming.

Page 102: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 102/265

8 Initial PLC program 8.1 General

In a machine tool the PLC is usually the ‘master’ of the equipment, which is responsible for the adjustment of the machine logic to the CNC and for the observance of certain functional sequences and operation sequence. For this purpose the PLC uses interfaces to the machine and to the CNC. Via these interfaces the PLC can recognize the current state of the machine and can initiate the necessary action to the CNC and vice versa. On the CNC, the PLC is already built-in the controller and communicates via an internal interface, the ‘Signal-interface’. This internal interface can be addressed from the PLC Program outwards and of course in the same manner that I/O boards are addressed for communication with the machine. The PLC is given no details regarding the technology for any input/output devices; the inputs and outputs are programmed using just byte numbers. Whether a byte number is on a field bus or on a Modular IO device is not relevant to the PLC program, though a field bus device might use more byte numbers (e.g., an extra byte number for a device status byte depending on the particular device) than a Modular IO device. The internal interface ‘partner’ of the PLC-program is the operating system of the CNC. The operating system ensures that information about current CNC states is provided and that an action initiated by the PLC is executed. The ‘CNC interface’ corresponds to a parallel, digital interface. Here, mainly single-signals are transferred with a direct state assignment or a function assignment. These single-signals (‘bits’) are grouped by 32 into ‘DWORDs’ and can be addressed by the PLC-program individually (as bits) or as a group (as a DWORD). These DWORDs can be viewed using INFO-Interface display-CNC Interface, with the Inputs being inputs to the CNC and the Outputs being outputs from the CNC. Typical applications are:

• Start and stop of the NC program processing; • Closing and opening of the CNC axis position control loops; • Set the auxiliary functions (e.g., M-codes) programmed in NC programs.

This ‘CNC interface’ for the PLC application is described in the Software Manual, PLC Interface. The PLC program ‘Set_up.pro’ which is proposed as a very simple example in this manual, uses only the signals of the CNC interface that are at least necessary in every PLC program. This subset of signals is listed in chapter 8.3 of this manual.

Page 103: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 103/265

8.2 The PLC project ‘Set_up.pro’

The PLC project called ‘Set_up.pro’ can be used for a simple first start up of the axes. This program sets all the necessary CNC interface variables for a machine. The PLC project ‘Set_up.pro’ is written for a 5 axes machine. If the machine has more or less axes than five, make the appropriate changes to the PLC code shown in the example. This is a simple program that is not provided with the CNC control. It is rather short and can be typed in by the PLC programmer in just a few minutes. It provides the basic PLC functionality to assist in the initial machine set up.

This is a test example program that does not take care of any SAFETY functions regarding the machine controlled by the CNC / PLC. If you run a machine with this PLC program, you will have to ensure that nobody stands inside the machine area, because unexpected machine movements could occur during the Start up. At least it should be ensured that all the E-stop buttons and all the axis E-stop limits are wired as a hardware safety chain and that this chain is functional! This program sets all the interface signals to a ‘TRUE’ value. If a ‘FALSE’ status is needed for any of them, it can be changed using the ‘Online Force Value’ feature (see 7.5). Only following inputs are effective:

• NC Start • NC Stop • Jog Plus • Jog Minus

This simple example assumes these signals are connected as described in the Hardware Manual and that the necessary machine parameters are set as explained in this manual in chapter 5.2. For example, AdditionKeyIOAddress would be set to 0201h (as the example is using the first two bytes of IO) so that the CNC can directly access the inputs.

A better PLC program is included in Appendix B (structured text) or Appendix C (ladder diagram) for a template for starting a real machine application. This PLC project here is just the bare minimum, to satisfy the CNC requirements for certain required signals, not really a template to begin with.

Page 104: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 104/265

8.2.1 PLC program variable declarations

PROGRAM PLC_PRG VAR Feed_1 AT %IX1.1 : BOOL; (* feed rate override *) Feed_2 AT %IX1.2 : BOOL; Feed_3 AT %IX1.3 : BOOL; Feed_4 AT %IX1.4 : BOOL; Feed_5 AT %IX1.5 : BOOL; Jog_Minus AT %IX1.7 : BOOL; (* N.O. Jog Minus *) Jog_Plus AT %IX1.8 : BOOL; (* N.O. Jog Plus *) Speed_1 AT %IX2.1 : BOOL; (* spindle speed override *) Speed_2 AT %IX2.2 : BOOL; Speed_3 AT %IX2.3 : BOOL; Speed_4 AT %IX2.4 : BOOL; Speed_5 AT %IX2.5 : BOOL; I_NC_Stop AT %IX2.7 : BOOL; (* N.C. Cycle Stop *) I_NC_Start AT %IX2.8 : BOOL; (* N.O. Cycle Start *) END_VAR

Note that these declarations are not used in the code below. They are included for reference. 8.2.2 PLC program code (in structured text)

(* Signals Byte 1*) INEMERGENCn := TRUE ; (* or use N.C. E-stop push button *) IN_START := ON_STARTNC; IN_STOPn := ON_STOPNCn ; IN_TRANSF := TRUE ; IN_ENABLE := TRUE ; (* Signals Byte 3 Drive on *) IN_DRON01 := TRUE ; (* check Drive Ready input(s) *) IN_DRON02 := TRUE ; IN_DRON03 := TRUE ; IN_DRON04 := TRUE ; IN_DRON05 := TRUE ; (* Signals Byte 4 Axes enable *) IN_DREN01 := TRUE; IN_DREN02 := TRUE; IN_DREN03 := TRUE; IN_DREN04 := TRUE; IN_DREN05 := TRUE;

Page 105: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 105/265

8.3 CNC-PLC variables used by ‘Set_up.pro’

8.3.1 Emergency stop INEMERGENCn

This signal informs the CNC that the machine is in an EMERGENCY STOP state, as a result of the PLC logic. The CNC emergency stop status is self-locking in the CNC, in the interface variable ON_EMERG. That means its effects (i.e., emergency stop) are held until the CONTROL RESET is performed. Any condition in the machine requiring an emergency stop (i.e., no axis motion, no part program blocks) must be transmitted to the CNC through this signal, such as:

• Safety functions of the CNC are not activated; • PLC logic detected a machine condition that requires the CNC to stop everything.

The axis measurement systems are not disabled or interrupted when an emergency stop is active. Thus an axes homing cycle is not necessary after reset of the emergency stop status.

The emergency stop status has no influence on the CNC Ready relay (see Hardware Manual chapter 3.3 for analog drives and chapter 3.4 for Sercos drives). Detailed descriptions of this CNC-PLC interface variable (and the variables that follow in this section 8.3) are in the Software Manual, PLC Interface. Short descriptions are provided here in this Start Up Manual just to provide insight into why they are required in the simple PLC project.

8.3.2 NC Cycle Start IN_START

Any programmed action of the CNC can only be executed by this CNC interface signal being TRUE, including:

• Processing of a NC program; • Homing cycle.

Even if the NC Start push button is directly read by the CNC, it will have no direct effect until the PLC program reacts. It will be output to the PLC, via the signal ON_STARTNC, and has to be transmitted to the CNC via this signal IN_START.

Page 106: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 106/265

8.3.3 NC Cycle Stop IN_STOPn

This CNC interface signal instructs the CNC for a feed hold (or cycle stop). It is used mainly to interrupt actions that were activated with IN_START. The CNC feed hold status is self-locking in the CNC. That means its effects are held until this input signal is TRUE again and then the cycle stop condition can be changed : • by an IN_START if the test mode ‘Without movement’ is not active (changes to cycle on) • by the soft key ‘Test start’ when the test mode ‘Without movement’ is active (changes to

cycle on) • by a CONTROL RESET (changes to cycle off – CNC is idle) • by an emergency stop from PLC or CNC (changes to emergency stop)

IN_STOPn is also processed when the test mode ‘Without movement’ is active. The feed hold or cycle stop condition also affects jogging so no axes will jog while the feed hold condition exists.

8.3.4 Block transfer enable IN_TRANSF

This signal allows the transfer of NC blocks from the preparation level to the execution level in the CNC and thus the execution of the NC blocks is stopped, once the execution of the actual active block is finished. This signal is used mainly for short-term interruptions of the NC-program by the PLC, such as when it is necessary to wait for the result of an external event (e.g., end of tool change). 8.3.5 Feed enable all axes IN_ENABLE

This signal allows axes interpolation in the active NC block. This signal is used mainly for short-term interruptions of axes movements, such as when it is necessary to wait for the result of an external event (e.g., a wait until the spindle has reached its nominal speed). 8.3.6 Position loop enable IN_DRIVEON

This DWORD groups the enable-signals for the position loops of all the CNC axes up to a maximum of 32 axes. The PLC code must set only those bits for the axes that are available on the machine.

Bit 1 IN_DRON01 DRIVE ON 1st axis 2 IN_DRON02 DRIVE ON 2nd axis 3 IN_DRON03 DRIVE ON 3rd axis 4 IN_DRON04 DRIVE ON 4th axis 5 IN_DRON05 DRIVE ON 5th axis

Page 107: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 107/265

Each axis position loop is independent of the other (except special cases like gantry axes). Therefore the bit signals allow each position loop to be treated separately. Each of these signals is usually set if the Ready input signal is True from the respective drive. In an analog system, this is usually a discrete input signal; in a SERCOS system, the ON_CONTRxx signals are obtained from the drives over the fiber optic network. These signals are mainly used if position loops have to be opened without EMERGENCY STOP (e.g., when an axis has to be mechanically clamped or when an axis is currently controlled by an external device). These signals are used in the SERCOS drive interface to enable the individual drives (this is done over the SERCOS network rather than with a 24V discrete output signal for each drive, which is the usual mechanism for analog drives). 8.3.7 Axis feed enable IN_DRIVEEN

This DWORD groups the axis enable-signals used for non-interpolated movements (i.e., in manual mode) for all the CNC axes up to a maximum of 32 axes. The PLC code must set only those bits for the axes that are available on the machine.

Bit 1 IN_DREN01 AXIS ENABLE 1st axis 2 IN_DREN02 AXIS ENABLE 2nd axis 3 IN_DREN03 AXIS ENABLE 3rd axis 4 IN_DREN04 AXIS ENABLE 4th axis 5 IN_DREN05 AXIS ENABLE 5th axis

In non-interpolated movements such as during jogging, each axis is independent of the other (except special cases like gantry axes). Therefore the bit signals allow separate axis enables. These signals are mainly used to interrupt manual movements when an axis reaches its hardware limit switches during jogging (and the application inhibits further motion in that direction rather than causing an emergency stop). The enable/disable of interpolated axis motions (i.e., via a part program) is handled via the IN_ENABLE control signal.

Page 108: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 108/265

9 First positioning test Select the LAG display to monitor the following error.

• Set the HMI to SYStem mode.

• Press S1: Display functions.

• Press S2: LAG display.

• Set the HMI to Manual mode, as shown in the display below.

Figure 22: HMI Display of Axis Data

Select one axis in MANUAL-Continuous jog.

• Set the HMI to MANual mode. • Press S1: Move continuous. • Press Sx: Select the axis to be moved.

Page 109: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 109/265

Figure 23: HMI Continuous Jog Display

Move the selected axis with a reduced feed rate (feed override rotary switch turned down), using the Jog plus or Jog minus push buttons. If this axis travels at an ‘over speed’ during the positioning test, the direction of the motion must be tested again for this axis. If no error can be detected during the retest then the problem is on the drive side. Then the velocity and the current-control loop, respectively, of the corresponding drive must be checked (e.g., signals from the encoder or motor connection may be reversed; the encoder polarity should have been verified earlier, in section 5). When the axes are in ‘stand still’, all axes displays in the LAG or voltage columns should fluctuate around zero. Any axis offset must be corrected at the drive side.

There is no analog offset adjustment possible inside the CNC.

Page 110: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 110/265

10 Homing the axes 10.1 General

If the CNC has to position the axes in a coordinate system fixed in the machine, then it must first define a point on each axis where the coordinate system has its origin. This point is called the home position (or machine zero point). The home position is determined for each axis with mandatory homing by means of a limit switch signal (normally closed contact NC) and the marker signal from the measuring system. The use of pre-set data allows the machine tool builder to decide whether or not to use mandatory homing. If homing is used, the sequence of machine axis homing can be set-up.

The following PLC information about the home input switches applies only to a control with analog axes. Sercos drives perform the reference cycle (with drive parameters described in section 6.3.4) so the CNC does not need the state of the home input for a Sercos axis (see 2.5).

If the PLC project ‘Set_up.pro’ described in section 8 will be used for this test then it has to be created. The example in 8.2 was written for a 5-axis machine. If the machine has more or less axes than five, then include only the appropriate number of home switch inputs. The changes for the support of homing by the program that was shown in section 8.2.1 are shown below. If either of the examples in Appendix B or Appendix C are being used, two axis home switches are already included in the logic, both in the global variables declarations and in the ANALOG_DRIVES POU. If more than two axes are in use then please follow the format used in that example, not the code that follows here that is for the very simple logic provided in section 8. • The declaration area must be completed with the inputs signals for the homing switches:

I_NC_Start AT %IX2.8 : BOOL; I_home_1 AT %IX3.1 : BOOL; I_home_2 AT %IX3.2 : BOOL; I_home_3 AT %IX3.3 : BOOL; I_home_4 AT %IX3.4 : BOOL; I_home_5 AT %IX3.5 : BOOL; END_VAR

Page 111: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 111/265

• The logic program must copy the status of the home switch inputs toward the CNC (as in this

following example of logic written in structured text format):

IN_DREN05 := TRUE; (* Signals for homing *) IN_HOME01n := I_home_1; IN_HOME02n := I_home_2; IN_HOME03n := I_home_3; IN_HOME04n := I_home_4; IN_HOME05n := I_home_5;

If the home switch is a normally open device rather than a normally closed device then the PLC logic will invert the signal state for the CNC using the NOT keyword (or a Negate of the contact when the logic is in ladder diagram format). The expectation for a normally closed device is conveyed by the little ‘n’ at the end of the variable indicating negative logic for the state.

When starting up the homing cycle, it is strongly recommended that only one axis be set for mandatory homing (refer chapter 10.4.1). It is easier to work with one axis at a time then to try to do all of them simultaneously. After each has homed satisfactorily, change the machine parameter AxisSequence for the desired homing sequence. If an axis or spindle has an absolute encoder, the feedback system must be referenced one time after configuration. This initial reference cycle will be handled differently for an analog or SERCOS drive (for a SERCOS drive, see the appropriate parameters in 6.3.4) and it does not involve the homing parameters or homing PLC logic in any way.

The homing procedure in the CNC is also called the reference point cycle or the homing cycle. To request the CNC perform its homing cycle, the control must be in a reset condition (i.e., not in emergency stop) and in the Manual operating mode. The homing cycle begins when the operator presses the Cycle Start push button. A ‘Cycle Start’ in Manual mode is assumed to be a request a homing cycle whereas a ‘Cycle Start’ in Automatic mode is assumed to be a request to run a part program. Consult the PLC Interface Manual for information about the IN_HOMING signals to the CNC for the axis home input switches via the PLC.

Page 112: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 112/265

10.2 Reference sequence

10.2.1 Axis travels to the home position

Figure 24: Homing: Axis Moves To Home Limit Switch

Each axis travels to its home position limit switch. This is often in the positive direction, away from the part. 10.2.2 Leaving the home position limit switch

Figure 25: Homing: Axis Moves Off Home Limit Switch

Each axis moves away from its home limit switch. 10.2.3 Re-approaching the home position limit switch

The axis approaches the limit switch again.

Figure 26: Homing: Axis Moves On Home Limit Switch Again

Page 113: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 113/265

10.2.4 Searching for the marker signal

Figure 27: Homing: Axis Searches for Its Marker Signal

Each axis searches for its marker signal. 10.2.5 Traveling by RefPositionDistance, then setting RefPositionValue

Figure 28: Homing: Axis Moves to Reference Position

• If RefPositionDistance = 0, then the axis will not move off the marker location and the

reference cycle will be complete. • When the reference cycle is complete, the axis location is set by RefPositionValue.

• Home position limit switches should be normally closed limit switches.

Page 114: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 114/265

The CNC only identifies the marker signal from the measuring system (and thus the home position) if the signals A and B from the measuring system have a high level at the same time as the marker signal M (deviation < 100ns). If the measuring system does not comply with this timing, refer to sections 10.4.9 and 10.4.10. If during the step where the CNC is searching the marker signal (10.2.4) this marker signal is not found, the axis travels at the velocity entered in the machine parameter RefVelocityAppl, up to the limit set by the machine parameter ‘MarkerDistance’ from the AxisControl group.

10.3 Software limit switches

For axes with mandatory homing, it is possible to monitor the axis limits (travel distance). For safety reasons, it is recommended to set the respective positive and negative limits as soon as the start up of the homing cycle of an axis has been done. The positive limit of the axis concerned is set in the machine parameter SoftwareLimitPlus and the negative in the machine parameter SoftwareLimitMinus (in the AxisControl group).

Software limits are not active until referencing of all mandatory axes is complete. The SoftwareLimitPlus must be larger than the corresponding SoftwareLimitMinus. Example:

Given: • The home position has the position 2500 mm. • The axis limit switches lie on the positions +2520 mm and -20 mm. • The resolution is 0.001mm.

Result: SoftwareLimitPlus = 2518000 SoftwareLimitMinus = -18000

Figure 29: Axis Software Travel Limit Settings

These two machine parameters have their units as internal increments (usually microns).

Page 115: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 115/265

Note that if an axis is never homed then its power up position is 0 and the software travel limit values are relative to that 0 position, as if it were the machine zero position. The software travel limit values are not meaningful without homing because then (with no homing) the machine zero depends on where the axes were at the moment of the power on. 10.4 Machine parameters for homing

Unless indicated otherwise, all these machine parameters are in the ReferencePointCycle group. 10.4.1 Mandatory homing RefAxesAppl

The axes that have to move to the reference point after the CNC is powered up is determined through the machine parameter RefAxesAppl. The following table illustrates how the first eight axes are represented by their appropriate hex code. The subsequent axes follow this example (such that axis 12 would be 800h). The sum of the Hex values of all axes that shall be set for mandatory homing after power-up must be written into RefAxesAppl.

Axis no. 8 7 6 5 4 3 2 1 Hex Value 80 40 20 10 8 4 2 1

No mandatory homing: RefAxesAppl = 00 Example: Mandatory homing is requested for 1st, 2nd, 4th, and 5th axis Calculation:

axis number mandatory homing HEX value 1 yes 1 2 yes 2 3 no 0 4 yes 8 5 yes 10 6 no 0 7 no 0 8 no 0 sum 1B

Result: RefAxesAppl = 001B-hexadecimal or 21-decimal.

Page 116: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 116/265

10.4.2 Axes homing sequence AxisSequence

The sequence in which the axes must now move to the home position can be determined in the machine parameter AxisSequence. Each step in the homing cycle is defined by an index in AxisSequence. Each axis number corresponds to a Hex value (see table below). The sum of the Hex values of all the axes that shall reference in a certain cycle is the value that has to be written in the corresponding index that reflects this cycle. A value with all bits for all axes in the first word of AxisSequence (index 1) means that all axes reference at the same time. If the CNC finds an index with its content = 00, then the homing is terminated. All axes that were set up in the machine parameter RefAxesAppl as having mandatory homing must be defined in machine parameter AxisSequence. The following table illustrates how the first eight axes are represented by their appropriate hex code. The subsequent axes follow this example (such that axis 12 would be 800h).

Axis no. 8 7 6 5 4 3 2 1 Hex Value 80 40 20 10 8 4 2 1

Example: The axis sequence should be first homing the 3rd axis alone, then in a second step 1st

and 2nd axes simultaneously and in a third step the 4th axis. Calculation:

Reference Cycle Address/Hex Value 1st 3rd axis (hex value = 04) 2nd 1st and 2nd axis (hex value = 01+ 02 = 03) 3rd 4th axis (hex value = 08)

Result: AxisSequence (1) = 00000004 AxisSequence (2) = 00000003 AxisSequence (3) = 00000008 10.4.3 Homing search direction RefDirectionAppl

The direction in which the individual axes should search for the home position limit switch is determined in the machine parameter RefDirectionAppl. If the value 0 is present in this address, all axes search for the limit switch in the negative direction (default, in so far all the limit switches are from NC type). When looking at the motor from the front, a bit value of 0 indicates a CCW rotation (the default) and 1 indicates a CW rotation.

Page 117: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 117/265

If the search to the home switch has to be conducted in the positive direction, proceed as follows:

• Each axis number corresponds to a hex value (see table below).

• The sum of the hex values of all axes that shall search for the home switch in a positive direction is the value of machine parameter RefDirectionAppl.

Axis no. 8 7 6 5 4 3 2 1 Hex Value 80 40 20 10 8 4 2 1

There are many machine parameters that use an ‘internal increment’ as the dimension. The standard control uses a value of one micron (0.001mm) as the internal increment. A special control (such as one with a different number of decimal places) can use a different value for an internal increment.

For the sake of simplicity, all equations and examples assume the standard internal increment of 1 micron (.001 mm) or 1 thousandth of a degree (.001 °). If axis resolution is different than .001 mm or .001 °, then the values for these machine parameters will be different and must follow the unit value defined in this manual.

10.4.4 Homing first search velocity RefVelocity1Appl

Unit: internal increments / ms, or 1000 internal increments / sec (usually mm/sec)

The velocity with which the axes should search for the home position limit switch is entered for each axis in the corresponding index of the machine parameter RefVelocity1Appl. Equation for linear axis: RefVelocity1Appl = [ Feed rate (mm/min) ÷ 60 (sec/min) ] Example: linear axis given: manual feed rate should be 3 m / min RefVelocity1Appl = 3 × 1000 ÷ 60 = 50 mm/sec Equation for rotary axis: RefVelocity1Appl = [ Feed rate (rpm) × 360 (°/rev) ] ÷ 60 (sec/min)

Page 118: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 118/265

Example: rotary axis given: manual feed rate should be 4 rpm

RefVelocity1Appl = ( 4 × 360 ) ÷ 60 = 24 °/sec This parameter is ignored with a SERCOS axis since the homing is done by the drive; see S-41. 10.4.5 Homing second search velocity RefVelocityAppl

Unit: internal increments/ms, or 1000 internal increments / sec (usually mm/sec) After receiving the signal from the home position limit switch, the CNC searches the marker signal of the measuring system. The search velocity of the marker signal is entered for each axis in the corresponding index of the machine parameter RefVelocityAppl.

The sign of RefVelocityAppl determines the search direction.

Equation for calculating RefVelocityAppl is the same as RefVelocity1Appl. Example: Given: 1st axis and 2nd axis = 0.5 m/min searches in positive direction

3rd axis = 0.5 m/min searches in negative direction 4th rotational axis = 0.2 RPM searches in positive direction

Calculation: 1st and 2nd axis RefVelocityAppl = ( .5 × 1000 ÷ 60 ) = 8.333 mm/sec 3rd axis RefVelocityAppl = ( .5 × 1000 ÷ 60 ) = - 8.333 mm/sec 4th axis RefVelocityAppl = ( .2 × 360 ÷ 60 ) = 1.2 °/sec This parameter is ignored with a SERCOS axis since the homing is done by the drive.

Page 119: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 119/265

10.4.6 Homing travel distance RefPositionDistance

Unit: internal increments (usually microns) A travel distance can be entered for each axis in the corresponding index of the machine parameter RefPositionDistance. The CNC travels this distance immediately after detection of the marker signal. The sign defines the direction. This parameter is ignored with a SERCOS axis since the homing is done by the drive; see S-52. 10.4.7 Homing set position RefPositionValue

Unit: internal increments (usually microns) A homing set position can be entered for each axis in the corresponding index of the machine parameter RefPositionValue. This is the axis position that will be displayed after completion of the homing cycle. This parameter is ignored with a SERCOS axis since the homing is done by the drive; see S-150. 10.4.8 Distance between two marker pulses: MarkerDistance

Unit: axis increments (usually microns) This machine parameter defines the maximum distance between two marker pulses of the encoder, as counted in measuring system pulses. The value has to be entered at the corresponding index of the machine parameter MarkerDistance in the AxisControl group. It is mainly used to determine the maximum search distance during marker search in the homing cycle. The error message 352 “Marker error during home position cycle” appears:

• If the content of this parameter is wrong. • If the measuring system is defective, then the CNC could

not find a marker pulse within this distance during the search. The maximum search path emerges from the following two formulas:

• Standard Measuring Systems: Search path = 2 × MarkerDistance × MachToInternalIncr

• Coded Distance Measuring Systems: Search path = 4 × MarkerDistance × MachToInternalIncr

where MarkerDistance is in μm and MachToInternalIncr is in μm / count.

Equation for linear axis with standard encoder:

Page 120: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 120/265

MarkerDistance = [ (pitch (mm/rev) × 1000 (μm/mm) × Gear ratio) ÷ (MachToInternalIncr × 2 ) ] Example linear axis given: encoder ratio 1/2 given: lead screw pitch 20mm given: MachToInternalIncr 1

MarkerDistance = (20 × 1000 × ½) ÷ (2 ×1) = 5000 μm Equation for a rotary axis with standard encoder: MarkerDistance = [ (360° × 1000 (μ°/°) × Gear ratio) ÷ (MachToInternalIncr × 2 ) ] Example: rotary axis given: encoder ratio 25/64 given: rotary load 360° given: MachToInternalIncr 3.515625

MarkerDistance = (360 × 1000 × 25/64) ÷ (3.515625 × 2) = 19664 As previously described in 10.2.5, if the homing is done to the switch and the marker is not found, then this distance defines how far the axis will move after it has homed to the switch before defining an error. 10.4.9 Invalid Marker Pulse: BadMarkerSignal

If the marker is not being found during an analog axis homing cycle, the following machine parameters can be set to resolve this situation (refer note in chapter 10.2.5).

Before modifying these parameters, verify that the machine parameter ‘MarkerDistance’ is correct (refer to chapter 10.4.8).

Encoders connected to 4ENC4A MIO or 4AXLX BIO If the marker is not being found correctly on encoders connected to the 4ENC4A MIO or 4AXLX BIO, then use the machine parameter BadMarkerSignal. Each bit is associated with an axis. When the marker signal is present but is not synchronized to the A and B signal, that means it is a “bad marker signal” (where “bad” just means not synchronized; “bad” does NOT mean missing; there must be a marker pulse for homing), then the corresponding bit for the axis is set, otherwise it is 0. Example: BadMarkerSignal = 0010H

Page 121: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 121/265

With a “bad marker signal” for the 5th axis. All other axes have a valid marker signal that is synchronized to A and B signals.

This parameter is ignored with a SERCOS axis since the homing is done by the drive.

10.4.10 Maximum marker distance error allowed: MaxIncrementError

The machine parameter MaxIncrementError defines how many measuring system pulses (after quadrupling) may exist between the measured marker distance and the configured marker distance (in MarkerDistance) without an error message being triggered.

> = 8000H: Marker check is not set up. If this monitoring is required, the correct parameter value must be entered in MarkerDistance.

Example: 3: The number of measuring system pulses between 2 markers can fluctuate around 3

counts without a marker error being triggered. Default: 8000H

This parameter is ignored with a SERCOS axis since the homing is done by the drive. 10.4.11 Reference Cycle Type: RefCycleType

The machine parameter RefCycleType defines whether each axis homing uses the standard sequence (defined previously in this section). Stepper axes can home and yet they can be supported with no encoder feedback (where the marker pulse is provided). If the bit for an axis is not set (the default value of this parameter is 0) then the normal homing cycle is performed. If the bit for a particular axis is set in RefCycleType then the homing sequence is slightly different. All of the steps and parameters described in paragraphs 10.2.1 through 10.2.5 are applied except for 10.2.4; there is no search for the marker pulse. The second detection of the home switch defines the home position when there is no marker pulse available for the axis. Note that this parameter was added in CNC version 2.2.8 so it was not available in previous versions.

Page 122: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 122/265

11 Handwheel Set-up Machine parameters allow for up to three handwheels to be configured within the system. The following parameters and the associated examples show the setup of the first handwheel. The second and third handwheels are configured in a similar manner. 11.1 Handwheel Hardware

An encoder style handwheel must have a differential output (maximum 250 lines resolution, 100 lines is fine). It usually has a reference output also. If no reference signal exists on the handwheel, the reference signal must still be connected to the CNC axis channel by wiring 5V to the “R” signal and 0V to the “R/” signal. An I/O Handwheel must be connected with two adjacent 24V input signals in the same input byte.

Note: If the MachineMate 24V handwheel is connected to the 2416LX built-in IO in the L2 or LW then a 2-Kohm pull-up resistor is required for the A and B handwheel signals (from 24V to each signal). The 2416LX built-in inputs have a different input resistance than the external 2416 MIO so the MachineMate 24V handwheel requires this assistance to get the correct ‘high’ value into the 2416LX input circuit.

11.2 Machine Parameters for Handwheel support

All of these handwheel-related machine parameters are in the Handwheel parameter group.

11.2.1 Machine Parameter: HandwheelNoAppl

• The value of HandwheelNoAppl defines the number of the connected handwheels. HandwheelNoAppl can range up to 3 handwheels.

• The following parameter names and descriptions use HandwheelNo1 but the same parameters exist for HandwheelNo2 and HandwheelNo3.

11.2.2 Machine Parameter: HandwheelNo1Axis

With HandwheelNo1Axis the first handwheel is assigned to an axis or as free (assignment as selected through the HMI). Only one defined handwheel can be free (i.e., 0); any others must have an axis assigned to them. If more than one handwheel must be free then they must be electrically switched such that the CNC and the machine parameters have only one handwheel that is free. HandwheelNo1Axis = 0 free assignment, no fixed axis HandwheelNo1Axis = 1 handwheel 1 assigned to the 1st axis HandwheelNo1Axis = 2 handwheel 1 assigned to the 2nd axis HandwheelNo1Axis = 32 handwheel 1 assigned to the 32nd axis If a handwheel is assigned to a specific axis then the axis will follow the handwheel when in manual mode and the axis is ready (CNC is not in emergency stop, axis servo drive is ready, axis position

Page 123: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 123/265

loop is closed, etc.), even if the operator interface is not in the Handwheel mode. The distance moved for each handwheel count is defined by HandwheelNo1Factor. If more than one factor is desired then the PLC interface allows other factors to be defined. If the handwheel operation of its assigned axis is not desired under all Manual mode conditions then the PLC will have to manage those conditions using the IN_HDWHEEL interface signals. For the handwheel to move its assigned axis in Automatic mode, the correct M-code must be activated in the program to enable that motion by the handwheel. 11.2.3 Machine Parameter: HandwheelNo1Factor

HandwheelNo1Factor converts the counts from the handwheel to microns in axis movement. The incremental distance to move for each axis is established by selecting the soft key for the axis again with the operator interface. This parameter value is 1.0 when the default configuration is metric or when all handwheel activities are through the CNC Manual mode – Handwheel soft key (when G70/inch or G71/metric does not matter). If the handwheel is always driven by the PLC or if the handwheel is permanently assigned to a linear axis and the default mode is always G70/inch then this value is 2.54 for correct scaling. With an encoder handwheel that has too many counts per revolution an additional factor must be considered here for this parameter value. For example, if the encoder handwheel has 100 pulses per revolution for a 100-position handwheel then the encoder actually provides 400 counts per turn (due to the quadrature encoding) so a factor of 0.25 is required for this value so that the CNC will move correctly for the handwheel’s rotary position. If the 100 pulses/rev encoder handwheel is always driven by the PLC and the default mode is always in G70/inch then this value is 0.635 for correct scaling. Handwheels need to have their actual counts reconciled with the dial position. Note that if the handwheel polarity is not correct (e.g., a positive turn of the handwheel causes the associated axis to move in the negative direction) then changing the sign of the HandwheelNo1Factor value will change the handwheel polarity. The other option is changing the wires to the handwheel by swapping the A and B phases. Note that if the PLC is handling the manual handwheel jogging, rather than the operator soft keys, then there is a set of machine parameters to define the incremental distance. In the machine group PLCFunctions, the ExtModeHandwheelFeed has four values, one for each PLC stage selection. These values will have default settings of 1, 5, 10, and 100 so that the resultant motion (in inch) would be 0.0001, 0.0005, 0.001 and 0.01. The rate for this motion requested by the PLC is specified in the ExtModeManFeed machine parameter (in the same parameter group), which also has four values. ExtModeManFeed also specifies the feed rate for manual axis jogging via the PLC (see a description for IN_EXTMODE in the PLC Programming Manual). The ExtModeManFeed values are specified as a percentage of the manual jogging speed (SAxisFeedAppl), where a value of 1 is 0.01%, 100 is 1% and 10000 is 100%.

Page 124: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 124/265

11.2.4 Machine Parameter: HandwheelNo1InputChannel

HandwheelNo1InputChannel specifies the hardware channel for the input of the handwheel signals. For an I/O Handwheel, HandwheelNo1InputChannel establishes the input Byte of this handwheel (see I/O configuration). HandwheelNo1InputChannel establishes the axis channel number on the analog CNC engine for an encoder handwheel. The drive configuration file does not contain a letter for an encoder handwheel connection; only the servo (axis or spindle) letters are shown in that file.

Example 1 I/O-Handwheel: The first I/O-Handwheel is connected with the 5th I/O-Byte of the I/O modules. Set: HandwheelNo1InputChannel = 5

Example 2 Encoder Handwheel: The first Encoder-Handwheel is connected with the 7th Axis channel of the analog CNC engine. The axis channel numbers here range from 0 to 7 (and up) to represent the axis connections 1 to 8 (and up). Set: HandwheelNo1InputChannel = 6

11.2.5 Machine Parameter: HandwheelNo1InputType

HandwheelNo1InputType specifies the Handwheel type: For an I/O Handwheel set HandwheelNo1InputType = 1. For an Encoder Handwheel set HandwheelNo1InputType = 0.

An I/O Handwheel could be used for the PCI-Sercos board or the analog board. However an encoder type handwheel cannot be used on a Sercos CNC engine. An encoder handwheel can only be connected to an analog axis channel.

For an I/O Handwheel, the parameters HandwheelNo1InputChannel and HandwheelNo1InputBitNo must be set up. For an encoder type handwheel, only the parameter HandwheelNo1InputChannel must be set up because there is no associated bit. 11.2.6 Machine Parameter: HandwheelNo1InputBitNo

HandwheelNo1InputBitNo establishes the number of the first bit of the I/O Handwheel. The InputBitNo means the bit number in the I/O byte specified in HandwheelNo1InputChannel. An I/O Handwheel must be connected with two adjacent input signals, the specified bit and the following bit on the I/O hardware at the byte given in HandwheelNo1InputChannel. Therefore HandwheelNo1InputBitNo must be < 8. The HandwheelNo1InputBitNo is not used for an encoder type handwheel.

Page 125: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 125/265

Example: The first I/O-Handwheel is connected with the 7th and 8th bit of the 5th I/O Byte of the I/O modules. Set: HandwheelNo1InputChannel = 5 HandwheelNo1InputBitNo = 7

Default: HandwheelNo1InputBitNo = 1

11.2.7 Machine Parameter: HandwheelNo1Station

HandwheelNo1Station establishes the station number that is associated with the No 1 Handwheel. Typically only 1 station exists on the CNC, so this parameter can be set to 0. However, if the CNC has multiple stations then this parameter must be set to identify the station associated with the handwheel when HandwheelNo1Axis is not zero.

Page 126: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 126/265

12 Spindle Setup 12.1 Drive Configuration

The CNC Drive Configuration file was described in section 3. Along with the axes, the spindle(s) must be declared in the file MMDriveCfg.ini when connected to the 4ENC4A or 4AXLX for an analog drive or if it is a SERCOS drive. The letter ‘S’ is reserved for spindles. CNC can support up to six distinct spindles in one station.

12.2 Spindle Output Channel

12.2.1 Machine Parameter: SpindleOutputAppl

SpindleOutputAppl defines the location for the output of each spindle.

12.2.1.1 Output via S axis channel

The S axis channels are defined in the drive configuration file. The CNC assigns the first spindle group to the first S axis channel, the second spindle group to the second S axis channel, etc. The low byte defines which group the spindle belongs to.

High-Byte: = 0 Low-Byte: = 0 group 1 = 1 group 2 = 2 group 3 = 3 group 4 = 4 group 5 = 5 group 6

12.2.1.2 Output via NC switch-over spindle/rotary axis channel

For output via NC switch-over spindle axes the option Switch-over Spindle/Rotational axis is necessary. High-Byte: = 1FH Low-Byte: = 0 output via 1st axis channel of the set up axes = 1 output via 2nd axis channel ........ = 2 output via 3rd axis channel ........ = 3 output via 4th axis channel ........ = 4 output via 5th axis channel ........ = 5 output via 6th axis channel ........

Page 127: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 127/265

12.2.1.3 Output via D/A component (a spindle without feedback)

High-Byte: = 2FH Low-Byte: = Byte number of the D/A-component

(see I/O configuration, section 2.4)

Spindles with feedback must precede spindles without feedback in the drive configuration. Spindles with output via axis channels (i.e., 4ENC4A or 4AXLX or SERCOS) must precede spindles with output via a D/A component. Spindles using the same output channel must be listed in series. There can be no gaps or spindles with another output channel located between spindles using the same output channel.

Example: 5 spindles in three groups: Main spindle via the first free S axis channel Spindles 2-4 via the second S axis channel Spindle 5 via D/A-component, Byte No 4 SpindleOutputAppl(1) = 0H, main spindle SpindleOutputAppl(2) = 1H, spindle 2 SpindleOutputAppl(3) = 1H, spindle 3 SpindleOutputAppl(4) = 1H, spindle 4 SpindleOutputAppl(5) = 2F04H, spindle 5

12.2.2 Spindle BCD Number

SpindleBCDNo defines the set of three M-codes that control a particular spindle. The number specified in this parameter defines the first M-code in the set, for the clockwise rotation. The next M-code is assumed to be the counter-clockwise rotation. The next M-code is assumed to be the spindle stop command. As an example, with a SpindleBCDNo value of 3 (the usual value) this M-code set is configured: M03 is for clockwise, M04 is for counter clockwise and M05 is for stop. Each spindle (of the six possible) is assigned its own set of three M-codes using this machine parameter. There is only one M19 (spindle orient) M-code. It will orient the active spindle at the time of its command in the part program. Consult the PLC Interface Manual (section 3) for information about the WRITE_SPINDLE_CODE function for the PLC to execute these spindle start and stop commands (if the PLC needs this control, rather than from the part program).

Page 128: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 128/265

Consult the NC Part Programming Manual (section 4.2) for programming information regarding spindle control.

12.3 Spindle Feedback

12.3.1 Machine Parameter: SpindleFeedbackAppl

The machine parameter SpindleFeedbackAppl in the Spindle parameter group specifies if the spindle has feedback. There is a bit for each spindle. If the first spindle has feedback, set bit 1 (l.s.b.) to 1. If the second spindle has feedback, set bit 2 to 1. No gaps are allowed. It is not allowed to set up spindle 1 and 3 with feedback and spindle 2 without feedback. Example: Spindles 1 and 2 with feedback SpindleFeedbackAppl = 3H

Note that the G95 (feedrate as inches or mm per spindle revolution) requires a spindle with feedback. The G95 will slave the path feedrate to the actual spindle feedback. 12.3.2 Machine Parameter: SpindleIncrPerRev

The resolution of each spindle with feedback is set up with SpindleIncrPerRev in the Spindle parameter group. SpindleIncrPerRev indicates the number of the feedback pulses (after quadrupling) per revolution. SpindleIncrPerRev = (Encoder counts × 4) × Gear ratio (btw spindle and encoder)

This equation only applies to spindles that will not be switchable or used for threading or tapping. MachToInternalIncr is 1.0 for the axis index for a spindle unless the spindle is sometimes run like an axis (see 12.3.3, 12.3.4). If the M19, G95 or G33 commands are never used then the spindle will operate only in a velocity mode, never like an axis.

If the spindle is switchable to a rotary axis or if the spindle will be used for G95, M19, threading or tapping then: SpindleIncrPerRev = 360000

Page 129: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 129/265

Spindles with feedback that will be switchable to a rotary axis or used for G95, threading or tapping must have the correct parameters set as if the spindle is a rotary axis. These parameters are in the AxisControl group. See the appropriate section in this manual for the axis setup (analog or Sercos).

If MachToInternalIncr is not 1.0 for the axis index for the spindle due to the MachIncrementsPerRev calculation (see 12.3.4) then SpindleIncrPerRev must be 360000.

12.3.3 Machine Parameter: G33SpindleControlAppl

The machine parameter G33SpindleControlAppl in the Spindle parameter group determines whether a Spindle is switched to positioning-control during active thread cutting or not.

During thread cutting the spindle and axis operate in a master/slave mode if G33SpindleControlAppl equals 0. If G33SpindleControlAppl equals 1, then the spindle is switched to positioning mode and the setup described below must be followed.

Bit 1 = 0 spindle 1 is not switched to positioning control mode Bit 1 = 1 spindle 1 is switched Bit 2 = 0 spindle 2 is not switched to positioning control mode Bit 2 = 1 spindle 2 is switched … Bit n = 0 spindle n is not switched to positioning control mode Bit n = 1 spindle n is switched

If the spindle is switched to position control, then some of the PLC Interface Flags and Machine Parameters must be set up appropriately.

PLC Interface Flag. The signal IN_DRONxx has to be set for the spindle (where xx designates the spindle axis number).

G33SpindleOffsetLetter allows an ASCII letter to be assigned that when programmed with the G33 code will offset the spindle start location by the degrees programmed.

Example:

G33SpindleOffsetLetter = 76 dec (004C hex) = L

N100 G33 Z-2 K.0333 L90 At the start of the G33 cycle the spindle will orient to 90° from its zero point to start the thread. If L is omitted from G33 block then the spindle will orient to its zero position at the start of the threading cycle.

Page 130: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 130/265

12.3.4 Other Machine Parameters for a Spindle

With the switching of the spindle to a position control mode from the CNC, additional machine parameters in the AxisControl parameter group that are normally set only for a round axis have to be configured for the spindle. The following parameters must be calculated in the AxisControl Group:

See the appropriate section of this manual for the calculation of the parameters. Chapter 5 for Analog. Chapter 6 for Sercos.

AxisSpeedMaxAppl = SpindleMaxSpeedAppl * 0.8 * 360.

FaktInchMetric = 1.

GainSpeedFactor = SpindleIncrPerRev * SpindleMaxSpeedMaxAppl / (KV * 1000)

InpositioningArea for the spindle is checked before the thread is made. If the value is too small, then the spindle will first position the spindle at 0 and then the part program will pause with “cycle-on”.

MachIncrementsPerRev = encoder counts per revolution

MachtoInternalIncr = IncrementsPerRev / MachIncrementsPerRev. MachToInternalIncr as to be set such that the spindle position changes to higher values when M03 is programmed. If the sign is not set correctly, then the spindle will orient at the start of the G33 cycle and then just wait (i.e., typically the spindle will just drift).

Note: To make sure of the correct signs and resolutions for a spindle’s parameters a useful startup technique is to first configure the spindle’s servo as a rotary axis (like the letter ‘C’ if that is letter is not being used for an actual axis). These various AxisControl machine parameter settings are the same as for a rotary axis (i.e., CharacterApplTab[?] index 6 is 100). After the rotary axis is checked for proper rotary behavior (like properly moving from 0 degrees to 90 degrees – both direction and position) then the drive configuration can be changed back to the letter S instead of the axis letter and the axis letter’s CharacterApplTab[?] index values 5 and 6 are changed to non-axis values. This temporary test of a spindle as an axis requires the appropriate changes to the drive configuration file (see section 3) and the letter configurations (see section 4.5).

The axis index for the spindle in the AxisControl parameter group will be after all the axes. If there is a gantry defined in the system then the slave in the gantry pair is after the defined axes and before any spindles.

Page 131: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 131/265

Be careful when doing this round axis test of a spindle while there is a positioning axis in the system. Positioning axes are assigned an axis index after the interpolating axes and before the spindles are assigned their index in the AxisControl group. If the spindle ‘servo’ is temporarily changed to be an interpolating round axis for this confirmation of its AxisControl parameters then the letter for the positioning axis must be temporarily changed to be an interpolating axis, not positioning. Otherwise this spindle’s temporary round axis will not be moved by an MDI because an interpolating axis cannot be given an axis index (i.e., the value in the CharacterApplTab[?] index 5 for an axis letter) after a positioning axis. That is an invalid order of axis letter assignments.

12.4 Spindle Speed

12.4.1 Machine Parameter: SpindleMaxSpeedAppl

Unit: Motor RPM The machine parameter SpindleMaxSpeedAppl in the Spindle parameter group specifies the maximum number of revolutions/minute (rpm) is set up for each spindle. A voltage of 10V is output when programming this number of rpm. Default: 4000.0

12.4.2 Machine Parameter: SpindleSlopeTime

Unit: milliseconds The machine parameter SpindleSlopeTime in the Spindle parameter group defines the spindle acceleration time, in milliseconds. If the parameter is 0 then the spindle will accelerate without a ramp, which is rarely the practical value for a spindle.

12.4.3 Machine Parameter: SpindleMaxRPMAppl, SpindleMinRPMAppl

Unit: Programmed spindle RPM (not motor RPM) The machine parameters SpindleMaxRPMAppl and SpindleMinRPMAppl in the Spindle parameter group can define the programming range for the spindle speed (i.e., the range of S when programming spindle commands). If the maximum parameter is 0 then the upper limit is the defined maximum spindle speed in other parameters (i.e., SpindleMaxSpeedAppl with no spindle gear box; with a spindle gear box each range has its own defined maximum speed in MaxSpindleSpeed). If the minimum parameter is 0 then the lower limit is 1 (S0 is not allowed).

Page 132: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 132/265

12.5 Spindle Output Polarity

12.5.1 Machine Parameter: SpindleReversalAppl

The machine parameter SpindleReversalAppl in the Spindle parameter group determines whether the Spindle output is positive or negative in the case of clockwise rotating spindle (M03). Bit 1 0 Spindle 1 output is positive in the case of M03 1 Spindle 1 output is negative in the case of M03 Bit 2 0 Spindle 2 output is positive in the case of M03 1 Spindle 2 output is negative in the case of M03 Bit n 0 Spindle n output is positive in the case of M03 1 Spindle n output is negative in the case of M03

This parameter is intended only to reverse the output polarity of the spindle voltage to obtain the correct direction of rotation.

12.6 Spindle Orientation

12.6.1 Machine Parameter: M19Appl

The machine parameter M19Appl in the Spindle parameter group specifies the M-code for the spindle orientation operation. There is only one M19 M-code even though there can be up to 6 spindles per CNC station. The M19 will orient the active spindle. Requirement: The spindle must have feedback to orient. See SpindleFeedbackAppl above. If the spindle orientation is done mechanically with PLC logic then this machine parameter is not set to that M-code.

Examples:

M19Appl = 0: Spindle Orientation not allowed. M19Appl = 13h (19d): M19 orients the active spindle.

12.6.2 Machine Parameter: SpindleM19Offset

Unit: internal increments The machine parameter SpindleM19Offset in the Spindle parameter group defines the offset for orienting the spindle. The value is added to the programmed value during the orientation. Example: Given: Spindle resolution = 360.000 degrees or 360000 internal increments Offset needed for 90 degrees

Page 133: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 133/265

SpindleM19Offset = 90000 With this parameter value, the active spindle will orient itself to 90 degrees.

Default: 0

Note: Consult the PLC Interface Manual (section 3) for information about the WRITE_SPINDLE_ORIENTATION function for the PLC to execute the spindle orientation command.

12.6.3 Machine Parameter: SpindleStopRPM

Unit: Motor RPM The machine parameter SpindleStopRPM in the Spindle parameter group defines the spindle speed when orienting to the correct position. The value is in RPM. This parameter only applies to an analog servo. The Sercos spindle uses parameter S-222 for the orientation speed.

Page 134: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 134/265

13 Set up of Other Axis Configuration Parameters There are a number of other machine parameters that were not configured during the initial configuration procedure. After the axes can jog and home acceptably, these parameters enable further ‘fine’ adjustments to the CNC system. 13.1 Determining the Maximum Path Velocity

This machine parameter G00SpeedAppl in the AxisControl group determines the maximum path velocity of the machine. If mechanically different axes are set up, it directs this value according to the slowest axis. Unit: 1000 internal increments/min (usually mm/min)

Calculation:

The maximum path velocity is entered in the machine parameter G00SpeedAppl. The content of this address is calculated according to the following equations:

• For systems with 2 axes:

G00SpeedAppl = AxisSpeedMaxAppl × 1.414

• For systems with more than 2 axes: G00SpeedAppl = AxisSpeedMaxAppl × 1.732

In these equations the value of the slowest linear axis is inserted as the content of AxisSpeedMaxAppl.

Example:

Given: Axis Rapid Traverse AxisSpeedMaxAppl 1st and 2nd axis 15 m/min. 15000 3rd axis 10 m/min. 10000 4th rotational axis 25 RPM 9000 3 decimal places

Solution: G00SpeedAppl = 10000 × 1.732 = 17320 The G00SpeedAppl value will be shown as the LIMIT in the HMI Feedrate box while in Automatic Mode. When in Manual Mode this Feedrate LIMIT value on the display will be the largest AxisSpeedMaxAppl value among the configured axes.

Page 135: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 135/265

13.2 Limit Values for Axis Ramping - AxisSlopeSpeedAppl

Unit: 1000 internal increments/min (usually mm/min) The velocity at which the axis should ramp up from standstill can be set for each axis via the machine parameter AxisSlopeSpeedAppl in the AxisControl group. Below this velocity, the CNC outputs a step function of this amount. This parameter is checked on the G33 for threading. 13.3 Standstill Lag Check

Unit: % The machine parameter StandstillLagPerCent in the AxisControl group indicates the allowed lag for each axis of the machine in the standstill mode. The value must be entered in percent of the GainSpeedFactor value.

A typical value is 5 % to 20 %. A value of “0” turns the function off. If Lag exceeds this value, the following error will be generated (481): “Lag error during standstill on axis x”.

13.4 Axis In-position window

Unit: internal increments (usually microns) The machine parameter InpositioningArea in the AxisControl group determines the tolerance as the axis approaches its destination point. With precision positioning (G73), a block change is prevented until the in-position window is reached. The CNC in-position message can be both monitored by the HMI in the operating mode INFORMATION or by the CNC-PLC signal interface. When entering the value for InpositioningArea the encoder resolution should be taken into account because the value should not be less than the distance for one encoder count. 13.5 Circle KV Element

Unit: 1/min. The machine parameter CircleKVAppl in the CircularInterpolation group determines the maximum feed rate of the machine to circles. This parameter defines the smallest KV factor of all axes that can participate in the circular interpolation.

Page 136: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 136/265

13.6 Limit circle acceleration

To avoid exceeding the maximum axis acceleration when processing circles, the value for the machine parameter CircleSpeedKVAppl in the CircularInterpolation group must be calculated according to the following formula and entered: CircleSpeedKVAppl =

For AxisSpeedMaxAppl take the largest value. For AxisSlopeTime take the smallest value. Changing of the value = change of the acceleration and the feed rate of circular interpolation.

Example:

Given: Axis Rapid Traverse AxisSpeedMaxAppl 1st and 2nd axis 15 m/min. 15000 mm/min 3rd axis 10 m/min. 10000 mm/min 4th axis 25 RPM 9000 degrees/min

Solution: CircleSpeedKVAppl = = = 60

Sometimes another machine parameter is involved when the CNC slows down in very small radius arcs or in corners when G09 is active (G09 will try to maintain the path velocity through consecutive blocks). If the machine parameter CornerAccelerationG09 (in the Lookahead parameter group) is less than 1.0 (this value is a factor) then the path might slow down too much in corners or small radius arcs. This parameter is typically 1.0 or greater. 13.7 Allowed contour error of circles

Unit: internal increments (usually microns)

The velocity of circles is limited such that a programmable, admissible contour error is not exceeded. This error is defined by the machine parameter CircleContourError in the CircularInterpolation group. 13.8 Backlash compensation

Unit: internal increments (usually microns)

AxisSpeedMaxAppl (max) × 60

AxisSlopeTime (ms)

15000 × 60

250 Standard

Page 137: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 137/265

The control can compensate for the backlash that can occur on the reversal of direction. There are two machine parameters involved in this compensation and both are in the AxisErrorCompensation group. The machine parameter BacklashAppl enables the feature (with a value of 00FFh; a value of 0 disables the feature). The machine parameter BacklashValue has the compensation value to be applied for each axis (in internal increments). In CNC systems 2.2 or later, an additional machine parameter allows more tailoring of this backlash compensation feature. The parameter BacklashOptions allows: Bit 1 (LSB) – whether axis acceleration and velocity are checked after the compensation is applied Bit 2 – whether the compensation is applied only after the first axis move, so the direction of that move determines the subsequent behavior (default – compensation is applied when the axis changes from positive to negative direction) Bit 3 – whether the compensation is applied even if the axis stops (this setting is used only when BacklashTime is defined) In CNC systems 2.2 or later, an additional machine parameter allows the NC program to affect this backlash compensation feature. The parameter DisableAxisBacklash allows a bit to be set for each axis, where the setting of the axis bit indicates the backlash error compensation will switched off for that axis if G09 (Look Ahead) or G75 (Curvature) is programmed in the NC-program. With M30 or M02 or Control Reset or programming G08 (Look Ahead and Curvature off) then the backlash error compensation will be automatically switched on for all axes (depending on BacklashAppl above). 13.9 Drift compensation

An analog system can have a drift, with an analog offset among the likely causes. If the analog axis that is stopped but has an analog voltage and a non-zero LAG then the axis has drift. This LAG arises because when the axis is interpolated into position the CNC will output 0V but with drift the axis will move out of position and the CNC requires an analog voltage to stop that motion, resulting in a static LAG and voltage. The CNC has drift compensation that can attempt to overcome that analog axis behavior. The configuration of drift compensation is done with a small number of parameters, all in the AxisControl group. DriftAppl - bit coded for which axes are affected by drift compensation. A value of 1111-binary (or 15-decimal or 000F-hex) would enable it for the first four axes. DriftDelay - a value in milliseconds for each axis, to define the response for drift compensation. This is commonly 10 to 50 milliseconds but it can be larger for heavy machines. This must be > 0 for proper operation.

Page 138: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 138/265

DriftLimitAppl - a value for the maximum amount of drift in internal increments (usually microns). This must be > 0 to enable the feature. A common value is slightly larger than the maximum observed LAG when the axis is stationary (before enabling drift compensation). GainBreakFactor - this value must be change to be 1.0 (or higher) to enable this feature. The default value of 0.5 does not incorporate drift compensation. Drift compensation can interact with the axis gain. An axis with a high GainSpeedFactor (low gain) and a low DriftDelay value can be observed to have some oscillation (due to the drift comp responding faster than the gain). Increasing the DriftDelay (like from 10 to 100 or 150) in this case will typically reduce that oscillation (so that drift comp is not faster than gain). Lowering the GainSpeedFactor will also reduce that oscillation (for the same reason). Lowering the GainSpeedFactor also reduces the LAG of an axis while it is stationary - regardless of the drift feature settings. If the drive has such settings, an adjustment in the drive for any offset in the input analog voltage will also reduce the LAG of a stationary axis. If the axis behavior is such that the GainSpeedFactor must remain relatively high then this drift compensation feature might be limited as to how well it can compensate for this system offset problem. Oscillation is typically never acceptable. Note that this feature does not apply to SERCOS axes. Because the position loop is closed in the SERCOS drive if the SERCOS axis requires this type of drift compensation for its mechanical system then it must be implemented as a feature within the SERCOS drive.

13.10 G73 positioning The G73 is used in a canned cycle to direct the CNC to achieve each end point before moving to the next block. The G73 requires all axes to stop within their position tolerance bands. The G72 relaxes this tolerance. G72/G73 codes are modal. Sometimes during a control checkout, it is possible that the CNC might stop (in Cycle On) on a G73 line that is within one of the G8x drilling cycles. When the CNC stops on a G73 code, it indicates that one or more axes are not in their ‘in position’ tolerance bands. This is a machine and axis tuning problem. When the control stops on the G73 block, view the INFO page of the control. In the right-hand STATUS column, there is the list of the axes that are 'In position'. Since the control is stopped on a G73, one or more axes will not be in the 'In position' list. To prevent this problem, there are two options. 1) Increase the value in the InpositioningArea, in the AxisControl group. This widens the tolerance band for being in position. This may or may not be acceptable depending on your part tolerances. 2) Decrease the value for the machine parameter GainSpeedFactor, that is also in the AxisControl group. This value determines how 'stiff' the axis position control is. A lower value results in a 'stiffer' axis; a higher value results in a 'looser' axis. The other benefit for a 'stiffer' axis is that it will hold to the target end point closer - causing the axis to

Page 139: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 139/265

maintain its position better within the tolerance band specified by InpositioningArea. This increased stiffness may or may not be acceptable depending on the mechanical limitations of the axis involved. An axis that has too much backlash or other inefficiencies could have difficulty maintaining the tighter positioning control with those limitations. Note that the drift compensation feature is sometimes capable of compensating for a following error when an axis is stationary in an analog system (see the Drift compensation section above). To view how far an axis is out of position, enable the LAG (or following error) display using SYSTEM -> Display Functions -> LAG display (see Section 9). For each axis, the following error can be seen on the AUTO display. When the control stops on the G73 block, view the respective LAGs and compare them to the axis InpositioningArea values. If the problem axis is just a few counts off, then changing that InpositioningArea parameter will resolve the problem. For both of these parameters, the index values match the display order (e.g., if the axis letter displayed second is the axis out of position, then use the Index 2 parameter values). Typically, try lower values of the GainSpeedFactor before increasing InpositioningArea. It is possible that just a little tighter axis position control will resolve your problem without encountering any mechanical problems. If there are any mechanical vibrations or other axis positioning problems, then the GainSpeedFactor has been reduced too much. If the GainSpeedFactor value is set too low then it is possible for the CNC to expect better performance than the mechanical system is capable. As the servo lags the CNC command (i.e., the following error increases) if the analog voltage to the drive is ever expected to reach +/- 10V (the limit of the D/A output) then the CNC will declare error 64 axis servo fault. On the other hand sometimes, especially for a retrofit, just a little wider tolerance band (via a larger value in InpositioningArea) resolves these problems since there might be an axis mechanical problem in the machine. 13.11 Manual operating mode motions There are several manual operating modes for axis motion. Each mode has its own machine parameter(s) to control the accompanying axis motion.

1. Continuous jog

When the continuous jogging is requested from the operator soft keys, then the feed rate for the axis motion is controlled by the machine parameter SAxisFeedAppl, described above in 5.1.2 (for analog) or 6.1.4 (for SERCOS). When the continuous jogging request is from the PLC via the PLC interface (and the dword IN_EXTMODE), then the PLC can alter this feed rate. The machine parameter ExtModeManFeed (in the PLC Functions group) has four values, one for each feed stage specified by the PLC. For each feed stage, the percentage of the default feed rate (specified by SAxisFeedAppl) is defined where a value of 1 is 0.01%, 100 is 1% and 10000 is 100%.

Page 140: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 140/265

2. Incremental jog When the incremental jogging is requested from the operator soft keys, then the feed rate for the axis motion is controlled by the machine parameter SAxisFeedAppl, described above in 5.1.2 (for analog) or 6.1.4 (for SERCOS) and the jog increment for that axis is specified by the operator (selecting the axis again allows the operator to specify the jog increment for that axis). When the incremental jogging request is from the PLC via the PLC interface (and the dword IN_EXTMODE), then the PLC can alter this feed rate and this increment. The machine parameter ExtModeManFeed (in the PLC Functions group) has four values, one for each feed stage specified by the PLC. For each feed stage, the percentage of the default feed rate (specified by SAxisFeedAppl) is defined where a value of 1 is 0.01%, 100 is 1% and 10000 is 100%. The machine parameter ExtModeJogInkr (in the PLC Functions group) has four values, one for each feed stage specified by the PLC. For each feed stage, the jog increment is defined as the number of display units where a value of 1 is 0.001 in metric or 0.0001 in inch and 100 is 0.100 in metric or 0.0100 in inch.

3. Handwheel motion When the handwheel jogging is requested from the operator soft keys, then the feed rate for the axis motion is controlled by the machine parameter SAxisFeedAppl, described above in 5.1.2 (for analog) or 6.1.4 (for SERCOS) and the handwheel increment for that axis is specified by the operator (selecting the axis again allows the operator to specify the handwheel increment for that axis). When the handwheel motion request is from the PLC via the PLC interface (and the dword IN_EXTMODE), then the PLC can alter this feed rate and this increment. The machine parameter ExtModeManFeed (in the PLC Functions group) has four values, one for each feed stage specified by the PLC. For each feed stage, the percentage of the default feed rate (specified by SAxisFeedAppl) is defined where a value of 1 is 0.01%, 100 is 1% and 10000 is 100%. The machine parameter ExtModeHandwheelFeed (in the PLC Functions group) has four values, one for each feed stage specified by the PLC. For each feed stage, the handwheel increment is defined as the number of display units where a value of 1 is 0.001 in metric or 0.0001 in inch and 100 is 0.100 in metric or 0.0100 in inch. If the handwheel must be moved by the PLC in both inch and metric modes then the PLC logic will also require the use of CNC interface functions to handle those changing units. Note: Consult the PLC Interface Manual for information about the IN_EXTMODE signals to the CNC for the PLC to control both the operating mode of the CNC as well as the request of an axis motion in manual mode.

Page 141: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 141/265

14 Pitch Error Compensation 14.1 Introduction

Pitch Error Compensation compensates for inaccuracies in the lead screw pitch of linear axes and other mechanical errors. When the function "Pitch Error Compensation" is activated the compensation values are loaded from a specific NC program and taken into account during all movements as long as the "Pitch Error Compensation" function is active. 14.2 Activation

Proceed as follows to activate the "Pitch Error Compensation":

1. Select SETUP. 2. Enter password if required 3. Select S2: Machine Setup 4. Select S7: Pitch error comp.

If "Pitch Error Compensation" is active, the function menu item S7: Pitch error comp appears in reverse colors. Select SETUP, then S7: Pitch error comp once more to deactivate the "Pitch Error Compensation" function.

Function menu item S7: Pitch error comp will now appear in black lettering on a white background.

The compensation points and error values in program P999999 must be entered as metric values.

Once pitch error compensation is activated, the proper compensation will occur regardless of the programmed mode (inch or metric). The code G71 (for units in mm) cannot appear in P999999.

To change a value in the compensation table, the feature must be disabled (selecting the Pitch error comp’s S7 soft key again will disable it; the soft key will be shown not highlighted), the table is updated as needed in CNC memory and then the Pitch error comp’s S7 soft key is selected again (see the 4-step procedure above) for the CNC to read the file again and apply the updated compensation data. Usually, since the compensation file is kept in a disk folder, the procedure on updating the table in CNC memory includes these steps in the Data mode (after the disabling and before the enabling of the feature): update the contents of the file on disk, delete P999999 in CNC memory (to replace it), and copy/paste the comp file to CNC. If the control’s default is G70/inch not G71/mm then the procedure for activation requires another step. To enable the compensation (i.e., activating the S7 soft key in the procedure above) the control must be in G71 mode at that moment. Therefore an MDI activation of G71 is required to put the control in that mode if it is in G70 by default. If this G71 is not done before the S7 activation then the compensation data is read as inches if G70 is modal, not as mm. When the control is restarted, upon start up with S7 already activated, the compensation data is always read as mm so any testing done

Page 142: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 142/265

with inch values in the compensation table is meaningless relative to how the compensation data must be used later.

14.3 Program Format

The compensation values, which are derived from a measured error curve, must be entered into a special program with program number 999999. This P999999 must be saved in CNC memory. The CNC will read its contents only when stored there. If the original data is an external data file then after any changes are made to the file contents that new file must be loaded into CNC memory for the new compensation data to be activated. The following format must be observed:

% P999999 N... G92 X... Y... ... N... X... I... N... X... I... N... X... I... ... N... Y... I... N... Y... I... N... Y... I... ... ... N... M30

In the first NC block of the program an offset value for each axis can be entered after G92. If an offset block exists, it must be the first block. Therefore, the first block cannot be just a comment (description) block if the G92 block is required, which must be the first block.

Example:

N10 G92 X0.05 Y-0.01

In this example an offset value of +0.05 mm is entered for the X-axis and an offset value of -0.01 mm is entered for the Y axis. These offset values affect subsequently programmed axis positions. 0.05 mm is added to all subsequently programmed X... axis positions.

This (optional) first NC block is followed by a block consisting of compensation values for each axis whose pitch error is to be compensated by the "Pitch Error Compensation" function. The NC blocks contain the axis position following the letter of the respective axis and additionally the compensation value of this axis following the address letter I. The compensation value specifies the difference between actual axis position and demand axis position:

Compensation value = Actual position - demand position

The letter ‘I’ represents the compensation value for the particular axis position. The same letter ‘I’ is used for all axes (all compensation values are in millimeters).

Page 143: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 143/265

Example:

N100 X-1.5 I0.005

In this example, an offset value of 0.005 mm is entered for axis position -1.5 of the X-axis, so that when the X-axis traverses to position -1.5mm the actual axis position is -1.495mm. The compensation value is equal to 0.005 mm.

The blocks have to follow each other according to the order of axes displayed in the axis window. The NC blocks of a block must follow each other in ascending order of axis positions (from -to +); however, the axis positions need not be equidistant. If the rules for the order of axes or the ascending order of axis positions are not followed then an error message 223 results.

NC program 999999 can contain comments. However, the first block cannot be comment block if the offset (G92) feature is used. Apart from the block number the last NC block may only contain instruction M30. Comments introduced by (MSG, etc.) or (*MSG, etc.), however, are not displayed in the status line as usual.

14.4 Example of compensations including the program

The following values of the error table for the X-axis have been measured (in mm): Axis Position Compensation Traversed to Measured Value -7.750 -7.750 0.000 -6.000 -5.992 0.008 -5.000 -4.986 0.014 -4.000 -3.985 0.015 -3.000 -2.987 0.013 -2.000 -1.995 0.005 -1.500 -1.497 0.003 -0.750 -0.735 0.015 0.000 0.010 0.010 1.000 1.008 0.008 5.000 4.993 -0.007 6.700 6.707 0.007

This corresponds to the following error curve (with the horizontal axis in millimeters and the vertical axis in microns):

Page 144: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 144/265

Figure 30: Pitch Error Compensation Value, Error Curve and Axis Position

If you want to compensate the pitch error of the X-axis only, create the following program 999999:

% P999999 N1 (LEAD SCREW COMPENSATION – METRIC DATA) N10 X-7.75 I0 N20 X-6 I0.008 N30 X-5 I0.014 N40 X-4 I0.015 N50 X-3 I0.013 N60 X-2 I0.005 N70 X-1.5 I0.003 N80 X-0.75 I0.015 N90 X0 I0.01 N100 X1 I0.008 N110 X5 I-0.007 N120 X6.7 I0.007 N130 M30

Page 145: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 145/265

14.5 Additional Information

Axis positions that are smaller than the smallest axis position occurring in program 999999 are assigned the compensation value of the smallest occurring axis position. Axis positions that are larger than the largest axis position occurring in program 999999 are assigned the compensation value of the largest occurring axis position. The error curve entered via program 999999 is automatically interpolated between points. If the compensation values lie on a straight line, it is sufficient to enter two points of this straight line. Program 999999 must exist in the program storage when the "Pitch Error Compensation" function is activated, otherwise an error message will be displayed. From this program an internal compensation table is created that will remain stored even with the power off, until the "Pitch Error Compensation" function is deactivated. For this reason program 999999 can be stored on the hard disk or floppy disk after the "Pitch Error Compensation" function is activated. You can see from the representation of the function menu item S7: Pitch error comp of SETUP functions whether the "Pitch Error Compensation" function is active. If the S7: Pitch error comp soft key appears in reverse colors, the "Pitch Error Compensation" function is active. A check-sum is calculated on the internal compensation table that is tested during the initial state. The "Pitch Error Compensation" function cannot be activated while an NC program is being executed. There are two machine parameters involved in the processing of the pitch error compensations. In the AxisErrorCompensation parameter group, PitchErrorMaxComp defines the maximum compensation to be allowed in the list and PitchErrorMaxDeltaComp defines the maximum difference to be allowed between consecutive values in the list. These two parameters are provided to detect ‘bad’ data values, by defining these criteria. If the required compensation values are larger than the default thresholds then increase these values accordingly.

Page 146: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 146/265

15 ART 15.1 Advanced Regulation Technology

The goal of ART is to eliminate path inaccuracies that result from the lag of the axes. As a result of the programming of ART, the axes will follow exactly the programmed path and the actual acceleration of the axes will be set to the commanded acceleration. This effect is shown in following picture: V

t

actual with ART

actual at KV = 1

Figure 31: Effect of ART

Page 147: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 147/265

In the position loop, inaccuracies will occur depending on the velocity, acceleration and changing of the acceleration. Therefore for each axis, ART needs compensation factors for

• velocity • acceleration and • changing of acceleration.

The factors listed above will be optimized automatically via an ART learning process. The ART learning process is done by a series of programs explained later in this document. Once the learning process is completed, the ART feature is activated on a per program basis with a G-code (G160). Depending on machine dynamics, the optimal zero-lag factors found by the learning process may result in a too harsh of axes motion or in worse case, oscillations of the machine. To correct for this situation, a ‘Command Filter’ exists that can be used in conjunction with ART. This feature is also activated by a G-code on a per program basis. 15.2 Activating ART and the Command Filter

ART is activated by programming G160 along with the axes that require ART. (This cannot be done in MDI mode)

N.. ...

N.. G160 X1 Y1 Z1

N.. ...

In the above case, ART will be active for axes X, Y, Z in the next axes motion block. ART is deactivated with G160 with no axes indicated. (This can be done in MDI mode)

N.. G160 (* with no axis programmed *)

ART will be deactivated for all axes with M30 or with CRTL RESET as well.

Page 148: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 148/265

The command filter will be activated by programming:

N.. G165 Fx With G165 the filter for all NC-axes will be activated, not only for the axes involved in ART. The address F is the desired frequency limit for the command filter. The deactivation of the command filter is done by the G-code G166.

N.. G166

The filter will be deactivated by CRTL RESET or at the end of program as well.

15.3 Summary of ART G-codes

G160 - Activate/Deactivate ART G161 – ART Learning Function for Velocity Parameters “On” G162 – ART Learning Function “Off” G163 – ART Learning Function for Acceleration Parameters “On” G164 – ART Learning Function for Acceleration Changes “On” The following two G-codes are related to the setup of ART: G165 – Command Path Filter “On” G166 – Command Path Filter “Off”

Only one G-code that activates learning can be active at a time. If G161, G163, or G164 is active, programming one of the other learning codes will result in an error message. Another learning function can only be activated after the other code has been deactivated with G162.

15.4 Setting up ART

Before ART can be used in a part program, the following setup procedure has to occur.

The setup-process must be done in the same order as it is described in this document. The success of each operation strongly depends on the preceding step.

Page 149: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 149/265

15.5 General Machine Setup

First, specify the output voltage at rapid traverse. All velocities set in machine parameter AxisSpeedMaxAppl have to apply to an output voltage of 8V (standard). If this is not the case, the machine parameter SVaxisMaxApplVolt (typically 8.000) has to be changed such that SVaxisMaxApplVolt is the output-voltage at which AxisSpeedMaxAppl occurs. Both of these parameters are in the AxisControl group.

Drives with the digital interface such as Sercos do not require the above setup.

Drift compensation:

Before the compensation factors of ART can be learned, one must ensure that there is no drift offset active for the axes. The output value, visible in the Lag – display, must be near to zero, when there is no movement of the axes.

If not, drift-compensation should be activated for those axes that have a drift-offset.

This step does not pertain to drives with the digital interface, such as Sercos.

KV-factor depends on direction:

Before the compensation factors of ART can be set, it is necessary that the KV-factors per axis be set equal in the "+" and "-" direction. This is possible with the machine parameter in the AxisControl group:

GainBreakFactorNeg.

Page 150: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 150/265

Drives with the digital interface, such as Sercos, will always have a KV-factor that is independent of the direction.

15.6 Optimization of the speed factors

All axes that will use ART have to be optimized for speed factors. Below is a sample program that can be used to do this optimization.

P000100

N1 (MSG,ART VELOCITY TUNING)

N5 G09 (* Look-Ahead *)

N10 G70

N20 G90

N30 G01F500

N35 G160 X1 Y1 Z1 (* activation of ART *)

N40 G161 (* switch on the learning function *)

N50 X100 Y100 Z100 (* set to machine limits *)

N60 X-100 Y-100 Z-100

N70 X100 Y100 Z100

N80 G162 (* switch off the learning function *)

N210 M30

In the above example, zero-lag cutting is required for X, Y and Z. Thus ART is activated with G160 X1 Y1 Z1 (no axis movement occurs). The programmed feedrate should be half of the maximum feedrate. If the feedrate is too low, a KV of 100 with zero following error will not be achieved and the learning process of ART will not be successful. The velocity learning function will be activated with G161. As each axis moves, the CNC will calculate the required values and automatically store them in machine parameters ZerolagCorrFactor1 and ZeroDeltaDeltaFact from the AdaptiveART group. The lag display should be monitored during this time. The lag for the moving axes will tend to smaller values until at last they oscillate around zero. The KV-display should become 100. If the lag does not tend to zero or KV does not become 100, carefully check the preceding setup steps including the axis setup. After repeating the steps, if lag still does not tend to zero, increase the learning parameters ZeroDeltaDeltaFact and ZerolagCorrFactor1. The G162 completes this phase of learning before proceeding onto the next step.

Page 151: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 151/265

After the learning process has been totally completed, if G161 if programmed again the entire learning process should be completely repeated.

15.7 Optimization of the acceleration factors

After the velocity factors have been determined, the ART-acceleration factors should be optimized in the second step. The goal of this step is to minimize lag when there is movement with constant acceleration. Therefore for this step, a learning program that moves the axes with acceleration must be run. This can be done through the multiple movements of a circle.

P000101

N1 (MSG,ART ACCELERATION TUNING)

N5 G09 (* Look-Ahead *)

N10 G01 F500

N20 G70

N30 G90

N40 G160 X1 Y1 (* activation of ART *)

N50 G163 (* switch on the learning function *)

N60 G20 I1 J2 (* definition of the plane*)

N70 Q11 L3 (* call subprogram – 3 times*)

N80 G162 (* switch off the learning function *)

N90 M30

The subprogram Q11 has following format:

N10 G2 I30 M30 (* program a circle *)

In the program example, the learning algorithm for the acceleration factors will be activated with G163 and the machine parameters will be updated to reflect the optimized values. With the definition of the plane (G20) the number of the axes for the X- or the Y-axis have to match the addresses for I and J. The lag for the X- and Y-axes should tend to zero in the display, and the KV-factor value for both axes should approach 100.

Page 152: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 152/265

If more than 2 axes require ART, the above program must be run again with the corresponding definition of the plane G20 for these other axes. If the optimization process does not work properly, that is if the lag does not move toward a minimum value, then the newly calculated values should be overwritten with the previous ones. This can be done by stepping through the programs up to the block with G163 and then interrupting it.

Because of several circumstances, for example linearity errors, the optimization process for the acceleration factors may not work. This is normal with many machines and is not caused by handling errors or software errors. In this case the setup of ART can be continued with the setting up of the command filter. The learning process for the changing of acceleration (G164) should be omitted.

15.8 Optimization of the ART-factors for changing of the acceleration

The procedure for the determination of the ART-factors for changing of the acceleration is similar to the previously described process for the optimization of the acceleration factors. The only difference is that the learning program will be changed in such a way that greater acceleration changes occur. This will be achieved through the reduction of the radius of the circle. In addition, the learning function will be activated with another G-code (G164). The learning program has the following format:

P000101

N1 (MSG,ART CHANGING ACCELERATION TUNING)

N5 G09 (* Look-Ahead *)

N10 G01 F500

N20 G70

N30 G90

N40 G160 X1 Y1 (* activation of ART *)

N50 G164 (* switch on the learning function *)

N60 G20 I1 J2 (* definition of the plane*)

N70 Q21 L3 (* call subprogram – 3 times*)

N80 G162 (* switch off the learning function *)

N90 M30

The subprogram Q21 has following format:

N10 G2 I5 M30 (* program a circle *)

Page 153: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 153/265

15.9 Command filter

If the machine is rough with ART activated, the command filter can be used to smooth the command by inserting a filter into the command before it gets transferred to the position controller. This will result in maintaining high accuracy and yet smoother positioning. Programming of G165 will activate the command filter:

N.. G165 Fx

OR

N.. G165 With G165 the filter is activated for all NC axes, not only for the axes involved in ART. With the F address, the desired frequency limit for the command filter can be given. If no F is programmed with G165, the preset value specified in machine parameter ZerolagFilterOmegaC from the AdaptiveART group will be used as the filter value. ZerolagFilterOmegaC is also used as the upper limit for the allowable value that can be programmed in the F value. If a F value greater than ZerolagFilterOmegaC is programmed, the CNC error 476 “Programmed frequency limit for commanded position filter is too great” occurs. If an F value of 0 is programmed, the CNC error 478 ”Programmed frequency limit for commanded filter position must be greater than zero” occurs. The recommended value for the frequency (ZerolagFilterOmegaC) is: F = 16.66 * KV where KV is the KV-factor for the axes without ART. The deactivation of the command filter is done by the G-code, G166, without any other instructions in the following format:

N.. G166 The filter will be deactivated by CRTL RESET or at the end of program. If the axis motion is still harsh with ART and the ‘command filter’, then the frequency can be set to a lower value, but this should only be done if really necessary. The effect of the filter is shown in the example at the end of this document. The lower the frequency value, the greater the filtering effect.

It is highly recommended that the KV – factor for all interpolating axes be the same value, therefore only one filter frequency is required for all axes. The command filter can be activated by itself without activating ART.

Page 154: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 154/265

15.10 Reduction of the KV-factor of ART

Another possibility to prevent the axes from ‘harsh motion’ when ART is active is to allow for some lag in the system. The consequence of doing this is that the lag of the corresponding axis will not be compensated completely any longer. Therefore it is recommended to use this function only, when the ‘command filter’ does not lead to the desired result. (Refer to the examples at the end, paragraph 15.13.) The reduction of the zero-lag factors is programmable. The programming is carried out directly at G160 (activation of ART) with the address R in the following form:

N.. ....

N.. G160 X1 Y1 Z1 R50

N.. ....

The reduction factor is expressed in percent so that means with R50 a reduction of the zero-lag factors of 50% occurs. If no reduction factor is programmed with G160, a preset value specified in the machine parameter ZerolagReduceAppl from the AdaptiveART group will be used. How the ART acceleration factors at the reduction will be changed can be determined by a preset as well. To show the relation between the zero-lag factors and the lag/KV-factors in the following table the lag and the KV-factor for different values of the reduction factor R are listed in the following example:

The values in the table have been achieved with following program:

R lag KV 100 0.006 >100 97 0.041 95.0 95 0.065 63.0 90 0.120 33.5 80 0.232 17.2 70 0.343 11.6 60 0.455 8.8 50 0.565 7.1 40 0.680 5.9 30 0.790 5.1 20 0.903 4.4 10 1.015 3.9 no ART 1.125 3.6

Page 155: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 155/265

N10 G160 X1 Rx

N20 X200 F4000

N30 X0

N40 M30 L8

The Positioning Loop Time was 1 ms and the Interpolation Loop Time was 3 ms.

15.11 Saving Optimized ART Values

The optimized ART values are save internally in machine parameters. These values should be output from the control and saved as the current machine parameter file.

15.12 Machine Parameters

AdaptiveART Group • ZerolagAccAppl8 - Automatically updated after the G163 and G164 tuning process • ZerolagCorrAcc - Typically use default • ZerolagCorrFactor3 - Typically use default • ZerolagDeltaDeltaAppl - Learning parameter – typically use default • ZerolagFactor3Appl - Typically use default • ZerolagFactorData - Automatically updated after G161 tuning process • ZerolagFilterOmegaC - Set based on machine setup • ZerolagReduceAppl - Set based on machine setup

AxisControl Group (these are explained earlier in this manual) AxisSpeedMaxAppl GainBreakFactorNeg SVaxisMaxApplVolt 15.13 ART Examples

Note: In the following Logic Analyzer displays, SactMachinePos = Actual position and SMachinePos = Commanded Position.

G165 is command filter active in figure 37. Note that lag is introduced into the system but this does not affect positioning to the command location The last ART example is with reduction programmed (G160 Y1 R50). Note that commanded position is somewhat affected.

Page 156: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 156/265

Figure 32: ART example: axis motion with no ART active (KV = 1.25)

Figure 33: ART example: axis motion with ART active

Page 157: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 157/265

Figure 34: ART example: axis motion with ART active and G165

Figure 35: ART example: axis motion with ART active and reduction (G160)

Page 158: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 158/265

16 Distance Encoded Feedback System 16.1 Brief Description of the Feature

The distance encoded measuring systems permits the determination of the absolute axis position without having to move the axis to an established reference point. The axis position can be determined at any desired location within its range of travel by passing over two neighboring markers. This results in a considerable shortening of the reference point cycle. The interval between two neighboring markers is not constant and the absolute position is determined by a mathematical decoding formula based upon the interval between two neighboring markers. The distance coding measuring system is based upon these two parameters (the mathematical decoding formula and the intervals between markers). It differs from standard measuring systems in both the special software control and the special hardware (measuring systems) used. Distance encoded measuring systems use a special reference point cycle.

16.2 Reference point cycle for distance encoded measuring systems

The axis is traversed in the appropriate direction until the position of two neighboring markers has been determined. The absolute position or the offset between the absolute and internal coordinate system is computed based upon the distance between the markers. Depending on the machine parameter MeasuringSystemAppl (the high byte), the axis is either driven to an appropriate absolute position (machine parameter RefPositionValue) or it is kept at its current position. Both of these parameters are in the ReferencePointCycle group.

Example:

Measuring system: Heidenhain LS 107 C with an average marker interval of: 10 mm The machine parameter MarkerIncrements is in the ReferencePointCycle group. The difference of the marker distance between two intervals is given in machine increments: MarkerIncrements = 10.0 × 10(decimal digits) / MachToInternalIncr Measuring system: Stegmann TE 60 (2,500 lines/revolution) with an average marker interval of: 1,250 lines MarkerIncrements = 1250 × 4 = 6000

16.3 Machine Parameters

These parameters have been described earlier in this manual. MarkerDirection

Page 159: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 159/265

MarkerIncrements MarkerOffset MeasuringSystemAppl

16.4 Set Up Requirements

16.4.1 Home or reference point cams

In order to prevent an axis overrunning a limit switch, axes with distance encoded measuring systems must also have a reference point cam. The search for the marker occurs in the direction of the reference point cam. The reference point cams assume a safety function, in this instance. If they are overrun then a change in the search direction is performed. A gantry axis needs a reference point cam on both axes. The two cams must be located at the same end of the axis.

16.4.2 Interval coded rotary encoder (Stegmann TE 60)

No overrunning of the revolution index is allowed within the traverse range of the axis. The measuring system is to be installed in such a way that the revolution with index O is located on the other side of the limit switches

16.4.3 Machine parameters in the AxisControl group

These parameters have been described earlier in this manual. GainSpeedFactor – servo response MachToInternalIncr - axis feedback resolution

16.5 Adaptation to the machine

Step 1: Setup the interval coded measuring system: MeasuringSystemAppl low byte axis bit = 1 MarkerDirection low byte axis bit = 0 Step 2: Reference point cycles with immediate stop are used: MeasuringSystemAppl high byte axis bit = 1 Step 3: Run the reference point cycle, note the displayed final position. Step 4: Repeat the reference point cycle from this position. This cycle ends at another position. The change in the displayed final

position, compared to the previous final position, must have the same sign as the offset of the axis position on the machine. If this is the case, then only the zero point of the measuring system must be established. If this is not the case then the interval counting direction does not concur with the gate array

Page 160: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 160/265

counting direction. Correction: MarkerDirection Low Byte axis bit = 1 then repeat steps 3 and 4.

16.6 Adaptation with a gantry axis

Figure 36: Gantry Axis Illustration

Step 1: Search for marker 1 on the guideway axis in the applied direction if the

axis is standing on the cam. Then search in the opposite direction. Step 2: If the first marker is found then search for the second marker in the same

direction without stop. Step 3: If the second marker is found then determine the absolute axis position

based upon the interval. If the marker interval is invalid, a further search for the second marker takes place. MarkerOffset is subtracted from the measured absolute position that means that it is possible to have an offset between the measuring system belonging to the controller and that of the measuring system.

Step 4: Search for the marker on the gantry axis. If the axis is standing on the

cam then search in the opposite direction.

Step 5: If the first marker on the gantry is found then a search takes place for the second marker in the same applied direction.

Page 161: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 161/265

Step 6: If the second marker is found then the absolute position of the gantry axis is determined based upon the interval between the markers. If the interval is invalid, a further search for the second marker takes place. For the gantry axis, this absolute position can be offset using the machine parameter MarkerOffset.

If the "Initialize gantry" function is active, the measuring system for the gantry axis will be offset using the machine parameter MarkerOffset in such a way that the axes keep their current relative position to each other.

Step 7: Move to the home position. The home position always refers to the measuring system of the guideway axis. Subsequently, the gantry axis will be slowly aligned if the current position has not been correct.

Page 162: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 162/265

17 Distance Regulation 17.1 General

The function "Distance Regulation" is an option for a CNC control. The feature requires an analog input voltage (a voltage proportional to the distance).

It can be applied to most axis types, including gantry axes, but excluding positioning axes. The function may not be applied to this axis type. With polar/cylinder pattern transformation there is no distance regulation for transformed axes. Analog voltage of the distance sensor can be read using an A/D board such as either the Modular IO 4ENC4A or 4AD4DA units.

17.2 Setup distance regulation

The activation code is set up using the machine parameters DistContrMCodeOn and the deactivation code with DistContrMCodeOff. DistanceBCDNo contains the priority number of the BCD code. These machine parameters are in the DistanceControl group. Default values: DistContrMCodeOn 140 (decimal) DistContrMCodeOff 141 (decimal) DistContrBCDNo 0 The priority number 0 (ranges from 0 to 3, for the four BCDs) corresponds as standard to an M-code. Distance regulation is activated with M140 and deactivated with M141. Note: Consult the NC Part Programming Manual (section 9) for programming information about the distance regulation feature. Note: Consult the PLC Interface Manual for information about the IN_DIS_ENABLE signal to the CNC for the PLC to enable/disable the feature.

17.3 Axis assignment and axis selection

17.3.1 Without 5-axis software

The path axes involved in distance regulation must be determined using the machine parameter DistIndex. The sequence of the axes is not significant. A maximum of three axes can be simultaneously distance-regulated.

Page 163: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 163/265

DistDirection determines the direction vector of the compensating movement. The sequence of the values must be analogous to the setup sequence of axes in DistIndex. The prerequisite is a standardized vector.

Example:

DistIndex(1) : 1 (1st axis X) DistIndex(2) : 3 (3rd axis Z) DistIndex(3) : 5 (5th axis C) DistDirection(1) : 0.0 DistDirection(2) : 1.0 DistDirection(3) : 1.0 Distance regulation is only operative in the Z and C directions according to the DistDirection values. If the part function Axis selection is set up by the setup data DistGCode ≠ 0 (usually 265), programming another axis selection will activate the function Distance regulation for these axes.

Example:

DistGCode 109H (=265D) . N.. M140 N.. G265 X0.5 Y0.5 . A new axis selection is programmed. The distance regulation is now operative on axes X and Y with the new direction vector (0.71, 0.71, 0.0), which represents the 45-degree angle. The values programmed with the address letters determine the direction vector. They are internally standardized.

17.3.2 With 5-axis software

If the function Distance regulation should continue to operate as previously for 5-axis software, then DistIndex must be assigned as follows: DistIndex(1) : 1 (1st axis X) DistIndex(2) : 2 (2nd axis Y) DistIndex(3) : 3 (3rd axis Z) The direction vector is only significant if transformation is inactive: DistDirection(1) 0.0 DistDirection(2) 0.0 DistDirection(3) 1.0 Distance regulation is then operative for the first three axes (3D) of the control. For 2D the third axis may be any axis.

Page 164: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 164/265

In addition it must be considered whether programming the axis selection DistGCode is set up. If DistGCode = 0, the regulation operates in the direction of the tool when transformation and distance regulation are activated. If DistIndex is assigned differently than given above, or if by programming an axis selection DistGCode another sequence or selection of distance-regulated axes is specified, then regulation operates in the direction of the preselected direction vector (DistDirection - current direction vector) when transformation is activated. Distance regulation therefore always operates in the direction of the current direction vector independently of transformation.

17.4 Reading the analog input signal

The voltage of the measurement probe is read in from an A/D channel. The machine parameter DistContrChannel specifies the byte number of the A/D channel for the signal from the distance sensor. (See the I/O configuration – Section 2.)

17.5 Loop gain

An internal requirement is that the characteristic set using the setup data passes through the origin and is symmetric. The read-in signal is processed in the interpolation loop. The regulation scan rate is therefore determined by the interpolation loop time.

Page 165: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 165/265

17.5.1 Linear characteristic

17.5.2 Setup based on sensor characteristic

DistInkr specifies the gradient of the characteristic in the linear range. Deviation from set distance in increments

DistInkr = Voltage of sensor in Volt

The direction of the compensating movement depends on whether DistInkr is positive or negative. If a positive voltage corresponds to a set distance deviation in the negative axis direction, the compensating movement must be in the positive direction. DistInkr must therefore be set up as a positive value.

Example: 1 Volt corresponds to a deviation of 1000 increments in negative axis direction ⇒ DistInkr = +1000.0 DistLinear is used to set up the end of the linear range of the sensor characteristic.

It is assumed that the distance sensor signal is linear to the deviation from set distance within a certain range. (See figure below.)

Figure 37: Distance Regulation: Linear Characteristics

Page 166: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 166/265

Example:

The linear range ends at 4 Volt ⇒ DistLinear = 4 A setup based on the characteristic yields the following regulation behavior.

Figure 38: Distance Regulation: Linear Loop Gain

The setup data DistKVLimit must be set >= DistLinear. The existing offset is altered according to the read-in voltage Offset_new = Offset_old + <Deviation> DistMax specifies the maximum offset that can be built up. This setup data serves as a safety function. If the value is exceeded, an error message is displayed and this maximum offset is accepted. Within the linear range:

<Deviation> = (Voltage + Voltage offset) × gradient Outside the linear range:

<Deviation> = maximum voltage × gradient Gradient = DistInkr Maximum voltage = DistLinear Voltage offset = DistVoltOffset

Page 167: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 167/265

DistVoltOffset is added to the read-in voltage. This enables a part position offset and therefore setting of a set distance. The maximum alteration of the offset within a servo loop is given by DistLinear * DistInkr. This product also determines the maximum speed of the compensating movement. DistLinear must be correspondingly reduced if the maximum speed is greater than the allowable axis speeds of the path axes involved in the compensating movement.

Maximum speed × interpolation time DistLinear = DistInkr Units: Maximum speed in increments/ms Interpolation time in ms DistInkr is in increment/Volt DistLinear is in Volt

Example:

Maximum axis speed = 8 m/min Interpolation Time = 4 ms DistInkr = 100 Increments/Volt 1 Increment = 1/1000 mm

8 m/min × 4 ms × ( 1min/60000ms × 10^6inc/m) DistLinear = 100 Increment/Volt = 5.33 Volt

Determining the regulating behavior:

The regulating behavior can be considerably altered by changing the machine parameters DistInkr and DistLinear. Reducing DistInkr results in a softer regulating behavior, i.e. deviations from set position are compensated for more slowly. DistInkr must be increased to achieve a harder regulating behavior. In this case, deviations from the set position are compensated for more quickly (by building a corresponding offset). An excessively hard regulation can cause the axes to swing. In particular, correction of a deviation from the set distance leads to overshoot with respect to the set position. DistLinear must be correspondingly adapted in any case.

Page 168: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 168/265

17.5.3 Non-linear characteristic

For sensors with a non-linear characteristic, it is necessary that within a certain range the signal can be represented by two lines comprising straight line sections with constant gradients, where these gradients can be defined in setup data. The bend limit of the loop gain is set up using DistKVLimit.

Example:

DistKVLimit 3.0 DistKVFactor 0.5 DistLinear 5.0 Offset_new = Offset_old + <Deviation> DistMax specifies the maximum offset, which can be built up. This setup data serves as a safety function. If the value is exceeded, an error message is given and this maximum offset is accepted. Within the linear range the following applies: if |Voltage| <= DistKVLimit : Then <Deviation> = (Voltage + Voltage offset) × Gradient1 (as described under Linear loop gain) if |Voltage| > DistKVLimit Voltage >= 0 <Deviation> = (Voltage + Voltage offset) × Gradient2+ CurveOffset Voltage < 0 <Deviation> = (Voltage + Voltage offset) × Gradient2- CurveOffset

Outside the linear range: <Deviation> = maximum voltage × Gradient1 Gradient1 = DistInkr Gradient2 = DistInkr × DistKVFactor Maximum voltage = DistLinear Voltage offset = DistVoltOffset CurveOffset = (1 - DistKVFactor) × DistKVLimit × DistInkr DistVoltOffset is added to the read-in voltage. This enables a part position offset and thus the setting of the set distance. The regulation behavior can be affected in a similar way to that described under Linear loop gain.

Page 169: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 169/265

Corresponding setup based on the characteristic yields the regulation behavior displayed.

Figure 39: Distance Regulation: Non-linear Loop Gain

17.6 Machine Parameters

The required machine parameters (from the DistanceControl group) are: DistContrMCodeOn (M-code to enable the feature) DistContrMCodeOff (M-code to disable the feature) DistContrBCDNo (configure the BCD for the feature) DistContrChannel (configure the byte number for the A/D) DistDirection (configure the axis vector) DistGCode (G-code for the axis configuration) DistIndex (configure the axes for the feature) DistInkr (configure the A/D resolution) DistKVFactor (configure the response) DistKVLimit (configure the response) DistLinear (configure the A/D resolution) DistMax (configure the maximum following error) DistSignalByte (configure the PLC byte for the feature) DistVoltOffset (configure the sensor calibration)

Page 170: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 170/265

18 Machine Parameters for CNC features

Use the On Line Help program built into the Machine Parameter Editor for more information on these machine parameters.

Sometimes a machine parameter value will be the integer value of a letter, like 65-decimal for the letter ‘A’. For reference of such values please consult Table 1-3 in the NC Programming Manual for the ASCII character set, which includes both the decimal and hexadecimal values for all 128 of the 7-bit ASCII characters.

18.1 Analog Feed Control

This feature is sometimes referred to as: Feed Influencing via an External Analog Signal. It requires an analog input signal to the CNC that represents the distance from the tool tip to the work piece.

When this feature is enabled, the feed rate is controlled by an external voltage (in the range 0-10 V). Also, the feed override remains effective. The external control voltage always interacts with the momentary state of the feed override. The controlled feed rate occurs in accordance with the equation:

F = P × ⎨ FPROG (1 + G (U – O)) ⎬ ÷ 100

P = feed override value (as percentage) FPROG = programmed feed U = external voltage G = gain factor (machine parameter AFCFactor) O = Offset (machine parameter AFCOffset)

The G and O values are configurable (by machine parameters). At the same time, a hysteresis voltage is also configurable. No external control occurs below this level, so the AFC control only starts if the external voltage reaches the threshold voltage. For more information, refer to the appropriate machine parameter description.

Page 171: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 171/265

Uhyst = 0 (hysteresis voltage, machine parameter AFCVoltageLimit) P = 100 G = 0.1 O = 5

Figure 40: AFC Example 1

Uhyst = 5 G = 0.1 O = 0

Figure 41: AFC Example 2

Page 172: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 172/265

Uhyst = 5 G = 0.1 O = 5

Figure 42: AFC Example 3

The required machine parameters from the AnalogFeedControl group are: AFCFactor (configure the voltage relationship to feed rate) AFCOffset (configure the A/D offset for the input) AFCVoltageLimit (configure the limit for the A/D input)

Note: Consult the PLC Interface Manual for information about the IN_AFC_EN signal to the CNC for the PLC to enable/disable the feature.

18.2 Analog Inputs and Analog Outputs

The CNC can perform output analog voltages and input analog voltages; both have a range of 0 to +/- 10VDC. If the PLC application must perform either analog IO, the PLC code can access either directly using the byte number for the A/D channel or the D/A channel. The PLC Interface manual has an example of this PLC logic. If the part program must perform either analog IO, several machine parameters must be configured for that access. In the CycleParameter group, there are these required machine parameters: CycleAnalogIn – the byte numbers for the desired A/D channels are specified in this set (up to 8 channels are supported in the part program) CycleAnalogOut - the byte numbers for the desired D/A channels are specified in this

Page 173: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 173/265

set (up to 3 channels are supported in the part program) ReservedParameterIndex – the number of the first cycle parameter in the reserved group of 50 is specified here. The cycle parameters used for the A/D or D/A are in this block of 50. The NC Part Programming Manual, section 6 for Cycle Programming, describes these ‘reserved parameters’ (and their functional assignments) as well as the syntax for the SEL statement required for the A/D or the D/A.

18.3 Angled Wheel Transformation

The CNC can handle axes that are not perpendicular with respect to one another. This configuration is called the angled wheel transformation. The feature’s configuration is set in the group AngledWheelTransformation. AngledWheelAxesCharacter describe all linear axes letters which are used by angled wheel transformation. The feature requires at least two axes. Usually those are X, Y, Z or X, Y or X, Z. The respective ASCII codes are used (0x58 for ‘X’ axis, for example). If only two axes are used then the third axis field has to be set to zero. AngledWheelAxesAngles defines the geometry of the linear axes being set in AngledWheelAxesCharacter parameter. This parameter has three fields for each axis. These fields describe an angled wheel axis direction by three angles between this axis and the virtual normal Cartesian axes X, Y, Z. These angles are measured between 0o (angled wheel axis is in line with a virtual axis) and 180o (angled wheel axis and a virtual axis are in opposite directions). By 90o an angled wheel axis and a virtual axis are orthogonal. How these angles are measured is shown in fig. 3 for angled wheel axis X. If only two axes are defined in AngledWheelAxesCharacter then the third parameter has to be 90o. Note: if the angles are set properly then the following equation is satisfied: 1coscoscos 222 =++ γβα . If this equation is not satisfied then the CNC generates an error message. Sometimes it is enough to have only two angles to describe angled wheel axis direction. The CNC can generate automatically a third angle using two other angles if this angle is set with the value –1. But this generated angle lies always in the range from 0 to 900. Angles bigger than 900 have to be entered correctly. AngledWheelGCode defines G-code base for programming Angled-Wheel transformation. Default value is 210 or 220. This non-zero value defines a block of 6 G-codes.

Page 174: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 174/265

Figure 43: Angle definitions α, β and γ for angled wheel X Here is an example with parameters for a machine with axes as shown in the above figure. This machine has two axes X and Y. X is angled wheel axis with an angle from virtual X axis α = 30o and an angle from virtual Y axis β = 60o. If this machine was X and Z (like an angled wheel grinder) then the values are the same as below except substitute 5A-hex for the second axis letter (for Z in place of Y). AngledWheelAxesCharacter parameter for these axes is: Index Data 1 58H (ASCII code of ‘X’) 2 59H (ASCII code of ‘Y’) 3 0 (not set) AngledWheelAxesAngles has sets of values for three axes. For the first (X) axis it would have the following values:

X (physical)

X (virtual)

Y (virtual)

Z (virtual)

α

β

γ

Page 175: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 175/265

AngledWheelAxesAngles[1] Index Data

1 30 (α) 2 60 (β) 3 90 (γ, third axis is not set) With second physical axis Y the definition is the default because it is equal to virtual Y axis. AngledWheelAxesAngles[2] Index Data 1 90 (α) 2 0 (β) 3 90 (γ, third axis is not set)

In this example the third Z axis would not have to be defined. If the machine has this axis and this axis is orthogonal physically to X and Y axes, it could be defined by the following parameters (but it is not required because it is orthogonal to other axes and is not influenced by angled wheel axes): AngledWheelAxesCharacter Index Data 1 58H (ASCII code of ‘X’) 2 59H (ASCII code of ‘Y’) 3 5AH (ASCII code of ‘Z’) AngledWheelAxesAngles[3] Index Data 1 90 (α) 2 90 (β) 3 0 (γ) Note: Consult the NC Part Programming Manual (section 9) for programming information about this ‘transformation’ of the axes relationships.

Page 176: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 176/265

18.4 Automatic Spindle Gear Range Selection

The required machine parameters for this feature are in the Gearbox and Spindle groups. To configure the machine parameters for a gear box with the encoder on the spindle not on the motor: Group followed by Parameters AxisControl (the spindle index is after the axes) AxisSpeedMaxAppl = (max rpm) * (360.0 degrees/rev) * 80% FaktInchMetric = 1.0 IncrementsPerRev = 360000 MachIncrementsPerRev = encoder counts per rev MachToInternalIncr = IncrementsPerRev / MachIncrementsPerRev Gearbox GearboxMCodeOutput = usually 0 GearboxSpindleEncoder = 0 when encoder is on spindle not motor M40Appl = 40d (for M40 – M46, where M41=range 1 to M46=range 6) MaxSpindleSpeed = S values at the top of each range MinSpindleSpeed = S values at the bottom of each range ShiftingSpindleSpeed = as needed (some clutches or gear boxes need the spindle turning; others do not) SpindleSlopTime = as needed (a proportional time specified for each gear range – usually all ranges use the SpindleSlopeTime value) TransmissionRatio = the gear ratio for each gear range (number of turns at the motor for each turn at spindle, so most ratios are usually > 1) The values for MaxSpindleSpeed and MinSpindleSpeed must be non-zero for each valid gear range since a spindle speed of 0 (i.e., S0) is not valid. The values for TransmissionRatio should be 1 for unused gear ranges so that no ratio value is 0 when this feature is enabled. A 0 for any ratio with M40Appl not zero will result in error message 859. Spindle SpindleFeedbackAppl = 1 for encoder with spindle SpindleIncrPerRev = 360000 (use this value with the Gearbox feature; spindle encoder counts are in MachIncrementsPerRev with a gear box) SpindleMaxSpeedAppl = configure the top speed for spindle motor (top rpm at 10V to drive) SpindleStopRPM = the spindle motor rpm for M19 (if M19 is possible in different gear ranges then this value’s context must be considered; the PLC might have to use IN_OVERRIDE to get the desired spindle rpm based on the gear range and on the PLC’s speed percentage) Where ‘encoder counts’ is the number of encoder lines/rev * 4 with a quadrature encoder. In the case of a SERCOS spindle, the actual ‘encoder counts’ are handled

Page 177: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 177/265

within the drive. Therefore MachIncrementsPerRev is usually 3600000 (from S79, see 6.3.4), MachToInternalIncr is 0.1 (per 6.1.6) and SpindleIncrPerRev is 360000 (from S103, see 6.3.4). If the encoder is on the spindle motor, not on the spindle, then AxisSpeedMaxAppl uses the spindle motor maximum rpm and GearBoxSpindleEncoder is changed to 0FFh. Note that the MinSpindleSpeed value for each spindle gear range determines the minimum speed that the spindle will turn while in that range. If the part program has a defined gear range (e.g., M42 is explicitly in the program) and the part program then requests a spindle speed less than the minimum for that gear range, the spindle will turn at the MinSpindleSpeed value for that range. If one of the gear range M-codes is not explicitly in the part program then the values in MinSpindleSpeed and MaxSpindleSpeed are compared to the programmed spindle speed and the appropriate gear range is selected automatically. This MinSpindleSpeed value affects the M19 (spindle orient command) speed (because the spindle will turn at the higher of MinSpindleSpeed for the current range or SpindleStopRPM) as well as the PLC jogging of the spindle (the PLC’s activation of an M3 or M4 for a specific spindle speed cannot change the active gear range). This effect on the M19 speed will result in one of two actions: either the M19 is done only in low range or the MinSpindleSpeed values are set low enough to allow an M19 to succeed in any gear range (which could require explicit M41-M46 programming). Note: Consult the PLC Interface Manual for information about the IN_GEARxx signals to the CNC for the PLC to indicate the current spindle gear range (or gear box) selection. Note: Consult the NC Part Programming Manual (section 9) for programming information about the spindle gear range feature.

18.5 Diameter Programming

The required machine parameters from the DiameterProgramming group are: DiameterGCode = 190 (define the first G-code for the group of four) DiameterAppl (configure for radius or diameter) DiameterAxisChoice = 1 for X usually (configured by axis) DiameterCorr DiameterResetState (which G-code is active at start up or reset, 190 or 191)

Note: Consult the NC Part Programming Manual (section 9) for programming information about the lathe diameter-programming feature.

Page 178: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 178/265

18.6 Dresser, wheel, tool tip radius compensation (DWRC)

The required machine parameters for the DWRC feature are in the ToolCompensation group. CutComAppl is 0 to disable the DWRC feature while a non-zero value indicates it is enabled. If CutComEntryMoveType is 0 then this parameter can define the default move types. A value of 15-d or 0F-h indicates G41/G42 use entry move type A while G43/G44 use entry move type C. A value of 255-d or 0FF-h indicates G41/G42 use entry move type C while G43/G44 use entry move type A. A value of 255 is the default.

CutComEntryMoveType has four index values, one each for G41 to G44. A value of 1 indicates that G-code uses the move type A (approach is shortest path). A value of 2 indicates the move type B (approach is one-radius). A value of 3 indicates the move type C (approach uses the intersection point of the equidistant lines for start point and initial offset point).

CutComExitMoveType has four index values, one each for G41 to G44. The value of 1, 2 or 3 have the same meaning as for CutComEntryMoveType.

DresserWheelRadiusCompensationType defines the type of compensation being applied. The values for this parameter are described in the table below.

DresserWheelCompensationType Value Functionality Dresser Radius 1 The radius of the diamond dresser

is compensated Corner Radius 0 The radius of the wheel corner is

compensated Entire Wheel radius 0 The entire wheel radius is

compensated Tool tip radius 0 The tool tip radius is compensated

The HCorrAxes parameter in the AxisControl must be set correctly for the 2 axes configuration that is typical of these grinding or turning applications that use the DWRC feature. Also, for a machine with 2-axes its value must match the WPlaneIndex setting (in the CircularInterpolation group) as well (usually a value of 1 in both cases, that represents the Z-X plane).

Note: Consult the NC Part Programming Manual (section 5.3) for programming information about the DWRC feature.

Page 179: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 179/265

18.7 Electronic Gear Box

The required machine parameters from the ElectronicGearBox (EGB) group are: EGBAxialIndex (which axis has the axial motion, usually Z) EGBFollowertype (usually 1) EGBGCode (which G-code activates the hob action, usually G80) EGBHobIndex (which switchable axis is also the spindle, usually B) EGBHobShiftIndex (which axis has the hob shift motion, usually Y) EGBSynchronDifferenceError (position error for operator message) EGBSynchronDifferencePLC (position error for PLC signal) EGBTableIndex (which axis is the table, usually C)

Note: Ask MachineMate Inc. for programming information for this special feature. Since it is used only in such special machines, this is not in the manual.

18.8 Feed Influencing via Digital Measuring (Probe)

This optional feature allows more program control over a series of probe inputs, than provided by the default, single M-code (M80, specified by the machine parameter RemainingPathAppl in the ProbingLogic group) for a single probe input signal connected to the analog axis interface module (4ENC4A or 4AXLX).

There can be up to 16 probe inputs, held in two input bytes, for this feature. There is an M-code defined for the part program to react to each of these inputs.

The required machine parameters from the ProbingLogic group are: FastIOBCDAppl – configures which BCD letter is used for specifying the bit mask for the probe inputs. 1 is for letter M, 0 is to disable this feature. FastIOBCDNoByte1 – configures which BCD numbers correspond to the first byte of probe inputs. This usually has a value of 150 decimal, 0 is to disable this feature. 11 M-codes are defined by this value. With 150, M150 is same as M80, M151 indicates the probe input is from byte 1, bit 1, M152 indicates the probe input is from byte 1, bit 2, . . ., M158 indicates byte 1, bit 8, M159 indicates PLC cannot define the bit mask, M160 indicates PLC can define the bit mask (using INFMASKxx in IN_FASTIO). FastIOBCDNoByte2 – configures which BCD numbers correspond to the second byte of probe inputs. This usually has a value of 161 decimal, 0 is to disable this feature. 8 M-codes are defined by this value. M161 indicates the probe input is from byte 2, bit 1, M162 indicates the probe input is from byte 2, bit 2, and so on to M168 indicates byte 2, bit 8. FastIOBCDNoStop – configures which BCD numbers control the block processing for this feature (handling probe inputs). This usually has a value of 170 decimal, 0 is to disable this

Page 180: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 180/265

feature. Two M-codes are defined by this value. M170 indicates the usual block processing and path look ahead (like G10) while M171 disables the block pre-processing (like a G10 on every line, which enables the NC blocks to manipulate the G92 offset introduced by a probe contact). These M-codes are modal in the CNC; M170 is active after a control reset. FastIOByteAppl1 – configures the input byte number for the first byte of probe inputs. The low byte of this word is the byte number while the upper byte of this word is usually 8; 0 will disable this feature. For example, if the first byte of probe inputs is byte 25, this word would be 0819 in hex. FastIOByteAppl2 – configures the input byte number for the second byte of probe inputs. The low byte of this word is the byte number while the upper byte of this word is usually 8; 0 will disable this feature. For example, if the first byte of probe inputs is byte 26, this word would be 081A in hex. FastIOErrorAppl – configures the reaction of the CNC when waiting for a probe input. The least significant bit (bit 1) indicates whether to alert with an error message 453 when no input was received during the NC block that expected one (if bit 1 is 0 then no error is generated). The next bit (bit 2) indicates whether to stop on the block when no input was received during the NC block that expected one; a control reset is required to recover from this error (if bit 2 is 0 then no stoppage of the program results). FastIOPLCByteBitMask – configures whether the PLC can affect the probe inputs being read by the CNC. The low byte of this word indicates whether the PLC can mask the first byte of probe inputs (low byte not 0 means it can while a value of 0 means it cannot). The high byte of this word indicates whether the PLC can mask the second byte of probe inputs (low byte not 0 means it can while a value of 0 means it cannot). FastIOPLCByteIO – configures whether the PLC can provide the probe inputs to the CNC, rather than the CNC reading input bytes directly. The low byte of this word indicates whether the PLC can provide the first byte of probe inputs (low byte of 0 means it cannot so the CNC uses FastIOByteAppl1 to get the data while a value greater than 0 means the PLC provides the probe inputs via INFSIGNAL01-08). The high byte of this word indicates whether the PLC can provide the second byte of probe inputs (low byte of 0 means it cannot so the CNC uses FastIOByteAppl2 to get the data while a value greater than 0 means the PLC provides the probe inputs via INFSIGNAL09-16). FastIOPLCByteOutMask – configures whether the PLC can provide a mask for the probe inputs to the CNC. The low byte of this word indicates whether the PLC can provide a mask for the first byte of probe inputs (low byte of 0 means it cannot while a value greater than 0 means the PLC provides a mask for the probe inputs via INFMASK01-08). The high byte of this word indicates whether the PLC can provide a mask for the second byte of probe inputs (low byte of 0 means it cannot while a value greater than 0 means the PLC provides a mask for the probe inputs via INFMASK09-16).

Page 181: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 181/265

FastIOReturnGCode – configures the G-code for this feature, allowing two bytes of probe inputs. This usually has a value of 170 decimal, 0 is to disable this feature. Two G-codes are defined by this value. With 170, G170 indicates whether the axes should stop upon the probe input (an M-code will specify which of the 16 inputs is monitored) and G171 indicates whether no stop to axis motion occurs upon the probe input (i.e., next block begins immediately). FastIOReturnMaxAppl – configures the maximum axis motion allowed when a return motion is defined for a probe input (G170 or G172). This value is usually 0.1. As this return motion is done with no acc/del (a step change in position), this specified maximum axis motion should not exceed that value corresponding to the capabilities of the axes; otherwise an axis servo fault (i.e., excess following error) might result. FastIOTransferGCode – configures the G-code for this feature, allowing two bytes of probe inputs. This usually has a value of 172 decimal, 0 is to disable this feature. With 172, G172 indicates whether the axes should perform a ‘soft’ stop upon the probe input (an M-code will specify which of the 16 inputs is monitored). The ‘soft’ stop uses a typical axis deceleration rather than an immediate stop of no deceleration (as done with G170). Note: Consult the NC Part Programming Manual for more information. Section 2 has a description for M80 while section 9 offers programming information regarding the optional feature for feed influencing with probe signals.

Page 182: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 182/265

18.9 Feed Interpolation

The required machine parameters from the FWordInterpolation group are: FwordIpolAppl (configure the letter to define this transition between F values)

Note: Consult the NC Part Programming Manual (section 9) for programming information about the feed interpolation feature.

18.10 Gantry Axes

There are a few issues involved in the configuration and operation of gantry axes. A gantry axis arrangement has a leading axis and a gantry axis.

18.10.1 Referencing a gantry

The reference point cycle for the gantry axes will proceed as follows: 1. The reference point cycle of the leading axis proceeds normally until the

marker is found.

2. Both axes will be moved by RefPositionDistance (for the Gantry axis) from the marker position of the leading axis.

3. Both axes will be moved by up to two times RefPositionDistance (for the Gantry axis) in the opposite direction and at the same time the marker will be searched. This search for the marker of the Gantry axis (in steps 2 and 3) is over the range of +/- RefPositionDistance around the marker position of the leading axis.

4. When the marker of the Gantry axis has been found the machine position of

the Gantry axis will be set. The difference (if one exists) between the marker positions of the leading axis and the Gantry axis is found in RefPositionValue (for the Gantry axis).

5. The standard reference point cycle of the leading axis will continue until

completed. There are different meanings of the parameters RefPositionDistance and RefPositionValue for Gantry axes compared to other axes.

Page 183: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 183/265

18.10.2 Start up of a gantry

The relative position of the gantry axis to the leading axis is given with RefPositionValue as the distance between the marker of the gantry axis to the leading axis. The control moves the gantry axis after the completion of the reference point cycle to the given position, when for example the axis drifted away when it was switched off. The distance between the two markers, that means the relative position of the two axes, can be determined automatically. Therefore the two axes have to be moved to the correct position when the control is switched off. After starting the control, select, under SETUP, S8: Gantry initializing. This activates the initialization of the gantry axis. With the “start“ of the automatic reference point cycle, the gantry axis will be started. The control determines automatically the distance between the two markers (leading axis and gantry axis) and enters it in RefPositionValue. The control determines the relative position of the two axes and it will be set by the control.

As described above in 18.6.1, the search for the marker of the gantry axis is searched over the range of +/-RefPositionDistance from the marker position of the leading axis. For this setup, this range should be set to a value which ensures that one marker will be found, as in:

RefPositionDistance = 0.5 * distance between two markers

The start of the gantry axis initialization is done just like for homing, usually the cycle start push button, but with the special soft key selection the normal homing sequence does not occur. After this initialization has completed, another start of the homing cycle (i.e., another push of the cycle start push button) will run the usual homing sequence. This special gantry sequence will occur only after a control restart; subsequent selections of this special Setup soft key will not enable this sequence.

Because the CNC automatically updates the RefPositionValue during this gantry ‘initializing’ sequence, the machine parameters should be saved from the CNC memory to a disk file immediately after this procedure concludes. Otherwise the gantry initializing step would have to be performed again after a subsequent change to an unrelated machine parameter in the disk file that had been a copy of the parameters in CNC memory.

18.10.3 Machine Parameters for a gantry

A maximum of four Gantry axes is supported in one station. For each Gantry axis the following five machine parameters must be set. The first three are in the GantryAxes group

Page 184: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 184/265

and the last two are in the ReferencePointCycle group.

GantryAxisLetter – identifies the letter of the gantry slave axis (where A is 65-decimal or 41-hex and Z is 90-decimal or 5A-hex). The CharacterApplTab[?] for this gantry’s axis letter must be FFFF-hex for index 5 because this axis is never programmed. Note that the index for this axis in the AxisControl parameter group will be after all the interpolating axes and before any spindle. The CNC should be restarted after changing GantryAxisLetter so that this new axis appears in the CNC. GantryCommandAxis – identifies the axis index for the leading axis in this gantry relationship (where the axis index matches the index 5 value for that leading axis letter, so for example if X is the leading axis in the gantry and CharacterApplTab[X] index 5 is 0 for the first axis then the GantryCommandAxis index 1 would be 0 to connect to X). GantryLagDiff – defines the maximum following error difference between the gantry’s leading and slave axes before declaring an error (entered in internal increments, usually microns). RefPositionDistance – defines how far each axis moves after homing. However in the case of a gantry, the gantry leading axis must have a defined distance to move after homing (defined in this parameter) because in the course of that move the CNC can determine the distance between the respective axes’ markers. This value will be the same for both the leading and gantry axis and it must be non-zero or the ‘gantry initializing’ process cannot complete. RefPositionValue – defines the axis position at the end of the homing cycle. However in the case of a gantry, the value for the gantry axis will contain the distance (in this parameter) between the axes’ markers. This value is entered in the index for the gantry axis by the CNC at the conclusion of the ‘gantry initializing’ process.

Page 185: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 185/265

18.11 Infinitely Rotating Axis

The required machine parameters from the NCAddressFormat group are: CharacterApplTab (see section 4.5) – index 6 defines the type of round axis The required machine parameters from the AxisControl group are: IncrementsPerRev - always 360000 MachIncrementsPerRev - axis encoder counts/rev MachToInternalIncr – axis resolution ModuloAddrIndex - define the letter for programming turns of a modulo round ModuloCntIndex - define the cycle parameter holding the turns of a modulo round An infinitely rotating round axis is configured with the machine parameter CharacterApplTab (see section 4.5). Only for the variant of the modulo round axis are further machine parameters required.

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding rotary (or round) axes.

18.12 Laser Power Control and associated fast outputs

18.12.1 Laser power control

With the laser power control feature, up to 3 laser power output channels are possible. The programming of the laser power control is described in detail in the NC Part Programming Manual. The required machine parameters from the LaserPowerControl group are: LaserPowerAppl - read the online parameter help for its definition LaserChannelNo – the number of laser output channels LaserChannel1GCode – first G-code in the group to control the first laser output LaserChannel1Output – where in the hardware is the first laser output LaserChannel2GCode LaserChannel2Output LaserChannel3GCode LaserChannel3Output

The LaserPowerAppl parameter enables the feature while the LaserPowerNo parameter defines the number of laser output channels (from 1 to 3).

Page 186: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 186/265

The respective LaserChannelxGCode parameters define the first G-code (of the set) for the particular laser output channel. The respective LaserChannelxOutput parameters define whether the particular laser output channel is defined in the drive configuration file (using the letter L) (see section 3 in this manual) or whether the output is done to a specific D/A byte number in the IO configuration file (see section 2 in this manual).

18.12.2 Fast output signals

The "fast output signals" can be controlled by the CNC, not by the scanned PLC application, so their output actions (set or reset) are fast and can be associated with the axis positions in the part program. The required machine parameters from the LaserPowerControl group are: FastOutputByte BCDByteMaskIndex The FastOutputByte parameter defines the byte number for the output byte whose bits can be set and reset by the CNC.

The BCDByteMaskIndex parameter defines whether the PLC can inhibit the CNC setting certain fast output signals. When this feature is enabled, the bits in the IN_FASTM dword provide this interlock. (See the PLC Interface Manual for information about the IN_FASTM_MASK signals to the CNC for the PLC to indicate the enable/inhibit the individual fast output bits.) Note: Consult the NC Part Programming Manual for programming information about the fast output control feature.

18.12.3 Position-defined, fast M-functions

With this feature, the output of the fast M-Codes (set or reset) can be delayed. The required machine parameters from the LaserPowerControl group are: McodeDelayAppl MCodeDelayOn McodeMaxAppl

The McodeDelayAppl parameter enables the processing of MCodeDelayOn (the number of microseconds to delay the fast M-code actions) and MCodeMaxAppl (the maximum number of blocks that the delay can span).

Page 187: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 187/265

18.13 Multiple Spindles

The required machine parameters from the Spindle group are: SpindleBCDNo - the BCD value to start each spindle SpindleFeedbackAppl – whether each spindle has feedback is defined SpindleG93Appl SpindleG96G93Appl SpindleIncrPerRev - the encoder counts per rev for each spindle SpindleInpositionDiff SpindleInpositonPerCent SpindleMaxSpeedAppl - the maximum motor speed for each spindle SpindleOutputAppl - the output definition for each spindle SpindleReversalAppl - the output polarity for each spindle SpindleSlopeTime – the acc/dec time for each spindle SpindleStopRPM – the speed to turn at when doing an orient

Most of the above parameters have been described earlier in this manual. The most important ones would be SpindleBCDNo, SpindleMaxSpeedAppl and SpindleOutputAppl.

There are several references in previous sections to the control capability of up to 6 spindles per CNC station.

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding multiple spindles.

18.14 Parallel Axes

A parallel axis is one that runs simultaneously with its lead axis (with a 1:1 motion ratio) and only in Automatic mode as controlled with G21 (on) and G22 (off) in the part program. A parallel axis is not a gantry axis as the parallel axis connection is done via the part program. A gantry axis is a permanent relationship. The required machine parameters from the NCAddressFormat group are (see section 4.5): CharacterApplTab Example: The 1st (X) and 2nd (Y) axes are parallel axes and X is the lead axis. CharacterApplTab[X] Value 6 = 0001 CharacterApplTab[Y] Value 6 = 8000 Example: The 3rd (Z) and 4th (W) axes are parallel axes and Z is the lead axis. CharacterApplTab[Z] Value 6 = 0003 CharacterApplTab[W] Value 6 = 8002

Page 188: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 188/265

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding parallel axes.

18.15 Polar / Barrel Cam Transformation

There are three parameters for setting up the machine error compensation for polar transformation.

PolCylMachZeroOffsetAppl

The machine error compensation for polar transformation is set up using the machine parameter PolCylMachZeroOffsetAppl in the PolCylTransformation group. The first word of this machine parameter determines how the coordinate values (both programmed and default values) are to be interpreted: = 0: Machine error compensation is not set up. = 1: The programmed or default values are interpreted either as Cartesian (if

G90/G91 is active) or polar coordinates (if G14/G15 is active). = 2: The programmed or setup values are always interpreted as polar coordinates. = 3; The programmed or setup values are always interpreted as Cartesian

coordinates The second word of machine parameter PolCylMachZeroOffsetAppl determines which version of machine error compensation is effective. Two alternatives are possible here: =0: Displacement of the Cartesian coordinate system. =0FH: Correction of angle and radius of the machine coordinates. Standard: 0 The coordinates of the zero point of the machine with respect to the rotational axis can be preset with the machine parameter PolCylMachZeroOffsetX and PolCylMachZeroOffsetY. The coordinates are given in internal machine increments.

These preset values are used when the machine error compensation is set up and no coordinates have been specified with G101/G105. For example, given that a zero point displacement (or part position offset) of the coordinate system of a machine is X = 10 and Y = 20, then 10000 and 20000 are to be entered in PolCylMachZeroOffsetX and PolCylMachZeroOffsetY respectively (assuming that 3 decimal places are set for X and Y in this example).

Page 189: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 189/265

PolCylMachZeroOffsetX

Unit: internal increments X value (or angle) of the part position offset of the machine coordinates for polar transformation Standard: 0

PolCylMachZeroOffsetY

Unit: internal increments Y value (or radius) of the part position offset of the machine coordinates for polar transformation. Standard: 0

Several other machine parameters are involved in the configuration of the feature, also in the PolCylTransformation group: PolCylAddressLetters (usually – ASCII ‘R’) PolCylAxesCharacter (usually – ASCII ‘X’ and ‘C’) PolCylDirectionOfCompensation (1) PolCylFactorInchMetric (1.0) PolCylGCode (which G-code activates the group, usually G100) PolCylLongitudinalAxisIndex (which axis is first linear, usually X) PolCylOrientation (1) PolCylRotationalAxisIndex (which axis is first rotary, usually C) Many of the other parameters in this group are for special applications of the part programming features.

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding barrel cam transformations or polar transformation (each feature has its own programming description).

Page 190: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 190/265

18.16 Spindle / Rotary Axis Switch over

Each axis and spindle of the CNC can be set up as spindle / rotary axis. The required machine parameters from the AxisControl group are: MachIncrementsPerRev - axis/spindle encoder counts/rev MachToInternalIncr - axis/spindle encoder resolution The required machine parameters from the Spindle group are: SpindleOutputAppl - connection to the drive configuration file SwitchAxisBCDAppl - 1 for M SwitchAxisBCDNo - usually 280-decimal for M280 SwitchAxisBCDNrOffAppl - usually 290-decimal for M290 SwitchAxisByteAppl – 0 if switching will happen only with M-codes, not PLC SwitchAxisDelay – delay to make sure spindle stops before becoming an axis SwitchAxisFeedbackAppl – (bit-coded) whether measuring input is used SwitchAxisOutputAppl – (bit-coded) whether spindle has separate output SwitchAxisReduction - (bit-coded) handling of the 0-360 position on a switch SwitchAxisRefAppl – (bit-coded) whether homing is required after a switch SwitchAxisStartPos – (bit-coded) whether a move is done after a switch to axis

Note: Consult the PLC Interface Manual for information about the IN_SW_AXES signals to the CNC for the PLC to control the switching between a spindle and a rotary axis. Consult the NC Part Programming Manual (section 9) for programming information regarding switching between a spindle and a rotary axis.

Page 191: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 191/265

18.17 Thread Cutting

The spindle must have feedback for the thread cutting feature to work. The required machine parameters from the AxisControl and Spindle groups are (see Section 12 for additional information on Spindle Set Up):

MachIncrementsPerRev MachToInternalIncr GainSpeedFactor SpindleIncrPerRev

The longitudinal axis and the transverse axis have to be defined in the machine parameter CharacterApplTab in the NCAddressFormat group. For a lathe, Z-axis is the longitudinal axis and X-axis is the transverse (see 4.5). . The sign of MachToInternalIncr has to be set such that the spindle position changes to higher values when M03 is programmed. If the sign is not set correctly, the spindle will orient at the start of the G33 cycle and then just wait. It is very important that the sign of the spindle encoder is correct so that its position is counting up when turning clockwise. With a wrong polarity, so the encoder counts down after the marker in clockwise rotation rather than up, the CNC will immediately stop this cycle due to the configuration problem. For this reason, the first test of G33 should always be in air rather than on a part to make sure all configuration parameters are correct. The note at the end of 12.3.4, suggesting to test the spindle as a rotary axis first, is intended to verify proper polarities and configuration parameters with that temporary configuration as an axis.

Spindles with internal speed-control can be switched to position control mode, when thread cutting is active. This can be set up by the parameter G33SpindleControlAppl for each spindle. This function allows cutting threads with high precision and repeatability without any limitations for the speed. If this parameter is 1 then at the G33 the spindle will perform its orient and upon its completion the cycle will proceed with the spindle controlled like an axis and with the threading axis slaved to the spindle. If this parameter is 0 then at the G33 the spindle will monitor its marker pulse and upon its detection the cycle will proceed with the threading axis slaved to the spindle. There is a visible difference in the start of the threading cycle with the two settings.

AxisSlopeSpeedAppl, for the thread cutting axes, is used to limit the speed of the path during thread cutting. If the spindle speed is too fast, the error message 222 “Thread cutting active, speed of the path too high” will occur. If this error 222 should occur, increase the value of AxisSlopeSpeedAppl for the threading axis (usually Z) as needed. The machine parameter units are in mm/min, just like AxisSpeedMaxAppl. An option is available to the G33 NC programmer. The default behavior is the threading begins at the moment the spindle marker is detected. With an optional letter in the NC block, the NC programmer can define the spindle orientation, in degrees, when the threading begins. This

Page 192: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 192/265

optional letter (if the letter is not in the block, the threading starts at the marker) is defined by the machine parameter G33SpindleOffsetLetter in the Spindle group. Typically the spindle marker is sufficient for G33.

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding the thread cutting feature.

18.18 Tool Management

The required machine parameters from the ToolManagement group are:

ToolManagementAxis - axis number for the servo driven turret/magazine ToolManagementControl ToolManagementParameterNo ToolManagementStrobeTime ToolManagementTableType

Machine parameters of the tool management are checked during the system start up. An error is identified to the programmer using the “Faulty machine parameter“ error message. The following checks are performed:

ToolManagementAxis must be less than 33. ToolManagementControl must be less than 4. ToolManagementParameterNo must be less than the valid number of cycle parameters.ToolManagementStrobeTime must be larger than zero. ToolManagementTableType must be 1 or 2.

The important parameter is ToolManagementControl. A value of 0 indicates each tool is always put back in its original magazine location (fixed location tooling) while a value of 1 indicates the tool in the spindle is put back in the magazine location with the next selected tool by a simple swap during the tool change (variable location tooling).

Note: Consult the PLC Interface Manual for information about the IN_TOOL signals to the CNC for the PLC to indicate the correct management of the tool data (i.e., moving a tool in or out of the spindle to or from the tool magazine).

18.18.1 Tool table The tool table should be configured as required for the tools in the system. If there is no tool magazine or there is no turret so there are no T-codes in a part program then the tool table is not used. With a mill having a tool magazine, the different tool numbers in their respective pockets are entered in the tool table, using Data, Modify, Tool table. Depending on the application, different columns will be used. At a minimum, three columns are always used in this table: T-number (the tool number in this magazine location), Type (the tool type in this

Page 193: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 193/265

magazine location; often all tools are type 1) and Rem. toolife (the remaining tool life for this tool; often all tools have a value of 1.0; it must be greater than zero or the tool is considered worn out). The first column, Magazine usage, is not a data entry column; it represents the status of this tool location. Other columns can be used depending on the particular application.

With a lathe, even there are no real tool changes but just turret moves, the tool table is still configured so that the T-number in the part program matches its turret location.

The procedure for this tool table for a lathe affects only three columns in the table:

1) For each turret position, enter that position as the tool number. For example, in W1 (tool location 1) enter 1 in the T-number column (for the Tool number). If there are eight turret positions then update the eight tool locations (W1 to W8) accordingly.

2) For each turret position, enter a 1 for the Type entry (Tool Type) and a 1 for the Rem. toollife entry (Remaining tool life).

After this data entry procedure, the Magazine usage column should be a blank for the valid turret positions and the letter L (indicating the tool’s Location is empty) for all the other locations in the tool table.

If the turret is servo driven then the Position column for each turret position should be updated with the correct servo position (e.g., with 8 positions, turret location 1 would be at position 0.0, 2 would be at position 45.0, 3 at 90.0, and so on). This same procedure for the Position column is also performed with a servo-driven tool magazine in a milling application.

Note: Consult the Operator’s Manual for more information about the tool table.

Page 194: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 194/265

18.19 Turning Cycles

The required machine parameters from the NCAddressFormat group are:

• CharacterApplTab[P] - Define with block number NC Address format, like CharacterApplTab[N].

• CharacterApplTab[Q] - Define with block number NC Address format, like CharacterApplTab[N].

• CharacterApplTab[R] - Define with an axis NC Address format, like CharacterApplTab[X].

• CharacterApplTab[U] - Define with an axis NC Address format, like CharacterApplTab[X].

• CharacterApplTab[W] - Define with an axis NC Address format, like CharacterApplTab[X].

• CharacterApplTab[X] - Set X as the transverse axis • CharacterApplTab[Z] - Set Z as the longitudinal axis

The required machine parameters from the TurningCycle group are:

• FacingDepthOfCut - Default depth of cut for facing cycles • FacingEscapeAmount - Default escape amount for facing cycles • TurningDepthOfCut - Default depth of cut for turning cycles • TurningEscapeAmount - Default escape amount for turning cycles • TurningFinishingAllowance – Finishing allowance for G276 • TurningGCodeAppl - G-Code of the first turning cycle (e.g. G270) • TurningMinimumCuttingDepth - Minimum cutting depth for G276 • TurningReturnAmount - Return amount for G274 • TurningToolTipAngle - Tool tip angle configuration for G276

Note: Consult the NC Part Programming Manual (section 9) for programming information regarding the turning cycles feature.

Page 195: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 195/265

18.20 Work Cycles

The CNC provides three different kinds of work cycles: 1) canned drilling cycles, 2) G-code cycle programs and 3) user cycle programs. All of these machine parameters are in the WorkCycle group. 18.20.1 Canned Drilling Cycles

Canned drilling cycles are a set of 10 G-codes. For each of these G-codes, a defined sequence of operations is executed for each block having axis motion. Nine of these G-codes is modal and one cancels that model. • WorkCycleGCode - defines the set of 10 G-codes.

The default value is 80. The G-code of this number cancels the canned cycle mode (G80) (it has no associated subprogram). Each of he following 9 G-codes has its own subprogram to be run (G81 to G89).

• WorkCycleProgNo - defines the set of 9 cycle programs to be run for these G-codes. The default values are from 899981 to 899989. The G81 will run the subprogram 899981. These subprograms must be in CNC memory. The drilling cycle subprogram files are always defined as system programs (not viewable by the operator) by residing in the CNC system programs folder (folder is named: syspro). The files in this folder are named syspro00.001 to syspro08.001 with this naming convention: sysproxx.yyy, where xx is the number of the file starting at 00 and yyy is the CNC station number with 001 corresponding to CNC station 1. The program number line in each file identifies itself to the CNC (e.g., in syspro00.001, the line after the % line is P899981, thereby identifying this file is the first work cycle program). Note that for CNC stations other than station 1, each has its own folder for its system programs. The CNC station 2 system programs will be in a folder named syspro2 with the other stations having a similarly named folder (with the number of the station).

Note: Consult the NC Part Programming Manual (section 7) for programming information regarding the canned drilling cycles feature.

18.20.2 G-code Cycle Programs

G-code cycle programs are a set of 8 G-codes. For each of these G-codes, a defined sequence of operations is executed for the block with this G-code. Unlike the canned drilling cycles, these cycle programs are not modal. They behave like a call to a subroutine and the values with the other letters in the NC block are saved in a block of cycle parameters. Note that ReservedParameterIndex in the CycleParameters group defines the block of cycle parameters that will get the values of the letters in the same block as this G-code.

Page 196: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 196/265

• CycleGCodeStart - defines the set of 8 G-codes. The default value is 0. The G-code of this number defines the first G-code in this block of 8. The following 7 G-codes follow numerically (e.g., if CycleGCodeStart is 501 then the block of 501 to 508 are associated with the block of subprograms).

• CycleProgramNo - defines the set of 8 cycle programs to be run for these G-codes. The default values are from 900001 to is 900008. The G-code defined in CycleGCodeStart would run the subprogram 900001. These subprograms must be in CNC memory. Typically the subprogram files are located in the CNC system programs folder. Since the files in this folder follow the naming convention defined above with WorkCycleProgNo, the names follow sequentially after the canned drilling cycle programs. Note that these subprogram numbers do not have to be sequential.

Note: Consult the NC Part Programming Manual (section 6) for programming information regarding the work cycles feature and the reserved parameters.

18.20.3 User Cycle Programs

User cycle programs are a set of 8 subprograms. This block of 8 subprograms has a defined letter and number for the first of the 8. For each of these codes, a defined sequence of operations is executed for the block with this code. Unlike the canned drilling cycles, these user cycle programs are not modal. They behave like a call to a subroutine, just like a G-code work cycle.

• CycleCodeLetter - defines the letter for this block 8 user cycles.

The default value is 0, which corresponds to the letter A. A value of 25 corresponds to Z. The letter selected must not conflict with CNC reserved letters, like the axes, spindle or other reserved letters (F for feedrate, D for cutter diameter compensation, etc.). Note that because the default value of 0 relates to the letter A, if an A-axis is defined then the CNC will provide an error message 315 for this parameter; in that case 255 can be used to indicate no letter is assigned.

• CycleCodeStart - defines the set of 8 codes for this letter. The default value is 0. The letter code of this number defines the first code in this block of 8. The following 7 codes follow numerically (e.g., if CycleCodeLetter is 12 (letter M) and CycleCodeStart is 501 then the block of M501 to M508 are associated with this block of subprograms).

• CycleCodeProgramNumber - defines the set of 8 user cycle programs to be run for these letter codes. The default values are from 990001 to is 990008. The first letter code defined in the two parameters above would run the subprogram 990001. These subprograms must be in CNC memory. Typically the subprogram files are located in the CNC system programs folder. Since the files in this folder follow the naming convention defined above with WorkCycleProgNo, the names follow sequentially after the canned drilling cycle programs. Note that these subprogram numbers do not have to be sequential.

Note: Consult the NC Part Programming Manual (section 6) for programming information regarding the work cycles feature and the reserved parameters.

Page 197: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 197/265

18.21 MachineMate Special Features

MachineMate offers a number of special optional features. The programming of each special feature is described in detail in section 10 of the NC Part Programming Manual.

These options are not available on all controls.

Note that any change to either CPCBlockArea or CPCFixArea machine parameters (in the CompileCycles group) requires a restart of the CNC software because those parameters affect the internal memory map of the CNC software. The CNC is held in emergency stop until the restart allows its memory map to be adjusted.

18.21.1 Lathe T-Code programming

With the Lathe T-code feature, the part program will use a 4 or 2-digit T-code that includes both the turret position and the offset number. The required machine parameters from the CompileCycles group are: • CcDword1 - defines the parameters for the compile cycle

o Index 1 = 1 to enable the feature (0 to disable) o Index 2 = 1 for 2-digit T-code; 0 for 4-digit T-code o Index 3 = 0 (can be letter of turret position, to replace T)

18.21.2 Programming Rotary-only Motion in G70

With this feature, the F-value in G70 with a block of rotary only motion will be interpreted as degrees/minute, not inches/minute. The required machine parameters from the CompileCycles group are: • CcDword4 - defines the parameters for the compile cycle

o Index 1 = letter of the rotary axis to enable the feature when programming that rotary axis (0 to disable)

18.21.3 G93 Programming for Mix of Linear and Rotary Motion

With this feature, the F-value with G93 is treated as a time value for the block rather than a feedrate. The feedrate will be the result of the block’s motion with this defined time. This feature is sometimes called inverse time programming because the F-value is in the units 1/minute. For the G93 feature, the letters X, Y, Z are assumed to be linear axes and the letters A, B, C are assumed to be rotary axes.

Page 198: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 198/265

The required machine parameters from the CompileCycles group are: • CcDword4 - defines the parameters for the compile cycle

o Index 1 = letter of the rotary axis to enable the degrees/minute feature when programming that rotary axis (0 to disable) (see 18.20.2; it is included with this feature)

o Index 2 = 1 to enable the G93 feature (0 to disable) 18.21.4 Canned Drilling Cycle Programming with Letters not Parameters

With this feature, a set of letters are used for the canned drilling cycle parameters (described in section 7 of the NC Part Programming Manual). The required machine parameters from the CompileCycles group are: • CcDword1 - defines the parameters for the compile cycle

o Index 1 = 1 to enable the feature (0 to disable); a value of 3 will result in the swap of U and K letter assignments for the associated cycle parameters.

Note: The use of letters for cycle parameters by this feature requires that a number of letters be provided with the correct number of decimal places so all of the CharcterApplTab configurations in the NCAddressFormat group must be checked. The letters I, J, K, R, U, V, X, Y, Z are all configured like linear axes (88,88,3,4). The letter W matches that of F (usually 8,8,3,3).

18.21.5 Collinear Axes Tracking

With this feature, the collinear axes W and Z are programmed in G90 as the distance to the part. The required machine parameters from the CompileCycles group are: • CcDword1 - defines the parameters for the compile cycle

o Index 1 = 100 to define which cycle parameter begins the block of data for the PLC to support this feature (0 to disable).

• CcReal1, index 1 - defines the initial distance between W and Z after homing (in microns); this value is not needed if the operator will define the G92 distance to the part immediately after homing (which is common).

• CPCBlockArea, index 1 – must be at least 80-decimal, reserves additional bytes for each NC block.

• CPCFixArea, index 1 – must be at least 24-decimal, reserves additional bytes for internal thread communications.

Note: The use of letters for cycle parameters by this feature requires that a number of letters be provided with the correct number of decimal places so all of the CharcterApplTab configurations in the NCAddressFormat group must be checked. The letters I, J, K, R, U, V, X,

Page 199: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 199/265

Y, Z are all configured like linear axes (88,88,3,4). The letter W usually matches that of F (usually 8,8,3,3).

18.21.6 Extended Part Offsets

With this feature, the G54P combination can access an extended set of part zero offsets. The required machine parameters from the CompileCycles group are: • CcDword4 - defines the parameters for the compile cycle

o Index 8 = 48 (or a non-zero value) to define how many additional sets are available with this feature (0 to disable).

o Index 9 = 800 (or a non-zero value) to define the start of the cycle parameter block that will hold these additional offsets (0 to disable)

o Index 10 = 792 (or a non-zero value) to define the start of the cycle parameter block (of 8) that will hold the four values for G54 (when an extended set becomes active)

o These cycle parameter numbers must not interfere with other cycle parameter applications, so typically they are always greater than 60 to avoid the work cycle block of parameters. The values selected for index 9 and 10 values depend on the number of available cycle parameters. With a large extension to the set of part offsets, the number of cycle parameters in the control must be increased as well (another control option).

• CPCBlockArea, index 1 – must be at least 8-decimal, reserves additional bytes for each NC block.

• CPCFixArea, index 1 – must be at least 8-decimal, reserves additional bytes for internal thread communications.

18.21.7 Non-consecutive M-code Work Cycles

The CNC allows a block of 8 consecutive M-codes to be associated with work cycle subprograms. This standard feature is described in the section titled User Cycle Programs. Sometimes it is desirable for the M-codes with subprograms to be non-consecutive so this optional MachineMate special feature provides that functionality. The list of up to 8 non-consecutive M-codes is defined in a machine parameter and then the feature automatically changes them during program execution to the consecutive M-codes defined in the WorkCycle parameter group.

The required machine parameters from the CompileCycles group are: • CcDword6 - defines the parameters for the compile cycle

o Index 1 = First M-code for first user cycle program. 0 disables the feature. o Index 2 to 8 = the other M-codes for the user cycle programs. The first 0

ends the list.

Page 200: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 200/265

The machine parameters in the WorkCycle group must be configured correctly as well. They are CycleCodeLetter (12-decimal is the letter M), CycleCodeStart (usually a number out of the way, like 600) and CycleCodeProgramNumber (the user cycle programs can be numbered as desired but typically they are given numbers out of the way, like from 990001 to 990008). Please consult the section titled User Cycle Programs (in this manual) for more detailed information.

Page 201: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 201/265

19 Backing Up Files It is important to keep backup copies of files that are critical to proper machine function. Listed below are files that should be backed up after the control is configured and working properly. The default locations for these files are also listed. For additional reference, consult the next section about Setup mode, specifically the section “Setup – Backup” for a command to backup many files in one action.

(Machine Parameter file).mpf

C:\MMdata\MachineParameter\mmdefault.mpf

The operator or programmer may have changed the name of this file to a name relevant to the specific machine or application and so the correct file name for the loaded data is not the default name, ‘mmdefault.mpf’.

Before backing this file up, the machine parameters being used by the machine should be output as follows:

1. Enter setup mode (use the setup button on the HMI) 2. Choose the 'Machine SetUp' softkey S2 3. Choose the 'Editor of Machine parameters' softkey S1 4. Choose ‘Open MP file’ softkey S3 5. From the ‘Open’ dialog box, select the machine parameters from the CNC folder 6. Choose ‘Save file’ softkey S5 7. From the ‘Save’ dialog box, select a drive / folder to save the file to 8. Assign a unique name to the file and click ‘Save’ or the Enter button

Each CNC station has its own machine parameter file. If the control is configured for more than one CNC station then save the machine parameter file for each CNC station. The appropriate file name selection is strongly recommended to maintain the association of the parameters to the station.

(PLC project file).pro

C:\MMdata\IEC1131 projects\(project file).pro

The project ‘.pro’ file that is running the PLC should be backed up.

(Part Programs) C:\MMdata\Ncprog\*.*

All part programs that originated on the control should be backed up. Before backing up these files, output the programs from the CNC memory. The machine operator should back up these files when they are modified.

Page 202: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 202/265

MMIOCfg.ini C:\Program Files\MM\User Data\MMIOCfg.ini

This is the I/O configuration file and should be backed up.

MMDriveCfg.ini

C:\Program Files\MM\User Data\MMDriveCfg.ini

This is the drive configuration file and should be backed up.

Driven.par C:\Program Files\MM\Drive<n>.par

This is the SERCOS drive parameter file for a specific drive. There is usually a separate file for each axis (or spindle). In a SERCOS system all these files should be backed up. As the names for these files are specified by the operator (and are defined in mmdrivecfg.ini), the file names can be different than shown above.

P999999

C:\MMdata\Ncprog\P999999.

This is the pitch error compensation file. If the pitch error compensation feature is used the file should be backed up (even though the file contents are used only in CNC memory).

(Macro).txt

C:\Program Files\MM\HMI\Macro\

These are the user defined keystroke Macros that were created to simplify keystrokes in the HMI. The Macro folder and sub folders and files, if any, should be backed up.

CNC Data Tables and Cycle Program Parameters C:\MMdata\Ncprog\*.*

The machine operator through the HMI should back up these tables, saved as files, whenever they are modified.

• Cycle Parameters (Z) • Length Compensations (H) • Path Compensations (D) • Zero Offsets (G) • Tool Table (W)

The procedure for a data back up operation by the CNC is the following HMI Setup section.

Page 203: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 203/265

19.1 Restarting the CNC software during machine parameter changes

For most of the common mpf changes, machine parameters can be changed while the CNC is in emergency stop. After a control reset the CNC will be running with the new configuration. There is a small number of situations where a restart of the CNC software (System – Exit, followed by selecting the MachineMate CNC shortcut to run it again) is required for the proper handling of the configuration change. For example, whenever a change is made in the axis letters, whether one is being added or one is being removed in the NCAddressFormat group, the CNC software should be restarted for the correct set of letters. Without a restart the data on the Manual and Automatic displays might have a mix of old and new axis letters. When adding a gantry slave axis, that new axis will not function as a gantry until after a restart. If the Info mode - Simulation path graphic feature is being used it is important to recognize this is a special program. The simulation program gets its configuration data when the CNC software starts. If any machine parameter is changed or even if something in HMI setup is changed (like the file extension for an NC part program file) the simulation program will not be affected by that configuration change until the next time the CNC software starts.

When doing PLC program development, sometimes it is necessary to restart the CNC software. For example, if a combination of bad PLC logic causes the failure of a PLC function or function block (like SELECT_NC_PROGRAM) the interface between the PLC and CNC might be in a failure mode. Upon fixing the PLC logic and downloading the updated project the interface data might still be in that

failure mode. Upon restarting the CNC software, its interface to the PLC (a shared memory interface that is explained in the PLC Interface Manual) is initialized. This symptom is somewhat confusing. In normal operations, any application error with the PLC functions and function blocks will be indicated as appropriate (like by a FALSE condition). If the PLC logic fails in the interface and then the PLC logic is downloaded again with a change the interface is not cleared, as if the failed function or function block is still active before and after the download. The PLC logic should be written such that it will make the correct calls to the interface, it handles a failure by a call to that interface and it handles subsequent calls to the interface whether the last call was successful or a failure. A PLC project download (which will always clear the PLC project’s local memory variables but not data in the CNC shared memory) that occurs during a failed interface call will sometimes cause one or more interface calls to fail later due to this shared memory interface still being in that failure mode. As a general rule, when downloading PLC project changes while developing and testing algorithms that involve PLC interface functions and function blocks and an odd ‘no response’ is seen to an interface call, a restart of the CNC software is recommended to ensure the observed problem is caused by another PLC logic problem, not that it is caused by a previous error condition that was not reset in CNC memory during the download action.

Page 204: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 204/265

20 Operator’s Manual for the Setup Mode The Operator’s Manual describes the various displays and soft keys in the CNC Operator Interface. This section of this manual describes the various displays and soft keys in the Setup mode of the CNC. Since the typical machine operator does not use this mode, the Setup mode is not in the Operator’s Manual.

The format of this section is similar to that followed in the Operator’s Manual, where the individual soft keys are mentioned with several display examples to supplement the description. The descriptions follow the order of the soft keys, not necessarily the order of typical usage.

The figure below shows the Setup page. This page is password protected (by the level 8 password). To access the page, click on the Setup button on the window’s top bar (or use the Windows shortcut for the button, via the external keyboard); there is no hard key provided on the front panel for this page as these features are for maintenance not for normal CNC operations.

Figure 44: Setup Page

The Setup page allows access to load and edit the Machine Parameters and the PLC program as well as editing of the control’s configuration files.

Page 205: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 205/265

S1: PLC. Allows the 1131 editor to be launched from the MMI and also provides the functionality to directly load a PLC program without the separate PLC tool. The I/O configuration file is also available for edit.

S2: Machine setup. Allows the Machine Parameter Editor to be launched from the MMI and also provides the functionality to load into the CNC or output from the CNC the Machine Parameter File. The drive configuration file (for axes and spindles) is also available for edit. If the control has the SERCOS drive interface, then the SERCOS Monitor is also available; this tool allows the setup and configuration of SERCOS specific operations (read/write/monitor IDN’s). The activation of the pitch error compensation and the homing of gantry axes are also provided.

S3: HMI setup. Allows various HMI features to be adjusted.

S4: Logic analyzer. Allows the monitoring of CNC and PLC data.

S5: Backup. Allows the data in CNC memory to be saved (in a single backup file) or restored. When the S1 soft key (PLC) is pressed for PLC functions, the subsequent set of soft keys allows the engineer to display or change the PLC application (S1) and to display or change the PLC’s IO configuration (S3). An example of this display is shown below.

Figure 45: Setup Page – PLC functions

Page 206: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 206/265

The PLC programming tool (S1 soft key) and its windows, tool bars and other features are explained in detail within the PLC Programming Manual. Note: A pointing device like a mouse or touch screen is required to use the PLC application tool. The PLC application is presented within a graphical environment having multiple windows so a pointing device is required for the navigation among the windows. The IO configuration file is explained in the Start Up Manual, Chapter 2. The S3 soft key runs the Notepad file editor to read/change this file. An example of this display is shown below.

Figure 46: Setup Page – Edit IO Configuration

Page 207: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 207/265

When the S2 soft key (Machine setup) is pressed after the initial Setup mode selection, the subsequent set of soft keys allow the engineer to display or change the CNC machine parameters (S1), to access the SERCOS drives over the SERCOS fiber-optic ring (S3), to display or change the CNC’s drive configuration (S4), or to activate the axis pitch error compensation feature (S7). The S3 soft key is available only with a SERCOS CNC. The SERCOS Monitor tool is described in the Start Up Manual. An example of this Machine setup display is shown below.

Figure 47: Setup Page – Machine Setup functions

Page 208: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 208/265

After the Machine Setup selection, the S4 soft key runs the Notepad file editor to read/change the Drive Configuration file. The drive configuration file is explained in the Start Up Manual, Chapter 3. An example of this display is shown below.

Figure 48: Setup Page – Edit Drive Configuration

Within the Machine Setup selection, the S2 (Menu), S5 (Copy) and S6 (Paste) soft keys operate just like in the Data page (described in Chapter 2.3). Menu provides a pop-up menu of actions. Copy and Paste allow a file to be copied from one folder to another. After the Machine Setup selection, the S7 soft key selection toggles the state of the pitch error compensation feature; if the feature was enabled it becomes disabled and vice versa. When this feature is enabled, the CNC will process a specific part program that contains the lead screw pitch error compensation data. This feature is further described in the Start Up Manual. After the Machine Setup selection, the S8 soft key selection activates the homing of a gantry axis. This homing of two physically connected axes requires a special sequence within the CNC. The soft key is available only if there is a gantry axis in the configuration. This feature is further described in the Start Up Manual.

Page 209: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 209/265

When the S3 soft key (HMI setup) is pressed after the initial Setup mode selection, the subsequent dialog allows the engineer to change the HMI (operator interface) configuration. An example of this HMI Setup dialog is shown below.

Figure 49: Setup Page – HMI Setup dialog

When the HMI Setup dialog initially appears, the General tab is selected, as shown above. There are a number of attributes that can be changed to customize the HMI. To change the active tab in the dialog, either click on the tab itself with the mouse to select that tab or simultaneously press the Ctrl and Tab buttons (on the front panel or external keyboard) to make the next tab active in the dialog. An example of the first tab’s display is shown above.

Page 210: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 210/265

When the Jogging tab is selected in the HMI Setup dialog, the new dialog allows the configuration of whether more than one axis can be jogged simultaneously (see Manual, Jogging). The default is a value of 1, resulting in the jogging of only one axis at a time from the Manual mode soft keys. An example of this HMI Setup dialog is shown below.

Figure 50: Setup Page – HMI Setup dialog – Jogging

Page 211: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 211/265

When the Data types tab is selected in the HMI Setup dialog, the new dialog allows the engineer to configure the file naming convention to be used for each CNC file type. This selection is important so that the operator gets the correct file names (and extensions) for each possible file selection dialog. The engineer can assign one file extension (its user mask) to each data type’s file. An example of this HMI Setup dialog is shown below.

Figure 51: Setup Page – HMI Setup dialog – Data types

The critical data type for a customer is the user mask for the NC Part Program type. The file extension for the NC programs must match the file extension used by the CAM package that is generating the part programs. If there is no CAM package then *.txt is commonly used (as shown in the above display example) so that any text editor can be used to edit NC program files. When the Connection tab is selected in the HMI Setup dialog, the new dialog allows the engineer to configure the network attributes for the CNC. If the CNC is not connected to a network, the default values must not be changed. An example of this HMI Setup dialog is shown below.

Page 212: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 212/265

Figure 52: Setup Page – HMI Setup dialog – Connections

When the Fonts tab is selected in the HMI Setup dialog, the new dialog allows the engineer to configure the defaults font for the CNC. An example of this HMI Setup dialog is shown below.

Figure 53: Setup Page – HMI Setup dialog – Fonts

Upon the selection of the Fonts button after the Fonts tab is selected in the HMI Setup dialog, the new dialog allows the engineer to configure the default font for the CNC. An example of this HMI Setup dialog is shown below.

Page 213: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 213/265

Figure 54: Setup Page – HMI Setup dialog – Font selection

When the E-mail tab is selected in the HMI Setup dialog, the new dialog allows the engineer to configure the whether error messages will result in emails being sent from the CNC. An example of this HMI Setup dialog is shown below.

Figure 55: Setup Page – HMI Setup dialog – E-mail

When the User keys tab is selected in the HMI Setup dialog, the new dialog provides the directions for the creation of a new user-defined soft key within the HMI framework. An example of this HMI Setup dialog is shown below.

Page 214: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 214/265

Figure 56: Setup Page – HMI Setup dialog – User-defined soft keys

The procedure to follow for adding a new soft key is (as described in the dialog above) 1) go to the desired main mode display (such as using the respective front panel mode keys or selecting the mode from the top key tool bar), 2) go to the desired soft key mode, 3) simultaneously pressing Ctrl+T (that defines the context for this soft key), 4) pressing the desired soft key (S1 to S8) for this new definition (this soft key selection results in a dialog for the operator) and 5) defining the action for this new soft key. The definition for the action comes from the dialog provided upon the soft key activation. This dialog is shown below.

Page 215: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 215/265

Figure 57: Setup Page – HMI Setup dialog – New soft key

If a file on the hard disk will be executed for this new soft key, like a .bat or .exe file, then select the Run function from the list provided by the dialog (shown above). The operator will enter the name of the new soft key (in Name of key) and then its tool tip (in Title of key). A Change icon button is provided if the operator wishes to define an icon for the new soft key; this selection results in a dialog with the set of available icons and an OK completes the selection and closes that dialog. Upon the OK selection the above dialog will close. If Run was selected as the action then another dialog is provided to complete the soft key definition for the Run function. This dialog (shown below) allows the entry of the full name and path for this hard disk file name, its arguments (if any) and its working directory (if required).

Figure 58: Setup Page – HMI Setup dialog – New soft key - Run

Page 216: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 216/265

20.1 Setup Page – Machine Parameter Editor

After the Machine Setup selection, the S1 soft key selection for the Machine Parameter Editor results in another window. This editor allows the engineer to view the current values for all the machine parameters and to make changes as required for the specific machine application. The operation of the Machine Parameter Editor is further described in the Start Up Manual. An example of this display is shown below.

Figure 59: Setup Page – Machine Parameter Editor

The list of parameters in a parameter group can be displayed by either clicking on the + symbol in front of the parameter group name, or moving the cursor to that name and pressing the right arrow key. To collapse the revealed list of parameters in a group, either click on the – symbol in front of the parameter group name or move the cursor to that name and press the left arrow key. To change the value of a particular machine parameter, click on it or move the cursor to it and press Enter. The parameter value will be highlighted indicating that an entry will replace its value. The data entry process is completed with another Enter key press.

Page 217: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 217/265

The S1 soft key (Help) within the Machine Parameter Editor results in online help for every machine parameter. An example of this display is shown below.

Figure 60: Setup Page – Machine Parameter Editor Help

The help shown will vary depending on the cursor placement at the time of the S1 or Help selection. The help could be for the specific machine parameter (like shown above) or it could be for the parameter group, with links to the help for the respective parameters. Once the help is the active window, the selection of the Contents, Index, Bookmarks or Search tabs in the left pane (or the selection of their associated soft keys S4 through S7) allows the viewing of help of all parameters in all parameter groups. The S3 soft key (Hide sidebar) allows more display space for the help information by removing the left pane (called a sidebar here) from the display. When any of the soft keys associated with that left pane (or side bar) is selected (S4 to S7) then that left pane returns to the display. An example of this display (without the sidebar) is shown below.

Page 218: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 218/265

Figure 61: Setup Page – Machine Parameter Editor Help – full screen

In the Help window (shown in both of the above two figures), two buttons are provided at the top of the help text tabbed window. The left button performs a ‘new page’ action. Its selection adds another tab to the help text tabbed window. This tab will be a copy of the tab when the ‘new page’ action is executed. When another machine parameter’s help is displayed here it will be under the current tab. This multiple tab feature allows several machine parameters to be investigated at the same time, just by clicking on the appropriate tab (the name of that parameter). The right button performs a ‘close page’ action. Its selection closes the active help text tab selection. These two buttons allow the operator to manage the number of machine parameters whose help text is provided with the tabs in this window. The S2 soft key (Menu) within the Machine Parameter Editor (shown in a previous figure, not those for the parameter help) results in a pop-up menu allowing the operator to change something within the editor. If the S2 soft key is activated when the cursor is in the left pane among the parameter groups, the menu looks like:

Hexadecimal (to change default numeric format to this type) Binary (to other numeric format) Decimal (to other numeric format) Print Help (same as selecting S1 soft key for help)

Page 219: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 219/265

If the S2 soft key is activated when the cursor is in the right pane on a particular machine parameter, the menu looks like:

Edit (to change this parameter’s value) Replace (to replace this value with that in the comparison file) Hexadecimal (to change default numeric format to this type) Binary (to change default numeric format to this type) Decimal (to change default numeric format to this type) Print Help (same as selecting S1 soft key for help)

For either S2 pop-up menu, use the up or down arrow keys to make a selection and then press Enter to complete the selection. Alternately, click with the mouse on the desired selection. Those machine parameters that are saved as real or floating point values are always shown in the decimal format. Those machine parameters that are saved in a byte (8-bits), a word (16-bits) or a double word (32-bits) value can be viewed or changed as either hexadecimal (where each character represents 4-bits, with a value of those 4-bits ranging from 0 to 15 but the values of 10 through 15 are represented by the letters A through F), binary (where each bit is represented by a 0 or 1) or decimal (where the binary value is converted into its decimal equivalent: the least significant bit (bit 1) is 2^0, the next (bit 2) is 2^1, the next (bit 3) is 2^2, and so on). Any change to the representation of any value among any one of these three numeric types has no effect on the CNC interpretation of the data itself (i.e., a value of 01 in hex is the same as 00000001 in binary or 1 in decimal). The S3 soft key (Open MP file) within the Machine Parameter Editor results in a dialog allowing the operator to open another, different machine parameter file. An example of this dialog is shown below.

Figure 62: Setup Page – Machine Parameter Editor – File Open

The source of the MP file is taken from the right pane – the list of files in the shortcut’s folder. If a different folder is desired, click on another shortcut in the left pane or tab to that pane and cursor

Page 220: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 220/265

up/down to the desired folder. To make the file selection, click on the desired file in the right pane or tab to that pane and cursor up/down to the desired MP file. Pressing enter or clicking on the Open (Enter) button after the file selection will open that MP file in the editor. The S5 soft key (Save MP file) within the Machine Parameter Editor results in a dialog allowing the operator to save the active machine parameter data to a file. This dialog is similar to that shown above for the S3 soft key except the dialog title is Save. The operator selects the shortcut to the folder in the left pane and enters the name in the File Name field. Note that editing values with the Machine Parameter Editor never affects the CNC directly. The values being changed are only within the editor. Only when the machine parameter data is saved to the CNC shortcut (which is possible only when the CNC is in Emergency Stop) will the CNC operate with the machine parameter values. If any parameter values are changed, the S5-Save is not selected but then the operator selects S8 to Exit, the Editor will provide a prompt asking whether the changed machine parameters should be saved or not (a Yes, No, Cancel dialog). Typically machine parameter changes for the CNC are saved twice – once to the CNC shortcut where they are active and once to a disk file that is a copy of the active parameters. The S4 soft key (Open MP file for comparison) within the Machine Parameter Editor results in a dialog allowing the operator to open another, different machine parameter file. This dialog is identical to that shown above for the S3 soft key. However, the result of the S4 soft key is that two machine parameters files are open at the same time allowing comparisons to be made between them. After the second file is opened, the window’s title bar changes to contain the two files being compared. The display has a ‘!’ icon for each parameter difference detected (as well as the parameter’s group). There are two data columns, one for each column. The right column has comments, such as the parameter is missing in the first or second file. An example of this display is shown below.

Page 221: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 221/265

Figure 63: Setup Page – Machine Parameter Editor – File Compare

The S7 soft key (Find next difference) within the Machine Parameter Editor results in an update of the display window, scrolling the display to the next difference between the two open machine parameter files. This S7 soft key is not available until after a second file is opened with the S4 soft key selection. Note that if there are many differences the S7 searches forward from the selected machine parameter. The operator can scroll down and select another parameter before selecting S7 to search for differences lower in the list than that parameter. The S6 soft key (Replace) within the Machine Parameter Editor, usually used after the S7 selection which scrolled the display to a specific parameter difference, results in an update of the first machine parameter to match the value from the second parameter file. The icon for that parameter value is changed to remove the ‘!’ designation (that was indicating a value difference). This S6 soft key is not available until after a second file is opened with the S4 soft key.

Page 222: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 222/265

20.2 Setup Page – SERCOS Monitor

After the Machine Setup selection, the S3 soft key selection for the SERCOS monitor results in another window. This monitor utility allows the engineer to manage the SERCOS ring initialization as well as the capability of reading/writing any drive parameter in any drive on the ring. The operation of the SERCOS monitor utility is further described in this Start Up Manual, Chapter 6. An example of the Sercos monitor display is shown below.

Figure 64: Setup Page – SERCOS Monitor

This utility of the CNC is described in detail in the SERCOS section of this manual as it is used in the setup and configuration of the CNC for SERCOS drives. It is very rarely used after that task is completed, except for maintenance or trouble shooting purposes.

Page 223: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 223/265

20.3 Setup Page – Logic Analyzer

After the Setup page, when the S4 soft key (Logic Analyzer) is pressed, a separate display window is provided for this Logic Analyzer feature. The Logic Analyzer is like a software oscilloscope, with channel selections (up to 8), a configurable horizontal resolution (the time base for data collection) and configurable trigger mode and selection. The display allows data analysis via an overlay, with the values shown for each channel at the trigger and at the two moveable cursor positions. An example of this display is shown below.

Figure 65: Setup Page – Logic Analyzer

On the left-hand side, the window has a vertical scale with ten divisions. The units of the vertical scale can be different for each channel. At the top of the window, there is a horizontal scale with a variable number of divisions. Each division has a sub-scale with ten divisions. The units of the horizontal scale values are in a multiple of milliseconds. Only one value is displayed for each channel per time. That means that when new data are written to the display, the previous values for these times are deleted.

Page 224: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 224/265

At the bottom of the window is a status line with the trigger mode and recording state. As in most Window applications, a mouse or tab and arrow keys can be used to move among the various fields to make selections. The important Logic Analyzer soft keys will be described below. The first soft key in the Logic Analyzer allows the operator to save or retrieve settings in a separate file. There is a soft key (S2) to retrieve those settings and another soft key (S3) to save the current settings. An example of this soft key display is below.

Figure 66: Logic Analyzer – File soft keys

20.3.1 Logic Analyzer settings The Logic Analyzer can monitor up to eight items. Each item is called a channel. The time base and trigger selection can also be configured by the operator. From the initial Logic Analyzer display, the operator selects the S2: Settings soft key to configure the Logic Analyzer. An example of this multiple tabbed dialog is shown below.

Page 225: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 225/265

Figure 67: Logic Analyzer – Settings

The first tab in the Settings dialog is for the Trigger and time base. There are four possible trigger modes. The operator selects one. • None - The None selection indicates that there is no trigger and the data will be continuously

recording and displayed.

• Manual - The Manual selection indicates that the trigger will be the S4: Trigger soft key – the trigger is the operator action.

• Single - The Single selection indicates that a single set of data will be recorded based on the trigger event. After activation with the S4: Trigger soft key, the analyzer waits for the event specified by the Trigger source and its Trigger level and condition. After the Logic Analyzer displays the captured data it will wait for another Trigger by the operator.

• Continuous - The Continuous selection indicates that the displayed data will be updated each time that the trigger event occurs. The event is specified by the Trigger source, level and condition.

The Trigger Source is specified by selecting one of the possible sources. The choice list for the sources includes all of the configured channels and one additional source, the NC Program (where the operator selects a part program number and a NC block number). The Source selection is disabled when the Trigger Mode is None or Manual. If the Trigger Source is an NC program, the program number (not a file name, just its program number) and the trigger block number are specified in the dialog. The trigger condition may be one of the following (from the choice list):

Page 226: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 226/265

> rising edge < falling edge = equal to # unequal Changed trigger when signal changes

The value entered in the Tick interval selection dialog determines the number of milliseconds of data. This is the horizontal scaling for the presentation of data. There are 1000 samples of data recorded by the Logic analyzer. For example, if the Tick interval is given a value of 20, then 20000 milliseconds of data will be recorded (and can be shown in the window). Be aware that the horizontal scale can be set such that each division is smaller than the sample time of the data. The minimum sample time is one system tick for CNC data (usually 2 ms, but ranges from 1 to 8 ms depending on the CNC model) or one PLC scan for PLC data (whose default time period is 50 ms but the PLC application tool allows a configurable scan period). The Trigger Delay can be specified in the Trigger settings. This selection, entered as a number of milliseconds, configures a time delay between the beginning of the recorded data and the trigger event. Only positive values can be entered. Selecting one of the 1 through 8 tabs in the dialog allows the operator to define the content for that channel. If an item is selected from the choice list provided, that is for CNC data. If PLC data is desired, it must be typed in the Name field – no list is provided. The format for the PLC data is ‘PLC:’ followed by the POU name, then a ‘.’ character followed by the variable name in that POU. An example of this dialog is shown below.

Figure 68: Logic Analyzer – Channel Setting

Page 227: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 227/265

Each signal for a channel is designated by the source of the signal and the signal’s symbolic name. Each signal has this designation:

[source][CNC station][:]name[index][,type] Except for ‘index’, each item enclosed within the […] indicates it is optional. The signal designation is case sensitive. The possible sources are: IPO: Interpolator task, where signals like axes positions, Lag, commanded positions, etc. are

available. IPO is the default source if none is specified in the entry. See the paragraph below for the name and description of many of the IPO signals.

PLC: Signals of the IEC1131-3 PLC. The signals of the PLC do not occur in the list box.

INPR: Interpreter task, where signals and data of the interpreter task within the CNC kernel are available. This set is only for internal use.

CNC Station refers to the CNC station number for the signal. This is normally the first station and so it is generally not needed. The colon is required only if a source is specified. The name is always required. The index is required only if there are multiple instances of the variable. For example with some CNC variables, there are 32 instances, one for each axis (e.g., the variable for axis 2 would use index of [2]). The type is required only if the name is not predefined and it is not a PLC symbol. This is rarely used. Examples: ActualPos[1] – the actual position for axis 1 located in the IPO. PLC:PLC_PRG.ABC – the local variable ABC defined in the PLC code module (POU) PLC_PRG. Note that after a set of data is captured and the operator selects ‘Fit In’ to get the data to fit vertically, the Logic Analyzer shows its scaling in the scale and offset values in this dialog. These two are left at 0 when initially selecting the channel. They are available in case the operator chooses to manually scale the data vertically rather than relying on the ‘Fit In’ feature.

Page 228: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 228/265

Selecting the WFG tab in the Settings dialog allows the operator to use a Wave Form Generator feature. Commonly the output is set to an analog output voltage in the electrical system so that the wave form is used for some testing. An example of this dialog is shown below.

Figure 69: Logic Analyzer – Wave Form Generator Setting

Selecting the View tab in the Settings dialog allows the operator to customize the presentation, including colors for the respective channels and whether a grid overlay is shown. In addition to setting individual colors for the 8 channels, the operator can also define the color for the background, grid, scale, trigger bar, cursor 1 bar, cursor 2 bar and the current position bar. An example of this dialog is shown below.

Page 229: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 229/265

Figure 70: Logic Analyzer – View Setting

Selecting the Connection tab in the Settings dialog allows the engineer to connect this Logic Analyzer data gathering to a different CNC than the one in the box running this software. This is the same mechanism as possible with the HMI Setup tabbed dialog. With the prevalence of firewalls and similar network security mechanisms this feature is rarely used but with multiple MachineMate CNC boxes in a common local area network it is possible to apply this ‘remote connection’ feature. An example of this dialog is shown below.

Page 230: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 230/265

Figure 71: Logic Analyzer – Connection Setting

The Trigger Activation is done by selecting the S3: Trigger soft key in the main Logic Analyzer display. This selection starts the recording of data when the Trigger’s Manual Mode is active. This selection places the analyzer in a ‘ready’ state when the Trigger’s Single Mode is active. The selection is not used for the other two Trigger Modes. When a particular channel is selected in the Watch window, its data can be scaled vertically by selecting the S4: Fit In soft key. The minimum and maximum values within the data collected define the range of values so then all of the data within the set is scaled accordingly (so samples at the maximum will be along the top edge while samples at the minimum will be along the bottom edge). The Watch window (enabled or disabled by S5: Watch window) shows three cursors (Trigger, Cursor 1, Cursor 2) that can be positioned within the display window. These cursors can be moved using the mouse (by clicking on the cursor identifier and then dragging it to the desired position) or by accessing soft key control of the cursor positions via the S7: View soft key). The Wave Form Generator utility, selected using the S6 soft key, enables special control of an output signal for data and system analysis. Its display is shown below.

Page 231: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 231/265

Figure 72: Logic Analyzer – Wave form generator

The Logic Analyzer display and its cursors can be managed with the S7: View soft key. With a mouse of a touch screen the cursors can be moved left or right by clicking and dragging those icons. The soft keys available in the View level allow an alternate control mechanism. Its display is shown below.

Page 232: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 232/265

Figure 73: Logic Analyzer – View functions

Pressing the S8: Exit soft key closes the Logic Analyzer. The current settings (like the channel configurations, the horizontal and vertical scaling values) are retained. 20.3.2 Logic Analyzer signals of the CNC This is a partial list of the available signals for the CNC (both the interpolator (IPO) and the interpreter (INPR) within the CNC kernel). A complete list is provided with the Channel selection dialog.The CNC interpolator provides all of the following signals unless otherwise noted. Those signals shown as being provided by the CNC interpreter are identified with the INPR remark and these would require that source identifier within the channel description. The signals with [1] indicate that these require an index value, typically the axis number (where 1 is for the first axis) for the signal. • ActualPos[1] - Actual position for the axis (in microns). • AnalogIn [1] - Value from an analog input channel. • AnalogOut [1] - Value to an analog output channel. • BlockNoActive – Active block number of the currently running part program. • CommandedDelta [1] - Delta between new and old machine position.

Page 233: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 233/265

• CommandedMachinePos [1] - Commanded machine position for axis in internal units within G92 offsets and real-time transformations.

• CommandedPos[1] - Commanded position for the axis in the part coordinate system (in microns). • CtrlResetFlag - Flag is set when Ctrl-reset is generated. • EmergencyStopFlag - Flag is set when emergency stop is active. • LagDeviation[1] - Following error (or lag) for an axis. • MachineVelocity[1] - Actual axis velocity. • MainProgramNoActual - Program number of active main program buffer (available in INPR). • PitchErrorValue [1] - Actual value of pitch error compensation. • SG92Offset [1] - Actual Offset of G92 (zero shifting) for an axis. • SMachinePos [1] - Commanded position for an axis in internal units within G92 Offsets. • SpindleOutput – Analog output voltage to the first spindle • SubProgramIndex - Actual subprogram level buffer (available in INPR). • SubProgramNoActual - Program number of active subprogram buffer (available in INPR). The most common entries for a channel are PLC application signal names, where they can be input or output points, PLC logic Booleans, or PLC application variables of any data type. These names depend on the particular PLC application’s variable names and so they will vary from control to control. Note: the operator can alternate between the active (two or more) windows using the Alt-Tab key combination. As long as the Alt key is held depressed, each press of a Tab key highlights another active window. When the Alt key is released that selected window becomes the window ‘on top’ of the display. The Machine parameter editor, the SERCOS Monitor and the Logic Analyzer will each have its own display window (just like the Logbook feature). This keypad/keyboard shortcut is useful when multiple CNC windows are active at the same time.

Page 234: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 234/265

20.4 Setup Page – Backup/Restore CNC Data

After the Setup page, when the S5 soft key (Backup) is pressed, a subsequent set of soft keys is provided. An example of this display is shown below.

Figure 74: Setup Page – Backup/Restore CNC Data

Page 235: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 235/265

After the Backup selection, the S1 soft key allows the operator to define what CNC data should be backed up to a disk file. The selection of this soft key results in a dialog to define which CNC data will be backed up to a disk file. An example of this dialog is shown below.

Figure 75: Setup Page – Backup CNC Data Selection

After the backup configuration is accepted (via the OK), another dialog is provided for the operator to specify the disk file name and its directory path. The completion of this selection (via Enter or clicking on the Select button) results in the CNC backing up the specified data to the specified disk file. An example of this dialog is shown below.

Figure 76: Setup Page – Backup CNC Data to File Selection

Page 236: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 236/265

After the Backup selection, the S2 soft key allows the operator to restore CNC data that was backup to a disk file. The selection of this soft key results in a dialog for the operator to specify the name of the file holding the CNC data to be restored. An example of this dialog is shown below.

Figure 77: Setup Page – Restore CNC Data from Backup File Selection

After the Backup selection, the S3 soft key allows the operator to save the changes in the HMI (CNC operator interface) to a backup directory. Though the data is different for the HMI, the dialog issued to the operator is very similar to that shown above for the file selection when backing up the CNC data. After the Backup selection, the S4 soft key allows the operator to restore the previously saved changes in the HMI (CNC operator interface) from a backup directory. Though the data is different for the HMI, the dialog issued to the operator is very similar to that shown above for the file selection when restoring the CNC data.

Page 237: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 237/265

Appendix A Axis Examples for Configuration A.1 Example for linear axis

encoder2500 pulses

belt & pulleyratio: 25 / 50

lead screwpitch: 20mm

load

motor2000 rpm

A.2 Example for rotary axis

motor2000 rpm

gear boxratio: 1 / 10 encoder

10000 pulses

load

gear wheels25 teeth

gear wheel64 teeth

Figure 78: Linear and rotary axis examples

Page 238: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 238/265

Appendix B Structured Text PLC Application Example B.1 Introduction

This Appendix provides a template for a PLC application. This code can be used as the basis for an actual machine application. It handles the simple operations: machine emergency stop, axis homing, axis jogging, and running a part program (cycle start and cycle stop). It provides more detail than the Set_up.pro in section 8 of the Startup Manual. Rather than being coded within one POU, this project consists of one main POU that calls several other POUs. This distributed format can assist in maintenance of the application. All of the POUs were coded in Structure Text. This is a list of items in this PLC application:

• Global variables for the PLC program • POU: PLC_PRG program (the main routine in the application) • POU: ANALOG_DRIVES program • POU: SERCOS_DRIVES program • POU: MONITOR_CNC program • POU: DECODE_BCD function • POU: BCD_ACTION program

To receive a copy of this PLC example, contact MACHINEMATE INC at [email protected] and an electronic copy can be emailed back to you. Alternately, a copy can be downloaded from the MACHINEMATE INC web site (http://www.machinemate.com). Both a Structured Text version (named: plcstartup.pro) and a Ladder Diagram version (named: plcstartup_ld.pro) are available. Which PLC programming language should be used for a specific application is usually the one of personal preference as there is no difference in capabilities between the two standard languages. One of the benefits of starting with the electronic copy is the comments within the code can assist later maintenance. B.2 Global Variables

Accessed via the Global Variables tab in the PLC project: Global_Variables VAR_GLOBAL ESTOP_PB AT %IX3.1 : BOOL;

(* Configure to the real E-Stop PB - if NC then it is FALSE when PB is pushed *) HOME_SW_1 AT %IX3.2 : BOOL;

(* Home reference switch input for axis 1 in analog system *) HOME_SW_2 AT %IX3.3 : BOOL;

(* Home reference switch input for axis 2 *) (* Cycle start/stop and jog plus/minus push buttons (with overrides) are passed directly to the CNC *) (* Axis over travel switch inputs can be read by the PLC to provide operator messages *) PLC_ESTOP: BOOL; (* PLC is in an e-stop condition *)

Page 239: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 239/265

CNC_ESTOP: BOOL; (* CNC is in an e-stop condition *) DO_RESET: BOOL; (* CNC has just issued an NC reset signal *) CNC_IS_READY: BOOL; (* PLC flag that monitors the CNC status *) M_CODE: DINT; (* M-code for this BCD strobe *) END_VAR B.3 PLC_PRG

Accessed via the POUs tab in the PLC project: POU PLC_PRG: Variables: PROGRAM PLC_PRG VAR (* The I/O bits are usually defined in the global data - in one place for all POUs *) END_VAR Structured Text code: (* This is the main POU of the example PLC application *) (* This POU can call other POUs for those associated tasks; *) (* this POU layout enables functional coding to assist in readability and maintenance. *) (* NOTE: This PLC project example is just a template – not a real application. *) (* This example can be used as the start of an actual application *) (* but it is NOT intended to be the final application. *) (* No axis overtravels or machine operator safety features are implemented. *) (* MachineMate Inc is not liable for any technical or editorial errors within this example. *) (* If the code in this example is incorporated into an actual PLC application, you may *) (* remove this NOTE after the safety concerns (operator and machine) are addressed. *) (* Signals in Byte 1*) (* The E-Stop push-button provides the basic control from the PLC *) (* The E-Stop push-button is usually a normally closed switch, hence the NOT for it. *) (* Other E-stop conditions should be OR’d here, including operator guards, etc. *) (* Axis over travels should be AND’d with a machine-start PB to allow a jog off the limit. *) PLC_ESTOP := NOT ESTOP_PB; (* CNC E-stop is combination of PLC in E-stop and CNC in E-stop *) CNC_ESTOP := PLC_ESTOP OR ON_EMERG; (* Inform the CNC of the PLC e-stop condition. *) (* In this example, only the E-stop push-button results in a PLC e-stop. *) (* In a real application, axis overtravels and safety guards are also monitored. *) INEMERGENCn := NOT PLC_ESTOP; IN_TRANSF := NOT CNC_ESTOP ;

Page 240: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 240/265

IN_ENABLE := NOT CNC_ESTOP ; (* Return the program run status to CNC *) IN_START := ON_STARTNC; IN_STOPn := ON_STOPNCn ; (* This example assumes the cycle start/stop & jog plus/minus push-buttons are handled directly by the CNC. *) (* The machine parameter AdditionKeyIOAddress passes these switches to the CNC *) (* via their dedicated bit assignments in two input bytes (specified in the parameter). *) (* Run the appropriate drive control: either ANALOG_DRIVES or SERCOS_DRIVES *) ANALOG_DRIVES; (* Monitor the CNC activity - including the BCD strobes *) MONITOR_CNC; (* Process any BCD codes that this application requires. *) BCD_ACTION; (* Axis over travel switch inputs, operator guards, etc. *) (* should generate operator messages, and PLC_ESTOP. *) B.4 ANALOG_DRIVES

POU ANALOG_DRIVES: Variables: PROGRAM ANALOG_DRIVES VAR END_VAR Structured Text code: (* This POU serves as a template for a system with analog drives *) (* The signals for any additional drives can be added by following this format *) (* Note that the position loops will not really be closed if ON_NO_CNTR is FALSE *) CNC_IS_READY := NOT ON_NO_CNTR; (* The e-stop state affects the drive controls *) IF PLC_ESTOP = FALSE THEN (* Signals in Byte 3 - Drive enable *) (* Close the position loop for the drives that exist in the system *)

(* If the Drive Ready input signals are available from the drives, *) (*then they should be used instead of TRUE. *)

Page 241: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 241/265

IN_DRON01 := TRUE ; IN_DRON02 := TRUE ; (* Signals in Byte 4 - Drive on *) (* Enable the drives that exist in the system *) IN_DREN01 := TRUE; IN_DREN02 := TRUE; (* If an output signal is required to physically enable the drives, set it to TRUE here *) ELSE (* Signals in Byte 3 - Drive enable *) (* Open the position loop for the drives that exist in the system *) IN_DRON01 := FALSE ; IN_DRON02 := FALSE ; (* Signals in Byte 4 - Drive on *) (* Disable the drives that exist in the system *) IN_DREN01 := FALSE; IN_DREN02 := FALSE; (* If an output signal is required to physically enable the drives, reset it to FALSE here. *) END_IF; (* The PLC provides the analog CNC with the Home/Reference Input state *) (* All the axes in the system that perform a reference cycle must be shown here *) (* AXIS 1 *) IN_HOME01n := HOME_SW_1; (* AXIS 2 *) IN_HOME02n := HOME_SW_2; (* Axis drive fault inputs can generate operator messages - and PLC_ESTOP *) B.5 SERCOS_DRIVES

POU SERCOS_DRIVES: Variables: PROGRAM SERCOS_DRIVES VAR END_VAR Structured Text code:

Page 242: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 242/265

(* This POU serves as a template for a system with sercos drives *) (* The signals for any additional drives can be added by following this format *) (* Note that the loops will not really be closed if ON_NO_CNTR is FALSE *) CNC_IS_READY := NOT ON_NO_CNTR; (* The e-stop state affects the drive controls *) IF PLC_ESTOP = FALSE THEN (* Signals in Byte 3 - Drive enable *) (* Close the position loop for the drives that exist AND are in phase 4 *) IN_DRON01 := ON_READY01; IN_DRON02 := ON_READY02; (* Signals in Byte 4 - Drive on *) (* Enable the drives that exist AND have their position loop already closed *) IN_DREN01 := ON_CONTR01; IN_DREN02 := ON_CONTR02; ELSE (* Signals in Byte 3 - Drive enable *) (* Open the position loop for the drives that exist in the system *) IN_DRON01 := FALSE ; IN_DRON02 := FALSE ; (* Signals in Byte 4 - Drive on *) (* Disable the drives that exist in the system *) IN_DREN01 := FALSE; IN_DREN02 := FALSE; END_IF; B.6 MONITOR_CNC

POU MONITOR_CNC: Variables: PROGRAM MONITOR_CNC VAR (* if more than M-code is used, follow this template. *) Change_M_Strobe : R_TRIG; (* monitor BCD STROBE 1 *) Change_NC_Reset : R_TRIG; (* monitor CNC RESET *) END_VAR Structured Text code:

Page 243: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 243/265

(* This POU assumes that M is the first BCD character. *) (* If this is not correct, then change the M_CODE name(s) in global data and below. *) (* Monitor strobe 1 -- upon M strobe, decode BCD word *) Change_M_strobe( CLK := ON_STROBE1); IF Change_M_Strobe.Q = TRUE THEN (* This value is valid for only one scan; other code must save it if that is required *) M_CODE := DECODE_BCD(ONBCDWORD1); ELSE M_CODE := 0; END_IF; (* Monitor the NC reset from the CNC *) (* This should reset PLC conditions to their initial values *) Change_NC_reset( CLK := ON_RESET); (* Upon reset strobe, indicate that event to the rest of the PLC code *) (* This signal is valid for only one scan so the other POUs must react accordingly. *) DO_RESET := Change_NC_reset.Q; B.7 DECODE_BCD

POU DECODE_BCD: Variables: FUNCTION DECODE_BCD : DINT VAR_INPUT BCD : DWORD; (* BCD code word from CNC *) END_VAR VAR Units : DINT; Tens : DINT; Hundreds : DINT; Thousands : DINT; END_VAR Structured Text code: (* Note that the actual BCD code is from DWORD3 and usually ranges from 0 to 9999. *) (* The internal combination of DWORD3 and 4 could support up to 16 digits for a BCD code. *) (* Convert the input DWORD in BCD format into its decimal value *) Units := BCD AND 15; Tens := ((BCD / 16) AND 15) * 10; Hundreds := ((BCD / 256) AND 15) * 100; Thousands := ((BCD / 4096) AND 15) * 1000;

Page 244: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 244/265

(* Add up the individual fields for the final answer *) DECODE_BCD := (Units + Tens + Hundreds + Thousands); B.8 BCD_ACTION

POU BCD_ACTION: Variables: PROGRAM BCD_ACTION VAR CATCH_M99 : BOOL; (* capture the M-code *) TIME_M99 : TON; (* hold for the M-code to complete *) END_VAR Structured Text code: (* This POU servers as a simple example of processing a BCD-code. *) (* To process a BCD code (such as an M-code) in the PLC simply watch for it. *) (* The M_CODE value will be valid for one ladder scan - for the PLC to react to it. *) (* In this simple example, an M99 results in an operator message - at the bottom of the HMI display. *) (* Note that if the part program operation is not affected by this M-code, then *) (* the catch/time local variables and their associated code are not required in the PLC. *) (* This M99 operator message will pause the part program for 3 seconds. *) (* This is not a meaningful application - but it serves as a simple code example for a real operation. *) IF M_CODE = 99 THEN (* This example M-code action is just to alert the operator *) CATCH_M99 := TRUE; WRITE_ERROR_MESSAGE( ERROR_NUMBER := 1000, STATUS := 1, TEXT := 'M99 was detected'); END_IF; (* Simulate a machine operation with a delay *) TIME_M99( IN := CATCH_M99, PT := T#3S); IF CATCH_M99 = TRUE THEN (* Direct the CNC to hold up the NC blocks for this M-code to complete. *) IN_TRANSF := FALSE; (* Has the M-code operation completed? *) IF TIME_M99.Q = TRUE THEN (* Direct the CNC to let the part program proceed again *) IN_TRANSF := TRUE;

Page 245: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 245/265

(* The M99 processing is done *) CATCH_M99 := FALSE; END_IF; END_IF; (* On a control reset, clear any M-code conditions *) IF DO_RESET = TRUE THEN CATCH_M99 := FALSE; CLEAR_ERROR_MESSAGES(TRUE); END_IF;

Page 246: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 246/265

Appendix C Ladder Diagram PLC Application Example C.1 Introduction

This Appendix provides a template for a PLC application. This code can be used as the basis for an actual machine application. It handles the simple operations: machine emergency stop, axis homing, axis jogging, and running a part program (cycle start and cycle stop). It provides more detail than the Set_up.pro in section 8 of the Startup Manual. Rather than being coded within one POU, this project consists of one main POU that calls several other POUs. This distributed format can assist in maintenance of the application. All of the POUs were coded in Ladder Diagram. This is a list of items in this PLC application:

• Global variables for the PLC program • POU: PLC_PRG program (the main routine in the application) • POU: ANALOG_DRIVES program • POU: SERCOS_DRIVES program • POU: MONITOR_CNC program • POU: DECODE_BCD function • POU: BCD_ACTION program

To receive a copy of this PLC example, contact MACHINEMATE INC at [email protected] and an electronic copy can be emailed back to you. Alternately, a copy can be downloaded from the MACHINEMATE INC web site (http://www.machinemate.com). Both a Structured Text version (named: plcstartup.pro) and a Ladder Diagram version (named: plcstartup_ld.pro) are available. Which PLC programming language should be used for a specific application is usually the one of personal preference as there is no difference in capabilities between the two standard languages. One of the benefits of starting with the electronic copy is the comments within the code can assist later maintenance. C.2 Global Variables

Accessed via the Global Variables tab in the PLC project: Global_Variables VAR_GLOBAL ESTOP_PB AT %IX3.1 : BOOL;

(* Configure to the real E-Stop PB - if NC then it is FALSE when PB is pushed *) HOME_SW_1 AT %IX3.2 : BOOL;

(* Home reference switch input for axis 1 in analog system *) HOME_SW_2 AT %IX3.3 : BOOL;

(* Home reference switch input for axis 2 *) (* Cycle start/stop and jog plus/minus push buttons (with overrides) are passed directly to the CNC *) (* Axis over travel switch inputs can be read by the PLC to provide operator messages *) PLC_ESTOP: BOOL; (* PLC is in an e-stop condition *) CNC_ESTOP: BOOL; (* CNC is in an e-stop condition *)

Page 247: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 247/265

DO_RESET: BOOL; (* CNC has just issued an NC reset signal *) CNC_READY: BOOL; (* PLC flag that monitors the CNC status *) M_CODE: DINT; (* M-code for this BCD strobe *) END_VAR

Page 248: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 248/265

C.3 PLC_PRG

Accessed via the POUs tab in the PLC project:

Page 249: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 249/265

Page 250: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 250/265

C.4 ANALOG_DRIVES

Page 251: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 251/265

C.5 SERCOS_DRIVES

Page 252: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 252/265

C.6 MONITOR_CNC

Page 253: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 253/265

C.7 DECODE_BCD

Page 254: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 254/265

Page 255: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 255/265

C.8 BCD_ACTION

Page 256: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 256/265

Page 257: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 257/265

Appendix D Windows 2000 MM User Configuration

If it becomes important to address the CNC default user account (MM) on Windows 2000, such as the management of users on a plant network, this user account information is useful. To access the MM account’s configuration, make sure the CNC software has been exited, log off the current Windows 2000 account (using the Windows Start button, select Shut Down…, and then Log off <this account>) and upon the Windows Log On to Windows dialog, login with the administrator account. After the Windows session has started, in the administrator account, use the Windows Start button and then select Settings and Control Panel. This will display a window of various icons. In the Control Panel window, select Users and passwords. To make a selection, either move the cursor to the item and press Enter or with a mouse double-click on the item. In the Users and passwords window, the checkbox for Users must enter a user name and password is typically not checked, but this can depend on the network requirements. In the Users and passwords window, select (or click on) the Users/Advanced tab. In this window, the Secure boot settings checkbox for Require users to press Ctrl-Alt-Delete before logging on is typically not checked. Click on the Advanced button. In the subsequent window, select (or double-click on) the Users icon in the left pane. This action results in the list of configured user accounts to be listed in the right pane. Find the MM user in the list. Select that user (scroll to it and press enter or double-click on it). In the subsequent window, the General tab shows general account information. The checkbox for User must change password at next logon is not checked. The checkbox for User cannot change password is typically checked. The checkbox for Password never expires is typically checked. The checkbox for Account is disabled is not checked. The checkbox for Account is locked out is not checked. Selecting the Member of tab changes the window. The MM user is typically a member of either Power users or Administrators. Being a member of the Administrators group allows the MM user to perform more activities including the installation of software (including the CNC software). However in some network configurations, this MM user profile as an Administrator might not be allowed.

Page 258: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 258/265

Appendix E BIOS for Touch Screen Only Configuration – No Keyboard Typically the CNC operator interface includes a front panel with both a display and keypad. The front panel can also be just a display with a touch screen and no operator keypad but sometimes there will be a separate PC keyboard plugged in for the rare instances one is helpful. However with a touch screen there is no requirement for a keypad or keyboard because the data entry can be done with the Windows On Screen Keyboard (which is described in the Operator’s Manual). With this configuration, there would be no keyboard input to that PS2 connection to the CNC PC. The BIOS configuration for a CNC is typically configured to expect a keyboard input in that PS2 connection. If there is no keyboard connected then the BIOS upon startup could display an error about no keyboard being detected. If this error results then the BIOS must be changed to ignore the lack of a keyboard. The computer’s BIOS will have a ‘standard features’ display and one of its settings is a ‘halt on error’ selection. The factory default is usually the ‘halt on all errors’ setting. With no keyboard connected, this BIOS setting should be changed so that the BIOS does not stop on that hardware error. The new setting is usually the ‘halt on all errors but keyboard’ setting.

Appendix F Computer Screen Savers Typically the CNC computer will never have a screen saver activated for its Windows user environment. For the safe operation of any machine, the display for the CNC software always must be visible to the operator. The MachineMate front panels use a TFT display that will not have a ‘burn in’ problem that was possible with the old CRT technology. Certain screen saver programs will use very sophisticated calculation algorithms for their graphical presentation and that presents an unnecessary burden on the processor while the CNC software is controlling the machine.

Page 259: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 259/265

I Index 5V Monitor..................................................... 27 ADDR................................................ 25, 27, 28 Administrator account ................................... 13 Advanced Regulation Technology .............. 146 Analog

Inputs........................................................ 172 Outputs ............................................... 20, 172

Analog drives configuration file ..................... 27 Analog Feed Control ................................... 170 Angled Wheel Transformation .................... 173 ART............................................................. 146

Command filter ................................ 147, 153 M-codes.................................................... 148 optimization for changing of acceleration 152 optimization of acceleration factors......... 151 optimization of speed factors ................... 150 reduction of KV-factor............................. 154 Setup ........................................................ 148

Auto Configuration ........................................ 16 Automatic Spindle Gear Range Selection... 176 Axes homing sequence............................... 116 Axis

Display order.............................................. 39 Gantry........................................... 39, 41, 182 Gantry initialization ................................. 208 Longitudinal ......................................... 40, 41 Normal ....................................................... 40 Open loop (encoder only) .......................... 45 Parallel ................................................. 40, 41 Positioning ................................................. 40 Round......................................................... 40 Transverse ............................................ 40, 41

Axis example Linear ............................................... 203, 237 Rotary....................................................... 237

Axis feed enable ......................................... 107 Backing Up Files ......................................... 201 Backup/Restore of CNC data...................... 234 BIO 2416LX .................................................. 15 BIO 4AXLX........................................ 15, 19, 27 BIOS setting................................................ 258 Block transfer enable .................................. 106 BUSLENGTH .......................................... 19, 27 Canned drilling cycles ................................. 195

Circle acceleration limit................................136 Circle KV Element .......................................135 CNC

Backup of data to disk...................... 235, 236 Drive configuration.................................. 208 Gantry axes initialization ......................... 208 IO configuration....................................... 206 Machine parameter editor ........................ 216 Machine parameter help........................... 217 Pitch error compensation ......................... 208 Restore of data from disk......................... 236 Sercos monitor ......................................... 222

CNC Ready ...................................................18 CNC Station.......................23, 30, 35, 201, 203 CNC-interface..............................................102 Control-reset............................................13, 47 Converting units inch to metric ......................48 Converting units metric to inch ......................48 Diameter Programming ...............................177 Distance between two marker pulses..........119 Distance encoded measuring systems........158 Distance regulation......................................162

analog signal ............................................ 164 Axis assignment ....................................... 162 loop gain................................................... 164 Setup ........................................................ 162

Dresser, wheel, tool tip radius compensation (DWRC) ...................................................178

Drilling cycles...............................................195 Drive configuration file .............23, 76, 124, 126 Drive connections ..........................................22 Drive tuning ...................................................28 Driven.par....................................................202 EGB .............................................................179 Electronic Gear Box.....................................179 Emergency stop...........................................105 ENCODER.....................................................28 Error

222............................................................ 191 223............................................................ 143 315............................................................ 196 352............................................................ 119 453............................................................ 180 476............................................................ 153

Page 260: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 260/265

478............................................................ 153 481................................................ 57, 89, 135 64.............................................................. 139 67................................................................ 55 717.............................................................. 76 742.............................................................. 76 744.............................................................. 76 745.............................................................. 76 746.............................................................. 76 808.............................................................. 71 859............................................................ 176

Feed enable all axes................................... 106 Feed Influencing via Digital Measuring ....... 179 Feed Influencing via External Analog Signal170 Feed Interpolation ....................................... 182 Field Bus IO .................................................. 21 First positioning test ................................ 108 G09 ............................................................. 136 G160 ................................................... 147, 154 G161 ........................................................... 150 G162 ........................................................... 150 G163 ........................................................... 151 G164 ........................................................... 152 G165 ................................................... 148, 153 G166 ................................................... 148, 153 G21 ....................................................... 41, 187 G22 ....................................................... 41, 187 G265 ........................................................... 163 G33 ....................................... 89, 128, 129, 191 G54P........................................................... 199 G63 ............................................................... 61 G72 ..................................................... 138, 140 G73 ............................................. 135, 138, 140 G80 ............................................................. 195 G81 ............................................................. 195 G84 ............................................................... 61 G92 ............................................................. 142 G93 ............................................................. 197 G95 ............................................................. 128 Gantry Axes ................................................ 182 G-codes that are modal ................................ 47 Gray code switches....................................... 61 Handwheel Hardware ................................. 122 Handwheel Set-up ..................................... 122 HMI setup.................................................... 209

Data types................................................. 211

E-mail....................................................... 213 Fonts................................................. 212, 213 Multiple axis jogging ............................... 210 New soft key ............................................ 214

Home position limit switch ...........................118 Homing first search velocity.........................117 Homing search direction..............................116 Homing second search velocity...................118 Homing set position .....................................119 Homing the axes ........................................110 Homing travel distance ................................119 I/O configuration ......14, 60, 124, 127, 164, 202 Infinitely Rotating Axis .................................185 Internal increment......................49, 53, 63, 117 Internal Increments per Revolution................58 Keystroke Macro files ..................................202 KV-factor....................56, 68, 88, 149, 151, 154 LAG display ...................................90, 108, 139 Laser power control

Fast output signals.................................... 186 Output channels ....................................... 185

Laser power output configuration ..................24 LL

Stepper ....................................................... 28 Logic analyzer .............................................223

CNC signal names.................................... 232 Exit........................................................... 232 Horizontal scale ....................................... 223 Message line............................................. 224 Signal designation.................................... 227 Signal source

CNC station.......................................... 227 INPR .................................................... 227 IPO ....................................................... 227 Name.................................................... 227 PLC ...................................................... 227 Type ..................................................... 227

Trigger Activation............................................. 230 Delay .................................................... 226 Mode, Continuous................................ 225 Mode, Manual ...................................... 225 Mode, None.......................................... 225 Mode, Single ........................................ 225 Set Program Name ............................... 225 Source .................................................. 225

Page 261: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 261/265

Vertical scale............................................ 223 M03 ............................................................. 127 M04 ............................................................. 127 M05 ............................................................. 127 M141 ........................................................... 162 M19 ............................................................. 132 M40 ............................................................. 176 M41 ............................................................. 176 Machine parameter

Editor........................................................ 216 Help.......................................................... 217

Machine Parameter AdditionKeyIOAddress ..................... 60, 103 AFCFactor........................................ 170, 172 AFCOffset........................................ 170, 172 AFCVoltageLimit ............................ 171, 172 AngledWheelAxesAngles........................ 173 AngledWheelAxesCharacter.................... 173 AngledWheelGCode ................................ 173 AutoFeedoverride....................................... 62 AxisFeedMaxAppl ..................................... 51 AxisSequence................................... 111, 116 AxisSlopeSpeedAppl ....................... 135, 191 AxisSlopeTime..................................... 51, 66 AxisSpeedMaxAppl ..... 50, 65, 130, 149, 155 BacklashAppl ........................................... 137 BacklashOptions ...................................... 137 BacklashTime........................................... 137 BacklashValue ......................................... 137 BadMarkerSignal ..................................... 120 BCDByteMaskIndex................................ 186 CcDword1 ........................................ 197, 198 CcDword4 ................................ 197, 198, 199 CcDword6 ................................................ 199 CcReal1.................................................... 198 CharacterApplTab38, 42, 185, 187, 191, 194,

199 CharacterApplTabF.................................... 44 CharacterApplTabI..................................... 41 CharacterApplTabJ .................................... 41 CharacterApplTabK................................... 41 CharacterApplTabR ................................... 43 CircleContourError .................................. 136 CircleKVAppl .......................................... 135 CircleSpeedKVAppl ................................ 136 CornerAccelerationG09 ........................... 136

CPCBlockArea................................. 198, 199 CPCFixArea..................................... 198, 199 CutComAppl ............................................ 178 CutComEntryMoveType.......................... 178 CutComExitMoveType............................ 178 CycleAnalogIn ......................................... 172 CycleAnalogOut ...................................... 172 CycleCodeLetter .............................. 196, 200 CycleCodeProgramNumber............. 196, 200 CycleCodeStart ................................ 196, 200 CycleGCodeStart ..................................... 196 CycleProgramNo...................................... 196 DiameterAppl........................................... 177 DiameterAxisChoice................................ 177 DiameterCorr ........................................... 177 DiameterGCode ....................................... 177 DiameterResetState.......................... 177, 189 DisableAxisBacklash ............................... 137 DistanceBCDNo ...................................... 162 DistContrBCDNo..................................... 169 DistContrChannel ............................ 164, 169 DistContrMCodeOff ........................ 162, 169 DistContrMCodeOn......................... 162, 169 DistDirection.................................... 163, 169 DistGCode........................................ 163, 169 DistIndex.......................................... 162, 169 DistInkr .................................................... 165 DistKVFactor........................................... 169 DistKVLimit ............................ 166, 168, 169 DistLinear ........................................ 166, 169 DistMax.................................................... 169 DistSignalByte ......................................... 169 DistVoltOffset.......................... 167, 168, 169 DresserWheelRadiusCompensationType 178 DriftAppl.................................................. 137 DriftDelay ................................................ 137 DriftLimitAppl......................................... 138 EGBAxialIndex........................................ 179 EGBFollowertype .................................... 179 EGBGCode .............................................. 179 EGBHobIndex.......................................... 179 EGBHobShiftIndex.................................. 179 EGBSynchronDifferenceError................. 179 EGBSynchronDifferencePLC.................. 179 EGBTableIndex ....................................... 179 ExtModeHandwheelFeed................. 123, 140

Page 262: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 262/265

ExtModeJogInkr....................................... 140 ExtModeManFeed............................ 123, 139 FacingDepthOfCut ................................... 194 FacingEscapeAmount .............................. 194 FactorG04inMs .......................................... 44 FaktInchMetric..................... 53, 58, 130, 176 FastIOBCDAppl ...................................... 179 FastIOBCDNoByte1 ................................ 179 FastIOBCDNoByte2 ................................ 179 FastIOBCDNoStop .................................. 180 FastIOByteAppl1 ..................................... 180 FastIOByteAppl2 ..................................... 180 FastIOErrorAppl ...................................... 180 FastIOPLCByteBitMask .......................... 180 FastIOPLCByteIO.................................... 180 FastIOPLCByteOutMask......................... 180 FastIOReturnGCode ................................ 181 FastIOReturnMaxAppl ............................ 181 FastIOTransferGCode.............................. 181 FastOutputByte ........................................ 186 FeedFactorNorm ........................................ 44 FWordIpolAppl........................................ 182 G00SpeedAppl ......................................... 134 G33SpindleControlAppl .................. 129, 191 G33SpindleOffsetLetter ................... 129, 192 GainBreakFactor ...................................... 138 GainBreakFactorNeg ....................... 149, 155 GainSpeedFactor... 56, 59, 68, 130, 138, 139,

159, 191 GantryAxisLetter ..................................... 184 GantryCommandAxis .............................. 184 GantryLagDiff.......................................... 184 GCodeAppl ................................................ 47 GCodeAppl2 .............................................. 47 GearboxMCodeOutput............................. 176 GearboxSpindleEncoder .......................... 176 HandwheelNo1Factor .............................. 123 HandwheelNo1InputBitNo ...................... 124 HandwheelNo1InputChannel................... 124 HandwheelNo1Station ............................. 125 HandwheelNoAppl................................... 122 HCorrAxes ......................................... 46, 178 IncrementsPerRev ................ 58, 69, 176, 185 InpositioningArea .................... 130, 135, 139 LaserChannel1GCode .............................. 185 LaserChannel1Output .............................. 185

LaserChannelNo ...................................... 185 LaserPowerAppl ...................................... 185 M19Appl .................................................. 132 M40Appl .................................................. 176 MachIncrementsPerRev 57, 68, 69, 130, 176,

185, 190, 191 MachToInternalIncr ...... 52, 68, 69, 129, 130,

159, 176, 190, 191 ManOverride .............................................. 62 MarkerDirection............................... 158, 159 MarkerDistance................................ 114, 119 MarkerIncrements .................................... 158 MarkerOffset............................ 158, 160, 161 MaxIncrementError.................................. 121 MaxSpindleSpeed ............................ 131, 176 MCodeDelayAppl .................................... 186 MCodeDelayOn ....................................... 186 MCodeMaxAppl ...................................... 186 MeasuringSystemAppl..................... 158, 159 MinSpindleSpeed..................................... 176 ModuloAddrIndex.................................... 185 ModuloCntIndex ...................................... 185 MotorStepsPerRev ..................................... 59 NCAddressFormat group ........................... 23 OverrideAppl ....................................... 60, 62 PitchErrorMaxComp................................ 145 PitchErrorMaxDeltaComp ....................... 145 PLCOverrideByteNo.................................. 60 PolCylMachZeroOffsetAppl.................... 188 PolCylMachZeroOffsetX......................... 188 PolCylMachZeroOffsetY......................... 188 PositionOutputAppl ................................... 59 RefAxesAppl...................................... 48, 115 RefCycleType .......................................... 121 RefDirectionAppl............................. 112, 116 ReferencePointCycle................................ 115 RefPositionDistance......... 113, 119, 182, 184 RefPositionValue ..... 113, 119, 158, 182, 184 RefVelocity1Appl ............................ 112, 117 RefVelocityAppl ...................... 112, 114, 118 RemainingPathAppl................................. 179 ReservedParameterIndex ................. 172, 195 SAxisFeedAppl .................... 50, 66, 123, 139 SercosMaxCommandValue ....................... 65 SercosPositionControl................................ 64 ShiftingSpindleSpeed............................... 176

Page 263: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 263/265

SoftwareLimitMinus ................................ 114 SoftwareLimitPlus ................................... 114 SpindleBCDNo ................................ 127, 187 SpindleFeedbackAppl .............. 128, 176, 187 SpindleG93Appl ...................................... 187 SpindleG96G93Appl................................ 187 SpindleIncrPerRev ........... 128, 176, 187, 191 SpindleInpositionDiff .............................. 187 SpindleInpositionPerCent ........................ 187 SpindleM19Offset.................................... 132 SpindleMaxRPMAppl........................ 65, 131 SpindleMaxSpeedAppl ............ 131, 176, 187 SpindleMinRPMAppl .............................. 131 SpindleOutputAppl .................. 126, 187, 190 SpindleOverride ......................................... 62 SpindleReversalAppl ....................... 132, 187 SpindleSlopeTime.................... 131, 176, 187 SpindleSlopTime...................................... 176 SpindleStopRPM...................... 133, 176, 187 StandstillLagPerCent ......................... 89, 135 SVaxisMaxApplVolt........................ 149, 155 SwitchAxisBCDAppl............................... 190 SwitchAxisBCDNo.................................. 190 SwitchAxisBCDNrOffAppl ..................... 190 SwitchAxisByteAppl ............................... 190 SwitchAxisDelay ..................................... 190 SwitchAxisFeedbackAppl........................ 190 SwitchAxisOutputAppl............................ 190 SwitchAxisReduction............................... 190 SwitchAxisRefAppl ................................. 190 SwitchAxisStartPos.................................. 190 ToolManagementAxis.............................. 192 ToolManagementControl ......................... 192 ToolManagementParameterNo ................ 192 ToolManagementStrobeTime .................. 192 ToolManagementTableType.................... 192 TransmissionRatio ................................... 176 TurningDepthOfCut ................................. 194 TurningEscapeAmount ............................ 194 TurningFinishingAllowance .................... 194 TurningGCodeAppl ................................. 194 TurningMinimumCuttingDepth ............... 194 TurningReturnAmount............................. 194 TurningToolTipAngle.............................. 194 WorkCycleGCode.................................... 195 WorkCycleProgNo................................... 195

WPlaneIndex...................................... 46, 178 ZeroDeltaDeltaFact.................................. 150 ZerolagAccAppl8..................................... 155 ZerolagCorrAcc ....................................... 155 ZerolagCorrFactor1.................................. 150 ZerolagCorrFactor3.................................. 155 ZerolagDeltaDeltaAppl............................ 155 ZerolagFactor3Appl................................. 155 ZerolagFactorData ................................... 155 ZerolagFilterOmegaC ...................... 153, 155 ZerolagReduceAppl ......................... 154, 155

Machine parameter editor..............................30 Changing a value........................................ 34 Compare................................................... 220 Edit and Save ............................................. 32 Find ............................................................ 37 Help.................................................... 34, 217 Help window............................................ 218 Menu ........................................................ 218 Number base .............................................. 34 Save.......................................................... 220

Machine Parameters Analog Axes .............................................. 49 Analog Feed Control................................ 172 Angled Wheel Transformation ................ 173 ART.......................................................... 155 Automatic Spindle Range Step Selection 176 Canned drilling cycles.............................. 195 Canned drilling cycles with letters........... 198 Collinear axes tracking ............................ 198 Diameter Programming.................... 177, 189 Distance Encoded Feedback Systems..... 158,

159 Distance Regulation ................. 162, 164, 169 DWRC...................................................... 178 Electronic Gear Box Programming.......... 179 Extended part offsets................................ 199 Feed Influencing via an External Analog

Signal ................................................... 172 Feed Interpolation .................................... 182 File.mpf.................................................... 201 Gantry Axes ............................................. 183 Handwheel ............................................... 122 Homing .................................................... 115 Infinitely Rotating Axis ........................... 185 Inverse time (G93) ................................... 197

Page 264: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 264/265

Laser power control ................................. 185 Lathe T-code feature ................................ 197 Multiple Spindles ..................................... 187 NC program character assignment............. 38 Parallel Axes ............................................ 187 Polar / Barrel Cam Transformation.......... 188 Rotary-only motion .................................. 197 Sercos axes ................................................ 63 Spindle / Rotation Axis Switch Over....... 190 Spindle Gear Range Selection.................. 176 Thread Cutting ......................................... 191 Tool Management .................................... 192 Turning Cycles......................................... 194 Work cycles.............................................. 199 Work Cycles............................................. 195

MANUAL-Continuous jog............................ 108 Maximum axis velocity ............................ 49, 65 Maximum marker distance error allowed .... 121 Maximum Path Velocity .............................. 134 M-code work cycles .................................... 199 Menu

Machine parameter editor ........................ 218 Machine setup files .................................. 208

Microns ......................................................... 48 MIO 16RO..................................................... 15 MIO 2416 ...................................................... 15 MIO 4AD4DA ................................................ 15 MIO 4ENC4A .................................... 15, 19, 27 MMDriveCfg.ini ............................. 23, 126, 202 MMIOCfg.ini .......................................... 14, 202 MMIOCfg.out................................................. 15 Modular IO Configuration.............................. 16 Monitoring Sercos Ident numbers ................. 78 MP Tool............. See Machine parameter editor Multiple Spindles......................................... 187 NC Start ...................................................... 105 NC Stop ...................................................... 106 Operator message

Clear ........................................................... 13 Override functionality .................................... 60 P999999...................................................... 141 Parallel Axes ............................................... 187 Part program parameter files ...................... 202 Passwords .................................................... 14 PCI - Sercos IO............................................. 18 Pitch Error Compensation ....................... 141

PLC Axis motion in manual mode................... 139 CNC-interface .......................................... 102 Download project....................................... 96 Initial program ......................................... 102 Load project ............................................... 95 Monitoring Option ..................................... 98 Online mode............................................... 97 Programming............................................ 206 Programming Tool ..................................... 94 Search......................................................... 99 Write and Force variables ........................ 100

PLC example Analog drive control POU ............... 240, 250 BCD-code action POU..................... 244, 255 Decode BCD value POU ................. 243, 253 Global data ....................................... 238, 246 Introduction...................................... 238, 246 Ladder Diagram ....................................... 246 Main POU ........................................ 239, 248 Monitor CNC POU .......................... 242, 252 Sercos drive control POU ................ 241, 251 Structured Text......................................... 238

PLC Initial program......................................102 PLC project files ..........................................201 Polar / Barrel Cam Transformation..............188 Position loop enable ....................................106 Position loop gain .......... See GainSpeedFactor RESET-TIMEOUT .........................................22 Rotary Axis Setup....................................57, 69 SBANALOG...................................................27 Screen saver ...............................................258 Sercos

Communication set up ............................... 75 Drive gain factor ........................................ 88 Homing parameters.................................... 88 Operation Mode ......................................... 81 P parameters............................................... 79 Position data............................................... 83 Position loop control .................................. 64 S parameters............................................... 79 Spindle ....................................................... 89 Start Up Ident numbers .............................. 80 Timing........................................................ 75 Transmitter power...................................... 76 Troubleshooting parameters....................... 90

Page 265: MachineMate Start Up ManualMM)/Start Up Manual.… · MACHINEMATE® Start Up Manual page 2/265 Progress is an ongoing commitment at MACHINEMATE INC. We continually strive to offer

MACHINEMATE®

Start Up Manual page 265/265

Velocity data .............................................. 86 SERCOS....................................................... 24 Sercos drive parameter files ....................... 202 Sercos drives configuration file ............... 24, 76 Sercos monitor...................................... 71, 222

Exit ............................................................. 72 File ............................................................. 72

Load drive parameters............................ 74 Save drive parameters ............................ 73

Refresh ....................................................... 72 Select drive................................................. 72 Select ident........................................... 72, 78 Select ring .................................................. 72 Setup .......................................................... 75

Back ....................................................... 76 Boot 0 phase........................................... 75 Boot next phase...................................... 77 Decrease transmitter power.................... 76 Increase transmitter power ..................... 76 Init timing............................................... 75

Sercos Ring CNC Station number.................................. 26 Configuration data................................ 25, 76 Phase sequence........................................... 77

Set up the axes Analog........................................................ 49 Sercos ......................................................... 63

Set up the override function .................... 60, 70 Set_up.pro .................................................. 103 SETUP ........................................................ 204

Backup ..................................................... 234 Backup CNC data......................... 235, 236 Restore CNC data................................. 236

HMI setup ................................................ 209 Logic analyzer.......................................... 223 Machine setup .......................................... 207

Drive configuration .............................. 208 Editor of machine parameters .............. 216

Find next difference ......................... 221 Help.................................................. 217 Menu ................................................ 218 Open MP file.................................... 219 Open MP file for comparison........... 220 Replace............................................. 221 Save MP file..................................... 220

Gantry initializing ................................ 208 Menu .................................................... 208 Pitch error compensation ..................... 208 Sercos monitor ..................................... 222 View..................................................... 208

Machine Setup ........................................... 71 Sercos monitor ....................................... 71

PLC .......................................................... 205 IO configuration................................... 206 PLC programming ............................... 206

Setup page ..................................................204 Software limit switches ................................114 Spindle / Rotation Axis Switch over.............190 Spindle Drive Configuration...................24, 126 Spindle Feedback........................................128 Spindle Gear Range Selection ....................176 Spindle Orientation ......................................132 Spindle Output Channel ..............................126 Spindle Output Polarity................................132 Spindle Setup ........................................57, 126 Spindle Speed .............................................131 Standstill Lag Check....................................135 Stepper

Drive configuration file.............................. 28 Homing without feedback........................ 121 Motor steps per revolution ......................... 59

Stepper Axis Setup........................................59 System programs ........................................195 Testing polarity of axis voltage output ...........57 Testing resolution and counting direction ......54 Thread Cutting.............................................191 Tool Management........................................192 Tool table.....................................................193 Turning Cycles.............................................194 USBSTEPPER ..............................................28 View

Machine setup files .................................. 208 Shortcuts .................................................. 208

Windows Switching active display .......................... 233

Windows 2000 accounts........................13, 257 Windows keyboard shortcuts.........................13 Work Cycles ........................................195, 199 Zero-lag factor .............................................154