Table of Contents

Advertisement

Quick Links

L1 SENSOR
USER MANUAL
By
LMI Technologies Inc.
Date: Oct. 6, 2004
Revision: B

Advertisement

Table of Contents
loading

Summary of Contents for LMI Technologies Dynavision L1

  • Page 1 L1 SENSOR USER MANUAL LMI Technologies Inc. Date: Oct. 6, 2004 Revision: B...
  • Page 2 Date: Oct. 6, 2004 Revision: B...
  • Page 3 This document, submitted in confidence, contains proprietary information that shall not be reproduced or transferred to other documents or disclosed to others or used for manufacturing or any other purpose without prior written permission of LMI Technologies Inc. LMI Technologies Inc. 1673 Cliveden Ave. Delta, BC V3M 6V5 Canada...
  • Page 4: Table Of Contents

    Table of Contents INTRODUCTION ..................... 6 General Description ..................6 Sensor Configuration..................6 Sensor Output ....................7 Performance ..................... 8 COMPONENT OVERVIEW ................... 10 L1 sensor Head ....................10 Host Interface ....................10 L1 Scanner Frame (not supplied) ..............11 Cable Assemblies (not supplied) ..............
  • Page 5 Function Return Codes ..................25 Type Definitions ....................26 lxn_GetVersion ....................26 lxn_GetVersionString ..................26 lxn_Init........................ 27 lxn_Terminate ....................27 lxn_SetTimeout ....................27 lxn_GetNumHeads..................... 28 lxn_GetData ....................... 28 lxn_GetYCoord....................29 lxn_GetDiags ..................... 29 lxn_GetDataAndDiags..................30 lxn_GetAllData ....................31 lxn_GetNumEncoders ..................32 lxn_InitEncoder ....................
  • Page 6 APPENDIX F: Modes of Operation................58 Sensor modes ....................59 APPENDIX G: RS-485 Serial Interface ..............62 Type Definitions ....................65 lxs_GetLibraryVersion..................66 lxs_CreateSerialChannel ................... 66 lxs_DestroySerialChannel .................. 67 lxs_OpenSerialChannel ..................67 lxs_CloseSerialChannel ..................67 lxs_SetSerialBusAddress................... 68 lxs_GetSerialBusAddress .................. 68 lxs_GetDspVersion ....................
  • Page 7: Introduction

    L1 User Manual LMI Technologies Inc. 1. INTRODUCTION 1.1 General Description ® The DynaVision L1 sensor is a high performance line profiling sensor which can be used in a wide variety of applications including the profiling of logs, boards, and other diffuse, or nearly diffuse, surfaces.
  • Page 8: Sensor Output

    L1 User Manual LMI Technologies Inc. Data is acquired by the sensor head and transmitted to the host computer over the high-speed TAXI data link to the host interface in the host computer. Commands can be sent to the sensor head over the RS-485 serial interface although this is not mandatory.
  • Page 9: Performance

    L1 User Manual LMI Technologies Inc. = (k * delta ) + y position in stream value value value Figure 3. L1 Sensor output is a stream of encoded (x,y) values simple call interfaces for data acquisition and sensor control.
  • Page 10 L1 User Manual LMI Technologies Inc. Sensor Y Axis Standoff Range (0,0) Sensor X Axis L1 Sensor Measurement Region Figure 4. Measurement Region Page 9 of 71...
  • Page 11: Component Overview

    L1 User Manual LMI Technologies Inc. 2. COMPONENT OVERVIEW 2.1 L1 sensor Head The L1 sensor head is a high performance laser line sensor based on the triangulation principle. It is illustrated in Figure 5. It forms the sensing component of the L1 system.
  • Page 12: L1 Scanner Frame (Not Supplied)

    L1 User Manual LMI Technologies Inc. The L1 Host Interface consists of one or more IndustryPack (IP) carrier boards, and ® one or more DynaVision TAXI_IP_Rx host-interface daughter boards (one for each L1 sensor). Industry Pack carrier boards can be obtained from GreenSprings and other ®...
  • Page 13: Safety Considerations

    L1 User Manual LMI Technologies Inc. 3. SAFETY CONSIDERATIONS 3.1 Laser Safety The L1 sensor uses lasers for measuring ranges. This requires that specific safety precautions be taken when servicing the equipment. Caution! Use of controls or adjustments, or performance of procedures other than those specified herein may result in hazardous radiation exposure.
  • Page 14 L1 User Manual LMI Technologies Inc. In accordance with the U.S. Department of Health and Human Services standards under the Radiation Control for Health and Safety Act of 1968, the following safety labels are affixed to each individual SENSOR head:...
  • Page 15: Laser Safety Requirements

    1968” : HHS Publication FDA 88-8035. This publication can be obtained directly from the FDA. LMI Technologies Inc. has filed a report with the FDA to assist OEMs in achieving certification of their own applications. These reports can be referenced by their accession number, which will be provided upon request.
  • Page 16: Specifcations

    L1 User Manual LMI Technologies Inc. 4. SPECIFCATIONS 4.1 L1 sensor Head 4.1.1 Mechanical Dimensions: 2.5" x 7.0" x 16.0" (64mm x 178mm x 407mm) Weight: <10lb (<4.5kg) Mounting: Three-point mount to eliminate twist of enclosure, compatible with 5/16" mounting hardware 4.1.2 Electrical...
  • Page 17: Electrical

    L1 User Manual LMI Technologies Inc. 4.2.2 Electrical: Power required: Supplied by IndustryPack carrier card Page 16 of 71...
  • Page 18: Setup And Operation Of Your L1 Sensor

    L1 User Manual LMI Technologies Inc. 5. SETUP AND OPERATION OF YOUR L1 SENSOR This section describes the procedures for installing your L1 sensor components. 5.1 Install the Host Interface To install the host interface do the following.   Remove the host computer cover ...
  • Page 19: Install Lmi.sys Device Driver

    L1 User Manual LMI Technologies Inc. RS-232 communications port to RS-485). You can now switch the AC power back on and allow the computer to boot. 5.2 Install LMI.SYS Device Driver To install: 1. If you are installing the driver to a Windows NT 4.0 machine, right click on the file "nt4\lmi.inf"...
  • Page 20: Mount And Align The Sensor Heads

    L1 User Manual LMI Technologies Inc. Position the sensor (as per section 5.3.1 above) with a test object within its operating region. Turn on the sensor and confirm it is operating. Then turn on the host computer. Use the L-series Diagnostic Program program to verify that the IP card(s) and sensor (s) were properly detected.
  • Page 21: Calibrate The Scanner System

    L1 User Manual LMI Technologies Inc. 5.6 Calibrate the Scanner System Once all laser fans are co-planar, you can perform a system calibration for the scanner system. This is required, in order to obtain data from the sensor s in a common reference frame.
  • Page 22: Maintenance And Servicing

    L1 User Manual LMI Technologies Inc. 6. MAINTENANCE AND SERVICING WARNING! Always ensure that proper laser safety procedures are observed when working around the sensor . Performance of procedures other than those specified herein may result in hazardous radiation exposure.
  • Page 23: Appendix A: Dynavision Taxi Interface

    L1 User Manual LMI Technologies Inc. ® APPENDIX A: DynaVision Taxi Interface Page 22 of 71...
  • Page 24: Overview

    L1 User Manual LMI Technologies Inc. A.1 Overview Data is transmitted from the L1 sensor head to the associated Host Interface card using ® the DynaVision TAXI Protocol. TAXI is a high-speed, point-to-point, communication interface developed by Advanced Micro Devices (AMD). In combination with fiber-optic transmitters and receivers, it provides high noise immunity and a bandwidth of 100 Mbps.
  • Page 25: Taxi Interface Library

    A.4 Taxi Interface Library This section describes the Host Application Interface Library (Taxi Interface) for the L- series sensor s from LMI Technologies Inc. The host application interface library provides a set of C-language routines to support data transfer from the Host Interface to host application memory.
  • Page 26: Constants

    L1 User Manual LMI Technologies Inc. Constants Constant Value Description NUMDIAGS size of diagnostics array in words NUMDATA number of data points per laser object NUML1DATA number of data points per L1 GetData request NUML4DATA 1000 number of data points per L4 GetData request...
  • Page 27: Type Definitions

    L1 User Manual LMI Technologies Inc. DCS_NOISE invalid data captured DCS_BAD_DEVICE the device specified is invalid DCS_SYNCH_INCOMPLETE some groups were not synchronized DCS_SYNCH_TIMEOUT data could not be synchronized Type Definitions /* Stucture used to hold the revision number of the DLL */ typedef struct short majorRevision;...
  • Page 28: Lxn_Init

    L1 User Manual LMI Technologies Inc. lxn_Init PURPOSE: Initializes the library. INPUT: None RETURN: //DCS error code COMMENT: Must be called before any other library functions. SYNTAX: int lxn_Init(void); lxn_Terminate PURPOSE: Performs any necessary cleanup when the lxnlib library is no longer needed.
  • Page 29: Lxn_Getnumheads

    L1 User Manual LMI Technologies Inc. lxn_GetNumHeads PURPOSE: Called to obtain the count and physical layout of detected IPs corresponding to a particular device type (L1, L4 or encoder). INPUT: int device //type of device (L1_DEVICE, etc) unsigned int *mask...
  • Page 30: Lxn_Getycoord

    L1 User Manual LMI Technologies Inc. int *destination //pre-allocated buffer to return sensor data RETURN: //DCS error code COMMENT: The buffer pointed to by destination should be large enough to hold (lxn_GetDataSize(device)) elements. SYNTAX: int lxn_GetData(int device, int head, int *destination);...
  • Page 31: Lxn_Getdataanddiags

    L1 User Manual LMI Technologies Inc. NUMDIAGS elements. Data will be returned in the following format: Index Description Units Packet ID 1111 = L1 4444 = L4 Supply voltage (nominally 15 V) 0.1V Internal 5V Regulator supply 0.1V Reserved Case temperature °C...
  • Page 32: Lxn_Getalldata

    L1 User Manual LMI Technologies Inc. frame index indicates that the function should wait for a new frame before returning data. If lastFrame is set to NULL, the function will simply return the next available data frame. SYNTAX: int lxn_GetDataAndDiags(int device, int head, int *data, int *diags, int *lastFrame);...
  • Page 33: Lxn_Getnumencoders

    L1 User Manual LMI Technologies Inc. Note that in the above example, the data in the range data[NUML1DATA*2 + 1]...data[NUML1DATA*3 - 1] will not be modified by the library, and will contain the same values that were originally passed in to lxn_GetAllData.
  • Page 34: Lxn_Getencodercount

    L1 User Manual LMI Technologies Inc. lxn_GetEncoderCount PURPOSE: Gets the current count value from the specified encoder counter. INPUT: int card //logical index of the encoder card int counter //logical index of the encoder counter RETURN: //DCS error code SYNTAX : int lxn_GetEncoderCount(int card, int counter);...
  • Page 35: Lxn_Setencoderres

    L1 User Manual LMI Technologies Inc. lxn_SetEncoderRes PURPOSE: Sets encoder resolution. INPUT: int encoder //encoder index int counter //counter index; (0->3) int resolution //1 - one count for each full cycle of quadrature inputs //2 - two counts //4 - four counts...
  • Page 36 L1 User Manual LMI Technologies Inc. The following is an example of how to initialize the encoder. if (num_encoders > 0) // initialize encoder card 0, counter 0 lxn_InitEncoder(0,0); // set the encoder direction to forward initially direction = 0; // 0=forward, otherwise reverse lxn_EncoderCountDirection(0, 0, direction);...
  • Page 37 L1 User Manual LMI Technologies Inc. printf("Press a key to stop displaying the encoder value...\n\n"); // while no key is pressed while( !_kbhit() ) // read the encoder if ((count = lxn_GetEncoderCount(EncCard, QuadCounter)) < 0) return rv; // display the encoder count printf("The encoder count is %d...
  • Page 38: Appendix B: Calibrate Dll User Guide

    L1 User Manual LMI Technologies Inc. APPENDIX B: Calibrate DLL User Guide Page 37 of 71...
  • Page 39: Overview

    L1 User Manual LMI Technologies Inc. B.1 Overview  The Calibrate DLL provides a tool to calculate the (x, y, ) transformation required to convert scan data from a sensor 's local coordinate frame to a user specified global coordinate frame.
  • Page 40: The Calibrate Dll Api

    L1 User Manual LMI Technologies Inc. If multiple sensor heads are arranged in a ring around the scan zone, the angle and offset of each sensor head defines its position in the global coordinate frame. The angle (in radians) is the counter-clockwise rotation about the z-axis of the sensor head required to orient the sensor 's field of view with the scan zone.
  • Page 41: Type Definitions

    L1 User Manual LMI Technologies Inc. B.3 Type Definitions Calibrate.h The following two data types are used, and they are defined in typedef struct { double x; double y; double theta; } DVFRAME; typedef struct { double x; double y;...
  • Page 42: Example Of Using The Calibrate Dll Api

    L1 User Manual LMI Technologies Inc. B.5 Example of Using the Calibrate DLL API The following is an example of how to use the Calibrate DLL. In this example, the calibration object must have already been placed in the field of view. This code is written for a C++ module.
  • Page 43: Calibration Object File

    L1 User Manual LMI Technologies Inc. B.6 Calibration Object File The calibration DLL requires a calibration object definition file. This file (see Section B.7) defines the shape of the calibration object (target). The file must have a ". " extension.
  • Page 44 L1 User Manual LMI Technologies Inc. // Note: The points must be labeled in clockwise order and point 0 cannot be a v-section vertex The data for the 6x6” cross calibration target (Figure B.3) is: 12 4 0 0 0...
  • Page 45: Appendix C: Designing A Line Scanning System

    L1 User Manual LMI Technologies Inc. APPENDIX C: Designing a Line Scanning System Page 44 of 71...
  • Page 46: Overview

    L1 User Manual LMI Technologies Inc. C.1 Overview To build a scanning system you need to assemble and integrate the following components:   One or more L1 sensors (including Host Interfaces)   A material transport system that moves the objects to be measured through the measurement region of the sensors ...
  • Page 47: Building A Scanner Frame

    L1 User Manual LMI Technologies Inc. The orientation of the sensor heads is easily done graphically (especially in a CAD system). First, create a cross-section through the object transport that shows the following:   Cross-sections of the largest and smallest objects to be scanned ...
  • Page 48: Ambient Light Considerations

    L1 User Manual LMI Technologies Inc. C.4 Ambient Light Considerations: Control the Environment: The L1 sensors are optical devices. They project laser lines onto the target surface and use cameras to ‘ see’ these lines. While filtering and processing is done to improve...
  • Page 49: Material Transport System

    L1 User Manual LMI Technologies Inc. Material Transport System The material transport system conveys the measurement objects through the measurement region of the L1 sensors. Design the material transport so that it is “ invisible” to the sensor system. This can be accomplished by: ...
  • Page 50: Power Supplies

    L1 User Manual LMI Technologies Inc. C.7 Power Supplies DC Power must be provided to the L1 sensor heads of the scanning system. The DC supplies should be sized so as to meet the requirements as outlined in Section 4.
  • Page 51 L1 User Manual LMI Technologies Inc. Data can be requested in either integer or short format. The range data is measured along the x-axis of the sensor. The x-coordinate range data is returned in an array. The y-coordinate of each buffer position is static and does not need to be retrieved on 0x8000 every data request.
  • Page 52: Appendix D: Cable Specifications

    L1 User Manual LMI Technologies Inc. APPENDIX D: Cable Specifications Page 51 of 71...
  • Page 53: Connector Overview

    L1 User Manual LMI Technologies Inc. D.1 Connector Overview The L1 sensor head has two connectors as shown in Figure E.1. Fiber optic connector ITT Cannon Military Connector (MS 3102E18-IP) Figure D.1. L1 Sensor Head Connectors D.2 Multi-pin Military Connector The multi-pin MIL-C-5015 military connector is a 10-pin male connector manufactured by ITT Cannon and Amphenol.
  • Page 54: Cable Recommendations

    L1 User Manual LMI Technologies Inc. D.3 Cable Recommendations The power cables must be sized so that they can handle a minimum 15 VDC at 1 Amp to each sensor head. For the optional RS-485 connection, it is recommended that Belden Cable type 8723 (or equivalent) be used to connect the sensor head to the host computer.
  • Page 55 L1 User Manual LMI Technologies Inc. Page 54 of 71...
  • Page 56 L1 User Manual LMI Technologies Inc. Page 55 of 71...
  • Page 57: Appendix E: L-Series Diagnostic Program

    L1 User Manual LMI Technologies Inc. APPENDIX E: L-Series Diagnostic Program Page 56 of 71...
  • Page 58: Introduction

    L1 User Manual LMI Technologies Inc. E.1 Introduction The L-Series Diagnostic Program, LxDiags.exe is provided to display data from L- series sensors. This program communicates with an L-series sensor using the ® DynaVision Host Applications Interface Library. It can help with your host application development, and test your Scanner system.
  • Page 59: Appendix F: Modes Of Operation

    L1 User Manual LMI Technologies Inc. APPENDIX F: Modes of Operation Page 58 of 71...
  • Page 60: Sensor Modes

    L1 User Manual LMI Technologies Inc. F.1 Sensor modes 1. Multiplexing Modes L1 Multiplexing modes permit two rows of L1 sensors to operate without interference even while their measurement regions and lasers overlap. The heads are split into one or two Sync Groups (see Figure F.1). This feature may also be used to synchronize the operation of a single row of L1 sensors.
  • Page 61 L1 User Manual LMI Technologies Inc. When setting up the system, you may have the laser lines from one head overlapping the lasers from the opposite head, or they can be offset laterally by some amount. Operating the heads in multiplex mode will not adversely affect the data returned from the sensor nor will it reduce the scan rate of the heads.
  • Page 62 L1 User Manual LMI Technologies Inc. 4. The mode of each head is stored in its Flash memory. When it starts up, it reads it’ s mode and acts accordingly: o Master and Free-Running heads will start up and run on their own.
  • Page 63: Appendix G: Rs-485 Serial Interface

    L1 User Manual LMI Technologies Inc. APPENDIX G: RS-485 Serial Interface Page 62 of 71...
  • Page 64 L1 User Manual LMI Technologies Inc. RS-485 Serial Communications: The heads are all individually wired up to communicate serially using four-wire RS-485 communications. Presently, the Lx Serial Bus Address Editor and the L1 Multiplex Configuration applications must have a fully operational serial link between the computer they are installed on and the heads before they can operate properly.
  • Page 65 L1 User Manual LMI Technologies Inc. LxSerial.dll API An RS-485 serial API library is provided in order to allow the user to include serial commands in their application. An example of how to use this library is included in the software package (sample.c).
  • Page 66: Type Definitions

    L1 User Manual LMI Technologies Inc. Type Definitions Instances of this type refer to objects created for managing Lx serial communication sessions; intialize intstances of this type to 0. typedef void* LxSerialHandle; Instances of this type specify a mode of sensor operation.
  • Page 67: Lxs_Getlibraryversion

    L1 User Manual LMI Technologies Inc. int rowCount; //number of rows to transmit int updateCount; //number of times to transmit the same packet (2..255) } LxsGreyscaleInfo; Functions: lxs_GetLibraryVersion Purpose: Returns the current version of this library as a dotted string.
  • Page 68: Lxs_Destroyserialchannel

    L1 User Manual LMI Technologies Inc. lxs_GetLastError to determine the cause of failure. Comment: This call allocates resources. Ensure that lxs_DestroySerialChannel is called on the returned handle when the serial channel object is no longer required. Syntax: LxSerialHandle LMIAPI lxs_CreateSerialChannel();...
  • Page 69: Lxs_Setserialbusaddress

    L1 User Manual LMI Technologies Inc. lxs_SetSerialBusAddress Purpose: Sets the serial bus address currently associated with the specified channel handle. This address will be used in subsequent communications until this function is called again to change the address. Input: LxSerialHandle channel...
  • Page 70: Lxs_Resetsensor

    L1 User Manual LMI Technologies Inc. lxs_Resetsensor Purpose: Resets the sensor. Input: LxSerialHandle channel //valid handle to a serial channel object Return: Non-zero upon success; zero upon failure. Call lxs_GetLastError to determine the cause of failure. Syntax: int LMIAPI lxs_Resetsensor (LxSerialHandle channel);...
  • Page 71: Lxs_Setsyncmode

    L1 User Manual LMI Technologies Inc. Syntax: int LMIAPI lxs_GetSyncInfo(LxSerialHandle channel, LxsSyncMode *syncMode, int *isSoftwareControlled, int *isSynchronized); lxs_SetSyncMode Purpose: Temporarily sets the synchronization mode of a sensor. Input: LxSerialHandle channel //valid handle to a serial channel object LxsSyncMode //new sync mode Return: Non-zero upon success;...
  • Page 72: Lxs_Getlasterror

    L1 User Manual LMI Technologies Inc. Also note that if you wish to commmunicate with the modified sensor after it is rebooted, you must call lxs_SetSerialBusAddress to update the serial bus address used by the LxSerial library. Syntax: int LMIAPI lxs_WriteSerialBusAddress(LxSerialHandle channel, int newAddress);...

Table of Contents