Table of Contents

Advertisement

Installation and
Operation
®
The RTC
5 PC Interface Board,
®
RTC
5-Express Board,
®
RTC
5 PC/104-Plus Board and
®
RTC
5 PCIe/104 board
for Real Time Control of Scan Heads and Lasers
®
RTC
5 PC Interface Board
Rev. 1.9 e
September 9, 2014

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the RTC 5 PC Interface Board and is the answer not in the manual?

Questions and answers

Summary of Contents for Scanlab RTC 5 PC Interface Board

  • Page 1 Installation and Operation ® The RTC 5 PC Interface Board, ® 5-Express Board, ® 5 PC/104-Plus Board and ® 5 PCIe/104 board for Real Time Control of Scan Heads and Lasers ® 5 PC Interface Board September 9, 2014 Rev. 1.9 e...
  • Page 2 (Doc. Rev. 1.9 e - September 09, 2014) SCANLAB reserves the right to change the information in this document without notice. No part of this manual may be processed, reproduced or distributed in any form (photocopy, print, microfilm or by any other means), electronic or mechanical, for any purpose without the written permission of SCANLAB.
  • Page 3: Table Of Contents

    Contents 1 Introduction ............................. 22 1.1 Manufacturer ..........................22 1.2 Identification ..........................22 1.3 Unpacking Instructions and Typical Package Contents ..............23 1.3.1 Delivered Software ......................23 2 Product Overview ..........................25 2.1 Intended Use ..........................25 2.2 System Requirements ........................26 2.2.1 Hardware ...........................
  • Page 4 4 Layout and Interfaces ........................39 4.1 Connectors and Jumper Positions ....................39 4.2 Interface to PC ..........................40 4.2.1 Master/Slave Synchronization .................... 40 4.3 Interfaces to Scan System ......................41 4.3.1 Scan Head Connectors and Transfer Protocol ..............41 Primary Scan Head Connector ..................
  • Page 5 6 Developing User Applications ......................61 ® 6.1 RTC 5 Software Basics ........................61 6.1.1 Controlling Scan Systems and Lasers – An Introductory Example ........61 6.1.2 List Commands and Control Commands ................61 6.2 Initialization and Program Start-Up ....................62 6.2.1 DLL Call ..........................
  • Page 6 6.5.5 Loops ..........................82 ® 6.6 Using Multiple RTC 5 Boards in One Computer ................83 6.6.1 Multi-Board Programming ....................83 6.6.2 Sequential Programming ....................83 6.6.3 Master/Slave Operation ...................... 84 Initialization ........................84 Clock Phase Synchronization ..................84 Matching of Short-Command Counts (as of Version DLL 523, OUT 524) ...... 84 Synchronous Starts and Stops ..................
  • Page 7 7 Basic Functions for Scan Head and Laser Control ................93 7.1 Marking Points, Lines and Arcs ..................... 93 7.1.1 Marking with Vector and Arc Commands ................93 Jump Commands ......................93 Mark Commands ......................94 Arc Commands ......................94 Ellipse Commands ......................
  • Page 8 Clock Overruns ......................126 7.3.6 Status Monitoring and Diagnostics .................. 127 Status Information Returned from the Scan System ........... 127 7.4 Laser Control ..........................128 7.4.1 Enabling, Activating and Switching Laser Control Signals ..........128 “Laser Active” Signals ....................129 “Laser Standby”...
  • Page 9 8 Advanced Functions for Scan Head and Laser Control ..............152 ® 8.1 iDRIVE Functions ........................152 8.1.1 Transfer Protocol ......................152 8.1.2 Configuring Status Return Behavior ................. 153 Selecting Data Signals ....................153 Querying Data ......................153 8.1.3 Position Monitoring ......................154 8.1.4 Configuring Dynamics Settings (Tuning) ................
  • Page 10 Coordinate Transformations in the Virtual Image Field ..........185 8.7.5 Deactivating Processing-on-the-fly Corrections ..............186 8.7.6 Virtual Image Field ......................187 8.7.7 Synchronization of Processing-on-the-fly Applications ............. 188 8.7.8 Encoder Resets ......................... 189 8.7.9 Monitoring Processing-on-the-fly Corrections ..............190 Customer-Defined Monitoring Area and Conditional Command Execution (as of Version DLL 525, OUT 527) .....................
  • Page 11 9 Programming Peripheral Interfaces ....................203 9.1 Signal Output ..........................203 9.1.1 16-Bit Digital Output Port ....................203 9.1.2 8-Bit Digital Output Port ....................204 9.1.3 2 Bit Digital Output Port ....................204 9.1.4 12-Bit Analog Output Ports ....................204 9.1.5 Stepper Motor Control .....................
  • Page 12 10 Commands And Functions ......................217 10.1 Overview ............................. 217 10.1.1 Nomenclature ........................217 Multi-Board Commands ..................... 217 Normal, Short and Variable List Commands and List Multi-Commands ...... 217 Undelayed and Delayed Short List Commands (as of Version OUT 515) ..... 218 List Multi-Commands ....................
  • Page 13 get_free_variable ........................265 get_head_para ..........................265 get_head_status .......................... 266 get_hex_version .......................... 267 get_hi_data ..........................267 get_hi_pos ..........................268 get_input_pointer ........................269 get_io_status ..........................269 get_jump_table ........................... 270 get_laser_pin_in .......................... 270 get_last_error ..........................270 get_list_pointer ........................... 271 get_list_serial ..........................271 get_list_space ..........................272 get_marking_info ........................
  • Page 14 if_not_pin_cond .......................... 304 if_pin_cond ..........................304 init_fly_2d ........................... 305 init_rtc5_dll ..........................306 jump_abs ............................ 307 jump_abs_3d ..........................308 jump_rel ............................309 jump_rel_3d ..........................310 laser_on_list ..........................311 laser_on_pulses_list ........................312 laser_signal_off ........................... 313 laser_signal_off_list ........................313 laser_signal_on ........................... 314 laser_signal_on_list ........................314 list_call ............................
  • Page 15 mark_rel ............................356 mark_rel_3d ..........................357 mark_serial ..........................358 mark_serial_abs .......................... 360 mark_text ............................ 361 mark_text_abs ..........................362 mark_time ........................... 363 mark_time_abs ..........................364 mcbsp_init ..........................364 measurement_status ........................365 micro_vector_abs ........................366 micro_vector_abs_3d ........................367 micro_vector_rel ......................... 368 micro_vector_rel_3d ........................369 move_to ............................
  • Page 16 select_cor_table_list ........................402 select_rtc ............................. 403 select_serial_set .......................... 404 select_serial_set_list ........................404 send_user_data ........................... 404 set_angle ............................ 405 set_angle_list ..........................406 set_auto_laser_control ........................ 407 set_auto_laser_params ........................ 409 set_auto_laser_params_list ......................409 set_char_pointer ......................... 410 set_char_table ..........................411 set_control_mode ........................412 set_control_mode_list ......................... 413 set_default_pixel .........................
  • Page 17 set_laser_delays .......................... 442 set_laser_mode ........................... 443 set_laser_off_default ........................443 set_laser_pin_out ........................444 set_laser_pin_out_list ........................444 set_laser_pulses .......................... 445 set_laser_pulses_ctrl ........................445 set_laser_timing .......................... 446 set_list_jump ..........................447 set_mark_speed .......................... 448 set_mark_speed_ctrl ........................448 set_matrix ........................... 449 set_matrix_list ..........................450 set_max_counts .......................... 451 set_mcbsp_freq ...........................
  • Page 18 set_serial_step_list ........................477 set_sky_writing ........................... 477 set_sky_writing_limit ........................478 set_sky_writing_limit_list ......................478 set_sky_writing_list ........................478 set_sky_writing_mode ........................ 479 set_sky_writing_mode_list ......................480 set_sky_writing_para ........................481 set_sky_writing_para_list ......................483 set_softstart_level ........................484 set_softstart_level_list ......................... 485 set_softstart_mode ........................486 set_softstart_mode_list ....................... 487 set_standby ..........................488 set_standby_list ..........................
  • Page 19 stop_list ............................523 stop_trigger ..........................524 store_encoder ..........................524 sub_call ............................525 sub_call_abs ..........................525 sub_call_abs_cond ........................526 sub_call_cond ..........................526 switch_ioport ..........................527 sync_slaves ..........................528 time_fix ............................529 time_fix_f ............................ 529 time_fix_f_off ..........................530 time_update ..........................530 timed_arc_abs ..........................531 timed_arc_rel ..........................
  • Page 20 12 Troubleshooting ..........................567 13 Customer Service ........................... 569 13.1 Servicing and Repairs ........................569 13.2 Warranty ............................. 569 13.3 Contacting SCANLAB ........................569 13.4 Product Disposal ......................... 569 ® 14 Technical Specifications of the RTC 5 PC Interface Board ............570 14.1 Compliance with EC Guidelines for Electromagnetic Compatibility (EMC) ........
  • Page 21 ® 16 Appendix B: The RTC 5-Express Board ..................591 16.1 Product Overview ........................591 ® 16.1.1 Intended Use – Comparison to the RTC 5 PC interface board ......... 591 16.1.2 System Requirements ....................... 591 Hardware ........................591 Software ........................591 16.1.3 Optional Functionality ......................
  • Page 22: Introduction

    Introduction 1.1 Manufacturer This operating manual describes the ® 5 PC interface board from SCANLAB and its usage for synchronous control of scan systems, lasers SCANLAB AG and peripheral equipment (for a product overview Siemensstr. 2a page 25). 82178 Puchheim...
  • Page 23: Unpacking Instructions And Typical Package Contents

    5 board is delivered in, so that in case of • cor_1to1.CT5 repair the board can be properly repackaged and correction file returned to SCANLAB. • optionally further correction files (D2_XXX.CT5,  Also remove all other articles from the package. D3_YYY.CT5) and Readme files Check that all parts have been delivered.
  • Page 24 WINDOWS Drivers For easy identifying and archiving of different ® software versions, the RTC 5 files are also delivered • RTC5DRV.sys, RTC5DRVx64.sys, RTC5DRVx86.sys zipped: ® 5 driver files • RTC5DAT_<Version>.zip • RTC5DRV.inf Installation file (setup information) • RTC5DLL_<Version>.zip (includes DLL and utility files) •...
  • Page 25: Product Overview

    RTC 5 provides a ® range of interfaces (e.g. a 16-bit digital input port, a SCANLAB’s RTC 5 PC Interface Board and its asso- 16-bit digital output port, two 12-bit analog output ciated software allow synchronous real-time control...
  • Page 26: System Requirements

    2.2 System Requirements 2.2.1 Hardware Danger! ® The RTC 5 requires an IBM-compatible personal ® • Do not operate the RTC 5 board outside of the computer with a PCI bus interface and at least one ® free PCI slot. The dimensions of the RTC 5 board are shown in figure 2 on page...
  • Page 27: Optional Functionality

    • In comparison to old WDM drivers, the new available in the standard version. This extended func- WDF driver offers the following new function- tionality must be enabled by SCANLAB or installed. ality: If init_rtc5_dll is called, then the driver...
  • Page 28: Jumper Settings And Type Identification

    40), the level of all output signals at ® couplers installed on your RTC 5, then you’ll the EXTENSION 1 connector can be configured for need to send the board to SCANLAB. 5 V or 3.3 V (also see page 49). ®...
  • Page 29: Type Identification

    5 PC interface board and its software package, the following accessories can be (JP5) (JP2) obtained from SCANLAB (only hardware extensions (JP7) (JP4) from SCANLAB should be used in combination with (JP8) Latch ® the RTC Example configuration for jumpers JP2-JP8: 2.5.1 XY2-100 Converter Pin (15): DATA7, Pin (17): LATCH signal ®...
  • Page 30: Adc Add-On Board

    ® 2.5.5 ADC Add-On Board 2.7 Notes For RTC 4 Users SCANLAB offers an ADC add-on board (product This chapter provides an overview of key changes ® number 121126) for the RTC 5 PC interface board ® introduced by the RTC 5 PC interface board in ®...
  • Page 31: Laser Control

    4’s MARKING ON THE FLY SCANLAB). connector (see page 51). – For use of the laser adapter from SCANLAB (see page 48), two jumpers are provided for config- Other Connectors uring the pin-outs (JP1 corresponds to jumper • PCI bus requirements are identical to those of the ®...
  • Page 32: Porting Rtc ® 4 Programs To The Rtc ® 5

    ® ® 2.7.2 Porting RTC 4 Programs to the Below is a list of RTC 4 commands that need to be ® replaced or checked: • aut_change not supported ® User programs written for the RTC 4 can only run on •...
  • Page 33: Increased Parameter Resolution

    ® 4 compatibility mode affects the following • timed_jump_abs changed ® 4 commands (descriptions of the respective • timed_jump_rel changed commands might include relevant information under • timed_mark_abs changed ® ® the heading “RTC 4 RTC 5”): • timed_mark_rel changed •...
  • Page 34: Changed Timing Behavior

    • For optical data transfer between the RTC 5 and ® scan systems, no special variant of the RTC (with XY2-100-O interface) is required. Optical data transfer can be realized via a SCANLAB data cable with electrical-to-optical conversion in its D-SUB connector housing (see page 44).
  • Page 35: Laser Control

    • For controlling a 3-axis scan system (see Laser Control page 171): • The signal levels of the laser control signals are no – Both scan head connectors must be used and a longer determined by configuring jumpers. 3D correction file must be correctly assigned. Instead, they can/must be software-configured –...
  • Page 36: Interfaces For Peripheral Equipment

    Interfaces for Peripheral Equipment General Programming • 16-bit digital output (see page 49 page 203): • Utility files for C, C++, C# and Delphi (see page 62). But no utility files for Basic. – Level of output signals selectable via a jumper ®...
  • Page 37: Special Functions

    Special Functions • Synchronization of scan system and laser control – Automatic delay adjustments (see page 107) – Sky Writing (see page 113) • Pixel output mode (scanning bitmaps, see page 192) – Pixel frequencies up to 300 kHz, irrespective of the 10 µs clock –...
  • Page 38: Safety During Installation And Operation

    Caution! laser. Otherwise there is the danger of uncontrolled deflection of the laser beam. SCANLAB recommends the use of a shutter • Carefully check your application program before to prevent uncontrolled emission of laser running it. Programming errors can cause a radiation.
  • Page 39: Layout And Interfaces

    Layout and Interfaces 4.1 Connectors and Jumper Positions Figure 2 figure 3 on page 40 show the positions described in detail in the following sections. ® of the connectors and jumpers on the RTC 5’s front and back side. All connectors and jumper settings are 160 mm MARKING ON THE FLY EXTENSION 1...
  • Page 40: Interface To Pc

    PCI slot. adjacent PCI slots. Always connect a board’s MASTER connector to the SLAVE connector of another board. Suitable connection cables are available from Caution! SCANLAB. Also see chapter 6.6.3 "Master/Slave Operation", ® • The RTC 5 board does not support power- page 84 "Starting and Stopping Lists via External...
  • Page 41: Interfaces To Scan System

    SCANLAB), only the primary scan head connector outputs signals for an XY scan system. Pin 2 supplies 3.3 V power for SCANLAB’s optional XY2-100 converter or a POF converter for optical data If the “second scan head control” option (but not the transmission (POF = Polymer Optical Fiber).
  • Page 42: Xy2-100 Converter (Optional)

    (see page 127). SCANLAB recommends using an additional slot cover for connecting a second scan head or a Z axis. A The XY2-100 converter introduces a 10 µs runtime suitable slot cover with a 9-pin D-SUB connector –...
  • Page 43 (13) DO NOT CONNECT DO NOT CONNECT (25) (12) DO NOT CONNECT DO NOT CONNECT (24) (11) DO NOT CONNECT DO NOT CONNECT (23) (10) DO NOT CONNECT DO NOT CONNECT (22) DO NOT CONNECT * STATUS1+ (21) STATUS1 – * DO NOT CONNECT (20) DO NOT CONNECT * STATUS+ (19)
  • Page 44: Data Cable (Optional)

    Some scan heads use a single connector to provide both the power supply voltages and the data signals. Only electrical cables are obtainable for SCANLAB’s For these scan heads, SCANLAB recommends imple- scan systems equipped with a conventional XY2-100 menting a cabling solution that allows the use of interface (25-pin female D-SUB connector).
  • Page 45 SL2-100-compliant data transmission Shielding DATA IN+ DATA IN + DATA IN– DATA IN – DATA OUT – DATA OUT – DATA OUT+ DATA OUT+ D-SUB D-SUB 9 pin male 9 pin male XY2-100-compliant data transmission Ferrit ring Shielding CLOCK– CLOCK – CLOCK+ CLOCK+ SYNC–...
  • Page 46: Interfaces For The Laser And Peripheral Equipment

    4.4 Interfaces for the Laser and The maximum current load is 20 mA. Peripheral Equipment All laser signals can be set to either active-low or active-high logic via the command set_laser_control (see page 440). Active-low means that a logical 1 4.4.1 Laser Connector (“Laser On“, for instance) is represented by a LOW level (0 V, TTL).
  • Page 47: Analog Output Ports

    Analog Output Ports The output voltage range of both analog output ports is set to 0 V … 10 V. ® The RTC 5 provides two general purpose 12-bit Both signals are referenced to PC ground (GND). The analog output ports, ANALOG OUT1 and maximum current load of both signals is 5 mA.
  • Page 48: Laser Adapter (Optional)

    Laser Adapter (Optional) The signals at pins (2) and (4) of the 9-pin D-SUB connector can be selected via two solder jumpers in An optional laser adapter from SCANLAB can be the laser adapter. To do so, carefully open the laser ®...
  • Page 49: Extension 1 Connector

    4.4.2 EXTENSION 1 Connector Synchronization of Data Transmission If several bits are simultaneously transferred as a data Figure 15 shows the pin-out of the 40-pin words (i.e. if the bits are not transferred indepen- EXTENSION 1 connector. dently from each other) via the 16-bit digital output port or the 16-bit digital input port, then the LATCH DIGITAL OUT0 DIGITAL IN0...
  • Page 50: Extension 2 Connector

    4.4.3 EXTENSION 2 Connector • The DATA7 bit can be used for other purposes by assigning it to pin (17). ® The 26-pin connector EXTENSION 2 on the RTC ® Laser Signals board (on the RTC 4, the corresponding connector is labeled LASER EXTENSION) provides a buffered 8-bit Like the laser signals of the LASER connector, the digital output port (DATA0 to DATA7).
  • Page 51: Marking On The Fly Connector

    4.4.4 MARKING ON THE FLY Slot Cover (Optional) Connector SCANLAB recommends using an additional slot cover for using the inputs and signals of the The MARKING ON THE FLY connector provides, MARKING ON THE FLY connector. A suitable slot among other things, encoder inputs for incorpo- cover with a 15-pin D-SUB connector is available from rating encoder signals.
  • Page 52: Mcbsp And I2C Interface

    4.4.6 McBSP and I C Interface The “SPI / I2C” connector provides an McBSP CLKX/R interface (Multi channel Buffered Serial Port) and an C interface. The pin-out is shown in figure FSX/R SCL (1) (2) SDA DX/R B31 B30 B29 B2 B1 B0 CLKX0 (3) (4) CLKR0...
  • Page 53: Stepper Motor Control

    ® 5 as receiver mitted. If necessary, a dummy value should be initially sent to the interface (this applies to both The following specifications apply to receiver signals Processing-on-the-fly applications and online of the McBSP interface (CLKR0, FSR0, DR0): positioning). You can use read_mcbsp to check •...
  • Page 54: Analog Inputs

    For programming the stepper motor signals, see 4.4.8 Analog Inputs chapter 9.1.5 "Stepper Motor Control", page 205. ® When the RTC 5 PC interface board is equipped with ® the RTC 5 ADC add-on board (product number 121126), two 10 V analog inputs become available (ANALOG IN0 and ANALOG IN1).
  • Page 55 The analog inputs are then available via a 9-pin D-SUB connector at the soldered-on flat ribbon cable. Its pinout is shown in figure ANALOG IN0 ANALOG IN1 ANALOG IN2 DO NOT CONNECT Pinout of the ADC add-on board’s 9-pin D-SUB connector Specifications •...
  • Page 56: Installation And Start-Up

    ®  If you want to use the signals on the RTC 5’s connectors, then attach the appropriate cables. SCANLAB recommends installing additional slot covers with suitable connectors, so that the signals will be accessible even when the PC’s ®...
  • Page 57: Installing The Drivers

    ®  Connect the 9-pin D-SUB connector on the RTC 5.3 Installing the Drivers – using the XY2-100 converter, if necessary – to ® the scan system via a data cable (see "Interfaces to To install RTC 5 drivers for WINDOWS 8, Scan System", page 41).
  • Page 58: Installing The Rtc ® 5 Software

    Otherwise there is the risk that the laser unexpectedly turns on for SCANLAB recommends storing these files in the a short term. directory in which the application software will be started. When loading the correction files, you’ll then •...
  • Page 59: Start-Up And Functionality Test

    5.6 Start-Up and Functionality 5.7 User Applications and Demo Test Software ® The RTC 5 application-support DLLs support the ® Danger! 5 under Microsoft’s WINDOWS 8, WINDOWS 7, WINDOWS Vista and WINDOWS XP (SP2 or higher) (32-bit or 64-bit) operating systems. The DLLs provide ®...
  • Page 60: Upgrading Rtc ® 5 Boards

    DSP version 2 (see get_rtc_version bits #16-23). The delivered product CD has the latest versions of software files. You can also download the newest files from SCANLAB’s website. ® 5 PC Interface Board Rev. 1.9 e 5 Installation And Start-Up...
  • Page 61: Developing User Applications

    Example Control commands are executed immediately. They are used, for instance, for initializing, ® SCANLAB’s RTC 5 PC interface board and its related controlling execution of lists, setting some general software are designed for controlling scan systems parameters, or for directly controlling the laser and and lasers.
  • Page 62: Initialization And Program Start-Up

    6.2 Initialization and Program 6.2.2 Importing Commands Start-Up To facilitate importing the commands of the DLL into ® a C, C++, C# or Pascal application, the RTC ® To use the RTC 5’s commands and functions in a user software package contains corresponding utility files. program: The following sections describe how to use these files ®...
  • Page 63 Pros and Cons of Implicit and Explicit Linking In C, you can choose either implicit linking – also known as static load or load-time dynamic linking – Implicit Linking Explicit Linking or explicit linking – also known as dynamic load or Necessary RTC5impl.h or RTC5expl.h,...
  • Page 64: Initializing The Dll And Board Management

    ® 6.2.3 Initializing the DLL and Board 5 (to a large extent) without modification. However, a prerequisite here is that the program can Management ® only contain RTC 4 commands that also exist with ® ® Any number of RTC 5 boards can be used simultane- unchanged functionality as RTC 5 commands.
  • Page 65: Start Of Operation

    (see page 243). By default of the DLL (see preceding section), the following SCANLAB preconfigures the list memory such that steps should be carried out at the beginning of every “List 1” and “List 2” can each store 4,000 list ®...
  • Page 66: Laser Control Initialization

    Laser Control Initialization (7) Set the laser mode (command set_laser_mode, page 443). (8) Set the laser control signals appropriate to your laser system (command set_laser_control, page 440). (9) Set the FirstPulseKiller length (YAG only) (command set_firstpulse_killer, page 423). (10)Set the delay of the Q-Switch signal (only for YAG modes, in particular for YAG mode 5) (command set_qswitch_delay, page...
  • Page 67: Example Code

    6.2.5 Example Code Necessary sources: RTC5impl.h, RTC5DLL.LIB (for implicit linking) or RTC5expl.h, RTC5expl.c (for The following C source code for a console application explicit linking). Additionally, the DLL must be called (environment: Win32) illustrates the programming by the program (see page 62).
  • Page 68 terminateDLL(); return; void terminateDLL() printf( "- Press any key to shut down \n" ); while( !kbhit() ); (void) getch(); printf( "\n" ); // Close the RTC5.DLL free_rtc5_dll(); // only for explicitly linking: // RTC5close(); ® 5 PC Interface Board Rev. 1.9 e 6 Developing User Applications...
  • Page 69: List Memory

    (config- urable) size: SCANLAB strongly recommends not intermixing usage of these two methods. Otherwise, unintended • Two list buffers (“List 1” and “List 2”), later simply data loss via overwriting could occur even in the referred to as “lists”...
  • Page 70: Configuring The List Memory

    6.3.2 Configuring the List Memory For compatibility, SCANLAB preconfigures the ® 5’s list buffer area such that “List 1” and “List 2” can each accept 4,000 list commands. The protected “List 3” then owns the remaining 1040576 of the 2...
  • Page 71: List Handling

    6.4 List Handling “Unconditional” Loading The command set_start_list_1 /_2 sets the input The two list areas (“List 1” and “List 2”) serve as inter- pointer to the start of the selected list and the mediate storage for the continuous loading and command set_start_list_pos set_input_pointer...
  • Page 72: Loading With Protection

    Loading with Protection 6.4.2 List Status The loading process is initialized via the command Dependent on the command input and output load_list, which sets the input pointer to the statuses, lists can receive particular status values. To specified address in the selected list (just like the examine the current statuses of the lists, the control set_start_list_pos command), but only if the...
  • Page 73: List Execution Status

    set_start_list_pos(ListNo, Pos ) and execute via 6.4.3 List Execution Status execute_list_pos(ListNo, Pos). If no other list The provided list status values are supplemented by has been active at this moment, then list ListNo three additional status values that indicate whether has the status USED afterward.
  • Page 74: Starting And Stopping Lists

    6.4.4 Starting and Stopping Lists Notes • Lists are not automatically started. Regardless of List processing (“List 1” or “List 2”) can be started how many commands are loaded, a list must be execute_list (see either by the control command started as described above in order to be page 256) or via an external start signal (see the...
  • Page 75: Automatic List Changing

    and switched back on (the laser is started with the Alternating List Changes standard laser parameters, i.e. without any softstart Another way to achieve continuous data transfer is by or similar parameters that might have been defined alternatingly repeating output of the two lists. To do prior to pause_list).
  • Page 76: Structured Programming

    6.5 Structured Programming Indexed Subroutines ® The RTC 5 lets you define not only non-indexed ® The RTC 5 command set supports structured subroutines, but also indexed subroutines. The programming and output of list commands via load_sub command assigns a desired index to a numerous ways to define subroutines and character subroutine defined via subsequent list commands, sets, as well as several list commands for controlling...
  • Page 77: Calling Subroutines

    (expanding Therefore, SCANLAB recommends not calling the size alone is not sufficient; see page 79). indexed subroutines via the list_call command. Observe the following guidelines when programming “AbsCalls”...
  • Page 78: Subsequent Protection And Conversion Of Non-Indexed Subroutines

    Subsequent Protection and Conversion of Always try to use only one of the two methods in Non-Indexed Subroutines order to avoid unintended data loss in the protected buffer area via overwriting. If you begin working with Non-indexed subroutines can be (directly) written method 1 but later want to also use indexed subrou- only to a list buffer area (“List 1”...
  • Page 79: Deprotecting Subroutines

    • Before executing the load_disk command, be load_sub command always places a new indexed sure the protected buffer area (“List 3”) is of suffi- subroutine after the referenced indexed subroutine cient size after configuration of “List 1” and with the highest position in the memory. For this “List 2”...
  • Page 80: Character Sets And Text Strings

    6.5.2 Character Sets and Text Strings Notes • \0 (NUL) is a markable character, too. \0 also ® For marking tasks, it is convenient to use the RTC 5’s serves as a text-output delimiter (for text strings), list memory for storing command lists as separate in which case it will not be marked.
  • Page 81: Calling Indexed Text Strings

    Other than that, the same rules as for indexed 6.5.3 Jumps subroutines are applicable (see "Indexed Subrou- list_jump_pos (see page 319) (synonymous with tines", page 76 "Subsequent Protection and set_list_jump) and list_jump_rel (see page 321) Conversion of Non-Indexed Subroutines", page 78).
  • Page 82: Circular Queue Mode

    6.5.4 Circular Queue Mode Within lists, however, list_until executes a list_jump_pos (to the address directly after the asso- ® The RTC 5 does not support the circular queue mode ciated list_repeat). Here, list_repeat list_until ® ® that could be activated on the RTC 3/RTC 4 via can even reside in two different lists, provided that...
  • Page 83: Using Multiple Rtc ® 5 Boards In One Computer

    ® 6.6 Using Multiple RTC 5 Boards Examples: (Pascal) in One Computer 1. n_jump_abs(1, 500, 500) writes a jump command to the point (500, 500) ® ® The RTC 5 driver DLL supports simultaneous control into the current list of RTC 5 board #1.
  • Page 84: Master/Slave Operation

    (one-time) to the master board. Within a master/slave chain, external list starts (if SCANLAB recommends performing the synchroni- enabled with set_control_mode) and external list zation immediately after all boards have been stops will be passed on from one board to all down-...
  • Page 85: Usage By Multiple Applications

    Also see "Starting and Stopping Lists via External 6.7 Usage by Multiple Applica- Control Signals and Master/Slave Synchronization", tions page 209. ® Usage of installed RTC 5 boards by multiple applica- tions (user programs) is coordinated by the DLL’s internal board management, which is initiated via the command init_rtc5_dll (see page 306).
  • Page 86: Board Acquisition By An Application

    6.7.1 Board Acquisition by an Appli- On the other hand, if the acquiring application ® intends to further use the RTC 5 board’s inherited cation state, then it may need to explicitly query the missing Though the commands init_rtc5_dll, acquire_rtc, DLL information, receive it from the previous appli- free_rtc5_dll, release_rtc...
  • Page 87: Error Handling

    native restoration method is not possible. The 6.8 Error Handling intermixed loading of protected functions via ® differing applications should therefore be So that RTC 5 errors can be caught at program ® avoided. runtime via suitable programming, the RTC performs general error handling.
  • Page 88: Download Verification

    Error handling takes place separately for each board load_program_file and each application (user program). A reset_error For sending of the command load_program_file, the will not delete the error code of another application following are checked: with current access rights to the specified board. If •...
  • Page 89: Checking For Overruns

    6.8.2 Checking for Overruns With get_overrun, you can check whether overruns of the 10 µs clock period have occurred (also see page 126). ® 5 PC Interface Board Rev. 1.9 e 6 Developing User Applications...
  • Page 90: Example Code

    ® 6.8.3 Example Code • if the desired RTC 5 board (here: the board with serial number 12345) is not detected, The following example C source code shows how to ® • if access is denied to the desired RTC 5 board, catch an error during initialization.
  • Page 91 ® ® // Selecting the desired RTC 5 board as the active RTC 5 board for this application if ( InternalNumberOfDesiredBoard != select_rtc( InternalNumberOfDesiredBoard ) ) // Errors which occurred during execution of select_rtc ErrorCode = n_get_last_error( InternalNumberOfDesiredBoard ); if ( ErrorCode & 256 ) // RTC5_VERSION_MISMATCH // Here the multi-board command n_load_program_file must be used for initializing the board // (the single-board command load_program_file( 0 ) would deny execution).
  • Page 92: Miscellaneous

    6.9 Miscellaneous 6.9.1 Free Variables Four so-called “free” variables are available for the user to freely set with data via the control command set_free_variable or the short list command set_free_variable_list. These variable values can be outputted via the McBSP interface (see chapter 9.1.7 "McBSP Interface", page 207) and you can query them via...
  • Page 93: Basic Functions For Scan Head And Laser Control

    (2) The coordinates must be specified as digital control values (without units). To avoid confusion with coordinates in [mm], (4) Outside a list, repositioning can be achieved via goto_xy SCANLAB uses the expression “coordinate values [in bits]”. goto_xyz (even while the laser control signals are on). ®...
  • Page 94: Mark Commands

    Mark Commands Ellipse Commands ® ® The RTC 5 automatically turns on the “laser active” The RTC 5 software driver also provides commands laser control signals at the beginning of a mark for marking elliptical arcs. Here (unlike marking of command.
  • Page 95: Para Commands

    • As with mark and arc commands, during an Likewise, the Sky writing option might produce ellipse command, the laser focus moves with the run-in/run-out irregularities at the large half-axis. defined marking speed along the specified arc. Users should therefore check if their chosen The “laser active”...
  • Page 96: Microsteps

    7.1.2 Microsteps Marking Time The marking time consumed by any particular Each vector defined by a jump, mark or arc command marking process can be measured by calling the ® is divided into a number of small steps by the RTC command save_and_restart_timer (see page 397) These microsteps are transferred to the scan head at...
  • Page 97: Example Code

    7.1.4 Example Code A point, a square and a circle are marked in CO ® mode. Here it is assumed that the RTC 4 compati- The following example C source code shows the bility mode is activated. commands of a simple laser scan application: The code must be included in a user program (see page 67).
  • Page 98 Execute the list commands for initialization execute_list( 1 ); // Marking procedure // Waiting for list 1 to be not busy (load_list( 1, 0 ) returns 1 if successful, otherwise 0); if list 1 is not (no longer) busy: // opening the list buffer for writing of list commands and setting the input pointer to the start of list 1 while ( !load_list( 1, 0 ) );...
  • Page 99: Delay Settings For Synchronizing Scan Head And Laser Control

    7.2 Delay Settings for Synchro- LaserOn Delay nizing Scan Head and Laser The LaserOn delay defines the moment when the ® Control 5 turns on the laser. LaserOn delay is automati- cally inserted at the start of a mark or arc command (first microstep).
  • Page 100: Scanner Delays

    cally be temporarily extended by a corresponding amount (see "Automatic Delay Adjustments", page 107). 7.2.2 Scanner Delays There are three different types of scanner delays: jump delay, mark delay and polygon delay. After ® each vector or arc command, the RTC 5 inserts one Jump of these delays before the next command is started.
  • Page 101: Variable Jump Delay

    ® Variable Jump Delay To make use of this, the RTC 5 offers a variable jump delay mode. In this mode, the jump delay for short During a jump vector, the laser focus (output jump vectors will be reduced in time, as shown in position) usually moves with a constant linear figure 31.
  • Page 102: Mark Delay

    Mark Delay page 103 figure 35 on page 105). The laser will then remain on unless a correspondingly Although the marking speed is usually lower than smaller edgelevel was set with set_delay_mode the jump speed, a lag between the set position and set_delay_mode_list (see page...
  • Page 103: Polygon Delay

    • For RTC5OUT.out version up to 525, zero-length timed – see figure 33. Here, the laser remains on unless a mark or arc commands behave like non-timed mark or correspondingly smaller edgelevel was set via arc commands with a length of zero. set_delay_mode set_delay_mode_list (see...
  • Page 104: Variable Polygon Delay

    Variable Polygon Delay Edgelevel Figure 34 shows that the variable polygon delay A variable polygon delay mode can be activated via becomes quite long if the angle  is close to 180°. the command set_delay_mode ® This might lead to burn-in effects in the sharp corners set_delay_mode_list.
  • Page 105 LaserOn LaserOff LaserOn LaserOff Delay Delay Delay Delay Last Mark Time Mark Mark Command Command Command In This Polyline Legend 1 Edgelevel 2 Variable polygon delay, shorter than the specified edgelevel. 3 Variable polygon delay, longer than the edgelevel. The laser is turned off between the two mark or arc commands. 4 Mark delay.
  • Page 106: Customizing The Variable Polygon Delay

    Customizing the Variable Polygon Delay degrees) and for the scaling factor can be speci- fied as (unsigned) floating point numbers. Use The command load_varpolydelay (page 346) loads the period (.) as the decimal separator. a table for the scaling function scale() from an ASCII •...
  • Page 107: Notes On Optimizing The Delays

    • If the table contains no valid data point, then the 7.2.3 Notes on Optimizing the command load_varpolydelay will have no effect Delays (return value 1 or 13). The delays have to be set with the commands • The angle  = 0° means that two successive set_scanner_delays and set_laser_delays.
  • Page 108 and automatically extends the scanner delay so that a preceding LaserOff delay first finishes without correction before another Laser-On follows. Thus, marking LOn Delay time is only increased when necessary. The Laser LOff scanner delays can now be optimized indepen- Delay dently of the laser delays.
  • Page 109 without correction without correction LOff Delay1 LOff Delay1 LOff Delay2 Laser Laser Delay1 Delay2 Delay1 Delay2 Mark Mark Mark Delay1 Delay1 Delay2 Mark Mark Mark laser does not Mark laser does not Command2 Command1 Command2 switch on Command1 switch off after Other Command for marking 1 marking 1...
  • Page 110: Optimizing The Delays

    Optimizing the Delays The following figures show the various effects of non-optimized delays on the letters “RTC“. LaserOn Delay too short Mark Mark Mark At the beginning of a mark vector the laser is switched on, even Mark though the mirrors have not yet reached the necessary angular velocity.
  • Page 111 Jump Delay too short Mark Mark Mark After a jump, the first mark vector has already started although the Mark scanners have not yet settled. A running-in oscillation (overshoot) will be visible. Mark Jump Delay too long There are no visible effects if the jump delay is too long.
  • Page 112 Polygon Delay too short Mark Mark Mark The subsequent mark command in a polyline is already executing, Mark although the mirrors have not yet reached the end position of the preceding mark vector. The corners of the polyline are rounded off. Mark Polygon Delay too long Mark...
  • Page 113: Sky Writing

    7.2.4 Sky Writing Mode 1 ® In Sky Writing mode 1, the RTC 5 performs the ® The RTC 5 provides Sky Writing for applications with following Sky Writing motions for each marking elevated accuracy requirements. With Sky Writing, vector (or arc) – regardless of previous or subsequent every mark vector is precisely executed at a constant commands: marking speed over the entire vector length.
  • Page 114: Mode 3

    Sky Writing mode 2 activation affects the same commands as Sky Writing mode 1 (except ellipse Sky Writing mode 2 Sky Writing mode 3 commands, see above). Time-optimized Sky Writing, however, can only occur within a sequence of non- parameterized mark, arc and jump commands (may Jump Jump also contain timed or 3D commands).
  • Page 115: Synchronization

    Synchronization set_laser_delays – is not possible). Negative values can be used (for example in the YAG modes, where a Figure 43 on page 116 shows the timing diagram for FirstPulseKiller signal and a positive Q-Switch delay scan-head and laser control in Sky Writing mode 1. may be previously set) for shifting the “laser active”...
  • Page 116 Q-Switch LASER1 Delay (Q-Switch) FirstPulseKiller Length LASER2 (FirstPulseKiller) 0.5 · LaserOnShift LASERON Q-Switch LASER1 Delay (Q-Switch) FirstPulseKiller Length LASER2 (FirstPulseKiller) 0.5 · LaserOnShift LASERON Q-Switch LASER1 Delay (Q-Switch) FirstPulseKiller Length LASER2 (FirstPulseKiller) LASERON Timelag Timelag Set Position Real Position Tracking Error 20 ·...
  • Page 117: Notes

    Notes Take note, though, that in Sky Writing mode no automatic adjustment of laser and scanner delays • Via set_sky_writing (as described on page 107) is performed: set_sky_writing_mode_list, you can switch back – If the next marking command’s run-in phase and forth between Sky Writing modes 1 and 2 or begins when the preceding command’s 3.
  • Page 118: Scan Head Control

    after deactivation of Sky Writing mode. Deacti- 7.3 Scan Head Control vation of Sky Writing mode results in some circumstances in addition of a mark delay defined 7.3.1 Reference System prior to activation (see page 116). • In Sky Writing mode 1, the run-in and run-out Figure 44 shows the reference system for the image phases take place fully within the respective...
  • Page 119: Image Field Size And Calibration

    The theoretical cali- bration factor is then K [bits per mm SCANLAB provides a rounded value for the cali- maximum adjustable image field bration factor K. This value is slightly larger than, but usable ("typical") image field close to, the theoretical value.
  • Page 120: Rtc ® 4 Compatibility Mode

    ® 4 Compatibility Mode 7.3.4 Image Field Correction and Correction Tables ® ® With the RTC 5 (in RTC 5 mode), the image field coordinates for the X and Y axes (but not the Z axis) Field Distortion and all related parameters (e.g. jump speed or wobbel amplitude) are specified as 20-bit values;...
  • Page 121: Field Correction Algorithm

    (See the section "Microsteps", page 96.) “pillow-shaped“ By default, SCANLAB creates an individual correction field distortion caused by the arrangement of the table for every delivered system. It is stored in a mirrors ®...
  • Page 122: Activating Image Field Correction

    2D and 3D Correction Files connector. Selectively, the same or two different SCANLAB calculates 2D and 3D correction tables and correction tables can be assigned to the two scan ® supplies them in 2D and 3D correction files. RTC head control ports.
  • Page 123 Notes called in the meantime – with the parameters used there. If you require a different assign- • If no correction table has been loaded into the ment, then you must call select_cor_table ® ® 5’s memory, then the RTC 5 will transmit select_cor_table_list (again) using the appro-...
  • Page 124: 1To1 Correction Tables

    (7) Coefficient C of the parabolic function for Z-axis control (square part, ±4 Bit) (8) Number of the correction file i.e. the filename number of the correction file supplied by SCANLAB (e.g. 145 for D2_145.ct5 or D3_145.ct5). ® 5 PC Interface Board Rev.
  • Page 125: Converting Correction Files

    (9) Differentiation between correction with or (15)Indicator for whether the image field size was without an F-Theta objective clipped in the correction file The following applies: – = 0.0: field size not clipped Parameter = 10 * P with – = 2.0: field size clipped –...
  • Page 126: Output Values To The Scan System

    7.3.5 Output Values to the Scan • If automatic self-calibration was enabled via auto_cal (see page 199), then a compensating System “Gain” and “Offset” will be taken into account Calculations when calculating output values (gain and offset correction can also be specified via set_hi, see X and Y coordinate values specified in vector and arc page 201).
  • Page 127: Status Monitoring And Diagnostics

    peripheral ports not being accessible during the Status Information Returned from the Scan current 10 µs clock period, possibly including output System to the scan head (where galvanometer scanner The scan system returns the following signals (on the motion could pause for 10 µs). ®...
  • Page 128: Laser Control

    7.4 Laser Control 7.4.1 Enabling, Activating and Switching Laser Control ® The RTC 5 provides several laser control signals Signals with programmable pulse length and frequency via After a hardware reset and also after initialization the LASERON, LASER1 and LASER2 ports of the 15-pin with load_program_file, all laser control signals are D-SUB-laser connector (see page...
  • Page 129: Laser Active" Signals

    “Laser Active” Signals “Laser Standby” Signals The signals for “laser active” operation – after After first-time activation of the laser control signals set_laser_control – can be activated via via set_laser_control, standby signals can be acti- set_laser_pulses, set_laser_pulses_ctrl vated and deactivated via set_standby set_laser_timing.
  • Page 130: Scan-System-Error-Induced Laser-Signal Auto-Suppression

    Scan-System-Error-Induced Laser-Signal 7.4.2 Configuring the Laser Auto-Suppression Connector (LASER) set_laser_control (bits#16 – 27) can be used to To configure the laser signal types to be put out on define that the laser control signals shall be automat- pins 1, 2 and 9 at the LASER connector, you can use ically suppressed when one or more scan-system the control command config_laser_signals...
  • Page 131: Co Mode

    7.4.3 CO Mode For “laser standby” operation (if applicable after a LaserOff delay) The command set_laser_mode(0) selects the CO • The LASERON signal is switched off and laser mode (laser mode 0). The laser control timing • Alternating standby pulses are provided at the diagram figure 48 shows the corresponding signals.
  • Page 132: Yag Modes

    1/8 µs). For RTC 4 compatibility mode, for standby signals; if applicable, these will be cut off. SCANLAB generally recommends setting the time base to 8 MHz (via set_laser_timing(..,..,..,1)). A time base of 1 MHz should only be chosen if necessary.
  • Page 133: Firstpulsekiller Signal

    • The command set_laser_control (Bit #0) can be set_laser_mode command, however, merely used to specify whether a Q-Switch pulse preselects the Q-Switch delays. In YAG modes 1-3, (LASER1) should execute to completion or be cut too, the Q-Switch delay can therefore be subse- off when it has not yet fully executed when the quently changed via set_qswitch_delay...
  • Page 134 YAG modes 1-3 and 5 End of Vector Start of Vector Vector Output LaserOn LaserOff Delay Delay "Laser standby" "Laser active" "Laser standby" LASERON Standby Standby Q-Switch Q-Switch Period Pulse Width Period Pulse Width LASER1 (Q-Switch) FirstPulseKiller YAG 1 Length LASER2 (FirstPulseKiller) Q-Switch...
  • Page 135: Softstart Mode

    SCANLAB provides a convenient solution in the form triggered by a signal shifted back 180° related to of the softstart mode, which can be used for all laser the LASER1 signal.
  • Page 136: Laser Mode 4

    7.4.6 Laser Mode 4 Notes • The pulse length and the output period of the The command set_laser_mode(4) selects the laser LASER1 modulation signal are set with the mode 4. The laser control timing diagram figure 50 command set_standby or set_standby_list. The shows the corresponding signals.
  • Page 137: Laser Mode 6

    7.4.7 Laser Mode 6 Notes • Here a LASER2 signal is neither provided for The command set_laser_mode(6) selects the laser “laser active” nor for “laser standby” operation. mode 6. This laser mode is provided for lasers, which • Any change of the LASERON signal is prohibited do not allow changing the laser power during while the LASER1 signal is “on“: the change is execution of a laser pulse.
  • Page 138: Pulse Picking Laser Mode

    • Note that half of the output period must be • A modulation signal is provided at the LASER1 specified. output with pulse lengths and periods that can be defined via set_laser_pulses, • In laser mode 6 the time base for the LASER1 set_laser_pulses_ctrl set_laser_timing ®...
  • Page 139 1 MHz (1 bit equals 1 µs) or 8 MHz (1 bit equals 1/8 µs). For ® 4 compatibility mode, SCANLAB generally recommends setting the time base to 8 MHz (via set_laser_timing(..,..,..,1)). A time base of 1 MHz should only be chosen if necessary.
  • Page 140: Automatic Laser Control

    7.4.9 Automatic Laser Control • Speed-dependent laser control (see page 146) allows compensation of speed-dependent varia- Automatic laser control commands can be used to tions in laser impact during execution of vector achieve automatic readjustment of “laser active” and arc commands. Such variations can occur if laser control signals –...
  • Page 141: Position-Dependent Laser Control

    For position-dependent and speed-dependent or Position-Dependent Laser Control encoder-speed-dependent laser control, only a To initialize position-dependent laser control, common signal parameter selection can be defined. set_auto_laser_control must be used for specifying Thus, these corrections are applied to the same signal which signal parameter will be readjusted (via the parameter.
  • Page 142 deactivated by using load_position_control to the value previously defined via (Name = 0) to load a scaling function with a set_port_default set_laser_off_default constant value of 1.0 for the complete posi- – if no default value was defined – to the maxi- tioning area (Scale(Position)=1.0, same as the mum allowable value) initial state after load_program_file, also see...
  • Page 143 Notes on Loading a Scaling Function • For <Value>, the following ranges apply: 0.0  Position  150.0 and The command load_position_control loads a table 0.0  Scale(Position)  4.0. for the scaling function Scale(Position) from an ASCII ® (Though the RTC 5 uses the scaling function only text file.
  • Page 144 ® During initialization of the RTC 5 (with • The percent value refers to the 100% value (that load_program_file), the scaling function can additionally be further changed through Scale(Position) = 1.0 will be loaded for the full vector-defined laser control, see page 147) set via position range, with the effect that no position-...
  • Page 145 The example diagram in figure 53 illustrates how the nonlinearity curve can be determined. Laser Ideal power curve Real curve Signal Laser power progression – example of determining a nonlinearity curve The straight line in the diagram describes ideal linear behavior in the relationship between laser power and the laser control signal parameter (here, the term laser power also represents the pulse frequency =...
  • Page 146: Speed-Dependent Laser Control

    ). Here, v is the marking SCANLAB. speed defined with set_mark_speed, and v • Variable laser impact resulting from explicit depends on the definition via changes in marking speed between two mark...
  • Page 147: Vector-Defined Laser Control

    Vector-Defined Laser Control parameter will also temporarily change. Even so, the start value for the second para-command will Vector-defined laser control makes possible to still be the end value of the first para-command. linearly vary a signal parameter along a mark or jump Control commands such as set_vector_control vector.
  • Page 148: Encoder-Speed-Dependent Laser Control

    • After vector-defined laser control is activated via Notes set_vector_control(Ctrl = 7), the focus shift for • Encoder-speed-dependent laser control can be 2D or 3D para commands will change if the 3D combined with position-dependent and vector- option is enabled and a 3D correction file has defined laser control, but not with speed- been loaded and assigned.
  • Page 149: Output Synchronization

    7.4.10 Output Synchronization Notes (as of version RBF 527): • The supplied laser pulse signal must have a ® The RTC 5 provides the so-called (galvanometer) frequency between 50 kHz and 6.4 MHz and its “output synchronization” functionality for synchro- pulse length must exceed 0.080 µs.
  • Page 150: Marking Dates, Times And Serial Numbers

    7.5 Marking Dates, Times and 7.5.2 Marking Serial Numbers Serial Numbers Serial numbers containing up to 12 digits can be mark_serial marked via the commands Many applications need to mark the current time and mark_serial_abs. The commands initiate output of date or product serial numbers.
  • Page 151 mented after an uncontinued aborted list (if necessary, the number can be corrected via set_serial or set_serial_step, but only within a 10-digit range). • The control command select_serial_set lets you select (independently of selection via select_serial_set_list) a serial-number-set for the control commands set_serial_step set_serial...
  • Page 152: Advanced Functions For Scan Head And Laser Control

    Z- between the servo electronics and the controller facil- axis is connected. itates support of all the new features (also see the following section). SCANLAB’s XY2-100 converter can be used for ® iDRIVE scan systems equipped with a conventional ®...
  • Page 153: Configuring Status Return Behavior

    8.1.2 Configuring Status Return Querying Data Behavior ® Data received by the RTC 5 (with the exception of user data bits) can be read asynchronously at any Selecting Data Signals time via the commands get_value, get_values ® The digital servo architecture of iDRIVE scan systems get_head_status or synchronously via the command...
  • Page 154: Position Monitoring

    8.1.3 Position Monitoring Notes • Wobbel transformations, Processing-on-the-fly For some applications, it’s important to monitor scan corrections and eventual clipping during forward system positioning even when processing, and, if transformation can never be backward trans- necessary, with documentability. formed (see following table). For this purpose, the actual positions of the scan axes Forward Backward...
  • Page 155: Configuring Dynamics Settings (Tuning)

    (Tuning) calls unavoidably lead to XYZ values across SCANLAB can optimize the dynamics setting of scan different points of time. systems (tuning) to accommodate differing require- • With set_trigger, you can simultaneously record...
  • Page 156: Jump Mode

    8.1.5 Jump Mode Notes • Jump mode works exclusively on For applications such as drilling holes with defined – jump_abs, jump_rel, goto_xy (not on the cor- spacing (whereby laser processing is actually point- responding 3D, para or timed commands) by-point rather than along lines and curves), you can –...
  • Page 157: Requirements And Activation

    Requirements and Activation Jump-Length-Dependent Jump Delays The following are required for enabling and When executing a hard jump, it takes the scanner ® activating jump mode: some time to reach the specified position. The RTC takes this delay (also called step response) into •...
  • Page 158: Experimental Determination Of Jump Delay Values

    Experimental Determination of Jump Delay where <n> must be replaced by an integer (1  <n>  50) which denotes the number of the Values data point. The <Value> numbers can be supplied The scan system’s user manual typically specifies the as (unsigned) floating point numbers.
  • Page 159: Automatic Determination Of The Jump Delay Table

    ® During initialization of the RTC 5 (via determined jump delay. MaxDelay should be load_program_file), the internal jump delay table is chosen to be adequate but not significantly larger initialized with a squareroot curve and with a jump than the jump delay for the longest jump. A delay end value of 1024 (i.e.
  • Page 160: Configuring The Posacknowledge Threshold Value

    – with a higher angular resolution. The default start behavior is for the scan system to start with a scale factor of 1 (i.e. with SCANLAB’s pre- configured calibration) upon power-up or after a reset.
  • Page 161: Fault Diagnosis And Functional Test

    8.1.9 Fault Diagnosis and Func- 8.2 Coordinate Transformations tional Test For precise set-up of the scan system relative to the If a problem occurs, the versatile status return func- image field (if the “second scan head control” option ® tions of the iDRIVE scan system can be used for scan has been enabled, two scan heads can be adjusted system diagnosis, too.
  • Page 162 The coefficients m … m of the general transfor- A general transformation defined via set_matrix mation matrix M are set via set_matrix set_matrix_list can also represent a combination of set_matrix_list: various transformations (the user can calculate the corresponding matrix M by multiplying the corre- sponding individual matrices in the correct order).
  • Page 163 • With at_once = 1 or 3, all settings collected until • If no correction table has been previously then (via control commands or list commands) assigned to the corresponding scan head will be processed immediately and simulta- connector, then the new settings for the neously.
  • Page 164 ® Notes for RTC 4 Users: ® • For loading RTC 5 correction tables via load_correction_file, transformation of the correction tables is not settable. ® • For the RTC 5, coordinate transformations can be separately defined for the primary and secondary scan head connectors.
  • Page 165: Online Positioning

    8.3 Online Positioning Configuring Online Positioning The commands set_mcbsp_x, set_mcbsp_y and/or The preceding chapter, "Coordinate Transformations", set_mcbsp_rot (or the equivalent list commands) details how to precisely align a scan system relative to determine both how the values inputted at the the image field.
  • Page 166: Notes

    transferred to internal memory locations 1 and 2. Notes ® The RTC 5 will identify the data type by • You can use online positioning in conjunction examining the coding bit #31 (bit #31 = 0 for with an encoder-controlled Processing-on-the-fly offset values, bit #31 = 1 for rotation correction application, but not in conjunction with a values).
  • Page 167: Wobbel Mode

    8.4 Wobbel Mode During Processing-on-the-fly correction via the McBSP or encoder interfaces where the scan head only compensates differences between actual The wobbel mode allows varying the line width for external movements and intended total motion (see laser marking. chapter 8.7.2 "Compensation of Linear Movements", Basically, an ellipse-shaped motion is added to the page 179, a slight jitter in the direction of galva-...
  • Page 168: Wobbel Shapes - Important Notes On Choosing Appropriate Parameter Values

    8.4.1 Wobbel Shapes – Important Notes Notes on Choosing Appro- • Also take the path velocity on the wobbel shape priate Parameter Values itself into account. For circular wobbel shapes it is calculated as follows: “Classic” Wobbel Shapes    ...
  • Page 169: Freely Definable Wobbel Shapes

    Wobbel Parameters • The maximum frequency estimated with rule of thumb (1):    F = 1/(10 0.33 [s]) 300 Hz. • Wobbel amplitude estimated with rule of thumb (2):    A = 0.33 1.44 [bit/s]  47,500 [bit].
  • Page 170: Using Several Different Correction Tables

    8.5 Using Several Different Correction Tables 8.5.1 Configuration with Two 2D 8.5.2 Using Several Correction Scan Systems Tables with a Single Scan System ® The RTC 5 can store four different correction tables at the same time. For two 2D scan systems controlled It can also be useful to work with several different ®...
  • Page 171: Controlling A 3-Axis Scan System (Optional)

    (outputting Z coordinates) is only available if the 3D thus enabling processing in three dimensions. option has been enabled. SCANLAB offers varioSCAN, varioSCAN Multiple 3-axis scan systems can be simultaneously varioSCAN FC and varioSCAN dynamic focusing...
  • Page 172: Marking Commands

    3D correction 3-axis scan system or the varioSCAN (“Technical table. SCANLAB individually calculates each Specifications” chapter). correction table based on the optical configuration of • If a Z axis serves the purpose of maintaining the...
  • Page 173 • If the 3D option is not enabled or no 3D • For 3D marking commands, the following correction table has been assigned, then 3D settings (if made) directly affect the X and Y marking commands will have the same effect as output values, but have no effect or only an 2D marking commands.
  • Page 174: Adjustment

    8.6.4 Adjustment Checking the Z-Axis Calibration The optimum output values for the Z-axis also SCANLAB calculates 3D correction tables so that the depend on various parameters such as beam diver- plane of the focus mid-position (without setting an gence of the used laser and tolerances of the optical offset via set_defocus, set_defocus_list, components.
  • Page 175: Test For 3-Axis Scan Systems With F-Theta Objective

    (3) If you are using a scan system with an F-Theta objective, it is sufficient to select various points (0|0|z) on the Z coordinate (7) Each 3D correction table calculated by SCANLAB contains axis. The maximum possible working volume is specified in the values for the coefficients A, B and C (also see the respective corresponding user manual.
  • Page 176: Enhanced 3D Correction

    Z value. Therefore, SCANLAB 3D correction files include stretch correction factors to • This is directly followed by a block of data points. compensate for this effect (see page 124).
  • Page 177: Processing-On-The-Fly (Optional)

    The commands for activating and deactivating Processing-on-the-fly correction are supported by the standard DLL (RTC5Dll.Dll, if the Processing-on-the- fly option is enabled by SCANLAB). No additional drivers or software files (e.g. further DLL or DSP program files) are needed. Initialization and program...
  • Page 178: Overview

    Overview The following Processing-on-the-fly corrections can be combined: The following encoder-based Processing-on-the-fly • set_fly_x is combinable with set_fly_y. corrections of workpiece motions are available: • set_fly_x_pos is combinable with set_fly_y_pos. • set_fly_x, set_fly_y: Compensation of linear workpiece motions (e.g. via conveyor belt or XY Further combinations aren’t possible.
  • Page 179: Compensation Of Linear Movements

    For continuous marking in the virtual (Mode = 1…3) . A scaling factor must thereby be image field, SCANLAB instead recommends using specified. set_fly_2d (see chapter 8.7.4, page 184).
  • Page 180: Correction Via Mcbsp Interface

    Correction via McBSP Interface Notes • After set_fly_x_pos and set_fly_y_pos, the input If position values for Processing-on-the-fly correction values received at the McBSP interface automati- are forwarded via the McBSP interface, then cally get copied to internal memory location 0. Processing-on-the-fly correction must be activated This still applies even after Processing-on-the-fly set_fly_x_pos...
  • Page 181: Correction Via Mcbsp Interface With Additional Mcbsp Input

    Correction via McBSP Interface with Correction via McBSP Interface with Additional McBSP Input Enhanced McBSP Input To activate Processing-on-the-fly correction for linear As an alternative to the previous chapter’s methods, motions using McBSP input values (as an alternative you can also activate Processing-on-the-fly correction set_fly_x_pos or set_fly_y_pos), you can also call of linear motion with...
  • Page 182: Correction Via Mcbsp Interface

    Then, Processing-on-the-fly correction must be acti- Correction via McBSP Interface vated via set_fly_rot . The parameter Resolution If angle-position values for Processing-on-the-fly [in counts per revolution] must thereby be specified. correction of rotary movement are forwarded via the The inverse of this parameter defines the rotation [in McBSP interface, then Processing-on-the-fly number of revolutions] of the current output position correction must be activated via set_fly_rot_pos.
  • Page 183: Correction Via Mcbsp Interface With Additional Mcbsp Input

    Correction via McBSP Interface with Additional McBSP Input You can also activate Processing-on-the-fly correction of rotary movements with McBSP input values (as an alternative to set_fly_rot_pos) by calling set_mcbsp_in set_mcbsp_in_list (Mode = 4). These commands offer the advantage of using the McBSP interface to input additional desired signals that shouldn’t be subjected to Processing-on-the-fly correction even when it is activated.
  • Page 184: Compensation Of 2D Motions

    8.7.4 Compensation of 2D Motions 2D Encoder Compensation for XY Stages For particularly demanding marking requirements, it You can use the set_fly_2d command to activate might be necessary to also compensate an XY trans- encoder-based 2D Processing-on-the-fly correction lation stage’s mechanical deviations. Here, you can (e.g.
  • Page 185: Coordinate Transformations In The Virtual Image Field

    After load_program_file, 2D encoder compensation transformations, the (possibly additional) virtual is inactive by default. It becomes active as soon as a coordinate transformations are applied to the entire valid table from an ASCII-readable text file gets virtual image field before Processing-on-the-fly ®...
  • Page 186: Deactivating Processing-On-The-Fly Corrections

    8.7.5 Deactivating Processing-on- • When a command for deactivating Processing- on-the-fly correction is called, then the deacti- the-fly Corrections vation (as of version OUT 515) only occurs after All Processing-on-the-fly corrections can be deacti- expiration of the scanner delay (hence the full vated (simultaneously for both directions) via the scanner delay will execute with Processing-on- command fly_return, which also allows the new...
  • Page 187: Virtual Image Field

    8.7.6 Virtual Image Field belt, XY stage etc. For this purpose, you must insert wait_for_encoder, wait_for_encoder_mode, When using the virtual 24-bit image field’s extended wait_for_encoder_in_range wait_for_mcbsp range (see page 120) for Processing-on-the-fly appli- into the list. These commands interrupt list execution cations, you can also load command lists with objects until specific encoder or McBSP values are achieved up to 16 times larger than the real 20-bit image field.
  • Page 188: Synchronization Of Processing-On-The-Fly Applications

    8.7.7 Synchronization of Processing- External list starts triggered by an external start signal (or by simulate_ext_start on-the-fly Applications simulate_ext_start_ctrl) that don’t execute Execution of command lists can be started by either immediately because of the track delay setting a software command or an external start signal (the are held in a queue that can accommodate up to latter triggered, for instance, by a light barrier or a 8 starts (each start trigger will be automatically...
  • Page 189: Encoder Resets

    tation via a wait_for_encoder_in_range 8.7.8 Encoder Resets command, then the galvanometer scanners will Many encoder-based Processing-on-the-fly applica- already be at the correct location after the inter- tions (e.g. a conveyor belt continuously traveling in mediate motion (here, no jump is required after the same direction) need to occasionally reset the the interruption).
  • Page 190: Monitoring Processing-On-The-Fly Corrections

    8.7.9 Monitoring Processing-on-the- Processing-on-the-fly correction, you must therefore always ensure that coordinate points fly Corrections approaching the image field boundaries will be If a Processing-on-the-fly application program is not checked for applicable limits. optimized for the motion of the workpiece or scan •...
  • Page 191: Tracking Error Compensation Of Encoder Values For Processing-On-The-Fly Applications

    • Monitoring of a rectangular area is also possible for Rotation-Fly applications, but monitoring of rotation angle areas isn’t possible. 8.7.10 Tracking Error Compensation of Encoder Values for Processing-on-the-fly Applica- tions Tracking errors of a scan system’s galvanometer scanners can result in a certain amount of positioning inaccuracy, particularly for Processing-on-the-fly applications with variable encoder speeds.
  • Page 192: Scanning Raster Images (Bitmaps)

    8.8 Scanning Raster Images (Bitmaps) The vector commands described in chapter 7.1 used to define which of the two analog ports intended for scanning vector based images. However, (ANALOG OUT1 or ANALOG OUT2) should output the ® the RTC 5 also allows reproduction of raster images analog voltage levels of subsequent set_pixel (or bitmaps).
  • Page 193: Laser Control

    Notes Variation Of Laser Power • The commands set_pixel_line, The command set_pixel allows specification of a set_pixel_line_3d, set_pixel set_n_pixel 12-bit analog voltage level for each pixel. The value is list commands, i.e. they are written into a list. transferred either to the ANALOG OUT1 port or to the ®...
  • Page 194: Timing

    Notes 8.8.4 Timing • It is recommended that some experiments be Figure 56 shows the pixel output timing diagram for performed to determine an appropriate an image line with 3 pixels. gradation curve for producing smooth greyscales. The movement of the galvanometer scanners is The resulting pixel “colors“...
  • Page 195 The scanners thereby move with equal speed beyond the actual end point. 10 µs clock cycles that are begun will be executed to completion (particularly for pixel frequencies > 100 kHz). Real Position Set Position (Microvectors) Pixel Period = 2 x HalfPeriod dX,dY Pixel 0 Pixel 1...
  • Page 196 The entire image line can be slightly shifted due to the lag between the set position and the real position and due to the masked acceleration phase (see “Line Shift” in figure 56). This can be compensated by adjusting the start position of each image line (backward-extending the image line).
  • Page 197: Microvector Commands

    8.9 Microvector Commands • Unlike normal vectors, microvector commands: – do not microvectorize vectors, but rather exe- cute the vectors with a single hard jump The microvector commands micro_vector_abs – do not take into account wobbel motions micro_vector_rel (and the corresponding 3D enabled via set_wobbel set_wobbel_mode...
  • Page 198: Timed Vector And Arc Commands

    8.10 Timed Vector and Arc Notes Commands • After a timed vector or arc command, a jump delay, a mark delay or a polygon delay is inserted, just like after a vector or arc The normal vector commands (jump and mark command.
  • Page 199: Automatic Self-Calibration

    For higher long-term repeatability requirements, then be corrected (transformed) in accordance with SCANLAB scan systems can be (optionally for apertures  10 mm) equipped with an additional these new gain and offset values.
  • Page 200: Determining Reference Values

    Depending on the current XY coordinates, the 8.11.3 Determining Reference Values limits can be reached even with gain and offset Reference values can be determined via auto_cal values within the allowed range. The gain and (Command = 0). This starts an ASC hardware check and offset values set after initialization via the measurement routine for determining the current load_program_file...
  • Page 201: Calibration During An Application

    8.11.4 Calibration During an Applica- Customer-Specific Calibration tion Automatic self-calibration is midpoint centered, so that the image field’s center remains stable. If an Automatic Self-Calibration alternative is preferred (e.g. if the left edge should Automatic self-calibration of the scan system during remain stable, size is irrelevant), then the calibration an application can be executed with can also be externally calculated and set.
  • Page 202: Supplemental Information About Calibration

    Supplemental Information about Calibration (mechanical or electrical) external disturbances or contamination can also impair automatic self- • The accuracy of fit of the set drift compensation calibration, the scan system and its environment can decrease with increasing time. Therefore, should in such cases be appropriately inspected calibration should be repeated after appropriate to assess overall functionality.
  • Page 203: Programming Peripheral Interfaces

    Programming Peripheral Interfaces 9.1 Signal Output Scan systems are often used in equipment that needs to synchronize processing by the laser and scan system with other process steps (e.g. workpiece For peripheral control (e.g. controlling a workpiece placement, robotic motion, process monitoring etc.). transport system or a shutter), appropriate signals ®...
  • Page 204: 8-Bit Digital Output Port

    9.1.2 8-Bit Digital Output Port 9.1.4 12-Bit Analog Output Ports The EXTENSION 2 connector provides a (jumper- The LASER connector provides the two 12-bit analog configurable) buffered 8-bit digital output port output ports, ANALOG OUT1 and ANALOG OUT2 (see (DATA0 to DATA7) (see page 50).
  • Page 205: Stepper Motor Control

    SCANLAB recommends executing a (quick) reference afterward via stepper_control movement with a short CLOCK pulse period (Period) stepper_control_list...
  • Page 206: Set-Position Movements

    Set-Position Movements Terminating Infinite Movements Set-position movements can be initiated via the Depending on your chosen parameters, sometimes commands stepper_abs, stepper_rel, very long or even infinite stepper motor movements stepper_abs_no stepper_rel_no or the corre- can be initiated via stepper_init, stepper_abs, e.g. if sponding list commands.
  • Page 207: Rs232 Interface

    9.1.6 RS232 Interface 9.2 Signal Input The “RS232” connector provides an RS232 interface Signals of peripherals (e.g. signals of a transport (see page 51). The interface can be configured via system, workpiece recognition system or process rs232_config. rs232_write_data can be used to monitoring camera) can be queried via the interfaces send single data words (bytes) to the RS232 described below through control commands at any...
  • Page 208: Rs232 Interface

    9.2.3 RS232 Interface The “RS232” connector provides an RS232 interface for reading signals (see page 51). The interface can be configured via rs232_config. Data can be read via rs232_read_data. 9.2.4 McBSP Interface The “SPI / I2C” connector provides an McBSP interface (see page 52).
  • Page 209: Control Via External Signals

    9.3 Control via External Signals The previously-discussed input and output of ext-stop status peripheral signals can be synchronized with scan /STOP system and laser control, as described below: /Master-STOP /STOP2 /Slave-STOP • The necessary list commands can be inserted at /ext list stop simulate ext-stop appropriate places in command lists.
  • Page 210: External List Start

    External List Start The command get_startstop_info queries the current start status (i.e. whether one of the inputs is Via a signal at the inputs /START, /START2 or /Slave- currently set to LOW) (2) and whether a list has START, or via the commands simulate_ext_start successfully started.
  • Page 211 matically generated when the delay has expired). This master board continues running. This asynchro- can be useful, for instance, when processing multiple nicity doesn’t occur if all boards are started via an workpieces transported to the scan system (even) at external start signal (or via simulate_ext_start irregular intervals: here, up to 8 workpieces can...
  • Page 212: Regular (Periodic) External List Starts

    Regular (Periodic) External List Starts // (one-time) reset (disable) bit #10 (initialization) set_start_list_pos(ListNo, Pos); Note // open some list • This functionality requires a firmware file in // afterward: some commands version 507 or higher (see get_rtc_version) and a simulate_ext_start(Delay,EncoderNo); DSP program file in version 511 or higher (see // first time start in mode bit #10 = 0, otherwise in get_hex_version).
  • Page 213: Conditional Command Execution

    gap. set_control_mode( bit #2 = 1 ) alone isn’t set_io_cond_list clear_io_cond_list sufficient for termination, because the track delay is commands associate the output value of the reactivated by any not-yet-executed 16-bit digital output port at the EXTENSION 1 simulate_ext_start command. connector (see page 49) directly with the signals...
  • Page 214: Programming Examples

    Programming Examples The following programming examples are written in PASCAL. (1) Confirm a signal: set_start_list(1); set_io_cond_list(0, 0, 1); // set bit #0 of the 16-bit digital output port list_jump_rel_cond(0, 1, 0); // loop until the signal is confirmed // (i.e. bit #0 of the digital input turns HIGH) clear_io_cond_list(0, 0, 1);...
  • Page 215: Synchronization Via Encoder Signals

    9.3.3 Synchronization via Encoder The current counts of both encoder counters can be queried via the control command get_encoder. Signals Alternatively, they can be stored in a buffer on the ® Intended Use 5 via the list command store_encoder and then retrieved from there via the control command When processing moving workpieces, the laser scan ®...
  • Page 216: Encoder Simulation

    9.3.4 Synchronization and Online Positioning via McBSP Signals Encoder Increment (360°) For processing moving workpieces with a (stationary) scan system or a (stationary) workpiece with a Encoder Signal 1 moving scan system (e.g. via a robot arm), the laser scan processes need to be adapted to the workpiece’s Encoder current position relative to the scan system Signal 2...
  • Page 217: Commands And Functions

    10 Commands And Functions 10.1 Overview In contrast, if a specific time behavior is desired (10 µs clock period), you can insert an additional ® list_nop list_continue command after any The following pages describe the complete RTC short list command to ensure that the next command set (control commands and list command only executes in the following 10 µs commands).
  • Page 218: Undelayed And Delayed Short List Commands (As Of Version Out 515)

    Notes short list commands“ in a row, all short list commands at the beginning of such a sequence will • Where applicable, the total execution time of execute undelayed (i.e. even before a scanner delay). normal and variable list commands equals the So if several short list commands are placed between sum of the command execution time and the two marking commands within a polyline, then the...
  • Page 219: Compatibility

    “RTC 4 RTC 5” section: extended functionality is not enabled or installed by SCANLAB, then the associated commands will have • to what extent a command differs from that of only partial or non-existent effect. For example, ®...
  • Page 220: Control Commands

    10.1.5 Control Commands Laser Mode And Parameters (n_) config_laser_signals ....... 242 DLL Initialization (n_) get_standby ..........279 free_rtc5_dll ........... 259 (n_) load_auto_laser_control ......326 get_rtc_mode ......... 277 (n_) load_position_control ......338 init_rtc5_dll ..........306 (n_) set_auto_laser_control ......407 set_rtc4_mode ........473 (n_) set_auto_laser_params ......
  • Page 221 ® iDRIVE Commands List Handling And Status (n_) control_command ........244 (n_) auto_change ........... 238 (n_) get_transform ........287 (n_) auto_change_pos ........239 (n_) read_user_data ........391 (n_) get_status ..........281 (n_) send_user_data ........404 (n_) get_wait_status ........293 transform ..........550 (n_) pause_list ..........
  • Page 222 Direct Laser And Scan Head Control Stepper Motor Control (n_) disable_laser ........... 255 (n_) get_stepper_status ......... 282 (n_) enable_laser ..........255 (n_) stepper_abs ..........513 (n_) get_laser_pin_in ........270 (n_) stepper_abs_no ........514 (n_) get_z_distance ........295 (n_) stepper_control ........515 (n_) goto_xy ...........
  • Page 223: List Commands

    10.1.6 List Commands Mark Commands (n_) arc_abs ..........232 Board Initialization and Field Correction (n_) arc_rel ..........234 (n_) select_cor_table_list ......402 (n_) mark_abs ........... 349 (n_) mark_ellipse_abs ....... 355 Jump Commands (n_) mark_ellipse_rel ........ 356 (n_) jump_abs ........... 307 (n_) mark_rel ..........
  • Page 224 Starting and Stopping Lists via External Coordinate Transformations Control Signals and Master/Slave Synchroni- (n_) set_angle_list ........406 var (1) zation (n_) set_defocus_list ......415 (n_) set_control_mode_list ...... 413 (n_) set_matrix_list ........450 (n_) set_extstartpos_list ......421 (n_) set_offset_list ........463 var (1) (n_) set_offset_xyz_list...
  • Page 225 Conditional Commands (n_) wait_for_encoder_in_range ..... 554 (n_) wait_for_encoder_mode ....555 (n_) if_cond ..........299 (n_) wait_for_mcbsp ........ 556 (n_) if_not_cond ......... 302 (n_) if_not_pin_cond ........304 Stepper Motor Control (n_) if_pin_cond ......... 304 (n_) stepper_abs_list ........514 (n_) list_call_abs_cond ....... 316 (n_) stepper_abs_no_list ......
  • Page 226: Data Types

    10.1.7 Data Types The following table defines the formats and ranges of the different data types used by the ® 5 commands: Data Format Range Pascal C, C++ unsigned 32-bit value [0; (2 –1)] longword unsigned long uint signed 32-bit value [–2 ;...
  • Page 227: Rtc ® 5 Command Set

    ® 10.2 RTC 5 Command Set All commands are arranged in alphabetical order. Ctrl Command acquire_rtc ® Function reserves the desired RTC 5 board for an application (user program) Call NoOfAcquiredCard = acquire_rtc( CardNo ) Parameter the desired board’s (DLL-internal) number as an unsigned 32-bit value CardNo Result The return value (unsigned 32-bit value) is CardNo if the reservation was successful, or 0 if...
  • Page 228: Activate_Fly_2D

    Variable activate_fly_2d List Command Function activates a set_fly_2d Processing-on-the-fly application without encoder resets Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated). Call activate_fly_2d( ScaleX, ScaleY ) Parameters Scaling factors as for set_fly_2d...
  • Page 229: Activate_Fly_Xy

    Variable activate_fly_xy List Command Function activates a set_fly_x/set_fly_y Processing-on-the-fly application without encoder resets Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated). Call activate_fly_xy( ScaleX, ScaleY ) Parameters Scaling factors as for set_fly_x/set_fly_y...
  • Page 230: Apply_Mcbsp

    Ctrl Command apply_mcbsp Function fetches the most recent values fully transmitted over the McBSP interface for online positioning and defines offset and/or rotation matrix M or general transformation matrix for subsequent coordinate transformations. Call apply_mcbsp( HeadNo, at_once ) Parameters Number of the scan head connector as an unsigned 32-bit value: HeadNo = 1: The definition only affects the primary scan head connector.
  • Page 231: Apply_Mcbsp_List

    Normal apply_mcbsp_list List Command Function same as apply_mcbsp (see above), but a list command Call apply_mcbsp_list( HeadNo, at_once ) Parameters See apply_mcbsp. HeadNo This parameter (unsigned 32-bit value) determines when the defined at_once transformation becomes effective: = 0: The transformation settings are only collected and intermediately stored, but the transformation is not processed as long as this is not activated via another coordinate transformation (e.g.
  • Page 232 Normal arc_abs List Command Function moves the laser focus from the current position at marking speed along an arc with the specified angle and center point (absolute coordinate values) within a two-dimensional image field. Call arc_abs( X, Y, Angle ) Parameters absolute coordinates of the arc center in bits as signed 32-bit value;...
  • Page 233: Arc_Abs

    Normal arc_abs_3d List Command Function moves the laser focus at marking speed from the current position spirally around an axis parallel to the Z axis. The x and y components thereby characterize an arc with the specified angle around the specified axis, while the z component characterizes a linear motion from the current position to the specified end point.
  • Page 234: Arc_Rel

    Normal arc_rel List Command Function moves the laser focus from the current position at marking speed along an arc with the specified angle and center point (relative coordinate values) within a two-dimensional image field. Call arc_rel( dX, dY, Angle ) Parameters relative coordinates of the arc center in bits as signed 32-bit value;...
  • Page 235 Normal arc_rel_3d List Command Function moves the laser focus at marking speed from the current position spirally around an axis parallel to the Z axis. The x and y components thereby characterize an arc with the specified angle around the specified axis, while the z component characterizes a linear motion from the current position to the specified end point.
  • Page 236 Ctrl Command auto_cal Function controls the functions for (automatic self-) calibration of the scan system attached to the specified scan head connector. Call ErrorCode = auto_cal( HeadNo, Command ) Parameters Number of the scan head connector as an unsigned 32-bit value, HeadNo allowed values: = 1:...
  • Page 237 Ctrl Command auto_cal the following values are only returned after Command = 4: for both axes: a sensor system of type1 is included and is functioning for both axes: a sensor system of type2 is included and is functioning X axis (galvanometer scanner 2): a sensor system of type1 is included and is functioning Y axis (galvanometer scanner 1): sensor system is defective X axis (galvanometer scanner 2): a sensor system of type2 is included and is functioning Y axis (galvanometer scanner 1): sensor system is defective...
  • Page 238: Auto_Cal

    Ctrl Command auto_cal Comments • (As of version DLL 520:) ASC hardware checks are performed not just via auto_cal(Command = 4), but also automatically for – auto_cal(Command = 0) and – the first call of auto_cal(Command = 1) and auto_cal(Command = 3) if neither auto_cal(Command = 0) nor auto_cal(Command = 4) were previously executed.
  • Page 239: Auto_Change_Pos

    Ctrl Command auto_change_pos Function activates a one-time automatic list change and simultaneously defines the list position at which execution will continue. Call auto_change_pos( Pos ) Parameter Start position (list memory address) as an offset referenced to the beginning of the list to be started via the automatic list change (as an unsigned 32-bit value) Comments •...
  • Page 240: Bounce_Supp

    Ctrl Command bounce_supp Function debounces the external start signal. Call bounce_supp( Length ) Parameter debouncing time in ms as an unsigned 32-bit value; Length allowed range: [0 … 1023]; the 22 higher bits are ignored. Comments • The command bounce_supp enables debouncing of start signals received at the /START, /START2 or /Slave-START inputs (see "External List Start", page 210).
  • Page 241: Clear_Io_Cond_List

    Undelayed clear_io_cond_list Short List Command Function clears the bits of the 16-bit digital output port on the EXTENSION 1 connector that are set in the parameter MaskClear, if the current IOvalue at the 16-bit digital input port on the EXTENSION 1 connector meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 242: Config_Laser_Signals

    Ctrl Command config_laser_signals Function configures the laser signal types to be outputted on pin 1 (LASER1), pin 2 (LASERON) and pin 9 (LASER2) of the LASER connector. Call config_laser_signals( Config ) Parameter desired signal configuration as an unsigned 32-bit value Config Thereby the following bits configure: Bits # 0-1: Pin 2 (LASERON channel)
  • Page 243: Config_List

    Ctrl Command config_list Function Configures list memory, therefore allocates memory areas for lists Call config_list( Mem1, Mem2 ) Parameters desired memory size for “List 1” (as an unsigned 32-bit value) Mem1 desired memory size for “List 2” (as an unsigned 32-bit value) Mem2 ®...
  • Page 244: Control_Command

    Ctrl Command control_command ® ® ® ® Function sends a control command to an iDRIVE scan system (intelliSCAN , intelliSCAN , intelliDRILL ® ® intellicube , intelliWELD , varioSCAN Call control_command( Head, Axis, Data ) Parameter Number of the scan head connector as an unsigned 32-bit value; allowed values: Head = 1: primary scan head connector...
  • Page 245 Ctrl Command control_command Code Returned Data Signal Type ® Actual Z axis position / bit [–2 … 2 –1] (only for intelliWELD with varioSCAN FC; not with varioSCAN FC i) This data signal can only be read via the channel of the scan head connector to which the Z axis is connected.
  • Page 246 Ctrl Command control_command Code Returned Data Signal Type Wavelength Bits #4…19 Wavelength / nm [0 … 2 –1] Bits #0…3 Tuning number (as of Firmware Version 2078) Bits #12…19 Start setting Bits #4…11 Current setting Bits #0…3 only after control_command(Data = 17FF ): Number of the internally (e.g.
  • Page 247 Ctrl Command control_command Code Returned Data Signal Type Current operational state (flags B31 … B16): Bit #19(MSB) (B31) = 1: AD converter supply voltage (5 V) o.k. Bit #18 (B30) = 1: Analog section voltage (9 V) o.k. Bit #17 (B29) = 1: DSP IO voltage (3.3 V) o.k.
  • Page 248 Ctrl Command control_command Code Returned Data Signal Type Sensor board operating temperature Bits #4…19 Operating temperature / 0.1°C [0 … 65535] Bits #0…3 Emerging-beam-opening temperature Bits #4…19 Temperature / 0.05°C [0 … 2250] Bits #0…3 Temperature of mirror 2 Bits #4…19 (Temperature + 26.6°C) / 0.05°C [0 …...
  • Page 249 Ctrl Command control_command Code Command and Parameter Values (Code UpdatePermanentMemory (as of Firmware Version 2078): This command (with its only allowable parameter value of Code = 00 ) causes the currently set servo behavior to also be the default start behavior following subsequent resets (also see page 160).
  • Page 250 Ctrl Command control_command Code Command and Parameter Values (Code SetPosAcknowledgelevel (as of Firmware Version 2066): This command sets the PosAcknowledge threshold value (also see page 160). The parameter value Code is the desired PosAcknowledge threshold value in bits … FF ].
  • Page 251 Ctrl Command control_command Comments General comments: ® • The control_command command can only be used in conjunction with an iDRIVE scan ® ® ® ® ® system (intelliSCAN , intelliSCAN , intelliDRILL , intellicube , intelliWELD , varioSCAN ® with XY2-100 interface and XY2-100 converter. Conventional scan systems (without iDRIVE technology) will ignore the command.
  • Page 252 Ctrl Command control_command Comments Comments regarding the SetMode command (Code = 05 • Set (angular) position values returned by the scan system correspond to the effective output values Sample<AX..BY>_Out with set_trigger/set_trigger4 and take into account any defined wobbel and Processing-on-the-fly corrections, coordinate transformations, image field correc- tion as well as offset and gain compensations for automatic self-calibration of the scan system.
  • Page 253 = 183 = B7 If other threshold values are desired, they must be separately set for each axis (Code = 15 SCANLAB recommends setting only threshold values (Code ) above 14 (i.e. 0.03% of the full position range). Lower values can lead to frequent system safety shutdowns due to Position Acknowledge time outs (set position not reached for an excessive time).
  • Page 254: Copy_Dst_Src

    Ctrl Command copy_dst_src Function creates entries in the internal management table for an indexed character, text string or subroutine with the specified index (Dst) by copying the table entries of another index (Src). Call copy_dst_src( Dst, Src, Mode ) Parameters Index (as an unsigned 32-bit value) of the indexed character, text string or subroutine whose entries should be copied from Src;...
  • Page 255: Disable_Laser

    Ctrl Command disable_laser Function disables the laser control signals for “laser active” operation. Call disable_laser() Comments • This command disables the laser control signals for “laser active” operation at the output ports LASER1, LASER2 and LASERON (then the output ports are in the high impedance tristate mode).
  • Page 256: Execute_At_Pointer

    Ctrl Command execute_at_pointer ® Function starts list execution (“List 1” or “List 2”) at the specified address in the RTC 5 list buffer. Call execute_at_pointer( Pos ) Parameter absolute address of the first list command to be executed as an unsigned 32-bit value;...
  • Page 257: Execute_List_Pos

    Ctrl Command execute_list_pos Function starts list execution (“List 1” or “List 2”) at the specified position. Call execute_list_pos( ListNo, Pos ) Parameters number of the list to be executed as an unsigned 32-bit value; ListNo permissible values: [uneven: “List 1“, even: “List 2“] address of the first list command to be executed (offset relative to the start of the respective list) as an unsigned 32-bit value;...
  • Page 258: Fly_Return

    Normal fly_return List Command Function deactivates the previously set Processing-on-the-fly correction (for multiple directions in space, if necessary) and subsequently executes a jump to the defined position. Restriction If the Processing-on-the-fly option is not enabled, the command only executes the jump to the defined new output position.
  • Page 259: Fly_Return_Z

    Normal fly_return_z List Command Function deactivates the previously set Processing-on-the-fly correction (for multiple directions in space, if necessary) and subsequently executes a jump to the defined position. Restriction If the Processing-on-the-fly option is not enabled, the command only executes the jump to the defined new output position.
  • Page 260: Get_Auto_Cal

    Ctrl Command get_auto_cal Function returns the attached scan system’s type of ASC hardware previously detected via auto_cal. Call ASCtype = get_auto_cal() Result ASC hardware type as an unsigned 32-bit value Comments • If the ASC hardware type was previously detected via auto_cal, then get_auto_cal will return the same value as auto_cal(Command = 4) –...
  • Page 261: Get_Config_List

    Ctrl Command get_config_list Function passes the parameters of the current list memory configuration (Mem1, Mem2) to the DLL’s board management and initializes it as if the config_list (page 243) command was called. Call get_config_list() Comments • The get_config_list command is useful when a board changes “ownership” and the new board management is not aware of the memory configuration (at the start of each application, the board and board management each independently initialize Mem1 = 4000 and Mem2 = 4000;...
  • Page 262: Get_Encoder

    Ctrl Command get_encoder Function returns the current counts of the two internal encoder counters. Call get_encoder( &Encoder0, &Encoder1 ) Returned para- current counts as pointers to signed 32-bit values Encoder0, meter values Encoder1 Comments • For usage of this command see "Processing-on-the-fly (Optional)", page 177 "Synchronization via Encoder Signals", page 215.
  • Page 263: Get_Error

    Ctrl Command get_error Function returns the cumulative error code (i.e. a list of error types occurring since the last reset or error reset). Call AccError = get_error() Result error code as an unsigned 32-bit value If multiple errors occurred, then multiple bits will be set. Error constants are predefined for the specific errors.
  • Page 264: Get_Fly_2D_Offset

    Ctrl Command get_error Result Error type Error constant Bit #16 = 1: Error reading PCI configuration register (can only occur RTC5_CONFIG_ERROR during init_rtc5_dll) = 65536 Bits #17.#31 reserved Comments • For error handling see page • The commands get_error and n_get_error are also available without explicit access ®...
  • Page 265 Ctrl Command get_free_variable Function returns the current value of a free variable. Call VariableValue = get_free_variable( No ) Parameter Number of the free variable to be queried as an unsigned 32-bit value. Allowed range: [0 … 3] Only the two least significant bits are evaluated. Result the value currently stored in the free variable (as an unsigned 32-bit value) Comments...
  • Page 266 Ctrl Command get_head_status Function returns the XY2-100 status word from the specified scan head connector. Call get_head_status( Head ) Parameter = 1: returns the status of the primary scan head connector Head (Byte #1 = Byte #0) = 2: returns the status of the secondary scan head connector (activation required) (Byte #1 = Byte #0) else: returns the status of the primary scan head connector (Byte #0)
  • Page 267 Ctrl Command get_head_status Comments • Status signals can also be queried via get_value, get_values, set_trigger set_trigger4. • Also see chapter 8.5, page 170 for information about using two scan heads. ® ® 4 RTC 5 essentially unchanged functionality, however: ® ®...
  • Page 268 Ctrl Command get_hi_pos Function returns the Home-In positions, last determined (via auto_cal) of the scan system attached to the specified scan head connector. Call get_hi_pos( HeadNo, &X1, &X2, &Y1, &Y2 ) Parameter Number of the scan head connector as an unsigned 32-bit value, HeadNo valid values: = 1:...
  • Page 269 Ctrl Command get_input_pointer Function returns the present (absolute) position of the input pointer. Call InputPointer = get_input_pointer() Result position of the input pointer [0 … (2 –1)] as an unsigned 32-bit value. ® Comments • The position of the input pointer corresponds to the position in RTC 5 list buffer (also in the protected “List 3”...
  • Page 270 Control get_jump_table Command Function retrieves the board’s currently stored jump delay table and copies the 1024 corresponding unsigned 16-bit values to the supplied PC address. Call ErrorCode = get_jump_table( Addr ) Parameters PC Address of a 2048-byte area of PC main memory Addr Return Error code as unsigned 32-bit value:...
  • Page 271 Ctrl Command get_list_pointer Function provides the input pointer’s current (relative) position and the list number. Call get_list_pointer( &ListNo, &Pos ) Returned Number of the list in which the input pointer is currently located; as a pointer ListNo parameter to an unsigned 32-bit value [1…3] values Current position of the input pointer (offset relative to the start of the respective list) as a pointer to an unsigned 32-bit value...
  • Page 272 Ctrl Command get_list_space Function returns the amount of free list memory, hence the number of list commands that can still be loaded from the input pointer’s current position to the last position in the respective list. Call ListSpace = get_list_space() Result number of free list positions as an unsigned 32-bit value Comments...
  • Page 273 Ctrl Command get_marking_info Function returns information about any boundary exceedances during Processing-on-the-fly correction as well as improper encoder signals; also returns the error bits of laser-signal auto-suppression. Call MarkingInfo = get_marking_info() Result Error code as an unsigned 32-bit value: Bit #0 (LSB) = 1: Processing-on-the-fly underflow in X direction (X <...
  • Page 274 Ctrl Command get_marking_info Comments • For usage of this command and of the error bits#0…7, see page 190. • The boundary limits Xmin, Xmax, Ymin, Ymax for the customer-defined monitoring area (bits#4…7) can be specified via the command set_fly_limits. • Encoder-signal spacing could be too short if interfering signals are present, a rapid directional change occurs or the frequency is essentially too high.
  • Page 275 Ctrl Command get_master_slave ® Function returns the master/slave status of the addressed RTC 5 board. Call MasterSlaveStatus = get_master_slave() Result Master/slave status as an unsigned 32-bit value, i.e. ® information, whether a further RTC 5 board is connected to the MASTER or SLAVE ®...
  • Page 276 Undelayed get_mcbsp_list Short List Command Function up to OUT 525: reads queued data (input value) from the buffer of the McBSP interface (Multi channel Buffered Serial Port, also see page 52) and stores it internally. as of OUT 526: no function, see “Version info” Call get_mcbsp_list() Comments...
  • Page 277 Ctrl Command get_rtc_mode ® Function returns the currently set operation mode of the RTC 5 DLL Call DLLMode = get_rtc_mode() Result DLL operation mode as a 32-bit value: ® = 4: 4 compatibility mode ® = 5: 5 mode (default setting) Comments •...
  • Page 278 Ctrl Command get_serial Function returns the current serial number of the serial-number-set selected via select_serial_set (or of serial-number-set 0 after load_program_file). Call CurrentSerialNo = get_serial() Result Serial number (as 64-bit IEEE floating point value) Comments • For command usage, see chapter 7.5.2 "Marking Serial Numbers", page 150.
  • Page 279 Ctrl Command get_standby Function returns the currently set standby parameters. Call get_standby( &HalfPeriod, &PulseLength ) Returned half of the currently set standby output period of the standby pulses as a HalfPeriod parameter pointer to an unsigned 32-bit value (1 bit equals 1/64 µs). values currently set pulse length of the standby pulses as a pointer to an PulseLength...
  • Page 280 Ctrl Command get_startstop_info Function provides information about internal and external list starts and stops since the last time the command was called. Also provided are the current external start and stop levels, the status and signal level of the laser control signals, and possible transmission errors to and from the attached scan system.
  • Page 281 Ctrl Command get_status Function returns the current list execution status (BUSY, INTERNAL-BUSY and PAUSED) and the current (or most recent) position of the output pointer. Call get_status( &Status, &Pos ) Returned status value as a pointer to an unsigned 32-bit value Status parameter Bit #0 (LSB)
  • Page 282 Ctrl Command get_stepper_status Function returns the following status information for both stepper motor outputs: the current statuses of the stepper motor signals, the currently defined CLOCK pulse period, the Busy and Init statuses, and the current values of the internal position variables. Call get_stepper_status( &Status1, &Pos1, &Status2, &Pos2 ) Returned para-...
  • Page 283 Ctrl Command get_sub_pointer Function returns the absolute start address of an indexed subroutine. Call SubPointer = get_sub_pointer( Index ) Parameter Index of the indexed subroutine as an unsigned 32-bit value; Index allowed range: [0 … 1023] Result Absolute start address as an unsigned 32-bit value Comments •...
  • Page 284 Ctrl Command get_sync_status ® Function returns the master/slave synchronization status of the addressed RTC 5 board. Call MasterSlaveSyncStatus = get_sync_status() Result Master/slave synchronization status [0 … 640] as an unsigned 32-bit value: < 11: The board is synchronized to the master board (or to the preceding board in the master/slave chain) = 640: The addressed board is operated as master.
  • Page 285 Ctrl Command get_table_para Function returns the value of the specified parameter from a currently loaded correction table Call TablePara = get_table_para( TableNo, ParaNo ) Parameters Number of the currently loaded correction table as an unsigned 32-bit value, TableNo valid values: [1…4] Number of the parameter as an unsigned 32-bit value, ParaNo valid values: 0-15 (meaning: see...
  • Page 286 Ctrl Command get_time ® Function returns the RTC 5 timer value stored during the most recent call of save_and_restart_timer Call TimerValue = get_time() ® Result 5 timer value in seconds as a 64-bit IEEE floating point value Comments • See save_and_restart_timer. ®...
  • Page 287 Ctrl Command get_transform Function transfers to the PC the position values that were recorded via set_trigger and stored on the ® 5, and applies backward transformation to these values. Call get_transform( Number, Ptr1, Ptr2, Ptr, Code ) ® 5 PC Interface Board Rev.
  • Page 288 Ctrl Command get_transform Parameters Number [1…2 ] of to-be-backward-transformed position values as an Number unsigned 32-bit value; the measured values with indices 0 to (Number–1) will be backward transformed. Pointers (in C and C++ data type ULONG_PTR, i.e. unsigned 32-bit or 64-bit Ptr1, values) to the two areas of PC main memory to which the backward Ptr2...
  • Page 289 Ctrl Command get_transform Comments • For backward transformation of position values see page 154. • get_transform(Number,Ptr1,Ptr2,Ptr,Code) transfers to the PC the data pairs recorded via set_trigger by executing get_waveform(1,Number,Ptr1) and get_waveform(2,Number,Ptr2) and overwrites the data pairwise by using transform(Sig1,Sig2,Ptr,Code). • Prior to calling get_transform, you must call upload_transform. Additionally, position values should have been recorded via set_trigger.
  • Page 290 Ctrl Command get_transform References upload_transform, transform, set_trigger, get_waveform ® 5 PC Interface Board Rev. 1.9 e 10 Commands And Functions...
  • Page 291 – Although Z values must be supplied as a 16 bit values in 3D command parameters, SCANLAB Z axes and 3-axis scan systems (and correspondingly the get_value com- mand) return Z values always as signed 20-bit values. If necessary, these returned Z values must be converted (divided by 16) by the application program.
  • Page 292 Ctrl Command get_value Example Querying diverse data types (primary scan head connector, X axis) (C/C++) a) XY2-100 status word, PowerOK status UINT statusword, powerOK; ® control_command (1, 1, 0x0500); // only applicable for iDRIVE systems statusword = (get_value(1) & 0x000FFFF0) >> 4; powerOK = (statusword &...
  • Page 293 Ctrl Command get_values Function returns the current values of up to four specified signals Call get_values( SignalPtr, ResultPtr ) Parameters SignalPtr pointer (in C and C++ data type ULONG_PTR, i.e. an unsigned 32-bit or 64-bit value) to an array of four unsigned 32-bit values, where the desired signal types are specified ResultPtr pointer (in C and C++ data type ULONG_PTR, i.e.
  • Page 294 Ctrl Command get_waveform ® Function transfers to the PC the data that was measured and stored onto the RTC 5 via set_trigger set_trigger4 Call get_waveform( Channel, Number, Ptr ) Parameters measurement channel [1 or 2; if recordings started via set_trigger4, then also Channel 3 or 4];...
  • Page 295 Ctrl Command get_z_distance Function returns the focus length value l for the specified point within the working volume. Restriction If the 3D option has not been enabled or if no 3D correction table has been assigned (see select_cor_table), then the command returns 0 and otherwise has no effect. Call ZDistance = get_z_distance( X, Y, Z ) Parameters...
  • Page 296 Ctrl Command goto_xy Function moves the output point (of the laser focus) along a 2D vector at jump speed from the current position to the specified position (absolute coordinate values) within a two- dimensional image field. Call goto_xy( X, Y ) Parameters absolute coordinates of the jump vector end point in bits as signed 32-bit X, Y...
  • Page 297 Ctrl Command goto_xyz Function moves the output point (of the laser focus) along a 3D vector at jump speed from the current position to the specified position (absolute coordinate values) within a three- dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as goto_xy.
  • Page 298 Ctrl Command home_position Function activates the home jump mode (for the X and Y axes) and defines the home position Call home_position( XHome, YHome ) Parameters absolute coordinates of the home position in bits as signed 32-bit values. XHome, Allowed range: [–524288…524287]. Larger values will be clipped. YHome Comments •...
  • Page 299 Ctrl Command home_position_xyz Function activates the home jump mode (for the X, Y and Z axes) and defines the home position Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as home_position. However, microvectorization will be calculated like a 3D command and hence will influence the effective jump speed in the XY plane.
  • Page 300 Undelayed if_fly_x_overflow Short List Command Function Conditional command execution for Processing-on-the-fly applications: This command immediately executes the directly subsequent list command if the condition in accordance with Mode for the X axis was fulfilled. Otherwise, the next list command is skipped over. Call if_fly_x_overflow( Mode ) Parameters...
  • Page 301 Undelayed if_fly_z_overflow Short List Command Function Conditional command execution for Processing-on-the-fly applications: This command immediately executes the directly subsequent list command if the condition in accordance with Mode for the Z axis was fulfilled. Otherwise, the next list command is skipped over. Call if_fly_z_overflow( Mode ) Parameters...
  • Page 302 Undelayed if_not_cond Short List Command Function Conditional command execution: This command immediately executes the directly following list command, if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port does not meet the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 303 Undelayed if_not_fly_y_overflow Short List Command Function Conditional command execution for Processing-on-the-fly applications: This command immediately executes the directly subsequent list command if the condition in accordance with Mode for the Y axis was not fulfilled. Otherwise, the next list command is skipped over. Call if_not_fly_y_overflow( Mode ) Parameters...
  • Page 304 Undelayed if_not_pin_cond Short List Command Function Conditional command execution: This command immediately executes the directly following list command, if the current IOvalue at the LASER connector’s 2-bit digital input port does not meet the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 305 Ctrl Command init_fly_2d Function initializes the encoder reference values for 2D encoder compensation of a subsequent set_fly_2d Processing-on-the-fly application and resets both encoder values. Call init_fly_2d( OffsetX, OffsetY ) Parameters Reference values of the X and Y axis encoders (signed 32-bit values) OffsetX, OffsetY allowable range: depends on the compensation table loaded with...
  • Page 306 Ctrl Command init_rtc5_dll ® Function initializes control of the installed RTC 5 boards for an application (user program) Call InitErrorNo = init_rtc5_dll() Result Error code as an unsigned 32-bit value If multiple errors occurred simultaneously, then multiple bits will be set. The meanings of bit numbers, error types and error constants is identical to those for the command get_error.
  • Page 307 Ctrl Command init_rtc5_dll Comments • Also observe "Board Acquisition by an Application", page • The init_rtc5_dll command is also available without explicit access rights to any partic- ® ular RTC 5 board. • init_rtc5_dll is not available as a multi-board command. •...
  • Page 308 Normal jump_abs_3d List Command Function moves the output point (of the laser focus) along a 3D vector at jump speed from the current position to the specified position (absolute coordinate values) within a three- dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as jump_abs.
  • Page 309 Normal jump_rel List Command Function moves the output point (of the laser focus) along a 2D vector at jump speed from the current position to the specified position (relative coordinate values) within a two- dimensional image field. Call jump_rel( dX, dY ) Parameters relative coordinates of the jump vector end point in bits as signed 32-bit dX, dY...
  • Page 310 Normal jump_rel_3d List Command Function moves the output point (of the laser focus) along a 3D vector at jump speed from the current position to the specified position (relative coordinate values) within a three- dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as jump_rel.
  • Page 311 Variable laser_on_list List Command Function turns on the “laser active” laser control signals for a specified time interval. Call laser_on_list( Period ) Parameter time interval in bits as an unsigned 32-bit value. Period 1 bit equals 10 µs. Allowed range: 0  Period  (2 –1) Comments •...
  • Page 312 Variable laser_on_pulses_list List Command Function turns on the LASERON laser control signal for the specified number of external signal pulses, but for no longer than the specified time interval (if Pulses > 65535, the command’s function is identical to laser_on_list, see below). Call laser_on_pulses_list( Period, Pulses ) Parameters...
  • Page 313 Variable laser_on_pulses_list List Command Comments • While the command is executed, the set position of the scanners is not changed. The next list command will be executed when the programmed time interval Period has passed. • Wobbel mode (see page 167) will be retained, but will be ignored.
  • Page 314 Ctrl Command laser_signal_on Function turns on the “laser active” laser control signals immediately Call laser_signal_on() Comments • The laser control signals for “laser active” operation must first be selected with set_laser_mode, defined via further commands, and enabled via set_laser_control enable_laser before they can be switched on with laser_on_list (see page 128).
  • Page 315 Undelayed list_call Short List Command Function causes an unconditional jump to a subroutine that starts at the specified absolute list buffer address (in any desired location within list memory). Call list_call( Pos ) Parameter Absolute jump address [0 … (2 –1)] as an unsigned 32-bit value Comments •...
  • Page 316 Undelayed list_call_abs Short List Command Function causes an unconditional jump to a subroutine that starts at the specified absolute list buffer address (in any desired area of list memory). In the called subroutine, any absolute vector and arc commands will receive an offset (based on the current coordinates at the time of the call).
  • Page 317 Undelayed list_call_cond Short List Command Function Conditional subroutine call: This command executes the command list_call( Pos ), if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 318 Undelayed list_jump_cond Short List Command Function Conditional (absolute) list jump: This command executes the command list_jump_pos( Pos ), if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 319 Undelayed list_jump_pos Short List Command Function Execution produces an unconditional jump to the specified list-memory address. The next command there will be executed immediately without delay. Call list_jump_pos( Pos ) Parameter absolute jump address [0 … (2 –1)] as an unsigned 32-bit value Comments •...
  • Page 320 Undelayed list_jump_pos_cond Short List Command Function Conditional (absolute) list jump: This command executes the command list_jump_pos( Pos ), if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 321 Undelayed list_jump_rel Short List Command Function Execution produces an unconditional jump to the specified address within the current list. The next command there will be executed immediately without delay. Call list_jump_rel( Pos ) Parameter Jump distance [(–2 +1) … (2 –1)] as a signed 32-bit value Comments •...
  • Page 322 Undelayed list_jump_rel_cond Short List Command Function Conditional (relative) list jump: This command executes the command list_jump_rel( Pos ), if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 323 Undelayed list_repeat Short List Command Function initiates repetition of a group of list commands. Call list_repeat() Comments • See chapter 6.5.5 "Loops", page • Any still-pending delayed short list command will execute first. • All list commands between this command and the next list_until command will be possibly repeated multiple times.
  • Page 324 Undelayed list_return Short List Command Function terminates a previously called subroutine, jumps to the calling location and executes the next list command (possibly after a list_nop) immediately and without delay. Call list_return() Comments • While loading an indexed subroutine, character or text string in the protected memory area, the list_return command additionally triggers entries into the corresponding internal management table of data such as the starting address.
  • Page 325 Undelayed list_until Short List Command Function terminates repetition of a group of list commands. Call list_until( Number ) Parameter number of repetitions as an unsigned 32-bit value Number (Number = 0 is treated like Number = 1) Comments • See chapter 6.5.5 "Loops", page •...
  • Page 326 Ctrl Command load_auto_laser_control Function loads a table with data points from an ASCII text file and determines – via linear interpolation – the non-linearity curve for position- and/or speed-dependent laser control (see page 144). Call NoOfDataPoints = load_auto_laser_control( Name, No ) Parameters name of the text file as a pointer to a null-terminated ANSI string Name...
  • Page 327 Ctrl Command load_char Function assigns a desired index to a character defined via subsequent list commands, and loads the character into the protected buffer area (“List 3”) Call load_char( Char ) Parameter Index of the indexed character as an unsigned 32-bit value, Char permissible range [0 …...
  • Page 328 Ctrl Command load_correction_file ® Function loads the specified image field correction file into RTC 5 memory (as table #1, 2,3 or 4) and automatically calls select_cor_table with the most recently used parameter values (or the default parameter values). Call ErrorNo = load_correction_file( Name, No, Dim ) Parameters name of the correction file as a pointer to a null-terminated ANSI string Name...
  • Page 329 Ctrl Command load_correction_file Comments Notes on loading correction tables: ® • The RTC 5 can store four different correction files at the same time, e.g. for use in a multiple scan head configuration. • Correction tables number 3 and 4 must always be loaded only after load_program_file.
  • Page 330 Ctrl Command load_correction_file Comments Other notes: ® • RTC 5 correction tables contain parameters that formerly (with an ® ® ® 4/RTC 3/RTC 2) had to be manually copied into an application from a supplied ® ReadMe file. To directly integrate these parameters into the user program, the RTC can load them via get_table_para (page 285) from the currently loaded correction...
  • Page 331 Ctrl Command load_disk Function loads into the protected memory area (“List 3”) the indexed characters, text strings and subroutines previously stored in a binary file via save_disk and returns the number of actually loaded list commands. Call NoOfLoadedCommands = load_disk( Name, Mode ) Parameter File name as a pointer to a null-terminated ANSI string Name...
  • Page 332 Ctrl Command load_disk Comments • For Name = 0, only the internal management tables will be initialized as with Mode = 0 (no loading will occur, no “empty“ binary file must be provided). Otherwise, the load_disk command can only be used for reading files that were stored with save_disk. •...
  • Page 333 Ctrl Command load_fly_2d_table Function loads a 2D table from an ASCII text file for a set_fly_2d-Processing-on-the-fly application with 2D encoder compensation for XY stages (see page 184). Call NoOfDataPoints = load_fly_2d_table( Name, No ) Parameters name of the text file as a pointer to a null-terminated ANSI string Name (the text file may contain one or more tables).
  • Page 334 Control load_jump_table Command Function loads a value table with jump delay data points from an ASCII text file (or alternatively performs automatic determination on the attached scan system) and uses linear interpolation to create the internal jump delay table for 2D jumps executable in jump mode.
  • Page 335 Control load_jump_table_offset Command Function loads a value table with jump delay data points from an ASCII text file (or alternatively performs automatic determination on the attached scan system) and uses linear interpolation to create the internal jump delay table for 2D jumps executable in jump mode.
  • Page 336 Control load_jump_table_offset Command Notes • For information on command usage, see "Jump-Length-Dependent Jump Delays", page 157. • For jump mode information, see page 156. • Format requirements for placing the table with jump delay data points into the text file are described in the section "Notes on Loading Determined Jump Delay Values"...
  • Page 337 Ctrl Command load_list Parameters Number of the list in which the input pointer should be set, as an unsigned ListNo 32-bit value; permissible values: [0 … 3]; only the two least significant bits are evaluated. “List 1” will be opened if not BUSY (BUSY1 status not set). “List 2”...
  • Page 338 Ctrl Command load_position_control Function loads a table with data points from an ASCII text file and determines – via linear interpolation – the scaling function for position-dependent laser control (radial correction, page 141). Call NoOfDataPoints = load_position_control( Name, No ) Parameters name of the text file as a pointer to a null-terminated ANSI string Name...
  • Page 339 Ctrl Command load_position_control References set_auto_laser_control ® 5 PC Interface Board Rev. 1.9 e 10 Commands And Functions...
  • Page 340 Ctrl Command load_program_file ® Function executes a board reset, performs a DSP memory check, loads into RTC 5 memory the program file RTC5OUT.out along with the files RTC5RBF.rbf and RTC5DAT.dat from the specified directory, performs a version check and starts the signal processor (DSP). Call ErrorNo = load_program_file( pPath ) Parameter...
  • Page 341 Ctrl Command load_program_file Comments • If pPath = 0, then the path of the application’s current working directory is used. Caution: The application’s current working directory isn’t always the directory from which the application was launched. The current working directory can change, for example, when a file from another directory is selected via the WINDOWS Explorer (unless the “NoChangeDir”...
  • Page 342 Ctrl Command load_program_file Comments • The load_program_file command does not load correction tables. Even 1-to-1 tables therefore need to be explicitly requested – see load_correction_file. Already-loaded correction tables will remain loaded after load_program_file. ® • During a RTC 5 reset, list memory contents will be erased and all parameters (e.g. memory configuration, internal variables, matrices, offsets and table assignments) previously set with config_list...
  • Page 343 Ctrl Command load_stretch_table Function loads a table with data pairs from an ASCII text file for enhanced 3D correction (see page 176). Call NoOfDataPairs = load_stretch_table( Name, No ) Parameters name of the text file as a pointer to a null-terminated ANSI string Name (the text file may contain one or more tables) or NULL...
  • Page 344 Ctrl Command load_sub Function assigns a desired index to a subroutine defined by subsequent list commands and loads the subroutine into the protected buffer area (“List 3”) Call load_sub( Index ) Parameter Index of the indexed subroutine as an unsigned 32-bit value, Index permissible range [0 …...
  • Page 345 Ctrl Command load_text_table Comments • Up to 42 indexed text strings can be stored (for marking times, dates and serial numbers via other commands). The following ordering applies: – Index = 0… 9: digits for marking the time and date [0 … 9] –...
  • Page 346 Ctrl Command load_varpolydelay Function loads a table with data points from an ASCII text file for the scaling function of the variable polygon delay (see page 106). Call NoOfDataPoints = load_varpolydelay( Name, No ) Parameters name of the text file as a pointer to a null-terminated ANSI string Name (the text file may contain one or more tables).
  • Page 347 Ctrl Command load_z_table Function loads coefficients A, B and C into the currently assigned 3D correction table. Restriction If the 3D option has not been enabled or a 3D correction table has not been assigned (see select_cor_table), then the command returns the error code 12 or 13 and otherwise has no effect.
  • Page 348 Ctrl Command load_z_table ® ® 4 RTC 5 unchanged functionality (except for changed value ranges and error codes) If the correct calibration factors are used (see page 172), then the same ABC coefficients ® ® can be used on the same 3-axis scan system with the RTC 4 and RTC 5 boards.
  • Page 349 Normal mark_abs List Command Function moves the laser focus at marking speed along a 2D vector from the current position to the specified position (absolute coordinate values) within a two-dimensional image field. Call mark_abs( X, Y ) Parameters absolute coordinates of the mark vector end point in bits as signed 32-bit X, Y values;...
  • Page 350 Normal mark_abs_3d List Command Function moves the laser focus at marking speed along a 3D vector from the current position to the specified position (absolute coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as mark_abs.
  • Page 351 Undelayed mark_char Short List Command Function marks an indexed character. Call mark_char( Char ) Parameter Index of the indexed character to be marked (as an unsigned 32-bit value, Char allowed range: [0 … 1023]). The following applies: Char = character set number * 256 + ASCII number of the character (character sets are numbered 0 to 3).
  • Page 352 Undelayed mark_char_abs Short List Command Function marks an indexed character. In the called command list (see below), any absolute vector and arc commands will receive an offset (based on the current coordinates at the time of the call). Call mark_char_abs( Char ) Parameter Index of the indexed character to be marked (as an unsigned 32-bit value, Char...
  • Page 353 Normal mark_date List Command Function marks a part of the date previously stored via time_fix, time_fix_f time_fix_f_off in the selected format at the current position. Call mark_date( Part, Mode ) Parameters this parameter (unsigned 32-bit value, allowed range: [0 … 7]) specifies Part which part of the date should be marked: = 0:...
  • Page 354 Normal mark_date List Command ® Comments • Before marking dates (after every boot-up), the RTC 5 and PC times should be synchro- nized (see time_update) and the current (to be marked) date value should be stored with time_fix, time_fix_f time_fix_f_off (see "Marking Dates, Times and Serial Numbers", page...
  • Page 355 Normal mark_ellipse_abs List Command Function moves the laser focus at marking speed along an elliptical arc around the specified midpoint (absolute coordinate values) within a two-dimensional image field. Call mark_ellipse_abs( X, Y, Alpha ) Parameters absolute coordinates of the ellipse midpoint in bits as signed 32-bit values; X, Y allowed range: [–8388608 …...
  • Page 356 Normal mark_ellipse_rel List Command Function moves the laser focus at marking speed along an elliptical arc around the specified midpoint (relative coordinate values) within a two-dimensional image field. Call mark_ellipse_rel( dX, dY, Alpha ) Parameters relative coordinates of the ellipse midpoint in bits as signed 32-bit values; dX,dY allowed range: [–8388608 …...
  • Page 357 Normal mark_rel_3d List Command Function moves the laser focus at marking speed along a 3D vector from the current position to the specified position (relative coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as mark_rel.
  • Page 358 Normal mark_serial List Command Function marks the current serial number of the serial-number-set most recently selected via select_serial_set_list (or of serial-number-set 0 after load_program_file) in the selected format at the current position. Afterward the serial number is (optionally) automatically incremented. Call mark_serial( Mode, Digits ) Parameters...
  • Page 359 Normal mark_serial List Command Comments • The first serial number to be marked must have been previously specified via set_serial, set_serial_step or set_serial_step_list; otherwise, the starting serial number will be 0. The starting serial number can have a maximum length of 10 digits. •...
  • Page 360 Normal mark_serial_abs List Command Function marks the current serial number of the serial-number-set most recently selected via select_serial_set_list (or of serial-number-set 0 after load_program_file) in the selected format at the current position. In the called indexed text strings or characters (see below), any absolute vector and arc commands will receive an offset (based on the current coor- dinates at the time of the call).
  • Page 361 Variable mark_text List Command Function marks a null-terminated string. Call mark_text( Text ) Parameter PC memory address of the first character (byte) of the to-be-marked text Text string as a pointer to a null-terminated ANSI string Comments • The to-be-marked text (character sequence, byte array, null-terminated string) must be terminated with a \0 character (0 byte, NULL).
  • Page 362 Variable mark_text_abs List Command Function marks a null-terminated string. In the called indexed characters (see below), any absolute vector and arc commands will receive an offset (based on the current coordinates at the time of the call). Call mark_text_abs( Text ) Parameter PC memory address of the first character (byte) of the to-be-marked text Text...
  • Page 363 Normal mark_time List Command Function marks a part of the time previously stored via time_fix, time_fix_f time_fix_f_off in the specified format at the current position. Call mark_time( Part, Mode ) Parameters this parameter (unsigned 32-bit value, allowed range: [0 … 4]) specifies Part which part of the time to mark: = 0:...
  • Page 364 Normal mark_time List Command ® ® 4 RTC 5 unchanged functionality (except for the extended range of values) ® (the command was previously only available for the RTC SCANalone Board, i.e. the ® standalone version of the RTC 4 board) References time_fix, time_fix_f, time_fix_f_off, load_text_table, set_text_table_pointer, mark_time_abs...
  • Page 365 Ctrl Command measurement_status Function returns the status of a measurement session started via set_trigger set_trigger4 the current position of the measurement pointer. Call measurement_status( &Busy, &Pos ) Returned measurement status as a pointer to an unsigned 32-bit value: Busy parameter >...
  • Page 366 Normal micro_vector_abs List Command Function moves the output point (of the laser focus) via a hard jump (without microvectorization) directly from the current position to the specified position (absolute coordinate values) within a two-dimensional image field. Call micro_vector_abs( X, Y, LasOn, LasOff ) Parameters absolute coordinates of the micro vector end point in bits as signed 32-bit X, Y...
  • Page 367 Normal micro_vector_abs_3d List Command Function moves the output point (of the laser focus) via a hard jump (without microvectorization) directly from the current position to the specified position (absolute coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as micro_vector_abs.
  • Page 368 Normal micro_vector_rel List Command Function moves the output point (of the laser focus) via a hard jump (without microvectorization) directly from the current position to the specified position (relative coordinate values) within a two-dimensional image field. Call micro_vector_rel( dX, dY, LasOn, LasOff ) Parameters relative coordinates of the micro vector end point in bits as signed 32-bit dX, dY...
  • Page 369 Normal micro_vector_rel_3d List Command Function moves the output point (of the laser focus) via a hard jump (without microvectorization) directly from the current position to the specified position (relative coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as micro_vector_rel.
  • Page 370 Ctrl Command move_to Function moves the focusing optic of a varioSCAN Z-axis to the specified position. FLEX Call move_to( Pos ) Parameter position value as an unsigned 32-bit value Comments • It’s only practical to use this command if a varioSCAN Z-Axis is connected to an FLEX ®...
  • Page 371 Normal para_jump_abs List Command Function moves the output point (of the laser focus) along a 2D vector at jump speed from the current position to the specified position (absolute coordinate values) within a two- dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 372 Normal para_jump_abs_3d List Command Function moves the output point (of the laser focus) along a 3D vector at jump speed from the current position to the specified position (absolute coordinate values) within a three- dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 373 Normal para_jump_rel List Command Function moves the output point (of the laser focus) along a 2D vector at jump speed from the current position to the specified position (relative coordinate values) within a two- dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 374 Normal para_jump_rel_3d List Command Function moves the output point (of the laser focus) along a 3D vector at jump speed from the current position to the specified position (relative coordinate values) within a three- dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 375 Variable para_laser_on_pulses_list List Command Function turns on the LASERON laser control signal for the specified number of external signal pulses (but for no longer than the specified time interval) and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 376 Normal para_mark_abs List Command Function moves the laser focus at marking speed along a 2D vector from the current position to the specified position (absolute coordinate values) within a two-dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 377 Normal para_mark_abs_3d List Command Function moves the laser focus at marking speed along a 3D vector from the current position to the specified position (absolute coordinate values) within a three-dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 378 Normal para_mark_rel List Command Function moves the laser focus at marking speed along a 2D vector from the current position to the specified position (relative coordinate values) within a two-dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 379 Normal para_mark_rel_3d List Command Function moves the laser focus at marking speed along a 3D vector from the current position to the specified position (relative coordinate values) within a three-dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 380 Variable park_position List Command Function for temporary parking, this command moves the output point (of the laser focus) along a 2D vector at jump speed from the current position to the specified position (absolute coordinate values) within the two-dimensional image field. Restriction If the Processing-on-the-fly option is not enabled, then the command functions like a normal...
  • Page 381 Variable park_return List Command Function moves the output point (of the laser focus) away from a park position along a 2D vector at jump speed to the specified position (absolute coordinate values) within the two- dimensional image field. Restriction If the Processing-on-the-fly option is not enabled, then the command functions as a normal jump command.
  • Page 382 Variable park_return List Command Version info Available beginning with version DLL 536, OUT 536 References park_position Ctrl Command pause_list Function pauses execution of the list and disables the “laser active” laser control signals. Call pause_list() Comments • pause_list is synonymous with the previous command stop_list, which is often confused with stop_execution.
  • Page 383 Undelayed range_checking Short List Command Call range_checking ( HeadNo, Mode, Data ) Parameter scan head to be monitored as an unsigned 32-bit value. HeadNo No monitoring (default after load_program_file). Primary scan head is monitored. Secondary scan head is monitored. Both scan heads are monitored. Only the 2 least significant bits are evaluated.
  • Page 384 Undelayed range_checking Short List Command Comments • No monitoring takes place if the specified scan head does not have a correction table assigned (see select_cor_table). • The used position limits (that is, if exceeded the emergency action is executed) are the parameters of a customer-specific Processing-on-the-fly application monitoring (see set_fly_limits, set_fly_limits_z).
  • Page 385 Ctrl Command read_analog_in Function reads the analog input values (ANALOG IN0 and ANALOG IN1) from the ® ® (RTC 5 PC interface board’s) optional ADC add-on board or from the RTC 5-Express board’s “SPI / I2C” connector and returns them as 12-bit digital values. Call AnalogValue = read_analog_in() Result...
  • Page 386 Ctrl Command read_io_port Function returns the current state of the 16-bit digital input port on the EXTENSION 1 connector Call IOPort = read_io_port() Result 16-bit value (DIGITAL IN0 … DIGITAL IN15) as an unsigned 32-bit value Comments • Also see section "16-Bit Digital Input", page 207.
  • Page 387 Undelayed read_io_port_list Short List Command Function writes into the internal IOPort buffer the current state (DIGITAL IN0 … DIGITAL IN15) of the EXTENSION 1 connector’s 16-bit digital input. At the same time, the current XY set positions and (relative) time in seconds are stored. Call read_io_port_list() Comments...
  • Page 388 Ctrl Command read_mcbsp Function returns the most recent input value that was fully copied to an internal memory location via the McBSP interface. Call mcbsp_value = read_mcbsp(No) Parameter Number (unsigned 32-bit value) of the internal memory location whose input value should be queried: = 0: memory location for Processing-on-the-fly applications and for...
  • Page 389 Ctrl Command read_multi_mcbsp Function queries the McBSP multi transmission input value that was most recently type-sorted and stored. Call mcbsp_value = read_multi_mcbsp( No ) Parameter Number of the type-sorted internal memory location as an unsigned 32-bit value (No corresponds to coding bits #0 - 2 of the McBSP multi input): 0 = memory location for the Processing-on-the-fly application’s X coordinate 1 = memory location for the Processing-on-the-fly application’s Y coordinate 2 = memory location for the Processing-on-the-fly application’s Z coordinate...
  • Page 390 Ctrl Command read_status ® Function returns the RTC 5 list status (see "List Status", page 72). Call Status = read_status() Result list status as an unsigned 32-bit value: Bit # Name Description Bit #0 (LSB) LOAD1 = 1: indicates that the input pointer is currently in “List 1”, i.e. that all following list commands will be stored in “List 1”.
  • Page 391 Ctrl Command read_status Comments • When interpreting the status values returned by read_status, always take into account the programmed loading or execution processes of the lists. Under some circum- stances, the status values can be misleading, as illustrated by the following examples: –...
  • Page 392 Ctrl Command release_rtc ® Function releases the specified RTC 5 for use by other applications (user programs) Call NoOfReleasedCard = release_rtc( CardNo ) ® Parameter (DLL-internal) number of the RTC 5 board as an unsigned 32-bit value CardNo Result The returned (unsigned 32-bit) value is CardNo if the application was still in possession of access rights for this board.
  • Page 393 Ctrl Command reset_error Function resets the cumulative error code Call reset_error( Code ) Bitnumber Parameter OR connection of the error codes = sum by means of 2 of all bits to Code be reset as an unsigned 32-bit value Comments •...
  • Page 394 Ctrl Command rs232_config Function configures the RS232 interface for the specified baud rate. Call rs232_config( BaudRate ) Parameter baud rate as an unsigned 32-bit value; BaudRate allowed value range: [300 … +115200] Comments • The default value is 9600 baud. •...
  • Page 395 Ctrl Command rs232_write_data Function sends a data word (byte) to the RS232 interface. Call rs232_write_data( Data ) Parameter Data word as an unsigned 32-bit value; Data only the least significant byte will be transferred to the RS232 interface. Comments • The complete transmission of any previous data words is waited for. An overrun at the interface is not possible.
  • Page 396 Variable rs232_write_text_list List Command Function sends a text string (character-by-character) to the RS232 interface. Call rs232_write_text_list( pData ) Parameter PC memory address of the first character (byte) of the to-be-sent text string as pData a pointer to a null-terminated ANSI string. Comments •...
  • Page 397 Delayed Short save_and_restart_timer List Command ® Function stores the current value of the RTC 5 timer and resets it to zero Call save_and_restart_timer() Comments • The stored timer value can be read by the get_time command. • The command is useful for measuring the marking time of a marking process. •...
  • Page 398 Ctrl Command save_disk Function stores all indexed characters, text strings and/or subroutines to a binary file on a PC storage medium, ordered by index, and returns the number of thereby stored list commands. Call NoOfSavedCommands = save_disk( Name, Mode ) Parameters File name as a pointer to a null-terminated ANSI string Name...
  • Page 399 Undelayed select_char_set Short List Command Function selects one of the available character sets (exclusively) for the execution of subsequent mark_text mark_text_abs commands. Call select_char_set( No ) Parameter number of the desired character set as an unsigned 32-bit value; allowed range: [0 … 3] Comments •...
  • Page 400 Ctrl Command select_cor_table Function assigns the previously loaded correction tables to the scan head control ports and activates image field correction. Call select_cor_table( HeadA, HeadB ) Parameters = 0: turns off the signals for scan head A (primary scan head connector) HeadA = 1…4: assigns correction table number HeadA to scan head A (as an unsigned 32-bit value)
  • Page 401 Ctrl Command select_cor_table Comments • The default setting (after the command load_program_file) is (1,0), i.e. correction table #1 will be used for scan head A, whereas the output signals for scan head B are turned off (this corresponds to parameter values HeadA = 1 and HeadB = 0). Initially however, after load_program_file and until select_cor_table is called or the galva-...
  • Page 402 Variable select_cor_table_list List Command Function similar to select_cor_table (see above), but a list command Call select_cor_table_list( HeadA, HeadB ) Parameters = 0: turns off the signals for scan head A (primary scan head connector) HeadA = 1…4: assigns correction table number HeadA to scan head A (as an unsigned 32-bit value) = 0: turns off the signals for scan head B (secondary scan head connector)
  • Page 403 Ctrl Command select_rtc ® Function defines, in a multi-board system, the active RTC 5 board for an application (user program). See chapter 6.6, page Call NoOfSelectedCard = select_rtc( CardNo ) ® Parameter (DLL-internal) number of the RTC 5 board as an unsigned 32-bit value CardNo Result The returned (unsigned 32-bit) value is...
  • Page 404 Ctrl Command select_serial_set Function selects a serial-number-set for serial number control commands. Call select_serial_set( No ) Parameter Number of the desired serial-number-set as an unsigned 32-bit value; allowed range: [0 … 3]; only the two least significant bits are evaluated. Comments •...
  • Page 405 Ctrl Command set_angle Function uses a specified rotation angle to define the rotation matrix M for all subsequent coordinate transformations (see "Coordinate Transformations", page 161). Call set_angle( HeadNo, Angle, at_once ) Parameters Number of the scan head connector as an unsigned 32-bit value: HeadNo = 1: The definition only affects the primary scan head connector.
  • Page 406 Variable set_angle_list List Command Function same as set_angle (see above), but a list command Call set_angle_list( HeadNo, Angle, at_once ) Parameters See set_angle. HeadNo See set_angle. Angle This parameter (unsigned 32-bit value) determines when the defined at_once transformation becomes effective: = 0: The transformation settings are only collected and intermediately stored, but the transformation is not processed as long as this is not...
  • Page 407 Ctrl Command set_auto_laser_control Function initializes or deactivates position- and/or speed-dependent or encoder-speed-dependent laser control Call ErrorCode = set_auto_laser_control( Ctrl, Value, Mode, MinValue, MaxValue ) Parameters Control parameter (unsigned 32-bit value) for initializing or deactivating position- Ctrl and/or speed-dependent or encoder-speed-dependent laser control: = 1 …...
  • Page 408 Ctrl Command set_auto_laser_control Result error code as an unsigned 32-bit value: No error. no primary scan head active ® ® ® ® ® ® no iDRIVE scan system (intelliSCAN , intelliSCAN , intelliDRILL , intellicube , intelliWELD , varioSCAN active invalid Ctrl value...
  • Page 409 Ctrl Command set_auto_laser_params Function specifies the automatic laser control’s to-be-controlled signal parameter, the 100% value and its corresponding limit values. Call set_auto_laser_params( Ctrl, Value, MinValue, MaxValue) Parameters specifies the to-be-controlled signal parameter (see set_auto_laser_control); Ctrl allowed values: [1 … 6] 100% value (see set_auto_laser_control) Value lower range limit (see set_auto_laser_control)
  • Page 410 Ctrl Command set_char_pointer Function stores the absolute start address of a command list in the internal management table for indexed characters. Call set_char_pointer( Char, Pos ) Parameters Index of the indexed character whose starting address Pos should be entered Char in the management table (as an unsigned 32-bit value, allowed range: [0 …...
  • Page 411 Ctrl Command set_char_table Function stores the absolute start address of a command list in the internal management table for indexed text strings. Call set_char_table( Index, Pos ) Parameters Index of the indexed text string whose starting address Pos should be entered Index in the management table (as an unsigned 32-bit value, allowed range: [0 …...
  • Page 412 Ctrl Command set_control_mode Function enables or disables the external control input for external list starts, locks or unlocks the external control input for external list stops and resets the counter for external list starts to zero. Call set_control_mode( Mode ) Parameter Mode (as an unsigned 32-bit value): Bit #...
  • Page 413 Ctrl Command set_control_mode ® ® ® 4 RTC 5 In contrast to the RTC 4, bit#8 cannot not be used to lock or unlock the upper 8 bits of ® the 16-bit digital output port for I/O commands. The RTC 5 automatically reserves (locks) these bits for varioSCAN control via move_to.
  • Page 414 Undelayed set_default_pixel_list Short List Command Function defines the pulse length default value for the default pixel that terminates pixel output mode. Call set_default_pixel_list( PulseLength ) Parameters default pixel pulse length (as an unsigned 32-bit value). PulseLength 32 – 1 bit equals 1/64 µs. Allowed range: [0 … (2 Comments •...
  • Page 415 Variable set_defocus_list List Command Function similar to set_defocus (see above), but a list command Restriction See set_defocus. Call set_defocus_list( Shift ) Parameter See set_defocus. Shift Comments • See set_defocus. • Even though set_defocus_list is a short list command, execution of the directly following list command will be delayed by a few clock cycles due to the intermediate jump to the changed Z-position.
  • Page 416 List Multi- set_delay_mode_list Command Function identical with set_delay_mode (see above), but a list command Call set_set_delay_mode_list( VarPoly, DirectMove3D, EdgeLevel, MinJumpDelay, JumpLengthLimit ) Parameters See set_delay_mode. Comments • See set_delay_mode. • The command requires two list buffer positions and executes as two undelayed short list commands.
  • Page 417 Undelayed set_ellipse Short List Command Function defines the shape of an elliptical arc that can subsequently be marked via mark_ellipse_abs or mark_ellipse_rel. Call set_ellipse( a, b, Phi0, Phi ) Parameters Lengths of the elliptical half-axes in bits as unsigned 32-bit values; a, b allowed range: [1 …...
  • Page 418 Delayed Short set_encoder_speed List Command Function defines the target encoder speed and further parameters for encoder-speed-dependent automatic laser control. Call set_encoder_speed( EncoderNo, Speed, Smooth ) Parameters Number of the encoder counter to be used for speed measurement EncoderNo as an unsigned 32-bit value, allowed values: = 0: Encoder counter Encoder0...
  • Page 419 Ctrl Command set_encoder_speed_ctrl Function same as set_encoder_speed (see above), but a control command Call set_encoder_speed_ctrl( EncoderNo, Speed, Smooth ) Parameters Number of the encoder counter to be used for speed measurement EncoderNo as an unsigned 32-bit value, allowed values: = 0: Encoder counter Encoder0 = 1: Encoder counter Encoder1...
  • Page 420 Normal set_end_of_list List Command Function ends execution of a list. Call set_end_of_list() Comments • If, during processing of a list, the set_end_of_list command is encountered and no automatic list change was previously activated (see "Automatic List Changing", page 75), then list execution will end. The “laser active” laser control signals will then be switched off and a home jump, if defined via home_position or home_position_xyz,...
  • Page 421 Ctrl Command set_extstartpos Function defines the start address (within the range of “List 1” or “List 2”) where execution should continue upon subsequent external list starts. Call set_extstartpos( Pos ) Parameter absolute address of the first list command to be executed as an unsigned 32-bit value;...
  • Page 422 Ctrl Command set_ext_start_delay Function sets a track delay for subsequent external list starts, so that the lists are started with a delay relative to the triggering input signal or simulate_ext_start simulate_ext_start_ctrl command. Call set_ext_start_delay( Delay, EncoderNo ) Parameters track delay (counter steps of the selected encoder counter EncoderNo) as a Delay signed 32-bit value;...
  • Page 423 Normal set_ext_start_delay_list List Command Function same as set_ext_start_delay (see above), but a list command Call set_ext_start_delay_list( Delay, EncoderNo ) Parameters See set_ext_start_delay. Delay EncoderNo See set_ext_start_delay. Comments • If EncoderNo > 1, then set_ext_start_delay_list will be replaced by a list_nop (get_last_error return code RTC5_PARAM_ERROR).
  • Page 424 Normal set_fly_2d List Command Function activates Processing-on-the-fly correction for compensation of a linear workpiece- ® movement in two dimensions (based on the encoder values transferred to the RTC 5 via encoder counters Encoder0 and Encoder1 and corrected via a special 2D table) and sets the corresponding scaling factors.
  • Page 425 Normal set_fly_2d List Command References init_fly_2d, load_fly_2d_table, get_fly_2d_offset, activate_fly_2d, activate_fly_xy Undelayed set_fly_limits Short List Command Function defines the boundaries of the customer-defined monitoring area for Processing-on-the-fly applications. Call set_fly_limits( Xmin, Xmax, Ymin, Ymax ) Parameters Area boundaries as signed 32-bit values; Xmin, allowed value range: [–524,288 …...
  • Page 426 Normal set_fly_rot List Command Function activates Processing-on-the-fly correction for compensation of workpiece rotary ® movement (based on angular position values transferred to the RTC 5 via encoder counter Encoder0) and sets the corresponding Resolution parameter. Encoder counter Encoder0 may be reset (see comments). Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated).
  • Page 427 Normal set_fly_rot_pos List Command Function activates Processing-on-the-fly correction for compensation of workpiece or scan system ® rotary movement (based on angular position values transferred to the RTC 5 via the McBSP interface); thereby sets the corresponding Resolution parameter. Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated).
  • Page 428 Ctrl Command set_fly_tracking_error Function activates or deactivates tracking error compensation of encoder values for Processing-on- the-fly applications. Call set_fly_tracking_error( TrackingErrorX, TrackingErrorY ) Parameters Tracking error in units of [10 µs] for each axis (signed 32-bit values) TrackingErrorX, allowable range: [0 … 65535], excessive bits are ignored. TrackingErrorY Comments •...
  • Page 429 Normal set_fly_x List Command Function activates Processing-on-the-fly correction for compensation of a linear workpiece- ® movement in the X direction (based on position values transferred to the RTC 5 via encoder counter Encoder0) and sets the corresponding scaling factor. Encoder counter Encoder0 may be reset (see comments).
  • Page 430 Normal set_fly_x_pos List Command Function activates Processing-on-the-fly correction for compensation of a linear workpiece or scan ® system movement in the X direction (based on position values transferred to the RTC 5 via the McBSP interface); thereby sets the corresponding scaling factor. Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated).
  • Page 431 Normal set_fly_y List Command Function activates Processing-on-the-fly correction for compensation of a linear workpiece- ® movement in the Y direction (based on position values transferred to the RTC 5 via encoder counter Encoder1) and sets the corresponding scaling factor. Encoder counter Encoder1 may be reset (see comments).
  • Page 432 Normal set_fly_y_pos List Command Function activates Processing-on-the-fly correction for compensation of a linear workpiece or scan ® system movement in the Y direction (based on position values transferred to the RTC 5 via the McBSP interface); thereby sets the corresponding scaling factor. Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated).
  • Page 433 Ctrl Command set_free_variable Function sets a free variable to the desired value. Call set_free_variable( No, Value ) Parameters Number of the free variable to be set as an unsigned 32-bit value. Allowed range: [0 … 3] Only the two least significant bits are evaluated. Desired variable value as an unsigned 32-bit value.
  • Page 434 Ctrl Command set_hi Function defines gain and offset values for the galvanometer scanners of the scan system attached to the specified scan head connector. Call set_hi( HeadNo, GalvoGainX, GalvoGainY, GalvoOffsetX, GalvoOffsetY ) Parameters Number of the scan head connector as an unsigned 32-bit value, HeadNo allowed values: = 1:...
  • Page 435 Undelayed set_io_cond_list Short List Command Function sets the bits of the 16-bit digital output port on the EXTENSION 1 connector that are set in the parameter MaskSet, if the current IOvalue at the 16-bit digital input port on the EXTENSION 1 connector meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 436 Control set_jump_mode Command Function enables and activates or disables and deactivates jump mode for 2D jumps and sets the related parameters (before activation, a check might be performed, also see page 157). ® ® Requirements Enabling is only possible if a jump-tuning-equipped intelliSCAN , intellicube ®...
  • Page 437 Control set_jump_mode Command Flag > 1 Didn’t pass the check (also see notes); will be set to –1 (jump mode deactivated and disabled); the following is returned: Byte #0 = 255 Byte #1 = Error code for primary scan head connector Byte #2 = Error code for secondary scan head connector Byte #3 = 0 whereby Error code:...
  • Page 438 Normal List set_jump_mode_list Command Function activates or deactivates and disables jump mode for 2D jumps. Requirements See set_jump_mode. Call set_jump_mode_list( Flag ) Parameters See set_jump_mode. Flag Notes • For information on using the command, see "Jump Mode", page 156. • set_jump_mode_list functions like the control command set_jump_mode (see notes there) but, as a list command, has the following differences:...
  • Page 439 Ctrl Command set_jump_speed_ctrl Function same as set_jump_speed (see above), but a control command Call set_jump_speed_ctrl( Speed ) Parameter jump speed in bits per ms (as a 64-bit IEEE floating point value) Speed Allowed range: [1.6 … 800000.0] Comments • The command will be ignored (get_last_error return code: RTC5_BUSY) if the board’s BUSY status is currently set (list is being processed or has been halted via pause_list).
  • Page 440 Ctrl Command set_laser_control Function defines and enables or disables the laser control signals Call set_laser_control( Ctrl ) Parameter Ctrl (as an unsigned 32-bit value): Bit # Description Bit #0 (LSB) Pulse Switch Setting (doesn’t apply neither to laser mode 4 nor to laser mode 6): The setting only affects those laser control signals (more precisely: those LASER1 or LASER2 “laser active”...
  • Page 441 Ctrl Command set_laser_control Comments • In the default setting (after a reset), all bits are set to 0. After a hardware reset, however, the settings only become effective following the first-time call of set_laser_control. Prior to this, all laser signal outputs (LASERON, LASER1 and LASER2) are in the (high- impedance) tristate mode.
  • Page 442 Undelayed set_laser_delays Short List Command Function sets the LaserOn delay and the LaserOff delay. Call set_laser_delays( LaserOnDelay, LaserOffDelay ) Parameters LaserOn Delay as a signed 32-bit value LaserOnDelay 1 bit equals 0.5 µs. Allowed range: [ – 2 … +(2 –1)] LaserOff Delay as an unsigned 32-bit value.
  • Page 443 Ctrl Command set_laser_mode ® Function selects the laser control mode of the RTC Call set_laser_mode( Mode ) Parameter as an unsigned 32-bit value Mode = 0: mode = 1: YAG mode 1 = 2: YAG mode 2 = 3: YAG mode 3 = 4: laser mode 4 = 5:...
  • Page 444 Ctrl Command set_laser_pin_out Function sends a value to the laser connector’s two digital outputs Call set_laser_pin_out( Pins ) Parameter Output value (DIGITAL OUT1 and DIGITAL OUT2) as unsigned 32-bit value Pins Bit # 0: DIGITAL OUT1 Bit # 1: DIGITAL OUT2 Bits # 2–31: Reserved.
  • Page 445 Delayed Short set_laser_pulses List Command Function defines the output period and the pulse lengths for the laser signals LASER1 and LASER2 for “laser active” operation. Call set_laser_pulses( HalfPeriod, PulseLength ) Parameters half of the output period in bits as an unsigned 32-bit value HalfPeriod 1 bit equals 1/64 µs.
  • Page 446 Delayed Short set_laser_timing List Command Function defines the output period and the pulse lengths for the laser signals LASER1 and LASER2 for “laser active” operation. Call set_laser_timing( HalfPeriod, PulseLength1, PulseLength2, TimeBase ) Parameters half of the output period in bits as an unsigned 32-bit value HalfPeriod ®...
  • Page 447 • The time base setting applies only for the parameters of this command. ® • For RTC 4 compatibility mode, SCANLAB generally recommends setting the time base to 8 MHz. In this mode, a time base of 1 MHz should only be chosen if necessary. • Refer to chapter 7.4 "Laser Control", page...
  • Page 448 Delayed Short set_mark_speed List Command Function defines the marking speed for the subsequent vector and arc commands Call set_mark_speed( Speed ) Parameter marking speed in bits per ms (as a 64-bit IEEE floating point value) Speed Allowed range: [1.6 … 800000.0] Comments •...
  • Page 449 Ctrl Command set_matrix Function sets the coefficients of the general transformation matrix M for all subsequent coordinate transformations (see "Coordinate Transformations", page 161). Call set_matrix( HeadNo, M11, M12, M21, M22, at_once ) Parameters Number of the scan head connector as an unsigned 32-bit value: HeadNo = 1: The definition only affects the primary scan head connector.
  • Page 450 Variable set_matrix_list List Command Function sets one of the four coefficients of the general transformation matrix M during execution of a list (see "Coordinate Transformations", page 161). Call set_matrix_list( HeadNo, Ind1, Ind2, Mij, at_once ) Parameters See set_matrix. HeadNo Row index and column index of the matrix coefficient to be changed as an Ind1, unsigned 32-bit value;...
  • Page 451 Ctrl Command set_max_counts Function defines the maximum number of external list starts Call set_max_counts( Counts ) Parameter maximum number of external list starts as an unsigned 32-bit value. Counts 32 – Allowed range: [0 … (2 Comments • When the specified number of external list starts has been reached, the external start input is disabled (see set_control_mode, bit#0 = 0).
  • Page 452 Ctrl Command set_mcbsp_in Function activates Processing-on-the-fly correction for compensation of a workpiece or scan system ® movement (based on position values transferred to the RTC 5 via the McBSP interface); the McBSP interface can also be used for inputting other desired signals. Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated).
  • Page 453 Ctrl Command set_mcbsp_in References set_mcbsp_in_list Undelayed set_mcbsp_in_list Short List Command Function identical with set_mcbsp_in (see above), but a list command Restriction If the Processing-on-the-fly option is not enabled, then the command terminates the Processing-on-the-fly process (even though it couldn’t have been activated). Call set_mcbsp_in_list( Mode, Scale ) Parameters...
  • Page 454 Ctrl Command set_mcbsp_matrix Function activates matrix correction for online positioning via the McBSP interface. Call set_mcbsp_matrix() Comments • For online positioning, see page 165. • Matrix corrections can’t be used in conjunction with offset and/or rotation corrections. Any such already-activated options will get deactivated by set_mcbsp_matrix. Subse- quent activation of other options (via set_mcbsp_x, set_mcbsp_y or set_mcbsp_rot)
  • Page 455 Undelayed set_mcbsp_out Short List Command Function defines two signal types for output at the McBSP interface (Multi channel Buffered Serial Port, also see page 52). Call set_mcbsp_out( Signal1, Signal2 ) Parameter desired signal type as unsigned 32-bit values Signal1, Signal2 Comments •...
  • Page 456 Ctrl Command set_mcbsp_out_ptr Function defines a list of up to 8 signal types for output at the McBSP interface (Multi channel Buffered Serial Port, also see page 52). Call set_mcbsp_out_ptr( Number, SignalPtr ) Parameters unsigned 32-bit value; allowed range: [0 … 8]: Number = 1…8: Number of signal types to be outputted Output at the McBSP interface occurs in accordance with the pre-...
  • Page 457 Ctrl Command set_mcbsp_rot Function activates or deactivates rotation correction for online positioning via the McBSP interface. Call set_mcbsp_rot( Resolution ) Parameter Resolution Value as a 64-bit IEEE floating point number: –26 < Resolution < 2 : scaling factor (correction will be activated) otherwise: correction will be deactivated Resolution = McBSP bits per full circle Comments...
  • Page 458 Ctrl Command set_mcbsp_x Function activates or deactivates X offset correction for online positioning via the McBSP interface. Call set_mcbsp_x( Scale ) Parameter Value as a 64-bit IEEE floating point number: Scale –26 < Scale < 2 : scaling factor (correction will be activated) otherwise: correction will be deactivated Comments •...
  • Page 459 Ctrl Command set_mcbsp_y Function activates or deactivates Y offset correction for online positioning via the McBSP interface. Call set_mcbsp_y( Scale ) Parameter Value as a 64-bit IEEE floating point number: Scale –26 < Scale < 2 : scaling factor (correction will be activated) otherwise: correction will be deactivated Comments •...
  • Page 460 Ctrl Command set_multi_mcbsp_in unsigned 32-bit value. Mode = 0: The transmitted value will be used directly. = 1: The transmitted value will be multiplied by P/16384 and then put out. Ctrl, P and Mode are only relevant for Type 3 (= laser power) of the transmitted data word; see read_multi_mcbsp.
  • Page 461 Ctrl Command set_multi_mcbsp_in • If more than four McBSP transfers complete within a 10 µs clock cycle, then prior values might get overwritten. • If the Processing-on-the-fly option is enabled, then the command will activate a Processing-on-the-fly application with positional values for the three coordinate direc- tions X, Y and Z.
  • Page 462 Variable set_n_pixel List Command Function in pixel output mode, this command defines the laser control parameters (pulse length and analog voltage level) for multiple directly successive identical pixels in an image line. Call set_n_pixel( PulseLength, AnalogOut, Number ) Parameters pixel pulse length (as an unsigned 32-bit value). 1 bit equals 1/64 µs. PulseLength 32 –...
  • Page 463 Ctrl Command set_offset Function defines an offset for all subsequent coordinate transformations (see "Coordinate Transformations", page 161). Call set_offset( HeadNo, XOffset, YOffset, at_once ) Parameters See set_offset_xyz. HeadNo See set_offset_xyz. XOffset, YOffset See set_offset_xyz. at_once Comments • See "Coordinate Transformations", page 161.
  • Page 464 Ctrl Command set_offset_xyz Function defines an offset for all subsequent coordinate transformations (see "Coordinate Transformations", page 161). Call set_offset_xyz( HeadNo, XOffset, YOffset, ZOffset, at_once ) Parameters Number of the scan head connector as an unsigned 32-bit value: HeadNo = 1: The definition only affects the primary scan head connector.
  • Page 465 Ctrl Command set_offset_xyz ® ® 4 RTC 5 new command ® With the RTC 5, the image field coordinates for the X and Y axes are specified as 20-bit ® values. In RTC 4 compatibility mode, they are specified as 16-bit values (as with the ®...
  • Page 466 Variable set_pixel List Command Function in the pixel output mode, defines the laser control parameters (pulse length and analog voltage level) for one pixel in an image line. Call set_pixel( PulseLength, AnalogOut ) Parameters pixel pulse length (as an unsigned 32-bit value). 1 bit equals 1/64 µs. PulseLength 32 –...
  • Page 467 Normal set_pixel_line List Command Function activates the pixel output mode and defines various pixel output parameters. Call set_pixel_line( Channel, HalfPeriod, dX, dY ) Parameters Number of the analog output port (as an unsigned 32-bit value) that Channel should output the analog voltage levels defined by subsequent set_pixel/set_n_pixel commands;...
  • Page 468 Normal set_pixel_line List Command ® ® ® ® 4 RTC • On the RTC 5, only one pixel mode is available (equivalent to the RTC 4’s PixelMode = 1) . ® • The RTC 5 allows selection of the output channel (Channel) for analog signals (in pixel ®...
  • Page 469 Ctrl Command set_port_default Function defines the default output value for the selected output port. Call set_port_default( Port, Value ) Parameters Selection of the output port for which a default Value shall be defined as an Port unsigned 32-bit value; allowed values: = 0: ANALOG OUT1 output port (also see page...
  • Page 470 Ctrl Command set_pulse_picking Function switches on pulse picking laser mode. Call set_pulse_picking( No ) Parameter an unsigned 32-bit value; allowed range: [0 … 63] = 0: LASER2 will output the LASERON signal = 1…63: LASER2 will output each No LASER1 pulse If No >...
  • Page 471 Normal set_pulse_picking_list List Command Function same as set_pulse_picking (see above), but a list command Call set_pulse_picking_list( No ) Parameter See set_pulse_picking. ® ® 4 RTC 5 new command Version info Available beginning with version DLL 529, OUT 530, RBF 521 References set_pulse_picking Ctrl Command set_qswitch_delay...
  • Page 472 Ctrl Command set_rot_center Function sets the rotation center of a Processing-on-the-fly rotation correction (see set_fly_rot set_fly_rot_pos). Call set_rot_center( X, Y ) Parameter Position of the rotation center referenced to the zero point (0|0) of the image X, Y field as signed 32-bit values; allowed range: [–2 …...
  • Page 473 Ctrl Command set_rtc4_mode ® Function sets RTC 4 compatibility mode as the current DLL operation mode Call set_rtc4_mode() ® Comments • RTC 4 compatibility mode is an optional operation mode of the DLL. It has been made ® available so that user programs written for the RTC 4 can also be processed by the ®...
  • Page 474 Ctrl Command set_scale Function uses a specified scaling factor common to the X and Y axes to define the scaling matrix M for all subsequent coordinate transformations (see "Coordinate Transformations", page 161). Call set_scale( HeadNo, Scale, at_once ) Parameters Number of the scan head connector as an unsigned 32-bit value: HeadNo = 1: The definition only affects the primary scan head connector.
  • Page 475 Variable set_scale_list List Command Function same as set_scale (see above), but a list command Call set_scale_list( HeadNo, Scale, at_once ) Parameters See set_scale. HeadNo See set_scale. Scale This parameter (unsigned 32-bit value) determines when the defined at_once transformation becomes effective: = 0: The transformation settings are only collected and intermediately stored, but the transformation is not processed as long as this is not...
  • Page 476 Ctrl Command set_serial Function sets the starting serial number of the serial-number-set most recently selected via select_serial_set (or of serial-number-set 0 after load_program_file) and sets the increment size for this serial-number-set to 1. Call set_serial( No ) Parameters Serial number as an unsigned 32-bit value; allowed range: [0 …...
  • Page 477 Normal set_serial_step_list List Command Function sets the starting serial number and the increment size for the serial-number-set most recently selected via select_serial_set_list (or for serial-number-set 0 after load_program_file). Call set_serial_step_list( No, Step ) Parameters Serial number as an unsigned 32-bit value; allowed range: [0 … (2 –1)] Increment size as an unsigned 32-bit value;...
  • Page 478 Ctrl Command set_sky_writing_limit Function defines the limit for Sky Writing switching in mode 3. Call set_sky_writing_limit( Limit ) Parameters Desired limit as a 64-bit IEEE floating point value; Limit allowed range: [–1.0 … +1.0]; out-of-range values will be edge-clipped. Comments •...
  • Page 479 Ctrl Command set_sky_writing_mode Function switches Sky Writing mode on or off. Call set_sky_writing_mode( Mode ) Parameters Desired Sky Writing mode as an unsigned 32-bit value Mode (allowed range: [0 … (2 –1)]): = 0: Sky Writing (mode 1 or possibly mode 2 or 3) will be activated = 1: Sky Writing mode 1 will be activated = 2:...
  • Page 480 Normal set_sky_writing_mode_list List Command Function identical with set_sky_writing_mode (see above), but a list command Call set_sky_writing_mode_list( Mode ) Parameters See set_sky_writing_mode. Mode Comments • Unlike set_sky_writing_mode, the command set_sky_writing_mode_list lets you activate or deactivate Sky Writing mode 2 or 3 (switching to or from Mode = 2 or 3) even within a list.
  • Page 481 Ctrl Command set_sky_writing_para Function activates or deactivates Sky Writing mode and sets the corresponding parameters Call set_sky_writing_para( Timelag, LaserOnShift, Nprev, Npost ) Parameters Sky Writing parameter as a 64-bit IEEE floating point value Timelag 1.0 equals 1 µs. Up to DLL 536, the following applies: ...
  • Page 482 Ctrl Command set_sky_writing_para Comments • For information on Sky Writing mode and a description of the parameters, see "Sky Writing", page 113. • If Nprev  65535, then set_sky_writing_para behaves similarly to set_sky_writing: Nprev is set to a value of approx. (0.15 · Timelag), i.e. –...
  • Page 483 Normal set_sky_writing_para_list List Command Function identical with set_sky_writing_para (see above), but a list command Call set_sky_writing( Timelag, LaserOnShift, Nprev, Npost ) Parameters See set_sky_writing_para. Timelag LaserOnShift See set_sky_writing_para. See set_sky_writing_para. Nprev See set_sky_writing_para. Npost Comments • Unlike set_sky_writing_para, the command set_sky_writing_para_list is also execut- able within a list if Sky Writing mode 2 or 3 is active.
  • Page 484 Ctrl Command set_softstart_level Function sets the softstart values. Call set_softstart_level( Index, Level ) Parameters All parameters must be unsigned 32-bit values. Parameter Allowed Values Description 0 … 1023 index number of the softstart table value Index 0 … 2 –1 for softstart mode = 1, 2, 11 and 12 (see set_softstart_mode).
  • Page 485 Normal set_softstart_level_list List Command Function similar to set_softstart_level (see above), but a list command Call set_softstart_level_list( Index, Level1, Level2, Level3 ) Parameters See set_softstart_level. Comments • The set_softstart_level command defines three Level values for the pulses number Index through Index+3. The command must be called separately for each individual Level1/2/3 value-triple.
  • Page 486 Ctrl Command set_softstart_mode Function switches softstart mode on or off. Call set_softstart_mode( Mode, Number, Delay ) Parameters All parameters are unsigned 32-bit values. Parameter Allowed Values Description Mode disables the softstart mode, but does not remove previously loaded softstart values. = 1, 11 the softstart values defined via set_softstart_level...
  • Page 487 Variable set_softstart_mode_list List Command Function same as set_softstart_mode (see above), but a list command Call set_softstart_mode_list( Mode, Number, Delay ) Parameters See set_softstart_mode. Comments • set_softstart_mode_list switches off the “laser active” laser control signals by executing list_nop and waits until the LaserOff delay has expired. •...
  • Page 488 Ctrl Command set_standby Function defines the output period and the pulse length of the standby pulses for “laser standby” operation or – in laser mode 4 and laser mode 6 – the continuously-running laser signals for “laser active” and “laser standby” operation. Call set_standby( HalfPeriod, PulseLength ) Parameters...
  • Page 489 Delayed Short set_standby_list List Command Function same as set_standby (see above), but a list command Call set_standby_list( HalfPeriod, PulseLength ) Parameters half of the stand-by output period as an unsigned 32-bit value. HalfPeriod 32 – 1 bit equals 1/64 µs. Allowed range: [0 … +(2 Pulse length of the stand-by pulses as an unsigned 32-bit value.
  • Page 490 Ctrl Command set_start_list_pos Function opens the list buffer for writing of list commands and sets the input pointer to the specified (relative) position in the desired list (“List 1” or “List 2”). The next list command will be stored at this address and all further list commands at the subsequent addresses in the selected list.
  • Page 491 Ctrl Command set_sub_pointer Function stores the absolute start address of a command list in the internal management table for indexed subroutines. Call set_sub_pointer( Index, Pos ) Parameters Index of the indexed subroutine whose starting address Pos should be Index entered in the management table (as an unsigned 32-bit value, allowed range: [0 …...
  • Page 492 Ctrl Command set_text_table_pointer Function stores the absolute start address of a command list in the internal management table for indexed text strings. Call set_text_table_pointer( Index, Pos ) Parameters Index of the indexed text string whose starting address Pos should be entered Index in the management table (as an unsigned 32-bit value, allowed range: [0 …...
  • Page 493 Delayed Short set_trigger List Command Function starts measurement and storage of the specified signals Call set_trigger( Period, Signal1, Signal2 ) Parameters measurement period as an unsigned 32-bit value; Period 1 bit equals 10 µs. Allowed range: [0 … (2 –1)] desired signal type for measurement channels 1 and 2 as an unsigned 32-bit Signal1, value (allowed range: as listed below):...
  • Page 494 Delayed Short set_trigger List Command = 31: Laser control parameter of vector-defined laser control (see set_vector_control) Signal1, = 32: Focus shift (see set_vector_control, set_defocus, set_defocus_list) Signal2 = 33: 12-bit output value at the ANALOG OUT1 output port (see set_auto_laser_control, set_vector_control chapter 9.1.4 "12-Bit Analog Output Ports") = 34: 12-bit output value at the ANALOG OUT2 output port (see set_auto_laser_control,...
  • Page 495 Delayed Short set_trigger List Command Comments • For aborting a measurement session via set_trigger(Period = 0) or set_trigger4(Period = 0), the values of Signal1 and Signal2 will be irrelevant as long as they’re in the permitted value range. • If you abort a measurement session with set_trigger(Period = 0) or set_trigger4(Period = 0), then previously recorded measurement values will not be lost and the measurement pointer will halt at its most recent value.
  • Page 496 Delayed Short set_trigger List Command Comments • Signal1, Signal2 = 0, 24 and 31…42 enables logging of values that were outputted during the previous clock cycle. During the current clock cycle, the corresponding signals may change after logging, either automatically or via control and list commands.
  • Page 497 Normal set_trigger4 List Command Function starts measurement and storage of the specified signals (functions similarly to set_trigger, but with 4 instead of 2 simultaneous measurement signals). Call set_trigger4( Period, Signal1, Signal2, Signal3, Signal4 ) Parameters See set_trigger. Period See set_trigger. Signal1, Signal2, Signal3,...
  • Page 498 Undelayed set_vector_control Short List Command Function initializes or deactivates vector-defined laser control (see page 147). Call set_vector_control( Ctrl, Value) Parameters Control parameter (unsigned 32-bit value) for initializing or deactivating vector- Ctrl defined laser control (for Ctrl = 1…6: identical with set_auto_laser_control): = 1…7: defines which signal parameter is to be varied via vector-defined laser control: = 1:...
  • Page 499 Undelayed set_vector_control Short List Command ® ® 4 RTC 5 new command ® This command has no RTC 4 compatibility mode for Value. References set_auto_laser_control Ctrl Command set_verify Function Activates or deactivates a download verification (see page 88). Call OldVerify = set_verify( Verify ) Parameter Parameter as an unsigned 32-bit value: Verify...
  • Page 500 Normal set_wait List Command Function sets a numbered wait marker (break point) in the list Call set_wait( WaitWord ) Parameter number of the wait marker as an unsigned 32-bit value. WaitWord Allowed range: [1 … (2 –1)]; 0 will be corrected to 1. Comments •...
  • Page 501 Delayed Short set_wobbel List Command Function defines the parameters for an ellipse-shaped wobbel motion. “Wobbel” is a motion of the output position which is added to the regular marking movement (see page 167). Call set_wobbel( Transversal, Longitudinal, Freq ) Parameters Amplitude of the elliptical or figure-8 movement perpendicular to the Transversal momentary direction of motion or to the one defined via...
  • Page 502 Delayed Short set_wobbel List Command ® ® ® 4 RTC 5 The RTC 4 only executed (elliptical) wobbel movements permanently referenced to the ® coordinate system. For the RTC 5, the parameters Transversal and Longitudinal can be used to define an ellipse-shaped movement (the frequency’s sign determines the direction of rotation) that follows the current direction of movement.
  • Page 503 Undelayed set_wobbel_control Short List Command Function specifies laser control parameters for laser power variation with “freely definable wobbel shapes”. Call set_wobbel_control( Ctrl, Value, MinValue, MaxValue ) Parameter control parameter for initializing or deactivating laser power variation as an Ctrl unsigned 32-bit value: = 1…6: specifies which signal parameter to vary: For more information, see set_auto_laser_control.
  • Page 504 Undelayed set_wobbel_direction Short List Command Function defines a direction vector for wobbel motions. Call set_wobbel_direction( dX, dY ) Parameter Components of the direction vector in bits as signed 32-bit values dX, dY Comments • For non-zero direction vectors (dX and/or dY non-zero), wobbel motion (longitudinal and transversal) is relative to this direction vector instead of to the momentary direction ®...
  • Page 505 Delayed Short set_wobbel_mode List Command Function switches the wobbel mode on and off and defines the parameters for an ellipse-shaped or figure-of-8 wobbel motion (see page 167). Call set_wobbel_mode( Transversal, Longitudinal, Freq, Mode ) Parameters Amplitude of the elliptical or figure-8 movement perpendicular to the Transversal momentary direction of motion or to the one defined via set_wobbel_direction...
  • Page 506 Delayed Short set_wobbel_mode List Command Comments • For Mode = 0, the set_wobbel_mode command functions identically to the set_wobbel command (see comments there). • If Mode <> 0, then a figure-of-8 motion will be activated. With figure-of-8s, broader mid-line processing can be achieved via appropriate parameter values. If the specified transverse and longitudinal amplitudes are identical, then the wobbel shape remains stationary in space;...
  • Page 507 Delayed Short set_wobbel_offset List Command Function defines a wobbel shape shift in the direction of motion or perpendicular to the direction of motion. Call set_wobbel_offset(OffsetTrans, OffsetLong) Parameter Transversal and longitudinal offset as signed 32-bit values. OffsetTrans , OffsetLong Allowed range: ±32767. Larger values will be clipped. Initialization values after load_program_file: (0,0).
  • Page 508 Undelayed set_wobbel_vector Short List Command Comments • set_wobbel_vector can’t be used together with the Softstart function because both ® require a shared memory area on the RTC 5. To avoid (unintentional) mutual over- writing, you absolutely must explicitly deactivate Softstart. Otherwise, the command will have no effect.
  • Page 509 Undelayed set_wobbel_vector Short List Command • For laser power variation with Ctrl = 5 (half period), dPower needs to have the opposite sign. Unlike with automatic laser control, the multiplication factor can’t be inverted. • By using an “empty” wobbel shape set_wobbel_vector(0.0, 0.0, 1, 0.0), you can also multiplicatively vary the nominal laser power P0 without needing to explicitly wobbel (for another alternative, see set_multi_mcbsp_in).
  • Page 510 Normal simulate_ext_start List Command Function after the specified track delay, causes a simulated external list start. Call simulate_ext_start( Delay, EncoderNo ) Parameters track delay (in counter steps of the selected EncoderNo encoder counter) as a Delay signed 32-bit value; allowed range: [–2 …...
  • Page 511 Ctrl Command simulate_ext_start_ctrl Function causes a simulated external list start. Call simulate_ext_start_ctrl() Comments • For external list starts, see page 210. • If applicable, the start trigger for the list start occurs only after a track delay previously set via set_ext_start_delay, set_ext_start_delay_list simulate_ext_start (i.e.
  • Page 512 Ctrl Command start_loop Function starts a repeating automatic list change Call start_loop() Comments • A list change or new list start activated with start_loop will repeat until execution is ended via calling the command quit_loop. • The command start_loop can be issued at any desired time point, but will only have effect upon the next set_end_of_list command.
  • Page 513 Ctrl Command stepper_abs Function triggers set-position movements to the specified absolute set positions via both stepper motor outputs. Call stepper_abs( Pos1, Pos2, WaitTime ) Parameters Absolute set positions in CLOCK pulse units for stepper motor outputs 1 and Pos1, 2 as signed 32-bit values; allowed range: [–2 …...
  • Page 514 Undelayed stepper_abs_list Short List Command Function same as stepper_abs (see above), but a list command and without WaitTime parameter Call stepper_abs_list( Pos1, Pos2 ) Parameters See stepper_abs. Pos1, Pos2 Comments • See stepper_abs. • During performance of a reference movement (see stepper_init), execution of stepper_abs_list will be delayed until the reference movement completes.
  • Page 515 Undelayed stepper_abs_no_list Short List Command Function same as stepper_abs_no (see above), but a list command and without WaitTime parameter Call stepper_abs_no_list( No, Pos ) Parameters Number of the stepper motor output as an unsigned 32-bit value; allowed values: = 1: Stepper motor output 1 = 2: Stepper motor output 2...
  • Page 516 Undelayed stepper_control_list Short List Command Function same as stepper_control (see above), but a list command Call stepper_control_list( Period1, Period2 ) Parameters See stepper_control. Period1, Period2 Comments • See stepper_control. ® ® 4 RTC 5 new command Version info • Available beginning with version DLL 527, OUT 529, RBF 519 ®...
  • Page 517 Undelayed stepper_enable_list Short List Command Function same as stepper_enable (see above), but a list command and without a return value Call stepper_enable_list( Enable1, Enable2 ) Parameters See stepper_enable. Enable1, Enable2 Comments • See stepper_enable. ® ® 4 RTC 5 new command Version info •...
  • Page 518 Ctrl Command stepper_init Function initializes a stepper motor. Call stepper_init( No, Period, Dir, Pos, Tol, Enable, WaitTime ) Parameters Number of the stepper motor output as an unsigned 32-bit value; allowed values: = 1: Stepper motor output 1 = 2: Stepper motor output 2 If the value is invalid, then the command won’t execute (get_last_error...
  • Page 519 Ctrl Command stepper_init Comments • For programming the stepper motor signals, see page 205. • stepper_init immediately stops all previously started movements of the stepper motor specified by the No parameter. • The ENABLE signal is merely forwarded and always correspondingly set, but has no effect on internal operations.
  • Page 520 Ctrl Command stepper_rel Function triggers set-position movements to the specified relative set positions via both stepper motor outputs. Call stepper_rel( dPos1, dPos2, WaitTime ) Parameters Relative set positions in CLOCK pulse units for stepper motor outputs 1 and 2 dPos1, as signed 32-bit values;...
  • Page 521 Ctrl Command stepper_rel_no Function triggers set-position movements to the specified relative set positions via the desired stepper motor output. Call stepper_rel_no( No, dPos, WaitTime ) Parameters See stepper_abs_no. Relative set position in CLOCK pulse units as a signed 32-bit value; dPos allowed range: [–2 …...
  • Page 522 Normal stepper_wait List Command Function interrupts further execution of a list until a previously started (at the specified stepper motor output) stepper motor movement completes. Call stepper_wait( No ) Parameter Number of the stepper motor output as an unsigned 32-bit value; allowed values: = 1: Stepper motor output 1...
  • Page 523 Ctrl Command stop_execution Function stops execution of the list and deactivates the “laser active” laser control signals immediately Call stop_execution() Comments • With versions OUT 534 and lower, the command is only executed if a list is BUSY or PAUSED (else get_last_error return code: RTC5_BUSY).
  • Page 524 Ctrl Command stop_trigger Function resets (to Busy= 0) a measurement session’s status that can be queried via measurement_status. Call stop_trigger() Comments • This command is only needed if a measurement session was started via set_trigger set_trigger4, but not subsequently terminated via set_trigger(Period = 0) or set_trigger4(Period = 0).
  • Page 525 Undelayed sub_call Short List Command Function causes an unconditional jump to an indexed subroutine. Call sub_call( Index ) Parameter Index of the called indexed subroutine as an unsigned 32-bit value; Index allowed range: [0 … 1023] Comments • The sub_call command reads the indexed subroutine’s starting address from the internal management table based on the supplied index and then calls the command list_call (also see the comments there), which then triggers the jump to the subroutine.
  • Page 526 Undelayed sub_call_abs_cond Short List Command Function Conditional call (AbsCall) of an indexed subroutine: This command executes the command sub_call_abs( Index ), if the current IOvalue at the EXTENSION 1 connector’s 16-bit digital input port meets the following condition: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (i.e.
  • Page 527 Undelayed switch_ioport Short List Command Function executes a relative list jump list_jump_rel ( Pos ) whose jump distance Pos (>1) is determined at runtime by the current value (IOvalue) at the EXTENSION 1 connector’s 16-bit digital input port. You can specify which of the 16-bit digital input port’s bits should be evaluated for this purpose.
  • Page 528 Comments • For usage of this command, see page • SCANLAB recommends executing synchronization immediately after all boards have been initialized via load_program_file and load_correction_file. Otherwise, all involved boards (i.e. the master board and the downstream slave boards allocated to the application) should already have been halted prior to the call of sync_slaves.
  • Page 529 Ctrl Command sync_slaves Version info • Available beginning with version DLL 515, OUT 514, RBF 512 • Updated with version DLL 518, OUT 517, RBF 515: enhanced master/slave synchroniza- tion (see page 611); we recommend only using the updated version of the command. •...
  • Page 530 Normal time_fix_f_off List Command ® Function stores in a buffer the current time and date of the RTC clock/calender or a forward-dated date and time for use with mark_date and mark_time. Call time_fix_f_off( FirstDay, Offset ) Parameters This parameter (an unsigned 32-bit value) defines the starting number for FirstDay ®...
  • Page 531 Normal timed_arc_abs List Command Function moves the laser focus for the specified marking duration from the current position along an arc with the specified angle and center point (absolute coordinate values) within a two- dimensional image field. Call timed_arc_abs( X, Y, Angle, T ) Parameters absolute coordinates of the arc center in bits as signed 32-bit value;...
  • Page 532 Normal timed_arc_rel List Command Function moves the laser focus for the specified marking duration from the current position along an arc with the specified angle and center point (relative coordinate values) within a two- dimensional image field. Call timed_arc_rel( dX, dY, Angle, T ) Parameters relative coordinates of the arc center in bits as signed 32-bit value;...
  • Page 533 Normal timed_jump_abs List Command Function moves the output point (of the laser focus) for the specified jump duration along a 2D vector from the current position to the specified position (absolute coordinate values) within a two-dimensional image field. Call timed_jump_abs( X, Y, T ) Parameters absolute coordinates of the jump vector end point in bits as signed 32-bit X, Y...
  • Page 534 Normal timed_jump_abs_3d List Command Function moves the output point (of the laser focus) for the specified jump duration along a 3D vector from the current position to the specified position (absolute coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as timed_jump_abs.
  • Page 535 Normal timed_jump_rel List Command Function moves the output point (of the laser focus) for the specified jump duration along a 2D vector from the current position to the specified position (relative coordinate values) within a two-dimensional image field. Call timed_jump_rel( dX, dY, T ) Parameters relative coordinates of the jump vector end point in bits as signed 32-bit dX, dY...
  • Page 536 Normal timed_jump_rel_3d List Command Function moves the output point (of the laser focus) for the specified jump duration along a 3D vector from the current position to the specified position (relative coordinate values) within a three-dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as timed_jump_rel.
  • Page 537 Normal timed_mark_abs List Command Function moves the laser focus for the specified marking duration along a 2D vector from the current position to the specified position (absolute coordinate values) within a two- dimensional image field. Call timed_mark_abs( X, Y, T ) Parameters absolute coordinates of the mark vector end point in bits as signed 32-bit X, Y...
  • Page 538 Normal timed_mark_abs_3d List Command Function moves the laser focus for the specified marking duration along a 3D vector from the current position to the specified position (absolute coordinate values) within a three- dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as timed_mark_abs.
  • Page 539 Normal timed_mark_rel List Command Function moves the laser focus for the specified marking duration along a 2D vector from the current position to the specified position (relative coordinate values) within a two- dimensional image field. Call timed_mark_rel( dX, dY, T ) Parameters relative coordinates of the mark vector end point in bits as signed 32-bit dX, dY...
  • Page 540 Normal timed_mark_rel_3d List Command Function moves the laser focus for the specified marking duration along a 3D vector from the current position to the specified position (relative coordinate values) within a three- dimensional process volume. Restriction If the 3D option is not enabled or no 3D correction table has been assigned (see select_cor_table), then the command will have the same effect as timed_mark_rel.
  • Page 541 Normal timed_para_jump_abs List Command Function moves the output point (of the laser focus) for the specified jump duration along a 2D vector from the current position to the specified position (absolute coordinate values) within a two-dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 542 List Multi- timed_para_jump_abs_3d Command Function moves the output point (of the laser focus) for the specified jump duration along a 3D vector from the current position to the specified position (absolute coordinate values) within a three-dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 543 Normal timed_para_jump_rel List Command Function moves the output point (of the laser focus) for the specified jump duration along a 2D vector from the current position to the specified position (relative coordinate values) within a two-dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 544 List Multi- timed_para_jump_rel_3d Command Function moves the output point (of the laser focus) for the specified jump duration along a 3D vector from the current position to the specified position (relative coordinate values) within a three-dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 545 Normal timed_para_mark_abs List Command Function moves the laser focus for the specified marking duration along a 2D vector from the current position to the specified position (absolute coordinate values) within a two- dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 546 Normal timed_para_mark_abs List Command References para_mark_abs, timed_mark_abs, mark_abs, timed_para_mark_rel, timed_para_mark_abs_3d ® 5 PC Interface Board Rev. 1.9 e 10 Commands And Functions...
  • Page 547 List Multi- timed_para_mark_abs_3d Command Function moves the laser focus for the specified marking duration along a 3D vector from the current position to the specified position (absolute coordinate values) within a three- dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 548 Normal timed_para_mark_rel List Command Function moves the laser focus for the specified marking duration along a 2D vector from the current position to the specified position (relative coordinate values) within a two- dimensional image field and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 549 List Multi- timed_para_mark_rel_3d Command Function moves the laser focus for the specified marking duration along a 3D vector from the current position to the specified position (relative coordinate values) within a three- dimensional process volume and, simultaneously as well as linearly, changes the signal parameter selected via set_vector_control to the specified value.
  • Page 550 Ctrl Command transform Function performs a backward transformation of individual position values. Call TransformErrorCode = transform( &Sig1, &Sig2, Ptr, Code ) Parameters Parameters: to-be-transformed position values as pointers to signed 32-bit Sig1, values. Sig2 Returned para- Returned parameter values: transformed position values as signed 32-bit meter values values (the input values will be overwritten).
  • Page 551 Ctrl Command transform Comments • For backward transformation of position values see page 154. • The execution of transform must be preceded by a call to upload_transform. Addi- tionally, position values should have been requested via get_values. • If execution of transform results in an error (returned error code > 0), then no trans- formation will occur (Sig1 and Sig2 then remain unchanged).
  • Page 552 Ctrl Command upload_transform ® Function transfers from the RTC 5 board to the PC all correction and transformation settings currently assigned to the scan system. Call UploadErrorCode = upload_transform( HeadNo, Ptr ) Parameters Number of the scan head connector whose settings should be queried, as an HeadNo unsigned 32-bit value;...
  • Page 553 Ctrl Command verify_checksum Function tests for the presence of a checksum or creates a checksum for a correction file. Call verify_checksum( Name ) Parameter name of the correction file as a pointer to a null-terminated ANSI string Name Result Result of the test (as an unsigned 32-bit value) = 0: No error (the tested checksum is o.k.) = 1:...
  • Page 554 List Multi- wait_for_encoder_in_range Command Function waits until both encoder counters simultaneously lie within the specified range (including limits). Call wait_for_encoder_in_range( EncXmin, EncXmax, EncYmin, EncYmax ) Parameters Limit values as signed 32-bit values; allowed range: [–2 … +(2 –1)] EncXmin, EncXmax, EncYmin, EncYmax Comments...
  • Page 555 Normal wait_for_encoder_mode List Command Function waits until the selected encoder counter has overstepped or understepped the specified count for the first time. Call wait_for_encoder_mode( Value, EncoderNo, Mode ) Parameters Count as a signed 32-bit value; allowed range: [–2 … +(2 –1)] Value Number of the to-be-used encoder counter as an unsigned 32-bit value,...
  • Page 556 Normal wait_for_mcbsp List Command Function waits until the input value at the McBSP interface has reached, overstepped or understepped the specified value for the first time. Call wait_for_mcbsp( Axis, Value, Mode ) Parameters Selects which half-word of the input value should be used for evaluation (see Axis below) as an unsigned 32-bit value, allowed values: = 0:...
  • Page 557 Delayed Short write_8bit_port_list List Command Function same as write_8bit_port (see above), but a list command Call write_8bit_port_list( Value ) Parameter 8-bit output value (DATA0…DATA7) as an unsigned 32-bit value Value (only the least significant 8 bits are evaluated). Comments • See write_8bit_port. ®...
  • Page 558 Delayed Short write_da_2_list List Command Function write_da_x_list Call write_da_2_list( Value ) Parameter 12-bit output value for the ANALOG OUT2 analog output port as an unsigned Value 32-bit value. Higher bits are ignored. Value = 0 corresponds to an output value of 0 V, Value = 2 –1 to an output value of 10 V.
  • Page 559 Ctrl Command write_io_port Function writes a value to the 16-bit digital output port on the EXTENSION 1 connector. Call write_io_port( Value ) Parameter 16-bit output value (DIGITAL OUT0 … DIGITAL OUT15) as an unsigned 32-bit Value value (only the least significant 16 bits are evaluated). Comments •...
  • Page 560 Delayed Short write_io_port_mask_list List Command Function same as write_io_port_mask (see above), but a list command Call write_io_port_mask_list( Value, Mask ) Parameters 16-bit output value (DIGITAL OUT0 … DIGITAL OUT15) as an unsigned 32-bit Value value (only the least significant 16 bits are evaluated) 16-bit mask (for DIGITAL OUT0 …...
  • Page 561 10.3 Unsupported ® ® ® 2/RTC 3/RTC Commands ® ® ® Some RTC 3/RTC 4 commands and a few RTC ® ® commands emulated by the RTC 3/RTC 4 are not ® supported by the RTC 5. But most of these can be ®...
  • Page 562 Ctrl Command get_xyz_pos ® ® ® ® Support status This RTC 2/RTC 3/RTC 4 command is not supported by the RTC ® ® 4 RTC 5 Replaced by get_value (see page 291) List Command home_jump ® ® Support status This RTC 2 command is not supported by the RTC Replaced by home_position (see page...
  • Page 563 Ctrl Command select_list ® ® ® ® Support status This RTC 2/RTC 3/RTC 4 command is not supported by the RTC ® ® 4 RTC 5 select_list(0) can be replaced by set_extstartpos(0), select_list(1) by set_extstartpos(Mem1). Thereby, Mem1 is the memory size of “List 1” (and the absolute start address of “List 2”).
  • Page 564 Ctrl Command set_mode ® ® Support status This RTC 2 command is not supported by the RTC ® Replaced by There is no equivalent command for the RTC 5, because its image field correction algorithm is always enabled. Instead, a 1-to-1 correction file can be loaded. Ctrl Command set_piso_control ®...
  • Page 565 Ctrl Command z_out ® ® ® Support status This RTC 3/RTC 4 command is not supported by the RTC ® ® 4 RTC 5 For setting the Z value in a 3-axis scan system, the command set_defocus (see page 414) ®...
  • Page 566 11 Demo Programs ® ® The RTC 5 software package contains various code illustrates required calling sequences of RTC program code samples (DEMO.ZIP) in the folder Demo- commands, which you can easily translate into your ® Files. These samples demonstrate DLL and RTC preferred programming language.
  • Page 567 12 Troubleshooting Problem Remedy PC does not boot Switch off the PC and check the following: ® • Check if the RTC 5 board is correctly seated in the PCI slot. Refer to the instructions in your PC manual. • Check for metal parts that may have fallen into the PC housing during ®...
  • Page 568 Another possibility is that additional scanner delays were automatically inserted to prevent (improper) overlap of LaserOn and LaserOff (see section "Automatic Delay Adjustments" on page 107). If the problems persist, please contact SCANLAB. ® 5 PC Interface Board Rev. 1.9 e 12 Troubleshooting...
  • Page 569 13.4 Product Disposal • when the product has been damaged through ® The RTC 5 can be returned to SCANLAB for a fee to misuse or improper operation be properly disposed of. • for repairs not performed by SCANLAB ®...
  • Page 570 ® 14 Technical Specifications of the RTC 5 PC Interface Board System Requirements Interfaces for the Laser and for Peripheral Equipment IBM-compatible PC with PCI bus interface • LASER Connector Operating system Microsoft (32 bit or 64 bit) WINDOWS 8, Connector 15-pin D-SUB connector, WINDOWS 7,...
  • Page 571 Inputs for external TTL active-LOW, internally Other signals start and stop signals connected to +3.3 V via 3.3 V or 5 V, TTL active- • BUSY OUT pull-up resistors (4.7 k) high, max. 10 mA edge sensitive • /START 3.3 V or 5 V, •...
  • Page 572 • MARKING ON THE FLY Connector • “STEPPER MOTOR” Connector Connector 16-pin socket connector Connector 10-pin socket connector 2 Encoder inputs for ENCODER X(1±,2±) and Signals for controlling two stepper motors: incremental encoders ENCODER Y(1±,2±), • ENABLE and 5 V, TTL designed for a pair of DIRECTION outputs standardized differential...
  • Page 573 14.1 Compliance with EC Guide- lines for Electromagnetic Compatibility (EMC) ® The RTC 5 PC interface board has been determined to be in compliance with EC directive 2004/108/EC (electromagnetic compatibility). ® For that purpose, an RTC 5 PC interface board has been integrated to a PC and was tested together with ®...
  • Page 574 The ® dimensions of the RTC 5 PC/104-Plus board are ® Just like the RTC 5 PC interface board, SCANLAB’s shown in figure 61 on page 577 (note that the 100- ® 5 PC/104-Plus board is intended for...
  • Page 575 (see page 584). board (see page 27). Optional functionality must be enabled by SCANLAB or installed. 15.1.4 Identification ® The serial number of the RTC 5 PC/104-Plus board is printed on a white label attached to the board (format: “RTC SN…”).
  • Page 576 5 PC/104-Plus board ® the RTC 5 PC interface board – can be obtained from from the package. SCANLAB (only hardware extensions from SCANLAB  Keep the packaging, including the antistatic bag should be used in combination with the ® the RTC 5 PC/104-Plus board is delivered in, so ®...
  • Page 577 15.2 Layout and Interfaces Figure 61 figure 62 on page 578 show the posi- tions of the connectors and jumpers on the front and ® back side of the RTC 5 PC/104-Plus board. All 15.2.1 Connectors and Jumper Posi- connectors and jumper settings are described in tions detail in the following sections.
  • Page 578 JP7 JP5 JP17 JP18 MASTER JP12 JP10 Legend Master ..6-pin MASTER connector (see "Master/Slave Synchronization", page 579) JP1 ..Jumper for selecting the output signal level at the MULTI connector (see page 586) JP2 - JP8 .
  • Page 579 MASTER and SLAVE connectors and installed in adjacent stack positions. Always connect a board’s MASTER connector to the SLAVE connector of another board. Suitable connection cables are available from SCANLAB. Also see chapter 6.6.3 "Master/Slave Operation", page 84 "Starting and Stopping Lists via External...
  • Page 580 5 PC interface board, see DATA5 (B36) (A36) BUSY OUT NOT CONNECTED (B37) (A37) +5 V figure 10 on page 46) is available from SCANLAB. DATA6 (B38) (A38) +5 V NOT CONNECTED (B39) (A39) GND § +5 V /DATA7 / GND...
  • Page 581 ® Pin at MULTI Signal Signal description Connector on RTC connector PC interface board A1, A3, A5, A7, A9, DIGITAL OUT0… buffered 16-bit digital output "EXTENSION 1 A11, A13, A15, A17, DIGITAL OUT15 (output signal level either 5 V or 3.3 V, Connector", page 49 A19, A21, A23, A25, selectable via jumper JP1, see...
  • Page 582 ® Pin at MULTI Signal Signal description Connector on RTC connector PC interface board ANALOG OUT2 12-bit analog output port "MARKING ON THE FLY (the signal is also available via the LASER Connector", page 51 connector – see page 580. Jumpers JP10+JP12 on the back side of the "Laser Connector", page ®...
  • Page 583 (3) Installing the software drivers ® (4) Installing the RTC 5 software If there are any questions regarding the contents of this manual, please contact SCANLAB. Proceed in the order described in the following sections. The included HPGL converter program can be used Caution! for conducting a post-installation functionality test.
  • Page 584 5 PC/104-Plus board’s stack address is defined. You can thereby electrically customize the factory-set to 0. If you install the board directly board to its position in the PC/104 stack. SCANLAB onto a CPU board (without other modules in recommends assigning stack addresses as follows between), then jumpers JP17+JP18 don’t need...
  • Page 585 JP19: +5 V Power Supply JP10+12: 10 V Output Voltage for ANALOG OUT1 and ANALOG OUT2 ® The RTC 5 PC/104-Plus board requires a +5 V power supply. This isn’t available from all CPU boards on the Jumpers JP10+JP12 on the back side of the ®...
  • Page 586 • Be sure that not all three jumper pins are closed. Otherwise, the board’s electronics will be Example configuration for jumpers JP2-JP8: damaged. Pin B40: DATA7, Pin B42: LATCH signal ® SCANLAB’s RTC 5 PC/104-Plus board is supplied in various jumper configurations for JP1 (also see "Type Caution! Identification", page 575).
  • Page 587 ® ® 15.3.3 Installing the RTC 5 PC/104- If multiple synchronously-clocked RTC 5 PC/104-Plus boards are to be used in a PC/104 stack, then the Plus Board ® 5 PC/104-Plus boards must be installed in Figure 67 shows a typical module stack (PC/104 adjacent stack positions.
  • Page 588 ®  Insert the RTC 5 PC/104-Plus board in the desired position (1 to 4) within the PC/104 stack: – The position in the stack should correspond to Caution! the stack address set via jumpers JP17+JP18 (see page 584). Also check the other jumper settings.
  • Page 589 15.3.4 Install ng the Drivers and the 15.3.5 Functionality Test, User Appli- ® 5 Software cations and Demo Software ® 5 PC/104-Plus boards use the same drivers and The HPGL conversion program HPGL.EXE is supplied ® other software files as the RTC 5 PC interface board.
  • Page 590 15.4 Technical Specifications of ® 5 PC/104-Plus Board Connectors to PC/104-Plus CPU board (or to PC/104-Stack) PC/104-Plus PCI bus 120-pin stack-trough System Requirements connectors incl. shroud, operating voltage: +5 V PC/104-Plus CPU board + free position in the PC/104 stack ISA bus 104-pin stack-through connectors incl.
  • Page 591 5 PC interface board compatible personal computer with a PCI-Express bus interface and at least one free PCI-Express slot. The ® Just like the RTC 5 PC interface board, SCANLAB’s ® dimensions of the RTC 5 board are shown in ®...
  • Page 592 ® (format: “RTC SN…”). the RTC 5 PC interface board – can be obtained from SCANLAB (only hardware extensions from SCANLAB The board’s ID number and configuration are ® should be used in combination with the RTC described in the packaging list (also see "Optional...
  • Page 593 16.2 Layout and Interfaces Relating the connectors and jumper settings, the ® 5-Express board differs from the ® 5 PC interface board only in its interface to the 16.2.1 Connectors and Jumper Posi- PC and in its configuration of the “SPI / I2C” tions connector.
  • Page 594 Digital I/O Pin17 Pin15 Data7 Voltage Data7 Latch JP2 - JP8 Master Legend Master ..6-pin MASTER connector (see "Master/Slave Synchronization", page JP1 ..Jumper for selecting the output signal level at the EXTENSION 1 connector (see page JP2 - JP8 .
  • Page 595 16.2.3 McBSP Interface and Analog Inputs The “SPI / I2C” connector provides an McBSP interface (Multi channel Buffered Serial Port) and two analog inputs. The pin-out is shown in figure Analog IN0 (1) (2) Analog IN1 CLKX0 (3) (4) CLKR0 FSX0 (5) (6) FSR0 DX0 (7)
  • Page 596 16.3 Installation and Start-Up 16.4 Technical Specifications of ® 5 PC/104-Plus Board ® For installing and starting-up an RTC 5-Express board and its software proceed as with an ® 5 PC interface board (see page 56). System Requirements Caution! IBM-compatible PC with PCI-Express bus interface Operating system Microsoft (32 bit or 64 bit) ®...
  • Page 597 16.4.1 Compliance with FCC Rules ® The RTC 5-Express board has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the ®...
  • Page 598 ® peripheral equipment as the RTC 5 PC/104-Plus ® Just like the RTC 5 PC interface board, SCANLAB’s ® board. It differs from the RTC 5 PC/104-Plus board in ® 5 PCIe/104 board is intended for synchronous...
  • Page 599 5 PCIe/104 board is a PCIe/104 module with (see page 27). Optional functionality must be a corresponding form factor. The dimensions of the enabled by SCANLAB or installed. ® 5 PCIe/104 board are shown in figure 71 on page 601 (note that the 100-pin MULTI connector ®...
  • Page 600 – as with ® the RTC 5 PC interface board – can be obtained from SCANLAB (only hardware extensions from SCANLAB should be used in combination with the ® 5 PCIe/104 board): • XY2-100 converter (see page 29).
  • Page 601 ® 17.2 Layout and Interfaces back side of the RTC 5 PCIe/104 board. All connectors and jumper settings are described in detail in the following sections. 17.2.1 Connectors and Jumper Posi- tions Figure 71 figure 72 on page 602 show the posi- tions of the connectors and jumpers on the front and 9.52 71.12...
  • Page 602 PCI-Express Base Specification Revision 2.0 and Always connect a board’s MASTER connector to the with PCI Local Bus Specification Revision 2.3. SLAVE connector of another board. Suitable connection cables are available from SCANLAB. Also see chapter 6.6.3 "Master/Slave Operation", Caution! page 84 "Starting and Stopping Lists via External...
  • Page 603 5 PCIe/104 board 17.2.5 Interfaces for the Laser and The board is installed in the PCIe/104 stack via a Peripheral Equipment PCI Express connector. Additionally, SCANLAB recommends securing the board (via screws and ® The RTC 5 PCIe/104 board’s 16-pin LASER connector...
  • Page 604 17.4 Technical Specifications of ® 5 PCIe/104 Board Connectors to PCIe/104 CPU board (or to PCIe/104-Stack) PCI-Express bus 156-pin PCIe/104 System Requirements standard top and bottom connectors (PCIe x 1, only PCIe/104 CPU board one lane used), + free position in the PCIe/104 stack operating voltage: +5 V Operating system Microsoft (32 bit or 64 bit)
  • Page 605 18 Revision History This list ignores spelling/grammar corrections, syntax reformulations or additions (such as new cross-refer- ences) that don’t affect the technical meaning. The supplied page numbers refer to this document. Changes from revision 0.9 to revision 0.11 Page Name of section / command Change chapter 1.2 "Identification"...
  • Page 606 Changes from revision 0.11 to revision 0.12 Page Name of section / command Change chapter 4.3.2 "XY2-100 Converter Corrected: recommended jumper settings and cable lengths (Optional)" chapter 4.4.6 "McBSP and I2C Section about McBSP interface added Interface" chapter 6.7 "Usage by Multiple Corrected: RTC5_TIMEOUT error during version check Applications"...
  • Page 607 Page Name of section / command Change set_laser_pulses command Corrected: enhanced allowed range for parameter set_laser_pulses_ctrl command HalfPeriod set_laser_timing command set_standby command set_standby_list command set_mcbsp_out command Added set_n_pixel command Added wait_for_encoder_mode command Added wait_for_mcbsp command Added Jumper 17+18: Setting the Binary Table corrected: inverted jumper configurations Stack Address JP10+12: 10 V Output Voltage for...
  • Page 608 Changes from revision 0.12 to revision 1.0 Page Name of section / command Change in general The manual is no longer called “preliminary”. Revision History Added chapter 4.3.3 "Data Cable (Optional)" Corrected: SL2-100 data cable does not need a ferrite ring chapter 5.5 "Safe Start-up and Added Shutdown Sequences"...
  • Page 609 Page Name of section / command Change get_mcbsp command Corrected: Return value is a signed 32-bit value get_mcbsp_list command Added get_overrun command Added get_standby command Added get_startstop_info command Added: beginning with firmware version 508, the firmware returns the pulse length error bit (bit #17 or 25), when no scan system is currently connected.
  • Page 610 Page Name of section / command Change verify_checksum command Added chapter 11 "Demo Programs" Added chapter 12 "Troubleshooting" Added Changes from revision 1.0 to revision 1.1 Page Name of section / command Change ® chapter 2.7 "Notes For RTC 4 Users" Extended ®...
  • Page 611 Page Name of section / command Change sync_slaves command Changed: Beginning with DLL 518, OUT 517, RBF 514, the following applies: • Master/Slave synchronization is only executable via the sync_slaves command. Synchronization cannot be achieved via an appropriately sequenced initialization of the boards. •...
  • Page 612 Changes from revision 1.1 to revision 1.2 Page Name of section / command Change chapter 8.2 "Coordinate Added: behavior for at_once > 1 (see below) Transformations" chapter 8.11 "Automatic Self- Extended and revised: including information on ® Calibration" auto_cal(Command = 4) and on iDRIVE systems Normal, Short and Variable List Changed: Beginning with OUT 518, the following applies:...
  • Page 613 Changes from revision 1.2 to revision 1.3 Page Name of section / command Change "McBSP Interface" Changes and additions (as of version OUT 526): • Stagnation of data transmission no longer occurs. • Data transmission for online positioning "Matching of Short-Command Added Counts (as of Version DLL 523, OUT 524)"...
  • Page 614 Page Name of section / command Change sync_slaves command Updated with version DLL 523, OUT 524: also triggers matching of short command counts when necessary (see page 84). time_fix_f_off command Added ® 5 PC Interface Board Rev. 1.9 e 18 Revision History...
  • Page 615 Changes from revision 1.3 to revision 1.4 Page Name of section / command Change chapter 7.1.3 "Marking Points" Added (as of version OUT 527): Marking points via mark or arc commands of zero length chapter 8.1.5 "Jump Mode" Added chapter 8.7.9 "Monitoring revisions and additions to the section "Customer-Defined Processing-on-the-fly Corrections"...
  • Page 616 Changes from revision 1.4 to revision 1.5 Page Name of section / command Change chapter 2.2.2 "Software" Warning added: Standby or sleep modes of the operating chapter 5.3 "Installing the Drivers" system must be deactivated chapter 4.4.7 "Stepper Motor Revised. Control"...
  • Page 617 Page Name of section / command Change chapter 14 "Technical Specifications Added: Specifications for “SPI / I2C” connector and ® of the RTC 5 PC Interface Board" “STEPPER MOTOR” connector chapter 14.1 "Compliance with EC Added. Guidelines for Electromagnetic Compatibility (EMC)" chapter 14.2 "Compliance with FCC Added.
  • Page 618 get_free_variable command Added. get_sync_status command Added. get_value command Added (with version DLL 531, OUT 532): Signal = 25…42 laser_on_pulses_list command Changed (as of version DLL 530, OUT 531, RBF 522):  Period  (2 changed functionality for 2 –1) read_mcbsp command Added (with version DLL 531, OUT 532): No = 3 and set_mcbsp_in...
  • Page 619 Changes from revision 1.6 to revision 1.7 Page Name of section / command Change chapter 2.2.2 "Software" Added: Notes on new drivers chapter 4.4.8 "Analog Inputs" Added. chapter 5.3 "Installing the Drivers" Added: Installation under WINDOWS 8 and new section "Software Driver Upgrade"...
  • Page 620 Page Name of section / command Change chapter 6.5.5 "Loops" Chapter added (version DLL 536, OUT 536) chapter 7.4.1 "Enabling, Activating Corrected: The laser output ports (LASERON, LASER1 and and Switching Laser Control Signals" LASER2) will also enter the (high impedance) tristate mode if the laser control signals are subsequently disabled via a command (also see disable_laser, pause_list...
  • Page 621 load_stretch_table command Added (with version DLL 536, OUT 536) micro_vector_abs command, Changed (version DLL 536, OUT 536): LasOn, LasOff < 2 micro_vector_rel command micro_vector_abs_3d command, Added (version DLL 536, OUT 536) micro_vector_rel_3d command park_position command, Added (version DLL 536, OUT 536) park_return command select_cor_table...
  • Page 622 Changes from revision 1.8 to revision 1.9 Page Name of section / command Change chapter 7.5.2 "Marking Serial Expanded (with version DLL 537, OUT 537): Serial number Numbers" marking now with selectable serial-number-sets chapter 8.4 "Wobbel Mode" Expanded: specify direction of motion and “freely definable wobbel shapes”...

Table of Contents

Save PDF