Interface board for real time control of scan heads and lasers (136 pages)
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 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 ....................
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...
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) •...
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...
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...
• 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...
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). ®...
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 ®...
® 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 ®...
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 ®...
® ® 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 •...
• 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).
• 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 –...
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 ®...
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 –...
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.
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...
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...
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).
(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)
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...
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).
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.
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 ®...
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...
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).
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.
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...
® 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 •...
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 •...
® 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 ®...
® 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).
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 •...
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 ®...
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...
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.
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,...
® 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.
(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 ®...
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...
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...
(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”...
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...
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...
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...
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.
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...
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).
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...
(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”...
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”...
• 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”...
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.
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).
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...
® 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.
(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-...
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).
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...
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.
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 •...
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...
® 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).
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...
(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). ®...
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.
• 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”...
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...
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 ) );...
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).
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.
® 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.
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...
• 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...
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.
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 •...
• 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...
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...
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.
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).
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”...
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.
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...
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.
® 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;...
(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 ®...
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-...
(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.
(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 –...
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).
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). ®...
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...
“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.
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...
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.
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.
• 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...
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.
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.
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.
• 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.
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 –...
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 =...
). 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...
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.
• 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.
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.
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...
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 ®...
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...
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...
(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...
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 –...
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 •...
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.
® 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.
– 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.
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.
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.
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).
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-...
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 ...
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].
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 ®...
(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...
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.
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.
(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.
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).
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...
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.
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).
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...
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...
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.
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.
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.
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 ®...
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...
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.
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...
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).
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 •...
• 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.
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).
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 ®...
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).
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...
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.
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.
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...
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.
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.
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 ®...
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).
SCANLAB recommends executing a (quick) reference afterward via stepper_control movement with a short CLOCK pulse period (Period) stepper_control_list...
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.
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...
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).
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.
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...
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).
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...
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);...
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 ®...
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...
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).
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...
“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, ®...
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 ;...
® 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...
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...
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...
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.
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;...
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.
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...
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.
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 •...
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).
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.
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)
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).
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;...
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).
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;...
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;...
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.
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.
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) –...
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;...
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.
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.
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”...
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