Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Installation und
Inbetriebnahme
®
RTC
5 PCI-Karte,
®
RTC
5 PCI-Express-Karte,
®
RTC
5 PC/104-Plus-Karte und
®
RTC
5 PCIe/104-Karte
für die Scan-Kopf- und Lasersteuerung in Echtzeit
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
®
®
5 PC/104-Plus-Karte, RTC
5 PCIe/104-Karte
20. Oktober 2015

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Scanlab RTC 5

  • Seite 1 Installation und Inbetriebnahme ® 5 PCI-Karte, ® 5 PCI-Express-Karte, ® 5 PC/104-Plus-Karte und ® 5 PCIe/104-Karte für die Scan-Kopf- und Lasersteuerung in Echtzeit ® ® ® ® 5 PCI-Karte, RTC 5 PCI-Express-Karte, RTC 5 PC/104-Plus-Karte, RTC 5 PCIe/104-Karte 20. Oktober 2015 Rev.
  • Seite 2 © SCANLAB AG 2015 (Doc. Rev. 1.10 d - 30. Oktober 2015) SCANLAB behält sich vor, diese Anleitung jederzeit und ohne Ankündigung inhaltlich zu aktualisieren. Kein Teil dieser Bedienungsanleitung darf in irgendeiner Form (Fotokopie, Druck, Mikrofilm oder in einem anderen Verfahren) ohne ausdrückliche schriftliche Genehmigung der SCANLAB AG reproduziert oder unter Verwendung elektronischer Systeme...
  • Seite 3: Inhaltsverzeichnis

    Inhalt 1 Einleitung ............................21 1.1 Hersteller ............................21 1.2 Kennzeichnung ..........................21 1.3 Auspackanleitung und typischer Lieferumfang ................22 1.3.1 Mitgelieferte Software ....................... 22 2 Produktübersicht ..........................24 2.1 Verwendung ..........................24 2.2 Systemanforderungen ........................26 2.2.1 Hardware ........................... 26 2.2.2 Software ..........................
  • Seite 4 4 Layout und Schnittstellen ........................ 40 4.1 Stecker- und Jumperpositionen ..................... 40 4.2 Schnittstelle zum PC ........................41 4.2.1 Master/Slave-Synchronisation .................... 41 4.3 Schnittstellen zum Scan-System ....................42 4.3.1 Scan-Kopf-Anschlüsse und Übertragungsprotokoll ............42 Primärer Scan-Kopf-Anschluss ..................42 Sekundärer Scan-Kopf-Anschluss (optional aktiviert) ............ 43 4.3.2 XY2-100-Konverter (optional) ....................
  • Seite 5 6 Programmierung von Anwenderprogrammen ................65 ® 6.1 Grundlegendes zum RTC 5 Software-Konzept ................65 6.1.1 Ansteuerung von Scan-Systemen und Lasern – Beispiel zur Einführung ......65 6.1.2 Listenbefehle und Kontrollbefehle ..................65 6.2 Initialisierung und Programmstart ....................66 6.2.1 DLL-Aufruf .......................... 66 6.2.2 Import von Befehlen ......................
  • Seite 6 6.5.5 Schleifen ..........................89 ® 6.6 Verwendung mehrerer RTC 5-Karten in einem Rechner ............... 90 6.6.1 Multi-Board-Programmierung .................... 90 6.6.2 Sequentielle Programmierung .................... 91 6.6.3 Master/Slave-Betrieb ......................91 Initialisierung ........................ 91 Synchronisierung der Takt-Phasen ................92 Anpassung der Kurzbefehlszählung (ab Version DLL 523, OUT 524) ......92 Synchrone Starts und Stopps ..................
  • Seite 7 ® 4-Kompatibilitätsmodus ..................132 7.3.3 Virtuelles Bildfeld ......................132 7.3.4 Bildfeldkorrektur und Korrekturtabellen ................133 Bildfeldverzerrung ...................... 133 Feldkorrektur-Algorithmus ..................134 Aktivieren der Bildfeldkorrektur .................. 134 2D- und 3D-Korrekturdateien ..................134 Laden von Korrekturtabellen ..................134 Zuweisung von geladenen Korrekturtabellen .............. 135 1to1-Korrekturtabellen ....................
  • Seite 8 Datenauswertung ....................... 170 8.1.3 Überwachung der Positionierung ..................171 8.1.4 Anpassen der dynamischen Einstellung (Tuning) .............. 172 8.1.5 Sprungmodus ........................173 Funktionsweise ......................173 Voraussetzung und Aktivierung .................. 174 Sprunglängenabhängige Jump-Delays ................ 174 Experimentelle Ermittlung von Jump-Delay-Werten ............ 175 Hinweise zum Laden der ermittelten Jump-Delay-Werte ..........175 Automatische Ermittlung der Jump-Delay-Tabelle ............
  • Seite 9 Kundenspezifischer Überwachungsbereich und bedingte Befehlsausführung (ab Version DLL 525, OUT 527) ................... 209 8.7.10 Schleppverzugskompensation von Encoderwerten für “Processing on the fly”-Anwendungen ................209 8.8 Das Scannen von Rasterbildern (Bitmaps) ................... 210 8.8.1 Funktionsprinzip ......................210 8.8.2 Softwarebefehle ....................... 210 8.8.3 Lasersteuerung .........................
  • Seite 10 9.3.4 Synchronisation und Online-Positionierung mit McBSP/SPI-Signalen ........ 239 9.4 Periodische I/O-Signale ........................ 240 10 Befehle und Funktionen ......................... 241 10.1 Übersicht ............................. 241 10.1.1 Nomenklatur ........................241 Multi-Board-Befehle ....................241 Normale, kurze, variable und multiple Listenbefehle ..........241 Unverzögerte und verzögerte kurze Listenbefehle (ab Version OUT 515) ....242 Multiple Listenbefehle ....................
  • Seite 11 get_encoder ..........................292 get_error ............................. 293 get_fly_2d_offset ........................295 get_free_variable ........................295 get_galvo_controls ........................296 get_head_para ..........................297 get_head_status .......................... 298 get_hex_version .......................... 299 get_hi_data ..........................300 get_hi_pos ..........................300 get_input_pointer ........................301 get_io_status ..........................301 get_jump_table ........................... 302 get_laser_pin_in .......................... 302 get_last_error ..........................
  • Seite 12 if_not_cond ..........................335 if_not_fly_x_overflow ........................336 if_not_fly_y_overflow ........................336 if_not_fly_z_overflow ......................... 337 if_not_pin_cond .......................... 337 if_pin_cond ..........................338 init_fly_2d ........................... 338 init_rtc5_dll ..........................339 jump_abs ............................ 341 jump_abs_3d ..........................342 jump_rel ............................343 jump_rel_3d ..........................344 laser_on_list ..........................345 laser_on_pulses_list ........................346 laser_signal_off ...........................
  • Seite 13 mark_date ........................... 390 mark_date_abs ..........................392 mark_ellipse_abs ......................... 393 mark_ellipse_rel .......................... 394 mark_rel ............................395 mark_rel_3d ..........................396 mark_serial ..........................397 mark_serial_abs .......................... 399 mark_text ............................ 400 mark_text_abs ..........................401 mark_time ........................... 401 mark_time_abs ..........................403 mcbsp_init ..........................403 mcbsp_init_spi ..........................404 measurement_status ........................
  • Seite 14 rs232_write_data ........................441 rs232_write_text ......................... 441 rs232_write_text_list ........................442 rtc5_count_cards ........................443 save_and_restart_timer ....................... 443 save_disk ............................. 444 select_char_set ..........................445 select_cor_table .......................... 446 select_cor_table_list ........................448 select_rtc ............................. 449 select_serial_set .......................... 450 select_serial_set_list ........................450 send_user_data ........................... 450 set_angle ............................ 451 set_angle_list ..........................
  • Seite 15 set_input_pointer ........................485 set_io_cond_list .......................... 485 set_jump_mode .......................... 486 set_jump_mode_list ........................489 set_jump_speed .......................... 490 set_jump_speed_ctrl ........................490 set_jump_table ........................... 491 set_laser_control ......................... 492 set_laser_delays .......................... 495 set_laser_mode ........................... 496 set_laser_off_default ........................496 set_laser_pin_out ........................497 set_laser_pin_out_list ........................497 set_laser_pulses .......................... 498 set_laser_pulses_ctrl ........................
  • Seite 16 set_rot_center_list ........................527 set_rtc4_mode ..........................528 set_rtc5_mode ..........................528 set_scale ............................. 529 set_scale_list ..........................530 set_scanner_delays ........................530 set_serial ............................. 531 set_serial_step ..........................531 set_serial_step_list ........................532 set_sky_writing ........................... 532 set_sky_writing_limit ........................533 set_sky_writing_limit_list ......................533 set_sky_writing_list ........................533 set_sky_writing_mode ........................ 534 set_sky_writing_mode_list ......................
  • Seite 17 stepper_enable_list ........................576 stepper_init ..........................577 stepper_rel ..........................579 stepper_rel_list ..........................579 stepper_rel_no ..........................580 stepper_rel_no_list ........................580 stepper_wait ..........................581 stop_execution ..........................582 stop_list ............................582 stop_trigger ..........................583 store_encoder ..........................583 sub_call ............................584 sub_call_abs ..........................585 sub_call_abs_cond ........................585 sub_call_abs_repeat ........................
  • Seite 18 11 Demo-Programme .......................... 632 12 Fehlersuche ............................ 633 13 Kundendienst ..........................635 13.1 Wartung und Reparaturen ......................635 13.2 Gewährleistung ........................... 635 13.3 Kontaktmöglichkeiten zu SCANLAB ..................... 635 13.4 Entsorgung ..........................635 ® 14 Technische Spezifikationen der RTC 5 PCI-Karte ................636 14.1 Konformität mit der EU-Richtlinie zur elektromagnetischen Verträglichkeit (EMV) ......
  • Seite 19 ® 15.3.3 Einbau der RTC 5 PC/104-Plus-Karte ................653 ® 15.3.4 Installation der Treiber und RTC 5-Software ..............655 15.3.5 Funktionstest, Anwender- und Demoprogramme ............655 ® 15.4 Technische Spezifikationen der RTC 5 PC/104-Plus-Karte ............656 ® 16 Anhang B: Die RTC 5 PCI-Express-Karte ..................
  • Seite 20 18 Änderungsindex ..........................670 ® ® ® ® 5 PCI-Karte, RTC 5 PCI-Express-Karte, RTC 5 PC/104-Plus-Karte, RTC 5 PCIe/104-Karte Rev. 1.10 d Inhalt...
  • Seite 21: Einleitung

    Entsorgung verfügbar. Bei einer Veräu- ® ßerung der RTC 5-Karte sollten Sie diese Anleitung weitergeben. SCANLAB behält sich vor, diese Anleitung jederzeit und ohne Ankündigung inhaltlich zu aktualisieren. Diese Bedienungsanleitung bezieht sich auf die ® folgenden Versionen der RTC...
  • Seite 22: Auspackanleitung Und Typischer Lieferumfang

    • cor_1to1.CT5 ausgeliefert wird, auf, damit die Karte im Fall Korrekturdatei einer Reparatur wieder optimal verpackt an SCANLAB geschickt werden kann. • optional weitere Korrekturdateien (D2_XXX.CT5, D3_YYY.CT5) und Readme-Dateien  Entnehmen Sie auch alle weiteren Artikel aus der Verpackung. Überprüfen Sie an Hand des Liefer- CorrectionFileConverter-Programm scheins die Vollständigkeit der Lieferung.
  • Seite 23 ® Windows Treiber Die RTC 5-Dateien werden zur Kennzeichnung der Programmversion (und damit auch zur einfacheren • RTC5DRV.sys, RTC5DRVx64.sys, RTC5DRVx86.sys Verwaltung unterschiedlicher Programmversionen) ® 5-Treiber-Dateien zusätzlich in gezippter Version mitausgeliefert: • RTC5DRV.inf • RTC5DAT_<Version>.zip Installations-Datei (Setup-Information) • RTC5DLL_<Version>.zip • RTC5DRV.cat, rtc5drvx64.cat, rtc5drvx86.cat (enthält DLL und zugehörige Utility-Dateien) Sicherheitskatalog-Dateien •...
  • Seite 24: Produktübersicht

    Einbindung externer Steuersignale verfügt die RTC ® über eine Reihe von Schnittstellen (u.a. einen 16-Bit- Die RTC 5 PCI-Karte von SCANLAB ermöglicht Digital-Eingang, einen 16-Bit-Digital-Ausgang, zwei zusammen mit der dazugehörigen Software die 12-Bit-Analog-Ausgänge und ein RS232-Interface) synchrone Ansteuerung von Scan-Systemen, Lasern und entsprechende Softwarebefehle.
  • Seite 25 Achtung! ® • Die RTC 5-Karte darf auf keinen Fall außerhalb eines PCs betrieben werden. ® • Die RTC 5-Karte ist ausschließlich für den gewerblichen Gebrauch bestimmt. Sie ist zum Einbau in eine Maschine (in der Regel in ein Lasersystem) vorgesehen und entspricht nicht allen Anforderungen an ein gebrauchsfertiges ®...
  • Seite 26: Systemanforderungen

    2.2 Systemanforderungen Vorsicht! 2.2.1 Hardware ® • Die RTC 5-Karte unterstützt keine Energie- ® Die RTC 5 PCI-Karte kann in jeden Windows-PC mit sparmodi, in denen die Versorgungsspan- PCI-Bus und mindestens einem freien PCI-Steckplatz nungen des PCI-Busses abgeschaltet werden. installiert werden. Entsprechende Standby- oder Sleep-Modi des Die Abmessungen sind in Abb.
  • Seite 27: Optionale Funktionalitäten

    Standard-Version nicht sind. Freigeschaltete bzw. installierte Optionen enthalten sind. Die Funktionalitäten müssen von werden auf dem Lieferschein aufgezählt und dort SCANLAB freigeschaltet bzw. installiert werden. Die wie folgt benannt: folgenden Optionen sind erhältlich: – “Fly” (“Processing on the fly”-Option) –...
  • Seite 28: Jumperkonfigurationen Und Typenbezeichnung

    2.4.2 Jumper JP2–JP8: Konfigura- tion von Pin15 und Pin17 an Typenbezeichnung der EXTENSION 2-Stiftleiste ® Die RTC 5 kann von SCANLAB in unterschiedlichen Über die Jumper JP2-JP8 auf der Rückseite der Jumperkonfigurationen ausgeliefert werden. Die ® 5, siehe Abb. 3, können Pin (15) und (17) der Jumper JP1-JP8 sind Lötverbindungen und können...
  • Seite 29: Typenbezeichnung

    Für den Anschluss eines zweiten Scan-Kopfs oder einer Z-Achse an den sekundären Scan-Kopf- Anschluss (10-polige Stiftleiste 2. SCAN HEAD, siehe Seite 43) ist bei SCANLAB ein Slotblech mit einer 9-poligen Sub-D-Buchse erhältlich (siehe Seite 43). Zur Verwendung der Eingänge und Signale an der...
  • Seite 30: Rtc ® 5 Varioscan Flex Extension-Karte

    ® PCI-Express-Karte, RTC 5 PC/104-Plus-Karte und teien entsprechend der Daten einer Testmessung ist ® 5 PCIe/104-Karte – ist bei SCANLAB eine ADC- bei SCANLAB Software mit zugehörigem Handbuch Aufsteckplatine (Artikelnummer 121126) erhältlich. aus der correXion-Reihe erhältlich (siehe auch ® Damit verfügt die RTC 5 PCI-Karte dann über zwei...
  • Seite 31: Hinweise An Benutzer Der Rtc ® 4-Karte

    • Bei der RTC 5 kann (anders als bei der RTC SL2-100-Schnittstelle wird ein anderes Daten- über einen Jumper für alle Ausgangssignale der kabel benötigt (bei SCANLAB erhältlich – siehe EXTENSION 1-Stiftleiste zwischen einem Signal- Seite 45). Pegel von 5 V oder 3,3 V ausgewählt werden •...
  • Seite 32: Extension 2-Stiftleiste

    ® EXTENSION 2-Stiftleiste 2.7.2 Überarbeiten von RTC ® Programmcodes für die RTC ® • Die EXTENSION 2-Stiftleiste der RTC 4 wird auf ® der RTC 5 nicht mehr bereitgestellt. Entspre- ® Anwenderprogramme, die für die RTC 4 geschrieben chend kann auch keine I/O-Erweiterungskarte ®...
  • Seite 33: Erhöhte Parameter-Auflösung

    ® Es folgt eine Liste der RTC 4-Befehle, die ersetzt bzw. • timed_jump_abs geändert überprüft werden müssen: • timed_jump_rel geändert • aut_change nicht mehr unterstützt • timed_mark_abs geändert • auto_cal geändert • timed_mark_rel geändert • auto_change_pos geändert • z_out nicht mehr unterstützt •...
  • Seite 34: Verändertes Zeitverhalten

    Parameterwerte automatisch durch, so dass viele Die oben beschriebene Überarbeitung der Initiali- ® Befehlsfolgen aus RTC 4-Programmcodes (etwa zur sierung und die Überprüfung auf nicht mehr unter- ® Definition von Beschriftungsmustern) unverändert stützte bzw. geänderte RTC 4-Befehle muss ® für die RTC 5 übernommen werden können.
  • Seite 35: Neue Und Geänderte Funktionalitäten

    Variante der RTC 5 (mit XY2-100-O Interface) Ist-Positions-Werten (siehe Seite 171) benötigt. Die optische Datenübertragung kann • Automatische Selbstkalibrierung (siehe über ein Datenkabel von SCANLAB mit Lichtwel- Seite 218): lenleiter-Umsetzung im Sub-D-Stecker-Gehäuse – Optimierung der bisherigen Funktionen realisiert werden (siehe Seite 45).
  • Seite 36: Lasersteuerung

    Lasersteuerung Schnittstellen zur Peripherie • Der Signalpegel der Lasersteuersignale wird nicht • 16-Bit-Digital-Ausgang (siehe Seite 51 mehr über eine Jumper-Konfiguration festgelegt, Seite 225): sondern kann/muss über einen Software-Befehl – Ausgangssignal-Pegel über einen Jumper ein- festgelegt werden (siehe set_laser_control). stellbar (3,3 V oder 5 V) –...
  • Seite 37: Allgemeine Programmierung

    Allgemeine Programmierung Laser-Markieren • Utility-Dateien für C, C++, C# und Delphi (siehe • Vektoren und Bögen Seite 66). Keine Utility-Dateien mehr für Basic. – Befehle zur Markierung von Ellipsen (siehe Seite 102) • Befehle zur Änderung der Zugriffsberechti- ® – Befehle zur Markierung von Spiralen (siehe gungen für RTC 5-Karten (siehe Seite...
  • Seite 38: Spezielle Funktionen

    Spezielle Funktionen • Erweiterte Möglichkeiten zur Signalaufzeichnung (siehe set_trigger und set_trigger4) • Synchronisation der Steuerung von Scan-System und Laser – Automatische Delay-Anpassung (siehe Seite 118) – Sky-Writing (siehe Seite 124) • Pixelausgabemodus (Scannen von Bitmaps, siehe Seite 210) – Pixelfrequenzen bis 300 kHz, unabhängig vom 10 µs-Takt –...
  • Seite 39: Sicherheit Bei Installation Und Inbetriebnahme

    Gefahr, dass der Laserstrahl in eine unge- • Schützen Sie die Karte vor Feuchtigkeit, Staub, wünschte Richtung abgelenkt wird. korrosiven Dämpfen und mechanischen Belas- SCANLAB empfiehlt den Gebrauch eines tungen. Shutters, um die unkontrollierte Emission von • Vermeiden Sie bei Lagerung und Betrieb der Laserstrahlung zu vermeiden.
  • Seite 40: Layout Und Schnittstellen

    Layout und Schnittstellen 4.1 Stecker- und Jumperpositionen Abb. 2 Abb. 3 zeigen die Positionen der Alle Anschlüsse und Jumpereinstellungen werden in Anschlüsse und Jumper auf der Vorderseite und Rück- den folgenden Abschnitten beschrieben. ® seite der RTC 5 PCI-Karte. Legende SCAN HEAD.
  • Seite 41: Schnittstelle Zum Pc

    PCI-Steckplätze gesteckt werden. Verbinden Sie jeweils den MASTER- Anschluss einer Karte mit dem SLAVE-Anschluss einer Vorsicht! anderen Karte. Geeignete Verbindungskabel sind bei SCANLAB erhältlich. ® • Die RTC 5-Karte unterstützt keine Energie- Siehe auch Kapitel 6.6.3 ”Master/Slave-Betrieb”,...
  • Seite 42: Schnittstellen Zum Scan-System

    XY2-100-Konverter oder für einen “Zweite-Scan-Kopf-Steuerung”) freigeschaltet, dann POF-Konverter zur optischen Datenübertragung kann über die beiden Scan-Kopf-Anschlüsse ein (POF = Polymer Optical Fiber) von SCANLAB bereitge- 3-Achsen-Scan-System angesteuert werden, wenn stellt. Für andere Zwecke sollte diese Spannung nicht dem primären Scan-Kopf-Anschluss eine 3D-Korrek- verwendet werden.
  • Seite 43: Sekundärer Scan-Kopf-Anschluss (Optional Aktiviert)

    Abmessungen des XY2-100- Pinbelegung der Stiftleiste “2. SCAN HEAD” (on-board) Konverters. Die Signale am sekundären Scan-Kopf-Anschluss sind optional und müssen durch SCANLAB zur Ansteu- erung eines zweiten 2-Achsen-Scan-Systems (durch Freischaltung der Option “Zweite-Scan-Kopf- Steuerung”) und/oder zur Ansteuerung eines...
  • Seite 44 (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)
  • Seite 45: Datenkabel (Optional)

    Interface des Scan-Systems bereit- Protokoll muss am ansteuerseitigen Kabelende gestellt. des Datenkabels ein Ferrit des Typs Für SCANLAB Scan-Systeme, die mit einem herkömm- “Würth WE 742 711 32” o.ä. angebracht lichen XY2-100-Interface (25-polige Sub-D-Buchse) werden. ausgestattet sind, sind nur Datenkabel zur elektri- Abb.
  • Seite 46: Datenübertragung Gemäß Sl2-100-Protokoll

    Datenübertragung gemäß SL2-100-Protokoll DATA IN + DATA IN + DATA IN – DATA IN – DATA OUT – DATA OUT – DATA OUT+ DATA OUT+ Datenübertragung gemäß XY2-100-Protokoll CLOCK – CLOCK – CLOCK+ CLOCK+ SYNC – SYNC – SYNC+ SYNC+ CHAN1 –...
  • Seite 47: Schnittstellen Zum Laser Und Zur Peripherie

    ® 4.4 Schnittstellen zum Laser und Bei RTC 5-Karten mit der Option “Optokoppler” sind GND2 und die Laserausgangssignale galvanisch von zur Peripherie der PC-Masse (GND) entkoppelt. Andernfalls sind die Massen GND2 und GND identisch, siehe Kapitel 2.3 4.4.1 Laseranschluss-Buchse ”Optionale Funktionalitäten”, Seite Die maximale Belastung der Signale beträgt 20 mA.
  • Seite 48: Digitaler Eingang Und Ausgang

    Digitaler Eingang und Ausgang ® Die RTC 5 stellt einen 2-Bit-Digital-Eingang (DIGITAL IN1 und DIGITAL IN2) und einen gepuf- ferten 2-Bit-Digital-Ausgang (DIGITAL OUT1 und DIGITAL OUT2) bereit. Zur Programmierung des Eingangs und Ausgangs siehe ”2 Bit-Digital-Eingang”, Seite 229 ”2 Bit- Digital-Ausgang”, Seite 226.
  • Seite 49 Ausgangsbeschaltung der 15-poligen Sub-D-Laseranschluss-Buchse (LASER) ® ® ® ® 5 PCI-Karte, RTC 5 PCI-Express-Karte, RTC 5 PC/104-Plus-Karte, RTC 5 PCIe/104-Karte Rev. 1.10 d 4 Layout und Schnittstellen...
  • Seite 50: Laseradapter (Optional)

    Laseradapter (optional) Die Signale an den Pins (2) und (4) der 9-poligen Sub-D-Buchse können über zwei Lötjumper im Wenn der optionale Laseradapter von SCANLAB auf Laseradapter ausgewählt werden. Dazu muss das ® die 15-polige LASER-Buchse der RTC 5 aufgesteckt Gehäuse des Laseradapters vorsichtig (z.B. mit Hilfe wird, dann stehen über eine 9-polige Sub-D-Buchse...
  • Seite 51: Extension 1-Stiftleiste

    4.4.2 EXTENSION 1-Stiftleiste Synchronisation der Datenübergabe Falls am 16-Bit-Digital-Ausgang bzw. am 16-Bit- Abb. 15 zeigt die Pinbelegung der 40-poligen Digital-Eingang mehrere Bits simultan als Daten- EXTENSION 1-Stiftleiste. worte (also nicht unabhängig voneinander) über- tragen werden, dann sollte das LATCH- bzw. das DIGITAL OUT0 DIGITAL IN0 SYNC-Signal zur Synchronisation der Datenübergabe...
  • Seite 52: Extension 2-Stiftleiste

    4.4.3 EXTENSION 2-Stiftleiste • Wird Pin (15) auf LOW gelegt, so sind nur Ausga- bewerte zwischen 0 und 127 möglich. ® Die 26-polige EXTENSION 2-Stiftleiste auf der RTC • Das DATA7-Bit kann für andere Zwecke ® Karte (auf der RTC 4 ist die entsprechende Stiftleiste verwendet werden, indem es Pin (17) zugewiesen mit LASER EXTENSION bezeichnet) stellt einen gepuf-...
  • Seite 53: Marking On The Fly-Stiftleiste

    Scheibe) realisiert werden (siehe geeignetes Slotblech mit einer 15-poligen Sub-D- Seite 195). Die Pinbelegung ist in Abb. 18 dargestellt. Buchse ist bei SCANLAB erhältlich. Die Pinbelegung der Sub-D-Buchse zeigt Abb. +5 V (1) (2) GND ENCODER X1 – (3) (4) ENCODER X1+ ENCODER X2 –...
  • Seite 54: Rs232-Stiftleiste

    4.4.5 RS232-Stiftleiste 4.4.6 SPI / I C-Stiftleiste Zur Ansteuerung externer Geräte wird an der Die “SPI / I2C”-Stiftleiste ist eine Hardware-Schnitt- “RS232” Stiftleiste eine RS232-Schnittstelle bereitge- stelle, die für verschiedene Datenaustauschverfahren stellt. Die Pinbelegung ist in Abb. 20 dargestellt. vorgesehen ist: McBSP (Multi channel Buffered Serial Port), SPI (Serial Peripheral Interface) sowie I C (Inter- Max.
  • Seite 55 ® Die McBSP-Schnittstellenfunktionalität samt zuge- 5 als Sender hörige Befehle werden u. a. bereitgestellt, um Positi- Für CLKX0, FSX0 und DX0 gelten die folgenden Spezi- onssignale direkt in Anwendungen einbinden zu fikationen: können. • Pegelsignale 3,3 V TTL • Bei “Processing on the fly”-Anwendungen •...
  • Seite 56 ® 5 als Empfänger • Ab OUT 526: Nach einem load_program_file werden die McBSP-Daten intern permanent Für die CLKR0, FSR0, DR0 gelten die folgenden Spezi- abgeholt und zwischengespeichert, sobald (neue) fikationen: Daten übertragen werden. Neuere Datenworte • Pegelsignale 3,3 V oder 5 V TTL. überschreiben ältere.
  • Seite 57: Verwendung Als I2C-Schnittstelle

    Verwendung als I C-Schnittstelle SPI Master SCL (1) (2) SDA Die “SPI / I2C”-Stiftleiste wird beim Einsatz der optio- RTC © 5 CLKX0 (3) (4) CLKR0 nalen ADC-Aufsteckplatine benutzt, um die Digital- werte an den DSP zu übertragen, siehe auch FSX0 (5) (6) FSR0 Kapitel 4.4.8 ”Analog-Eingänge (optional)”, Seite...
  • Seite 58: Stepper Motor-Stiftleiste (Schrittmotoransteuerung)

    Im Gegensatz zur McBSP-Konfiguration sind alle 4.4.7 STEPPER MOTOR-Stiftleiste Signale unmittelbar nach der Initialisierung an den (Schrittmotoransteuerung) ® entsprechenden Pins statisch und die RTC 5 gene- An der “STEPPER MOTOR”-Stiftleiste können Signale riert kein permanentes Taktsignal. zur Ansteuerung von zwei Schrittmotoren zur Verfügung gestellt werden ClockLevel>0 CLKX0...
  • Seite 59: Analog-Eingänge (Optional)

    4.4.8 Analog-Eingänge (optional) Die Analog-Eingänge stehen dann über einen 9-poligen Sub-D-Stecker am angelötete Flachband- ® Wird die RTC 5 PCI-Karte mit der optionalen ADC- kabel bereit. Dessen Pinbelegung ist in Abb. 27 Aufsteckplatine (Artikelnummer 121126) bestückt, dargestellt. ® dann verfügt die RTC 5 über zwei 10 V-Analog- Eingänge ANALOG IN0 und ANALOG IN1.
  • Seite 60: Installation Und Inbetriebnahme

    5 nicht an den elektrischen Kontakten. 5.1 Jumpereinstellungen • Schützen Sie die Karte vor Feuchtigkeit, Staub, ® Die RTC 5 kann von SCANLAB in unterschiedlichen korrosiven Dämpfen und mechanischen Jumperkonfigurationen ausgeliefert werden. Die Belastungen. Jumper sind Lötverbindungen und können vom ®...
  • Seite 61: Installation Der Treiber

     Wenn Sie die Signale der RTC 5-Stiftleisten 5.3 Installation der Treiber verwenden wollen, dann schließen Sie entspre- ® chende Verbindungskabel an. SCANLAB Zur Installation der RTC 5-Treiber für WINDOWS 8, empfiehlt den Gebrauch zusätzlicher Slotbleche WINDOWS 7, WINDOWS Vista und WINDOWS XP ab...
  • Seite 62: Treiber-Upgrade

    Festplatte Ihres PCs (bestehende Korrekturda- teien können weiterhin genutzt werden; speziell angepasste Korrekturdateien nicht überschrei- ben!). SCANLAB empfiehlt, die Dateien in dem Verzeichnis zu speichern, aus dem die Anwendungs-Software gestartet wird. Beim Laden der Korrekturdateien muss dann nur der Dateiname und nicht der Pfad angegeben werden.
  • Seite 63: Sichere Einschalt- Und Ausschaltreihenfolge

    Laserstrahl in eine ungewünschte (3) Schalten Sie die Spannungsversorgung des Scan- Richtung abgelenkt wird. Systems ein. SCANLAB empfiehlt den Gebrauch eines (4) Schalten Sie den Laser ein. Shutters, um die unkontrollierte Emission von Laserstrahlung zu vermeiden. Gehen Sie beim Abschalten des Lasersystems in Zum Testen der Scan-Kopf-Steuerung können Sie den...
  • Seite 64: Anwenderprogramme Und Demoprogramme

    Durch Aufruf der gewünschten DLL (Win32- oder Software-Dateien finden Sie entweder auf der mitge- Win64-basiert, s.u.) und Initialisierung ihrer Funk- lieferten CD oder zum Downloaden auf der SCANLAB- tionen können die Funktionen in Anwenderpro- Website. gramme eingebunden werden. Die Programmierung...
  • Seite 65: Programmierung Von Anwenderprogrammen

    Lasersteuerung bedienen kann. Systemen und Lasern – Beispiel zur Einführung 6.1.2 Listenbefehle und Kontrollbe- fehle ® Die SCANLAB RTC 5 PCI-Karte und die dazugehörige Software sind für die Ansteuerung von Scan- ® Der Befehlssatz der RTC 5 besteht aus Kontrollbe- Systemen und Lasern konzipiert.
  • Seite 66: Initialisierung Und Programmstart

    Manche Befehle existieren in zwei Versionen: als 6.2.1 DLL-Aufruf Listenbefehl und als Kontrollbefehl. Dazu gehören Damit Befehle und Funktionen der DLL in einem etwa die I/O-Befehle. Anwenderprogramm verwendet werden können, ® Alle RTC 5-Befehle werden ausführlich in Kapitel 10 muss die gewünschte DLL (Win32- oder Win64- ”Befehle und Funktionen”...
  • Seite 67 Vor- und Nachteile von Implizitem und Explizitem Linken In C können Sie zwischen implizitem Linken (bzw. statischem Laden oder load-time dynamic linking) Implizites Linken Explizites Linken und explizitem Linken (bzw. dynamischem Laden oder run-time dynamic linking) wählen. Benötigte RRTC5impl.h bzw. RTC5expl.h, Implizites Linken Datei...
  • Seite 68: Initialisierung Der Dll Und Kartenverwaltung

    ® 6.2.3 Initialisierung der DLL und 5-Karten in einem Rechner”, Seite 90, die Verwendung durch mehrere Anwenderprogramme in Kartenverwaltung Kapitel 6.7 ”Verwendung durch mehrere Anwender- ® Es können beliebig viele RTC 5-Karten in einem programme”, Seite 93 beschrieben. Rechner gleichzeitig verwendet werden. Außerdem Nach der Initialisierung der DLL mit init_rtc5_dll ®...
  • Seite 69: Inbetriebnahme Der Rtc ® 5-Karte

    5-Listenspeicher. Der Listenspeicher ist von ® Am Anfang eines jeden RTC 5 Anwenderprogramms SCANLAB bei Auslieferung standardmäßig so sollten – nach erfolgter Initialisierung der DLL (siehe vorkonfiguriert, dass die Speicherbereiche vorhergehender Abschnitt) – die folgenden Schritte “Liste 1” und “Liste 2” jeweils 4.000 Listenbefehle ®...
  • Seite 70: Initialisierung Der Lasersteuerung

    Initialisierung der Lasersteuerung (7) Wählen Sie (mit set_laser_mode) eine Laser- Version. (8) Setzen Sie (mit set_laser_control) die Laseraus- gangssignale passend zu Ihrem Lasersystem. (9) Legen Sie (mit set_firstpulse_killer) die Länge des FirstPulseKiller-Signals fest (nur in der YAG- Version). (10)Legen Sie (mit set_qswitch_delay) das Delay für das Q-Switch-Signal fest (nur bei den YAG-Versi- onen, insbesondere bei der YAG-Version 5).
  • Seite 71: Beispiel-Code

    6.2.5 Beispiel-Code Der grundsätzliche Aufbau eines Anwenderpro- ® grammes zur Initialisierung der DLL und der RTC 5 ist im Folgenden beispielhaft als C-Quellcode für eine Konsolenanwendung (Win32-Umgebung) dargestellt (für komplette Demoprogramme siehe Seite 632). Benötigte Dateien: RTC5impl.h, RTC5DLL.LIB (bei implizitem Linken) bzw. RTC5expl.h, RTC5expl.c (bei explizitem Linken).
  • Seite 72 (void) select_rtc( 1 ); set_rtc4_mode(); stop_execution(); ErrorCode = load_program_file( 0 ); // pPath = 0: Pfad des aktuellen Arbeitsverzeichnisses if ( ErrorCode ) printf( "Program file loading error: %d\n", ErrorCode ); free_rtc5_dll(); return; reset_error( -1 ); config_list( 4000, 4000 ); // Nachfolgend kann nun der Programmcode zur Definition des Laser-Scanprozesses eingefügt werden.
  • Seite 73: Listenspeicher

    Listenspeicher der RTC 4-, RTC 3- oder ® 2-Karten, etwa für das kontinuierliche Laden SCANLAB empfiehlt dringend, die beiden Nutzungs- und Abarbeiten von Befehlslisten. arten nicht miteinander zu vermischen. Ansonsten ® kann es gegebenenfalls auch im geschützten Bei der RTC 5 steht allerdings ein höherer Speicher-...
  • Seite 74: Konfiguration Des Listenspeichers

    Defragmentierung durchgeführt ® Aus Kompatibilitätsgründen ist der RTC 5-Listen- werden, damit der neu zugewiesene Speicherbe- speicher von SCANLAB bei Auslieferung standard- reich auch nutzbar ist (siehe ”Indexverwaltung mäßig so vorkonfiguriert, dass die Speicherbereiche und Defragmentierung” auf Seite 84).
  • Seite 75: Listen-Handling

    6.4 Listen-Handling “Unbedingtes” Laden Durch den Befehl set_start_list(_1/_2) wird der Die beiden Listenbereiche (“Liste 1” und “Liste 2”) Input-Pointer an den Anfang der ausgewählten Liste dienen als Zwischenspeicher für ein kontinuierliches und durch die Befehle set_start_list_pos oder Laden und Abarbeiten von Listenbefehlen. In diesem set_input_pointer an die spezifizierte Adresse der Kapitel werden die Befehle beschrieben, mit denen...
  • Seite 76: Abschließen Von Listen

    Abschließen von Listen 6.4.2 Listenstatus Befehlslisten können, müssen aber nicht notwendi- Listen werden – abhängig vom Status der gerweise mit einem set_end_of_list-Befehl abge- Befehlseingabe und Befehlsausgabe – bestimmte schlossen werden. Statuswerte zugeordnet. Die aktuellen Listenstatus- Beim Abarbeiten von nicht abgeschlossenen Befehls- werte können mit dem Kontrollbefehl read_status –...
  • Seite 77: Listenausführungsstatus

    Hinweise 6.4.3 Listenausführungsstatus • Wenn der Listenstatus während der Abarbeitung Zusätzlich zu den Listenstatuswerten werden drei eines Unterprogramms im geschützten Speicher- Statuswerte bereitgestellt, die darüber Auskunft bereich (“Liste 3”) abgefragt wird, so wird der geben, ob eine der beiden Listen aktuell ausgeführt Status derjenigen Liste (“Liste 1”...
  • Seite 78: Listen Ausführen Und Beenden

    Hinweise Liste sofort abgebrochen und die “Laser active”- Lasersteuersignale abgeschaltet (aber nicht deakti- • Der BUSY-Status ist auch als BUSY OUT-Signal an viert). Mit dem range_checking-Befehl kann das der 15-poligen Sub-D-LASER-Buchse (siehe Abarbeiten einer Liste (wie mit stop_execution) Abb. 10), an der EXTENSION 1-Stiftleiste (siehe ebenso automatisch beendet werden.
  • Seite 79: Unterbrechen Von Listen Zur Synchronisation Der Ausgabe

    6.4.5 Unterbrechen von Listen zur 6.4.6 Automatischer Listenwechsel Synchronisation der Ausgabe Wenn bei der Speicherkonfiguration zwei Listen- speicherbereiche (“Liste 1” und “Liste 2”) einge- Der Listenbefehl set_wait ermöglicht es, numme- richtet werden (siehe Seite 74), so kann parallel zur rierte Unterbrechungspunkte (wait markers) in eine ®...
  • Seite 80: Alternierender Listenwechsel

    Alternierender Listenwechsel 6.5 Strukturierte Program- mierung Alternativ kann die kontinuierliche Befehlsausgabe über eine sich wiederholende alternierende Ausgabe Zur Unterstützung einer strukturierten Program- der beiden Listen realisiert werden. Dazu muss der mierung und Ausgabe von Listenbefehlen enthält der Befehl start_loop aufgerufen werden. Dies führt ®...
  • Seite 81: Indizierte Unterprogramme

    programm zu diesem Zweck mit dem Befehl Ein indiziertes Unterprogramm wird mit dem set_sub_pointer referenziert werden kann, muss load_sub-Befehl nur dann gespeichert, allerdings seine Anfangsadresse bekannt sein. Vor • wenn vor dem Laden der geschützte Speicherbe- dem Laden eines nichtindizierten Unterpro- reich (“Liste 3”) in ausreichender Größe jenseits gramms in den Listenbereich (“Liste 1”...
  • Seite 82: Aufruf Von Unterprogrammen

    Damit ein indiziertes Unterprogramm in den Aufruf von Unterprogrammen geschützten Speicherbereich geladen werden kann, Unterprogramme können nicht direkt sondern nur wenn dieser bereits mit indizierten Unterpro- über Listenbefehle aus einer Liste oder aus einem grammen vollgeschrieben ist, muss zuvor der Unterprogramm heraus gestartet werden.
  • Seite 83: Nachträgliches Schützen Und Konvertieren Von Nichtindizierten Unterprogrammen

    Bedingte Aufrufe nichtindizierte Unterprogramme in Indexreihen- folge binär auf einen PC-Datenträger gespeichert Damit das Aufrufen von Unterprogrammen und mit load_disk von dort wieder in den (“normale” Aufrufe und “AbsCalls”) auch von geschützten Speicherbereich geschrieben). Bei externen Steuersignalen abhängig gemacht werden einem nachfolgenden Aufruf über den Index mit kann, gibt es die Möglichkeit, mit zusätzlichen sub_call...
  • Seite 84: Entschützen Von Unterprogrammen

    • Wenn Methode 2 angewendet wird, dann sollte Entschützen von Unterprogrammen sie auch vollständig angewendet werden. Wenn Der Schutz für Unterprogramme, die im geschützten nämlich nur der set_sub_pointer-Befehl ausge- Speicherbereich gespeichert sind, wird aufgehoben, führt wird, dann kann zwar das Unterprogramm indem der entsprechende Speicherbereich mit bereits unter Angabe des Indexes mit sub_call...
  • Seite 85 Nicht mehr benötigte Unterprogramme, die im Hinweise geschützten Speicherbereich auf niedrigeren Spei- • Vor Ausführen des load_disk-Befehls sollte cherplätzen liegen als noch benötigte Unterpro- sichergestellt werden, dass der geschützte gramme, blockieren u.U. Speicherplätze für weitere Speicherbereich (“Liste 3”) in ausreichender indizierte Unterprogramme, weil der load_sub- Größe jenseits von “Liste 1”...
  • Seite 86: Zeichensätze Und Zeichenfolgen

    6.5.2 Zeichensätze und Zeichen- Definition von indizierten Zeichensätzen folgen Eine Listenbefehlssequenz zur Definition eines Zeichens kann mit dem load_char-Befehl als indi- Für Beschriftungsaufgaben ist es sinnvoll, Befehls- ziertes Zeichen direkt in den geschützten Speicherbe- listen in Form von separaten Unterprogrammen im reich geladen werden (die dabei automatisch ®...
  • Seite 87: Definition Von Indizierten Zeichenfolgen Für Uhrzeit, Datum Und Seriennummer

    und für jeden Block ein separater mark_text-Befehl in Aufruf von indizierten Zeichenfolgen den Listenspeicher geschrieben. Man sollte darauf Indizierte Zeichenfolgen können zur Beschriftung von achten, dass es dabei zu keinem unerwünschten Spei- Uhrzeit, Datum und Seriennummern mit den cherüberlauf des jeweiligen Speicherbereichs kommt. Befehlen mark_time, mark_date mark_serial...
  • Seite 88: Sprünge

    6.5.3 Sprünge • Sprungbefehle wie list_jump_rel( 0 ), die einen Sprung auf sich selbst veranlassen werden zur Durch die Befehle list_jump_pos (synonym zu Laufzeit ignoriert, sonst würden sie bei der set_list_jump) und list_jump_rel können Sprünge Ausführung eine Endlosschleife ohne weitere zu einer angegebenen Adresse definiert werden, die Aktivitäten ergeben.
  • Seite 89: Schleifen

    6.5.5 Schleifen Explizite Listensprünge in den Rumpf einer list_repeat/list_until-Schleife oder aus diesem Mit Listensprüngen (siehe Seite 88) und bedingten heraus sind zwar zulässig, weil sie nicht überwacht Sprüngen (siehe Seite 236) kann zwar eine beliebige werden können, bei unsachgemäßem Gebrauch Anzahl von Listenbefehlen unbegrenzt oder extern davon kann jedoch die Integrität der Schleifenver- gesteuert wiederholt werden, jedoch ist damit eine...
  • Seite 90: Verwendung Mehrerer Rtc ® 5-Karten In Einem Rechner

    6.6 Verwendung mehrerer Alle Multi-Board-Befehle sind in Kapitel 10.1, ® Seite 241 aufgeführt. Es wird für fast alle Single- 5-Karten in einem Board-Befehle auch ein zugehöriger Multi-Board- Rechner Befehl bereitgestellt. Bei Befehlen, bei denen das nicht der Fall ist, wird in der Befehlsauflistung (ab ®...
  • Seite 91: Sequentielle Programmierung

    Anschluss einer Karte mit dem SLAVE-Anschluss einer nummer gültig ist, s.o.). Alle Befehle, die auf einen anderen Karte. Geeignete Verbindungskabel sind bei select_rtc-Befehl folgen, werden so lange an die SCANLAB erhältlich. ausgewählte Karte übergeben, bis der Befehl In einer Master/Slave-Kette ist automatisch diejenige select_rtc erneut verwendet wird.
  • Seite 92: Synchronisierung Der Takt-Phasen

    Damit die Abarbeitung von kurzen Listenbefehlen ® dazu einmalig nur an die Master-Karte geschickt auch bei Verwendung von mehreren RTC 5-Karten werden. SCANLAB empfiehlt, die Synchronisation unterschiedlicher DSP-Versionen in einer unmittelbar nach der Initialisierung aller Karten Master/Slave-Kette synchron abläuft, reduziert der (load_program_file...
  • Seite 93: Verwendung Durch Mehrere Anwenderprogramme

    6.7 Verwendung durch mehrere 6.7.1 Hinweise zur Übernahme einer Karte durch ein Anwenderpro- Anwenderprogramme gramm ® Die Verwendung der installierten RTC 5-Karten Die Befehle init_rtc5_dll, acquire_rtc, free_rtc5_dll, durch unterschiedliche Anwenderprogramme wird release_rtc select_rtc beeinflussen die Zugriffs- von der DLL über eine DLL-interne Kartenverwaltung berechtigung oder die Aktivierung der installierten koordiniert.
  • Seite 94 Will das übernehmende Anwenderprogramm die • Der Listenstatus ist evtl. nach der Übernahme bis ® 5-Karte dagegen im übernommenen Zustand zum nächsten load_…-Befehl (bzgl. LOAD und weiterbetreiben, dann muss sie gegebenenfalls die in READY) falsch. Das ist aber für die weitere der DLL fehlenden Informationen explizit abfragen, Ausführung unwichtig, und der Status wird beim von dem vorherigen Anwenderprogramm über-...
  • Seite 95: Error-Handling

    6.8 Error-Handling Die Fehlerbehandlung erfolgt für jede Karte und für jedes Anwenderprogramm separat. Ein reset_error ® löscht nicht den Fehlercode eines anderen Anwender- Damit bei der Programmierung der RTC 5-Karte programms, die gerade für die angegebene Karte Fehler im Programmablauf aufgefangen werden ®...
  • Seite 96: Download-Überprüfung

    6.8.1 Download-Überprüfung Korrekturdatei laden Beim Laden von Korrekturdateien mit Insbesondere für medizintechnische Anwendungen load_correction_file wird die Integrität der zu ® ist eine Überprüfung der RTC 5-Kommunikation ladenden Datei (über die Check-Summe) überprüft erforderlich. Hierfür kann mit set_verify für jede und der Transfer selbst auf Richtigkeit überprüft, Karte separat eine Download-Überprüfung aktiviert indem die Korrekturtabelle sofort zurückgelesen werden.
  • Seite 97: Beispiel-Code

    6.8.3 Beispiel-Code Der folgende C-Quellcode zeigt beispielhaft, wie ein Fehler während der Initialisierung aufgefangen werden kann. Er stellt sicher, dass das Programm mit einer Fehlermeldung beendet wird, • wenn während der Initialisierung mit init_rtc5_dll ein Fehler auftritt (z. B. wenn keine ®...
  • Seite 98 ® // Auslesen der internen Kartennummer der gewünschten RTC 5-Karte const UINT SerialNumberOfDesiredBoard ( 12345 ); const UINT RTC5CountCards = rtc5_count_cards(); UINT InternalNumberOfDesiredBoard ( 0 ); for ( UINT i = 1; i <= RTC5CountCards; i++ ) if ( n_get_serial_number( i ) == SerialNumberOfDesiredBoard ) InternalNumberOfDesiredBoard = i;...
  • Seite 99: Verschiedenes

    6.9 Verschiedenes 6.9.1 Freie Variablen Es stehen acht sogenannte freie Variablen zur Verfügung, die von Benutzern mit dem Kontroll- befehl set_free_variable oder dem kurzen Listen- befehl set_free_variable_list, frei mit Daten belegt werden können. Die Variablenwerte können über die McBSP/SPI-Schnittstelle ausgegeben werden (siehe Kapitel 9.1.7 ”McBSP/SPI-Schnittstelle”, Seite 229), und sie können mit...
  • Seite 100: Grundlegende Funktionen Zur Scan-Kopf- Und Lasersteuerung

    173). (2) Die Koordinaten sind als digitale Ansteuerwerte (einheitenlos) anzugeben. Zur Vermeidung von Verwechslungen mit Koordi- (4) Außerhalb einer Liste ist so eine Neupositionierung (auch bei natenwerten in [mm] verwendet SCANLAB den Ausdruck eingeschalteten Lasersteuersignalen) mit goto_xy oder “Koordinatenwert [in Bits]”...
  • Seite 101: Jump-Befehle

    Jump-Befehle Arc-Befehle Ein Jump-Befehl (jump_abs oder jump_rel ) veran- Mit den Bogenbefehlen arc_abs arc_rel können lasst eine (in der Regel) schnelle Bewegung der Scan- Kreisbögen markiert werden . Als Parameter sind nerspiegel, so dass die für den Laserstrahl die Koordinaten des Bogenzentrums und der Bogen- vorgesehene Fokusposition vom Anfangs- zum winkel anzugeben.
  • Seite 102: Ellipse-Befehle

    Ellipse-Befehle Hinweise ® • Mit a kann wahlweise die kurze oder lange Der RTC 5-Treiber stellt auch Befehle zum Markieren Halbachse angegeben werden (mit b die jeweils ellipsenförmiger Bögen zur Verfügung. Im Gegensatz andere Achse). Phi0, Phi und Alpha beziehen zum Markieren von Vektoren oder Kreisbögen sich aber immer auf die Achse a.
  • Seite 103: Para-Befehle

    • Ellipsenförmige Bögen könnten auch mit einem Para-Befehle Kreisbogenbefehl (wie arc_abs) markiert werden, Bei aktivierter vektorkontrollierter Lasersteuerung wenn mit set_matrix eine geeignete Koordina- können auch die Para-Mark- und Para-Jump-Befehle tentransformation (z. B. eine in x/y-Richtung (para_jump_abs, para_jump_rel, para_mark_abs, unterschiedliche Skalierung) eingestellt ist. para_mark_rel) genutzt werden.
  • Seite 104: Mikrovektorisierung

    7.1.2 Mikrovektorisierung Markierungszeit Die Markierungszeit, die für einen bestimmten Jeder Vektor eines Jump-, Mark- oder Bogenbefehls, Markierungsprozess benötigt wird, kann durch zwei- der vom Scan-Kopf abgefahren werden soll, wird von maligen Aufruf des Befehls save_and_restart_timer ® der RTC 5 in sogenannte Mikrovektoren zerlegt. (jeweils vor und nach dem Markierungsprozess) Diese werden dann bei der Steuerung der Galvano- gemessen werden.
  • Seite 105: Markieren Von Punkten

    7.1.3 Markieren von Punkten Um einen Punkt außerhalb eines Polygonzugs zu markieren, muss der Laser (d.h. müssen die “Laser active”-Lasersteuersignale) nach einem Jump- oder Mark-Befehl für die gewünschte Zeitdauer einge- schaltet werden (siehe laser_on_list, laser_on_pulses_list, para_laser_on_pulses_list Kapitel 7.4 ”Lasersteuerung”, Seite 141).
  • Seite 106: Beispiel-Code

    7.1.4 Beispiel-Code Der folgende C-Quellcode zeigt beispielhaft die Befehle für eine einfache Laser-Scan-Anwendung: Ein Punkt, ein Quadrat und ein Kreis werden im CO Modus markiert. Es wird hier vorausgesetzt, dass der ® 4-Kompatibilitätsmodus aktiviert ist. Der Code muss in ein Anwenderprogramm einge- bunden werden (siehe Seite 71).
  • Seite 107 // Einstellen des Laser-Timings (siehe Seite 141): set_laser_pulses( 800, 400 ); ® ® // Im RTC 4-Kompatibilitätsmodus werden die Timing-Parameter wie bei der RTC 4 in Einheiten von 1/8 µs spezi- ® // fiziert und die RTC 5 multipliziert die angegebenen Werte mit 8, um sie in ganzzahlige Vielfache von 1/64 µs zu // konvertieren.
  • Seite 108: Delayeinstellungen Zur Synchronisation Der Scan-Kopf- Und Lasersteuerung

    7.2 Delayeinstellungen zur LaserOn-Delay Synchronisation der Scan- ® Das LaserOn-Delay wird von der RTC 5 automatisch Kopf- und Lasersteuerung nach dem Start eines Mark- oder Bogenbefehls eingefügt und verzögert das Einschalten des Lasers, d.h. während der Abarbeitung der ersten Mikrovek- Die Synchronisation von Scan-Kopf- und Laser-Steu- toren bleibt der Laser ausgeschaltet.
  • Seite 109: Laseroff-Delay

    LaserOff-Delay Die Beschleunigungsphase zu Beginn einer Bewegung führt zu einer Differenz zwischen der jeweiligen Soll- und Ist-Position der Spiegel, nämlich dem Schleppverzug (einer Zeitdifferenz zwischen dem geplanten und dem tatsächlichen Erreichen einer bestimmten Position, siehe Abb. 34). Da der Laser nicht dann ausgeschaltet werden soll, wenn der Sollwert, sondern erst dann, wenn der Istwert der Endposition erreicht ist, wird automatisch nach jedem Mark- oder Bogenbefehl ein sogenanntes...
  • Seite 110: Scanner-Delays

    7.2.2 Scanner-Delays Es gibt drei verschiedene Typen von Scanner-Delays: Jump-, Mark- und Polygon-Delays. ® Nach jedem Vektor- und Bogenbefehl fügt die RTC eines dieser Delays ein, bevor der nächste Befehl gestartet wird. Der Befehl set_scanner_delays definiert die Scanner- Delays. Die Scanner-Delays werden in Einheiten von Jump- Delay 10 µs angegeben.
  • Seite 111: Variable Jump-Delays

    Variable Jump-Delays Hinweise • Um den variablen Jump-Delay-Modus Während eines Sprungvektors bewegt sich der Laser- abzuschalten, reicht es, die Sprunglängengrenze fokus üblicherweise mit einer konstanten linearen mit dem Parameter JumpLengthLimit auf Null zu Geschwindigkeit, der Sprunggeschwindigkeit. Da die setzen. Sprunggeschwindigkeit für alle Sprungvektoren die gleiche ist, wird ein konstantes Jump-Delay entspre- •...
  • Seite 112: Mark-Delay

    Mark-Delay Hinweise • Wenn auf einen Mark- oder Bogenbefehl kein Obwohl die Markiergeschwindigkeit üblicherweise weiterer Mark- oder Bogenbefehl folgt, wird ein niedriger ist als die Sprunggeschwindigkeit, entsteht Mark-Delay eingefügt und der Laser (nach einem auch beim Mark- oder Bogenbefehl ein Schlepp- LaserOff-Delay) ausgeschaltet (siehe Abb.
  • Seite 113 • Zeitbemessene Mark- oder Bogenbefehle der räumlichen Länge Null verhalten sich (ab RTC5OUT.out Version 526, sofern eine Ausführ- dauer > 5 µs spezifiziert wird) wie Mark- oder Bogenbefehle mit einer endlichen räumlichen Länge: – Die Lasersteuersignale werden gegebenenfalls (am Anfang eines Polygonzugs) eingeschaltet bzw.
  • Seite 114: Polygon-Delay

    Polygon-Delay Zwischen zwei aufeinanderfolgenden Mark- bzw. Bogenbefehlen ist es nicht immer notwendig, die Bewegung der Spiegel völlig abzubremsen. Darum wird hier statt eines Mark-Delays ein Polygon- Delay gesetzt (siehe Abb. 35). Der Laser bleibt hier eingeschaltet, es sei denn mit set_delay_mode oder set_delay_mode_list...
  • Seite 115: Variables Polygon-Delay

    Variables Polygon-Delay Mit dem Befehl set_delay_mode oder set_delay_mode_list kann der variable Polygon- ® Delay-Modus aktiviert werden. Die RTC 5 führt dann eine benutzerdefinierte Variation der Länge des Polygon-Delays in Abhängigkeit von der Größe des Winkels  zwischen zwei aufeinanderfolgenden Mark-Vektoren aus (siehe Abb.
  • Seite 116 ® Eckwert 5 den Laser nach dem ersten Mark- oder Bogen- befehl bei Erreichen des Eckwertes – nach Einfügen Abb. 36 zeigt, dass das variable Polygon-Delay bei eines LaserOff-Delays – aus und beginnt am Anfang Winkeln nahe  = 180° sehr lang wird. Dies kann des nächsten Mark- oder Bogenbefehls einen neuen unter Umständen an scharfen Ecken des Polygonzugs Polygonzug (siehe auch...
  • Seite 117: Benutzerdefinierte Variable Polygon-Delays

    Benutzerdefinierte variable Polygon-Delays Gleitkommazahlen angegeben werden. Verwenden Sie Punkte (.) als Dezimal-Trennzei- Der Befehl load_varpolydelay lädt eine Tabelle für chen. die Skalierungsfunktion scale() aus einer ASCII-Text- • Enthält die Tabelle mehrere Datenpunkte mit datei. Die Textdatei kann eine oder mehrere Tabellen gleichem Index <n>, so wird der zuletzt gelesene enthalten.
  • Seite 118: Hinweise Zur Optimierung Der Delays

    • Die Indices für die Datenpunktpaare in der Tabelle 7.2.3 Hinweise zur Optimierung der können innerhalb [1…50] beliebig gewählt Delays werden (die Tabelle wird automatisch nach Die Delays werden mit den Befehlen aufsteigenden Winkeln sortiert). set_scanner_delays set_laser_delays einge- • Enthält die Tabelle keinen gültigen Datenpunkt, stellt.
  • Seite 119 ohne Korrektur ohne Korrektur ® ® 5 versucht, 5 schaltet Laser bleibt für den Laser aus- den Laser Markierung 2 nicht an zuschalten nicht mehr aus mit automatischer Korrektur mit automatischer Korrektur korrigiertes LaserOff-Delay Scanner-Delay automatisch eingefügt Automatische Anpassung des LaserOff-Delays Dieses Problem lässt sich einerseits vermeiden, Automatische Anpassung der Scanner-Delays bei kurzen Mark- Delays...
  • Seite 120 Bei sehr großen LaserOn-Delays, die über einen Die Laserabschaltung bei Polygonzügen mit Markierbefehl und einen nachfolgenden Nicht- scharfen Ecken (Eckwert edgelevel) erfolgt aber Markierbefehl bis zum nächsten Markierbefehl nur, wenn der Laser für diesen Polygonzug bereits hinausgehen, werden entsprechende Scanner- eingeschaltet ist (d.h.
  • Seite 121: Mögliche Fehler Beim Optimieren Der Delays

    Mögliche Fehler beim Optimieren der Delays Die folgenden Skizzen zeigen am Beispiel des Schriftzugs “RTC”, wie sich falsch eingestellte Delays auf das Scan-Ergebnis auswirken. LaserOn-Delay zu kurz Mark Mark Mark Der Laser wird eingeschaltet, bevor die Spiegel zu Beginn eines Mark Mark-Vektors die notwendige Winkelgeschwindigkeit erreicht...
  • Seite 122 Jump-Delay zu kurz Mark Mark Mark Der auf einen Jump-Befehl folgende Vektor wird schon Mark während der notwendigen Einschwingzeit der Spiegel um den Endpunkt des Sprungvektors markiert. Ein Einlauf oder Überschwinger Mark wird sichtbar. Jump-Delay zu lang Ein zu lang gewähltes Jump- Delay wirkt sich nicht negativ auf das sichtbare Scan-Ergebnis aus, führt aber zu einer überhöhten...
  • Seite 123 Polygon-Delay zu kurz Mark Mark Mark Der folgende Mark-Befehl in einem Polygonzug wird schon Mark ausgeführt, ehe die Spiegel die Endposition des vorausgehenden Mark-Vektors erreicht haben. Die Ecken des Polygonzugs werden abgerundet. Mark Polygon-Delay zu lang Mark Mark Mark Ist das Polygon-Delay zu lang, so werden die Spiegel am Mark Endpunkt eines Mark-Vektors...
  • Seite 124: Sky-Writing

    7.2.4 Sky-Writing Modus 1 ® Im Sky-Writing-Modus 1 führt die RTC 5 bei jedem Für Anwendungen mit extremen Genauigkeitsanfor- Markiervektor (oder Bogen) – unabhängig von den ® derungen kann bei der RTC 5 das sogenannte Sky- vorausgehenden und nachfolgenden Befehlen – die Writing aktiviert werden.
  • Seite 125: Modus 2

    Modus 2 Modus 3 ® Im Sky-Writing-Modus 2 berechnet die RTC 5 eine Für Vektoren und Bögen, die innerhalb eines Poly- zeitoptimierte Sky-Writing-Bewegung. Auch hier gonzugs mit nur geringen Richtungsänderungen wird jedem auszuführenden Vektor (oder Bogen) eine aufeinanderfolgen, ist möglicherweise der Zeitverlust Vor- und Nachlaufbewegung in Verlängerung des durch die Sky-Writing-Bewegung unverhältnismäßig Vektors (bzw.
  • Seite 126: Synchronisation

    Synchronisation Sky-Writing-Modus 2 Sky-Writing-Modus 3 Abb. 45 zeigt das Zeitdiagramm der Scan-Kopf- und Lasersteuerung für Sky-Writing-Modus 1. Das Zeitdi- Jump Jump agramm für Sky-Writing-Modi 2 und 3 ist ähnlich, jedoch findet dort im Vorlauf und Nachlauf keine gegenläufige Bewegung der Scanner statt. Mark Mark Die Parameter Timelag, Nprev, Npost und...
  • Seite 127 Für LaserOnShift = 0 werden die “Laser active”- Lasersteuersignale mit einer Verzögerung von Timelag relativ zur Soll-Anfangsposition bzw. Soll- Endposition an- bzw. ausgeschaltet. Wird der Para- meter Timelag auf den tatsächlichen Schleppverzug eingestellt (und die Parameter Nprev und Npost auf ausreichend große Werte), so wird auf diese Weise sichergestellt, dass die “Laser active”-Lasersteuersi- gnale exakt an den Endpunkten des gewünschten...
  • Seite 128 LaserOnShift LaserOnShift Timelag Timelag Nprev Npost Scan-Kopf- und Lasersteuerung im Sky-Writing-Modus 1 (mit Parametern Timelag Nprev Npost LaserOnShift (Beispielhaft sind die Lasersteuersignale LASER1 und LASER2 für die YAG-Version 5 dargestellt) (* ein Mark-Delay wird nur u.U. nach der Deaktivierung des Sky-Writing-Modus 1 einmalig eingefügt, siehe Seite 536) ®...
  • Seite 129 Hinweise • Mit set_sky_writing_para oder set_sky_writing_para_list können auch kürzere • Mit set_sky_writing_mode Vor- und Nachlaufphasen vorgegeben werden, set_sky_writing_mode_list kann auch zwischen um Markierzeit zu sparen. Kürzere Vor- und Sky-Writing-Modus 1 und Modus 2 bzw. 3 hin- Nachlaufphasen können insbesondere dann und hergeschaltet werden.
  • Seite 130 • Zuvor für die “Laser active”-Lasersteuersignale • Es können auch zeitbemessene Mark- und Bogen- definierte Pulslängen und Ausgabeperioden (in befehle (siehe Seite 217) im Sky-Writing-Modus den YAG-Versionen auch das Q-Switch-Delay und ausgeführt werden. Eine kürzere Markierdauer ist die Parameter des FirstPulseKiller-Signals) werden hier allerdings auch mit einer höheren Markierge- im Sky-Writing-Modus unverändert beibehalten.
  • Seite 131: Scan-Kopf-Steuerung

    Kalibrierungsfaktor [Bits pro mm ]. In der Praxis setzt SCANLAB als Kalibrierungsfaktor K einen gerundeten Wert fest, der oberhalb, aber möglichst nahe beim theoretischen Wert liegt. Der von SCANLAB vorge- gebene Kalibrierungsfaktor kann mit get_table_para oder get_head_para aus der verwendeten Korrektur- tabelle ausgelesen werden.
  • Seite 132: Typisches Bildfeld

    ® Typisches Bildfeld 4-Kompatibilitätsmodus Im Allgemeinen ist das tatsächlich nutzbare (oder Die Bildfeldkoordinaten für die X- und Y-Achse (nicht “typische”) Bildfeld – abhängig vom jeweilig verwen- dagegen für die Z-Achse) und alle damit verbundenen deten Objektiv und der optischen Konfiguration des Parameter (z.B.
  • Seite 133: Bildfeldkorrektur Und Korrekturtabellen

    7.3.4 Bildfeldkorrektur und Korrek- Die beiden letzteren Effekte können vermieden werden, wenn zur Fokussierung des Strahls ein turtabellen F-Theta-Objektiv eingesetzt wird: Bildfeldverzerrung • Man erreicht zum einen eine direkte Proportiona- lität zwischen dem Scanwinkel und der Lenkt man einen Laserstrahl mit einem Zwei-Spiegel- gescannten Strecke auf dem Bildfeld.
  • Seite 134: Feldkorrektur-Algorithmus

    2D- und 3D-Korrekturdateien Kapitel 7.1.2 ”Mikrovektorisierung”, Seite 104. Die von SCANLAB berechneten 2D- und 3D-Korrek- Standardmäßig berechnet SCANLAB für jedes ausge- turtabellen werden von SCANLAB in 2D- und 3D- lieferte System eine individuelle Korrekturtabelle. Sie ® Korrekturdateien ausgeliefert. RTC 5-Korrekturda- ist im mitgelieferten Software-Paket in einer Korrek- teien tragen die Dateinamenerweiterung .ct5 und...
  • Seite 135: Zuweisung Von Geladenen Korrekturtabellen

    wird dabei automatisch um eine lineare z-Korrektur Hinweise ergänzt. Die tatsächlich passende z-Korrektur kann • Wenn keine Korrekturtabelle in den Speicher der anschließend mit dem Befehl load_z_table geladen ® ® 5 geladen wurde, dann gibt die RTC werden (siehe Seite 192).
  • Seite 136: 1To1-Korrekturtabellen

    Seite 171. Die inverse Tabelle wird bei der die aktuelle Position auch sofort gemäß der Berechnung einer ct5-Korrekturdatei durch SCANLAB zuletzt geladenen Korrekturtabelle (mit automatisch erzeugt, dagegen nicht unter allen jump_speed) eingestellt wird und dies nicht erst Umständen auch bei einer Konvertierung älterer ctb-...
  • Seite 137: Datei-Kopf Von Korrekturdateien

    Datei-Kopf von Korrekturdateien Der Parameter entspricht bei von SCANLAB ausgelieferten Korrekturdateien dem Dateinamen ® Im Datei-Kopf von RTC 5-Korrekturdateien sind (z.B. 145 für D2_145.ct5 oder D3_145.ct5). Informationen in Form von 16 Parametern gespei- (9) Unterscheidung zwischen Korrektur mit oder chert. Sie geben Auskunft über den Dateinamen, ohne F-Theta-Objektiv über enthaltene Daten und über optische Daten der...
  • Seite 138: Konvertierung Von Korrekturdateien

    Beispiel: Der Wert 3.521.450,0 entspricht einer 7.3.5 Ausgabewerte an das Scan- Schutzglas-Dicke von 3,52 mm und einem System Brechungsindex von 1,450. Berechnung (15)Indikator, ob eine Begrenzung der Feldgröße in der Korrekturdatei vorgenommen wurde Die bei Vektor- und Bogenbefehlen angegebenen x- ®...
  • Seite 139: Wertebereich

    • Entsprechend der mit select_cor_table oder Takt-Überlauf select_cor_table_list zugewiesenen Korrekturta- Bei den sehr rechenintensiven Jump-, Mark- und Arc- belle wird eine 2D- bzw. 3D-Bildfeldkorrektur Befehlen kann es vorkommen, dass der 10 µs-Takt durchgeführt (siehe Seite 133). nicht ausreicht, alle erforderlichen Daten zu •...
  • Seite 140: Statusüberwachung Und Diagnose

    7.3.6 Statusüberwachung und Diag- XY2-100-Statuswort wird von get_value, get_values oder set_trigger/set_trigger4 als 20-Bit-Wert nose zurückgegeben (von get_head_status dagegen als Zur Überwachung des Betriebsstatus und zu 16-Bit-Wert, s.u.). Diagnosezwecken können mit den Befehl get_value Statusinformationen vom Scan-System oder get_values eine Reihe von Signalen ausgelesen werden: Über das SL2-100-Protokoll werden (auf dem Rück- •...
  • Seite 141: Lasersteuerung

    rückgabe weitere, sich langsam verändernde 7.4.1 Freigeben, Aktivieren und Statusinformationen (z.B. die aktuelle Tempera- Schalten der Lasersteuersig- tur der Galvanometerscanner) rückübertragen. nale Diese Statusinformationen können mit read_user_data ausgelesen werden (siehe Nach einem Hardware-Reset und auch nach der Initi- auch Seite 170).
  • Seite 142: Laser Active"-Signale

    “Laser active”-Signale “Laser standby”-Signale Die Signale für den “Laser active”-Betrieb können Nach dem erstmaligen Aktivieren der Lasersteuer- nach set_laser_control mit set_laser_pulses, signale mit set_laser_control können Standby- set_laser_pulses_ctrl oder set_laser_timing akti- Signale mit set_standby oder set_standby_list akti- viert bzw. deaktiviert werden. Zusätzlich können sie viert bzw.
  • Seite 143: Automatische Lasersignalunterdrückung Bei Status-Fehlern Des Scan-Systems

    Automatische Lasersignalunterdrückung bei 7.4.2 Konfigurieren der Laseran- Status-Fehlern des Scan-Systems schluss-Buchse (LASER) set_laser_control (Bits#16 – 27) kann festgelegt Die Lasersignal-Typen, die an den Pins 1, 2 und 9 der werden, dass die Lasersteuersignale automatisch Laseranschluss-Buchse (LASER) ausgegeben werden, unterdrückt werden, wenn eines oder mehrere der können mit dem Kontrollbefehl config_laser_signals Statussignale des Scan-Systems einen Fehler meldet.
  • Seite 144: Co -Version

    7.4.3 CO -Version Mit dem Befehl set_laser_mode(0) wählt man die -Laserversion (Lasermode 0) aus. Im Zeitdia- gramm Abb. 50 sind die zugehörigen Signale darge- stellt. Für den “Laser active”-Betrieb werden (gegebenen- falls nach einem LaserOn-Delay und sofern mit set_laser_control oder enable_laser freigegeben) •...
  • Seite 145 Hinweise • Ob ein bei eingeschaltetem LASERON-Signal (für den “Laser active”-Betrieb) gestarteter Modulati- • Die LASER1- und LASER2-Signale werden durch onspuls (LASER1 oder LASER2) noch vollständig Angabe einer von Null verschiedenen Pulslänge ausgeführt oder abgeschnitten wird, wenn er aktiviert und durch Nullsetzen der Pulslänge beim Ausschalten des LASERON-Signals noch (Standardeinstellung) deaktiviert.
  • Seite 146: Yag-Versionen

    7.4.4 YAG-Versionen Q-Switch-Signal Das Q-Switch-Signal dient zur Steuerung des Güte- Mit set_laser_mode( [1, 2, 3 oder 5] ) wählt man schalters des Lasers. Die Q-Switch-Periodendauer und zwischen vier verschiedenen YAG-Lasersteuerungs- -Pulsdauer werden mit den Befehlen Versionen (Lasermodi). Im Zeitdiagramm Abb. 51 set_laser_pulses, set_laser_pulses_ctrl oder...
  • Seite 147: Firstpulsekiller-Signal

    FirstPulseKiller-Signal Lampenstrom (Laserleistung) Das FirstPulseKiller-Signal dient zur Begrenzung der Zur Steuerung des Lampenstroms eines YAG-Lasers Laserpuls-Leistung zu Beginn einer Pulsfolge. Die können die 12-Bit-Ausgänge ANALOG OUT1 oder ersten Laserpulse einer Pulsfolge können eine höhere ANALOG OUT2 eingesetzt werden. Sie sind an der Energie haben als die folgenden.
  • Seite 148 YAG-Versionen 1-3 und 5 Endpunkt des Vektors Anfangspunkt des Vektors Vektor- ausgabe LaserOn- LaserOff- Delay Delay “Laser standby” “Laser active” ”Laser” standby” LASERON Standby- Standby- Q-Switch- Q-Switch- Periodendauer Pulslänge Periodendauer Pulslänge LASER1 (Q-Switch) FirstPulseKiller- YAG 1 Länge LASER2 (FirstPulseKiller) Q-Switch- Standby- Standby- Q-Switch-...
  • Seite 149: Softstart-Modus

    Softstart-Modus auch Laserintensität zu Beginn eines Markierungspro- nach sehr kleinen Jump-Befehlen aktiviert wird. zesses zu variieren. SCANLAB stellt dazu in allen • Sobald das LASERON-Signal (der Laser) länger als Laserversionen (für den “Laser active”-Betrieb) den Delay ausgeschaltet bleibt, wird der Wert Softstart-Modus zur Verfügung.
  • Seite 150 • Der Softstart-Modus steht auch im Lasermode 4 (siehe Seite 151) und Lasermode 6 (siehe Seite 152) zur Verfügung. Im Lasermode 4 und Lasermode 6 werden am LASER1-Ausgang nur Standby-Pulse ausgegeben, und daher können hier im Softstart-Modus nur Analogspannungs- werte variabel eingestellt werden (set_softstart_mode Mode = 1, 2, 11 oder 12).
  • Seite 151: Lasermode 4

    7.4.6 Lasermode 4 Hinweise • Die Pulslänge und Ausgabeperiode des LASER1 Mit set_laser_mode(4) wählt man den Lasermode 4 Modulationssignals werden mit den Befehlen aus. Im Zeitdiagramm Abb. 52 sind die zugehörigen set_standby oder set_standby_list eingestellt. Signale dargestellt. Das LASER1-Signal wird durch Angabe einer von Am LASER1-Ausgang wird ein freilaufendes Modula- Null verschiedenen Pulslänge aktiviert und durch tionssignal mit variabler Pulslänge und Perioden-...
  • Seite 152: Lasermode 6

    7.4.7 Lasermode 6 Mit set_laser_mode(6) wählt man den Lasermode 6 aus. Diese Lasersteuerungsversion wird für Laser bereitgestellt, bei denen die Laserleistung nicht während eines Pulses geändert werden kann. Im Zeit- diagramm Abb. 53 sind die zugehörigen Signale dargestellt. Am LASER1-Ausgang wird ein freilaufendes Modula- tionssignal mit variabler Pulslänge und Perioden- dauer sowohl für den “Laser active”-Betrieb als auch den “Laser standby”-Betrieb ausgegeben, sofern es...
  • Seite 153 Hinweise • Ein LASER2-Signal wird weder für den “Laser active”-Betrieb noch für den “Laser standby”- Betrieb ausgegeben. • Änderungen des LASERON-Signals werden unter- bunden während das LASER1-Signal “an“ ist, indem die Änderung erst dann (verzögert) ausge- führt wird, wenn das LASER1-Signal wieder “aus“ ist (siehe Abb.
  • Seite 154: Pulse-Picking-Lasermodus

    7.4.8 Pulse-Picking-Lasermodus Für den Standby-Betrieb werden (gegebenenfalls nach einem LaserOff-Delay) set_pulse_picking bzw. set_pulse_picking_list • das LASERON-Signal ausgeschaltet und wählt man den Pulse-Picking-Lasermodus aus. Im • am LASER1- und LASER2-Ausgang phasengleich Zeitdiagramm Abb. 54 sind die zugehörigen Signale Standby-Pulse ausgegeben, deren Pulslänge und dargestellt.
  • Seite 155 Hinweise set_laser_control (Bit#0) eingestellt werden. Für Standby-Signale kann dies nicht eingestellt • Wie in der YAG-Version 5 ist der Zeitabstand werden (sie werden gegebenenfalls zwischen LaserOn und dem ersten Q-Switch-Puls abgeschnitten). (LASER1/LASER2) mit set_qswitch_delay oder • Die Einstellungsreihenfolge der LASER1-Signale set_qswitch_delay_list variabel einstellbar.
  • Seite 156: Automatische Lasersteuerung

    7.4.9 Automatische Lasersteuerung System – unter einem Winkel, also nicht mehr senkrecht auf das Material trifft und dies zu einer Mit den Befehlen zur automatischen Lasersteuerung Veränderung der Reflexion und des Laserspots kann eine automatische Nachregelung von führt. Mit der positionsabhängigen Lasersteu- “Laser active”-Lasersteuersignalen –...
  • Seite 157 Durch die automatische Lasersteuerung wird wahl- Hinweise weise einer der folgenden Signalparameter ange- • Ein variierender Lasereintrag infolge einer expli- passt: ziten Änderung der Markiergeschwindigkeit • der 12-Bit-Ausgabewert am ANALOG OUT1- oder zwischen zwei Markierbefehlen durch Aufruf des ANALOG OUT2- Ausgang der 15-poligen Sub-D- set_mark_speed-Befehls wird nicht durch die LASER-Buchse (siehe auch Seite...
  • Seite 158: Positionsabhängige Lasersteuerung

    Positionsabhängige Lasersteuerung Falls nur eine positionsabhängige Lasersteuerung benötigt wird, kann die geschwindigkeits- und Zur Initialisierung der positionsabhängigen Laser- encodergeschwindigkeitsabhängige Lasersteue- steuerung muss mit set_auto_laser_control (Para- rung mit set_auto_laser_control (Parameter meter Ctrl) festgelegt werden, welcher Mode=0) deaktiviert werden. Signalparameter angepasst werden soll, und mit Wenn umgekehrt allein die geschwindigkeits- load_position_control eine Skalierungsfunktion...
  • Seite 159 • Nach erfolgter Initialisierung der positions- Hinweise zum Laden der Skalierungsfunktion und/oder geschwindigkeits- oder encoderge- Der Befehl load_position_control lädt eine Tabelle schwindigkeitsabhängigen Lasersteuerung mit für die Skalierungsfunktion Scale(Position) aus einer set_auto_laser_control wird der ausgewählte ASCII-Textdatei. Die Textdatei kann eine oder mehrere Signalparameter jedesmal, wenn der Laser am Tabellen enthalten.
  • Seite 160 ® • Für <Value> gelten die folgenden Wertebereiche: Bei der Initialisierung der RTC 5 (mit 0.0  Position  150.0 und load_program_file) wird für den vollen Positionsbe- 0.0  Scale(Position)  4.0. reich die Skalierungsfunktion Scale(Position) = 1.0 ® geladen, so dass effektiv keine positionsabhängige (Die RTC 5 verwendet die Skalierungsfunktion Korrektur durchgeführt wird.
  • Seite 161 • Der Prozentwert bezieht sich auf den mit Die Ermittlung der Nichtlinearitätskurve wird anhand set_auto_laser_control (Parameter Value) des Beispieldiagramms in Abb. 55 erklärt: festgelegten 100%-Wert (letzterer kann zusätzlich durch eine vektorkontrollierte Laser- steuerung verändert sein, siehe Seite 163). Im folgenden Beispiel wird für das 1,5-fache des 100%-Werts ein Nichtlinearitätsfaktor von 1,2 festgelegt: Percent<n>...
  • Seite 162: Geschwindigkeitsabhängige Lasersteuerung

    • Für Mode = 1 ist v die tatsächliche Sollgeschwin- entsprechend ausgestatteten Scan-Kopf besitzen, digkeit, wie sie sich aus der Schrittweite des dann wenden Sie sich bitte an SCANLAB. Mikrovektors in Sollkoordinaten ergibt. • Ein variierender Lasereintrag infolge einer expli- ®...
  • Seite 163: Vektorkontrollierte Lasersteuerung

    • Der zu steuernde Signalparameter der geschwin- Hinweise digkeitsabhängigen Lasersteuerung, der 100%- • Falls für den Startwert eines Para-Befehls ein Wert und seine ihm zugeordneten Grenzwerte anderer Wert erwünscht ist als der Endwert des können außer mit set_auto_laser_control auch vorherigen Para-Befehls, kann die entsprechende mit den Befehlen set_auto_laser_params oder...
  • Seite 164: Encodergeschwindigkeitsabhängige Lasersteuerung

    lierten Lasersteuerung als Basis für den 100%- Encodergeschwindigkeitsabhängige Wert der positions- und/oder geschwindigkeits- Lasersteuerung oder encodergeschwindigkeitsabhängigen Laser- Bei der encodergeschwindigkeitsabhängigen Laser- steuerung: steuerung kann ein Lasersignalparameter entspre- – Bei Initialisierung der vektorkontrollierten chend der aktuell eingelesenen Encodergeschwindig- Lasersteuerung mit set_vector_control wird keit (Zählerpulsrate) eines Encoder-Zählers (oder der 100%-Wert auf den mit...
  • Seite 165: Ausgabe-Synchronisation

    Hinweise 7.4.10 Ausgabe-Synchronisation • Die encodergeschwindigkeitsabhängige Laser- Damit die Scan-Bewegung des Scan-Systems (bei steuerung ist mit der positionsabhängigen und allen Markierbefehlen) mit den Laserpulssignalen vektorkontrollierten Lasersteuerung, aber nicht eines freilaufenden Lasers synchronisiert werden mit der geschwindigkeitsabhängigen Lasersteu- ® kann, stellt die RTC 5 die sogenannte (Galvanome- erung kombinierbar.
  • Seite 166 Hinweise (gültig ab Version RBF 527): • Das Laserpulssignal, auf das synchronisiert werden soll, muss eine Frequenz zwischen 50 kHz und 6,4 MHz und eine Pulslänge über 0,080 µs aufweisen. • Die Ausgabeperiode der Lasersteuersignale muss im Anwenderprogramm (vor Aktivieren der Ausgabe-Synchronisation) mit set_laser_pulses, set_laser_pulses_ctrl oder...
  • Seite 167: Markieren Von Uhrzeit, Datum Und Seriennummern

    7.5 Markieren von Uhrzeit, 7.5.2 Markieren von Seriennummern Datum und Seriennummern Mit dem Befehl mark_serial bzw. mark_serial_abs können bis zu 12-stellige Seriennummern markiert Bei vielen Anwendungen müssen die aktuelle Uhrzeit werden. Die Befehle starten die Ausgabe der Befehls- und das aktuelle Datum oder die Seriennummern von listen für die Ziffern 0…9, die zuvor als indizierte Produkten markiert werden.
  • Seite 168 Hinweise Anwenderprogramme unverändert weiter verwendet werden (also auch ohne die neuen • Der mit mark_serial mark_serial_abs Befehle select_serial_set markierende Seriennummernsatz kann select_serial_set_list). ausschließlich mit dem Listenbefehl • Mit dem Kontrollbefehl set_max_counts lässt select_serial_set_list ausgewählt werden. sich die maximale Anzahl an externen Listen- Sowohl mark_serial und mark_serial_abs, als...
  • Seite 169: Erweiterte Funktionen Zur Scan-Kopf- Und Lasersteuerung

    ® der iDRIVE -Technologie. Bei iDRIVE -Scan-Systemen ® iDRIVE -Technologie von SCANLAB zum Einsatz. Die können damit u.a. die Statussignale der X- und Y- ® iDRIVE -Technologie realisiert ein erweitertes Rege- Achse separat und simultan ausgewertet werden. Die lungs- und Ansteuerkonzept durch eine voll digitale...
  • Seite 170: Anpassen Des Rückmeldeverhaltens

    8.1.2 Anpassen des Rückmeldever- Datenauswertung haltens ® Die von der RTC 5 empfangenen Daten (mit Ausnahme des User-Datenbits) können jederzeit Auswahl von Datentypen asynchron mit den Befehlen get_value, get_values ® Die digitale Regelung von iDRIVE -Scan-Systemen bzw. get_head_status oder synchron mit dem erlaubt eine vielfältige Rückgabe von Datensignalen set_trigger/set_trigger4-Befehl gelesen werden ®...
  • Seite 171: Überwachung Der Positionierung

    8.1.3 Überwachung der Positionie- Hinweise rung • Wobbeltransformationen, “Processing on the fly”-Korrekturen und ein etwaiges Clipping bei Für manche Anwendungen ist es wichtig, die Positio- der Vorwärtstransformation sind grundsätzlich nierung des Scan-Systems auch während des Betriebs nicht rücktransformierbar (siehe folgende zu überwachen und gegebenenfalls zu dokumen- Tabelle).
  • Seite 172: Anpassen Der Dynamischen Einstellung (Tuning)

    Rücktransformation kann sowohl bei Einstellung (das Tuning) von Scan-Systemen von transform als auch get_transform über den SCANLAB unterschiedlich optimiert werden, z.B. für Parameter Code festgelegt werden. das Ausführen von Vektoren oder Kreisbögen mit • Sowohl bei transform als auch...
  • Seite 173: Sprungmodus

    8.1.5 Sprungmodus • Am Ende des Sprungs wird außerdem ein von der Sprunglänge abhängiges Jump-Delay Für Anwendungen wie das Bohren von Löchern in abgewartet. Das Jump-Delay kann mit definierten Abständen, bei denen der Laserbearbei- load_jump_table_offset oder set_jump_table tungsprozess eher punktuell als entlang von Linien für die jeweilige Sprunglänge vorgegeben oder Kurven ausgeführt wird, können optimierte werden (siehe auch...
  • Seite 174: Voraussetzung Und Aktivierung

    Voraussetzung und Aktivierung Sprunglängenabhängige Jump-Delays Damit der Sprungmodus freigegeben und aktiviert Bei der Ausführung eines harten Sprungs dauert es werden kann, müssen die folgenden eine gewisse Zeit, bis der Scanner die vorgegebene ® Voraussetzungen erfüllt sein: Position eingenommen hat. Von der RTC 5 wird diese Verzögerung (auch Sprungantwort genannt) •...
  • Seite 175: Experimentelle Ermittlung Von Jump-Delay-Werten

    Experimentelle Ermittlung von Jump-Delay- Hinweise zum Laden der ermittelten Jump- Werten Delay-Werte Im Manual des Scan-Systems werden üblicherweise Der Befehl load_jump_table_offset lädt eine Tabelle für das jeweilige Sprungtuning Sprungantwortzeiten mit Sprunglängen- und Jump-Delay-Werten aus einer für ausgewählte Sprunglängen spezifiziert. ASCII-Textdatei. Die Textdatei kann eine oder mehrere Tabellen enthalten.
  • Seite 176: Automatische Ermittlung Der Jump-Delay-Tabelle

    • Leerzeichen und Tabs in einer Zeile (z.B. zwischen Automatische Ermittlung der Jump-Delay- ’=’ und <Value>) werden ignoriert. Tabelle • Leere Zeilen werden ignoriert. load_jump_table_offset (Parameter Name = 0) kann eine automatische Ermittlung der Jump-Delay- • Datenpunkte mit unzulässigen Werten werden Tabelle gestartet werden, sofern zuvor mit ignoriert.
  • Seite 177 • Bei der automatischen Ermittlung werden zuerst • Für die automatische Ermittlung kann ein Offset der größte, dann zunehmend kürzere Sprünge angegeben werden, der auf alle ermittelten (mit insgesamt maximal 16 unterschiedlichen Delay-Werte aufaddiert wird, bevor durch lineare Sprunglängen) ausgeführt. Die Messdauer ist für Interpolation die gesamte Jump-Delay-Tabelle die erste (längste) Sprunglänge (Sprung über die berechnet und auf die Karte geladen wird (die...
  • Seite 178: Anpassen Des Posacknowledge-Schwellwerts

    Positions-signale, sowie die von SCANLAB geändert wird, startet das Scan-System bei jedem voreingestellte Kalibrierung des Scan-Systems Neustart oder Reset mit den von SCANLAB festge- bleiben davon unberührt. Die effektive Kalibrierung legten Voreinstellungen. dagegen kann dadurch reduziert und der Scan- Das Rückmeldeverhalten des Scan-Systems kann nur...
  • Seite 179: Fehlerdiagnose Und Funktionstest

    8.1.9 Fehlerdiagnose und 8.2 Koordinatentransforma- Funktionstest tionen ® Zur Diagnose von iDRIVE -Scan-Systemen im Damit das Scan-System relativ zum Bildfeld exakt Fehlerfall können u.a. die vielfältigen Rückmelde- ausgerichtet werden kann (bzw. – wenn die Option funktionen des Scan-Systems verwendet werden. So “Zweite-Scan-Kopf-Steuerung”...
  • Seite 180 Die Koeffizienten der Drehmatrix M werden mit Beispiel: Der Befehl set_angle oder set_angle_list durch Angabe eines set_matrix( 1, 0.5, -0.866, 0.866, 0.5, 1 )  Drehwinkels festgelegt (mathematische Defi- definiert für den primären Scan-Kopf-Anschluss nition: positive Winkel drehen im Gegenuhrzei- eine sofortige Rotation um 60°...
  • Seite 181 Hinweise Befehle nicht notwendigerweise unmittelbar aufeinander folgen. Wann eine (angesammelte) • Die beschriebenen Koordinatentransformationen Transformation wirksam wird, entscheidet immer sind in erster Linie für kleinere Korrekturen zur der zuletzt gesendete at_once-Parameterwert. Ausrichtung des Scan-Systems relativ zum • Vor Anwendung der (evtl. angesammelten) Bildfeld vorgesehen.
  • Seite 182 • Mit at_once = 2 werden die (über Kontroll- oder Skalierungsfaktoren sogar richtungs- Listenbefehle angesammelten) Einstellungen erst abhängig). Unter Umständen müssen daher die bei der Ausführung des nächsten jump_abs-, Sprung- und Markiergeschwindigkeiten entspre- jump_rel-, goto_xy- oder goto_xyz-Befehls chend angepasst werden. wirksam (jedoch nicht bei anderen Sprungbe- •...
  • Seite 183: Online-Positionierung

    8.3 Online-Positionierung Konfigurieren der Online-Positionierung Mit den Befehlen set_mcbsp_x, set_mcbsp_y Im vorangehenden Kapitel 8.2 ”Koordinatentransfor- und/oder set_mcbsp_rot oder set_mcbsp_matrix mationen”, Seite 179 wird ausführlich beschrieben, (bzw. mit den entsprechenden Listenbefehlen) wird wie ein Scan-System relativ zum Bildfeld exakt ausge- festgelegt, wie die an der McBSP/SPI-Schnittstelle richtet werden kann.
  • Seite 184 • x oder y und rot Eingabewerte werden an die interne Speicher- Wird entweder eine X- oder eine Y-Offset- stelle 1 übertragen. Korrektur zusammen mit einer Rotations- Hinweise Korrektur aktiviert, so sollten die Offset- und • Eine Online-Positionierung kann in Kombination Rotations-Korrekturwerte alternierend jeweils als mit einer über Encoder-Signale gesteuerten 32-Bit-Werte eingegeben werden.
  • Seite 185: Wobbelmode

    8.4 Wobbelmode Bei einer “Processing on the fly”-Korrektur über die McBSP/SPI-Schnittstelle oder die Encoder-Schnitt- stelle, bei der der Scan-Kopf lediglich die Differenz Der Wobbelmode ermöglicht eine Variation der Lini- der externen Ist-Bewegung zur gewünschten enstrichbreite für eine Lasermarkierung. Gesamt-Bewegung auskorrigiert, siehe Kapitel 8.7.2 Dazu wird die gewöhnliche, lineare Bewegung der ”Kompensation linearer Bewegungen”, Seite...
  • Seite 186: Wobbelfiguren - Wichtige Hinweise Zur Wahl Angemessener Parameterwerte

    8.4.1 Wobbelfiguren – Wichtige Hinweise Hinweise zur Wahl angemes- • Beachten Sie auch die Bahngeschwindigkeit auf sener Parameterwerte der Wobbelfigur. Bei kreisförmigen Wobbelfi- guren errechnet sich diese wie folgt: “Klassische” Wobbelfiguren     (3) Bahngeschwindigkeit: V Bahn “Klassische” Wobbelfiguren werden mit den •...
  • Seite 187: Frei Definierbare Wobbelfiguren

    Wobbelparameter • Höchstfrequenz nach Faustregel (1):    F = 1/(10 0,33 300 Hz. • Wobbelamplitude nach Faustregel (2):    A = 0,33 1,44 Bit/s  47.500 Bit. – Im Bildfeld entspricht das einer Wobbelampli-  tude von A/K 9,5 mm.
  • Seite 188: Verwendung Mehrerer Verschiedener Korrekturtabellen

    8.5 Verwendung mehrerer verschiedener Korrekturtabellen 8.5.1 Konfiguration mit zwei 2D- der Befehl select_cor_table bzw. select_cor_table_list erneut aufgerufen werden. Scan-Systemen Die Korrekturtabellen Nummer 3 und 4 werden ® Der Speicher der RTC 5 kann vier verschiedene durch load_program_file gelöscht. Korrekturtabellen gleichzeitig enthalten. Bei der •...
  • Seite 189: Ansteuerung Eines 3-Achsen-Scan-Systems (Optional)

    ® werden, wenn entsprechend viele RTC 5-Karten mit Zur Erweiterung von XY-Scan-Köpfen zu 3-Achsen- freigeschalteter 3D-Option in den PC eingebaut sind. Scan-Systemen sind bei SCANLAB varioSCAN, varioSCAN , varioSCAN FC und varioSCAN FLEX dynamische Fokussiereinheiten erhältlich. (1) Wenn zusätzlich die Option “Zweite-Scan-Kopf-Steuerung”...
  • Seite 190: Markierbefehle

    • Die Größe des nutzbaren Bildfelds und der Z-Hub aus der zugewiesenen 3D-Korrekturtabelle. Jede (Höhe des nutzbaren Arbeitsvolumens) kann der Korrekturtabelle wird von SCANLAB individuell “Readme.txt” Datei, die der 3D-Korrekturdatei entsprechend der optischen Konfiguration des jewei- beigelegt ist, oder dem Handbuch des jeweiligen ligen 3-Achsen-Systems aus allen verfügbaren opti-...
  • Seite 191 • Soll eine Z-Achse dazu benutzt werden, den • Bei 3D-Markierbefehlen wirken sich die folgenden Laserfokus immer nur in einer bestimmten Ebene Einstellungen (sofern vorgenommen) direkt nur zu halten, so können auch 2D-Vektorbefehle auf die x- und y-Ausgabewerte, dagegen nicht verwendet werden (nachdem die gewünschte z- oder höchstens indirekt auf den z-Ausgabewert Position mit einem 3D-Vektorbefehl eingestellt...
  • Seite 192: Justage

    Komponenten ab. Solche Informationen stehen set_offset_xyz oder set_offset_xyz_list einge- SCANLAB in der Regel nicht zur Verfügung und stellten Offset) mit z = 0 angesteuert wird. Insbeson- fließen daher auch nicht in die Berechnung der 3D- dere wenn das 3-Achsen-Scan-System (mit Korrekturtabellen ein.
  • Seite 193: Test Für 3-Achsen-Scan-Systeme Mit F-Theta-Objektiv

    RTC beiden Quadrate und geben Sie die Werte an für diesen Punkt eingestellten Fokuslängenwert l SCANLAB weiter. Sie erhalten dann eine neue 3D- (in Bits) aus Korrekturdatei. (10)Optimieren Sie dann an dieser Stelle den Laser- fokus, indem Sie mit load_z_table(A=z...
  • Seite 194: Erweiterte 3D-Korrektur

    <No> der beim Befehl Koordinate). Typischerweise wird die Bildfeldgröße load_stretch_table anzugebenden Nummer linear mit dem Z-Wert gestreckt oder gestaucht. entspricht. SCANLAB 3D-Korrekturfiles enthalten daher soge- nannte Stretch-Faktoren (siehe Seite 137), die diesen • Unmittelbar anschließend folgt ein Block mit den Effekt kompensieren.
  • Seite 195: Processing On The Fly" (Optional)

    8.7 “Processing on the fly” “Processing on the fly”-Korrektur erfolgt über Listen- befehle. Die bei der Aktivierung einzustellenden Para- (optional) meter müssen gegebenenfalls zuvor durch einen Kalibrierungsprozess ermittelt werden (s.u.). 8.7.1 Verwendung und Initialisie- Eine aktivierte “Processing on the fly”-Korrektur wirkt rung sich direkt nur auf den x- und y-Ausgabewert, dagegen (bei freigeschalteter 3D-Option) auf den z-...
  • Seite 196: Übersicht

    Übersicht Folgende “Processing on the fly”-Korrekturen können miteinander kombiniert werden: Es sind die folgenden encoderbasierten “Processing • set_fly_x kann mit set_fly_y kombiniert werden. on the fly”-Korrekturen von Werkstück-Bewegungen möglich: • set_fly_x_pos kann mit set_fly_y_pos kombiniert werden. • set_fly_x, set_fly_y: Kompensation linearer Werkstück-Bewegungen (z.
  • Seite 197: Kompensation Linearer Bewegungen

    . Dabei muss jeweils rate oder separierbare Markierungen im realen ein Skalierungsfaktor angegeben werden. Bildfeld. Für zusammenhängende Markierungen set_multi_mcbsp_in oder im virtuellen Bildfeld empfiehlt SCANLAB aller- set_multi_mcbsp_in_list kann eine weitere dings stattdessen die Verwendung von “Processing on the fly”-Korrektur mit Positionsan- set_fly_2d (siehe Kapitel 8.7.4, Seite...
  • Seite 198: Korrektur Über Mcbsp/Spi-Schnittstelle

     Die Positions-Inkremente i berechnen sich dann Falls das Werkstück sich mit konstanter Geschwin- digkeit bewegt (v bzw. v in mm/s) und mit wie folgt: simulate_encoder eine Encoder-Simulation aktiviert i = (End-Eingabewert – Start-Eingabewert) / wurde, dann können die Skalierungsfaktoren wie zurückgelegte Distanz folgt berechnet werden: Aus den ermittelten Positions-Inkrementen können...
  • Seite 199: Korrektur Über Mcbsp/Spi-Schnittstelle Mit Zusätzlicher Mcbsp/Spi-Eingabe

    Korrektur über McBSP/SPI-Schnittstelle mit Korrektur über McBSP/SPI-Schnittstelle mit zusätzlicher McBSP/SPI-Eingabe erweiterter McBSP/SPI-Eingabe Eine “Processing on the fly”-Korrektur für lineare Eine “Processing on the fly”-Korrektur für lineare Bewegungen mit McBSP/SPI-Eingabewerten kann Bewegungen kann alternativ zu den Methoden der (alternativ zu set_fly_x_pos oder set_fly_y_pos) vorherigen Kapitel auch mit set_multi_mcbsp_in...
  • Seite 200: Kompensation Von Rotationsbewegungen

    8.7.3 Kompensation von Rotations- Bestimmung des Parameters Resolution bewegungen Falls die Winkelposition des Werkstücks mit einem Inkremental-Encoder registriert wird, muss zur Vor der Aktivierung einer “Processing on the fly”- Ermittlung des Parameters Resolution eine Kalib- Korrektur für XY-Rotationsbewegungen sollte das rierung durchgeführt werden: Rotationszentrum mit set_rot_center...
  • Seite 201: Korrektur Über Mcbsp/Spi-Schnittstelle

    Korrektur über McBSP/SPI-Schnittstelle Korrektur über McBSP/SPI-Schnittstelle mit zusätzlicher McBSP/SPI-Eingabe Erfolgt die Übergabe der Winkelpositionswerte für die “Processing on the fly”-Korrektur von Rotations- Eine “Processing on the fly”-Korrektur für Rotations- bewegungen über die McBSP/SPI-Schnittstelle, so bewegungen mit McBSP/SPI-Eingabewerten kann muss die “Processing on the fly”-Korrektur mit (alternativ zu set_fly_rot_pos) auch mit set_fly_rot_pos aktiviert werden.
  • Seite 202: Kompensation Zweidimensionaler Bewegungen

    8.7.4 Kompensation zweidimensio- 2D-Encoder-Kompensation für XY-Tische naler Bewegungen Bei erhöhten Anforderungen an die Markiergenau- igkeit kann es notwendig sein, auch die mechani- Zum Aktivieren einer encoderbasierten zweidimensi- schen Abweichungen eines XY-Verschiebetisches zu onalen “Processing on the fly”-Korrektur (z. B. für kompensieren.
  • Seite 203 Für den load_fly_2d_table-Befehl muss eine ASCII- Für die Textdatei gelten folgende Regeln: Textdatei mit einer Kompensationstabelle bereitge- • Die Datei kann eine oder mehrere Tabellen stellt werden. Diese Kompensationstabelle muss enthalten, auch solche anderen Typs. Encoder-Kompensationen zu Stützpunkten aus • Die 2D-Kompensationstabelle muss mit der einem rechtwinkligen Gitter enthalten.
  • Seite 204: Koordinatentransformationen Im Virtuellen Bildfeld

    Koordinatentransformationen im virtuellen 8.7.5 Deaktivieren der “Processing Bildfeld on the fly”-Korrektur Für set_fly_2d “Processing on the fly”-Anwendungen fly_return können alle “Processing on the fly”- können auch Koordinatentransformationen im virtu- Korrekturen (für beide Raumrichtungen gleichzeitig) ellen Bildfeld definiert werden. Solche “virtuelle Koor- deaktiviert werden.
  • Seite 205: Virtuelles Bildfeld

    • Um harte Sprünge zu vermeiden, sollte eine 8.7.6 Virtuelles Bildfeld “Processing on the fly”-Korrektur nur mit Unter Ausnutzung des erweiterten Wertebereichs des fly_return deaktiviert werden. virtuellen 24-Bit-Bildfelds (siehe Seite 132), können • Mit set_multi_mcbsp_in aktivierte “Processing bei “Processing on the fly”-Anwendungen auch on the fly”-Korrekturen sollten mit fly_return_z Befehlslisten mit Objekten, die um bis zu 16 mal...
  • Seite 206: Synchronisation Von "Processing On The Fly"-Anwendungen

    Koordinatenwerte, die auch nach erfolgter 8.7.7 Synchronisation von “Proces- “Processing on the fly”-Korrektur noch außerhalb des sing on the fly”-Anwendungen realen Bildfelds liegen, werden dabei nach wie vor Die Abarbeitung von Befehlslisten kann durch einen auf die Randwerte des realen Bildfelds geclippt (dabei Befehl oder ein externes Startsignal (z.
  • Seite 207 Damit Totzeiten zwischen der Ausführung mehre- stehen. Nach der Unterbrechung muss ggf. rer (“Processing on the fly”-) Listenprogramme entsprechend der gewünschten Anfangsposition vermieden werden können, werden externe der nächsten Markierung ein Sprung dorthin Listen-Starts, die mit einem externen Startsignal, ausgeführt werden. simulate_ext_start oder •...
  • Seite 208: Encoder-Resets

    8.7.8 Encoder-Resets 8.7.9 Überwachung der “Processing on the fly”-Korrektur Bei vielen encoderbasierten “Processing on the fly”- Anwendungen (z. B. bei einem Förderband, das Falls ein “Processing on the fly”-Anwenderprogramm endlos immer in die gleiche Richtung läuft) muss der nicht auf die vorgesehene Bewegung des Werkstücks Encoder von Zeit zu Zeit (z.
  • Seite 209: Kundenspezifischer Überwachungsbereich Und Bedingte Befehlsausführung (Ab Version Dll 525, Out 527)

    der Einjustierphase einer “Processing on the fly”- implizit durch die konditionalen Befehle zurück- Korrektur sollten daher unbedingt Koordinaten- gesetzt und können auch explizit mit dem Befehl punkte am Bildfeldrand angefahren und auf clear_fly_overflow zurückgesetzt werden (siehe mögliche Begrenzungen überprüft werden. Befehlsbeschreibung).
  • Seite 210: Das Scannen Von Rasterbildern (Bitmaps)

    8.8 Das Scannen von Raster- set_pixel_line über einen 2D-Vektor (dX,dY) definiert und bei set_pixel_line_3d (für eine Pixel- bildern (Bitmaps) Beschriftung auf schräger Fläche) über einen 3D- Vektor (dX,dY,dZ). Mit Die in Kapitel 7.1 beschriebenen Vektorbefehle set_pixel_line/set_pixel_line_3d wird zusätzlich dienen dem Scannen von vektorbasierten Grafik- festgelegt, an welchem der beiden Analogausgänge ®...
  • Seite 211 Hinweise • Die Befehle set_pixel_line, set_pixel_line_3d, set_pixel set_n_pixel sind Listenbefehle und werden daher in eine Liste geschrieben. • Die Zahl der Bildelemente pro Zeile wird nur durch die Kapazität des Listenspeichers der ® 5 begrenzt (siehe Seite 636). Insbesondere bei großen Bitmaps ist es empfehlenswert, für jede Zeile eine eigene Liste zu erstellen, damit ein Listenwechsel während der Abarbeitung einer Zeile vermieden wird.
  • Seite 212: Lasersteuerung

    8.8.3 Lasersteuerung Hinweise • Es ist empfehlenswert, einige Experimente durch- Je nach verwendetem Lasertyp kann die Laserenergie, zuführen, um eine passende Gradationskurve für die an jeder Pixelposition entladen wird, über die eine gleichmäßige Grauskala zu bestimmen. Die Laserpulsdauer oder über die Laserleistung pro Pixel erhaltenen Pixel-”Farben”...
  • Seite 213: Synchronisation

    8.8.4 Synchronisation gebenen halben Pixelausgabeperiode HalfPeriod und dem Pixelabstand (dX,dY) über die ganze Bild- Abb. 58 zeigt das Zeitdiagramm der Pixelausgabe für zeile. Am Ende der Bildzeile (vor dem auf den letzten eine Bildzeile mit 3 Pixeln. set_pixel/set_n_pixel-Befehl folgenden Nicht- set_pixel/set_n_pixel-Befehl, der den Pixelausgabe- Die Bewegung der Galvanometerscanner beginnt mit modus beendet) wird ein Default-Pixel ausgegeben.
  • Seite 214 Das Analogsignal (am ANALOG OUT1- oder Hinweise ANALOG OUT2-Ausgang) wechselt synchron mit der • Die (halbe) Pixelausgabeperiode HalfPeriod vorderen Flanke eines jeden Pixelpulses (siehe sollte auf die maximal benötigte Pulslänge Abb. 58). abgestimmt sein (für HalfPeriod < Hinweis: Der DA-Wandler braucht etwa PulseLength/2 ist der Pixelpuls erst im nächsten 1,5 µs …...
  • Seite 215: Mikrovektor-Befehle

    8.9 Mikrovektor-Befehle • Im Gegensatz zu normalen Vektoren werden bei den Mikrovektor-Befehlen – die Vektoren nicht mikrovektorisiert, sondern Durch die Mikrovektor-Befehle micro_vector_abs mit einem einzigen harten Sprung ausgeführt, micro_vector_rel (und die entsprechenden 3D- – eine mit set_wobbel oder set_wobbel_mode Befehle micro_vector_abs_3d festgelegte Wobbelbewegung (siehe Seite...
  • Seite 216 – Falls mit dem Befehl auto_cal eine automati- sche Selbstkalibrierung aktiviert wurde (siehe Seite 218), wird bei der Berechnung der Ausga- bewerte gegebenenfalls ein kompensierender “Gain“ und “Offset” berücksichtigt (eine Gain- und Offset-Korrektur kann auch mit set_hi ein- gestellt werden, siehe Seite 221).
  • Seite 217: Zeitbemessene Vektor- Und Bogenbefehle

    8.10 Zeitbemessene Vektor- und Hinweise Bogenbefehle • Nach einem zeitbemessenen Vektor- oder Bogen- befehl wird wie nach einem gewöhnlichen Vektorbefehle (Jump- und Mark-Befehle) und Bogen- Vektor- oder Bogenbefehl ein Jump-, Mark- oder ® befehle werden von der RTC 5 üblicherweise so Polygon-Delay eingefügt.
  • Seite 218: Automatische Selbstkalibrierung

    Ansteuerwerte aller nachfol- genden Vektor- oder Bogenbefehle für beliebige Für höhere Anforderungen an die Langzeit-Wieder- Punkte im Bildfeld korrigiert (transformiert). holgenauigkeit können SCANLAB Scan-Systeme (optional für Aperturen  10 mm) mit einem zusätz- ® Die RTC 5 stellt sowohl Befehle für eine automa-...
  • Seite 219 ® ® Hinweise • Für iDRIVE -Scan-Systeme (intelliSCAN ® ® ® intelliSCAN , intelliDRILL , intellicube • Vor der Ausführung einer Messroutine kann mit ® intelliWELD ) gilt zusätzlich (ab DLL 513): auto_cal(Command = 4) überprüft werden, ob das – Zu Beginn der Messroutine wird das XY2-100- angeschlossene Scan-System überhaupt mit Statuswort als rückzuübertragender Datentyp einem internen Sensorsystem zur automatischen...
  • Seite 220: Ermittlung Von Referenzwerten

    8.11.3 Ermittlung von Referenz- 8.11.4 Kalibrierung während der werten Anwendung Die Referenzwertbestimmung erfolgt mit Automatische Selbstkalibrierung auto_cal(Command = 0). Dadurch werden eine ASC- Eine automatische Selbstkalibrierung des Scan- Hardware-Prüfung und die Messroutine zur Systems während der Anwendung kann mit Bestimmung der aktuellen Home-In-Positionen auto_cal(Command = 1) durchgeführt werden.
  • Seite 221: Kundeneigene Kalibrierung

    Kundeneigene Kalibrierung Weitere Hinweise zur Kalibrierung Die automatische Selbstkalibrierung erfolgt mitten- • Die Passgenauigkeit der eingestellten Drift- zentriert, d.h. die Bildfeldmitte bleibt stabil. Wird Kompensation kann mit fortschreitender Zeit etwas anderes gewünscht (z.B. linker Rand soll stabil abnehmen. Die Kalibrierung sollte daher in geeig- bleiben, Größe ist egal), kann die Kalibrierung auch neten Zeitintervallen wiederholt werden.
  • Seite 222 Treten größere Streubreiten über mehrere Mess- zyklen auf, muss die Anwendung u.U. so lange gestoppt werden, bis wieder einer der nachfol- genden Messzyklen erfolgreich ist. Treten größere Streubreiten über viele Messzy- klen und über längere Zeiten hinweg auf, so kann dies auf einen Defekt im internen Sensorsystem oder auf einen anderweitigen Defekt im Scan- System hindeuten.
  • Seite 223: Camming

    8.12 Camming Der camming-Befehl (von engl. cam = Nockenwelle) führt eine Markierung aus, die das Funktionsprinzip einer klassischen Nockenwelle zur Bewegung eines Ventilstößels – oder allgemeiner einer Kurvenscheibe zur Bewegung eines Hebels – simuliert. Die Galvanometerscannerbewegung entspricht dabei der Hebelbewegung. Sie wird als eine punktweise definierte Kurve in 2 Dimensionen als eine geschlossene Abfolge von mark_abs-Befehlen in eine Liste geschrieben.
  • Seite 224 Die Kurve kann jederzeit mit einem externen /START Hinweise zum Testen: bei der mit set_extstartpos bzw. • Wenn die Punkteliste der Kurve mit set_extstartpos_list festgelegten Adresse (üblicher- set_end_of_list abgeschlossen ist und nicht die weise, aber nicht notwendigerweise FirstPos) neu Grenze zwischen Liste 1 und Liste 2 überschreitet begonnen werden (unabhängig vom aktuellen Index, (siehe Kapitel 6.4 ”Listen-Handling”, Seite...
  • Seite 225: Programmierung Von Peripherie-Schnittstellen

    Programmierung von Peripherie-Schnittstellen Scan-Systeme kommen häufig in Maschinen zum 9.1 Signal-Ausgabe Einsatz, in denen Bearbeitungsprozesse des Lasers und des Scan-Systems mit weiteren Prozessschritten Zur Peripherie-Ansteuerung (beispielsweise zur (wie Werkstückzuführung, Roboterbewegungen, Ansteuerung eines Werkstück-Transportsystems, Prozessüberwachung, etc.) synchronisiert werden eines Shutters, etc.) können geeignete Signale über müssen.
  • Seite 226: Bit-Digital-Ausgang

    9.1.2 8 Bit-Digital-Ausgang 9.1.4 12-Bit-Analog-Ausgänge An der EXTENSION 2-Stiftleiste steht ein (über einen An der LASER-Buchse stehen die beiden 12-Bit- Jumper konfigurierbarer) gepufferter 8-Bit-Digital- Analog-Ausgänge ANALOG OUT1 und Ausgang (DATA0 … DATA7) zur Verfügung (siehe ANALOG OUT2 bereit (siehe Seite 48).
  • Seite 227: Schrittmotoransteuerung

    Schrittmotorbewegung) kann bei Referenz- Richtung zurückfährt. fahrten mit stepper_init explizit festgelegt SCANLAB empfiehlt, zuerst eine (schnelle) Referenz- werden. Bei Zielpositionsfahrten mit stepper_abs fahrt mit kleiner CLOCK-Pulsperiode Period und etc. wird das DIRECTION-Signal dagegen intern anschließend eine weitere (kürzere, aber langsamere) gesteuert: das Signal wird (auf HIGH) gesetzt, Referenzfahrt mit größerer CLOCK-Pulsperiode auszu-...
  • Seite 228: Zielpositionsfahrten

    Es können auch für beide Schrittmotoren parallel Rücklesen von Signalen und Statuswerten Referenzfahrten ausgeführt, jedoch nicht mit einem Der aktuelle Status der Schrittmotor-Signale Befehl simultan gestartet werden. (ENABLE, DIRECTION, CLOCK und SWITCH), die aktuell eingestellte CLOCK-Pulsperiode und die aktu- Zielpositionsfahrten ellen Werte der internen Positionsvariablen der Zielpositionsfahrten werden mit den Befehlen beiden Schrittmotoren können mit...
  • Seite 229: Rs232-Schnittstelle

    9.1.6 RS232-Schnittstelle 9.2 Signal-Eingabe An der Stiftleiste “RS232” wird eine RS232-Schnitt- Peripherie-Signale (z.B. Signale eines Transport- stelle bereitgestellt (siehe Seite 54). Die Schnittstelle systems, eines Werkstück-Erkennungssystems, einer kann mit rs232_config konfiguriert werden. Mit Prozessüberwachungskamera, etc.) können zu einem rs232_write_data können einzelne Daten-Bytes, mit beliebigen Zeitpunkt mit Kontrollbefehlen oder –...
  • Seite 230: Mcbsp/Spi Schnittstelle

    9.2.4 McBSP/SPI Schnittstelle An der McBSP/SPI-Schnittstelle, siehe Kapitel 4.4.6 ”SPI / I2C-Stiftleiste”, Seite 54, kann mit dem Befehl read_mcbsp das zuletzt vollständig an die ange- gebene Speicherstelle übertragene 32 Bit-Datenwort ausgelesen werden. Die Interpretation als ein 32 Bit-Datenwort oder zwei 16 Bit-Datenworte obliegt den Benutzern.
  • Seite 231: Steuerung Mit Externen Signalen

    9.3 Steuerung mit externen ANALOG OUT2) an der LASER-Buchse auf die zuvor – set_port_default – für den Stopp-Fall festge- Signalen legten Werte gesetzt, sofern diese als ungleich “–1” definiert wurden. Die oben beschriebene Eingabe und Ausgabe von Peripherie-Signalen kann wie folgt mit der Scan- System- und Lasersteuerung synchronisiert werden: •...
  • Seite 232: Externer Listen-Start

    Externer Listen-Start ausgelöste Listen-Starts werden nicht von Master zu Slave durchgereicht, wohl dagegen durch Über ein Signal an den Eingängen /START, /START2 simulate_ext_start oder simulate_ext_start_ctrl oder /Slave-START oder über die Befehle ausgelöste externe Listen-Starts. simulate_ext_start oder simulate_ext_start_ctrl Mit dem Befehl get_startstop_info kann der kann ein externer Listen-Start ausgelöst werden...
  • Seite 233 entsprechend verzögert wird. Die Streckenverzö- /START, /START2 und /Slave-START auch dann gerung wird dabei in Zähleinheiten eines internen deaktiviert bleiben wenn das Stoppsignal nicht Zählers (Encoder-Zählers) angegeben, der wiederum mehr anliegt, kann von Benutzern mit dem Befehl durch ein externes oder simuliertes Encoder-Signal set_control_mode eingestellt werden.
  • Seite 234: Regelmäßige (Periodische) Externe Listen-Starts

    Regelmäßige (periodische) externe Listen- Beispiel (in PASCAL) für eine typische Befehlsfolge Starts (ohne Verwendung eines externen Startsignals): Hinweise set_control_mode(Mode & Bit#10); // einmaliges Zurücksetzen von Bit #10 (Initialisierung) • Für diese Funktionalität ist eine Firmware-Datei in set_start_list_pos(ListNo, Pos); der Version 507 oder größer erforderlich (siehe get_rtc_version), ferner eine DSP-Programm- // öffne irgend eine Liste // nachfolgend: sonstige Befehle...
  • Seite 235 Soll der erste Start statt über einen execute_list_pos- Bit #10 zunächst zurückgesetzt und dann (einmalig) Befehl extern erfolgen (z. B. mit /START oder mit ein externer Start ausgelöst werden (für externe simulate_ext_start_ctrl), alle weiteren Starts aber Startsignale muss Bit #0 gesetzt werden), bevor mit simulate_ext_start, so muss Bit #10 wieder gesetzt werden kann (siehe Beispiel).
  • Seite 236: Bedingte Befehlsausführung

    9.3.2 Bedingte Befehlsausführung Auf diese Weise sind sämtliche Listenbefehle konditionierbar. Sie kommen dann nur bedingt Damit auch das Ausführen einzelner Listenbefehle zur Ausführung. von externen Steuersignalen abhängig gemacht Beispiel: Die Befehlsfolge ® werden kann, stellt der RTC 5-Befehlssatz die soge- if_cond(…) nannten konditionalen Befehle zur Verfügung.
  • Seite 237: Programmierbeispiele

    Programmierbeispiele Die folgenden Programmierbeispiele sind in PASCAL geschrieben. (1) Bestätige ein 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);...
  • Seite 238: Synchronisation Durch Encoder-Signale

    9.3.3 Synchronisation durch Die aktuellen Zählerstände der beiden Encoder-Zähler können mit dem Kontrollbefehl get_encoder ausge- Encoder-Signale lesen werden. Sie können auch mit dem Listenbefehl Verwendung store_encoder zwischengespeichert und mit dem Kontrollbefehl read_encoder aus dem Zwischen- Bei der Bearbeitung von bewegten Werkstücken speicher ausgelesen werden.
  • Seite 239: Encoder-Simulation

    Beide Encoder-Eingänge sind jeweils für ein Paar von 9.3.4 Synchronisation und Online- standardisierten differentiellen Eingangssignalen Positionierung mit McBSP/SPI-  (RS422) vorgesehen (HIGH-Pegel 2.0 V, LOW- Signalen  Pegel 0.8 V). Wird bei einem Laser-Scan-Prozess ein Werkstück unter dem (feststehenden) Scan-System oder das Scan-System (z.B.
  • Seite 240: Periodische I/O-Signale

    Hinweise 9.4 Periodische I/O-Signale • Zur Kompensation linearer Bewegungen können Mit den Befehlen periodic_toggle kartesische Koordinatenwerte an der McBSP/SPI- periodic_toggle_list können periodisch wiederholte Schnittstelle übergeben werden. Zur Kompen- Signale an einem auswählbaren IO-Port sation von Rotationsbewegung müssen dagegen (ANALOG OUT1-Ausgang, siehe Seite Winkelpositionen (d.h.
  • Seite 241: Befehle Und Funktionen

    10 Befehle und Funktionen 10.1 Übersicht Vektoren beispielsweise die Laserleistung variiert werden (siehe z.B. set_laser_pulses) oder einer der IO-Ports angesprochen werden (siehe z.B. Auf den nachfolgenden Seiten finden Sie eine voll- ® write_da_x_list), ohne dass der Polygonzug ständige Auflistung des RTC 5-Befehlssatzes mit unterbrochen wird (der Laser bleibt an).
  • Seite 242: Unverzögerte Und Verzögerte Kurze Listenbefehle (Ab Version Out 515)

    Polygonzug). Polygon-Delays wirksam wäre und nicht erst zum Beginn des nachfolgenden Markierbefehls. • Bei variablen Listenbefehlen hängt die Befehls- set_trigger bzw. save_and_restart_timer würden ausführungsdauer von weiteren Parametern oder bereits das Delay des vorangehenden Befehls mitbe- vom Anwenderprogramm ab. Dies wird im rücksichtigen anstatt richtigerweise dasjenige des Einzelnen bei der jeweiligen Befehlsbeschreibung nachfolgenden Befehls.
  • Seite 243: Kompatibilität

    27). Sind die Funktionali- schreibung (in Kapitel 10.2) darauf hingewiesen täten nicht von SCANLAB freigeschaltet bzw. instal- liert, so sind die zugehörigen Befehle nur ® • inwiefern sich ein Befehl gegenüber der RTC eingeschränkt oder gar nicht wirksam. Befehle zur geändert hat,...
  • Seite 244: Kontrollbefehle

    10.1.5 Kontrollbefehle Laser-Version und Laser-Parameter (n_) config_laser_signals ....... 270 Initialisierung der DLL (n_) get_standby ..........311 free_rtc5_dll ........... 289 (n_) load_auto_laser_control ......361 get_rtc_mode ......... 309 (n_) load_position_control ......375 init_rtc5_dll ..........339 (n_) set_auto_laser_control ......453 set_rtc4_mode ........528 (n_) set_auto_laser_params ......
  • Seite 245 ® iDRIVE -Befehle Listen-Handling und -Status (n_) control_command ........273 (n_) auto_change ........... 263 (n_) get_transform ........320 (n_) auto_change_pos ........264 (n_) read_user_data ........436 (n_) get_status ..........314 (n_) send_user_data ........450 (n_) get_wait_status ........326 transform ..........612 (n_) pause_list ..........
  • Seite 246 Direkte Laser- und Scan-Kopf-Steuerung Schrittmotoransteuerung (n_) disable_laser ........... 284 (n_) get_stepper_status ......... 315 (n_) enable_laser ..........284 (n_) stepper_abs ..........572 (n_) get_laser_pin_in ........302 (n_) stepper_abs_no ........573 (n_) get_z_distance ........328 (n_) stepper_control ........574 (n_) goto_xy ........... 329 (n_) stepper_enable ........
  • Seite 247: Listenbefehle

    10.1.6 Listenbefehle Markierbefehle (n_) arc_abs ..........256 Initialisierung der Karte und Feldkorrektur (n_) arc_rel ..........258 (n_) select_cor_table_list ......448 (n_) mark_abs ........... 386 (n_) mark_ellipse_abs ....... 393 Jump-Befehle (n_) mark_ellipse_rel ........ 394 (n_) jump_abs ........... 341 (n_) mark_rel ..........395 (n_) jump_rel ..........
  • Seite 248 Ausführen und Beenden von Listen mit Festlegen der Scannerparameter externen Steuersignalen und (n_) set_delay_mode_list ......490 Master/Slave-Synchronisation (n_) set_jump_speed ......... 490 (n_) set_control_mode_list ...... 461 (n_) set_mark_speed ........502 (n_) set_extstartpos_list ......470 (n_) set_scanner_delays ......530 (n_) set_sky_writing_limit_list ....533 Listen-Handling Strukturierte Program- (n_)
  • Seite 249 nor (1) I/O-Befehle (n_) set_fly_x_pos ........ 480 nor (1) (n_) set_fly_y ........481 (n_) clear_io_cond_list ....... 269 nor (1) (n_) set_fly_y_pos ........ 482 (n_) periodic_toggle_list ......424 uk (2) (n_) set_mcbsp_in_list ......507 (n_) read_io_port_list ........ 431 nor (2) (n_) set_multi_mcbsp_in_list ....
  • Seite 250: Datentypen

    10.1.7 Datentypen Die folgende Tabelle definiert die Formate und die Wertebereiche der verschiedenen Datentypen, die in ® den RTC 5-Befehlen verwendet werden. Datenformat Wertebereich Pascal C, C++ 32-Bit-Wert ohne Vorzeichen [0; (2 –1)] longword unsigned long uint 32-Bit-Wert mit Vorzeichen [–2 ;...
  • Seite 251: Rtc ® 5 Befehlssatz

    ® 10.2 RTC 5 Befehlssatz Die Befehle sind alphabetisch geordnet. Kontrollbefehl acquire_rtc ® Funktion Reserviert die gewünschte RTC 5-Karte für ein Anwenderprogramm. Aufruf NoOfAcquiredCard = acquire_rtc( CardNo ) Parameter (DLL-interne) Nummer der gewünschten Karte als 32-Bit-Wert ohne Vorzeichen. CardNo Rückgabe Der Rückgabewert (32-Bit-Wert ohne Vorzeichen) ist CardNo, sofern die Reservierung erfolgreich war und 0, wenn die Karte bereits für ein anderes Anwenderprogramm reserviert ist oder die Versionsprüfung einen Fehler feststellt.
  • Seite 252: Activate_Fly_2D

    Kontrollbefehl acquire_rtc ® ® 4 RTC 5 Neuer Befehl. Verweise init_rtc5_dll, select_rtc, free_rtc5_dll, release_rtc, rtc5_count_cards Variabler activate_fly_2d Listenbefehl Funktion Aktiviert eine set_fly_2d-“Processing on the fly”-Anwendung ohne Encoder-Reset. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 253: Activate_Fly_Xy

    Variabler activate_fly_xy Listenbefehl Funktion Aktiviert eine set_fly_x/set_fly_y-“Processing on the fly”-Anwendung ohne Encoder- Reset. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann). Aufruf activate_fly_xy( ScaleX, ScaleY ) Parameter Skalierungsfaktoren wie bei set_fly_x/set_fly_y.
  • Seite 254: Apply_Mcbsp

    Kontrollbefehl apply_mcbsp Funktion Ruft die zuletzt für die Online-Positionierung vollständig über die McBSP/SPI-Schnittstelle übertragenen Werte ab und definiert gegebenenfalls einen Offset und/oder die Drehmatrix oder eine allgemeine Transformationsmatrix M für nachfolgende Koordinatentransformationen. Aufruf apply_mcbsp( HeadNo, at_once ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo = 1: Die Definition wirkt nur auf den primären Scan-Kopf-Anschluss.
  • Seite 255: Apply_Mcbsp_List

    Normaler apply_mcbsp_list Listenbefehl Funktion Identisch mit apply_mcbsp (s.o.), aber ein Listenbefehl. Aufruf apply_mcbsp_list( HeadNo, at_once ) Parameter Siehe apply_mcbsp. HeadNo Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen) wird festgelegt, wann at_once die definierte Transformation wirksam wird. = 0: Die Transformationswerte werden nur gesammelt und zwischen- gespeichert, aber die Transformation wird nicht ausgeführt, solange dies nicht durch eine andere Koordinatentransformation (z.
  • Seite 256: Arc_Abs

    Normaler arc_abs Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit von der aktuellen Position entlang eines Kreisbogens mit dem angegebenen Winkel um den angegebenen Mittelpunkt (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf arc_abs( X, Y, Angle ) Parameter Absolute Koordinaten des Bogenzentrums in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 257: Arc_Abs_3D

    Normaler arc_abs_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit von der aktuellen Position spiralförmig um eine Achse parallel zur z-Achse. Die x- und y-Komponenten beschreiben dabei einen Kreisbogen mit dem angegebenen Winkel um die angegebene Achse und die z- Komponente gleichzeitig eine lineare Bewegung von der aktuellen Position zum angegebenen Endwert.
  • Seite 258: Arc_Rel

    Normaler arc_rel Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit von der aktuellen Position entlang eines Kreisbogens mit dem angegebenen Winkel um den angegebenen Mittelpunkt (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf arc_rel( dX, dY, Angle ) Parameter Relativkoordinaten des Bogenzentrums in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 259: Arc_Rel_3D

    Normaler arc_rel_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit von der aktuellen Position spiralförmig um eine Achse parallel zur z-Achse. Die x- und y-Komponenten beschreiben dabei einen Kreisbogen mit dem angegebenen Winkel um die angegebene Achse und die z- Komponente gleichzeitig eine lineare Bewegung von der aktuellen Position zum angegebenen Endwert.
  • Seite 260: Auto_Cal

    Kontrollbefehl auto_cal Funktion Steuert die Funktionen zur (automatischen Selbst-) Kalibrierung des am angegebenen Scan-Kopf-Anschluss angeschlossenen Scan-Systems. Aufruf ErrorCode = auto_cal( HeadNo, Command ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo Zulässige Werte: = 1: Primärer Scan-Kopf-Anschluss. = 2: Sekundärer Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 261 Kontrollbefehl auto_cal Rückgabe 5, 50, 55 Kalibrierungsfehler (Fehler während der Kalibrierung oder Fehler bei den (Forts.) Referenzwerten) (5: bei Achse X / 50: bei Achse Y / 55: bei beiden Achsen); diese Rückgabewerte können (bei Version DLL 519 oder geringer) auch bedeuten, dass kein(e) Home-In-Sensor(en) im Scan-System eingebaut sind.
  • Seite 262 Kontrollbefehl auto_cal Hinweise • Sind keine geeigneten Home-In-Referenzwerte gespeichert oder ist das Scan-System (Forts.) nicht mit Home-In-Sensoren ausgestattet, bricht die Messroutine für auto_cal(Command = 1) (achsenspezifisch) automatisch ab und stellt den Ausgangszustand wieder her. • Für einen unzulässigen Wert von HeadNo oder Command wird auto_cal nicht ausgeführt (Rückgabewert 6, get_last_error-Returncode: RTC5_PARAM_ERROR).
  • Seite 263: Auto_Change

    Kontrollbefehl auto_change Funktion Aktiviert einen einmaligen automatischen Listenwechsel. Aufruf auto_change() Hinweise • Der Befehl auto_change ist synonym zu auto_change_pos( 0 ). Die nachfolgende Liste wird damit an deren Listenanfang gestartet. • Siehe auch Hinweise unter auto_change_pos. ® ® 4 RTC 5 Unveränderte Funktionalität.
  • Seite 264: Auto_Change_Pos

    Kontrollbefehl auto_change_pos Funktion Aktiviert einen einmaligen, automatischen Listenwechsel und legt gleichzeitig die Listenposition fest, an der die Ausführung fortgesetzt werden soll. Aufruf auto_change_pos( Pos ) Parameter Startposition (Listenspeicheradresse) als Offset bzgl. des Listenanfangs der durch den automatischen Listenwechsel zu startenden Liste (als 32-Bit-Wert ohne Vorzeichen).
  • Seite 265: Bounce_Supp

    Kontrollbefehl bounce_supp Funktion Entprellt das externe Startsignal. Aufruf bounce_supp( Length ) Parameter Entprellungszeit in ms als 32-Bit-Wert ohne Vorzeichen. Zulässiger Length Wertebereich: [0 … 1023]. Die 22 höherwertigeren Bits werden ignoriert. Hinweise • Mit dem Befehl bounce_supp kann eine Entprellung für die über die Eingänge /START, /START2 oder /Slave-START eingespeisten Startsignale eingestellt werden (siehe Abschnitt ”Externer Listen-Start”, Seite 232).
  • Seite 266: Camming

    Normaler camming Listenbefehl Funktion Aktiviert die Camming-Funktionalität. Aufruf camming ( FirstPos, NPos, EncoderNo, Ctrl, Scale, Code ) Parameter Anfangsadresse der Camming-Befehlsliste (absolute Adresse im FirstPos Listenspeicher) als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: [0 … (2 –1)]. Länge der Camming-Befehlsliste (ohne abschließendes set_end_of_list oder NPos...
  • Seite 267 Normaler camming Listenbefehl • Für Ctrl = 0 oder 1 endet der Befehl camming automatisch (im nächsten Zyklus), sobald der Index erstmalig 0 unter- bzw. NPos–1 überschritten hat (als letzter Camming- Befehl wird dann der Befehl mit Index 0 bzw. NPos–1 ausgeführt). In diesen beiden Modi sind (wie immer, wenn eine Liste BUSY ist) keine externen Listen-Starts erlaubt, solange der Befehl camming noch nicht beendet ist.
  • Seite 268: Clear_Fly_Overflow

    Unverzögerter clear_fly_overflow kurzer Listenbefehl Funktion Setzt die Fehlerbits (#4…7 von get_marking_info) für die kundenspezifische Überwachung von “Processing on the fly”-Anwendungen zurück. Aufruf clear_fly_overflow( Mode ) Parameter Dieser Parameter (32-Bit-Wert ohne Vorzeichen) gibt an, welche Fehlerbits Mode zurückgesetzt werden sollen: • Bit#0 = 1: Fehlerbit#4 (Underflow X) wird zurückgesetzt. •...
  • Seite 269: Clear_Io_Cond_List

    Unverzögerter clear_io_cond_list kurzer Listenbefehl Funktion Löscht die Bits des 16-Bit-Digital-Ausgangs der EXTENSION 1-Stiftleiste, die im Parameter MaskClear gesetzt sind, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1-Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 270: Config_Laser_Signals

    Kontrollbefehl config_laser_signals Funktion Konfiguriert die Lasersignal-Typen, die an Pin 1 (LASER1), Pin 2 (LASERON) und Pin 9 (LASER2) der Laseranschluss-Buchse (LASER) ausgegeben werden. Aufruf config_laser_signals( Config ) Parameter Gewünschte Signalkonfiguration als 32 Bit-Wert ohne Vorzeichen. Config Dabei konfigurieren: Bits # 0-1: Pin 2 (LASERON-Kanal) Bits # 2-3: Pin 1 (LASER1-Kanal) Bits # 4-5: Pin 9 (LASER2-Kanal) Bits # 6-31 werden ignoriert...
  • Seite 271: Config_List

    Kontrollbefehl config_list Funktion Konfiguriert den Listen-Speicher, d. h. weist den Listen Speicher-Bereiche zu. Aufruf config_list( Mem1, Mem2 ) Parameter Gewünschte Speichergröße für “Liste 1” (als 32-Bit-Wert ohne Vorzeichen). Mem1 Gewünschte Speichergröße für “Liste 2” (als 32-Bit-Wert ohne Vorzeichen). Mem2 ® Hinweise •...
  • Seite 272 Kontrollbefehl config_list Hinweise • Sind die aktuellen Konfigurationsdaten des Listenspeichers (Mem1 und Mem2) nicht (Forts.) bekannt, können sie bei Bedarf nach load_list( ListNo, 0 ) oder set_start_list_pos( ListNo, 0 ) mit get_list_space ermittelt werden (bei einem “Besitzerwechsel” muss zuvor get_config_list aufgerufen werden).
  • Seite 273: Control_Command

    Kontrollbefehl control_command ® ® ® ® Funktion Sendet einen Kontrollbefehl an ein iDRIVE -Scan-System (intelliSCAN , intelliSCAN , intelliDRILL ® ® intellicube , intelliWELD , varioSCAN Aufruf control_command( Head, Axis, Data ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: Head = 1: Primärer Scan-Kopf-Anschluss.
  • Seite 274 Kontrollbefehl control_command Code Rückübertragener Datentyp ® Ist-Position der Z-Achse / Bit [–2 … 2 –1] (nur beim intelliWELD varioSCAN FC; nicht mit varioSCAN FC i). Dieser Datentyp kann nur über Kanal des Scan-Kopf-Anschlusses, an dem die Z- Achse angeschlossen ist, ausgelesen werden. Temperatur des Galvanometerscanners / 160 °C [–2 …...
  • Seite 275 Kontrollbefehl control_command Code Rückübertragener Datentyp Wellenlänge Bits #4…19 Wellenlänge / nm [0 … 2 –1]. Bits #0…3 = 0. Tuningnummer (ab Firmware-Versionsnummer 2078) Bits #12…19 Starteinstellung. Bits #4…11 Aktuelle Einstellung. Bits #0…3 = 0. Nur nach control_command(Data = 17FF ): Nummer des intern (z. B. durch Code = 17FF zwecks Wiederherstellung mit Code = 1700 zwischengespeicherten, zur Rückübertragung ausgewählten Datentyps (ab...
  • Seite 276 Kontrollbefehl control_command Code Rückübertragener Datentyp Aktueller Betriebszustand (Flags B31 … B16): Bit #19 (MSB) (B31) = 1: Versorgungsspannung des AD-Konverters (5 V) OK. Bit #18 (B30) = 1: Spannung Analogteil (9 V) OK. Bit #17 (B29) = 1: DSP IO-Spannung (3,3 V) OK. Bit #16 (B28) = 1: DSP Core-Versorgungsspannung (1,8 V) OK.
  • Seite 277 Kontrollbefehl control_command Code Rückübertragener Datentyp Temperatur am Strahlaustritt Bits #4…19 Temperatur / 0,05°C [0 … 2250]. Bits #0…3 = 0. Temperatur von Spiegel 2 Bits #4…19 (Temperatur + 26,6°C) / 0,05°C [0 … 2250]. Bits #0…3 = 0. Temperatur von Spiegel 1 Bits #4…19 (Temperatur + 26,6°C) / 0,05°C [0 …...
  • Seite 278 Kontrollbefehl control_command Code Befehl und Parameterwerte (Code UpdatePermanentMemory (ab Firmware-Versionsnummer 2078): Dieser Befehl (mit dem einzig zulässigen Parameterwert Code = 00 ) stellt das aktuell eingestellte Regelverhalten als Startverhalten für nachfolgende Neustarts oder Resets ein. Siehe auch Kapitel 8.1.8 ”Anpassen des Startverhaltens”, Seite 178.
  • Seite 279 Kontrollbefehl control_command Code Befehl und Parameterwerte (Code SetPosAcknowledgeLevel (ab Firmware-Versionsnummer 2066): Mit diesem Befehl kann der PosAcknowledge-Schwellwert eingestellt werden. Siehe auch Kapitel 8.1.6 ”Anpassen des PosAcknowledge-Schwellwerts”, Seite 178. Der Parameterwert Code ist der gewünschte PosAcknowledge-Schwellwert in Bits [00 … ]. Siehe auch Hinweise Seite 282.
  • Seite 280 Kontrollbefehl control_command Hinweise Hinweise zu den Befehlen SetMode (Code = 05 ), SetControlDefinitionMode (Code = 0E ) SetEchoMode (Forts.) (Code = 21 ) und RestoreTransmissionMode (Data = 1700 • Der mit dem control_command-Befehl (Code = 05 , 0E oder 21 bzw.
  • Seite 281 Kontrollbefehl control_command Hinweise Hinweise zum Befehl SetMode (Code = 05 (Forts.) • Die vom Scan-System rückübertragenen Sollpositionswerte (Winkelstellung) entsprechen den tatsächli- chen Ausgabewerten Sample<AX..BY>_Out bei set_trigger/set_trigger4 und berücksichtigen gegebe- nenfalls eine Wobbel-Korrektur, eine “Processing on the fly”-Korrektur, eine Koordinatentransformation, eine Bildfeldkorrektur, sowie “Offset” und “Gain” zur automatischen Selbstkalibrierung des Scan- ®...
  • Seite 282 ). Wenn ein anderer Schwellwert gewünscht wird, dann muss er – für jede Achse separat – neu eingestellt werden (Code = 15 ). SCANLAB empfiehlt nur Schwellwerte (Code ) über 14 (d.h. 0,03% des vollen Positionsbereichs). Niedrigere Werte können zu häufigem Abschalten des Systems aufgrund von Position Acknowledge Time-outs (Sollposition lange nicht erreicht) führen.
  • Seite 283: Copy_Dst_Src

    Kontrollbefehl copy_dst_src Funktion Erstellt in der internen Verwaltungstabelle für ein indiziertes Zeichen, eine indizierte Zeichenfolge oder ein indiziertes Unterprogramm mit dem angegebenen Index (Dst) Tabelleneinträge durch Kopieren der Tabelleneinträge zu einem anderen Index (Src). Aufruf copy_dst_src( Dst, Src, Mode ) Parameter Index (als 32-Bit-Wert ohne Vorzeichen) des indizierten Zeichens, der indizierten Zeichenfolge oder des indizierten Unterprogramms, dessen...
  • Seite 284: Disable_Laser

    Kontrollbefehl disable_laser Funktion Unterdrückt die Lasersteuersignale für den “Laser active”-Betrieb. Aufruf disable_laser() Hinweise • Dieser Befehl unterdrückt die Lasersteuersignale für den “Laser active”-Betrieb an den Ausgängen LASER1, LASER2 und LASERON (die Ausgänge sind dann im hochohmigen tristate-Zustand). Pin (2) der 15-poligen LASER-Buchse ist dann statisch. Mit set_standby oder set_standby_list...
  • Seite 285: Execute_At_Pointer

    Kontrollbefehl execute_at_pointer Funktion Startet die Listenausführung (“Liste 1” oder “Liste 2”) an der gewünschten Adresse des ® 5-Listenspeichers. Aufruf execute_at_pointer( Pos ) Parameter Absolute Speicheradresse des ersten auszugebenden Listenbefehls als 32-Bit- Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … (2 –1)]. Hinweise •...
  • Seite 286: Execute_List_Pos

    Kontrollbefehl execute_list_pos Funktion Startet die Ausführung der gewünschten Liste (“Liste 1” oder “Liste 2”) an der gewünschten Position. Aufruf execute_list_pos( ListNo, Pos ) Parameter Nummer der auszuführenden Liste als 32-Bit-Wert ohne Vorzeichen. ListNo Zulässige Werte: [ungerade: “Liste 1“, gerade: “Liste 2“]. Adresse des ersten auszugebenden Listenbefehls (Offset bzgl.
  • Seite 287: Fly_Return

    Kontrollbefehl execute_list_pos ® ® 4 RTC 5 Neuer Befehl. Verweise execute_list, execute_at_pointer, set_start_list_pos Normaler fly_return Listenbefehl Funktion Deaktiviert eine zuvor eingestellte “Processing on the fly”-Korrektur (gegebenfalls simultan für mehrere Raumrichtungen) und führt anschließend einen Sprung auf die angegebene neue Ausgabeposition aus. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, führt der Befehl nur den Sprung auf die angegebene neue Ausgabeposition aus.
  • Seite 288: Fly_Return_Z

    Normaler fly_return_z Listenbefehl Funktion Deaktiviert eine zuvor eingestellte “Processing on the fly”-Korrektur (gegebenfalls simultan für mehrere Raumrichtungen) und führt anschließend einen Sprung auf die angegebene neue Ausgabeposition aus. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, führt der Befehl nur den Sprung auf die angegebene neue Ausgabeposition aus.
  • Seite 289: Free_Rtc5_Dll

    Kontrollbefehl free_rtc5_dll Funktion Gibt alle von der DLL für ein Anwenderprogramm belegten Ressourcen frei. Aufruf free_rtc5_dll() Hinweise • Zu den von der DLL belegten Ressourcen zählt vor allem der in der DLL belegte Speicher- bereich für die Kartenverwaltung, die mit dem Befehl init_rtc5_dll aufgebaut wird.
  • Seite 290: Get_Auto_Cal

    Kontrollbefehl get_auto_cal Funktion Liefert den zuvor mit auto_cal ermittelten Typ der im angeschlossenen Scan-System integrierten ASC-Hardware zurück. Aufruf ASCtype = get_auto_cal( HeadNo ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo Zulässige Werte: = 1: Primärer Scan-Kopf-Anschluss. = 2: Sekundärer Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 291: Get_Config_List

    Kontrollbefehl get_config_list Funktion Gibt die Parameter der aktuellen Listenspeicherkonfiguration (Mem1, Mem2) an die Kartenverwaltung der DLL zurück und initialisiert diese so, als wäre der Befehl config_list erteilt worden. Aufruf get_config_list() Hinweise • Der Befehl get_config_list ist nützlich, wenn eine Karte den “Besitzer“ wechselt und die neue Kartenverwaltung die Speicherkonfiguration nicht kennt (Karte und Verwaltung initialisieren sich unabhängig voneinander mit jeweils Mem1 = 4000 und Mem2 = 4000, die Karte mit...
  • Seite 292: Get_Encoder

    Kontrollbefehl get_encoder Funktion Liefert die aktuellen Zählerstände der beiden internen Encoder-Zähler zurück. Aufruf get_encoder( &Encoder0, &Encoder1 ) Parameter- Aktuelle Zählerstände als Pointer auf 32-Bit-Werte mit Vorzeichen. Encoder0, rückgabe Encoder1 Hinweise • Zur Verwendung des Befehls siehe ”“Processing on the fly” (optional)”, Seite 195 ”Synchronisation durch Encoder-Signale”, Seite 238.
  • Seite 293: Get_Error

    Kontrollbefehl get_error Funktion Gibt den akkumulierten Fehlercode (entspricht einer Auflistung der seit dem letzten Reset bzw. Error-Reset aufgetretenen Fehlertypen) zurück. Aufruf AccError = get_error() Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen. Sind mehrere Fehler aufgetreten, so sind mehrere Bits gesetzt. Für die einzelnen Fehler sind auch Fehlerkonstanten vordefiniert. Fehlertyp Fehlerkonstante Kein Fehler.
  • Seite 294 Kontrollbefehl get_error Bit #6 = 1: Listenbefehl verweigert, illegaler RTC5_REJECTED = 64 Inputpointer (z.B. bei beliebigem Listenbefehl direkt nach load_char + list_return: der Listenbefehl wird dann nicht gespeichert). Bit #7 = 1: Listenbefehl wurde in list_nop konvertiert RTC5_IGNORED = 128 (z.B.
  • Seite 295: Get_Fly_2D_Offset

    Kontrollbefehl get_error Beispiel Erstellung eines Arrays mit der Info, für welche Karte keine Zugriffsberechtigung vorliegt (C/C++) und Rücksetzen des akkumulierten Fehlercodes. UINT NoAccess[MaxAnzahl+1]; // MaxAnzahl sei von Benutzern als Konstante definiert UINT Error = init_rtc5_dll(); // Suche alle installierten RTC5-Karten if (Error &...
  • Seite 296: Get_Galvo_Controls

    Kontrollbefehl get_galvo_controls Funktion Gibt die zu den Eingabewerten gehörigen Ansteuerwerte zurück. Einschränkung Der Befehl kann nur ausgeführt werden, wenn gerade keine Liste läuft (get_last_error-Returncode: RTC5_BUSY). Aufruf get_galvo_controls( InPtr, OutPtr ) Parameter Pointer auf ein Array von fünf 32-Bit-Werten ohne Vorzeichen, in dem die InPtr gewünschten Einstellungen angegeben sind: X, Y, Z, Defocus, Zoom.
  • Seite 297: Get_Head_Para

    Kontrollbefehl get_head_para Funktion Gibt aus der Korrekturtabelle, die dem angegebenen Kopf zugewiesen ist, den gewünschten Parameterwert zurück. Aufruf HeadPara = get_head_para( HeadNo, ParaNo ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo Zulässige Werte: = 1: Primärer Scan-Kopf-Anschluss. = 2: Sekundärer Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 298: Get_Head_Status

    Kontrollbefehl get_head_status Funktion Gibt das XY2-100-Statuswort des angegebenen Scan-Kopf-Anschlusses zurück. Aufruf get_head_status( Head ) Parameter = 1: Gibt den Status des primären Scan-Kopf-Anschlusses zurück Head (Byte #1 = Byte #0). = 2: Gibt den Status des sekundären Scan-Kopf-Anschlusses (Freischaltung erforderlich) zurück (Byte #1 = Byte #0). Sonst: Gibt den Status des primären Scan-Kopf-Anschlusses (Byte #0) und des sekundären Scan-Kopf-Anschlusses (Byte #1) zurück.
  • Seite 299: Get_Hex_Version

    Kontrollbefehl get_head_status ® ® ® ® ® Hinweise • Bei iDRIVE -Scan-Systemen (intelliSCAN , intelliSCAN , intelliDRILL , intellicube ® (Forts.) intelliWELD , varioSCAN – ohne SL2-100-Interface liefert get_head_status nur dann brauchbare Rückgabe- werte, wenn das XY2-100-Statuswort zur Rückübertragung ausgewählt wurde. –...
  • Seite 300: Get_Hi_Data

    Kontrollbefehl get_hi_data Funktion Gibt die jeweils zuletzt gemessenen Home-In-Positionen zurück, die zuvor mit auto_cal für das am primären Scan-Kopf-Anschluss angeschlossene Scan-System ermittelt wurden. Aufruf get_hi_data( &X1, &X2, &Y1, &Y2) Parameter- Koordinaten der aktuell gespeicherten (zuletzt gemessenen) Home-In- X1, X2, rückgabe Positionen in Bits als Pointer auf 32-Bit-Werte mit Vorzeichen.
  • Seite 301: Get_Input_Pointer

    Kontrollbefehl get_input_pointer Funktion Gibt die aktuelle (absolute) Position des Input-Pointers zurück. Aufruf InputPointer = get_input_pointer() Rückgabe Position des Input-Pointers [0 … (2 –1)] als 32-Bit-Wert ohne Vorzeichen. ® Hinweise • Die Position des Input-Pointers entspricht der Position im RTC 5-Listenspeicher (auch im geschützten Listenbereich “Liste 3“), an die der nächste Listenbefehl gespeichert wird.
  • Seite 302: Get_Jump_Table

    Kontrollbefehl get_jump_table Funktion Liest die aktuell auf der Karte gespeicherte Jump-Delay-Tabelle aus und kopiert die 1024 zugehörigen 16-Bit-Werte ohne Vorzeichen an die angegebene PC-Adresse. Aufruf ErrorCode = get_jump_table( Addr ) Parameter PC-Adresse für den 2048 Byte großen Speicherbereich. Addr Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen.
  • Seite 303: Get_Last_Error

    Kontrollbefehl get_last_error Funktion Gibt einen Fehlercode als Auflistung der beim zuletzt ausgeführten Befehl evtl. aufgetretenen Fehler zurück. Aufruf LastError = get_last_error() Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen. Sind mehrere Fehler gleichzeitig aufgetreten, so sind mehrere Bits gesetzt. Die Zuordnung zwischen Bitnummern, Fehlertypen und Fehlerkonstanten ist identisch wie beim Befehl get_error.
  • Seite 304: Get_List_Serial

    Kontrollbefehl get_list_serial Funktion Liefert die Nummer des zuletzt mit select_serial_set_list ausgewählten Seriennummernsatzes (bzw. nach load_program_file des Seriennummernsatzes 0) und die aktuelle Seriennummer dieses Seriennummernsatzes zurück. Aufruf LastMarkedSerialNo = get_list_serial( &Set ) Rückgabe Seriennummer im 64-Bit-IEEE-Gleitkommaformat. Parameter- Nummer des ausgewählten Seriennummernsatzes als Pointer auf einen 32- rückgabe Bit-Wert ohne Vorzeichen.
  • Seite 305 Kontrollbefehl get_marking_info Funktion Liefert Informationen über eine mögliche Bereichsüberschreitung während einer “Processing on the fly”-Korrektur und über fehlerhafte Encoder-Signale zurück. Die Funktion liefert außerdem die Fehlerbits der automatischen Lasersignalunterdrückung zurück. Aufruf MarkingInfo = get_marking_info() Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen. Bit #0 = 1: “Processing on the fly”-Unterschreitung in x-Richtung...
  • Seite 306: Get_Marking_Info

    Kontrollbefehl get_marking_info Rückgabe Bit #26 PosAck-Fehlerbit von Kopf B und Achse X. (Forts.) Bit #27 TempOK-Fehlerbit von Kopf B und Achse X. Bit #28 PowerOK-Fehlerbit von Kopf B und Achse X. Bit #29 PosAck-Fehlerbit von Kopf B und Achse Y. Bit #30 TempOK-Fehlerbit von Kopf B und Achse Y.
  • Seite 307: Get_Master_Slave

    Kontrollbefehl get_master_slave ® Funktion Liefert den Master/Slave-Status der angesprochenen RTC 5-Karte zurück. Aufruf MasterSlaveStatus = get_master_slave() Rückgabe Master/Slave-Status als 32-Bit-Wert ohne Vorzeichen, d.h. ® Information, ob am MASTER- oder SLAVE-Anschluss der angesprochenen RTC 5-Karte ® eine weitere RTC 5-Karte angeschlossen ist: Bit #0 = 1: Am SLAVE-Anschluss ist eine Karte angeschlossen.
  • Seite 308: Get_Mcbsp

    Kontrollbefehl get_mcbsp Funktion Liest den Eingabewert, der zuletzt vollständig über die McBSP/SPI-Schnittstelle an die Speicherstelle für “Processing on the fly”-Anwendungen übertragen wurde. Aufruf mcbsp_value = get_mcbsp() Rückgabe Eingabewert als 32-Bit-Wert mit Vorzeichen. Hinweise • get_mcbsp ist synonym zu read_mcbsp(0) (siehe Hinweise dort). ®...
  • Seite 309: Get_Out_Pointer

    Kontrollbefehl get_out_pointer Funktion Gibt die aktuelle (bzw. die letzte) Position des Output-Pointers als Offset bzgl. des Listen- Starts der jeweiligen Liste sowie die Nummer der jeweiligen Liste zurück. Aufruf get_out_pointer( &ListNo, &Pos ) Parameter- Nummer der Liste (“Liste 1” oder “Liste 2”), in der sich der Output-Pointer ListNo rückgabe aktuell befindet (oder zuletzt befand) als Pointer auf einen 32-Bit-Wert ohne...
  • Seite 310: Get_Rtc_Version

    Kontrollbefehl get_rtc_version ® Funktion Gibt die Versionsnummer der RTC 5 Firmware (RTC5RBF.rbf) und zusätzliche ® Informationen über freigegebene Optionen der RTC 5-Karte zurück. Aufruf RTCVersion = get_rtc_version() ® Rückgabe 5-Versionsnummer als 32-Bit-Wert ohne Vorzeichen: ® Bit #0 (LSB) … Firmware-Version der RTC 5-Karte.
  • Seite 311: Get_Serial_Number

    Kontrollbefehl get_serial_number ® Funktion Gibt die Seriennummer der aktiven RTC 5-Karte zurück. Aufruf RTCSerialNumber = get_serial_number() ® Rückgabe 5-Seriennummer als 32-Bit-Wert ohne Vorzeichen. Hinweise • Die Seriennummern der eingebauten Karten werden durch init_rtc5_dll ermittelt und in der DLL zwischengespeichert. Dort werden sie dann von get_serial_number ausge- lesen.
  • Seite 312: Get_Startstop_Info

    Kontrollbefehl get_startstop_info Funktion Liefert Informationen über interne und externe Listen-Starts und -Stopps seit dem letzten Aufruf des Befehls, die aktuellen externen Start- und Stopp-Pegel, den Status und den Signal-Pegel der Lasersteuersignale, sowie evtl. Übertragungsfehler von und zum angeschlossenen Scan-System. Aufruf StartStopInfo = get_startstop_info() Rückgabe Infosignal als 32-Bit-Wert ohne Vorzeichen:...
  • Seite 313 Kontrollbefehl get_startstop_info Bits #16 Fehlerbits, die gesetzt werden, wenn bei der Datenübertragung vom Scan- …31 System ein Fehler auftritt (Bits #16-23 für den primären Scan-Kopf-Anschluss, Bits #24-31 für den sekundären Scan-Kopf-Anschluss): Bits #16,24: Anzahl Frames innerhalb eines Datenblockes fehlerhaft. Bits #17,25: Pulslänge des vom Scan-System empfangenen Signals unzulässig, möglicherweise kein Scan-System angeschlossen.
  • Seite 314: Get_Status

    Kontrollbefehl get_status Funktion Gibt die aktuellen Listenausführungsstatuswerte (BUSY, INTERNAL-BUSY und PAUSED) und die aktuelle (bzw. die letzte) Position des Output-Pointers zurück. Aufruf get_status( &Status, &Pos ) Parameter- Statuswert als Pointer auf einen 32-Bit-Wert ohne Vorzeichen. Status rückgabe Bit #0 (LSB) = 1: BUSY-Status gesetzt.
  • Seite 315: Get_Stepper_Status

    Kontrollbefehl get_status ® ® 4 RTC 5 Prinzipiell unveränderte Funktionalität, allerdings: ® Bei der RTC 5 liefert der Parameter Status den BUSY-, INTERNAL-BUSY- und PAUSED- ® Status, bei der RTC 4 nur den BUSY-Status. Verweise read_status, get_input_pointer, get_list_pointer, get_out_pointer Kontrollbefehl get_stepper_status Funktion Liefert für beide Schrittmotor-Ausgänge den jeweils aktuellen Status der Schrittmotorsignale, die aktuell eingestellte CLOCK-Pulsperiode, den Busy- und Init-Status...
  • Seite 316: Get_Sub_Pointer

    Kontrollbefehl get_sub_pointer Funktion Liefert die absolute Startadresse eines indizierten Unterprogramms zurück. Aufruf SubPointer = get_sub_pointer( Index ) Parameter Index des indizierten Unterprogramms als 32-Bit-Wert ohne Vorzeichen. Index Zulässiger Wertebereich [0 … 1023]. Rückgabe Absolute Startadresse als 32-Bit-Wert ohne Vorzeichen. Hinweise •...
  • Seite 317: Get_Sync_Status

    Kontrollbefehl get_sync_status ® Funktion Liefert den Master/Slave-Synchronisierungszustand der angesprochenen RTC 5-Karte zurück. Aufruf MasterSlaveSyncStatus = get_sync_status() Rückgabe Master/Slave-Synchronisierungszustand [0 … 640] als 32-Bit-Wert ohne Vorzeichen. < 11: Die Karte ist synchron zur Master-Karte (bzw. ihrer Vorgängerkarte in der Master/Slave-Kette). = 640: Die angesprochene Karte wird als Master-Karte betrieben. Hinweise •...
  • Seite 318: Get_Table_Para

    Kontrollbefehl get_table_para Funktion Gibt den gewünschten Parameterwert aus einer aktuell geladenen Korrekturtabelle zurück. Aufruf TablePara = get_table_para( TableNo, ParaNo ) Parameter Nummer der aktuell geladenen Korrekturtabelle als 32-Bit-Wert ohne TableNo Vorzeichen. Zulässige Werte: [1…4]. Nummer des Parameters als 32-Bit-Wert ohne Vorzeichen. ParaNo Zulässige Werte: 0-15 (Zuordnung: siehe Abschnitt ”Datei-Kopf von...
  • Seite 319: Get_Text_Table_Pointer

    Kontrollbefehl get_text_table_pointer Funktion Liefert die absolute Startadresse einer indizierten Zeichenfolge zurück. Aufruf TextTablePointer = get_text_table_pointer( Index ) Parameter Index der indizierten Zeichenfolge als 32-Bit-Wert ohne Vorzeichen. Index Zulässiger Wertebereich [0 … 41]. Rückgabe Absolute Startadresse als 32-Bit-Wert ohne Vorzeichen. Hinweise •...
  • Seite 320: Get_Transform

    Kontrollbefehl get_transform ® Funktion Überträgt Positionswerte, die mit set_trigger aufgenommen und auf der RTC 5 gespei- chert wurden, auf den PC und führt eine Rücktransformation dieser Positionswerte durch. Aufruf get_transform( Number, Ptr1, Ptr2, Ptr, Code ) Parameter Anzahl [1…2 ] der rückzutransformierenden Positionswerte als 32-Bit-Wert Number ohne Vorzeichen;...
  • Seite 321 Kontrollbefehl get_transform Parameter Für Bit #0 = 1 werden (nur) die Werte, die über einen der beiden Code (Forts.) (Forts.) Speicherkanäle (wahlweise Kanal 1 oder 2) mit set_trigger aufgenommen wurden, als z-Koordinaten rücktransformiert: Bit #1 = 0: Die über Speicherkanal 1 (Signal1) aufgenommenen Werte werden unter Ptr1 auf den PC übertragen und als z-Koordinaten rücktransformiert.
  • Seite 322 Kontrollbefehl get_transform Hinweise • Erfolgt der Befehlsaufruf mit Ptr1 = NULL und Ptr2 = NULL, so werden für beide (Forts.) Kanäle keine Daten an den PC übertragen und auch keine Rücktransformation durchge- führt (get_last_error-Returncode RTC5_PARAM_ERROR). Das gleiche gilt für Number = 0 oder Number >...
  • Seite 323: Get_Value

    Vorzeichen ausgewertet werden (siehe auch Beispiel-Code unten). – Obwohl Z-Werte in den 3D-Befehlsparametern immer als 16-Bit-Werte spezifiziert werden müssen, liefern SCANLAB-Z-Achsen und 3-Achsen-Scan-Systeme (und ent- sprechend auch der get_value-Befehl) Z-Werte immer als 20-Bit-Werte mit Vorzei- chen zurück. Diese zurückgegebenen Z-Werte müssen bei Bedarf vom Anwenderprogramm konvertiert (durch 16 geteilt) werden.
  • Seite 324 Kontrollbefehl get_value Beispiel (C/C++) Auslesen von unterschiedlichen Datentypen (jeweils prim. Scan-Kopf-Anschluss, Achse X): a) XY2-100-Statuswort, PowerOK-Status UINT statusword, powerOK; ® control_command (1, 1, 0x0500); // nur bei iDRIVE -Systemen sinnvoll statusword = (get_value(1) & 0x000FFFF0) >> 4; powerOK = (statusword & 0x00000080); ®...
  • Seite 325: Get_Values

    Kontrollbefehl get_values Funktion Liefert die aktuellen Werte von bis zu vier ausgewählten Signalen zurück. Aufruf get_values( SignalPtr, ResultPtr ) Parameter SignalPtr Pointer (bei C und C++ Datentyp ULONG_PTR, d.h. 32-Bit- bzw. 64-Bit-Wert ohne Vorzeichen) auf ein Array von vier 32-Bit-Werten ohne Vorzeichen, in dem die gewünschten Signaltypen angegeben sind.
  • Seite 326: Get_Wait_Status

    Kontrollbefehl get_wait_status ® Funktion Gibt den Unterbrechungs-Status der RTC 5-Karte zurück. Aufruf WaitStatus = get_wait_status() Rückgabe Unterbrechungs-Status als 32-Bit-Wert ohne Vorzeichen. Hinweise • Wenn die Ausführung an einem Unterbrechungspunkt (wait marker) gestoppt wurde, dann liefert get_wait_status die zugehörige Nummer zurück (siehe set_wait). •...
  • Seite 327: Get_Waveform

    Kontrollbefehl get_waveform Funktion Überträgt die Messwerte, die mit set_trigger oder set_trigger4 aufgenommen und auf ® der RTC 5 gespeichert wurden, an den PC. Aufruf get_waveform( Channel, Number, Ptr ) Parameter Messkanal [1 oder 2, bei mit set_trigger4 gestarteten Aufzeichnungen auch Channel 3 oder 4] als 32-Bit-Wert ohne Vorzeichen.
  • Seite 328: Get_Z_Distance

    Kontrollbefehl get_z_distance Funktion Liefert den Fokuslängenwert l für den angegebenen Punkt im Arbeitsvolumen zurück. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), liefert der Befehl den Wert 0 zurück und hat sonst keine Wirkung. Aufruf ZDistance = get_z_distance( X, Y, Z ) Parameter...
  • Seite 329: Goto_Xy

    Kontrollbefehl goto_xy Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf goto_xy( X, Y ) Parameter Absolute Koordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte X, Y mit Vorzeichen.
  • Seite 330: Goto_Xyz

    Kontrollbefehl goto_xyz Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie goto_xy. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 331: Home_Position

    Kontrollbefehl home_position Funktion Aktiviert den Home-Jump-Modus (für die X- und Y-Achse) und definiert die Home-Position. Aufruf home_position( XHome, YHome ) Parameter Absolute Koordinaten der Home-Position in Bits als 32-Bit-Werte mit XHome, Vorzeichen. Zulässiger Bereich: [–524.288…524.287]. YHome Zu große Werte werden geclippt. Hinweise •...
  • Seite 332: Home_Position_Xyz

    Kontrollbefehl home_position_xyz Funktion Aktiviert den Home-Jump-Modus (für die X-, Y- und Z-Achse) und definiert die Home- Position. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie home_position. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 333: If_Cond

    Unverzögerter if_cond kurzer Listenbefehl Funktion Bedingte Befehlsausführung: Dieser Befehl führt sofort den unmittelbar folgenden Listenbefehl aus, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1-Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 334: If_Fly_Y_Overflow

    Unverzögerter if_fly_y_overflow kurzer Listenbefehl Funktion Bedingte Befehlsausführung für “Processing on the fly”-Anwendungen: Dieser Befehl führt sofort den unmittelbar folgenden Listenbefehl aus, wenn die Bedingung gemäß Mode für die Y-Achse erfüllt ist. Andernfalls wird der nachfolgende Listenbefehl übersprungen. Aufruf if_fly_y_overflow( Mode ) Parameter Zu überprüfende Bedingung als 32-Bit-Wert mit Vorzeichen.
  • Seite 335: If_Not_Activated

    Unverzögerter if_not_activated kurzer Listenbefehl Funktion Bedingte Befehlsausführung aufgrund eines Fehlerbits aus activate_fly_xy oder activate_fly_2d: Wenn das Fehlerbit gesetzt ist, wird der unmittelbar nächste Listenbefehl ausgeführt, ansonsten übersprungen. Aufruf if_not_activated() Hinweise • Siehe auch Hinweise zu activate_fly_2d und activate_fly_xy. • Sinnvollerweise befindet sich in der Liste unmittelbar hinter if_not_activated ein Listen- sprung oder ein Unterprogramm-Aufruf, welches zu einer Fehlerbehandlungssequenz verzweigt, oder vielleicht auch gleich ein set_end_of_list.
  • Seite 336: If_Not_Fly_X_Overflow

    Unverzögerter if_not_fly_x_overflow kurzer Listenbefehl Funktion Bedingte Befehlsausführung für “Processing on the fly”-Anwendungen: Dieser Befehl führt sofort den unmittelbar folgenden Listenbefehl aus, wenn die Bedingung gemäß Mode für die X-Achse nicht erfüllt ist. Andernfalls wird der nachfolgende Listenbefehl übersprungen. Aufruf if_not_fly_x_overflow( Mode ) Parameter Zu überprüfende Bedingung als 32-Bit-Wert mit Vorzeichen.
  • Seite 337: If_Not_Fly_Z_Overflow

    Unverzögerter if_not_fly_z_overflow kurzer Listenbefehl Funktion Bedingte Befehlsausführung für “Processing on the fly”-Anwendungen: Dieser Befehl führt sofort den unmittelbar folgenden Listenbefehl aus, wenn die Bedingung gemäß Mode für die Z-Achse nicht erfüllt ist. Andernfalls wird der nachfolgende Listenbefehl übersprungen. Aufruf if_not_fly_z_overflow( Mode ) Parameter Zu überprüfende Bedingung als 32-Bit-Wert mit Vorzeichen.
  • Seite 338: If_Pin_Cond

    Unverzögerter if_pin_cond kurzer Listenbefehl Funktion Bedingte Befehlsausführung: Dieser Befehl führt sofort den unmittelbar folgenden Listenbefehl aus, falls der aktuelle Wert (IOvalue) am 2 Bit-Digital-Eingang der LASER- Buchse die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 339: Init_Rtc5_Dll

    Kontrollbefehl init_rtc5_dll ® Funktion Initialisiert die Ansteuerung der installierten RTC 5-Karten für ein Anwenderprogramm. Aufruf InitErrorNo = init_rtc5_dll() Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen. Sind mehrere Fehler gleichzeitig aufgetreten, so sind mehrere Bits gesetzt. Die Zuordnung zwischen Bitnummern, Fehlertypen und Fehlerkonstanten ist identisch wie beim Befehl get_error.
  • Seite 340 Kontrollbefehl init_rtc5_dll Hinweise • Bei jeder Initialisierung eines Anwenderprogramms mit init_rtc5_dll werden DLL- ® (Forts.) interne Nummern für alle gefundenen RTC 5-Karten neu vergeben. Die Zuordnung zwischen den DLL-internen Nummern und den installierten Karten kann über get_serial_number ermittelt werden. Die Karte mit der kleinsten DLL-internen Nummer aller zugriffsberechtigten Karten wird bei der Initialisierung gleichzeitig zur aktiven Karte und damit zum Ziel für Nicht-Multiboard-Befehle.
  • Seite 341: Jump_Abs

    Normaler jump_abs Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf jump_abs( X, Y ) Parameter Absolute Koordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 342: Jump_Abs_3D

    Normaler jump_abs_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie jump_abs. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 343: Jump_Rel

    Normaler jump_rel Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf jump_rel( dX, dY ) Parameter Relativkoordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 344: Jump_Rel_3D

    Normaler jump_rel_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie jump_rel. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 345: Laser_On_List

    Variabler laser_on_list Listenbefehl Funktion Schaltet die “Laser active”-Lasersteuersignale für die angegebene Zeit ein. Aufruf laser_on_list( Period ) Parameter Zeitintervall in Bits als 32-Bit-Wert ohne Vorzeichen. Period 1 Bit entspricht 10 µs. Zulässiger Bereich: 0  Period  (2 –1). Hinweise •...
  • Seite 346: Laser_On_Pulses_List

    Variabler laser_on_pulses_list Listenbefehl Funktion Schaltet das LASERON-Lasersteuersignal für die angegebene Anzahl von externen Signalpulsen, jedoch maximal für das angegebene Zeitintervall ein. Der Befehl wirkt für Pulses > 65535 wie laser_on_list. Aufruf laser_on_pulses_list( Period, Pulses ) Parameter Zeitintervall in Bits als 32-Bit-Wert ohne Vorzeichen. Period 1 Bit entspricht 10 µs.
  • Seite 347: Laser_Signal_Off

    Variabler laser_on_pulses_list Listenbefehl Hinweise • Für Pulses = 0 bleibt laser_on_pulses_list ohne Auswirkung (das LASERON-Signal wird (Forts.) nicht eingeschaltet). laser_on_pulses_list ist dann ein kurzer Listenbefehl. • Das LASERON-Signal muss erst mit set_laser_control oder enable_laser spezifiziert und freigegeben werden, ehe es mit laser_on_pulses_list eingeschaltet werden kann (siehe Kapitel 7.4 ”Lasersteuerung”, Seite 141).
  • Seite 348: Laser_Signal_On

    Kontrollbefehl laser_signal_on Funktion Schaltet die “Laser active”-Lasersteuersignale ohne Verzug ein. Aufruf laser_signal_on() Hinweise • Die Lasersteuersignale für den “Laser active”-Betrieb müssen erst mit set_laser_mode ausgewählt, deren Parameter mit weiteren Befehlen spezifiziert und mit set_laser_control oder enable_laser freigegeben werden, ehe sie mit laser_signal_on eingeschaltet werden können (siehe Kapitel 7.4 ”Lasersteuerung”, Seite 141).
  • Seite 349: List_Call

    Unverzögerter list_call kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem Unterprogramm, das an der angegebenen absoluten Adresse (in einem beliebigen Speicherbereich des Listenspeichers) beginnt. Aufruf list_call( Pos ) Parameter Absolute Sprungadresse [0 … (2 –1)] als 32-Bit-Wert ohne Vorzeichen. Hinweise •...
  • Seite 350: List_Call_Abs

    Unverzögerter list_call kurzer Listenbefehl ® ® 4 RTC 5 Weitgehend unveränderte Funktionalität. Verweise list_return, list_call_abs, list_call_cond, sub_call Unverzögerter list_call_abs kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem Unterprogramm, das an der angegebenen absoluten Adresse (in einem beliebigen Speicherbereich des Listenspeichers) beginnt. Im aufgerufenen Unterprogramm werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt.
  • Seite 351: List_Call_Abs_Cond

    Unverzögerter list_call_abs_cond kurzer Listenbefehl Funktion Bedingter Aufruf (AbsCall) eines Unterprogramms: Dieser Befehl führt den Befehl list_call_abs( Pos ) aus, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1-Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 352: List_Continue

    Normaler list_continue Listenbefehl Funktion Fügt eine Null-Operation (no operation) in den Listenspeicher ein. Aufruf list_continue() Hinweise • Der Befehl list_continue benötigt wie list_nop 10 µs zur Ausführung. • Folgt der Befehl unmittelbar auf einen kurzen Listenbefehl, so sorgt er wie list_nop dafür, dass der nachfolgende Listenbefehl garantiert erst im nächsten 10 µs-Takt ausge- führt wird (die “effektive”...
  • Seite 353: List_Jump_Cond

    Unverzögerter list_jump_cond kurzer Listenbefehl Funktion Bedingter (absoluter) Listensprung: Dieser Befehl führt den Befehl list_jump_pos( Pos ) aus, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1- Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 354: List_Jump_Pos

    Unverzögerter list_jump_pos kurzer Listenbefehl Funktion Bewirkt bei der Ausführung einen unbedingten Sprung auf die angegebene Adresse des Listenspeichers. Der dortige nächste Befehl wird sofort und ohne Verzögerung ausgeführt. Aufruf list_jump_pos( Pos ) Parameter Absolute Sprungadresse [0 … (2 –1)] als 32-Bit-Wert ohne Vorzeichen. Hinweise •...
  • Seite 355: List_Jump_Pos_Cond

    Unverzögerter list_jump_pos_cond kurzer Listenbefehl Funktion Bedingter (absoluter) Listensprung: Dieser Befehl führt den Befehl list_jump_pos( Pos ) aus, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1- Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 356: List_Jump_Rel

    Unverzögerter list_jump_rel kurzer Listenbefehl Funktion Bewirkt bei der Ausführung einen unbedingten Sprung um die angegebenen Stellen innerhalb der aktuellen Liste. Der dortige nächste Befehl wird sofort und ohne Verzögerung ausgeführt. Aufruf list_jump_rel( Pos ) Parameter Sprungweite [(–2 +1) … (2 –1)] als 32-Bit-Wert mit Vorzeichen.
  • Seite 357: List_Jump_Rel_Cond

    Unverzögerter list_jump_rel_cond kurzer Listenbefehl Funktion Bedingter (relativer) Listensprung: Dieser Befehl führt den Befehl list_jump_rel( Pos ) aus, falls der aktuelle Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1-Stiftleiste die folgende Bedingung erfüllt: ((IOvalue AND Mask1) = Mask1) AND (((not IOvalue) AND Mask0) = Mask0) (d.h.
  • Seite 358: List_Repeat

    Unverzögerter list_repeat kurzer Listenbefehl Funktion Leitet eine Befehlswiederholung für eine Gruppe von Listenbefehlen ein. Aufruf list_repeat() Hinweise • Siehe Kapitel 6.5.5 ”Schleifen”, Seite • Ein evtl. noch anliegender verzögerter kurzer Listenbefehl wird noch davor ausgeführt. • Alle Listenbefehle zwischen diesem Befehl und dem nächsten list_until-Befehl werden ggf.
  • Seite 359: List_Return

    Unverzögerter list_return kurzer Listenbefehl Funktion Beendet ein zuvor aufgerufenes Unterprogramm, springt zu der aufrufenden Stelle und führt den unmittelbar darauf folgenden nächsten Listenbefehl (evtl. nach einem list_nop) sofort und ohne Verzögerung aus. Aufruf list_return() Hinweise • Beim Laden eines indizierten Unterprogramms, eines indizierten Zeichens oder einer indizierten Zeichenfolge in den geschützten Bereich bewirkt der Befehl list_return außerdem, dass u.a.
  • Seite 360: List_Until

    Unverzögerter list_until kurzer Listenbefehl Funktion Beendet ggf. eine Befehlswiederholung für eine Gruppe von Listenbefehlen. Aufruf list_until( Number ) Parameter Anzahl von Wiederholungen als 32-Bit-Wert ohne Vorzeichen. Number Number = 0 wird wie Number = 1 behandelt. Hinweise • Siehe Kapitel 6.5.5 ”Schleifen”, Seite •...
  • Seite 361: Load_Auto_Laser_Control

    Kontrollbefehl load_auto_laser_control Funktion Lädt eine Tabelle mit Datenpunkten aus einer ASCII-Textdatei und bestimmt durch lineare Interpolation die Nichtlinearitätskurve für die positions- und/oder geschwindigkeits- oder encodergeschwindigkeitsabhängige Lasersteuerung (siehe Seite 160). Aufruf NoOfDataPoints = load_auto_laser_control( Name, No ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String. Name Die Textdatei kann eine oder mehrere Tabellen enthalten.
  • Seite 362: Load_Char

    Kontrollbefehl load_auto_laser_control ® ® 4 RTC 5 Neuer Befehl. Verweise set_auto_laser_control Kontrollbefehl load_char Funktion Versieht ein durch nachfolgende Listenbefehle definiertes Zeichen mit dem gewünschten Index und lädt es in den geschützten Speicherbereich (“Liste 3”). Aufruf load_char( Char ) Parameter Index des indizierten Zeichens als 32-Bit-Wert ohne Vorzeichen. Char Zulässiger Wertebereich [0 …...
  • Seite 363: Load_Correction_File

    Kontrollbefehl load_correction_file ® Funktion Überträgt die angegebene Bildfeld-Korrekturdatei in den Speicher der RTC 5 (als Tabelle #1, 2,3 oder 4) und ruft automatisch select_cor_table mit den zuletzt verwendeten Parameterwerten (bzw. den Default-Parameterwerten) auf. Aufruf ErrorNo = load_correction_file( Name, No, Dim ) Parameter Name der Korrekturdatei als Pointer auf einen nullterminierten ANSI-String.
  • Seite 364 Kontrollbefehl load_correction_file Hinweise Hinweise zum Laden von Korrekturtabellen: ® • Die RTC 5 kann vier verschiedene Korrekturtabellen zur selben Zeit speichern, z.B. zur Verwendung in einer Konfiguration mit mehreren Scan-Köpfen. • Korrekturtabellen mit den Nummern 3 und 4 müssen unbedingt erst nach load_program_file geladen werden.
  • Seite 365 Kontrollbefehl load_correction_file Hinweise Hinweise zum Zuweisen von Korrekturtabellen mit select_cor_table: ® (Forts.) • Eine Zuweisung einer (oder zweier) auf der RTC 5 gespeicherten Korrekturtabelle(n) an den Scan-Kopf (bzw. an die beiden Scan-Kopf-Anschlüsse) erfolgt mit dem Befehl select_cor_table oder select_cor_table_list. • Ab Version DLL 521, OUT 521 ruft load_correction_file nach dem Speichern einer Korrekturtabelle automatisch select_cor_table auf.
  • Seite 366 Kontrollbefehl load_correction_file ® ® 4 RTC 5 Bis auf die Grundfunktion des Befehls und seiner ersten beiden Parameter (Laden von Korrekturdateien) hat sich die Funktionalität des Befehls stark geändert: • Der Befehl enthält jetzt auch den neuen Parameter Dim. Unter anderem können damit 3D-Korrekturdateien auch als 2D-Korrekturtabellen und 2D-Korrekturdateien auch als 3D-Korrekturtabellen gespeichert werden.
  • Seite 367: Load_Disk

    Kontrollbefehl load_disk Funktion Lädt die zuvor mit save_disk in einer binären Datei gespeicherten indizierten Zeichen, Zeichenfolgen und Unterprogramme in den geschützten Speicherbereich (“Liste 3”) und liefert die Anzahl der tatsächlich geladenen Listenbefehle zurück. Aufruf NoOfLoadedCommands = load_disk( Name, Mode ) Parameter Dateiname als Pointer auf einen nullterminierten ANSI-String.
  • Seite 368 Kontrollbefehl load_disk Hinweise • Wird beim Laden das Ende des geschützten Speicherbereichs vor dem Ende der Datei (Forts.) (EOF) erreicht, werden alle weiteren Listenbefehle der Datei ignoriert. Auch unvollstän- dige Zeichen, Zeichenfolgen und Unterprogramme werden (wie bei individuellen load_char-, load_text_table- oder load_sub-Befehlen) nicht gespeichert. Vor einem load_disk-Befehl sollte daher sichergestellt werden, dass der geschützte Speicherbe- reich in ausreichender Größe jenseits des Listenbereichs (“Liste 1”...
  • Seite 369: Load_Fly_2D_Table

    Kontrollbefehl load_fly_2d_table Funktion Lädt eine 2D-Tabelle aus einer ASCII-Textdatei für eine set_fly_2d-“Processing on the fly”- Anwendung mit 2D-Encoder-Kompensation für XY-Tische, siehe Abschnitt ”2D-Encoder- Kompensation für XY-Tische”, Seite 202. Aufruf NoOfDataPoints = load_fly_2d_table( Name, No ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String Name (die Textdatei kann eine oder mehrere Tabellen enthalten).
  • Seite 370: Load_Jump_Table

    Kontrollbefehl load_fly_2d_table ® ® 4 RTC 5 Neuer Befehl. Versionsinfo Verfügbar ab Version DLL 536, OUT 536. Verweise set_fly_2d, init_fly_2d, get_fly_2d_offset Kontrollbefehl load_jump_table Funktion Lädt eine Wertetabelle mit Jump-Delay-Datenpunkten aus einer ASCII-Textdatei (oder führt alternativ eine automatische Ermittlung am angegebenen Scan-System durch) und bestimmt durch lineare Interpolation die interne Jump-Delay-Tabelle für 2D-Sprünge, die im Sprungmodus ausgeführt werden.
  • Seite 371: Load_Jump_Table_Offset

    Kontrollbefehl load_jump_table_offset Funktion Lädt eine Wertetabelle mit Jump-Delay-Datenpunkten aus einer ASCII-Textdatei (oder führt alternativ eine automatische Ermittlung am angegebenen Scan-System durch) und bestimmt durch lineare Interpolation die interne Jump-Delay-Tabelle für 2D-Sprünge, die im Sprungmodus ausgeführt werden. Aufruf NoOfDataPoints = load_jump_table_offset( Name, No, PosAck, Offset, MinDelay, MaxDelay, ListPos ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String...
  • Seite 372 Kontrollbefehl load_jump_table_offset Hinweise • Zur Verwendung des Befehls siehe ”Sprunglängenabhängige Jump-Delays”, Seite 174. • Zum Sprungmodus siehe Seite 173. • Die Formatvorschriften zum Eintragen der Tabelle mit den Jump-Delay-Datenpunkten in die Text-Datei sind im Abschnitt ”Hinweise zum Laden der ermittelten Jump-Delay- ®...
  • Seite 373: Load_List

    Kontrollbefehl load_list Funktion Öffnet den Listenspeicher zum Beschreiben mit Listenbefehlen und setzt den Input-Pointer an die angegebene (relative) Position in der gewünschten Liste (“Liste 1” oder “Liste 2”), aber nur, wenn die Liste nicht gerade abgearbeitet wird (BUSY-Status nicht gesetzt) bzw. wenn sie bereits abgearbeitet ist (USED-Status gesetzt).
  • Seite 374 Kontrollbefehl load_list Hinweise • Für ListNo = 0…2 sollte bei der Verwendung des load_list-Befehls berücksichtigt (Forts.) werden, dass sich der BUSY-Status einer Liste u.U. bereits zwischen dem Öffnen der Liste mit load_list und dem tatsächlichen Laden von Listenbefehlen ändern kann, z.B. wenn in der Zwischenzeit ein zuvor mit auto_change oder...
  • Seite 375: Load_Position_Control

    Kontrollbefehl load_position_control Funktion Lädt eine Tabelle mit Datenpunkten aus einer ASCII-Textdatei und bestimmt durch lineare Interpolation die Skalierungsfunktion für die positionsabhängige Lasersteuerung (radiale Korrektur, siehe Abschnitt ”Positionsabhängige Lasersteuerung”, Seite 158). Aufruf NoOfDataPoints = load_position_control( Name, No ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String Name (die Textdatei kann eine oder mehrere Tabellen enthalten).
  • Seite 376 Kontrollbefehl load_position_control Hinweise • Der Befehl load_position_control wird nicht ausgeführt (get_last_error-Returncode: (Forts.) RTC5_BUSY), wenn gerade der BUSY-Status der Karte gesetzt ist (Liste wird abgearbeitet oder wurde mit pause_list angehalten) oder wenn der INTERNAL-BUSY-Status der Karte gesetzt ist. Der Befehl wird dagegen ausgeführt, wenn eine Liste mit set_wait ange- halten wurde (PAUSED-Status gesetzt).
  • Seite 377: Load_Program_File

    Kontrollbefehl load_program_file Funktion Führt einen Reset der Karte durch, führt einen DSP-Speicher-Check aus, lädt die Programmdatei RTC5OUT.out zusammen mit den Dateien RTC5RBF.rbf und RTC5DAT.dat ® aus dem angegebenen Verzeichnis in den Speicher der RTC 5, führt eine Versionsprüfung durch und startet den Signalprozessor (DSP). Aufruf ErrorNo = load_program_file( pPath ) Parameter...
  • Seite 378 Kontrollbefehl load_program_file Hinweise • Für pPath = 0 wird der Pfad des aktuellen Arbeitsverzeichnisses des Anwenderpro- gramms verwendet. Achtung: Das aktuelle Arbeitsverzeichnisses des Anwenderpro- gramms stimmt nicht immer mit dem Verzeichnis überein, aus dem das Anwenderprogramm gestartet wird. Ein Wechsel des aktuellen Arbeitsverzeichnisses findet z.B.
  • Seite 379 Kontrollbefehl load_program_file ® Hinweise • Die Dateien RTC5OUT.out, RTC5RBF.rbf und RTC5DAT.dat sind im RTC 5-Software-Paket (Forts.) enthalten. Zur Kennzeichnung und Verwaltung unterschiedlicher Softwareversionen werden die Dateien zusätzlich gezippt ausgeliefert (die zip-Dateinamen RTC5<…>_<Version>.zip enthalten die jeweiligen Versionsnummern). Kopieren oder entpacken Sie die drei Dateien auf die Festplatte Ihres PCs. •...
  • Seite 380: Load_Stretch_Table

    Kontrollbefehl load_stretch_table Funktion Lädt eine Tabelle aus einer ASCII-Textdatei für eine erweiterte 3D-Korrektur, siehe Kapitel 8.6.5 ”Erweiterte 3D-Korrektur”, Seite 194. Aufruf NoOfDataPairs = load_stretch_table( Name, No ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String Name (die Textdatei kann eine oder mehrere Tabellen enthalten) oder NULL. 32-Bit-Wert mit Vorzeichen.
  • Seite 381: Load_Sub

    Kontrollbefehl load_stretch_table Hinweise • Für Name = NULL deaktiviert load_stretch_table eine zuvor mit load_stretch_table (Forts.) aktivierte erweiterte 3D-Korrektur. • Der Befehl load_stretch_table wird nicht ausgeführt (get_last_error-Returncode: RTC5_BUSY), wenn gerade der BUSY-Status der Karte gesetzt ist (Liste wird abgearbeitet oder wurde mit pause_list angehalten) oder wenn der INTERNAL-BUSY-Status der Karte gesetzt ist.
  • Seite 382: Load_Text_Table

    Kontrollbefehl load_text_table Funktion Versieht eine durch nachfolgende Listenbefehle definierte Zeichenfolge mit dem gewünschten Index und lädt sie in den geschützten Speicherbereich (“Liste 3”). Aufruf load_text_table( Index ) Parameter Index der indizierten Zeichenfolge als 32-Bit-Wert ohne Vorzeichen. Index Zulässiger Wertebereich [0 … 41]. Hinweise •...
  • Seite 383 Kontrollbefehl load_varpolydelay Funktion Lädt eine Tabelle mit Datenpunkten für die Skalierungsfunktion des benutzerdefinierten variablen Polygon-Delays (siehe Seite 117) aus einer ASCII-Textdatei. Aufruf NoOfDataPoints = load_varpolydelay( Name, No ) Parameter Name der Textdatei als Pointer auf einen nullterminierten ANSI-String Name (die Textdatei kann eine oder mehrere Tabellen enthalten). Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen) wird spezifiziert, welche Tabelle aus der Textdatei geladen werden soll (der Parameter entspricht der Erweiterung <No>...
  • Seite 384: Load_Varpolydelay

    Kontrollbefehl load_varpolydelay ® ® 4 RTC 5 Prinzipiell unveränderte Funktionalität, allerdings: • Um zur internen Standard-Polygon-Delay-Tabelle zurückzukehren ist (anders als bei der ® 4) kein Reset bzw. erneutes Programmladen mit load_program_file mehr erfor- derlich (s.o. Name = 0 ). • Für die ASCII-Textdatei sind beliebige Dateinamenerweiterungen (also nicht nur *.STB ®...
  • Seite 385: Long_Delay

    Kontrollbefehl load_z_table Hinweise • Der Befehl wird nur zur Neu-Kalibrierung der Z-Achse in einem 3-Achsen-Scan-System benötigt (zur Bestimmung geeigneter Koeffizienten siehe Seite 192). Es können positive oder negative Koeffizienten angegeben werden. Die Koeffizienten sollten möglichst so gewählt werden, dass alle z-Ausgabewerte im Bereich [ – 32.768 … +32.767] liegen. •...
  • Seite 386: Mark_Abs

    Normaler mark_abs Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf mark_abs( X, Y ) Parameter Absolute Koordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 387: Mark_Abs_3D

    Normaler mark_abs_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie mark_abs. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Markiergeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 388: Mark_Char

    Unverzögerter mark_char kurzer Listenbefehl Funktion Markiert ein indiziertes Zeichen. Aufruf mark_char( Char ) Parameter Index des zu markierenden indizierten Zeichens (als 32-Bit-Wert ohne Char Vorzeichen, zulässiger Wertebereich: [0 … 1023]). Es gilt: Char = Zeichensatznummer * 256 + ASCII-Nummer des Zeichens (die Zeichensatznummer zählt dabei von 0 bis 3).
  • Seite 389: Mark_Char_Abs

    Unverzögerter mark_char_abs kurzer Listenbefehl Funktion Markiert ein indiziertes Zeichen. In der dazu aufgerufenen Befehlsliste (s.u.) werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt. Aufruf mark_char_abs( Char ) Parameter Index des zu markierenden indizierten Zeichens (als 32-Bit-Wert ohne Char Vorzeichen, zulässiger Wertebereich: [0 …...
  • Seite 390: Mark_Date

    Normaler mark_date Listenbefehl Funktion Markiert einen Teil des zuvor mit time_fix, time_fix_f oder time_fix_f_off gespeicherten Datums im ausgewählten Format an der aktuellen Position. Aufruf mark_date( Part, Mode ) Parameter Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen, zulässiger Wertebereich: Part [0 … 7]) wird ausgewählt, welcher Teil des Datums markiert wird. = 0: Jahreszahl (nur die beiden letzten Ziffern).
  • Seite 391 Normaler mark_date Listenbefehl ® Hinweise • Vor einer Datumsmarkierung sollte (nach jedem Neustart) ein Abgleich zwischen RTC und PC-Zeit stattgefunden haben (siehe time_update) und der aktuelle (zu markie- rende) Datumswert mit time_fix, time_fix_f oder time_fix_f_off gespeichert worden sein (siehe ”Markieren von Uhrzeit, Datum und Seriennummern”, Seite 167).
  • Seite 392: Mark_Date_Abs

    Normaler mark_date_abs Listenbefehl Funktion Markiert einen Teil des zuvor mit time_fix, time_fix_f oder time_fix_f_off gespeicherten Datums im ausgewählten Format an der aktuellen Position. In den dabei ausgeführten indizierten Zeichenfolgen bzw. Zeichen (s.u.) werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt.
  • Seite 393: Mark_Ellipse_Abs

    Normaler mark_ellipse_abs Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines ellipsenförmigen Bogens um den angegebenen Mittelpunkt (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf mark_ellipse_abs( X, Y, Alpha ) Parameter Absolute Koordinaten des Ellipsenmittelpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 394: Mark_Ellipse_Rel

    Normaler mark_ellipse_rel Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines ellipsenförmigen Bogens um den angegebenen Mittelpunkt (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf mark_ellipse_rel( dX, dY, Alpha ) Parameter Relativkoordinaten des Ellipsenmittelpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen. Zulässiger Wertebereich: [–8.388.608 … 8.388.607]. Überlaufende Werte werden auf den Randbereich geclippt.
  • Seite 395: Mark_Rel

    Normaler mark_rel Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf mark_rel( dX, dY ) Parameter Relativkoordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen. Zulässiger Wertebereich: [–8.388.608 … 8.388.607]. Überlaufende Werte werden auf den Randbereich geclippt.
  • Seite 396: Mark_Rel_3D

    Normaler mark_rel_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie mark_rel. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Markiergeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 397: Mark_Serial

    Normaler mark_serial Listenbefehl Funktion Markiert die aktuelle Seriennummer des zuletzt mit select_serial_set_list ausgewählten Seriennummernsatzes (bzw. nach load_program_file des Seriennummernsatzes 0) im ausgewählten Format an der aktuellen Position. Die Seriennummer wird danach (optional) automatisch erhöht. Aufruf mark_serial( Mode, Digits ) Parameter Auswahl des Seriennummernformats und (De-) Aktivierung der Mode automatischen Seriennummernerhöhung als 32-Bit-Wert ohne Vorzeichen.
  • Seite 398 Normaler mark_serial Listenbefehl Hinweise • Mit digits = 0 wird eine Leermarkierung ausgeführt. Für M = 0 findet dabei eine Seri- (Forts.) ennummernerhöhung um 1 statt (nicht um die evtl. mit set_serial_step oder set_serial_step_list anders eingestellte Schrittweite!). Dies kann nützlich sein, wenn eine einzelne Seriennummer ausgelassen werden soll, kann aber auch (wie bei der ®...
  • Seite 399: Mark_Serial_Abs

    Normaler mark_serial_abs Listenbefehl Funktion Markiert die aktuelle Seriennummer des zuletzt mit select_serial_set_list ausgewählten Seriennummernsatzes (bzw. nach load_program_file des Seriennummernsatzes 0) im ausgewählten Format an der aktuellen Position. In den dabei ausgeführten indizierten Zeichenfolgen bzw. Zeichen (s.u.) werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt.
  • Seite 400: Mark_Text

    Variabler mark_text Listenbefehl Funktion Markiert einen nullterminierten String. Aufruf mark_text( Text ) Parameter PC-Speicheradresse des ersten Zeichens (Byte) des zu markierenden Textes als Text Pointer auf einen nullterminierten String. Hinweise • Der zu markierende Text (Zeichenfolge, Byte-Array, nullterminierter String) muss mit einem \0-Zeichen (0-Byte, NUL) enden.
  • Seite 401: Mark_Text_Abs

    Variabler mark_text_abs Listenbefehl Funktion Markiert einen nullterminierten String. In den dabei ausgeführten indizierten Zeichen (s.u.) werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt. Aufruf mark_text_abs( Text ) Parameter PC-Speicheradresse des ersten Zeichens (Byte) des zu markierenden Textes als Text Pointer auf einen nullterminierten String.
  • Seite 402 Normaler mark_time Listenbefehl ® Hinweise • Vor einer Uhrzeitmarkierung sollte (nach jedem Neustart) ein Abgleich zwischen RTC und PC-Zeit stattgefunden haben (siehe time_update) und die aktuelle (zu markie- rende) Uhrzeit mit time_fix, time_fix_f oder time_fix_f_off gespeichert worden sein (siehe ”Markieren von Uhrzeit, Datum und Seriennummern”, Seite 167).
  • Seite 403: Mark_Time_Abs

    Normaler mark_time_abs Listenbefehl Funktion Markiert einen Teil der zuvor mit time_fix, time_fix_f oder time_fix_f_off gespeicherten Uhrzeit im ausgewählten Format an der aktuellen Position. In den dabei ausgeführten indizierten Zeichenfolgen bzw. Zeichen (s.u.) werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt.
  • Seite 404: Mcbsp_Init_Spi

    Kontrollbefehl mcbsp_init_spi Funktion Initialisiert die SPI-Funktionalität (Serial Peripheral Interface) an der “SPI /I²C”-Stiftleiste (statt McBSP-Funktionalität). Aufruf mcbsp_init_spi ( ClockLevel, ClockDelay ) Parameter =0: inaktiv low. ClockLevel >0: inaktiv high. 32-Bit-Wert ohne Vorzeichen. =0: Taktsignal zeitgleich zu den Datenbits. ClockDelay >0: Taktsignal um eine halbe Periode verzögert. 32-Bit-Wert ohne Vorzeichen.
  • Seite 405: Measurement_Status

    Kontrollbefehl measurement_status Funktion Gibt den Status einer mit set_trigger oder set_trigger4 gestarteten Messung und die aktuelle Position des Messwertzählers zurück. Aufruf measurement_status( &Busy, &Pos ) Parameter- Status der Messung als Pointer auf einen 32-Bit-Wert ohne Vorzeichen. Busy rückgabe > 0: Momentan erfolgt eine Messung.
  • Seite 406: Micro_Vector_Abs

    Normaler micro_vector_abs Listenbefehl Funktion Bewegt den Ausgabepunkt für den Laserfokus per hartem Sprung (ohne Mikrovektorisierung) direkt von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf micro_vector_abs( X, Y, LasOn, LasOff ) Parameter Absolute Koordinaten des Mikrovektorendpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 407: Micro_Vector_Abs_3D

    Normaler micro_vector_abs_3d Listenbefehl Funktion Bewegt den Ausgabepunkt für den Laserfokus per hartem Sprung (ohne Mikrovektorisierung) direkt von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie micro_vector_abs. Aufruf micro_vector_abs_3d( X, Y, Z, LasOn, LasOff ) Parameter...
  • Seite 408: Micro_Vector_Rel

    Normaler micro_vector_rel Listenbefehl Funktion Bewegt den Ausgabepunkt für den Laserfokus per hartem Sprung (ohne Mikrovektorisierung) direkt von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf micro_vector_rel( dX, dY, LasOn, LasOff ) Parameter Relativkoordinaten des Mikrovektorendpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 409: Micro_Vector_Rel_3D

    Normaler micro_vector_rel_3d Listenbefehl Funktion Bewegt den Ausgabepunkt für den Laserfokus per hartem Sprung (ohne Mikrovektorisierung) direkt von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie micro_vector_rel. Aufruf micro_vector_rel_3d( dX, dY, dZ, LasOn, LasOff ) Parameter...
  • Seite 410: Move_To

    Kontrollbefehl move_to Funktion Bewegt die Fokussieroptik einer varioSCAN Z-Achse zur angegebenen Position. FLEX Aufruf move_to( Pos ) Parameter Position als 32-Bit-Wert ohne Vorzeichen. Hinweise • Der Befehl ist nur dann sinnvoll verwendbar, wenn an der EXTENSION 1-Stiftleiste der ® ® 5 die RTC Step Motor Extension-Karte und an dieser Karte auch eine varioSCAN...
  • Seite 411: Para_Jump_Abs

    Kontrollbefehl move_to ® ® ® 4 RTC • Anders als bei der RTC 4 ist kein separates set_control_mode erforderlich, um die Bits des 16 Bit-Digital-Ausgangs für die varioSCAN -Ansteuerung zu reservieren. Es FLEX kann aber auch keine explizite Entsperrung vorgenommen werden. Versionsinfo •...
  • Seite 412: Para_Jump_Abs_3D

    Normaler para_jump_abs_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw.
  • Seite 413: Para_Jump_Rel

    Normaler para_jump_rel Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf para_jump_rel( dX, dY, P ) Parameter Relativkoordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte mit...
  • Seite 414: Para_Jump_Rel_3D

    Normaler para_jump_rel_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) mit Sprunggeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw.
  • Seite 415: Para_Laser_On_Pulses_List

    Variabler para_laser_on_pulses_list Listenbefehl Funktion Schaltet das LASERON-Lasersteuersignal für die angegebene Anzahl von externen Signalpulsen, jedoch maximal für das angegebene Zeitintervall ein und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf para_laser_on_pulses_list (Period, Pulses, P) Parameter Zeitintervall in Bits als 32-Bit-Wert ohne Vorzeichen.
  • Seite 416: Para_Mark_Abs

    Normaler para_mark_abs Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf para_mark_abs( X, Y, P ) Parameter Absolute Koordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit X, Y...
  • Seite 417: Para_Mark_Abs_3D

    Normaler para_mark_abs_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie para_mark_abs.
  • Seite 418: Para_Mark_Rel

    Normaler para_mark_rel Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf para_mark_rel( dX, dY, P ) Parameter Relativkoordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY...
  • Seite 419: Para_Mark_Rel_3D

    Normaler para_mark_rel_3d Listenbefehl Funktion Führt den Laserfokus mit Markiergeschwindigkeit entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie para_mark_rel.
  • Seite 420: Park_Position

    Variabler park_position Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) zum Zwischenparken mit Sprunggeschwindigkeit entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, wirkt der Befehl wie ein normaler jump_abs-Befehl.
  • Seite 421: Park_Return

    Variabler park_position Listenbefehl ® ® 4 RTC 5 Neuer Befehl. ® Im RTC 4-Kompatibilitätsmodus werden die angegebenen Koordinatenwerte von der ® 5 mit 16 multipliziert (der zulässige Wertebereich verringert sich entsprechend). Versionsinfo Verfügbar ab Version DLL 536, OUT 536. Verweise park_return Variabler park_return...
  • Seite 422 Variabler park_return Listenbefehl Hinweise • Wurde der Laserfokus nicht zuvor mit park_position in einen sicheren Bereich bewegt, (Forts.) ist park_return ein kurzer Listenbefehl und bewirkt nichts weiter. • War zuvor kein “Processing on the fly”-Mode aktiv, oder es ist derzeit irgendein “Proces- sing on the fly”-Mode aktiv, ist park_return ein normaler Sprung an die angegebene Stelle.
  • Seite 423: Pause_List

    Kontrollbefehl pause_list Funktion Unterbricht die Ausführung einer Liste und unterdrückt die “Laser active”- Lasersteuersignale. Aufruf pause_list() Hinweise • pause_list ist synonym zum bisherigen Befehl stop_list. Dieser Befehl ist aber leicht zu verwechseln mit stop_execution. Bevorzugt sollte daher pause_list verwendet werden. •...
  • Seite 424: Periodic_Toggle_List

    Unverzögerter periodic_toggle_list kurzer Listenbefehl Funktion Erzeugt ein periodisch wechselndes Signal an einem einstellbaren Ausgabe-Port. Aufruf periodic_toggle_list ( Port, Mask, P1, P2, Count, Start ) Parameter Ausgabeport (0–4, wie bei set_port_default). Port Definiert die zu toggelnden Bits (der Höchstwert ist Port-abhängig). Mask 1 = Bit wird getoggelt.
  • Seite 425: Quit_Loop

    Kontrollbefehl quit_loop Funktion Beendet den mit start_loop aktivierten automatischen Listenwechsel. Aufruf quit_loop() Hinweise • Die aktuelle Liste wird noch komplett bis zum Erreichen des nächsten set_end_of_list- Befehls abgearbeitet, ehe die Ausführung beendet wird. • Wenn vorher kein start_loop-Befehl erteilt worden ist, hat quit_loop keinerlei Auswir- kungen.
  • Seite 426 Unverzögerter range_checking kurzer Listenbefehl Hinweise • Ist dem angegebenen Scan-Kopf keine Korrekturtabelle zugewiesen (siehe select_cor_table), wird auch keine Überwachung ausgeführt. • Als Positionsgrenzen, bei deren Überschreitung die Notfallmaßnahme ausgeführt wird, werden die Parameter aus der kundenspezifischen Überwachung von “Processing on the fly”-Anwendungen verwendet (siehe set_fly_limits, set_fly_limits_z).
  • Seite 427: Read_Abc_From_File

    Kontrollbefehl read_abc_from_file Funktion Liest die ABC-Werte direkt aus der angegebenen Korrekturdatei im PC. Aufruf ErrorNo = read_abc_from_file( Name, &A, &B, &C ) Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen: ErrorNo Kein Fehler. Dateifehler (korrupt oder unvollständig). Memory Fehler (DLL-intern, Windows-Arbeitsspeicher). Datei-Open Fehler (leerer String, Datei nicht gefunden etc.). Parameter Name der Korrekturdatei als Pointer auf einen nullterminierten ANSI-String.
  • Seite 428: Read_Analog_In

    Kontrollbefehl read_analog_in Funktion Liest die analogen Eingabewerte (ANALOG IN0 und ANALOG IN1) an der optionalen ADC- ® ® Aufsteckplatine der RTC 5 PCI-Karte oder an der Stiftleiste “SPI / I2C” der RTC 5 PCI- Express-Karte ein und liefert sie als 12-Bit-Digitalwerte zurück. Aufruf AnalogValue = read_analog_in() Rückgabe...
  • Seite 429: Read_Encoder

    Kontrollbefehl read_encoder ® Funktion Liefert die mit store_encoder zwischengespeicherten Zählerstände der beiden RTC Encoder-Zähler zurück. Aufruf read_encoder( &Encoder0_0, &Encoder1_0, &Encoder0_1, &Encoder1_1 ) Parameter- Zählerstände als Pointer auf 32-Bit-Werte mit Vorzeichen. Encoder0_0, rückgabe Encoder1_0, Für Parameter ’Encodern_m’ bedeutet: Encoder0_1, • n: Nummer der Encoder-Zählers (Encoder0, Encoder1). Encoder1_1 •...
  • Seite 430 Kontrollbefehl read_io_port_buffer Funktion Gibt die Daten zurück, die zuvor mit read_io_port_list im IOPort-Buffer abgespeichert wurden (ausgelesener Eingangswert am 16-Bit-Digital-Eingang der EXTENSION 1- Stiftleiste, zum Lesezeitpunkt aktuell gewesene Galvanometerscanner-Sollposition und Zeitangabe). Aufruf CurrentIndex = read_io_port_buffer( Index, &Value, &XPos, &YPos, &Time) Parameter Nummer des auszulesenden Eintrags im IOPort-Buffer als 32-Bit-Wert ohne Index Vorzeichen.
  • Seite 431: Read_Io_Port_List

    Unverzögerter read_io_port_list kurzer Listenbefehl Funktion Schreibt den aktuellen Zustand (DIGITAL IN0 … DIGITAL IN15) des 16-Bit-Digital-Eingangs der EXTENSION 1-Stiftleiste in den internen IOPort-Buffer. Gleichzeitig werden die aktuellen XY-Sollpositionen sowie die (relative) Zeit in Sekunden abgespeichert. Aufruf read_io_port_list() Hinweise • Der Befehl read_io_port_list gibt keine Werte zurück. Diese können aber anschließend mit dem Befehl read_io_port_buffer aus dem IOPort-Buffer ausgelesen werden.
  • Seite 432: Read_Mcbsp

    Kontrollbefehl read_mcbsp Funktion Liest den Eingabewert, der zuletzt vollständig über die McBSP/SPI-Schnittstelle an eine interne Speicherstelle übertragen wurde. Aufruf mcbsp_value = read_mcbsp(No) Parameter Nummer der internen Speicherstelle, von der der Eingabewert gelesen werden soll, als 32-Bit-Wert ohne Vorzeichen. = 0: Speicherstelle für “Processing on the fly”-Anwendungen und die set_mcbsp_in-Eingabe mit Codierungs-Bit#31 = 0.
  • Seite 433: Read_Multi_Mcbsp

    Kontrollbefehl read_multi_mcbsp Funktion Liest den Eingabewert zurück, der zuletzt über die Mehrfach-McBSP/SPI-Übertragung typsortiert gespeichert wurde. Aufruf mcbsp_value = read_multi_mcbsp( No ) Parameter Nummer der typsortierten internen Speicherstelle als 32-Bit-Wert ohne Vorzeichen (No entspricht den Codierungs-Bits #0 - 2 der Mehrfach- McBSP/SPI-Eingabe).
  • Seite 434: Read_Status

    Kontrollbefehl read_status ® Funktion Liefert den Listenstatus der RTC 5 zurück, siehe Kapitel 6.4.2 ”Listenstatus”, Seite Aufruf Status = read_status() Rückgabe Listenstatus als 32-Bit-Wert ohne Vorzeichen: Bit # Name Beschreibung Bit #0 (LSB) LOAD1 = 1: Zeigt an, dass sich der Input-Pointer aktuell in “Liste 1” befindet, d.h.
  • Seite 435 Kontrollbefehl read_status Rückgabe Bit #5 BUSY2 = 1: Zeigt an, dass gerade “Liste 2“ ausgeführt wird (Forts.) (genauer: dass sich der Output-Pointer aktuell in “Liste 2“ befindet, nachdem eine Listenausführung von “Liste 1“ oder “Liste 2“ gestartet wurde). Gesetzt wird BUSY2 durch Starten der “Liste 2”...
  • Seite 436: Read_User_Data

    Kontrollbefehl read_status Hinweise • Wenn der Listenstatus während der Abarbeitung eines Unterprogramms im (Forts.) geschützten Speicherbereich (“Liste 3”) abgefragt wird, so wird der Status derjenigen Liste (“Liste 1” oder “Liste 2”) zurückgegeben, in der sich der Output-Pointer zuletzt befunden hat (in der Regel von wo aus das Unterprogramm ursprünglich aufgerufen wurde).
  • Seite 437: Release_Rtc

    Kontrollbefehl release_rtc ® Funktion Gibt die ausgewählte RTC 5-Karte zur Verwendung durch andere Anwenderprogramme frei. Aufruf NoOfReleasedCard = release_rtc( CardNo ) ® Parameter DLL-interne Nummer der RTC 5-Karte als 32-Bit-Wert ohne Vorzeichen. CardNo Rückgabe Der Rückgabewert (32-Bit-Wert ohne Vorzeichen) ist CardNo, sofern das Anwenderprogramm zuvor im Besitz der Zugriffsberechtigung für diese Karte war.
  • Seite 438: Release_Wait

    Kontrollbefehl release_wait Funktion Setzt die Ausführung einer mit set_wait angehaltenen Liste fort. Aufruf release_wait() ® Hinweise • Der Befehl release_wait wird nur ausgeführt, wenn die RTC 5 tatsächlich im Unterbre- chungs-Status ist (d.h. wenn zuvor ein Unterbrechungspunkt erreicht und die Ausfüh- rung unterbrochen wurde;...
  • Seite 439: Restart_List

    Kontrollbefehl restart_list Funktion Gibt die “Laser active”-Lasersteuersignale wieder frei und setzt eine mit pause_list oder stop_list unterbrochene Listenausgabe fort. Aufruf restart_list() Hinweise • Der Befehl restart_list wird nur ausgeführt, wenn zuvor eine Liste mit pause_list oder stop_list angehalten wurde und sowohl der (mit get_status auslesbare) BUSY-Status als auch der PAUSED-Status gesetzt sind.
  • Seite 440: Rs232_Read_Data

    Kontrollbefehl rs232_read_data Funktion Liest einen Wert aus dem Eingabepuffer der RS232-Schnittstelle (siehe Seite 229). Aufruf RS232Data = rs232_read_data() Rückgabe 32-Bit-Wert ohne Vorzeichen: Bit #0 Nächster (noch nicht vom Anwenderprogramm gelesener) Wert des (LSB)… Eingabepuffers. Bit #7 Bit #8 “Neu”-Bit: = 1: Der Wert ist neu (wurde noch nicht ausgelesen).
  • Seite 441: Rs232_Write_Data

    Kontrollbefehl rs232_write_data Funktion Sendet ein Datenwort (Byte) an die RS232-Schnittstelle. Aufruf rs232_write_data( Data ) Parameter Datenwort als 32-Bit-Wert ohne Vorzeichen. Data Nur das niederwertigste Byte wird an die RS232-Schnittstelle übergeben. Hinweise • Das vollständige Senden eines etwaigen vorherigen Datenwortes wird stets abge- wartet.
  • Seite 442: Rs232_Write_Text_List

    Variabler rs232_write_text_list Listenbefehl Funktion Sendet einen Text (zeichenweise) an die RS232-Schnittstelle. Aufruf rs232_write_text_list( pData ) Parameter PC-Speicheradresse des ersten Zeichens (Byte) des auszugebenden Textes als pData Pointer auf einen nullterminierten String. Hinweise • Beim Laden eines rs232_write_text_list-Befehls wird der auszugebende Text, sofern er aus mehr als 12 Zeichen besteht (\0 nicht mitgezählt), in Blöcke zu je 12 Zeichen zerteilt und für jeden Block ein separater rs232_write_text_list-Befehl in den Listenspeicher geschrieben (man sollte darauf achten, dass es dabei zu keinem unerwünschten Spei-...
  • Seite 443: Rtc5_Count_Cards

    Kontrollbefehl rtc5_count_cards ® Funktion Gibt die Zahl der bei der Initialisierung gefundenen RTC 5-Karten zurück. Aufruf NoOfCards = rtc5_count_cards() ® Rückgabe Zahl der RTC 5-Karten als 32-Bit-Wert ohne Vorzeichen. ® Hinweise • Die Initialisierung der installierten RTC 5-Karten wird für jedes Anwenderprogramm separat mit init_rtc5_dll aufgerufen.
  • Seite 444: Save_Disk

    Kontrollbefehl save_disk Funktion Speichert indizierte Zeichen, Zeichenfolgen und/oder Unterprogramme in Indexreihenfolge in eine binäre Datei auf einen PC-Datenträger und liefert die Anzahl der dabei gespeicherten Listenbefehle zurück. Aufruf NoOfSavedCommands = save_disk( Name, Mode ) Parameter Dateiname als Pointer auf einen nullterminierten ANSI-String. Name Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen) wird ausgewählt, was Mode...
  • Seite 445: Select_Char_Set

    Kontrollbefehl save_disk Hinweise • Für Mode = 0 oder Name = 0 wird der Befehl save_disk ignoriert (get_last_error-Return- (Forts.) code: RTC5_PARAM_ERROR). Der Befehl wird ebenfalls ignoriert (get_last_error-Return- code: RTC5_BUSY), wenn gerade der BUSY-Status der Karte gesetzt ist (Liste wird abgearbeitet oder wurde mit pause_list angehalten) oder wenn der INTERNAL-BUSY- Status der Karte gesetzt ist.
  • Seite 446: Select_Cor_Table

    Kontrollbefehl select_cor_table Funktion Weist die zuvor geladenen Korrekturtabellen den Scan-Kopf-Steuerungs-Ports zu und aktiviert die Bildfeldkorrektur. Aufruf select_cor_table( HeadA, HeadB ) Parameter = 0: Schaltet die Signale für Scan-Kopf A (prim. Scan-Kopf-Anschluss) ab. HeadA = 1…4: Weist Korrekturtabelle Nummer HeadA Scan-Kopf A zu. (als 32-Bit-Wert ohne Vorzeichen) = 0: Schaltet die Signale an Scan-Kopf B (sek.
  • Seite 447 Kontrollbefehl select_cor_table Hinweise • Bei ungültigen Werten für die Parameter HeadA oder HeadB (alle Werte > 4) und beim (Forts.) Wert 0 schaltet select_cor_table die Scan-Kopf-Signale ab. Die Galvanometerscanner bleiben dann in ihrer letzten Position stehen. • Falls die Option “Zweite-Scan-Kopf-Steuerung” nicht freigeschaltet ist, weist select_cor_table dem sekundären Scan-Kopf-Anschluss keine Korrekturtabelle zu.
  • Seite 448: Select_Cor_Table_List

    Kontrollbefehl select_cor_table ® ® 4 RTC 5 Unveränderte Funktionalität. ® Ausnahme: Im Speicher der RTC 5 können jetzt auch bis zu vier Korrekturtabellen gespeichert werden, mit freigeschalteter 3D-Option auch bis zu vier 3D-Korrekturtabellen. Es können aber nicht zwei 3D-Korrekturtabellen gleichzeitig den Scan-Kopf-Steuerungs- Ports zugewiesen werden.
  • Seite 449: Select_Rtc

    Kontrollbefehl select_rtc ® Funktion Definiert die für ein Anwenderprogramm aktive RTC 5-Karte in einem Multi-Board-System (siehe Kapitel 6.6, Seite 90). Aufruf NoOfSelectedCard = select_rtc( CardNo ) ® Parameter (DLL-interne) Nummer der RTC 5-Karte als 32-Bit-Wert ohne Vorzeichen. CardNo Rückgabe Der Rückgabewert (32-Bit-Wert ohne Vorzeichen) ist: •...
  • Seite 450: Select_Serial_Set

    Kontrollbefehl select_serial_set Funktion Wählt einen Seriennummernsatz für Seriennummern-Kontrollbefehle aus. Aufruf select_serial_set( No ) Parameter Nummer des gewünschten Seriennummernsatzes als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … 3]; es werden nur die beiden niederwertigsten Bits ausgewertet. Hinweise • Nach Initialisierung mit load_program_file ist Seriennummernsatz 0 ausgewählt.
  • Seite 451: Set_Angle

    Kontrollbefehl set_angle Funktion Definiert durch Angabe eines Drehwinkels die Drehmatrix M für nachfolgende Koordinatentransformationen (siehe Kapitel 8.2 ”Koordinatentransformationen”, Seite 179). Aufruf set_angle( HeadNo, Angle, at_once ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo = 1: Die Definition wirkt nur auf den primären Scan-Kopf-Anschluss. = 2: Die Definition wirkt nur auf den sekundären Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 452: Set_Angle_List

    Variabler set_angle_list Listenbefehl Funktion Identisch mit set_angle, aber ein Listenbefehl. Aufruf set_angle_list( HeadNo, Angle, at_once ) Parameter Siehe set_angle. HeadNo Siehe set_angle. Angle Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen) wird festgelegt, wann at_once die definierte Transformation wirksam wird. = 0: Die Transformationswerte werden nur gesammelt und zwischen- gespeichert, aber die Transformation wird nicht ausgeführt, solange dies nicht durch eine andere Koordinatentransformation (z.
  • Seite 453: Set_Auto_Laser_Control

    Kontrollbefehl set_auto_laser_control Funktion Initialisiert bzw. deaktiviert die positions- und/oder geschwindigkeits- oder encodergeschwindigkeitsabhängige Lasersteuerung. Aufruf ErrorCode = set_auto_laser_control( Ctrl, Value, Mode, MinValue, MaxValue ) Parameter Kontrollparameter (32-Bit-Wert ohne Vorzeichen) zur Initialisierung bzw. Ctrl Deaktivierung der positions- und/oder geschwindigkeits- oder encodergeschwindigkeitsabhängigen Lasersteuerung. = 1…6: Definiert, welcher Signalparameter durch die positions- und/oder geschwindigkeits- oder encodergeschwindigkeitsabhängige Lasersteuerung automatisch korrigiert wird.
  • Seite 454 Kontrollbefehl set_auto_laser_control MinValue Legt die untere Bereichsgrenze für den über Ctrl ausgewählten Parameter fest, der durch die automatische Korrektur nicht unterschritten werden kann (32-Bit-Wert ohne Vorzeichen). Zulässige Werte: siehe Value. MaxValue Legt die obere Bereichsgrenze für den über Ctrl ausgewählten Parameter fest, der durch die automatische Korrektur nicht überschritten werden kann (32-Bit- Wert ohne Vorzeichen).
  • Seite 455: Set_Auto_Laser_Params

    Kontrollbefehl set_auto_laser_control ® ® 4 RTC 5 Neuer Befehl. ® Im RTC 4-Kompatibilitätsmodus werden für Ctrl = 1/2 die Werte für Value, MinValue und ® MaxValue mit 4 multipliziert. Für Ctrl = 4/5 müssen im RTC 4-Kompatibilitätsmodus die Werte für Value, MinValue und MaxValue in 1/8 µs angegeben werden. Sie werden dann intern auf 1/64 µs-Einheiten umgerechnet (d.h.
  • Seite 456: Set_Auto_Laser_Params_List

    Verzögerter set_auto_laser_params_list kurzer Listenbefehl Funktion Identisch mit set_auto_laser_params, aber ein Listenbefehl. Aufruf set_auto_laser_params_list( Ctrl, Value, MinValue, MaxValue) Parameter Auswahl des zu steuernden Signalparameters (siehe set_auto_laser_control). Ctrl Zulässiger Wertebereich: [1 … 6]. 100%-Wert (siehe set_auto_laser_control). Value untere Bereichsgrenze (siehe set_auto_laser_control). MinValue obere Bereichsgrenze (siehe set_auto_laser_control).
  • Seite 457: Set_Char_Pointer

    Kontrollbefehl set_char_pointer Funktion Speichert die absolute Startadresse einer Befehlsliste in der internen Verwaltungstabelle für indizierte Zeichen. Aufruf set_char_pointer( Char, Pos ) Parameter Index des indizierten Zeichens, für das die Startadresse Pos in die Char Verwaltungstabelle eingetragen werden soll als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 …...
  • Seite 458: Set_Char_Table

    Kontrollbefehl set_char_table Funktion Speichert die absolute Startadresse einer Befehlsliste in der internen Verwaltungstabelle für indizierte Zeichenfolgen. Aufruf set_char_table( Index, Pos ) Parameter Index der indizierten Zeichenfolge, für die die Startadresse Pos in die Index Verwaltungstabelle eingetragen werden soll als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 …...
  • Seite 459: Set_Control_Mode

    Kontrollbefehl set_control_mode Funktion Aktiviert bzw. deaktiviert die externe Start-Eingabe (für externe Listen-Starts), ver- oder entriegelt die externe Stopp-Eingabe (für externe Listen-Stopps) und setzt den Zähler für externe Listen-Starts auf Null. Aufruf set_control_mode( Mode ) Parameter Mode (als 32-Bit-Wert ohne Vorzeichen): Bit # Wert Beschreibung...
  • Seite 460 Kontrollbefehl set_control_mode Bit #10 = 1: Die mit simulate_ext_start, set_ext_start_delay oder set_ext_start_delay_list konfigurierte Streckenverzögerung wird ab dem zuletzt extern oder simuliert (nicht aber mit execute_list_pos etc.) ausgelösten externen Listen-Start gezählt. Der Abstand aufeinander folgender externer Listen-Starts (in Encoder-Pulsen) wird dadurch konstant (siehe auch Seite 234).
  • Seite 461: Set_Control_Mode_List

    Normaler set_control_mode_list Listenbefehl Funktion Ähnlich wie set_control_mode, aber ein Listenbefehl. Aufruf set_control_mode_list( Mode ) Parameter Mode (als 32-Bit-Wert ohne Vorzeichen). Hinweise • Der Zähler für externe Listen-Starts wird durch diesen Befehl nicht zurückgesetzt. ® ® ® 4 RTC 5 Unveränderte Funktionalität für bereits bei der RTC 4 verwendete Bits.
  • Seite 462: Set_Defocus

    Kontrollbefehl set_defocus Funktion Legt eine Fokusverschiebung für alle nachfolgenden 3D-Vektorausgaben fest. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), hat der Befehl keine Auswirkung. Der angegebene Wert für die Fokusverschiebung bleibt aber intern gespeichert und wird wirksam, sobald eine 3D-Korrekturtabelle zugewiesen wird.
  • Seite 463: Set_Defocus_List

    Variabler set_defocus_list Listenbefehl Funktion Ähnlich wie set_defocus, aber ein Listenbefehl. Einschränkung Siehe set_defocus. Aufruf set_defocus_list( Shift ) Parameter Siehe set_defocus. Shift Hinweise • Siehe set_defocus. • set_defocus_list ist zwar ein kurzer Listenbefehl, der unmittelbar nachfolgende Listen- befehl wird aber durch den dazwischengeschalteten Sprung auf die geänderte z-Posi- tion um einige Takte verzögert ausgeführt, abhängig von der Größe der angegebenen Fokusverschiebung, mindestens jedoch um 10 µs, auch für Shift= 0.
  • Seite 464: Set_Delay_Mode

    Kontrollbefehl set_delay_mode Funktion Schaltet den variablen Polygon-Delay-Modus und den variablen Jump-Delay-Modus ein oder aus und setzt einige spezielle Scanner-Delay-bezogene Parameter sowie den 3D-Z-Move-Modus. Aufruf set_delay_mode( VarPoly, DirectMove3D, EdgeLevel, MinJumpDelay, JumpLengthLimit ) Parameter Alle Parameter werden als 32-Bit-Werte ohne Vorzeichen übergeben. Parameter Zulässige Werte Beschreibung >...
  • Seite 465: Set_Delay_Mode_List

    Kontrollbefehl set_delay_mode ® ® 4 RTC 5 Unveränderte Funktionalität (außer erhöhte Wertebereiche). ® Im RTC 4-Kompatibilitätsmodus wird der angegebene Wert für JumpLengthLimit von der ® 5 mit 16 multipliziert (der zulässige Wertebereich verringert sich entsprechend auf [0 … (2 –1)]). Verweise set_scanner_delays, load_varpolydelay, set_delay_mode_list...
  • Seite 466: Set_Ellipse

    Unverzögerter set_ellipse kurzer Listenbefehl Funktion Definiert die Form eines ellipsenförmigen Bogens, der anschließend mit mark_ellipse_abs oder mark_ellipse_rel markiert werden kann. Aufruf set_ellipse( a, b, Phi0, Phi ) Parameter Länge der Ellipsenhalbachsen in Bits als 32-Bit-Werte ohne Vorzeichen. a, b Zulässiger Wertebereich: [1 … 8.388.607]. Überlaufende positive Werte werden auf den Randbereich geclippt.
  • Seite 467: Set_Encoder_Speed

    Verzögerter set_encoder_speed kurzer Listenbefehl Funktion Definiert die Soll-Encodergeschwindigkeit und weitere Parameter für die encodergeschwindigkeitsabhängige automatische Lasersteuerung. Aufruf set_encoder_speed( EncoderNo, Speed, Smooth ) Parameter EncoderNo Nummer des Encoders, der für die Geschwindigkeitsmessung herangezogen werden soll als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 0: Encoder-Zähler Encoder0.
  • Seite 468: Set_Encoder_Speed_Ctrl

    Kontrollbefehl set_encoder_speed_ctrl Funktion Identisch mit set_encoder_speed, aber ein Kontrollbefehl. Aufruf set_encoder_speed_ctrl( EncoderNo, Speed, Smooth ) Parameter EncoderNo Nummer des Encoders, der für die Geschwindigkeitsmessung herangezogen werden soll als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 0: Encoder-Zähler Encoder0. = 1: Encoder-Zähler Encoder1. = 2 und 3: vektorielle Encodergeschwindigkeit: aus beiden Encoder- geschwindigkeiten (aus den Zählerpulsraten beider Encoder-Zähler wird eine vektorielle Geschwindigkeit berechnet und dann bei der...
  • Seite 469: Set_End_Of_List

    Normaler set_end_of_list Listenbefehl Funktion Beendet die Ausführung einer Liste. Aufruf set_end_of_list() Hinweise • Falls beim Abarbeiten einer Liste ein set_end_of_list-Befehl erreicht wird und zuvor kein automatischer Listenwechsel aktiviert wurde (siehe ”Automatischer Listen- wechsel”, Seite 79), so endet die Listenausführung. Die “Laser active”-Lasersteuersig- nale werden dann ausgeschaltet und ein evtl.
  • Seite 470: Set_Extstartpos

    Kontrollbefehl set_extstartpos Funktion Definiert die Adresse (im Listenbereich “Liste 1” oder “Liste 2”), bei der die Ausführung bei nachfolgenden externen Listen-Starts fortfahren soll. Aufruf set_extstartpos( Pos ) Parameter Absolute Speicheradresse des ersten auszugebenden Listenbefehls als 32-Bit- Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … (2 –1)].
  • Seite 471: Set_Ext_Start_Delay

    Kontrollbefehl set_ext_start_delay Funktion Stellt eine Streckenverzögerung für nachfolgende externe Listen-Starts ein, so dass die Ausführung der Listen-Starts relativ zum jeweils auslösenden Eingangssignal bzw. simulate_ext_start- oder simulate_ext_start_ctrl-Befehl entsprechend verzögert wird. Aufruf set_ext_start_delay( Delay, EncoderNo ) Parameter Streckenverzögerung (Zählerschritte des mit EncoderNo ausgewählten Delay Encoder-Zählers) als 32-Bit-Wert mit Vorzeichen.
  • Seite 472: Set_Ext_Start_Delay_List

    Normaler set_ext_start_delay_list Listenbefehl Funktion Identisch mit set_ext_start_delay, aber ein Listenbefehl. Aufruf set_ext_start_delay_list( Delay, EncoderNo ) Parameter Siehe set_ext_start_delay. Delay EncoderNo Siehe set_ext_start_delay. Hinweise • Für EncoderNo > 1 wird set_ext_start_delay_list durch ein list_nop ersetzt (get_last_error-Returncode RTC5_PARAM_ERROR). ® ® 4 RTC 5 Siehe set_ext_start_delay.
  • Seite 473: Set_Fly_2D

    Normaler set_fly_2d Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer linearen Werkstück- Bewegung in zwei Dimensionen (gemäß den Encoderwerten, die über die Encoder-Zähler ® Encoder0 und Encoder1 an die RTC 5 übergeben und ggf. über eine spezielle 2D-Tabelle korrigiert werden) und setzt die zugehörigen Skalierungsfaktoren.
  • Seite 474: Set_Fly_Limits

    Normaler set_fly_2d Listenbefehl ® ® 4 RTC 5 Neuer Befehl. ® Im RTC 4-Kompatibilitätsmodus werden die angegebenen Skalierungsfaktoren von der ® 5 mit 16 multipliziert (der zulässige Wertebereich ändert sich entsprechend). Versionsinfo Verfügbar ab Version DLL 536, OUT 536. Verweise init_fly_2d, load_fly_2d_table, get_fly_2d_offset, activate_fly_2d, activate_fly_xy Unverzögerter...
  • Seite 475: Set_Fly_Limits_Z

    Unverzögerter set_fly_limits_z kurzer Listenbefehl Funktion Definiert die Bereichsgrenzen für den kundenspezifischen Überwachungsbereich in “Processing on the fly”-Anwendungen für die Z-Achse. Aufruf set_fly_limits_z( Zmin, Zmax ) Parameter Bereichsgrenzen als 32-Bit-Werte mit Vorzeichen. Zmin, Zulässiger Wertebereich: [–32.768 … 32.767]. Zmax Überlaufende Werte werden auf den Randbereich geclippt. Hinweise •...
  • Seite 476: Set_Fly_Rot

    Normaler set_fly_rot Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer Rotationsbewegung des Werkstücks (gemäß den Winkelpositionswerten, die über den ® Encoder-Zähler Encoder0 an die RTC 5 übergeben werden) und setzt den zugehörigen Parameter Resolution. Der Encoder-Zähler Encoder0 wird gegebenenfalls auf Null zurückgesetzt (siehe Hinweis).
  • Seite 477: Set_Fly_Rot_Pos

    Normaler set_fly_rot_pos Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer Rotationsbewegung des Werkstücks oder Scan-Systems (gemäß den ® Winkelpositionswerten, die über die McBSP/SPI-Schnittstelle an die RTC 5 übergeben werden) und setzt dabei den zugehörigen Parameter Resolution. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 478: Set_Fly_Tracking_Error

    Kontrollbefehl set_fly_tracking_error Funktion Aktiviert oder deaktiviert eine Schleppverzugskompensation von Encoderwerten für “Processing on the fly”-Anwendungen. Aufruf set_fly_tracking_error( TrackingErrorX, TrackingErrorY ) Parameter Schleppverzug in Einheiten von [10 µs] für die jeweilige Achse TrackingErrorX, (32 Bit-Werte mit Vorzeichen). TrackingErrorY Zulässiger Wertebereich: [0 … 65535]. Überzählige Bits werden ignoriert.
  • Seite 479: Set_Fly_X

    Normaler set_fly_x Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer linearen Werkstück- Bewegung in x-Richtung (gemäß den Positionswerten, die über den Encoder-Zähler ® Encoder0 an die RTC 5 übergeben werden) und setzt den zugehörigen Skalierungsfaktor. Der Encoder-Zähler Encoder0 wird gegebenenfalls auf Null zurückgesetzt (siehe Hinweis). Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 480: Set_Fly_X_Pos

    Normaler set_fly_x_pos Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer linearen Werkstück- oder Scan-System-Bewegung in x-Richtung (gemäß den Positionswerten, die über die ® McBSP/SPI-Schnittstelle an die RTC 5 übergeben werden) und setzt dabei den zugehörigen Skalierungsfaktor. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 481: Set_Fly_Y

    Normaler set_fly_y Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer linearen Werkstück- Bewegung in y-Richtung (gemäß den Positionswerten, die über den Encoder-Zähler ® Encoder1 an die RTC 5 übergeben werden) und setzt den zugehörigen Skalierungsfaktor. Der Encoder-Zähler Encoder1 wird gegebenenfalls auf Null zurückgesetzt (siehe Hinweis). Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 482: Set_Fly_Y_Pos

    Normaler set_fly_y_pos Listenbefehl Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation einer linearen Werkstück- oder Scan-System-Bewegung in y-Richtung (gemäß den Positionswerten, die über die ® McBSP/SPI-Schnittstelle an die RTC 5 übergeben werden) und setzt dabei den zugehörigen Skalierungsfaktor. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 483: Set_Free_Variable

    Kontrollbefehl set_free_variable Funktion Belegt eine freie Variable mit dem gewünschten Wert. Aufruf set_free_variable( No, Value ) Parameter Nummer derjenigen freien Variablen, deren Wert gesetzt werden soll als 32-Bit-Wert ohne Vorzeichen. Zulässiger Bereich: [0 … 7]. Es werden nur die beiden niederwertigsten Bits ausgewertet. Gewünschter Variablenwert als 32-Bit-Wert ohne Vorzeichen.
  • Seite 484: Set_Hi

    Kontrollbefehl set_hi Funktion Definiert Gain- und Offset-Werte für die Galvanometerscanner des Scan-Systems am angegebenen Scan-Kopf-Anschluss. Aufruf set_hi( HeadNo, GalvoGainX, GalvoGainY, GalvoOffsetX, GalvoOffsetY ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo Zulässige Werte: = 1: Primärer Scan-Kopf-Anschluss. = 2: Sekundärer Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 485: Kapitel 9.3.2 "Bedingte Befehlsausführung", Seite

    Kontrollbefehl set_input_pointer Funktion Öffnet den Listenspeicher zum Beschreiben mit Listenbefehlen und setzt den Input-Pointer an die angegebene (absolute) Adresse im Listenbereich (“Liste 1” oder “Liste 2”). Der nächste Listenbefehl wird an dieser Adresse gespeichert und alle nachfolgenden Listenbefehle an den darauffolgenden Adressen in der gewählten Liste. Aufruf set_input_pointer( Pos ) Parameter...
  • Seite 486 Kontrollbefehl set_jump_mode Funktion Gibt frei und aktiviert bzw. unterdrückt und deaktiviert den Sprungmodus für 2D-Sprünge und legt die zugehörigen Parameter fest (vor einer Aktivierung wird gegebenenfalls eine Überprüfung ausgeführt, siehe auch Seite 174). Voraussetzung Eine Freigabe ist nur möglich, wenn mindestens an einem der beiden Scan-Kopf- ®...
  • Seite 487 Kontrollbefehl set_jump_mode Rückgabe Fehlercode als 32-Bit-Wert mit Vorzeichen: Kein Fehler: Flag erfolgreich auf 0 umgeschaltet (Sprungmodus deaktiviert, Vektormodus aktiviert). Kein Fehler: Flag erfolgreich auf 1 umgeschaltet (Sprungmodus aktiviert, Vektormodus deaktiviert). –1 Flag erfolgreich (wie gewünscht) auf –1 umgeschaltet (Sprungmodus deaktiviert und unterdrückt). –2 Busy-Fehler: Karte BUSY oder INTERNAL-BUSY (get_last_error-Returncode: RTC5_BUSY).
  • Seite 488 Kontrollbefehl set_jump_mode Hinweise • Als Tuningnummer ist –1 anzugeben, wenn bestimmte Tunings nicht überprüft werden ® (Forts.) sollen (z. B. weil kein intelliSCAN Scan-System angeschlossen ist oder weil gewisse Tunings nicht vorhanden sind, etwa kein Vektortuning für reine Bohr-Anwendungen) oder wenn nach der Umschaltung in das Sprungtuning keine Rückumschaltung mehr in ein Vektortuning gewünscht ist.
  • Seite 489 Normaler set_jump_mode_list Listenbefehl Funktion Aktiviert und deaktiviert bzw. unterdrückt den Sprungmodus für 2D-Sprünge. Voraussetzung Siehe set_jump_mode. Aufruf set_jump_mode_list( Flag ) Parameter Siehe set_jump_mode. Flag Hinweise • Zur Verwendung des Befehls siehe Kapitel 8.1.5 ”Sprungmodus”, Seite 173. • set_jump_mode_list funktioniert wie der Kontrollbefehl set_jump_mode (siehe Hinweise dort), aber als Listenbefehl und mit den folgenden Unterschieden:...
  • Seite 490 Unverzögerter set_jump_speed kurzer Listenbefehl Funktion Definiert die Sprunggeschwindigkeit für die nachfolgenden Vektorbefehle. Aufruf set_jump_speed( Speed ) Parameter Sprunggeschwindigkeit in Bits pro ms (im 64-Bit-IEEE- Speed Gleitkommaformat). Zulässiger Bereich: [1,6 … 800.000,0]. Hinweise • Standardmäßig ist eine Sprunggeschwindigkeit von 10.000 Bits pro ms voreingestellt. •...
  • Seite 491 Kontrollbefehl set_jump_table Funktion Liest die an der angegebenen PC-Adresse gespeicherte Jump-Delay-Tabelle mit 1024 16-Bit-Werten ohne Vorzeichen und lädt sie als Jump-Delay-Tabelle auf die Karte (siehe Hinweise zu get_jump_table). Aufruf ErrorCode = set_jump_table( Addr ) Parameter PC-Adresse für den 2048 Byte großen Speicherbereich. Addr Rückgabe Fehlercode als 32-Bit-Wert ohne Vorzeichen:...
  • Seite 492 Kontrollbefehl set_laser_control Funktion Lasersteuersignale definieren, freigegeben oder unterdrücken. Aufruf set_laser_control( Ctrl ) Parameter Ctrl (32-Bit-Wert ohne Vorzeichen): Bit # Beschreibung Bit #0 Pulse Switch Setting (betrifft weder Lasermode 4 noch Lasermode 6): (LSB) Die Einstellung betrifft nur diejenigen Lasersteuersignale (genauer: diejenigen LASER1- oder LASER2-“Laser active”-Modulationspulse in der CO -Version bzw.
  • Seite 493 Kontrollbefehl set_laser_control Parameter Bit #7 = 0: Der “konstante Pulslänge”-Modus wird ausgeschaltet (Forts.) (Standard-Einstellung). = 1: Der “konstante Pulslänge”-Modus wird eingeschaltet (siehe Seite 154 und set_pulse_picking_length). Bits #8- Reserviert. Bit #16 PowerOK von Kopf A und Achse X wird für die automatische Lasersignalunterdrückung verwendet.
  • Seite 494 Kontrollbefehl set_laser_control Hinweise • In der Standardeinstellung (nach einem Reset) sind alle Bits auf 0 gesetzt. Nach einem Hardware-Reset werden die Einstellungen allerdings erst durch einen mindestens einmaligen Aufruf von set_laser_control wirksam. Vorher befinden sich alle Laser- signal-Ausgänge (LASERON, LASER1 und LASER2) im (hochohmigen) tristate-Zustand. TTL-Zustände (LOW oder HIGH) stellen sich erst dann ein, wenn set_laser_control aufgerufen wird und dabei der gewünschte TTL-Pegel festgelegt wird –...
  • Seite 495 Unverzögerter set_laser_delays kurzer Listenbefehl Funktion Definiert das LaserOn-Delay und das LaserOff-Delay. Aufruf set_laser_delays( LaserOnDelay, LaserOffDelay ) Parameter LaserOn-Delay als 32-Bit-Wert mit Vorzeichen. LaserOnDelay 1 Bit entspricht 0,5 µs. Zulässiger Bereich: [ – 2 … +(2 –1)]. LaserOff-Delay als 32-Bit-Wert ohne Vorzeichen. LaserOffDelay 1 Bit entspricht 0,5 µs.
  • Seite 496 Kontrollbefehl set_laser_mode ® Funktion Bestimmt die Lasersteuerungsversion der RTC Aufruf set_laser_mode( Mode ) Parameter Als 32-Bit-Wert ohne Vorzeichen. Mode = 0: -Version. = 1: YAG-Version 1. = 2: YAG-Version 2. = 3: YAG-Version 3. = 4: Lasermode 4. YAG-Version 5. = 6: Lasermode 6.
  • Seite 497 Kontrollbefehl set_laser_pin_out Funktion Schreibt einen Wert auf die zwei digitalen Ausgänge der LASER-Buchse. Aufruf set_laser_pin_out( Pins ) Parameter Ausgabewert (DIGITAL OUT1 und DIGITAL OUT2) als 32-Bit-Wert ohne Pins Vorzeichen. Bit # 0: DIGITAL OUT1. Bit # 1: DIGITAL OUT2. Bits # 2…31:Reserviert. Hinweise •...
  • Seite 498 Verzögerter set_laser_pulses kurzer Listenbefehl Funktion Definiert die Ausgabeperiode und die Pulslänge der Lasersignale LASER1 und LASER2 für den “Laser active”-Betrieb. Aufruf set_laser_pulses( HalfPeriod, PulseLength ) Parameter Halbe (Q-Switch-) Ausgabeperiode in Bits als 32-Bit-Wert ohne HalfPeriod Vorzeichen. 1 Bit entspricht 1/64 µs. Zulässiger Bereich: [0 …...
  • Seite 499 Kontrollbefehl set_laser_pulses_ctrl Funktion Identisch mit set_laser_pulses, aber ein Kontrollbefehl. Aufruf set_laser_pulses_ctrl( HalfPeriod, PulseLength ) Parameter Halbe (Q-Switch-) Ausgabeperiode in Bits als 32-Bit-Wert ohne HalfPeriod Vorzeichen. 1 Bit entspricht 1/64 µs. Zulässiger Bereich: [0 … (2 –1)]. Pulslänge der Lasersignale LASER1 und LASER2 in Bits als 32-Bit-Wert PulseLength ohne Vorzeichen.
  • Seite 500 Verzögerter set_laser_timing kurzer Listenbefehl Funktion Definiert die Ausgabeperiode und die Pulslänge der Lasersignale LASER1 und LASER2 für den “Laser active”-Betrieb. Aufruf set_laser_timing( HalfPeriod, PulseLength1, PulseLength2, TimeBase ) Parameter Halbe (Q-Switch-) Ausgabeperiode in Bits als 32-Bit-Wert ohne HalfPeriod Vorzeichen. ® • Im RTC 5-Modus: 1 Bit entspricht 1/64 µs.
  • Seite 501 Verzögerter set_laser_timing kurzer Listenbefehl Hinweise • Beachten Sie, dass unter HalfPeriod die halbe Periodendauer angegeben werden muss (siehe Abb. 50 Abb. 51). • Wenn HalfPeriod und/oder PulseLength1 den Wert 0 haben, werden keine Lasersignale ausgegeben. • HalfPeriod sollte bei Verwendung des Softstart-Modus (siehe Seite 149) nicht kleiner als 104 sein (dies wird aber nicht automatisch kontrolliert ).
  • Seite 502 Verzögerter set_mark_speed kurzer Listenbefehl Funktion Definiert die Markiergeschwindigkeit für die nachfolgenden Vektor- und Bogenbefehle. Aufruf set_mark_speed( Speed ) Parameter Markiergeschwindigkeit in Bits pro ms (im 64-Bit-IEEE- Speed Gleitkommaformat). Zulässiger Bereich: [1,6 … 800.000,0]. Hinweise • Standardmäßig ist eine Markiergeschwindigkeit von 1000 Bits pro ms voreingestellt. •...
  • Seite 503: Kapitel 8.2 "Koordinatentransformationen", Seite

    Kontrollbefehl set_matrix Funktion Definiert die Koeffizienten der allgemeinen Transformationsmatrix M für nachfolgende Koordinatentransformationen, siehe Kapitel 8.2 ”Koordinatentransformationen”, Seite 179. Aufruf set_matrix( HeadNo, M11, M12, M21, M22, at_once ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen: HeadNo = 1: Die Definition wirkt nur auf den primären Scan-Kopf-Anschluss. = 2: Die Definition wirkt nur auf den sekundären Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 504 Variabler set_matrix_list Listenbefehl Funktion Ändert einen der vier Koeffizienten der allgemeinen Transformationsmatrix M während der Ausführung einer Liste, siehe Kapitel 8.2 ”Koordinatentransformationen”, Seite 179. Aufruf set_matrix_list( HeadNo, Ind1, Ind2, Mij, at_once ) Parameter Siehe set_matrix. HeadNo Zeilenindex und Spaltenindex des zu ändernden Matrixkoeffizienten Ind1, als 32-Bit-Wert ohne Vorzeichen.
  • Seite 505 Kontrollbefehl set_max_counts Funktion Definiert die maximale Zahl an externen Listen-Starts. Aufruf set_max_counts( Counts ) Parameter maximale Zahl an externen Listen-Starts als 32-Bit-Wert ohne Vorzeichen. Counts Zulässiger Bereich: [0 … (2 –1)]. Hinweise • Sobald die angegebene maximale Zahl an externen Listen-Starts erreicht worden ist, wird die externe Start-Eingabe deaktiviert (siehe set_control_mode, Bit#0 = 0).
  • Seite 506: Kapitel 8.7 ""Processing On The Fly" (Optional)", Seite

    Kontrollbefehl set_mcbsp_in Funktion Aktiviert die “Processing on the fly”-Korrektur zur Kompensation von Bewegungen des Werkstücks oder Scan-Systems gemäß den Positionswerten, die über die McBSP/SPI- ® Schnittstelle an die RTC 5 übergeben werden. Die McBSP/SPI-Schnittstelle kann zusätzlich zur Eingabe von beliebigen anderen Signalen verwendet werden. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 507 Kontrollbefehl set_mcbsp_in ® ® 4 RTC 5 Neuer Befehl. Versionsinfo Verfügbar ab Version DLL 531, OUT 532. Verweise set_mcbsp_in_list Unverzögerter set_mcbsp_in_list kurzer Listenbefehl Funktion Identisch mit set_mcbsp_in, aber ein Listenbefehl. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann).
  • Seite 508 Kontrollbefehl set_mcbsp_matrix Funktion Aktiviert eine Matrix-Korrektur für die Online-Positionierung über die McBSP/SPI- Schnittstelle. Aufruf set_mcbsp_matrix() Hinweise • Zur Online-Positionierung siehe Kapitel 8.3 ”Online-Positionierung”, Seite 183. • Eine Matrix-Korrektur kann nicht zusammen mit Offset- und/oder Rotationskorrekturen verwendet werden. Entsprechende zuvor aktivierte Optionen werden durch set_mcbsp_matrix deaktiviert.
  • Seite 509 Unverzögerter set_mcbsp_matrix_list kurzer Listenbefehl Funktion Identisch mit set_mcbsp_matrix, aber ein Listenbefehl. Aufruf set_mcbsp_matrix_list() Hinweise • Siehe set_mcbsp_matrix. ® ® 4 RTC 5 Neuer Befehl. Versionsinfo Verfügbar ab Version DLL 533, OUT 534, RBF 524. Verweise set_mcbsp_matrix Unverzögerter set_mcbsp_out kurzer Listenbefehl Funktion Definiert zwei Signaltypen für die Ausgabe an der McBSP/SPI-Schnittstelle (Multi channel Buffered Serial Port, siehe...
  • Seite 510 Kontrollbefehl set_mcbsp_out_ptr Funktion Definiert eine Liste von bis zu 8 Signaltypen für die Ausgabe an der McBSP/SPI-Schnittstelle (Multi channel Buffered Serial Port, siehe Kapitel 4.4.6 ”SPI / I2C-Stiftleiste”, Seite 54). Aufruf set_mcbsp_out_ptr( Number, SignalPtr ) Parameter 32-Bit-Wert ohne Vorzeichen. Zulässiger Bereich: [0 … 8]. Number = 1…8: Anzahl der auszugebenden Signaltypen.
  • Seite 511 Kontrollbefehl set_mcbsp_rot Funktion Aktiviert oder deaktiviert eine Rotations-Korrektur für die Online-Positionierung über die McBSP/SPI-Schnittstelle. Aufruf set_mcbsp_rot( Resolution ) Parameter Angabe im 64-Bit IEEE Gleitkommaformat: Resolution –26 < Resolution < 2 : Skalierungsfaktor (Korrektur wird aktiviert), sonst: Korrektur wird deaktiviert. Resolution = McBSP/SPI-Bits pro Vollkreis. Hinweise •...
  • Seite 512 Kontrollbefehl set_mcbsp_x Funktion Aktiviert oder deaktiviert eine X-Offset-Korrektur für die Online-Positionierung über die McBSP/SPI-Schnittstelle. Aufruf set_mcbsp_x( Scale ) Parameter Angabe im 64-Bit IEEE Gleitkommaformat: Scale –26 < Scale < 2 : Skalierungsfaktor (Korrektur wird aktiviert), sonst: Korrektur wird deaktiviert. Hinweise •...
  • Seite 513 Kontrollbefehl set_mcbsp_y Funktion Aktiviert oder deaktiviert eine Y-Offset-Korrektur für die Online-Positionierung über die McBSP/SPI-Schnittstelle. Aufruf set_mcbsp_y( Scale ) Parameter Angabe im 64-Bit IEEE Gleitkommaformat: Scale –26 < Scale < 2 : Skalierungsfaktor (Korrektur wird aktiviert), sonst: Korrektur wird deaktiviert. Hinweise •...
  • Seite 514 Kontrollbefehl set_multi_mcbsp_in Funktion Aktiviert eine “Processing on the fly”-Anwendung und eine Mehrfach-Übertragung über die McBSP/SPI-Schnittstelle mit bis zu acht verschiedenen Datentypen. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann). Aufruf set_multi_mcbsp_in( Ctrl, P, Mode ) Parameter...
  • Seite 515 Kontrollbefehl set_multi_mcbsp_in Hinweise • Bei mehr als vier abgeschlossenen McBSP/SPI-Übertragungen innerhalb eines 10 µs- (Forts.) Taktes können vorherige Werte überschrieben werden. • Sofern die “Processing on the fly”-Option freigeschaltet ist, aktiviert der Befehl eine “Processing on the fly”-Anwendung mit Positionsangaben für die drei Koordinaten- richtungen X, Y und Z.
  • Seite 516 Normaler set_multi_mcbsp_in_list Listenbefehl Funktion Identisch mit set_multi_mcbsp_in, aber ein Listenbefehl. Einschränkung Falls die “Processing on the fly”-Option nicht freigeschaltet ist, schaltet der Befehl den “Processing on the fly”-Prozess aus (auch wenn er nie angewesen sein kann). Aufruf set_multi_mcbsp_in_list( Ctrl, P, Mode ) Parameter Siehe set_multi_mcbsp_in.
  • Seite 517 Variabler set_n_pixel Listenbefehl Funktion Definiert im Pixelausgabemodus die Lasersteuerungsparameter (Pulslänge und Analogspannungswert) für mehrere unmittelbar aufeinander folgende identische Pixel einer Bildzeile. Aufruf set_n_pixel( PulseLength, AnalogOut, Number ) Parameter Länge des Pixelpulses (als 32-Bit-Wert ohne Vorzeichen). PulseLength 1 Bit entspricht 1/64 µs. Zulässiger Bereich: [0 …...
  • Seite 518 Kontrollbefehl set_offset Funktion Definiert einen Offset für nachfolgende Koordinatentransformationen (siehe ”Koordinatentransformationen”, Seite 179). Aufruf set_offset( HeadNo, XOffset, YOffset, at_once ) Parameter Siehe set_offset_xyz. HeadNo Siehe set_offset_xyz. XOffset, YOffset Siehe set_offset_xyz. at_once Hinweise • Siehe auch Kapitel 8.2 ”Koordinatentransformationen”, Seite 179. •...
  • Seite 519 Kontrollbefehl set_offset_xyz Funktion Definiert einen Offset für nachfolgende Koordinatentransformationen, siehe Kapitel 8.2 ”Koordinatentransformationen”, Seite 179. Aufruf set_offset_xyz( HeadNo, XOffset, YOffset, ZOffset, at_once ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen: HeadNo = 1: Die Definition wirkt nur auf den primären Scan-Kopf-Anschluss. = 2: Die Definition wirkt nur auf den sekundären Scan-Kopf-Anschluss (Freischaltung erforderlich).
  • Seite 520 Kontrollbefehl set_offset_xyz ® ® 4 RTC 5 Neuer Befehl. ® Die Bildfeldkoordinaten für die X- und Y-Achse werden bei der RTC 5 als 20-Bit-Werte ® ® angegeben. Im RTC 4-Kompatibilitätsmodus dagegen werden die wie bei der RTC 4 als 16-Bit-Werte angegebenen Offsetwerte für die X- und Y-Achse (nicht für die Z-Achse) von ®...
  • Seite 521 Variabler set_pixel Listenbefehl Funktion Definiert im Pixelausgabemodus die Lasersteuerungsparameter (Pulslänge und Analogspannungswert) eines einzelnen Pixels einer Bildzeile. Aufruf set_pixel( PulseLength, AnalogOut ) Parameter Länge des Pixelpulses (als 32-Bit-Wert ohne Vorzeichen). PulseLength 1 Bit entspricht 1/64 µs. Zulässiger Bereich: [0 … (2 –1)].
  • Seite 522 Normaler set_pixel_line Listenbefehl Funktion Aktiviert den Pixelausgabemodus und definiert verschiedene Pixelausgabeparameter. Aufruf set_pixel_line( Channel, HalfPeriod, dX, dY ) Parameter Nummer des Analogausgangs (als 32-Bit-Wert ohne Vorzeichen), an Channel welchem die mit nachfolgenden set_pixel/set_n_pixel-Befehlen festgelegten Analogspannungswerte ausgegeben werden. Zulässiger Bereich: [1, 2] (1: ANALOG OUT1, 2: ANALOG OUT2). Halbe Pixelausgabeperiode in Bits als 32-Bit-Wert ohne Vorzeichen.
  • Seite 523 Normaler set_pixel_line Listenbefehl ® ® ® ® 4 RTC • Die RTC 5 stellt nur einen Pixelmodus zur Verfügung (dieser entspricht RTC PixelMode = 1) . ® • Bei der RTC 5 kann der Ausgabekanal Channel für die Analogsignale ausgewählt ®...
  • Seite 524 Kontrollbefehl set_port_default Funktion Definiert den Default-Ausgabewert für den ausgewählten Ausgabe-Port. Aufruf set_port_default( Port, Value ) Parameter Auswahl des Ausgabe-Ports, für den ein Defaultwert Value definiert werden soll Port als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 0: ANALOG OUT1-Ausgang (siehe auch Seite = 1: ANALOG OUT2-Ausgang (siehe auch...
  • Seite 525 Kontrollbefehl set_pulse_picking Funktion Schaltet den Pulse-Picking-Lasermodus ein. Aufruf set_pulse_picking( No ) Parameter 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … 63]. = 0: auf LASER2 wird das LASERON-Signal ausgegeben. = 1…63: auf LASER2 jeder No-te LASER1-Puls ausgegeben. Für No > 63 wird No auf 63 geclippt (get_last_error-Returncode RTC5_PARAM_ERROR).
  • Seite 526 Normaler set_pulse_picking_list Listenbefehl Funktion Identisch mit set_pulse_picking, aber ein Listenbefehl. Aufruf set_pulse_picking_list( No ) Parameter Siehe set_pulse_picking. ® ® 4 RTC 5 Neuer Befehl. Versionsinfo Verfügbar ab Version DLL 529, OUT 530, RBF 521. Verweise set_pulse_picking Kontrollbefehl set_qswitch_delay Funktion Legt in den YAG-Versionen die Länge des Delays des ersten Q-Switch-Pulses bzgl. des FirstPulseKiller-Signals fest (siehe auch Abb.
  • Seite 527 Kontrollbefehl set_rot_center Funktion Definiert die Lage des Rotationszentrums für “Processing on the fly”-Rotationskorrekturen (siehe set_fly_rot und set_fly_rot_pos). Aufruf set_rot_center( X, Y ) Parameter Lage des Rotationszentrums bezogen auf den Mittelpunkt (0,0) des Bildfeldes X, Y als 32-Bit-Werte mit Vorzeichen. Zulässiger Wertebereich: [–2 …...
  • Seite 528 Kontrollbefehl set_rtc4_mode ® Funktion Setzt den RTC 4-Kompatibilitätsmodus als aktuellen DLL-Betriebsmodus. Aufruf set_rtc4_mode() ® Hinweise • Der RTC 4-Kompatibilitätsmodus ist ein optionaler Betriebsmodus der DLL. Er wird zur ® Verfügung gestellt, damit Anwenderprogramme, die für die RTC 4 geschrieben sind, ®...
  • Seite 529 Kontrollbefehl set_scale Funktion Definiert durch Angabe eines gemeinsamen Skalierungsfaktors für die X- und Y-Achse die Skalierungsmatrix M für nachfolgende Koordinatentransformationen, siehe Kapitel 8.2 ”Koordinatentransformationen”, Seite 179. Aufruf set_scale( HeadNo, Scale, at_once ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen: HeadNo = 1: Die Definition wirkt nur auf den primären Scan-Kopf-Anschluss.
  • Seite 530 Variabler set_scale_list Listenbefehl Funktion Identisch mit set_scale, aber ein Listenbefehl. Aufruf set_scale_list( HeadNo, Scale, at_once ) Parameter Siehe set_scale. HeadNo Siehe set_scale. Scale Mit diesem Parameter (32-Bit-Wert ohne Vorzeichen) wird festgelegt, wann at_once die definierte Transformation wirksam wird: = 0: Die Transformationswerte werden nur gesammelt und zwischen- gespeichert, aber die Transformation wird nicht ausgeführt, solange dies nicht durch eine andere Koordinatentransformation (z.
  • Seite 531 Kontrollbefehl set_serial Funktion Setzt die Startseriennummer für den mit select_serial_set zuletzt ausgewählten Seriennummernsatz (bzw. nach load_program_file für den Seriennummernsatz 0) und setzt die Schrittweite für diesen Seriennummernsatz auf 1. Aufruf set_serial( No ) Parameter Seriennummer als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … (2 –1)].
  • Seite 532 Normaler set_serial_step_list Listenbefehl Funktion Setzt die Startseriennummer und die Schrittweite für den mit select_serial_set_list zuletzt ausgewählten Seriennummernsatz (bzw. nach load_program_file für den Seriennummernsatz 0). Aufruf set_serial_step_list( No, Step ) Parameter Seriennummer als 32-Bit-Wert ohne Vorzeichen. Zulässiger Wertebereich: [0 … (2 –1)].
  • Seite 533 Kontrollbefehl set_sky_writing_limit Funktion Legt den Grenzwert für die Sky-Writing-Umschaltung im Modus 3 fest. Aufruf set_sky_writing_limit( Limit ) Parameter Gewünschter Grenzwert im 64-Bit-IEEE-Gleitkommaformat. Limit Zulässiger Wertebereich: [–1.0 … +1.0]. Überlaufende Werte werden auf den Randbereich geclippt. Hinweise • Zur Verwendung des Befehls siehe Kapitel 7.2.4 ”Sky-Writing”, Seite 124.
  • Seite 534 Kontrollbefehl set_sky_writing_mode Funktion Schaltet den Sky-Writing-Modus um bzw. aus. Aufruf set_sky_writing_mode( Mode ) Parameter Gewünschter Sky-Writing-Modus als 32-Bit-Wert ohne Vorzeichen. Mode Zulässiger Wertebereich: [0 … (2 –1)]. = 0: Sky-Writing (Modus 1 oder gegebenenfalls Modus 2 oder 3) wird deaktiviert. = 1: Sky-Writing-Modus 1 wird aktiviert.
  • Seite 535 Normaler set_sky_writing_mode_list Listenbefehl Funktion Identisch mit set_sky_writing_mode, aber ein Listenbefehl. Aufruf set_sky_writing_mode_list( Mode ) Parameter Siehe set_sky_writing_mode. Mode Hinweise • Sky-Writing-Modus 2 bzw. 3 können mit set_sky_writing_mode_list (anders als mit set_sky_writing_mode) auch innerhalb einer Liste aktiviert oder deaktiviert werden (Umschalten nach oder von Mode = 2 bzw. 3). Dabei wird vorübergehend in den Sky- Writing Modus 1 umgeschaltet.
  • Seite 536 Kontrollbefehl set_sky_writing_para Funktion Aktiviert bzw. deaktiviert den Sky-Writing-Modus und stellt die zugehörigen Parameter ein. Aufruf set_sky_writing_para( Timelag, LaserOnShift, Nprev, Npost ) Parameter Sky-Writing-Parameter im 64-Bit-IEEE-Gleitkommaformat. Timelag 1,0 entspricht 1 µs. Bis DLL 536 gilt:  1/4: Sky-Writing-Modus 1 wird aktiviert. <...
  • Seite 537 Kontrollbefehl set_sky_writing_para Hinweise • Zum Sky-Writing und zur Bedeutung der Parameter siehe Kapitel 7.2.4 ”Sky-Writing”, Seite 124. • Für Nprev  65535 wirkt set_sky_writing_para wie set_sky_writing: Nprev wird auf einen Wert von ca. (0,15 × Timelag) eingestellt, d.h. – Vorlaufdauer / µs = ca. 3 × Timelag (Modus 1) –...
  • Seite 538 Normaler set_sky_writing_para_list Listenbefehl Funktion Identisch mit set_sky_writing_para, aber ein Listenbefehl. Aufruf set_sky_writing_para_list( Timelag, LaserOnShift, Nprev, Npost ) Parameter Siehe set_sky_writing_para. Timelag LaserOnShift Siehe set_sky_writing_para. Siehe set_sky_writing_para. Nprev Siehe set_sky_writing_para. Npost Hinweise • Anders als set_sky_writing_para kann set_sky_writing_para_list auch bei aktiviertem Sky-Writing-Modus 2 bzw.
  • Seite 539 Kontrollbefehl set_softstart_level Funktion Definiert die Softstartwerte. Aufruf set_softstart_level( Index, Level ) Parameter Alle Parameter sind 32-Bit-Werte ohne Vorzeichen. Parameter Zulässige Werte Beschreibung 0…1023 Indexnummer des Softstartwerts. Index 0…2 –1 Falls Softstart-Mode = 1, 2, 11 oder 12 (siehe Level set_softstart_mode). Der Wert 0 entspricht einem Analogspannungswert von 0 V.
  • Seite 540 Normaler set_softstart_level_list Listenbefehl Funktion Ähnlich wie set_softstart_level, aber ein Listenbefehl. Aufruf set_softstart_level_list( Index, Level1, Level2, Level3 ) Parameter Siehe set_softstart_level. Hinweise • Der set_softstart_level_list-Befehl definiert drei Level-Werte für die Pulse Nummer Index bis Index+3. Der Befehl muss für jedes individuelle Level1/2/3-Wertetripel sepa- rate aufgerufen werden.
  • Seite 541 Kontrollbefehl set_softstart_mode Funktion Schaltet den Softstart-Modus ein bzw. aus. Aufruf set_softstart_mode( Mode, Number, Delay ) Parameter Alle Parameter sind 32-Bit-Werte ohne Vorzeichen. Parameter Zulässige Werte Beschreibung Deaktiviert den Softstart-Modus, löscht aber nicht die Mode zuvor geladenen Softstartwerte. = 1, 11 Die mit set_softstart_level definierten Softstartwerte...
  • Seite 542 Kontrollbefehl set_softstart_mode ® ® 4 RTC 5 Prinzipiell unveränderte Funktionalität (außer erhöhter Wertebereich). ® Statt einer Übernahme mit der 2. Flanke der Lasersignalpulse (wie es bei der RTC 4 mit ® Mode = 1, 2 oder 3 eingestellt werden konnte) kann bei der RTC 5 eine Übernahme mit einem um 180°...
  • Seite 543: Kapitel 7.4 "Lasersteuerung", Seite

    Kontrollbefehl set_standby Funktion Definiert die Ausgabeperiode und die Pulslänge der Standby-Pulse für den “Laser standby”-Betrieb bzw. – im Lasermode 4 und Lasermode 6 – der freilaufenden Lasersignale für den “Laser active”-Betrieb und den “Laser standby”-Betrieb. Aufruf set_standby( HalfPeriod, PulseLength ) Parameter Halbe Standby-Ausgabeperiode als 32-Bit-Wert ohne Vorzeichen.
  • Seite 544 Verzögerter set_standby_list kurzer Listenbefehl Funktion Identisch mit set_standby, aber ein Listenbefehl. Aufruf set_standby_list( HalfPeriod, PulseLength ) Parameter halbe Standby-Ausgabeperiode als 32-Bit-Wert ohne Vorzeichen. HalfPeriod 1 Bit entspricht 1/64 µs. Zulässiger Bereich: [0 … +(2 –1)]. Pulslänge der Standbypulse als 32-Bit-Wert ohne Vorzeichen. PulseLength 1 Bit entspricht 1/64 µs.
  • Seite 545 Kontrollbefehl set_start_list_pos Funktion Öffnet den Listenspeicher zum Beschreiben mit Listenbefehlen und setzt den Input-Pointer an die angegebene (relative) Position in der gewünschten Liste (“Liste 1” oder “Liste 2”). Der nächste Listenbefehl wird an dieser Adresse gespeichert und alle nachfolgenden Listenbefehle an den darauffolgenden Adressen in der gewählten Liste. Aufruf set_start_list_pos( ListNo, Pos ) Parameter...
  • Seite 546 Kontrollbefehl set_sub_pointer Funktion Speichert die absolute Startadresse einer Befehlsliste in der internen Verwaltungstabelle für indizierte Unterprogramme. Aufruf set_sub_pointer( Index, Pos ) Parameter Index des indizierten Unterprogramms, für den die Startadresse Pos in die Index Verwaltungstabelle eingetragen werden soll (als 32-Bit-Wert ohne Vorzeichen, zulässiger Wertebereich: [0 …...
  • Seite 547 Kontrollbefehl set_text_table_pointer Funktion Speichert die absolute Startadresse einer Befehlsliste in der internen Verwaltungstabelle für indizierte Zeichenfolgen. Aufruf set_text_table_pointer( Index, Pos ) Parameter Index der indizierten Zeichenfolge, für die die Startadresse Pos in die Index Verwaltungstabelle eingetragen werden soll (als 32-Bit-Wert ohne Vorzeichen, zulässiger Wertebereich: [0 …...
  • Seite 548 Verzögerter set_trigger kurzer Listenbefehl Funktion Startet die Messwertspeicherung der ausgewählten Messsignale. Aufruf set_trigger( Period, Signal1, Signal2 ) Parameter Messperiode als 32-Bit-Wert ohne Vorzeichen. Period 1 Bit entspricht 10 µs. Zulässiger Wertebereich: [0 … (2 –1)]. Gewünschter Signaltyp für Speicherkanal 1 und 2 als 32-Bit-Wert ohne Signal1, Vorzeichen.
  • Seite 549 Verzögerter set_trigger kurzer Listenbefehl = 20: SampleAX_Out (tatsächlicher Ausgabewert für die X-Achse des Signal1, primären Scan-Kopf-Anschlusses; gegebenenfalls auch inkl. “Offset”- Signal2 (Forts.) und “Gain”-Kompensation, siehe Hinweise; nicht für Z-Achsen- Ausgabewerte verwendbar). = 21: SampleAY_Out (tatsächlicher Ausgabewert für die Y-Achse des primären Scan-Kopf-Anschlusses;...
  • Seite 550 Verzögerter set_trigger kurzer Listenbefehl = 36: Ausgabewert am 8-Bit-Digital-Ausgang (siehe Signal1, set_auto_laser_control, set_vector_control Kapitel 9.1.2 Signal2 (Forts.) ”8 Bit-Digital-Ausgang”). = 37: Pulslänge (PulseLength) der Lasersignale LASER1 und LASER2 (siehe set_auto_laser_control, set_vector_control). = 38: Ausgabeperiode (HalfPeriod) der Lasersignale LASER1 und LASER2 (siehe set_auto_laser_control, set_vector_control).
  • Seite 551 Verzögerter set_trigger kurzer Listenbefehl Hinweise • Sample-Werte und vom Scan-System rückübertragene Statuswerte (Signal1, Signal2 ® (Forts.) = 1-23, 25-30), die durch set_trigger auf der RTC 5 gegespeichert werden, sind stets ® ® im RTC 5-20 Bit-Bereich, auch wenn die DLL auf den RTC 4-Kompatibilitätsmodus eingestellt ist.
  • Seite 552: Kapitel 6.9.1 "Freie Variablen", Seite

    Verzögerter set_trigger kurzer Listenbefehl Hinweise • Die kartesischen Ansteuerwerte Sample<X..Z> (Signal1/2= 7…9) berücksichtigen (Forts.) gegebenenfalls eine Wobbel-Korrektur und eine “Processing on the fly”-Korrektur, aber weder eine Bildfeldkorrektur noch eine Koordinatentransformation. Die “transfor- mierten” Ansteuerwerte Sample<AX..BZ>_Trans (Signal1/2= 25…30) werden von der ®...
  • Seite 553 Verzögerter set_trigger kurzer Listenbefehl ® ® 4 RTC 5 Unveränderte Grundfunktion (Messwertspeicherung), allerdings: ® • Die Messung kann (anders als bei der RTC 4) abgebrochen werden, ohne dass die zuvor aufgenommenen Messwerte verloren gehen (s.o. Period = 0). ® • Die Signale StatusAZ und StatusBZ (RTC 4: Signal1/2 = 3, 6) sind nicht mehr verfügbar.
  • Seite 554 Normaler set_trigger4 Listenbefehl Funktion Startet die Messwertspeicherung der ausgewählten Messsignale (wirkt wie set_trigger, jedoch mit 4 statt 2 Messsignalen gleichzeitig). Aufruf set_trigger4( Period, Signal1, Signal2, Signal3, Signal4 ) Parameter Siehe set_trigger. Period Siehe set_trigger. Signal1, Signal2, Signal3, Signal4 Hinweise • Siehe Hinweise zu set_trigger. •...
  • Seite 555 Unverzögerter set_vector_control kurzer Listenbefehl Funktion Initialisiert bzw. deaktiviert die vektorkontrollierte Lasersteuerung (siehe Seite 163). Aufruf set_vector_control( Ctrl, Value) Parameter Kontrollparameter (32-Bit-Wert ohne Vorzeichen) zur Initialisierung bzw. Ctrl Deaktivierung der vektorkontrollierten Lasersteuerung (für Ctrl = 1…6 identisch zu set_auto_laser_control). = 1…7: Definiert, welcher Signalparameter durch die vektorkontrollierte Lasersteuerung variiert wird.
  • Seite 556 Unverzögerter set_vector_control kurzer Listenbefehl Hinweise • Für Ctrl = 7 wird bei nachfolgenden parametrisierten 2D- und 3D-Mark- und Jump- (Forts.) Befehlen die Fokusverschiebung linear (wie mit set_defocus bzw. set_defocus_list, siehe Hinweise dort) bis zum angegebenen Endwert variiert (die 3D-Option muss dazu freigeschaltet und eine 3D-Korrekturdatei geladen und zugewiesen sein).
  • Seite 557 Kontrollbefehl set_verify Funktion Aktiviert bzw. deaktiviert eine Download-Überprüfung, siehe Kapitel 6.8.1 ”Download- Überprüfung”, Seite Aufruf OldVerify = set_verify( Verify ) Parameter Einstellparameter als 32-Bit-Wert ohne Vorzeichen: Verify = 0: Die Überprüfung wird deaktiviert. > 0: Die Überprüfung wird aktiviert. Rückgabe Einstellparameter Verify, der vor Aufruf des Befehls aktiv war (als 32-Bit-Wert ohne Vorzeichen) Hinweise...
  • Seite 558 Normaler set_wait Listenbefehl Funktion Fügt einen nummerierten Unterbrechungspunkt (wait marker) in die Liste ein. Aufruf set_wait( WaitWord ) Parameter Nummer der Wartemarkierung als 32-Bit-Wert ohne Vorzeichen. WaitWord Zulässiger Wertebereich: [1 … (2 –1)]. 0 wird auf 1 korrigiert. Hinweise • Die Ausführung einer Liste wird an jedem Unterbrechungspunkt unterbrochen und so lange angehalten, bis mit release_wait fortgefahren wird.
  • Seite 559 Verzögerter set_wobbel kurzer Listenbefehl Funktion Legt die Parameter für eine ellipsenförmige Wobbelbewegung fest. “Wobbel“ ist eine Bewegung der Ausgabeposition, die der normalen Markierbewegung überlagert wird (siehe Seite 185). Aufruf set_wobbel( Transversal, Longitudinal, Freq ) Parameter Amplitude der ellipsenförmigen bzw. achtförmigen Bewegung senkrecht Transversal zur momentanen oder der mit set_wobbel_direction...
  • Seite 560 Verzögerter set_wobbel kurzer Listenbefehl Hinweise • Bei einem Winkel kann es bei elliptischer Wobbelbewegung je nach momentaner (Forts.) Wobbelphase zu mehr oder weniger kleinen Sprüngen bei der Wobbelfortsetzung nach dem Knick kommen. Dies geschieht nicht (= “runde Ecken“), wenn die Wobbelbewe- gung exakt kreisförmig ist (Longitudinal = Transversal).
  • Seite 561 Unverzögerter set_wobbel_control kurzer Listenbefehl Funktion Definiert die Lasersteuerungsparameter für die Laserleistungsvariation bei “Frei definierbaren Wobbelfiguren”. Aufruf set_wobbel_control( Ctrl, Value, MinValue, MaxValue ) Parameter Steuerparameter zur Initialisierung oder Deaktivierung der Ctrl Laserleistungsvariation als 32-Bit-Wert ohne Vorzeichen: = 1…6: definiert welcher Signalparameter variiert wird: Zur Bedeutung siehe set_auto_laser_control.
  • Seite 562 Unverzögerter set_wobbel_direction kurzer Listenbefehl Funktion Definiert einen Richtungsvektor für Wobbelbewegungen. Aufruf set_wobbel_direction( dX, dY ) Parameter Komponenten des Richtungsvektors in Bits als 32- Bit-Werte mit Vorzeichen. dX, dY Hinweise • Für einen Richtungsvektor ungleich 0 (dX und/oder dY ungleich 0) bezieht sich die Wobbelbewegung (Longitudinal und Transversal) auf diesen Richtungsvektor statt auf den momentanen Richtungsvektor.
  • Seite 563 Verzögerter set_wobbel_mode kurzer Listenbefehl Funktion Schaltet den Wobbelmode ein oder aus und legt die Parameter für eine ellipsenförmige bzw. achtförmige Wobbelbewegung fest (siehe Seite 185). Aufruf set_wobbel_mode( Transversal, Longitudinal, Freq, Mode ) Parameter Amplitude der ellipsenförmigen bzw. achtförmigen Bewegung senkrecht Transversal zur momentanen oder der mit set_wobbel_direction...
  • Seite 564 Verzögerter set_wobbel_mode kurzer Listenbefehl Hinweise • Die Frequenz ist vorzeichenbehaftet. Bei positiven Werten dreht sich der Wobbelvektor (Forts.) (in der ersten Achter-Schleife) im Uhrzeigersinn, bei negativen Werten entgegen dem Uhrzeigersinn. Dadurch kann (insbesondere für eine ellipsenförmige Wobbelbewe- gung) die innere und äußere Punktdichte bei Bögen unabhängig von deren eigener Drehrichtung individuell eingestellt werden.
  • Seite 565 Verzögerter set_wobbel_offset kurzer Listenbefehl Funktion Definiert eine Verschiebung der Wobbelfigur entlang oder quer zur Bewegungsrichtung. Aufruf set_wobbel_offset(OffsetTrans, OffsetLong) Parameter Transversaler und longitudinaler Offset als 32-Bit-Werte mit Vorzeichen. OffsetTrans, Zulässiger Wertebereich: ±32767. Zu große Werte werden geclippt. OffsetLong Initialisierungswerte nach load_program_file: (0,0). Hinweise •...
  • Seite 566 Unverzögerter set_wobbel_vector kurzer Listenbefehl Funktion Legt einen (linearen) Abschnitt einer Wobbelfigur fest. Aufruf set_wobbel_vector( dTrans, dLong, Period, dPower ) Parameter Mikroschritt eines linearen Wobbelfigurabschnitts in Bits im 64-Bit-IEEE- dTrans, Gleitkommaformat. Zulässiger Wertebereich [–256.0 … +255.0]. dLong dTrans ist die Mikrovektorkomponente quer zur Bewegungsrichtung (das ist die Lasertrajektorie oder die mittels set_wobbel_direction definierte...
  • Seite 567 Unverzögerter set_wobbel_vector kurzer Listenbefehl Hinweise • Die aufsummierte Wobbelamplitude darf an keiner Stelle den Bereich ±(2 -1) über- (Forts.) schreiten. ® • Sofern mit set_wobbel_control aktiviert, variiert die RTC 5 die aktuelle Laserleistung P im Wobbelfigurabschnitt gemäß P = P0 × (1 + dPower × n), mit 0  n  Period.. n bezeichnet die laufende Nummer des jeweiligen Mikroschrittes.
  • Seite 568 Kontrollbefehl simulate_encoder Funktion Aktiviert bzw. deaktiviert die Encoder-Simulation für den oder die angegebenen Encoder. Aufruf simulate_encoder( EncoderNo ) Parameter EncoderNo Nummer des Encoders als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 1: Es werden ENCODER X-Pulse simuliert und damit Encoder-Zähler Encoder0 hochgezählt. = 2: Es werden ENCODER Y-Pulse simuliert und damit Encoder-Zähler Encoder1 hochgezählt.
  • Seite 569 Normaler simulate_ext_start Listenbefehl Funktion Löst nach der angegebenen Streckenverzögerung einen simulierten externen Listen-Start aus. Aufruf simulate_ext_start( Delay, EncoderNo ) Parameter Streckenverzögerung (Zählerschritte des mit EncoderNo ausgewählten Delay Encoder-Zählers) als 32-Bit-Wert mit Vorzeichen. Zulässiger Wertebereich: [–2 … +(2 –1)]. EncoderNo Nummer des zu verwendenden Encoder-Zählers als 32-Bit-Wert ohne Vorzeichen.
  • Seite 570 Normaler simulate_ext_start Listenbefehl Verweise simulate_ext_start_ctrl, set_ext_start_delay, set_ext_start_delay_list set_extstartpos, set_extstartpos_list, set_control_mode, simulate_ext_stop Kontrollbefehl simulate_ext_start_ctrl Funktion Löst einen simulierten externen Listen-Start aus. Aufruf simulate_ext_start_ctrl() Hinweise • Zu externen Listen-Starts siehe Seite 232. • Der Start-Trigger für den Listen-Start erfolgt erst nach einer gegebenenfalls zuvor mit set_ext_start_delay, set_ext_start_delay_list oder...
  • Seite 571 Kontrollbefehl start_loop Funktion Aktiviert einen sich wiederholenden, automatischen Listenwechsel. Aufruf start_loop() Hinweise • Ein mit start_loop aktivierter Listenwechsel bzw. Listenneustart wird so lange wieder- holt, bis die Ausführung durch Aufruf des Befehls quit_loop beendet wird. • Der Befehl start_loop kann zu jedem beliebigen Zeitpunkt erteilt werden, wird aber erst mit dem nächsten set_end_of_list-Befehl wirksam.
  • Seite 572 Kontrollbefehl stepper_abs Funktion Löst an den beiden Schrittmotor-Ausgängen Zielpositionsfahrten zu den angegebenen absoluten Zielpositionen aus. Aufruf stepper_abs( Pos1, Pos2, WaitTime ) Parameter Absolute Zielposition in CLOCK-Puls-Einheiten für Schrittmotor-Ausgang 1 Pos1, bzw. 2 als 32-Bit-Werte mit Vorzeichen. Zulässiger Bereich: [–2 … +(2 -1)].
  • Seite 573 Unverzögerter stepper_abs_list kurzer Listenbefehl Funktion Identisch mit stepper_abs, aber ein Listenbefehl und ohne WaitTime-Parameter. Aufruf stepper_abs_list( Pos1, Pos2 ) Parameter Siehe stepper_abs. Pos1, Pos2 Hinweise • Siehe stepper_abs. • Während der Ausführung einer Referenzfahrt (siehe stepper_init) wird die Ausführung von stepper_abs_list so lange verzögert, bis die Referenzfahrt beendet ist. ®...
  • Seite 574 Unverzögerter stepper_abs_no_list kurzer Listenbefehl Funktion Identisch mit stepper_abs_no, aber ein Listenbefehl und ohne WaitTime-Parameter. Aufruf stepper_abs_no_list( No, Pos ) Parameter Nummer des Schrittmotor-Ausgangs als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 1: Schrittmotor-Ausgang 1. = 2: Schrittmotor-Ausgang 2. Für einen unzulässigen Wert wird der Befehl schon beim Laden durch ein list_nop ersetzt (get_last_error-Returncode RTC5_PARAM_ERROR).
  • Seite 575 Unverzögerter stepper_control_list kurzer Listenbefehl Funktion Identisch mit stepper_control, aber ein Listenbefehl. Aufruf stepper_control_list( Period1, Period2 ) Parameter Siehe stepper_control. Period1, Period2 Hinweise • Siehe stepper_control. ® ® 4 RTC 5 Neuer Befehl. Versionsinfo • Verfügbar ab Version DLL 527, OUT 529, RBF 519. ®...
  • Seite 576 Unverzögerter stepper_enable_list kurzer Listenbefehl Funktion Identisch mit stepper_enable, aber ein Listenbefehl und ohne Rückgabe. Aufruf stepper_enable_list( Enable1, Enable2 ) Parameter Siehe stepper_enable. Enable1, Enable2 Hinweise • Siehe stepper_enable. ® ® 4 RTC 5 Neuer Befehl. Versionsinfo • Verfügbar ab Version DLL 527, OUT 529, RBF 519. ®...
  • Seite 577 Kontrollbefehl stepper_init Funktion Führt eine Schrittmotor-Initialisierung aus. Aufruf stepper_init( No, Period, Dir, Pos, Tol, Enable, WaitTime ) Parameter Nummer des Schrittmotor-Ausgangs als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 1: Schrittmotor-Ausgang 1. = 2: Schrittmotor-Ausgang 2. Für einen unzulässigen Wert wird der Befehl nicht ausgeführt (get_last_error- Returncode: RTC5_PARAM_ERROR).
  • Seite 578 Kontrollbefehl stepper_init Hinweise • Zur Programmierung der Schrittmotorsignale siehe Kapitel 9.1.5 ”Schrittmotoransteu- erung”, Seite 227. • stepper_init stoppt unmittelbar jede zuvor gestartete Schrittmotor-Bewegung des mit No angegebenen Schrittmotors. • Das ENABLE-Signal wird lediglich durchgereicht und immer entsprechend gesetzt, hat jedoch keinerlei Einfluss auf die internen Abläufe. •...
  • Seite 579 Kontrollbefehl stepper_rel Funktion Löst an den beiden Schrittmotor-Ausgängen Zielpositionsfahrten zu den angegebenen relativen Zielpositionen aus. Aufruf stepper_rel( dPos1, dPos2, WaitTime ) Parameter Relative Zielposition in CLOCK-Puls-Einheiten für Schrittmotor-Ausgang 1 bzw. dPos1, 2 als 32-Bit-Werte mit Vorzeichen. Zulässiger Bereich: [–2 … +(2 -1)].
  • Seite 580 Kontrollbefehl stepper_rel_no Funktion Löst am gewünschten Schrittmotor-Ausgang eine Zielpositionsfahrt zur angegebenen relativen Zielposition aus. Aufruf stepper_rel_no( No, dPos, WaitTime ) Parameter Siehe stepper_abs_no. Relative Zielposition in CLOCK-Puls-Einheiten als 32-Bit-Wert mit Vorzeichen. dPos Zulässiger Bereich: [–2 … +(2 -1)]. Siehe stepper_abs_no. WaitTime Hinweise •...
  • Seite 581 Normaler stepper_wait Listenbefehl Funktion Unterbricht die weitere Ausführung einer Liste so lange, bis eine (am angegebenen Schrittmotor-Ausgang) zuvor gestartete Schrittmotor-Bewegung beendet ist. Aufruf stepper_wait( No ) Parameter Nummer des Schrittmotor-Ausgangs als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 1: Schrittmotor-Ausgang 1. = 2: Schrittmotor-Ausgang 2.
  • Seite 582 Kontrollbefehl stop_execution Funktion Beendet die Ausführung der Liste sofort und deaktiviert ohne Verzug die “Laser active”- Lasersteuersignale. Aufruf stop_execution() Hinweise • Mit Versionen OUT 534 und früher wird der Befehl nur ausgeführt, wenn eine Liste BUSY oder PAUSED ist (sonst get_last_error-Returncode: RTC5_BUSY). Ab Version OUT 535 deaktiviert stop_execution die “Laser active”-Lasersteuersignale dagegen auch dann, wenn keine Liste aktiv ist (der Befehl hat aber dann ansonsten keine Auswir- kungen;...
  • Seite 583 Kontrollbefehl stop_trigger Funktion Setzt den mit measurement_status auslesbaren Status der Messwertspeicherung zurück (auf Busy= 0). Aufruf stop_trigger() Hinweise • Dieser Befehl wird nur benötigt, wenn mit set_trigger oder set_trigger4 eine Mess- wertspeicherung gestartet, aber nicht anschließend mit einem weiteren set_trigger- Befehl (Period = 0) oder set_trigger4-Befehl (Period = 0) beendet wurde.
  • Seite 584 Unverzögerter sub_call kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem indizierten Unterprogramm. Aufruf sub_call( Index ) Parameter Index des aufzurufenden indizierten Unterprogramms als 32-Bit-Wert ohne Index Vorzeichen. Zulässiger Wertebereich: [0 … 1023]. Hinweise • Der Befehl sub_call liest die Startadresse des indizierten Unterprogramms entspre- chend dem ausgewählten Index aus der internen Verwaltungstabelle und ruft dann den Befehl list_call...
  • Seite 585: Kapitel 9.3.2 "Bedingte Befehlsausführung", Seite

    Unverzögerter sub_call_abs kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem indizierten Unterprogramm. Im aufgerufenen Unterprogramm werden absolute Vektor- und Bogenbefehle (entsprechend der aktuellen Koordinaten zum Zeitpunkt des Aufrufs) mit einem Offset beaufschlagt. Aufruf sub_call_abs( Index ) Parameter Index des aufzurufenden indizierten Unterprogramms als 32-Bit-Wert ohne Index Vorzeichen.
  • Seite 586 Unverzögerter sub_call_abs_repeat kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem indizierten Unterprogramm und führt dessen Rumpf mehrmals aus. Aufruf sub_call_abs_repeat ( Index, Anzahl ) Parameter Index des aufzurufenden indizierten Unterprogramms (wie bei Index sub_call_abs). Anzahl der Wiederholungen als 32-Bit-Wert ohne Vorzeichen. Anzahl Hinweise •...
  • Seite 587 Unverzögerter sub_call_repeat kurzer Listenbefehl Funktion Bewirkt einen unbedingten Sprung zu einem indizierten Unterprogramm und führt dessen Rumpf mehrmals aus. Aufruf sub_call_repeat ( Index, Anzahl ) Parameter Index des aufzurufenden indizierten Unterprogramms (wie bei sub_call). Index Anzahl der Wiederholungen als 32-Bit-Wert ohne Vorzeichen. Anzahl Anzahl = 0 wird wie Anzahl = 1 behandelt.
  • Seite 588 Unverzögerter switch_ioport kurzer Listenbefehl Funktion Führt einen relativen Listensprung list_jump_rel( Pos ) aus, dessen Sprungweite Pos (>1) erst zur Laufzeit durch den aktuellen Wert (IOvalue) am 16 Bit-Digital-Eingang der EXTENSION 1-Stiftleiste festgelegt wird. Es kann festgelegt werden, welche Bits des 16 Bit- Digital-Eingangs dafür ausgewertet werden sollen.
  • Seite 589 Aufruf sync_slaves() Hinweise • Zur Verwendung siehe Kapitel 6.6.3 ”Master/Slave-Betrieb”, Seite • SCANLAB empfiehlt, die Synchronisation unmittelbar nach Initialisierung aller Karten (per load_program_file und load_correction_file) durchzuführen. Andernfalls sollten alle beteiligten Karten (d.h. die Master-Karte und die nachgeschalteten Slave-Karten, die sich im Besitz der Anwendung befinden) bereits vor dem Aufruf von sync_slaves angehalten sein.
  • Seite 590 Kontrollbefehl sync_slaves Hinweise • Der Befehl wird nicht ausgeführt (get_last_error-Returncode: RTC5_BUSY), wenn der (Forts.) BUSY-Status der angesprochenen Karte gesetzt ist (Liste wird abgearbeitet oder wurde pause_list angehalten) oder wenn der INTERNAL-BUSY-Status der Karte gesetzt ist. Der Befehl wird dagegen ausgeführt, wenn eine Liste mit set_wait angehalten wurde (PAUSED-Status gesetzt).
  • Seite 591 Normaler time_fix_f_off Listenbefehl ® Funktion Speichert die aktuelle Uhrzeit und das aktuelle Datum von RTC -Uhr und -Kalender bzw. ein vordatiertes Datum und eine vordatierte Uhrzeit in einen Zwischenpuffer zur Verwendung bei mark_date und mark_time. Aufruf time_fix_f_off( FirstDay, Offset ) Parameter Dieser Parameter (32-Bit-Wert ohne Vorzeichen) legt für die Ermittlung des FirstDay...
  • Seite 592 Kontrollbefehl time_update ® Funktion Stellt die 24-Stunden-Uhr und den Kalender der RTC 5 auf die aktuelle PC-Zeit ein. Aufruf time_update() ® Hinweise • Die RTC 5-Karte besitzt keine batteriegepufferte Uhr. Der Befehl time_update muss daher nach jedem load_program_file erteilt werden, wenn die 24-Stunden-Uhr und ®...
  • Seite 593 Normaler timed_arc_abs Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer von der aktuellen Position entlang eines Kreisbogens mit dem angegebenen Winkel um den angegebenen Mittelpunkt (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_arc_abs( X, Y, Angle, T ) Parameter Absolute Koordinaten des Bogenzentrums in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 594 Normaler timed_arc_rel Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer von der aktuellen Position entlang eines Kreisbogens mit dem angegebenen Winkel um den angegebenen Mittelpunkt (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_arc_rel( dX, dY, Angle, T ) Parameter Relativkoordinaten des Bogenzentrums in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 595 Normaler timed_jump_abs Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_jump_abs( X, Y, T ) Parameter Absolute Koordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 596 Normaler timed_jump_abs_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_jump_abs. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 597 Normaler timed_jump_rel Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_jump_rel( dX, dY, T ) Parameter Relativkoordinaten des Sprungvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 598 Normaler timed_jump_rel_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_jump_rel. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Sprunggeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 599 Normaler timed_mark_abs Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_mark_abs( X, Y, T ) Parameter Absolute Koordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit X, Y Vorzeichen.
  • Seite 600 Normaler timed_mark_abs_3d Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_mark_abs. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Markiergeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 601 Normaler timed_mark_rel Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld. Aufruf timed_mark_rel( dX, dY, T ) Parameter Relativkoordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY Vorzeichen.
  • Seite 602 Normaler timed_mark_rel_3d Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_mark_rel. Die Mikrovektorisierung wird aber wie bei einem 3D-Befehl berechnet, die effektive Markiergeschwindigkeit in der XY-Ebene wird dadurch beeinflusst.
  • Seite 603 Normaler timed_para_jump_abs Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf timed_para_jump_abs( X, Y, P, T ) Parameter...
  • Seite 604 Normaler timed_para_jump_abs Listenbefehl Verweise para_jump_abs, timed_jump_abs, jump_abs, timed_para_jump_rel, timed_para_jump_abs_3d Multipler timed_para_jump_abs_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert.
  • Seite 605 Multipler timed_para_jump_abs_3d Listenbefehl ® ® 4 RTC 5 Neuer Befehl. ® Im RTC 4-Kompatibilitätsmodus werden die angegebenen x- und y-Koordinatenwerte von ® der RTC 5 mit 16 multipliziert (der zulässige Wertebereich verringert sich entsprechend). ® ® Der Wertebereich für die z-Koordinate ist im RTC 5- und RTC 4-Kompatibilitätsmodus identisch.
  • Seite 606 Multipler timed_para_jump_rel_3d Listenbefehl Funktion Bewegt den Ausgabepunkt (für den Laserfokus) in der angegebenen Sprungdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw.
  • Seite 607 Normaler timed_para_mark_abs Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf timed_para_mark_abs( X, Y, P, T ) Parameter Absolute Koordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit X, Y...
  • Seite 608 Normaler timed_para_mark_abs Listenbefehl ® ® 4 RTC 5 Neuer Befehl. ® Im RTC 4-Kompatibilitätsmodus werden die angegebenen Koordinatenwerte von der ® 5 mit 16 multipliziert (der zulässige Wertebereich verringert sich entsprechend). Versionsinfo Verfügbar ab Version DLL 517, OUT 516, RBF 512. Verweise para_mark_abs, timed_mark_abs, mark_abs, timed_para_mark_rel, timed_para_mark_abs_3d...
  • Seite 609 Multipler timed_para_mark_abs_3d Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (absolute Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_para_mark_abs.
  • Seite 610 Normaler timed_para_mark_rel Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 2D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im zweidimensionalen Bildfeld und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Aufruf timed_para_mark_rel( dX, dY, P, T ) Parameter Relativkoordinaten des Markvektorendpunkts in Bits als 32-Bit-Werte mit dX, dY...
  • Seite 611 Multipler timed_para_mark_rel_3d Listenbefehl Funktion Führt den Laserfokus in der angegebenen Markierdauer entlang eines 3D-Vektors von der aktuellen zur angegebenen Position (relative Koordinatenwerte) im dreidimensionalen Arbeitsvolumen und variiert simultan den mit set_vector_control ausgewählten Signalparameter linear auf den angegebenen Wert. Einschränkung Falls die 3D-Option nicht freigeschaltet ist bzw. wenn keine 3D-Korrekturtabelle zugewiesen ist (siehe select_cor_table), wirkt der Befehl wie timed_para_mark_rel.
  • Seite 612 Kontrollbefehl transform Funktion Führt eine Rücktransformation von einzelnen Positionswerten durch. Aufruf TransformErrorCode = transform( &Sig1, &Sig2, Ptr, Code ) Parameter Parameter: zu transformierende Positionswerte als Pointer auf 32-Bit-Werte Sig1, und Parameter- mit Vorzeichen. Sig2 rückgabe Parameterrückgabe: transformierte Positionswerte als 32-Bit-Werte mit Vorzeichen (die Eingabewerte werden überschrieben).
  • Seite 613 Kontrollbefehl transform Parameter Für Bit #0 = 1 wird einer der beiden angegebenen Positionswerte (wahlweise Code (Forts.) (Forts.) Sig1 oder Sig2) als z-Koordinate rücktransformiert: Bit #1 = 0: Der unter Sig1 angegebene Wert wird als z-Koordinate rücktransformiert (Sig2 bleibt unverändert). = 1: Der unter Sig2 angegebene Wert wird als z-Koordinate rücktransformiert (Sig1 bleibt unverändert).
  • Seite 614 Kontrollbefehl transform ® Hinweise • Der Befehl transform greift nicht auf eine RTC 5-Karte zu und ist daher auch ohne ® (Forts.) explizite Zugriffsberechtigung für irgendeine RTC 5-Karte verfügbar. Wenn die upload_transform-Daten sowie die mit get_values oder get_waveform ausgelesenen Aufzeichnungsdaten auf dem PC binär gespeichert werden, ist auch ein Offline-Betrieb ®...
  • Seite 615 Kontrollbefehl upload_transform Funktion Überträgt alle Korrektur- und Transformationseinstellungen, die dem Scan-System aktuell ® zugeordnet sind, von der RTC 5-Karte auf den PC. Aufruf UploadErrorCode = upload_transform( HeadNo, Ptr ) Parameter Nummer des Scan-Kopf-Anschlusses, dessen Einstellungen ausgelesen HeadNo werden sollen, als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 1: Primärer Scan-Kopf-Anschluss.
  • Seite 616 Kontrollbefehl verify_checksum Funktion Prüft bzw. erzeugt die Check-Summe einer Korrekturdatei. Aufruf verify_checksum( Name ) Parameter Name der Korrekturdatei als Pointer auf einen nullterminierten ANSI-String. Name Rückgabe Ergebnis der Überprüfung als 32-Bit-Wert ohne Vorzeichen. = 0: Kein Fehler (die überprüfte Check-Summe ist OK). = 1: Es wurde eine Check-Summe neu generiert (keine Info über File-Integrität).
  • Seite 617 Multipler wait_for_encoder_in_range Listenbefehl Funktion Wartet, bis beide Encoder-Zähler gleichzeitig innerhalb des angegebenen Bereichs liegen (Grenzen eingeschlossen). Aufruf wait_for_encoder_in_range( EncXmin, EncXmax, EncYmin, EncYmax ) Parameter Grenzwerte als 32-Bit-Werte mit Vorzeichen. EncXmin, Zulässiger Wertebereich: [–2 … +(2 –1)]. EncXmax, EncYmin, EncYmax Hinweise •...
  • Seite 618 Normaler wait_for_encoder_mode Listenbefehl Funktion Wartet, bis am ausgewählten Encoder-Zähler der angegebene Zählwert erstmalig über- bzw. unterschritten wurde. Aufruf wait_for_encoder_mode( Value, EncoderNo, Mode ) Parameter Zählwert als 32-Bit-Wert mit Vorzeichen. Value Zulässiger Wertebereich: [–2 … +(2 –1)]. EncoderNo Nummer des zu verwendenden Encoder-Zählers als 32-Bit-Wert ohne Vorzeichen.
  • Seite 619 Normaler wait_for_mcbsp Listenbefehl Funktion Wartet, bis der Eingangswert an der McBSP/SPI-Schnittstelle den angegebenen Wert erstmalig erreicht, über- bzw. unterschritten hat. Aufruf wait_for_mcbsp( Axis, Value, Mode ) Parameter Auswahl, welches Halbwort des Eingangswerts zur Prüfung herangezogen Axis wird (s.u.) als 32-Bit-Wert ohne Vorzeichen. Zulässige Werte: = 0: Unteres Halbwort (Achse X, Galvanometerscanner 2).
  • Seite 620 Verzögerter write_8bit_port_list kurzer Listenbefehl Funktion Identisch mit write_8bit_port, aber ein Listenbefehl. Aufruf write_8bit_port_list( Value ) Parameter 8-Bit-Ausgabewert (DATA0…DATA7) als 32-Bit-Wert ohne Vorzeichen. Value Es werden nur die unteren 8 Bits ausgewertet. Hinweise • Siehe write_8bit_port. ® ® 4 RTC 5 Unveränderte Funktionalität. Kontrollbefehl write_abc_to_file Funktion Schreibt die ABC-Werte direkt in die angegebene Korrekturdatei im PC.
  • Seite 621 Kontrollbefehl write_da_1 Funktion Siehe write_da_x. Aufruf write_da_1( Value ) Parameter 12-Bit-Ausgabewert für den Analogausgang ANALOG OUT1 als 32-Bit-Wert Value ohne Vorzeichen. Höherwertige Bits werden ignoriert. Value = 0 entspricht einem Ausgabewert von 0 V. Value = 2 –1 entspricht einem Ausgabewert von 10 V. ®...
  • Seite 622 Verzögerter write_da_2_list kurzer Listenbefehl Funktion Siehe write_da_x_list. Aufruf write_da_2_list( Value ) Parameter 12-Bit-Ausgabewert für den Analogausgang ANALOG OUT2 als 32-Bit-Wert Value ohne Vorzeichen. Höherwertige Bits werden ignoriert. Value = 0 entspricht einem Ausgabewert von 0 V. Value = 2 –1 entspricht einem Ausgabewert von 10 V. ®...
  • Seite 623 Verzögerter write_da_x_list kurzer Listenbefehl Funktion Identisch mit write_da_x, aber ein Listenbefehl. Aufruf write_da_x_list( x, Value ) Parameter Nummer des Analogausgangs als 32-Bit-Wert ohne Vorzeichen. Zulässiger Bereich: [1, 2] (1: ANALOG OUT1, 2: ANALOG OUT2). 12-Bit-Ausgabewert für den gewählten Analogausgang als 32-Bit-Wert ohne Value Vorzeichen.
  • Seite 624 Kontrollbefehl write_hi_pos Funktion Schreibt die angegebenen Werte als ASC-Referenzwerte (= Home-In-Referenzpositionen, ® nicht zu verwechseln mit Home-In-Positionen) ins EEPROM der RTC 5-Karte. Aufruf Result = write_hi_pos ( HeadNo, X1, X2, Y1, Y2 ) Parameter Nummer des Scan-Kopf-Anschlusses als 32-Bit-Wert ohne Vorzeichen. HeadNo Zulässige Werte: = 1:...
  • Seite 625 Kontrollbefehl write_io_port Funktion Schreibt einen Wert auf den 16-Bit-Digital-Ausgang der EXTENSION 1-Stiftleiste. Aufruf write_io_port( Value ) Parameter 16-Bit-Ausgabewert (DIGITAL OUT0 … DIGITAL OUT15) als 32-Bit-Wert ohne Value Vorzeichen. Es werden nur die unteren 16 Bits ausgewertet. Hinweise • Mit den Befehlen set_io_cond_list clear_io_cond_list können individuelle Bits des...
  • Seite 626 Verzögerter write_io_port_mask_list kurzer Listenbefehl Funktion Identisch mit write_io_port_mask, aber ein Listenbefehl. Aufruf write_io_port_mask_list( Value, Mask ) Parameter 16-Bit-Ausgabewert (DIGITAL OUT0 … DIGITAL OUT15) als 32-Bit-Wert ohne Value Vorzeichen. Es werden nur die unteren 16 Bits ausgewertet. 16-Bit-Maske (für DIGITAL OUT0 … DIGITAL OUT15) als 32-Bit-Wert ohne Mask Vorzeichen.
  • Seite 627: Nicht Mehr Unterstützte ® ® ® 4-Befehle

    10.3 Nicht mehr unterstützte ® ® ® 2/RTC 3/RTC 4-Befehle ® ® ® Einige RTC 3/RTC 4-Befehle sowie einige RTC ® ® Befehle, die von der RTC 3/RTC 4 noch emuliert ® wurden, werden von der RTC 5 nicht mehr unter- ®...
  • Seite 628 Kontrollbefehl get_xy_pos ® ® ® ® Unterstützung Dieser RTC 2/RTC 3/RTC 4-Befehl wird nicht von der RTC 5 unterstützt. ® ® 4 RTC 5 Ersatzbefehl: get_value Kontrollbefehl get_xyz_pos ® ® ® ® Unterstützung Dieser RTC 2/RTC 3/RTC 4-Befehl wird nicht von der RTC 5 unterstützt.
  • Seite 629 Kontrollbefehl select_list ® ® ® ® Unterstützung Dieser RTC 2/RTC 3/RTC 4-Befehl wird nicht von der RTC 5 unterstützt. ® ® 4 RTC 5 select_list(0) kann durch set_extstartpos(0), select_list(1) durch set_extstartpos(Mem1) ersetzt werden. Mem1 ist dabei die Speichergröße von “Liste 1” (bzw. die absolute Anfangsadresse von “Liste 2”).
  • Seite 630 Kontrollbefehl set_mode ® ® Unterstützung Dieser RTC 2-Befehl wird nicht von der RTC 5 unterstützt. ® Ersatz-Befehl Es gibt keinen äquivalenten RTC 5-Befehl, weil der Bildfeld-Korrektur-Algorithmus bei ® der RTC 5 immer aktiviert ist. Stattdessen kann eine 1-zu-1-Korrektur-Datei geladen werden. Kontrollbefehl set_piso_control ®...
  • Seite 631 Kontrollbefehl z_out ® ® ® Unterstützung Dieser RTC 3/RTC 4-Befehl wird nicht von der RTC 5 unterstützt. ® ® ® 4 RTC 5 Um den z-Wert in einem 3-Achsen-Scan-System einzustellen, kann bei der RTC 5 mit freigeschalteter 3D-Option der Befehl set_defocus verwendet werden.
  • Seite 632 11 Demo-Programme ® ® Das RTC 5-Software-Paket enthält im Verzeichnis benötigten Aufrufsequenzen der RTC 5-Befehle, die DemoFiles einige Programmcode-Beispiele Sie ohne Schwierigkeiten in Ihre bevorzugte (DEMO.ZIP), die außer die Initialisierung von DLL und Programmiersprache übersetzen können. Die Tabelle ® 5 mit Fehlerbehandlung die Verwendung unten gibt einen Überblick über die Charakteristik der diverser Kontroll- und Listenbefehle demonstrieren.
  • Seite 633 12 Fehlersuche Problem Behebung Rechner bootet nicht Schalten Sie den Rechner ab und prüfen Sie die folgenden Aspekte: • Überprüfen Sie, ob die Karte richtig im Slot steckt. Beachten Sie die Hinweise im Handbuch Ihres PCs. • Überprüfen Sie, ob bei der Montage metallische Fremdkörper ins Gehäuse des PCs gelangt sind.
  • Seite 634 überprüfen, ob Programmverzweigungen Seite 118). (bedingte Befehle) wie geplant ausgeführt Sollten Sie die Fehler nicht wie angegeben beheben wurden. können, wenden Sie sich bitte an SCANLAB. • mit get_overrun können Sie überprüfen, ob Laufzeitüberschreitungen des 10 µs-Taktes statt- gefunden haben (siehe Abschnitt ”Takt-...
  • Seite 635: Kundendienst

    Auslieferung. Reparaturen aufgrund von www.scanlab.de Gewährleistungsansprüchen erfolgen grundsätzlich bei SCANLAB. Der Gewährleistungsumfang ist auf die Reparatur 13.4 Entsorgung oder den Ersatz des von SCANLAB gelieferten Produktes beschränkt. ® Die RTC 5 wird von SCANLAB gegen eine Gebühr SCANLAB ist für die Rücklieferung von zurückgenommen und fachgerecht entsorgt.
  • Seite 636: Technische Spezifikationen Der Rtc

    ® 14 Technische Spezifikationen der RTC 5 PCI-Karte Systemanforderungen Schnittstellen zum Laser und zur Peripherie Windows-PC mit freiem PCI-Steckplatz • LASER Laseranschluss-Buchse Betriebssystem Microsoft (32 oder 64 Bit) Anschluss 15-polige Sub-D-Buchse, WINDOWS 8, female WINDOWS 7, WINDOWS Vista und Lasersignale LASER1, LASER2, WINDOWS XP ab SP2 LASERON...
  • Seite 637 Eingänge für externe TTL low-aktiv, intern über Sonstige Signale Start- und Pull-up-Widerstände • BUSY OUT 3,3 V oder 5 V, TTL high- Stoppsignale (4,7 k) mit +3,3 V aktiv, max. 10 mA verbunden • VCC 3,3 V oder 5 V, •...
  • Seite 638 • MARKING ON THE FLY-Anschluss • “SPI / I2C”-Anschluss Anschluss 16-polige Stiftleiste Anschluss 10-polige Stiftleiste 2 Encoder-Eingänge ENCODER X(1±,2±) und In McBSP-Konfiguration, siehe Seite für Inkremental- ENCODER Y(1±,2±), • Sendersignalpegel 3,3 V TTL Encoder jeweils für ein Paar von • Empfängersignal- 3,3 V oder 5 V TTL standardisierten differen- pegel...
  • Seite 639: Konformität Mit Der Eu-Richtlinie Zur Elektromagnetischen Verträglichkeit (Emv)

    14.1 Konformität mit der EU-Richt- linie zur elektromagnetischen Verträglichkeit (EMV) ® Die Konformität der RTC 5 PCI-Karte mit der EG- Richtlinie 2004/108/EG (Elektromagnetische Verträglichkeit) wurde festgestellt. ® Dazu wurde die RTC 5-Karte in einen PC eingebaut ® und zusammen mit einem hurrySCAN 25 Scan-Kopf (SL2-100-Schnittstelle) getestet.
  • Seite 640: Anhang A: Die Rtc

    RTC 5 PC/104-Plus-Karte sind in Abb. 64 ® Die RTC 5 PC/104-Plus-Karte von SCANLAB ist wie aufgeführt (beachten Sie, dass der 100-polige MULTI- ® die RTC 5 PCI-Karte zur synchronen Ansteuerung Stecker etwas über die Kante der Platine der von Scan-Systemen, Lasern und Peripheriegeräten...
  • Seite 641: Typenbezeichnung

    ® einstellung (siehe Seite 650). 5 PCI-Karte (siehe Seite 27). Optionale Funktio- nalitäten müssen von SCANLAB freigeschaltet bzw. installiert werden. 15.1.4 Kennzeichnung ® Die Seriennummer der RTC 5 PC/104-Plus-Karte finden Sie auf einem weißem Aufkleber auf der Karte (Beschriftung “RTC SN…”).
  • Seite 642: Auspackanleitung Und Typischer Lieferumfang

    15.1.7 Optionale Zusatzkomponenten scher Lieferumfang ® Zusätzlich zur RTC 5 PC/104-Plus-Karte und zum ® zugehörigen Software-Paket sind bei SCANLAB – wie  Nehmen Sie die RTC 5 PC/104-Plus-Karte ® für die RTC 5 PCI-Karte – die folgenden Kompo- vorsichtig aus der Verpackung.
  • Seite 643: Layout Und Schnittstellen

    15.2 Layout und Schnittstellen Abb. 64 Abb. 65 zeigen die Positionen der Anschlüsse und Jumper auf der Vorderseite und Rück- ® seite der RTC 5 PC/104-Plus-Karte. Alle Anschlüsse 15.2.1 Stecker- und Jumperpositi- und Jumpereinstellungen werden in den folgenden onen Abschnitten beschrieben. Legende SCANHEADS .
  • Seite 644 Legende Master ..6-poliger MASTER-Anschluss (siehe ”Master/Slave-Synchronisation”, Seite 645) JP1 ..Jumper zur Auswahl des Ausgangssignal-Pegels am MULTI-Stecker (siehe Seite 652) JP2 - JP8 ..Jumper zur Konfiguration von Pin B40 und B42 des MULTI-Steckers (siehe Seite 652) JP10+JP12 .
  • Seite 645 Stapel- positionen gesteckt werden. Verbinden Sie jeweils den MASTER-Anschluss einer Karte mit dem SLAVE- Anschluss einer anderen Karte. Geeignete Verbin- dungskabel sind bei SCANLAB erhältlich. Siehe auch Kapitel 6.6.3 ”Master/Slave-Betrieb”, Seite 91 ”Ausführen und Beenden von Listen mit externen Steuersignalen und Master/Slave-Synchroni- sation”, Seite...
  • Seite 646 Sub-D-Laseranschluss-Buchse LASER der RTC 5 PCI- NOT CONNECTED (B37) (A37) +5 V DATA6 (B38) (A38) +5 V Karte, siehe Abb. 10) ist bei SCANLAB erhältlich. NOT CONNECTED (B39) (A39) GND § +5 V /DATA7 / GND (B40) (A40) GND NOT CONNECTED (B41) (A41) CLKX0 §...
  • Seite 647 Pin am MULTI- Signal Signalbeschreibung Anschluss auf der ® Stecker 5 PCI-Karte A1, A3, A5, A7, DIGITAL OUT0… Gepufferter 16-Bit-Digital-Ausgang ”EXTENSION 1- A9, A11, A13, DIGITAL OUT15 (Ausgangssignal-Pegel wahlweise 5 V oder Stiftleiste”, Seite 51 A15, A17, A19, 3.3 V, siehe Jumper JP1, Seite 652).
  • Seite 648 Pin am MULTI- Signal Signalbeschreibung Anschluss auf der ® Stecker 5 PCI-Karte BUSY OUT BUSY-Status als BUSY OUT-Signal ”MARKING ON THE FLY- (5 V Ausgangssignal-Pegel) Stiftleiste”, Seite 53 ANALOG OUT2 12-Bit-Analogausgang ”MARKING ON THE FLY- (Das Signal ist auch über den LASER-Stecker Stiftleiste”, Seite 53 verfügbar –...
  • Seite 649 Falls Fragen bezüglich des Inhalts dieser Anleitung Gehen Sie in der vorgeschlagenen Reihenfolge vor. offen bleiben sollten, dann wenden Sie sich an Für einen Funktionstest nach der Installation kann SCANLAB. z.B. das mitgelieferte HPGL-Converter-Programm verwendet werden. Vorsicht! • Prüfen Sie Ihr Anwenderprogramm vor dem Einsatz sorgfältig.
  • Seite 650 Stapels jeweils eines der vier CLK-, IDSEL-, REQ- Stack eingebaut wird, muss sie gegebenenfalls über und GNT-Signale am PCI-Bus eindeutig zugeordnet die Jumper auf der Platine konfiguriert werden. Die wird: ® 5 PC/104-Plus-Karte kann von SCANLAB in unterschiedlichen Jumperkonfigurationen ausge- Stapel- IDSEL liefert werden (siehe auch ”Typenbezeichnung”,...
  • Seite 651 JP19: +5 V Spannungsversorgung JP10+12: 10 V Ausgangsspannung für ANALOG OUT1 und ANALOG OUT2 ® Die RTC 5 PC/104-Plus-Karte benötigt eine Versor- gungsspannung von +5 V. Da diese nicht von allen Über die Jumper JP10+JP12 auf der Rückseite der ® CPU-Karten am PCI-Bus, dagegen in der Regel immer 5 PC/104-Plus-Karte (siehe Abb.
  • Seite 652: Jumper Jp1: Auswahl Des Ausgangssignal-Pegels Am Multi-Stecker

    Elektronik der RTC 5 PC/104-Plus-Karte beschädigt. Vorsicht! ® Die RTC 5 PC/104-Plus-Karte wird von SCANLAB in unterschiedlichen Jumperkonfigurationen für JP1 • Achten Sie darauf, dass nicht mehr als einer der ausgeliefert (siehe auch ”Typenbezeichnung”, drei Jumper für Pin B40 geschlossen ist und Seite 641).
  • Seite 653 ® 15.3.3 Einbau der RTC 5 PC/104-Plus- Anpassung an die Position der Karte in einem Stapel erfolgt gegebenenfalls mit Jumpern (siehe Seite 650). Karte ® 5 PC/104-Plus-Karten, die Master/Slave-synchro- Abb. 70 zeigt einen typischen Modul-Stapel (PC/104- nisiert werden sollen, müssen im Stapel unmittelbar Stack) bestehend aus einer CPU-Karte, einer aufeinander folgen.
  • Seite 654 ®  Fügen Sie die RTC 5 PC/104-Plus-Karte in die gewünschte Position (1 bis 4) im PC/104-Stack Vorsicht! ein: – Die Position im Stack sollte zur über Jumper • Die Installation muss an einem Arbeitsplatz JP17+JP18 festgelegten Stapeladresse passen durchgeführt werden, der den ESD-Schutz- (siehe Seite 650).
  • Seite 655: Installation Der Treiber Und Rtc ® 5-Software

    15.3.4 Installation der Treiber und 15.3.5 Funktionstest, Anwender- und ® 5-Software Demoprogramme ® Für die RTC 5 PC/104-Plus-Karte werden die gleichen Zum Testen der Scan-Kopf-Steuerung können Sie den Treiber und sonstigen Software-Dateien benötigt wie mitgelieferten HPGL-Converter HPGL.EXE verwenden ® für die RTC 5 PCI-Karte.
  • Seite 656: Technische Spezifikationen

    15.4 Technische Spezifikationen ® der RTC 5 PC/104-Plus-Karte Anschlüsse zur PC/104-Plus-CPU-Karte (bzw. zum PC/104-Stack) PC/104-Plus PCI-Bus 120-polige Stack- Systemanforderungen Through-Steckverbinder inkl. Kontaktschutz PC/104-Plus-CPU-Karte (Shroud), + freie Position im PC/104-Stack Betriebsspannung: +5 V Betriebssystem Microsoft (32 oder 64 Bit) ISA-Bus 104-polige Stack- WINDOWS 8, Through-Steckverbinder WINDOWS 7,...
  • Seite 657: Produktübersicht

    RTC 5 PCI-Karte Windows-PC mit PCI-Express-Bus und mindestens einem freien PCI-Express-Steckplatz installiert ® Die RTC 5 PCI-Express-Karte von SCANLAB ist wie die ® werden. Die Abmessungen der RTC 5 PCI-Express- ® 5 PCI-Karte zur synchronen Ansteuerung von Karte sind in Abb.
  • Seite 658: Kennzeichnung

    Die Seriennummer der RTC 5 PCI-Express-Karte Zusätzlich zur RTC 5 PCI-Express-Karte und zum finden Sie auf einem weißem Aufkleber auf der Karte zugehörigen Software-Paket sind bei SCANLAB – wie ® (Beschriftung “RTC SN…”). für die RTC 5 PCI-Karte – die folgenden Kompo- ®...
  • Seite 659: Layout Und Schnittstellen

    16.2 Layout und Schnittstellen Express-Karte unterscheidet sich bzgl. der Anschlüsse und Jumpereinstellungen nur in der Schnittstelle zum PC und in der Konfiguration der “SPI / I2C” Stiftleiste 16.2.1 Stecker- und Jumperpositi- ® von der RTC 5 PCI-Karte. Diese beiden Abwei- onen ®...
  • Seite 660 Legende Master ..6-poliger MASTER-Anschluss (siehe ”Master/Slave-Synchronisation”, Seite JP1 ..Jumper zur Auswahl des Ausgangssignal-Pegels an der EXTENSION 1-Stiftleiste (siehe Seite JP2 - JP8 ..Jumper zur Konfiguration der EXTENSION 2-Stiftleiste (siehe Seite ®...
  • Seite 661 16.2.3 McBSP/SPI-Schnittstelle und 16.3 Installation und Inbetrieb- Analog-Eingänge nahme Die “SPI / I2C” Stiftleiste stellt eine McBSP/SPI- ® Die Installation und Inbetriebnahme der RTC 5 PCI- Schnittstelle (Multi channel Buffered Serial Port) und Express-Karte und der zugehörigen Software erfolgt zwei Analog-Eingänge bereit. ®...
  • Seite 662 16.4 Technische Spezifikationen 16.5 Konformität mit der EU-Richt- ® der RTC 5 PCI-Express-Karte linie zur elektromagnetischen Verträglichkeit (EMV) ® Die Konformität der RTC 5 PCI-Express-Karte mit der Systemanforderungen EG-Richtlinie 2004/108/EG (Elektromagnetische Verträglichkeit) wurde festgestellt. Windows-PC mit freiem PCI-Express-Steckplatz ® Dazu wurde die RTC 5 PCI-Express-Karte in einen PC Betriebssystem Microsoft (32 oder 64 Bit)
  • Seite 663: Vergleich Mit Der Rtc ® 5 Pc/104-Plus-Karte

    Anschlüssen zur Ansteuerung von Scan-Systemen, ® Lasern und Peripheriegeräten wie die RTC 5 PC/104- ® Die SCANLAB RTC 5 PCIe/104-Karte ist wie die Plus-Karte ausgestattet. Hardware-bedingt unter- ® 5 PCI-Karte zur synchronen Ansteuerung von scheidet sie sich aber in den folgenden Punkten von Scan-Systemen, Lasern und Peripheriegeräten vorge-...
  • Seite 664: Optionaler Anschluss

    5 PCIe/104-Karte ist ein PCIe/104-Modul mit ® 5 PCI-Karte (siehe Seite 27). Optionale Funktio- entsprechendem Formfaktor. Die Abmessungen der nalitäten müssen von SCANLAB freigeschaltet bzw. ® 5 PCIe/104-Karte sind in Abb. 74 aufgeführt installiert werden. (beachten Sie, dass der 100-polige MULTI-Stecker ®...
  • Seite 665 =1: Jumper JP2 geschlossen (+5 V) ® Zusätzlich zur RTC 5 PCIe/104-Karte und zum zuge- Pin B40) =2: Jumper JP3 geschlossen (DATA7) hörigen Software-Paket sind bei SCANLAB – wie für =3: Jumper JP4 geschlossen (GND) ® die RTC 5 PCI-Karte – die folgenden Komponenten ®...
  • Seite 666 17.2 Layout und Schnittstellen Abb. 74 Abb. 75 zeigen die Positionen der Anschlüsse und Jumper auf der Vorderseite und Rück- ® seite der RTC 5 PCIe/104-Karte. Alle Anschlüsse und 17.2.1 Stecker- und Jumperpositi- Jumpereinstellungen werden in den folgenden onen Abschnitten beschrieben. Legende SCANHEADS.
  • Seite 667: Schnittstelle Zur Cpu-Karte

    Stapelpositionen gesteckt werden. Verbinden fikation Version 2.0 und der PCI-Local-Bus-Spezifi- Sie jeweils den MASTER-Anschluss einer Karte mit kation Version 2.3. dem SLAVE-Anschluss einer anderen Karte. Geeignete Verbindungskabel sind bei SCANLAB erhältlich. Siehe auch Kapitel 6.6.3 ”Master/Slave-Betrieb”, Vorsicht! Seite 91 ”Ausführen und Beenden von Listen mit...
  • Seite 668 17.2.5 Schnittstellen zum Laser und erfolgt über die PCI-Express-Steckverbinder. zur Peripherie Zusätzlich empfiehlt SCANLAB, die Karte mit Hilfe von Schrauben und Abstandsbolzen mit der CPU- Als Schnittstelle zum Laser und zur Peripherie dienen Karte bzw. mit benachbarten Modulen im Stapel der 16-polige LASER-Stecker und der 100-polige ®...
  • Seite 669 17.4 Technische Spezifikationen ® der RTC 5 PCIe/104-Karte Anschlüsse zur PCIe/104-CPU-Karte (bzw. zum PCIe/104-Stack) PCI-Express-Bus 156-polige PCIe/104- Systemanforderungen Standard-Top- und Bottom-Steckverbinder PCIe/104-CPU-Karte (PCIe x 1, nur eine Lane + freie Position im PCIe/104-Stack verwendet), Betriebssystem Microsoft (32 oder 64 Bit) Betriebsspannung: +5 V WINDOWS 8, WINDOWS 7,...
  • Seite 670 18 Änderungsindex Weder Korrekturen von Rechtschreib- oder Gramma- tikfehlern, noch sprachliche Umformulierungen oder Ergänzungen (z. B. neue Querverweise), die den tech- nischen Inhalt unverändert lassen, sind nachfolgend explizit aufgeführt. Die angegebenen Seitenzahlen beziehen sich auf das vorliegende Dokument. Änderungen von Version 0.9 nach Version 0.11 Seite Name des Kapitels / Befehls Änderung...
  • Seite 671 Änderungen von Version 0.11 nach Version 0.12 Seite Name des Kapitels / Befehls Änderung Kapitel 4.3.2 ”XY2-100-Konverter Geänderte Angaben zu empfohlenen Jumpereinstellungen (optional)” und Kabellängen. Kapitel 4.4.6 ”SPI / I2C-Stiftleiste” Kapitel zu McBSP-Schnittstelle neu hinzugefügt. Kapitel 6.7 ”Verwendung durch Korrektur: RTC5_TIMEOUT-Fehler bei Versionsprüfung mehrere Anwenderprogramme”...
  • Seite 672 Seite Name des Kapitels / Befehls Änderung set_control_mode-Befehl Korrektur: Die Eingänge für externe Stoppsignale können nicht verriegelt werden. set_encoder_speed-Befehl Neu hinzugefügt. set_encoder_speed_ctrl-Befehl Neu hinzugefügt. set_fly_rot_pos-Befehl Neu hinzugefügt. set_fly_x_pos-Befehl Neu hinzugefügt. set_fly_y_pos-Befehl Neu hinzugefügt. set_laser_pulses-Befehl Korrektur: erlaubter Bereich für Parameter HalfPeriod set_laser_pulses_ctrl-Befehl vergrößert.
  • Seite 673 Änderungen von Version 0.12 nach Version 1.0 Seite Name des Kapitels / Befehls Änderung Allgemein Das Handbuch gilt nicht mehr als “vorläufig”. Änderungshistorie Neu hinzugefügt. Kapitel 4.3.3 ”Datenkabel Korrektur: Das SL2-100-Datenkabel benötigt keinen Ferrit. (optional)” Kapitel 5.5 ”Sichere Einschalt- und Neu hinzugefügt.
  • Seite 674 Seite Name des Kapitels / Befehls Änderung get_marking_info-Befehl Ergänzung: Befehl liefert auch Informationen über fehlerhafte Encoder-Signale zurück. get_master_slave-Befehl Neu hinzugefügt. get_mcbsp-Befehl Korrektur: Rückgabewert ist ein 32-Bit-Wert mit Vorzeichen. get_mcbsp_list-Befehl Neu hinzugefügt. get_overrun-Befehl Neu hinzugefügt. get_standby-Befehl Neu hinzugefügt. get_startstop_info-Befehl Ergänzung: Ab Firmware-Version 508 wird von der Firmware das Pulslängen-Fehlerbit (Bit #17 bzw.
  • Seite 675 Seite Name des Kapitels / Befehls Änderung simulate_ext_start_ctrl-Befehl Neu hinzugefügt. stop_execution-Befehl Korrektur: Ein Home-Jump wird ausgeführt. switch_ioport-Befehl Neu hinzugefügt. sync_slaves-Befehl Neu hinzugefügt. verify_checksum-Befehl Änderung: Rückgabewert = 0 bedeutet jetzt OK. Rückgabewert > 0 Fehler oder Warnung. Kapitel 11 ”Demo-Programme” Neu hinzugefügt. Kapitel 12 ”Fehlersuche”...
  • Seite 676 Änderungen von Version 1.0 nach Version 1.1 Seite Name des Kapitels / Befehls Änderung Kapitel 2.7 ”Hinweise an Benutzer Ergänzt. ® der RTC 4-Karte” Kapitel 5.8 ”Austauschen von Neu hinzugefügt. ® 5-Karten” ”Ellipse-Befehle” Neu hinzugefügt. ”Inverse Tabellen” Neu hinzugefügt. Kapitel 8.1.3 ”Überwachung der Neu hinzugefügt.
  • Seite 677 Seite Name des Kapitels / Befehls Änderung sync_slaves-Befehl Geändert; ab DLL 518, OUT 517, RBF 514 gilt: • Eine Master/Slave-Synchronisierung kann nur mit dem Befehl sync_slaves ausgeführt werden. Eine Initialisie- rung der Karten in geeigneter Reihenfolge ist hierzu nicht ausreichend. •...
  • Seite 678 Änderungen von Version 1.1 nach Version 1.2 Seite Name des Kapitels / Befehls Änderung Kapitel 8.2 Ergänzt: Verhalten für at_once > 1 (s.u.). ”Koordinatentransformationen” Kapitel 8.11 ”Automatische Ergänzt und korrigiert: u.a. Hinweise zu ® Selbstkalibrierung” auto_cal(Command = 4) und zu iDRIVE -Systemen.
  • Seite 679 Seite Name des Kapitels / Befehls Änderung Befehle für Koordinatentransforma- Änderung: Verhalten für at_once > 1 (Sammeln wie bei … tionen: set_angle, set_angle_list, at_once = 0, und zusammen mit jump_abs, jump_rel, set_offset, set_offset_list, goto_xy oder goto_xyz in einem gemeinsamen Sprung set_offset_xyz, set_offset_xyz_list, ausführen –...
  • Seite 680 Änderungen von Version 1.2 nach Version 1.3 Seite Name des Kapitels / Befehls Änderung ”Verwendung als McBSP- Änderung und Ergänzung (ab Version OUT 526): Schnittstelle” • Kein Stagnieren der Datenübertragung mehr). • Datenübertragung für die Online-Positionierung. ”Anpassung der Kurzbefehlszählung Neu hinzugefügt. (ab Version DLL 523, OUT 524)”...
  • Seite 681 Seite Name des Kapitels / Befehls Änderung 511… set_mcbsp_rot, Neu hinzugefügt. set_mcbsp_rot_list, set_mcbsp_x, set_mcbsp_x_list, set_mcbsp_y, set_mcbsp_y_list sync_slaves-Befehl Aktualisierung mit Version DLL 523, OUT 524: führt gegebenenfalls auch eine Anpassung der Kurzbefehlszählung durch (siehe Seite 92). time_fix_f_off-Befehl Neu hinzugefügt. ® ® ®...
  • Seite 682 Änderungen von Version 1.3 nach Version 1.4 Seite Name des Kapitels / Befehls Änderung Kapitel 7.1.3 ”Markieren von Ergänzung (ab Version OUT 527): Markieren von Punkten Punkten” mit Mark- oder Bogenbefehlen der Länge Null. Kapitel 8.1.5 ”Sprungmodus” Neu hinzugefügt. Kapitel 8.7.9 ”Überwachung der Überarbeitet und ergänzt um Abschnitt ”Kundenspezifischer “Processing on the fly”-Korrektur”...
  • Seite 683 Änderungen von Version 1.4 nach Version 1.5 Seite Name des Kapitels / Befehls Änderung Kapitel 2.2.2 ”Software” Warnhinweis hinzugefügt: Standby- oder Sleep-Modi des Kapitel 5.3 ”Installation der Treiber” Betriebssystems sind zu deaktivieren. Kapitel 4.4.7 ”STEPPER MOTOR- Ergänzt. Stiftleiste (Schrittmotoransteuerung)” Kapitel 6.6.3 ”Master/Slave-Betrieb” Korrigiert: Master-Karte ist diejenige Karte, an deren SLAVE- Anschluss (!) keine weitere Karte angeschlossen ist.
  • Seite 684 Seite Name des Kapitels / Befehls Änderung Befehle zur Schrittmotorsteuerung: Neu hinzugefügt. … stepper_abs, stepper_abs_list, stepper_abs_no, stepper_abs_no_list, stepper_control, stepper_control_list, stepper_enable, stepper_enable_list, stepper_init, stepper_rel, stepper_rel_list, stepper_rel_no, stepper_rel_no_list, stepper_wait sync_slaves-Befehl Korrigiert: Master-Karte ist diejenige Karte, an deren SLAVE- Anschluss (!) keine weitere Karte angeschlossen ist. Kapitel 14 ”Technische Ergänzt: Spezifikationen zum “SPI / I2C”-Anschluss und ®...
  • Seite 685 Änderungen von Version 1.5 nach Version 1.6 Seite Name des Kapitels / Befehls Änderung ® Kapitel 1.3.1 ”Mitgelieferte Ergänzt: Das RTC 5-Software-Paket enthält jetzt auch Software” und weitere Kapitel Treiber für 64-Bit-Windows-Betriebssysteme sowie Win32- und Win64-basierte DLLs, dagegen keine MS Visual Studio Laufzeitbibliotheken mehr.
  • Seite 686 set_control_mode-Befehl, Ergänzt: Bit#1 (ab Version DLL 528, OUT 530). set_control_mode_list-Befehl set_free_variable-Befehl, Neu hinzugefügt. set_free_variable_list-Befehl set_jump_mode-Befehl Veränderter Errorcode für Rückgabe >1 ab Version DLL 530, OUT 531, RBF 522. set_mcbsp_freq-Befehl Neu hinzugefügt. set_mcbsp_in-Befehl, Neu hinzugefügt. set_mcbsp_in_list-Befehl set_mcbsp_out-Befehl Ergänzt (ab Version DLL 531, OUT 532): Signal1, Signal2 = 25…42.
  • Seite 687 Änderungen von Version 1.6 nach Version 1.7 Seite Name des Kapitels / Befehls Änderung Kapitel 2.2.2 ”Software” Ergänzung: Hinweise zu neuen Treibern. Kapitel 4.4.8 ”Analog-Eingänge Neu hinzugefügt. (optional)” Kapitel 5.3 ”Installation der Treiber” Ergänzung: Installation unter Windows 8 und neues Kapitel 5.3.1 ”Treiber-Upgrade”, Seite Kapitel 7.4.2 ”Konfigurieren der Neu hinzugefügt.
  • Seite 688 Änderungen von Version 1.7 nach Version 1.8 Seite Name des Kapitels / Befehls Änderung Kapitel 6.5.5 ”Schleifen” Neu hinzugefügt (Version DLL 536, OUT 536). Kapitel 7.4.1 ”Freigeben, Aktivieren Korrigiert: Ein (hochohmiger) tristate-Zustand der Laser- und Schalten der Lasersteuersignale” signal-Ausgänge (LASERON, LASER1 und LASER2) stellt sich auch dann ein, wenn die Lasersteuersignale nachträglich durch einen Befehl unterdrückt werden (siehe auch disable_laser,...
  • Seite 689 load_stretch_table-Befehl Neu hinzugefügt (Version DLL 536, OUT 536). micro_vector_abs-Befehl, Änderung (Version DLL 536, OUT 536): LasOn, micro_vector_rel-Befehl LasOff < 2 micro_vector_abs_3d-Befehl, Neu hinzugefügt (ab Version DLL 536, OUT 536). micro_vector_rel_3d-Befehl park_position-Befehl, Neu hinzugefügt (Version DLL 536, OUT 536). park_return-Befehl select_cor_table-Befehl, Geändert (Version DLL 533, OUT 534): Wertebereich der select_cor_table_list-Befehl Parameter.
  • Seite 690 Änderungen von Version 1.8 nach Version 1.9 Seite Name des Kapitels / Befehls Änderung Kapitel 7.5.2 ”Markieren von Ergänzt (ab Version DLL 537, OUT 537): Markierung von Seriennummern” Seriennummern jetzt auch mit auswählbarem Seriennummernsatz. Kapitel 8.4 ”Wobbelmode” Ergänzt: Richtungsvorgabe und ”Frei definierbare Wobbelfiguren”.
  • Seite 691 Änderungen von Version 1.9 nach Version 1.10 Seite Name des Kapitels / Befehls Änderung ® Kapitel 2.5.6 ”RTC 5 varioSCAN Neu hinzugefügt. FLEX Extension-Karte” Kapitel 2.6 ”Ergänzende Software” Ergänzung. Kapitel 4.4.6 ”SPI / I2C-Stiftleiste” Ergänzung (ab Version DLL 538, OUT 538): Die “SPI / I²C”...
  • Seite 692 Seite Name des Kapitels / Befehls Änderung Kapitel 14 ”Technische Unter “SPI / I2C”-Anschluss die Werte der SPI-Konfiguration ® Spezifikationen der RTC 5 PCI- hinzugefügt. Karte” Kapitel 16.5 ”Konformität mit der Neu hinzugefügt. EU-Richtlinie zur elektromagnetischen Verträglichkeit (EMV)” ® ® ®...

Inhaltsverzeichnis