Preview only show first 10 pages with watermark. For full document please download

Cimita Manual

   EMBED


Share

Transcript

Cimita Software Manual Cimita Operation Manual Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 1 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual CAUTION USE OF CONTROLS OR ADJUSTMENTS OR PERFORMANCE OF PROCEDURES OTHER THAN SPECIFIED HEREIN MAY RESULT IN HAZARDOUS RADIATION EXPOSURE, ELECTROCUTION AND OTHER HAZARDS. IT IS IMPORTANT TO READ THE MANUALS BEFORE ATTEMPTING TO OPERATE THE LASER. PARTICULAR ATTENTION SHOULD BE PAID TO THE “SAFETY” CHAPTERS IN THIS MANUAL (CHAPTER 4) AND THE LASER MANUALS. Please note that the information given in this manual is for guidance only and does not constitute specifications or imply warranty commitment. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 2 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Contents 1 PREFACE .......................................................................................................................... 5 2 ACKNOWLEDGEMENTS.................................................................................................. 6 3 INTRODUCTION................................................................................................................ 6 4 A TOUR OF CIMITA .......................................................................................................... 7 AXIS DISPLAY AND JOG CONTROLS ............................................................................................7 USER BUTTON TAB ....................................................................................................................9 PROGRAM TAB ..........................................................................................................................9 PROGRAM STATUS AND CONTROL ............................................................................................10 4.1.1 Abort Button ................................................................................................................... 11 4.1.2 Program Messages and Status......................................................................................... 11 Doors Open Indicator ..................................................................................................................... 11 BEAM CONTROLS ....................................................................................................................12 4.1.4 Laser Power .................................................................................................................... 12 4.1.5 Attenuator - Option......................................................................................................... 12 LASER TRIGGERING OPTIONS ..................................................................................................13 4.1.6 Internal............................................................................................................................ 13 4.1.7 PSO - Option .................................................................................................................. 13 4.1.8 External Trigger.............................................................................................................. 13 STATUS REPORTING ................................................................................................................14 MACHINE VISION .....................................................................................................................15 4.1.9 Measurements ................................................................................................................. 15 4.1.10 Multiple Cameras and Lighting ...................................................................................... 16 4.1.11 Start/Stop recording ........................................................................................................ 16 4.1.12 Creating Fiducials........................................................................................................... 16 4.1.13 Calibrating The Machine Vision System ........................................................................ 18 5 GETTING STARTED........................................................................................................ 19 STARTING CIMITA AND LOGGING IN ..........................................................................................19 LOAD, EDIT AND RUN A PROGRAM ...........................................................................................20 6 COORDINATE SYSTEMS ............................................................................................... 23 USER COORDINATE SYSTEMS MODULE ....................................................................................24 6.1.1 System Coordinates ........................................................................................................ 25 6.1.2 Set Origin To Current Location ...................................................................................... 25 6.1.3 Component Coordinate System and autoalignment........................................................ 25 6.1.4 Relative Coordinate System............................................................................................ 28 6.1.5 Recent Coordinate System.............................................................................................. 28 ENTERING JIG INFORMATION ....................................................................................................29 6.1.6 Entering jig locations...................................................................................................... 31 ENTERING COMPONENT INFORMATION .....................................................................................31 ACTIVATION OF COORDINATE SYSTEMS FROM A PROGRAM .......................................................33 USER COORDINATE SYSTEMS AND MULTIPLE PROCESS HEADS .................................................33 USER COORDINATE SYSTEMS AND GALVOS ..............................................................................34 USING THE AUTOALIGNMENT FACILITY .......................................................................................34 7 CONFIGURING CIMITA .................................................................................................. 35 PARAMETER SETUP .................................................................................................................35 MOTION SETUP .......................................................................................................................35 MULTIPLE PROCESS HEADS AND LENS OPTIONS.......................................................................36 MEASUREMENT DEVICES .........................................................................................................37 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 3 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual ADDING USER BUTTONS ..........................................................................................................37 ADDING PROGRAMS TO THE PROCESS LIBRARY .......................................................................37 8 INTRODUCTION TO PROGRAMMING .......................................................................... 38 SUMMARY OF KEY COMMANDS..................................................................................................39 SPECIAL GALVO COMMANDS (GALVO OPTION SYSTEMS ONLY) ...................................................40 EXAMPLE PROGRAM TO CUT A 4 X 2MM RECTANGLE..................................................................41 PROGRAM ARCHITECTURE .......................................................................................................42 8.1.1 Program Header .............................................................................................................. 42 8.1.2 Variable Section.............................................................................................................. 43 8.1.3 Galvo Setup (galvo equipped systems only)................................................................... 43 8.1.4 Main Section................................................................................................................... 43 8.1.5 End Section..................................................................................................................... 44 8.1.6 Sub-routines.................................................................................................................... 44 EXAMPLE PROGRAM TO CUT A 4 X 2MM RECTANGLE..................................................................45 EXAMPLE PROGRAM TO CUT A CIRCLE ......................................................................................47 FARCALL ROUTINES ..............................................................................................................48 A3200 MANUAL PROGRAMMING HELP .....................................................................................49 9 SERVICE OPTIONS......................................................................................................... 50 IO CONTROL ...........................................................................................................................50 APPENDICES ......................................................................................................................... 51 APPENDIX A – LIST OF G-CODES .............................................................................................51 APPENDIX B – LIST OF M-CODES .............................................................................................54 APPENDIX C – G/M CODE SYNTAX ..........................................................................................55 APPENDIX D – EXTENDED COMMANDS .....................................................................................56 APPENDIX E – OXFORD LASERS SPECIAL CALLS ......................................................................61 Lighting Commands ....................................................................................................................... 61 Coordinate Systems ........................................................................................................................ 61 Beam heads and Lens Options........................................................................................................ 62 Beam Heads and Lens Option setup ............................................................................................... 62 Measurement Devices..................................................................................................................... 63 Find Fiducial................................................................................................................................... 63 APPENDIX F –USE OF HOME AND G82, G84 AND G92 WITH USER COORDINATES MODULE......65 APPENDIX G – SETTING PASSWORDS FOR CIMITA ....................................................................66 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 4 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 1 Preface This manual provides reference information on Cimita, the software program that is used to control your Oxford Lasers Micromachining system, which contains a Class 4 laser. The software is password protected, and only trained operators should attempt to run the software. Please ensure that you are familiar with the safety information provided in the system manual and have received adequate training before running the system. Every effort has been made to ensure that the information in this manual is accurate. All information in this document is subject to change without notice. Oxford Lasers makes no representation or warranty, either express or implied, with respect to this document. In no event will Oxford Lasers be liable for any direct, indirect, special, incidental or consequential damages resulting from any defects in this documentation. !! WARNING !! DO NOT OPERATE THIS LASER SYSTEM UNLESS YOU HAVE RECEIVED SAFETY AND OPERATION TRAINING AND HAVE BEEN AUTHORIZED TO USE THIS EQUIPMENT. THIS MANUAL DOES NOT PROVIDE FULL TRAINING ON HOW TO SAFELY OPERATE THE SYSTEM!! THAT IS, IT ASSUMES THAT THE USER HAS RECEIVED APPROPRIATE LASER SAFETY TRAINING AND HAS BEEN AUTHORIZED TO USE THIS EQUIPMENT. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 5 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 2 Acknowledgements Cimita is built using Aerotech A3200 motion control algorithms and motion control language. 3 Introduction Cimita is Oxford Lasers control software. You can use Cimita to control the Oxford Lasers Micromachining system, including full laser and motion control. Cimita also displays a live view from the vision system to aid alignment, inspection and measurement. Figure 3-1. Cimita software window The software enables you to create, edit and run programs that control the motion and turn the laser on and off. These programs can be interactive e.g. prompting the user to enter values or remind the user to complete certain tasks. You can also manually jog the axes and adjust the laser power and other laser parameters. Cimita displays the status of various aspects of the system (relative/absolute movements, laser emission, and safety shutter open/closed). Cimita makes use of the Aerotech A3200 motion control algorithms and motion applications programming language, which is based on the standard motion control language, G-code. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 6 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 4 A Tour Of Cimita In this section, you will learn about the following main parts of Cimita: • The axis and jog controls, which allow you to move your part under the laser interactively. • The program tab, which provides you with full control to edit and run programs. • The User Buttons tab, which makes running common programs easy • The Laser Control panel, which allows you to control all aspects of laser performance. • The Beam control panel, which displays the current laser power and controls the attenuator(s). Axis Display and Jog Controls The axis display displays the current position of the laser/stages. Click on the axis name (X, Y, etc.) to enable them. If the axis name turns yellow, the axis is enabled. If the axis name does not turn yellow, you have encountered an axis fault. Click on the "Home" buttons for the axes that you've enabled to home the axes or click on the ENABLE & HOME ALL Button on the User Buttons tab to enable and home all axes in the system. When the axes are homed, the axis name turns green. Homing the axes returns them to their home position, and also resets the position counters, so that any cumulative errors are eradicated. You should always home all axes after starting up the system. Use the Jog controls to manually position the axes. When you click on the (+) or (–) buttons, the axis will move one step. Specify the step “Distance” to be travelled (in mm) and Feed Rate (in mm/sec) in the jogging section and click on the positive (+) and negative (-) buttons to move the axes. Holding down the (+) or (-) buttons will move the axis at eh specified feedrate until the button is released. The motion generated by jogging is similar to RAPID motion, that is, its acceleration and deceleration are based on the acceleration and deceleration axis parameters. Enable axis here Home axes here Jog axes Figure 4-1. Position tracking display with Jogging section Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 7 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual The Program Position is displayed on the right hand side. This may differ from the absolute position because a software home or parts rotation has been applied, either via G-Code (G84, G92), or using the User Coordinates module. In this case, the program position shows the location relative to current coordinate system, whereas the Absolute position always shows the physical position of the axes relative to their home. If no software home or parts rotation have been applied, then the program position and absolute position should read the same value. However, it is possible that there would be a small discrepancy, indicating that the stage has over or undershot the programmed position. If you see consistently see errors of this kind, please contact Oxford Lasers for support. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 8 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual User Button Tab The User Buttons tab gives a simple and convenient way to run programs that are used often. It provides an array of buttons that immediately run a pre-determined program. A number of these will be pre-configured based on the likely uses of the system. Program Tab The program tab is used for loading existing programs and running them. If you are logged in as an engineer, you can also create new programs or edit existing programs. In addition there is the Immediate Command facility which allows you to enter and execute single line commands. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 9 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual The program window displays the current program and allows you to edit it. You can compile the program at any time using the Compile button. Compiling does not download the program to the controller and does not interrupt any programs that are already running. The Start button compiles and downloads the program to the controller before running it. Examples of A3200 programs can be found in the Oxford Lasers A3200 Programming Manual. Detailed help on the A3200 can be found under Start>All Programs>A3200 Automation>A3200 Help Program Status and Control The region below the User Buttons and Program panels provides information about the program status and controls that allow you to pause or abort the current program. The control buttons toggle between two states: Stop stops program once current move is finished, continue resumes after Stop Feedhold pauses axis motion. Release allows axis motion. Abort stops the program immediately and resets the program. If the program is already stopped, then the Reset button is shown. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 10 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 4.1.1 Abort Button The Abort button stops the current program and halts the motion of the axes, including all jogging. The laser gating is also switched off. However, depending on the structure of the laser program this may or may not switch off the laser beam. The laser beam can be stopped by closing the safety shutter and then the internal laser shutter can be closed in Cimita. Note for systems that uses a galvo Owing to the way that instructions are downloaded to the galvo, if a repeat loop is used in the program, clicking the Abort Motion moves the program to the end of the current loop. Therefore the Abort Motion button needs to be clicked repeatedly until the number of remaining repeats has counted down to zero. In the case of a true emergency (safety critical) use the Emergency Stop button. 4.1.2 Program Messages and Status All programs must be compiled before they can be run. The Compiler Messages windows at the bottom of the Program tab show any compilation errors and warnings. Clicking on an error will highlight the line of code that generated it. The Program Messages window Displays information and messages when commanded by G-code program, for instance, when the program includes a MSGDISPLAY command. When a program is active (running or paused), a progress bar is displayed. Further information about the program state is displayed to the right of the progress bar as shown below. 4.1.3 Doors Open Indicator On systems from 2011 onwards feedhold is automatically enabled if the system doors are open. This means that many programs cannot proceed until the doors are closed. Cimita’s Doors Open image appears to inform you that the doors must be closed before normal operation can resume. Note: Typically this icon appear when the sliding doors at the front of the system are open, but it could also be triggered by the back/side doors. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 11 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Beam Controls The beam controls are to the right of the axis controls. 4.1.4 Laser Power You can use the laser power controls to measure the output power of you laser beam. 1. Set the laser power using either the Attenuator or Laser Diode Current. 2. Open the Safety Shutter. 3. Press the “Zero” button next to the laser power meter display (in the Beam Control tab) to correct for any zero offset. 4. Press the “Measure Power” button, the stages or galvo will move the powermeter under the beam (automatically selecting the correct position) and gate the laser on for 20 seconds. 5. The power is displayed in Cimita, allow a few seconds for the reading to stabilize (this is the thermal response time of the power meter – it is not the laser changing). Note: For a conventional XY axis system then the power meter head is mounted on the Y-axis carriage. For a Galvo XY system the power meter is mounted to one edge of the galvo field. 4.1.5 Attenuator - Option This feature is an option and is fitted at the customer’s request. The incident laser power on the workpiece can be remotely adjusted between 0100% using the laser attenuator unit, which consists of a rotating half waveplate mounted on a rotary axis A and a thin film polariser. 1. Set the percentage of laser power to be transmitted by the attenuator. Value can be set either by the slider, or up/down arrows or by entering value in white box. 2. Press the Operate button. The A axis will move to the correct position to give the specified transmission percentage. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 12 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual The attenuator can also be set from a program, or from the immediate command box. To set the attenuator to 10%, you would type: FARCALL "ATTENUATOR.pgm" s10 Laser Triggering Options 4.1.6 Internal This is the normal method of triggering the laser when the laser is used with conventional X Y axes (for Galvo XY axes then the conventional way is External Trigger). In this mode the laser is triggered from its own internal frequency generator at a constant pulse frequency. This pulse frequency is set in the Laser Control tab. The laser frequency must be entered in kHz and a value between 10 and 50kHz. Once this frequency has been set the laser is then gated On/Off using the commands BEAMON and BEAMOFF, either in a program or by entering the command in the Immediate Commands box and clicking the Execute Command button. 4.1.7 PSO - Option This is a more advanced method of triggering the laser and is offered as an option. It is only used for specialized applications when the X-Y axes are moving at high speed. In this mode the laser pulse frequency is set by the speed of the X-Y axes and the laser pulse firing distance. The laser pulse frequency will be: Laser pulse frequency (Hz) = axis speed (mm/s) / firing distance (mm) For example, an axis speed of 20mm/s and laser firing distance of 0.001mm produces a frequency of 20kHz. 1. To enable PSO triggering, set the laser to external trigger 2. From a program, or the Immediate Command box, enter: FARCALL "XYTRACKINGON.PGM" l Where the value for l (lower case L) is the laser pulse firing distance. This value must be in millimetres and the minimum value is 0.0002mm. Note: The laser is still gated in the normal way using BEAMON and BEAMOFF. 4.1.8 External Trigger This is the normal method of triggering the laser when the laser is used with Galvo X Y axes (for conventional XY axes then the normal way is Internal Trigger). In this Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 13 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual mode the laser is triggered from a frequency generator related to the galvo controller. The user must specify the laser frequency in the program using the commands GALVO LaserOutputPeriod X $PERIOD GALVO LaserMode X 1 Where $PERIOD is inverse of the laser frequency and is expressed in microsecond units. The GALVO LaserMode X 1 command must follow the LaserOutputPeriod command because it is the LaserMode command that downloads the data to the galvo controller. Status Reporting At the bottom of Cimita is a status display bar. From left to right, the bar indicates: • Whether the laser is powered and could be emitting; • Whether the main safety shutter is open; • Whether the laser is receiving a Beam On gating signal; • The active lens systems, displays whether a fixed lens, or a galvo is being used; • The PSO setting. Displays whether PSO is active and, if so, which axes it is linked to (See Laser Triggering section for more information); • Whether the system is in relative or absolute mode. Whether in relative mode the parameters to all motion commands are interpreted as a distance to move, whereas in absolute mode, they are interpreted as the end position. • The access level Engineer/Operator • The current Lens Option, in systems supplied with more than one fixed machining lens. Above the status bar are two boxes. The left box displays system warnings and error, and the right box displays Task Faults and Axis Faults. If a Task Fault appears, you will need to press the fault acknowledge button before you can execute are further commands. The Reset SMC button restarts the Aerotech controller. This does not affect the laser. Resetting takes a few moments to complete, after which you must enable and home your axes. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 14 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Machine Vision Cimita displays real-time images from the machine vision system. The location of the laser is indicated by a dotted red cross. 4.1.9 Motion When the red cursor appear, as above, the vision system is in motion mode. Clicking the image will move the X and Y stages to place the location you click under the laser cross hair. If you hold the mouse button down, the cursor acts like a virtual joy-stick. The further you move the cursor from the laser cross-hair the quicker the motion. 4.1.10 Measurements You can switch to meaurement mode, using the Mode menu item. A Region of Interest (ROI) is displayed on the image in blue to aid alignment or basic feature measurements. You can move the ROI by dragging the centre of the cross hair and change the size of the region by dragging the edges of the ROI. The size and location of the ROI are displayed below the camera view. The location is specified in real units and is relative to the laser cross-hair. This means that when the cross hair is over a feature, the position displayed is the distance that the axes must move to place the feature under the laser. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 15 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Note: if there are multiple lens options associated with the camera, ensure that the correct lens option has been selected from the Engineer Options menu, so that the vision system is calibrated correctly. See section 0 4.1.11 Multiple Cameras and Lighting If the system contains more than one camera these will be displayed on different tabs. The system lighting may be adjusted using the Lighting window, which is launched by clicking on the Lighting menu item. The system may contain one or more sets of LEDs that can be controlled to adjust the Vision System picture. Different LEDs may be displayed in the Lighting window depending on the active camera. The LED Brightness can also be set from a program. See Appendix E – Oxford Lasers Special Calls for details. 4.1.12 Start/Stop recording Use the Start/Stop recording menu items to record a video from the vision system. 4.1.13 Creating Fiducials If your Cimita license support User Coordinate Systems and Auto-align modules, you can use custom fiducials to automatically align to your part. Cimita allows you to create a custom fiducial using the vision system. To create a fiducial, first select measurement mode, then move the feature under the laser cross hair in the vision window and frame the feature by dragging the blue region of interest. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 16 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Then click on the Create Fiducial menu option to open the Create Fiducial window, shown below. You can use theThresholding slider to improve the quality of your fiducial image, before giving the fiducial a name and pressing save. The fiducial is now ready to be used within the Component Editor, and it can also be located using OLCALL FindCustomFiducial. Please see Appendix E – Oxford Lasers Special Calls for more information. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 17 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 4.1.14 Calibrating The Machine Vision System To use the machine vision system to make measurements, or to automatically align to your components before machining, you must first calibrate the display. The field of view should be measured and configured by Oxford Lasers. In some cases, you may need to configure the position of the cameras and lasers regularly to account drift of the cameras/lasers. Please see appendix E- Beam Heads and Lens Option setup for details. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 18 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 5 Getting Started Starting Cimita and Logging In Start the Cimita software from the desktop icon. username and password. A login window will request a There are two username operation levels currently available: Engineer and Operator. The passwords for these levels are initially set the “E”. Please see appendix F for instructions on how to set the passwords. If you log in as Operator, you will be able to run programs, but you will not be able to edit them. If you log in as Engineer, you will be able to edit and run programs, and some additional confiurgation will also be available to you via the Engineer Following correct login, the software will launch after a few seconds and the first screen is shown below. During this phase the software will load the various parameter and configuration files and establish communication with the Aerotech NDrive amplifier modules. This is done using the RTX server application, which runs in the background when the software is started. When this is successfully completed the “Initialization Done OK” message will be displayed at the bottom left corner of the window. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 19 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Load, Edit and Run a Program From the OL Program tab, select either “New” to create a new program or “Load” for an existing program (.pgm). For example, copy and paste (or type) one of these programs into the editor window. Program Example for Galvo XY Axes ;CUT - RECTANGLE ;THIS PROGRAM CUTS A RECTANGLE DVAR $PASSES DVAR $SIDEX, $SIDEY DVAR $MSPEED DVAR $PRF DVAR $XSTART, $YSTART, $ZSTART ;******************************************************* G71 ;ALL UNITS ARE IN MM. SPEED IS IN MM/S ;****************************************************** MSGBOX (DF_MSGBOX_OKONLY + DF_ICON_QUESTION), "Are both the Safety and Laser Shutter Open? Please Open Now" $PRF=MSGINPUT DF_MSGBOX_OKONLY "LASER PULSE FREQUENCY; Enter value in Hz;", $PRF $SIDEX=MSGINPUT mm;"$SIDEX DF_MSGBOX_OKONLY "X SIDE LENGTH ;Enter the length in $SIDEY=MSGINPUT mm;"$SIDEY DF_MSGBOX_OKONLY "Y SIDE LENGTH ;Enter the length in $PASSES=MSGINPUT DF_MSGBOX_OKONLY "NUMBER OF PASSES ;Enter the number of passes;"$PASSES $MSPEED=MSGINPUT mm/s;"$MSPEED DF_MSGBOX_OKONLY "CUTTING SPEED;Enter speed in $XSTART=MSGINPUT DF_MSGBOX_OKONLY "X STARTING POSITION; Enter X position in mm; "$XSTART $YSTART=MSGINPUT DF_MSGBOX_OKONLY "Y STARTING POSITION; Enter Y position in mm; "$YSTART $ZSTART=MSGINPUT DF_MSGBOX_OKONLY "Z-START FOCAL POSITION; Enter Absolute ZPos for starting focal scan, in mm;", $ZSTART ;********************************************************** GALVO LaserOutputPeriod GALVO Laser1PulseWidth X X (1000000/$PRF) 10 GALVO MarkSpeed X $MSPEED GALVO MarkSpeed Y $MSPEED GALVO JumpSpeed X 1000 GALVO JumpSpeed Y 1000 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 20 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual GALVO LaserMode X 1 ;********************************************************* HOME Z G90 G0 X$XSTART Y$YSTART G90 G0 Z$ZSTART G91 G0 X-($SIDEX/2) Y-($SIDEY/2) G4 F0.25 RPT $PASSES G1 X$SIDEX G1 Y$SIDEY G1 X-$SIDEX G1 Y-$SIDEY ENDRPT G4 F0.1 G0 X($SIDEX/2) Y($SIDEY/2) G4 F0.01 G91 M2 Program Example for Conventional XY Axes ; Simple A3200 Program ENABLE X Y ; turn on servo loop control for the axes HOME X Y ; move to the "0" reference position INCREMENTAL ; set Incremental programming mode METRIC ; set to use metric programming units SECONDS ; speeds interpreted as units/second F100 ; specify speed as 100 mm/second REPEAT 10 ; start repeat loop LINEAR X2.54 Y2.54 ; move axes incrementally DWELL 1 ; wait for one second ENDRPT ; end of repeat loop ABSOLUTE ; set absolute programming mode LINEAR X0 Y0 F500 ; move to start position at 500 mm/second Save the program and press the compile button. Your program will be compiled (to the controllers required internal format) and any errors will be reported in the Compiler Messages window. If errors are indicated, click on an error message to highlight the error line in the editor window. Correct the error and recompile. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 21 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual The program you have just loaded into the editor window is automatically selected as the program to run. Press the Start (F2) key, to begin program execution. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 22 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 6 Coordinate Systems Oxford Lasers systems use two methods for moving the laser relative to your component. Most systems use X Y stages to move the jig holding your component under the laser, however some systems use Galvos to deflect the laser beam. In either case the our systems are configured so that when you look at the part through the system window the laser motion follows conventional x, y axes. I.e. incrementing X, moves the laser to the right (or the component to the left) and incrementing Y moves the laser away from you (or the component towards you). View of Jig from system windows, showing the direction that the laser will move when the X and Y axes are incremented Typically the stages home to the corner of the system, so that the axis coordinates for your part are likely to be large numbers. However, you can modify the coordinate system by specifying a software home, using G92. After applying a G92 the absolute positions in the axis display will show the position from the system home, whereas the Program position will show the position relative to the software home. You can also apply a rotation to the coordinate system using G84. The following section Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 23 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual describes the User Coordinate Systems module. This provides a much more convenient way to set up and reuse custom coordinate systems. User Coordinate Systems Module The User Coordinate Systems module is an optional module that makes it easier to reuse programs. Programs can be written relative to an arbitrary origin, perhaps identified from a technical drawing. The User Coordinates module provides a number of methods for you to specify where the part to be machined is located and oriented within the system. This defines a coordinate system in which the program is to run. Cimita’s User Coordinates module automatically sets the software home and parts rotation for you. Without this module you can do this manually using G92 and G84. Please refer to A3200 help. When User Coordinates are enabled, you will see an additional panel above the axes controls. This displays the name of the current coordinate system. All motion commands issued via the Immediate Command panel, or from within a program will take effect relative to the current coordinate system. User Coordinate System System/Absolute Coordinate System Clicking on the “?” button to the right of the coordinate system name displays further information for the current coordinate system, see below. The origin is specified relative to the system home, and the rotation is the rotation of the axes about the new origin. After issuing the following command G90 G1 X0 Y0 which sends the axes to 0,0, the program position is (0,0), but the absolute position is equal to origin displayed here. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 24 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual To activate a user coordinate system, use the Coordinate Systems menu. This provides four ways to activate a new coordinate system. 6.1.1 System Coordinates Select System Coordinates to reset the coordinate system to Origin (0,0), rotation 0 degrees. When System Coordinates are activated, the program position should be the same as the absolute position. 6.1.2 Set Origin To Current Location This option does not affect the rotation, but sets the origin to the current position of the alignment camera, or the laser. Note that in systems with multiple process heads, the active process head is used. 6.1.3 Component Coordinate System and autoalignment Select Custom Coordinate System to activate a standard coordinate system for component that you machine more than once. Once information about your jig and component has been entered into Cimita, this option provides a quick method to activate the correct coordinate system for your part. Select the jig location, perhaps a particular pocket, and the name of your component. Information about the Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 25 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Coordinate System will be displayed at the bottom of the window, and when you press OK, the coordinate system is activated. Note that if your system contains more than one process head or lens option then the coordinate system is adapted to place the specified component under the current process head. However, if you later change process head the coordinate system will be automatically translated to the new process head. Note that there is also an Autoalign button, which may be used to locate your component more precisely. In order to use this feature, you need to buy the autoalignment module, and provide information about two or more markers, or fiducials, on that can be used to locate the component. When the Autoalign button is pressed, the stages move to place each fiducial under the vision system. The exact location of the fiducial is automatically measured and you will be prompted confirm that the fiducial has been successfully found. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 26 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual When all the fiducials have been located, Cimita automatically calculates a correction to the nominal coordinate system. Information about the offset and rotational correction are displayed above the autoalign button, and the information at the bottom of the window is also updated. Note: Before selecting Component Coordinate System, check that the correct jig is activated, by clicking on “Change Jig” on the Coordinate Systems menu. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 27 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 6.1.4 Relative Coordinate System This option allows you to set up a new Coordinate System without entering jig and component information. It is used for one-off tasks, for instance, when you have chosen an origin by jogging the stages and watching the vision window. You can enter the offset and rotation manually, relative the activate coordinate system. Information about the Coordinate System will be displayed at the bottom of the window, and when you press OK, the coordinate system is activated. 6.1.5 Recent Coordinate System When you select Recent Coordinate System you get a list of recently used coordinate systems. If you hover over an entry in this list, the details of the CS are displayed, and when you click on an entry the CS is immediately activated. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 28 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Entering Jig Information Before the Component coordinate system can be used, information about your jig and components must be entered. When you select “Edit Jigs” from the Coordinate System menu, a list of jigs is displayed. Each entry in this list corresponds to a physical jig that may be fitted to your system: Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 29 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual You may edit an existing jig, or add a new jig. The jig editor allows you to define a number of jig locations. These would typically be the position of your jig pockets. When you add a new jig location, you are prompted to enter a name and an offset from the system home. That is to say, the offset is the jig location in absolute coordinates – see note below. You may also specify a rotation. Typically you would leave the rotation as zero, but you may want to specify a rotation for the particular pockets are rectangular and some are aligned at 90 degrees to the others, this could be convenient. After entering information about a new jig, you can select the jig under “Change Jig” on the Coordinate Systems menu. This will make your new jig locations available when you select the Component Coordinate Systems. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 30 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 6.1.6 Entering jig locations The coordinates that you should enter are those required to place the jig location under the alignment camera, in the centre of the FOV. If your license supports autoalignment, the jig locations do not need to be entered very precisely, however, they must be accurate enough to ensure that the fiducials will fall within the field of view. If your system’s alignment camera is not in line with the laser process head, or if your system contains multiple process heads, the offset from the camera to the current laser head will be applied whenever you apply a component coordinate system, and this will be reflected in the Coordinate System name. For Example, Component AX02 on Standard Jig, pocket 1, under Process Head 1. Note that when you select a different process head from the Engineering Options menu, the coordinate system is not updated. You need to reapply the coordinate system using the Component Coordinate System option from the Coordinate Systems menu.Entering Component Information. Entering Component Information When you select “Edit Components” on the Coordinate Systems menu, you are presented with a list of existing components. You can edit an existing component, or add a new component. The component editor allows you to specify a drawing offset and rotation and optionally enter details of fiducials that can be used for autoalignment.. The Offset at the top of the form refers to the offset of the component coordinate system relative to jig location that it will be placed on. So, if the jig locations you have entered are the centres of your pockets, but your programs are written relative to an origin specified in a technical drawing, that is in one corner of the part, you can enter the offset here. Also, you can enter a rotation of the axes about your new origin. If you do not require autoalignment, or have not purchased the autoalignment module, you do not need to enter any further information in this form. However, if you want to perform autoalignment, you will need to specify the location and shape of two Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 31 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual or more fiducials. The positions are entered relative to your drawing coordinate system, which makes them simple to read from a technical drawing. You can add or remove fiducials and enter information about them on the right. Enter the location of the fiducial in drawing coordinates, then specify the type of the fiducial and the size and line width. The following types are provides • Cross • Circle • Corner • Square • Equilateral triangle • Custom For all types except the corner, the location of the fiducial is defined as the fiducial centre. For the corner the location you should enter is the point at which the two lines meet. For a custom fiducial the centre of mass of the shape is used as the fiducial location. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 32 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual The check box “Black on white” allows to to select whether your fiducials are darker or paler than their background. When you have entered the details for your fiducial, press the preview button, to check that the fiducial looks right. The image that Cimita displays will be the size that the fiducial will appear in the vision system. Activation of Coordinate Systems from a Program It is possible to establish a user coordinate system programmatically, please see Appendix E – Oxford Lasers Special Calls for details. User Coordinate Systems and Multiple Process Heads User Coordinate Systems are particularly helpful if you have a system with multiple process heads. When you change the active process head or lens option, the coordinate system is automatically translated to the new process head. The active process head is displayed as part of the Coordiate Systems Information, when you press the ? button to the right of the Coordinate System name. Only “System” coordinates are not translated when the process head or lens option is changed. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 33 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual User Coordinate Systems and Galvos If your beam line supports galvos, then in addition to applying the offset and rotation to the X and Y stages, and a rotation in the X Y plane, a rotation will automatically be applied to the Galvo axes. However, when applying coordinate systems programmatically, from a program, the galvo rotation must be applied by issuing the GALVOROTATIONON on the line immediately after the new coordinate system is activated. The Coordinate System Information displays whether or not galvo rotation has been applied. Appendix E – Oxford Lasers Special Calls Using the autoalignment facility The autoalignment system can theoretically locate ideal fiducials to 0.05 pixel. For real fiducials, an accuracy of 0.1-1 pixels is a more realistic expectation. For optimal accuracy of rotation, place fiducials as far apart as possible on the component. Where appropriate, make the drawing origin the same as the jig location. This simplifies the set up. Just enter (0,0) as the drawing offset. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 34 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 7 Configuring Cimita Cimita should be installed and configured by an Oxford Lasers engineer. However, if you are logged in as an engineer, some additional configuration is possible through the Engineer Options Menu. Parameter Setup Selecting Parameter Setup allows you to edit the parameter file and calibration files. Please see Aerotech help for instructions. Motion Setup You can change from incremental or absolute mode. When in incremental mode, the parameters to all movement commands (e.g. G1) are the distance that should be moved. When in absolute mode, the parameters to all movement commands are the final destination for the move. You can also change the Abort type, to specify whether the program should halt immediately, or whether the current motion command should be completed. Velocity blending can be set on or off. It applies only to contoured motion and blends multiple motion commands into one continuous motion path. This mode does not force the controller to decelerate to zero between consecutive contoured moves. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 35 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Multiple Process Heads and Lens Options If your system is supplied with more than one process head, you should select the current process head under “Select Process Head”. When the system is correctly configured this will automatically select the calibration for the Machine Vision system and for the trepan, and configure user buttons that allow you to move between the current process head and the camera. Selecting the Process Head within Cimita will automatically configure the laser to output from the specified head. In some systems some manual procedure may also be required. Some process heads support more than one lens option, or wavelength. In this case, the appropriate option should be selected from the Menu. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 36 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual OLCALL commands are available to retrieve the current working position relative to the alignment camera, and the trepan calibration for the current laser optic and lens option. Please see Appendix E – Oxford Lasers Special Calls for details. If your license supports User Coordinate Systems, then changing process head or lens option will automatically translate the active user coordinate system to the new process head and lens option. Measurement Devices The positions of the various measurement devices within the system are specified in the configuration file, and may be queried using OLCALLS. Please see Appendix E – Oxford Lasers Special Calls for details. Adding User Buttons The user buttons are stored in c:\programddata\oxford lasers\cimita\buttons. Note that this folder might be hidden! There are two folders Operator and Engineer. Save a program file in one of these folders to add it to the associated button page within Cimita. The program should be named BUTTON .pgm. E.g. “BUTTON11 Enable and Home.pgm”. If you put a comment at the very top of the file, this message will appear as a “tool tip” when you hover the mouse over the button. Adding Programs To The Process Library The process library contains programs that make particular features, for instance a hole of given diameter, or a slot. The process library programs are tuned for your application and system. These can be FARCALLed from your own programs to produce the end result you require. Sometimes you might want to add new features this collection. Typically this would be done by copying and then editing an existing program. Before the program can be FARCALLed you will need to download the program to the Aerotech Controller. You can do this in one of two ways. Either add an ADDPROGRAM “C:\Process Library\.pgm” command into one of your programs, so that it will be added before it is FARCALLed. Alternatively, you can add it to the list in c:\ProgramData\Oxford Lasers\Cimita\AerotechConfig.xml. This file contains a list of programs that will be automatically downloaded to the Aerotech Controller after a reset. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 37 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 8 Introduction to Programming The aim of this section is to provide a basic understanding of the programming language including commonly used commands and simple program layouts. It is not the purpose of this manual to provide a complete guide to all the commands and programming options within the A3200’s capability. The versatility of the package provided means that this would be far beyond what is typically required for a general purpose machining system. Should advanced programming training be required then please contact Oxford Lasers. In our experience, we have found that the best way to train new users to programming is by way of annotated examples. For a full list of commands see Appendices I,J,K & L. For detailed explanation of these commands and their syntax go to the Aerotech Nview Help. START > PROGRAMS > AUTOMATION 3200 > Nview Help. Note that owing to the difference in the way that commands are downloaded to the galvo controller compared to conventional axes, greater care must be taken with programming galvo axes, especially structured programming using repeat or conditional statements. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 38 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Summary of key commands G90 Sets the system in ABSOLUTE coordinates. E.g. G90 G1 X8 Y7 send the axis to position X=8 and Y=7 relative to the home or program 0,0 position. Controller remains in ABSOLUTE until cancelled by a G91 G91 Sets the system in INCREMENTAL . E.g. G91 G1 X8 Y7 sends the axis a distance of X=8 and Y=7 relative to the current position. . Controller remains in INCREMENTAL until cancelled by a G90. G70 Units of distance are inches G71 Units of distance are mm G0 Index or Rapid move. For index moves involving more than one axis, the axes start at the same time but do not necessarily finish at the same time. Speed for conventional axes will be at a default value unless specified otherwise. Speed for galvo is set by GALVO JumpSpeed. For index moves involving Galvo axes, the laser beam is automatically switched OFF for this move. For moves only involving non-galvo axes then there is no control of the beam on/off G1 Linear move. For moves involving more than one axis, The G1 or LINEAR command generates synchronized motion along a straight line. All specified axes start and stop motion at exactly the same time. Speed for conventional axes will be at a default value unless specified otherwise. Speed for galvo is set by GALVO MarkSpeed. For linear moves involving Galvo axes, the laser beam is automatically switched ON for this move. For moves only involving non-galvo axes then there is no control of the beam on/off G2 Produces a clockwise (CW) circular arc . For G2 moves involving Galvo axes, the laser beam is automatically switched ON for this move. For moves only involving non-galvo axes then there is no control of the beam on/off G3 Produces a counter- clockwise (CW) circular arc . For G2 moves involving Galvo axes, the laser beam is automatically switched ON for this move. For moves only involving non-galvo axes then there is no control of the beam on/off G4 Produces a dwell or delay in the program execution. DVAR Used to declare variables (at the start of a program) REPEAT M2 Use a repeat loop to unconditionally execute a group of program blocks a specified number of times. The end of the block for repeating should be terminated with an ENDREPEAT command. Use this command to end the program. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 39 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Special Galvo commands (Galvo option systems only) GALVO LaserOutputPeriod X $period Used to set the laser inter-pulse period (inverse of laser frequency). Units are microseconds. E.g to set the laser to GALVO run at 500Hz use LaserOutputPeriod GALVO Laser1PulseWidth X 10 X 2000 Sets the pulsewidth of the trigger signal for the laser. This command is necessary but does not need changing. GALVO MarkSpeed X 5 Sets the speed of movement for the X axis when G1/G2/G3 commands are used. GALVO MarkSpeed Y 5 Sets the speed of movement for the Y axis when G1/G2/G3 commands are used. GALVO JumpSpeed X 1000 Sets the speed of movement for the X axis when the G0 commands is used. GALVO JumpSpeed Y 1000 Sets the speed of movement for the X axis when the G0 commands is used. GALVO LaserMode X 1 Specifies the type of triggering protocol used and also is the command which downloads the previous galvo commands to the galvo controller. This command is necessary but does not need changing. LOADCALFILE "C:\A3200\Ini\S4LFT0162_121_10.gcal" , GALVO_CAL, X Load the galvo calibration file from a specific folder. This command is necessary but does not need changing. Once issued it does not need issuing again unles the SMC controller is reset or Cimita closed. GALVO LaserOverride X ON Command to turn the laser beam ON when a G1 command is not being used eg when drilling a percussion hole. GALVO LaserOverride X OFF Command to turn the laser beam OFF after the LaserOverride has been set to ON. GALVO LaserOverride X AUTO Command to restore the automatic laser on with G1/G2/G3 type moves and laser off with G0. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 40 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Example Program to cut a 4 x 2mm rectangle Here is an example of a simple program which cuts or scribes a rectangle. The program has been annotated with comments. ;CUT - RECTANGLE ;THIS PROGRAM CUTS A RECTANGLE 4 x 2 mm ;THE STARTING POSITION IS THE CENTRE OF THE RECTANGLE G71 ;ALL UNITS ARE IN MM. SPEED IS IN MM/S G90 G0 X10 Y10 ;CENTRE OF RECTANGLE, ABSOLUTE COORDINATES. G90 G0 Z2.4 ;GO TO FOCUS POSITION, ABSOLUTE COORDINATES. G91 G0 X-2 Y-1 ;GO TO FIRST CORNER OF RECTANGLE. ;NOTE THAT THE G91 PUTS THE SYSTEM IN INCREMENTAL MODE G4 F0.25 ;PAUSE FOR 0.25 SECONDS $DO0.X=1 ;SET DIGITAL OUTPUT TO GATE LASER ON REPEAT 2 ;REPEAT THE LOOP 2 TIMES G1 X4 ;MOVE +4MM IN X. G1 Y2 ;MOVE +2MM IN Y (INCREMENTAL) G1 X-4 ;MOVE -4MM IN X (INCREMENTAL) G1 Y-2 ;MOVE -2MM IN Y (INCREMENTAL) NOTE EARLIER G91 MEANS THIS IS INCREMENTAL. ENDRPT ;END OF REPEAT LOOP $DO0.X=0 ;SET DIGITAL OUTPUT TO GATE LASER OFF G0 X2 Y1 ;MOVE BACK TO CENTRE OF RECTANGLE M2 ;END OF PROGRAM Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 41 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Program Architecture To aid development of programs it is useful to have a standard architecture to the program so that certain functions of the program are always in the same location within the program and so that common routines can be easily incorporated. The architecture we shall use is Header section - declare variables Variable section - assign initial values to variables or use dialogue boxes Galvo Setup - set up galvo parameters. Only req if Galvo is fitted Main section - G code programming of axes End section - end program (M2 command) Subroutines - put all sub-routines after the end of program 8.1.1 Program Header This is the first part of the program the Header. In this section of the program we put all the code that must always be included at the start of a program. You can include some lines at the start of the program which maybe include the name of the program and a brief description. All of these lines must be prefixed by a semicolon otherwise the controller try to execute them and will fail because they are not commands. The first executable lines of the program must be declaration of all the variables used (using the DVAR command). All variables must be declared before any other type of executable program line. You can have more than one variable declared on a single line. Thus a typical header section will now look like ;CUT - RECTANGLE ;THIS PROGRAM CUTS A RECTANGLE DVAR $PASSES DVAR $SIDEX, $SIDEY DVAR $MSPEED DVAR $PRF DVAR $XSTART, $YSTART, $ZSTART G71 ;ALL UNITS ARE IN MM. SPEED IS IN MM/S Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 42 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 8.1.2 Variable Section In this section values are assigned to variables or message box commands are used enable the user to input variables. In this example $SIDEX and $SIDEY are entered by the user via the message box command. $PRF=1000 $MSPEED=5 $XSTART=0 $YSTART=0 $ZSTART=2.4 $PASSES=2 $SIDEX=MSGINPUT mm;"$SIDEX $SIDEY=MSGINPUT mm;"$SIDEY DF_MSGBOX_OKONLY "X SIDE LENGTH ;Enter the length in DF_MSGBOX_OKONLY "Y SIDE LENGTH ;Enter the length in 8.1.3 Galvo Setup (galvo equipped systems only) These lines of code are necessary for the initial galvo setup. This section is only required if you are using a scanning galvo system. GALVO LaserOutputPeriod GALVO Laser1PulseWidth X X (1000000/$PRF) 10 GALVO MarkSpeed X $MSPEED GALVO MarkSpeed Y $MSPEED GALVO JumpSpeed X 1000 GALVO JumpSpeed Y 1000 GALVO LaserMode X 1 8.1.4 Main Section The main section of the program is as before with no changes HOME Z G90 G0 X$XSTART Y$YSTART G90 G0 Z$ZSTART G91 G0 X-($SIDEX/2) Y-($SIDEY/2) G4 F0.25 $DO0.X=1 ;SET DIGITAL OUTPUT TO GATE LASER ON RPT $PASSES G1 X$SIDEX G1 Y$SIDEY G1 X-$SIDEX Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 43 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual G1 Y-$SIDEY ENDRPT $DO0.X=0 ;SET DIGITAL OUTPUT TO GATE LASER OFF G4 F0.1 G0 X($SIDEX/2) Y($SIDEY/2) G4 F0.01 G91 8.1.5 End Section The end section simply has the M2 command which the G/M code command which denotes the end of the program. M2 8.1.6 Sub-routines In our simple example program we have not used sub-routines. For clarity, subroutines are best placed at the end of the program (after the M2). To declare the start of a subroutine use DFS . At the end of the subroutine use ENDDFS (no name required). The sub-routine is called from within the main body of the program using CALL . Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 44 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Example Program to cut a 4 x 2mm rectangle Here is an example of a program that can be used to drill a series of percussion holes, incrementing the Z height for each hole. In this example DWELL has been used instead of G4 (it is equivalent). ;PERCUSSION DRILL FOCUS TEST ; drills array of holes in percussion mode increasing z value DVAR $DRILLTIME, $PRF DVAR $XSTART, $YSTART, $ZSTART DVAR $XPITCH, $YPITCH, $ZPITCH DVAR $SPEED, $STEPNO, $resp, $VAR1 ;********************************************************************** MSGCLEAR -1 " " G71 ; clear all messages ; metric mode MSGBOX (DF_MSGBOX_OKONLY + DF_ICON_QUESTION), "Are both the Safety and Laser Shutter Open? Please Open Now" $PRF=MSGINPUT DF_MSGBOX_OKONLY "LASER PULSE FREQUENCY; Enter value in Hz;", $PRF $DRILLTIME=MSGINPUT DF_MSGBOX_OKONLY "LASER DRILL TIME; Enter laser drill time, in sec;" $XSTART=MSGINPUT DF_MSGBOX_OKONLY "X-START FOCAL POSITION; Enter Absolute XPos for starting focal scan, in mm;" $YSTART=MSGINPUT DF_MSGBOX_OKONLY "Y-START FOCAL POSITION; Enter Absolute YPos for starting focal scan, in mm;" $ZSTART=MSGINPUT DF_MSGBOX_OKONLY "Z-START FOCAL POSITION; Enter Absolute ZPos for starting focal scan, in mm;" $XPITCH=MSGINPUT DF_MSGBOX_OKONLY "X-PITCH; Enter X-Axis Pitch Distance in mm;" $YPITCH=MSGINPUT DF_MSGBOX_OKONLY "Y-PITCH; Enter Y-Axis Pitch Distance in mm;" $ZPITCH=MSGINPUT DF_MSGBOX_OKONLY "Z-PITCH; Enter Z-Axis Pitch Distance in mm;" $STEPNO=MSGINPUT DF_MSGBOX_OKONLY "Laser Drill Range; Enter Total Number of Laser Spots;" ;********************************************************************* G90 G0 X$XSTART Y$YSTART G90 G0 Z$ZSTART F1 ; sets z_axis in start pos G91 $VAR1 = 0 ; variable to use for loop counting Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 45 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual REPEAT $STEPNO $DO0.X=1 DWELL $DRILLTIME $DO0.X=0 ;GATE LASER ON ; drill time in sec ;GATE LASER OFF G91 G0 X$XPITCH Y$YPITCH Z$ZPITCH ; move to next hole position $VAR1 = $VAR1 + 1 ; loop counter MSGCLEAR 1 MSGDISPLAY 1, "{#D}" "Hole Number = ", $VAR1 ENDREPEAT G91 G0 X(-$XPITCH*$STEPNO) ; move back to start psoition G91 G0 Y(-$YPITCH*$STEPNO) G91 G0 Z(-$ZPITCH*$STEPNO) MSGCLEAR 1 G91 M2 ; end program Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 46 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Example Program to cut a circle Here is an example of a program that can be used to cut or scribe a circle. ;CUT – CIRCLE DVAR $PASSES, $DIAMETER, $MSPEED, $PRF DVAR $XSTART, $YSTART, $ZSTART G71 ;ALL UNITS ARE IN MM. SPEED IS IN MM/S ;*********************************************************************** MSGBOX (DF_MSGBOX_OKONLY + DF_ICON_QUESTION), "Are both the Safety and Laser Shutter Open? Please Open Now" $PRF=MSGINPUT DF_MSGBOX_OKONLY "LASER PULSE FREQUENCY; Enter value in Hz;", $PRF $DIAMETER=MSGINPUT DF_MSGBOX_OKONLY "CIRCLE DIAMETER ;Enter the diameter in mm;"$DIAMETER $PASSES=MSGINPUT DF_MSGBOX_OKONLY "NUMBER OF PASSES ;Enter the number of passes;"$PASSES $MSPEED=MSGINPUT mm/s;"$MSPEED DF_MSGBOX_OKONLY "CUTTING SPEED;Enter speed in $XSTART=MSGINPUT DF_MSGBOX_OKONLY "X STARTING POSITION; Enter X position in mm; "$XSTART $YSTART=MSGINPUT DF_MSGBOX_OKONLY "Y STARTING POSITION; Enter Y position in mm; "$YSTART $ZSTART=MSGINPUT DF_MSGBOX_OKONLY "Z-START FOCAL POSITION; Enter Absolute ZPos for starting focal scan, in mm;", $ZSTART ;*********************************************************************** G90 G0 X$XSTART Y$YSTART G90 G0 Z$ZSTART F5 ; sets z_axis in start pos G91 ; change to incremental G0 Y-($DIAMETER/2) ; move from centre to start point on circle G4 F0.25 $DO0.X=1 ;GATE LASER ON REPEAT $PASSES G2 X0 Y0 I0.00000 J($DIAMETER/2) ENDREPEAT $DO0.X=0 ;GATE LASER OFF G0 Y($DIAMETER/2) ; move back to centre M2 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 47 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual FARCALL routines Some routines are also available for the user to call within a program using the FARCALL command and specify the key parameters (size, laser power etc) associated with this routine. Certain other functions such as the Attenuattor function can also be FARCALLed. The attenuator has just one input variable, for example, if the user wants to set the laser power to 10% of its maximum the following command must be used FARCALL "ATTENUATOR.pgm" s10 Whereas the process routines often have many input variables. In general the user will need to establish experimentally what the best variables are for a given process (material, thickness, feature size etc). Another routine available for Galvo systems is FARCALL "GXY_TREPAN.PGM" o$PILOT l$SPIRALNO q$RADNO r$RADIUS This process - first drills a percussion hole for time period $PILOT. - then trepans a circular path at a diameter 0.1mm less than the final diameter and repeats this path a number of times = $SPIRALNO - it then increments out in diameter by 0.005mm and does another circular path $SPIRALNO times. This is repeated until the final diameter = 2 x $RADIUS is reached. - at the final diameter the circular path is repeated $RADNO times There are many other routines which are included in the Automation on most systems. The 2 above are just examples. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 48 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual A3200 Manual Programming Help Cimita makes use of the Aerotech commands and algorithms. For detailed list of programming commands and strategies the user is referred to the Aerotech A3200 programming manual Nview Help. Start> All Programs > Automation 3200 > Nview Help Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 49 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual 9 Service Options The Service Options menu item should only appear when a service dongle is attached to the system. If you see this menu option as an end user, please contact Oxford Lasers. The Service Options should only be accessed by a trained Service Engineer from Oxford Lasers. IO Control This allows user to monitor status of inputs and manually set/override outputs. Inputs & Outputs are associated with one of the axis drive units. Default for most systems is X axis. See A3200 Help for more information on system IO. SAFETY WARNING !! THESE OUTPUTS ARE USED TO CONTROL FEATURES SUCH AS THE LASER GATE ON/OFF AND VACUUM CHUCK. MANUALLY OVERRIDING THE OUTPUTS COULD CAUSE THESE DEVICES TO TURN ON IMMEDIATELY. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 50 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendices Appendix A – List of G-codes See Aerotech Nview Help for detailed information on individual commands. G-Code Description E F G0 G1 G2 G3 G4 G8 G9 G12 G13 G16 G17 G18 G19 G20 G21 G22 G23 G24 G26 G27 G28 G29 G34 G35 G36 G37 G40 G41 G42 G43 G44 G45 G46 G47 G51 G52 G53 G54 G55 G56 Rotary Feedrate Specifier Linear Feedrate Specifier Rapid Traverse, point-to-point Motion Linear Interpolation CW Circular Interpolation on Coordinate System #1 CCW Circular Interpolation on Coordinate System #1 Dwell Instantaneous Acceleration Force Deceleration to Zero Velocity (See G109 also) CW Circular Interpolation on Coordinate System #2 CCW Circular Interpolation on Coordinate System #2 Assign Coordinate System 1 Axes X/Y Plane Selection on Coordinate System #1 Z/X Plane Selection on Coordinate System #1 Y/Z Plane Selection on Coordinate System #1 Disable Normalcy Mode Normalcy On Left Normalcy On Right Corner Rounding Mode - (Not implemented as this time, use VelTimeConst) Disable Corner Rounding Mode - (Not implemented as this time, use VelTimeConst) Assign Plane 2 Axes X/Y Plane Selection on Coordinate System #2 Z/X Plane Selection on Coordinate System #2 Y/Z Plane Selection on Coordinate System #2 Define Safe Zones Minimum Value Define Safe Zones Maximum Value Enable Safe Zones Disable Safe Zones Disable Cutter Compensation Enable Cutter Compensation Right Enable Cutter Compensation Left Set Cutter Compensation Radius Set Cutter Compensation Axes Disable Polar/Cylindrical Coordinates Activate Polar Coordinates Activate Cylindrical Coordinates Monitor touch probe (or other sensor) command Define Polar/Cylindrical Axes Cancel Fixture Offsets Set Fixture Offset #1 Set Fixture Offset #2 Set Fixture Offset #3 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence Modal Y Y Y Y Y Y n/a N N N N N Y Y Y Y Y Y Immediate Command Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y page 51 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual G57 G58 G59 G60 G61 G63 G64 G65 G66 G67 G68 G70 G71 G72 G75 G76 G82 G83 G84 G90 G91 G92 G93 G94 G95 G96 G97 G98 G99 G100 G101 G108 G109 G110 G111 G112 G113 G114 G115 G116 G117 G118 G120 G121 G143 G144 G149 G150 G151 G153 G165 G166 G202 G203 Set Fixture Offset #4 Set Fixture Offset #5 Set Fixture Offset #6 Set Acceleration Time Set Deceleration Time Set Sinusoidal Acceleration Mode Set Linear Acceleration Mode Set Acceleration Rate for linear type axes Set Deceleration Rate for linear type axes Acceleration/Deceleration Time Based Acceleration/Deceleration Rate Based English Unit Programming Mode Metric Unit Programming Mode Machine Step Programming Mode User Units per Minute User Units per Second Clear a single G92 command. Mirror Rotate Absolute Programming Mode Incremental Programming Mode Software Home (Set program or preset positions) Inverse Feedrate Mode (User unit per time) Normal Feedrate Mode (Time per user unit) Feedrate per Spindle #1 Revolution Mode Constant Spindle #1 Surface Speed Programming - Not Implemented at this time Rotary Velocity Units Spindle #1 Feedrate Programming Rotary Axis Feedrate and Accel/Decel Dominant Linear Axis Feedrate and Accel/Decel Dominant Disable spindle shutdown mode Enable spindle shutdown mode No Deceleration to Zero Velocity Deceleration to Zero Velocity Normal Circular Interpolation Reverse Circular Interpolation Block Delete Mode ON Block Delete Mode OFF Optional Stop Mode ON Optional Stop Mode OFF Dry Run Mode Enabled Dry Run Mode Disabled Circular Center Points in Absolute Coordinates Disable MFO & Feedhold during Jogging Enable MFO & Feedhold during Jogging Activate Positive Cutter (Tool) Offsets Activate Positive Cutter (Tool) Offsets Deactivate Cutter (Tool) Offsets Clear Scaling Factor Set Scaling Factor Suspend All Fixture Offsets Set Acceleration Rate for rotary type axes Set Deceleration Rate for rotary type axes Elliptical Interpolation CW on Coordinate System #1 Elliptical Interpolation CCW on Coordinate System #1 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y n/a Y Y Y Y n/a Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y Y Y Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y page 52 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual G212 G213 G295 G296 G297 G300 G301 G359 G360 G361 G395 G396 G397 G495 G496 G497 Block Delete2 Mode ON Block Delete2 Mode OFF Feedrate per Spindle #2 Revolution Mode Constant Spindle #2 Surface Speed Programming Rotary Velocity Units Spindle #2 Feedrate Programming Disable Multi-Block Look-Ahead Enable Multi-Block Look-Ahead Motion Done after Last Command Delivered to Drive Motion Done after Last Command Generated Motion Done after In-Position Feedrate per Spindle #3 Revolution Mode Constant Spindle #3 Surface Speed Programming Rotary Velocity Units Spindle #3 Feedrate Programming Feedrate per Spindle #4 Revolution Mode Constant Spindle #4 Surface Speed Programming Rotary Velocity Units Spindle #4 Feedrate Programming Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y page 53 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix B – List of M-codes See Aerotech Nview Help for detailed information on individual commands. M-Codes Description M0 M1 M2 M3 M23 M33 M43 M4 M24 M34 M44 M5 M25 M35 M45 M19 M219 M319 M419 M30 M46 M47 M48 M49 M50 M51 M97 M98 M103 M123 M133 M143 M104 M124 M134 M144 M146 Program Stop Optional Program Stop End of Program Spindle #1 On Clockwise Spindle #2 On Clockwise Spindle #3 On Clockwise Spindle #4 On Clockwise Spindle #1 On Counterclockwise Spindle #2 On Counterclockwise Spindle #3 On Counterclockwise Spindle #4 On Counterclockwise Spindle #1 Off Spindle #2 Off Spindle #3 Off Spindle #4 Off Spindle #1 Off / Reorient Spindle #2 Off / Reorient Spindle #3 Off / Reorient Spindle #4 Off / Reorient Reset to Beginning of Program and Wait for Cycle Start Critical section end (yield time slice to next active task) Restart Program Execution Feedrate Override Lock Feedrate Override Unlock Spindle Feedrate Override Lock Spindle Feedrate Override Unlock Loop over Near Call to Subroutine Loop over Far Call to Subroutine Spindle #1 On Clockwise Asynchronously Spindle #2 On Clockwise Asynchronously Spindle #3 On Clockwise Asynchronously Spindle #4 On Clockwise Asynchronously Spindle #1 On Counter-Clockwise Asynchronously Spindle #2 On Counter-Clockwise Asynchronously Spindle #3 On Counter-Clockwise Asynchronously Spindle #4 On Counter-Clockwise Asynchronously Critical section start Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence Modal n/a n/a n/a Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y n/a N n/a Y Y Y Y N N Y Y Y Y Y Y Y Y N Immediate Command Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y page 54 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix C – G/M Code Syntax The user is referred to the RS-274D standard document, or many other similar documents, for the complete syntax description of G/M-Code syntax. A G/M-Code is an identification letter, immediately followed (no white space in-between) by a value. However, on the A3200, in most cases floating point variables can be used as the value. Many G/M-Codes can be placed on the same line together, and when this is done, they can be separated by commas, white space, or not separated at all. When multiple G/M-Codes appear on the same line certain rules apply as to the order of execution. G/M-Codes are not case sensitive, that is they can be in upper, lower case. However, this does not apply to parameters referenced from within a program - they are case sensitive. The user can freely mix extended command code lines and G-Code lines in a program. However, you cannot put G-Codes on a same line as an extended command. EXAMPLES OF VALID SYNTAX: G91 G1X10Y100 N100 G0X$global0 Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 55 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix D – Extended Commands The table below summarizes and references the extended commands in alphabetic order. Many commands have alternate forms, for example, the GOTO and JUMP keywords listed below refer to the same command. Extended commands may be enclosed within parentheses "()". Arguments should be separated by commas, but in most cases, any white space can also be used as argument separators. Only one extended command per line is allowed. Extended commands are not case sensitive, that is they can be in upper, lower or MiXed cAse. However, this does not apply to parameters referenced from within a program - they are case sensitive. In most cases floating point variables can be used instead of constants. The user can freely mix extended command code lines and G-Code lines in a program. However, you cannot put G-Codes on a same line as an extended command. EXAMPLES OF VALID SYNTAX: Enable X (Home X) $global0 = 8.8 EXE "copy ", $STRGLOBAL0, $STRGLOBAL1 See Aerotech Nview Help for detailed information on individual commands. Extended Command + - AND EQ > != <= : ABORT ABS ABSOLUTE ACOS $AI ANALOG ANALOG TRACK $AO ARRAY ASIN ATAN AUTOFOCUS AXCALPARM #AXISNAMES $BI $BO BRAKE CALL CALLDLL Immediate Category Description Command Y Mathematical Operators Line Label (see the GOTO/JUMP command) Y Ends the motion on a single axis Y Function Absolute value of a number Absolute programming units- G90 Y Function Inverse Cosine Y Variant Read the value of the specified analog input Generate an analog output proportional to Velocity/Position Generate an analog output proportional to an internal value Y Variant Write to the specified analog output PSO Read or write an array of values to/from the PSO Option Y Function Inverse Sine Y Function Inverse Tangent Drive Vary an axis position based upon an analog input Read or write axis calibration parameters Compiler Redefine the standard axis names Y Variant Read the state of a virtual binary input Y Variant Write to a virtual binary output Y Activate or deactivate the fail-safe brake on an axis(s) Call a subroutine in same program, and return upon completion Allows a function to be called from within a dynamic Callback link library Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 56 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual CCW CFGMASTER COMMINIT COMMSETTIMEOUT CLS COS CW DATACQ DATASTART DATASTOP DBLTOSTR #DEFINE .DEFINED DFS $DI DISABLE DISPLAY $DO DRIVEINFO DVAR DWELL $ECI $EDI $EDO #ELSE ENABLE ENCODER OUT #ENDIF ENGLISH $EPI, $EPID, $EPIF, $EPIS $EPO, $EPOD, $EPOF, $EPOS $ERI, $ERID, $ERIF, $ERIS $ERO, $EROD, $EROF, $EROS Y Y Y Y Y Y Y Y Y Y Y Y Y Variant Read from an Ethernet process I/O register Y Variant Write to an Ethernet process I/O register Y Variant Read from a register on the Ethernet I/O bus Y Variant Write to a register on the Ethernet I/O bus EXE EXECCANNEDFUNCTI ON Callback Y EXEMODAL EXP Counter-clockwise circle/arc command - G3 Configure a Slave axis to track a Master axis Callback Configure PC’s Serial Port parameters Callback Define PC’s serial port read time out Call a subroutine in same program, and return upon completion Function Trigonometric Cosine Counter-clockwise circle/arc command - G2 Data Capture via a PSO trigger event Callback Data acquisition start Callback Data acquisition stop Convert a (double precision) number to a string Compiler Define a string (or lines) to be substituted for a string Call Argument Existence Testing Define subroutine Variant Read a physical digital input Disable an axis drive Callback Display message within the Custom Display Window Variant Write to a physical digital output Drive Obtain drive resident information Compiler Define program variable or array Dwell command - G4 Variant Read an Ethernet I/O configuration register Variant Read from an output on the Ethernet I/O interface Variant Write to an output on the Ethernet I/O interface Compiler Portion of a #IFDEF block Enable an axis drive Route encoder signals to the Npaq HSOUT pins in pairs Compiler End of #IFDEF block English units programming mode - G70 Execute a canned function Callback Y Function FARCALL FARGOTO FARJUMP FAULTACK FIBER FILECLOSE FILEEXISTS FILEOPEN FILEREAD Execute a DOS, WINDOWS program and return completion code Y Callback Callback Callback Callback Execute DOS, WINDOWS program, wait for completion, return completion code Raise to a power Call a subroutine in another program, and return upon completion Jump to another program See the FARGOTO command Clear axis Faults Fiber alignment commands Closes the specified user data file Test for existence of a file Opens the specified user data file for writing Read data from a file Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 57 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual FILEREADINI Callback Read .Ini File Writes data to the specified file with and FILEWRITE Callback terminators Write a single parameter or complete parameter .ini file FILEWRITEINI Callback to disk Writes data to the specified file with out a and FILEWRITENOTERM Callback terminators FOR/NEXT Repeat blocks specified number of times FRAC Y Function Fractional part of a number FREECAM Free memory allocated to a cam table Begins motion on a single axis without stopping at any FREERUN Y given target position GOTO Jump, or go, to the specified entry point HALT See ABORT HANDWHEEL Y Manually position an axis with a handwheel Synchronously home an axis to its absolute reference HOME point Asynchronously home an axis to its absolute reference HOMEASYNC Y point #IFDEF Compiler If #DEFINEd execute program lines #IFNDEF Compiler Test for program #DEFINE and execute program lines IF-THEN-ELSE-ENDIF Conditional execution operator #INCLUDE Compiler Include a file within another INCREMENTAL Incremental programming units - G91 INT Y Function Integer portion of a number ISDONE Are the specified axes in asynchronous motion ? JUMP See the GOTO command LINEAR Linear Interpolated Motion - G1 Load a Cam table and configure the master and slave LOADCAMTABLE Callback axes Load a Cam table from variables and configure the LOADCAMVAR master and slave axes LOADTOOLTABLE Callback (Re-) Load the tool table from its .Ini file #MAKENCODESLABEL Convert N codes to program labels, for M97 and M98 Compiler S M-Codes MAKESTRING Create a string from Program Name, Time, Date, etc. MASKTODOUBLE Y Convert a task axis mask to an integer value Output a current to a brushless motor with a fixed 90 MC Y degree vector. METRIC Y Metric units programming mode - G71 MINUTES User units per minute - G75 Moves a specified axis to a specific position at a MOVEABS Y specified speed Starts relative move while continuing with next MOVEINC Y program line MOVEOUTLIM Move the specified axes out of an EOT limit MSET Y Output the specified vector to a brushless motor MSGBOX Callback Display a User Message in a pop-up box MSGCLEAR Callback Clear the Messages from the User Display List MSGDISPLAY Callback Display a User Message in the User Display List MSGHIDE Callback Hide the User Message Display List MSGINPUT Callback Input data from the User via a pop-up box MSGLAMP Callback Display status or warning info. in the Message Lamps MSGMENU Callback Display a user option menu MSGSHOW Callback Show the User Message Display List MSGTASK Callback Clear Task fault messages from the HMI task fault Oxford Lasers Ltd  Copyright 2013 page 58 Issued: September 2009, V1, Commercial in Confidence This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual display area Compiler End of program block not using #DEFINE commands. Callback Trigger the Nscope utility to begin collecting data #NOSUBST NSCOPETRIG NSCOPEMANUALXYS CALE NSCOPESTART NVISION ON ONGOSUB Y Y OSC Y PCI POPMODES PROBE PROGRAMDOWNLOA DFILE PROGRAMEXECUTE PROGRAMEXECUTEFI LE Callback Manually scale the Nscope utility Y Callback Download a program to the Callback Execute a program on a specified task on the Callback Execute a program from a file on a specified task on the PROGRAMTASKRESET PSOCONTROL PSODISTANCE PSOHALT PSOOUTPUT PSOPULSE PSOTRACK PSOWINDOW Y Y QCOMMAND RAMP MODE RATE RAMP MODE TIME RAMP RATE RAMP TIME RAND RAPID REF RETURN $RI $RO Change the execution mode of a program on another task Callback Unload a program from the s memory See FARCALL Configure the ports on the J111 connector of the Nservo Variant Read or Write from/to the J111 connector of the Nservo See FARCALL Initialize touch probe (or other) sensor command PSO Define the on/off/armed state of the PSO (Laser Firing) Option PSO Define a distance as a trigger event Option PSO Enable/Disable PSO tracking Option PSO Define the firing trigger Option PSO Define the pulse sequence Option PSO Define the encoder input channel whose position will be Option tracked PSO Define an axis(s) position comparison window Option Generate clock pulses proportional to vector velocity Save the modal G Code states Command Position, Velocity and Time directly Kinematic Transformation, read and write to the command queue Set Rate-based acceleration/deceleration active - G68 Set Time-based acceleration/deceleration active - G67 Set the acceleration Rate - G65 Set the acceleration Time - G60 Function Generates a psuedo-random number from a seed value Point-to-Point Positioning at the Rapid Feedrate - G0 See HOME Return from subroutine Variant Read the state of a register input Variant Set the state of a register output Callback PROGRAMUNLOAD PGM PORT $PORT PRG PROBE PULSE PUSHMODES PVT Callback Start the Nscope utility Nvision Vision Commands Monitor and act upon a condition Conditional Branch On Error Conditions Causes a specified axis to oscillate (cycle) a specified distance and speed Read/Write (Open/Close devices) on PCI bus Restore the modal G Code states Initialize touch probe Y Y Y Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 59 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual RPT/ENDRPT SECONDS SETCANNEDFUNCTIO N SETPARM SETPOSCMD SIN SLEW SLICE STRCHAR STRCMP STRFIND STRLEN STRLWR STRMID STRTOASCII STRTODBL STRUPR SQRT SYNC SUB #SUBST TAN #UNDEF VELOCITY OFF VELOCITY ON VME READ VME WRITE WAIT WAIT MODE INPOS WAIT MODE NOWAIT WHILE / ENDWHILE $WI $WO Repeat blocks specified number of times User units per minute - G75 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Define a canned function Set a parameter within a program Define the current (feedback) position as a new value Function Trigonometric Sine Activate the joystick to move the axes Scan and step command with overlapping motion Look for a set of characters within another string Compare the length of two strings Look for a string within another string Find the length of a string Convert a string to lower case characters Remove a string from a larger string Find the ASCII value of a character Convert a string to a (double precision) number Convert a string to upper case characters Function Square Root Synchronizes a Slave to a master axis See the DFS command Compiler Start of program block not using #DEFINE commands. Function Trigonometric Tangent Compiler Un #DEFINE a replacement expression Constant velocity mode off - G109 Constant velocity mode on - G108 Read a value from a specified VME register address Write a value to a specified VME register address Will hold position until a specified condition is met Wait for axes to be in-position - G361 Don't wait for axes - G359 Execute blocks while condition is true Variant Read all physical digital inputs from one drive Variant Write to all physical digital output on one drive Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 60 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix E – Oxford Lasers Special Calls Lighting Commands OLCALL SetLEDDimmer , e.g. OLCALL SetLEDDimmer 0, 120 Sets the LED brightness. Channel specifies the set of LEDs to adjust, and Brightness should be in the range 0-255. Coordinate Systems It is possible to establish a user coordinate system programmatically, using the following syntax. All of the following commands return the ID for the coordinate system. This can be stored in a variable and used to reapply the coordinate system at a later time. OLCALL CSGetCurrentID Returns the ID of current Coordinate System, so that it can be reapplied later. This commands can be issued at the start of a program, allowing OLCALL CSReactivate to be called at the end of the program to reactivate the original coordinate system OLCALL CSAbsolute 2, 1, 10 Applies a new coordinate system with origin at 2, 1 relative to the system home, and axes rotated by 10 degrees counterclockwise. OLCALL CSRelative 2, 1, 10 Applies a new coordinate system with origin at 2, 1 relative to the current coordinate system, and axes rotated by 10 degrees counterclockwise. OLCALL CSComponent "pocket "component 1", CS_NOMINAL 1", Applies a component coordinate system, without performing autoalignment “Pocket 1” must be a valid jig location on the active jig, and “Component 1” must be a valid component. OLCALL CSComponent "pocket "component 1", CS_ALIGN 1", Applies a component coordinate system by performing autoalignment “Pocket 1” must be a valid jig location on the active jig, and “Component 1” must be a valid component. The user is not prompted to validate each fiducial. (Only available if autoalignment is enabled on your license) OLCALL CSComponent "pocket 1", As CS_ALIGN, but the user is prompted to "component 1", CS_ALIGN_CONFIRM confirm each fiducial. . (Only available if autoalignment is enabled on your license) OLCALL CSReactivate $glob01 Activates a coordinate system by ID specified in $glob01. GALVOROTATIONON GALVOROTATIONOFF After issuing one on the CS… commands listed above, use GALVOROTATIONON to apply the coordinate system rotation to the galvos associated with the active process head. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 61 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Beam heads and Lens Options The following commands can be used in a program to access information about the current laser optic and lens option. OLCALL GetCurrentLaserOptic Returns a zero-based index indicating the current laser optic. OLCALL GetCurrentLensOption Returns a zero-based index indicating the current lens option for the current laser optic. OLCALL GetZOffsetForCurrentLens Returns the distance that must be added to the value from the system sensor to get the Z position required to focus the laser on the surface of the component. You may optionally specify the laser optic for which you want the Z Offset. If this is omitted, the current laser optic is assumed. (THIS METHOD IS DEPRECATED AND HAS ONLY BEEN KEPT FOR BACKWARDS COMPATABIILITY. USE GetZOffset INSTEAD) OCALL GetTrepanCalValForCurrentLens Returns the trepan calibration value for the current lens option. OLCALL GetXOffset Returns the off-axis offset of the laser relative to the laser cross-hair on the alignement camera (camera 0, current lens option). When the alignment camera is inline with the current laser optic, these methods will return 0, but when the camera is off-axis from the current laser optic, the values returned can be used to move between the camera and the laser. OLCALL GetYOffset OLCALL GetZOffset Beam Heads and Lens Option setup OLCALL SetCameraPositition , Sets the camera position for a given laser , , , optic and lens option. Where an inline camera is present on the laser optic, this should be set to the X Y Z offset required to move from the alignment camera to this camera with this lens option. Where no inline camera is present the position should be zero. OLCALL SetLaserPosition , Sets the laser position. When an inline , , , camera is present, this value should be the relative move required to move a point on Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 62 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual the jig from centre FOV to the laser. When no inline camera is present, the offset from the alignment camera, configured with lens option 0 should be sent. Measurement Devices The following commands can be used to retrieve positions of various measurement devices. OLCALL GetPowerMeterX OLCALL GetPowerMeterY Returns the position of axes required to place the alignment camera (current lens option) over the power meter. OLCALL GetPowerMeterZ OLCALL GetAutoFocusSensorX OLCALL GetAutoFocusSensorY Returns the relative move from the alignment camera (current lens option) to the AutoFocus Height Sensor. OLCALL GetAutoFocusSensorZ OLCALL GetDepthSensorX OLCALL GetDepthSensoY Returns the relative move from the alignment camera (current lens option) to the Depth Sensor. OLCALL GetDepthSensorZ OLCALL GetBeamProfilerX OLCALL GetBeamProfilerY Returns the position of axes required to place the alignment camera (current lens option) over the beam profiler. OLCALL GetBeamProfilerZ OLCALL GetPositionSensorX OLCALL GetPositionSensorY Returns the relative move from the alignment camera (current lens option) to the Position Sensor. OLCALL GetPositionSensorZ OLCALL GetInspecionCameraX OLCALL GetInspecionCameraY OLCALL GetInspecionCameraZ Returns the relative move from the alignment camera (current lens option) to the Inspection camera. (This may be used when there is a camera, other than the alignment camera, which is not associated with a lens option.) OLCALL SetInspectionCamera , , Sets the relative move from the alignment camera (current lens option) to the Inspection camera. (This may be used when there is a camera, other than the alignment camera, which is not associated with a lens option.) OLCALL ReadLaserPower Returns the current reading from the system power meter Find Fiducial Custom fiducials can be created from the vision system or imported as bitmaps. To see a list of existing custom fiducials, and import fiducials from bitmaps, open the Component editor from the User Coordinates menu, and add a “CUSTOM” fiducial. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 63 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual OLCALL FindCustomFiducial “fancy mark”, Searches for the named custom fiducial in 90 the vision window. The region of interest is automatically set to the full field of view. The command returns –1 if the fiducial could not be found. Note: If multiple lens options may be fitted to , then the standard lens option should be fitted. The final parameter is the tolerance for the orientation of the fiducial. Entering 90 here gives a tolerance of +-45 degrees. OCALL GetFiducialX OCALL GetFiducialY OCALL GetFiducialAngle Following a successful FindCustomFiducial command, these commands retrieve the position in real units (mm/Inch) and the orientation of the fiducial in degrees. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 64 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix F –Use of HOME and G82, G84 and G92 with User Coordinates Module If User Coordinates is activated then after applying a G92, G84 or G82, Cimita will display a new coordinate system to reflect the new software home, which is represented as the origin of the coordinate system, and rotation. For example, after applying the command G92 X0 Y0 you may see the following: The following restrictions apply to HOME and G-Codes run via Cimita when the User Coordinates module is enabled. • • • Use of leading zeros in Gcodes, e.g. G084 is not permitted and will result in a preprocessor error. G84 is only permited in the horizonal plane, or the plane defined by the first two axes, typically X Y. G82 reverts to the last coordinate system that was NOT established by a G92 or G84. To avoid confusion, we recommend that you either avoid using G84 and G92 within farcalled routines, OR use the CSGetCurrentID and CSReactivate to reinstate the original Coordinate System at the end of the program. E.g. $glob01=OLCALL CSGetCurrentID • • OLCALL CSReactivate $glob01 G82 and G84 and G92 commands must appear on their own line with no other M or G codes. G82 and G92 commands must be separated by white space, but white space is not permitted within the argument. e.g: G92 X0 Y0 – OK G92X0Y0 – Error: no white space between arguments G92($glob01) – OK G92($glob01 + 100 ) – Error: white space within argument G92($glob01+100) – OK Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 65 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers. Cimita Software Manual Appendix G – Setting Passwords for Cimita To change the passwords for Engineer or Operator access to Cimita you need to run ChangePasswords.exe which will be located in the program folder for Cimita: typically C:\program files\oxford lasers\Cimita. The program will prompt you for the administrator password; this is initially set to “E”. You can then reset the password for the Engineer, Operator, or Administrator. To control access to Cimita you should set the administrators password, and store it somewhere safe. Oxford Lasers Ltd  Copyright 2013 Issued: September 2009, V1, Commercial in Confidence page 66 This document contains information relating to Oxford Lasers’ know-how and IPR including processes, systems, components, specifications and pricing. This information is Confidential and must not be communicated to any third party without the written consent of Oxford Lasers.