Advertisement

Quick Links

IEEE 1394 Camera Series (IM-30/IM-100)
User's Manual
Manual Version: 2.1
Revision Date: April 30, 2008
ICP DAS CO., LTD.
www.icpdas.com

Advertisement

Table of Contents
loading

Summary of Contents for ICP DAS USA MAVIS IM-30

  • Page 1 IEEE 1394 Camera Series (IM-30/IM-100) User’s Manual Manual Version: 2.1 Revision Date: April 30, 2008 ICP DAS CO., LTD. www.icpdas.com...
  • Page 2: Table Of Contents

    1.4.8 External Trigger ................15 1.4.9 Strobe Control ................17 Spectral Response ...............18 Integrate Enabled Signal Timing ..........19 Benchmarks .................20 Hardware Reference..............21 MAVIS IM-30/IM-100 ..............21 2.1.1 Camera Specification ..............21 2.1.2 Camera Interface .................22 2.1.3 Standard Package Contents............22 Optional Accessory...............23 2.2.1 1394 Dual-port Card: IOI-4601-21..........23 2.2.2 1394 Latch Cable: CA-1394-45.............23...
  • Page 3 Component Description..............35 EzVIEW_Fly Utility ..............42 Overview ..................42 Configuration................43 Help – About EzVIEW_Fly............47 Tool Icons ..................47 Function Library ................ 50 List of Functions ................51 Programming Flowchart ...............52 Camera Management..............56 Camera Acquisition ..............59 Camera Configuration ..............67 Digital Input/Output...............75 External Trigger ................82 Strobe Control ................87 Lookup Table ................93 6.10...
  • Page 4: Introduction

    1 Introduction MAVIS is a new and exciting vision product line from ICP DAS, designed specifically for industry machine vision applications. The MAVIS IM series is designed to meet or exceed IEEE 1394 standards, while offering industry leading VGA resolution, high-performance frame rates, and a competitive price point! The Mavis IM30 offers 30fps for low-cost progressive-scan inspection applications, while the Mavis IM100 can offer up to 100fps, in full resolution for advanced high-speed inspection applications.
  • Page 5: Function Descriptions

    1.4 Function Descriptions In this section, we will outline the MAVIS IM-30/IM-100 camera control functions. To ensure proper implementation, please carefully review the, limitation parameters and formula calculations, listed below. 1.4.1 AOI (Area of Interest) The AOI (Area of Interest) function allows users to select an area of interest, for the camera’s CMOS array to specifically read, display, and transmit.
  • Page 6: Test Pattern

    By using the calculations above, the AOI for this particular scenario can be calculated at 269 frames per second. 1.4.2 Test Pattern The MAVIS IM-30/IM-100 series cameras offer an internal generated test pattern for testing camera transmission. The test pattern will show a gray bar running diagonally, moving upwards at 1pixel/frame.
  • Page 7: Mirror Image

    1.4.3 Mirror Image The mirror image feature is only available in the MAVIS IM-100 camera. When you enable mirror image mode, the camera will reflect the image’s vertical axis, before data is transmitted out of the camera. In factory mode, the mirror image is disabled and the order of transmission for the pixels in each line is pixel 1, pixel 2, pixel 3, to 640.
  • Page 8: Gain And Brightness

    1.4.4 Gain and Brightness The Gain and Brightness adjustment functions are accomplished by manipulation of the sensor’s digital output signal. Please refer in Figure 1-4; when the gain is set to 0, the full 10bit output range of the camera’s CMOS sensor will mapped directly to the 8bit output range of the camera.
  • Page 9 Value 2.5dB 3.5dB 9.5dB 10.9dB 12dB Table 1-1 Gain value settings Please refer to “Figure 1-5”; Which illustrates the effect of setting the brightness higher than the default value of 725. It should be noted that this setting moves the response curve to the left;...
  • Page 10: Lookup Table

    1.4.5 Lookup Table MAVIS IM-30/IM-100 cameras have a sensor that reads pixel value at a 10bit depth; however, the camera outputs pixel values at an 8bit depth. When set for 8bit output, the camera normally uses an internal process to convert the 10bit pixel values from the sensor to the 8bit values transmitted out of the camera.
  • Page 11 Figure 1-7 is for a lookup table where the values are arranged so that the camera output increases quickly as the sensor output moves from 0 through 511 and increases gradually as the sensor output moves from 512 through 1023. Figure 1-7: LUT with Values Mapped for Higher Camera Output at Low Sensor Readings Upload a Lookup Table The EZView utility offers a...
  • Page 12: Shutter (Exposure)

    1.4.6 Shutter (Exposure) The camera exposure time is related with shutter speed or camera frame rate. MAVIS IM-30/IM-100 allowed to set shutter speed range from 20us to 81900us. While user set the exposure time (shutter speed) longer then frame acquisition speed then camera frame rate will be reduced.
  • Page 13: Input/Output

    Trigger” for detail information. Output Ports The MAVIS IM-30/IM-100 offers 4 output ports; designated as Output Port 0, Output Port 1, Output Port 2 and Output Port 3, all are TTL level. The output ports are accessed via the 10-pin circular connectors on the back of the camera.
  • Page 14 24mA. An output voltage between 4.2 and 5.0VDC indicates a logical 1. The minimum high level output voltage (i.e., 4.2VDC) will be present when the driver is sou rcing the maximum allowed output current of 24mA. Figure 1-7 is an example of a typical circuit that you can use to monitor an output port with a LED or an Opto-coupler.
  • Page 15: External Trigger

    1.4.8 External Trigger The external trigger (Ex-Trig) input signal can be used to control the start of exposure. A rising edge or a falling edge can also be used to trigger exposure start. The External Trigger Mode is also used to enable the Ex-Trig exposure start control;...
  • Page 16 Level Controlled Exposure Mode When level control led mode is selected, the length of the exposure is determined by Ex-Trig signal alone. If the camera is set for rising edge triggering, exposure begins when the Ex-Trig signal rises and continues until Ex-Trig signal falls.
  • Page 17: Strobe Control

    1.4.9 Strobe Control This feature allows a user to enable and parameterize up to four strobe light control output signals. The signals are designated as Strobe 0, Strobe 1, Strobe 2, and Strobe3. Each strobe signal can be set to on or off and active high or low by logical value, please refer to section 5, “Function Library”, for comma nd definitions.
  • Page 18: Spectral Response

    1.5 Spectral Response Figure 1-11: MAVIS IM30/IM100 Camera Spectral Response The camera spectral response curve excludes Lens and lighting source characteristics. - 18 -...
  • Page 19: Integrate Enabled Signal Timing

    10 nanoseconds. The time between the end of exposure and the fall of Int-En signal will also be less than 10 nanoseconds. This is very good performance, and is due to the design of the camera output port circuitry. Figure 1-12: MAVIS IM-30/IM-100 Camera Timing Chart - 19 -...
  • Page 20: Benchmarks

    MAVIS IM-100* x MAVIS IM-100* x 3pcs or guaranteed: 3pcs or MAVIS 2pcs or MAVIS MAVIS IM-30** x 8pcs (by IM-30** x 10pcs IM-30** x 6pcs hub function of 1394R3B) MAVIS acquisition speed data rates: * When the IM-100 is at full speed image acquisition (100 frames per second) the data rate will be up to 29.3MB per second.
  • Page 21: Hardware Reference

    Hardware Reference 2.1 MAVIS IM-30/IM-10 2.1.1 Came Specification Item IM-3 IM-100 1/2” CMOS S 3, Pi Image sensor ensor Micron MT9V40 xel size: 9.9um x 9.9um Video output p ixels 640(H) x 48 0(V) Gain control 0 ~ 1 2dB setting via commu...
  • Page 22: Camera Interface

    2.1.2 Camera Interface IEEE 1394 GPIO Name Name +12VDC Output 0 Input 0 TPB- Output 1 TPB+ Input 1 TPA- Output 2 TPA+ Output 3 Camera rear view Table 2-1 Camera In terface Connector Pin Assignments 2.1.3 Standard Packag e Content mera with Lens-cap r CD &...
  • Page 23: Optional Accessory

    Optional Accessory To incre ase your sys tem’s working performance and reliability, ICP DAS su ggests three optiona l acces sories. 2.2.1 1394 Dual-port Card: IOI-4601-21 The IOI-4601-21 is dual IEEE 1394 host controller PCI in rface card. Capable of supporting simultaneous dual ports dat a tran smission at rates of 400Mbps.
  • Page 24: 1394 Repeater: 1394R3B

    2.2.3 1394 Repeater: 1394R3B 1394R3B repeater offer 1port to 2 ports IEEE 1394 signal repeat and cable extension need. The 1394R3B allow convert 1394-1995 to 1394a. Top Side View Left Side View Right Side Vide Chip PHY: TI. TSB41AB3 1394 Bus Transfer Rate 10 0 / 200 / 400 Mbps Device Interface 400-Mbps, 2-port, 3.3...
  • Page 25: Installation Guide

    3 In stallation Guide IS IM-30/IM100 IEEE 1394 cameras support o perat ion in IPC, PC and Notebo system platforms. This also installation gui de includes information on how to use this camera correctly and safely. Please read through this inst allation guide carefully follow the installation steps of your specified system platform.
  • Page 26 Anchor the board by replacing the screw. (7) Using 1394 cable to connect MAVIS IM-30/IM-100 1394 camera to 1394 card and GPIO cable wiring if necessary. For image acquisition test please refer to the “EZView Utility”.
  • Page 27: Notebook Pc / Pcmcia Socket

    3.1.2 Notebook PC / PCMCIA Socket your notebook iLink/S400 interface port then your notebook PC has a built-in 1394 host controller. So please follow the step for installation. (1) Please prepare one IEEE 1394 repeater, one 4-pin to 6-pin IEEE 1394 cable, one 6-pin to 6-pin IEEE 1394 cable and one wal kman type DC power adapter first.
  • Page 28 If your notebook PC does not have 1394 interface port, then please plug your 1394 Card Bus to PCMCIA socket, and follow the steps for installation. (1) Please prepare one IEEE 1394 PCMCIA card, IEEE 1394 repeater, two 6-pin to 6-pin IEEE 1394 cable and one walkman t ype DC power adapter first.
  • Page 29: Driver Installation

    3.2 Driv er Installation Do not plug in any MAVIS IM-30/IM-100 cameras before driver installation has been completed. Please refer to t he following inst allation steps for various programmin g environment specific installations. 3.2.1 For Vi sual Studio (VC/VB/BCB/VC#.NET) Users...
  • Page 30 Plea enter user name and company name, then click “Next” button. The MAVIS series default path located at C:\MAVIS\, and you can click “Change..” button to change driver installation path, otherwise please click “Next” button for continue driver installation. - 30 -...
  • Page 31 Please click the “Install” button Driver installing - 31 -...
  • Page 32 When driver install is completed, please click the “Finish” button and restart your system. After system re-boot, please plug in the MAVIS IM-30/IM-100 cameras and go to “Device Manager” and make sure you see the “Generic IEEE-1394 digital camera” in the list of “ICP DAS MAVIS”.
  • Page 33: For Labview Users

    NI (National Instruments) for your system development, then we’ll suggest you to use NI-IMAQ directly. The MAVIS IM-30/IM-100 series are fully compatible with NI-IMAQ-1394. Please just select “NI-IMAQ IEEE 1394 IIDC Digital Camera” driver for your installation and DO NOT install the MAVIS driver.
  • Page 34: Ezview Utility

    Manager before running the EZView utility. This chapter outlines how to estab lish a vision system and how to manually con trol the MAVIS IM-30/IM-100 camera series to verify correct operation. EZView provides a simple yet powerful means to setup, configur e, test, and debug the vision system.
  • Page 35: Component Description

    4.2 Component Description File The File menu offers the “Enable Test Image”, “Lookup Table”, Strobe Control”, “Strobe Time Base”, “External Trigger” functions and “About EZView” for version control information as below. Test Image Mode - 35 -...
  • Page 36 Lookup Table The EzView utility has offer int erface window for user to ‘Download’ the LUT inform ation of MAVIS. Meanwhile, user can enable the ‘Enable LUT’ function for ‘Upload’ custom LUT information to MAVIS operation. Strobe Control The EzView utility offer interface window for Strobe Control parameter setting nd those parameters only effective when configure the specific output port for strobe operation.
  • Page 37 Strobe Time Base This is for change strobe control Duration Time Base. The Duration Time Base range from 1 ~ 85 and the time base denominator is 1/1024ms. For example, when Strobe Duration value is 600 and set the Duratio n Time Base to 50, then the strobe light up duration time will be: 600 x (50/1024ms) = 24.4ms.
  • Page 38 “External Trigger” has offer two hardware trigger control by “Input 0” and “Input 1” “Software” trigger control. “External Trigger” function parameters only effective when “External Trigger” function is setting to “Active”. About EZView - 38 -...
  • Page 39 Tree Browser The Tree Browser window lists the 1394 Host controller p orts and how many MAVIS 1394 cameras are available at the local computer. Display Window The display window displays full and specifically requested AOI size images and image effects. - 39 -...
  • Page 40 Tool Icons Camera Scan Click the Camera Scan icon to list the MAVIS 1 394 cameras available at the local computer. Measure FPS Click the Measure FPS icon and a pop-up will show the result of the frames per second test Snap Shot Click the SnapShot icon.
  • Page 41 Control bar Select the Frame Rate EZView utility offers 30fps acquisition speed default demonstration. Selection of the Frame Rate control bar is only available while using the MAVIS IM-100. Brightness Click and hold the left mouse button on the Brightness slider and drag the cursor to change its value.
  • Page 42: Ezview_Fly Utility

    5 EzVIEW_Fly Utility The EzVIEW_Fly is a friendly utility designe d for ICPDAS machine automation customer. The EzVIEW_Fly utility now support ed PISO-PS400 (driver version 3.0), ET-M8194H (driver version 1.0) and FRNET I/O. User can very easily to setup, configure, test, and debug about MAVIS cam eras image acquisition by external hardware trigger in EzVIEW_Fly utility.
  • Page 43: Configuration

    5.2 Configuration The Configuration included Feature Setting, Advanced Featu re and I/O Setting. Feature Setting The Main Feature Setting window included features setting for MAVIS Camera and Motion Module products. Please refer 5.2.1 and 5.2.2 for detail information. Advanced Features The Advanced Feature included Test Image and Lookup Table functions of MAVIS and please refer Chapter 4 EZView utility for the operation description.
  • Page 44 5.2.1 Feature Setting of MAVIS Camera The MAVIS Camera included MAVIS Main Feature, ROI Setting and Trigge Setting function and user can refer the operation as Chapter 4 EZView utility. Meanwhile user must to click ‘Apply’ button for save your setting into the MAVIS. In this page the ‘Enable External Trigger’...
  • Page 45 5.2.2 Feature Setting of Motion Module The Motion Module now supported ET-M8194H and PISO-PS400, and each time user only can choose one product model for motion control feature setting and single axis operation. EzVIEW_Fly utility required ET-M8194H or PISO-PS400 for hardware trigger pulse operation.
  • Page 46 T-Curve、S-Curve、Constant Acceleration Mode High、Low Limitation +/- Logic Start Velocity、Acceleration Velocity、Driving Parameters Velocity、Output Pulse Servo On/Off、Home*、Forward、Reverse、 Operation Command Reset、Stop Logical Position、Encoder Position、Driving Read Status Speed Home* - user must install limitation sen sor for home operation. When choose ET-M8194H When choose ET-M8194H then please input your ET-M8194H IP address and click ‘Connection’...
  • Page 47: Help - About Ezview_Fly

    When choose PISO-PS400 Please click ‘Initial’ button for PISO-PS400 card initialization. This is only rk in PISO -PS400 driv er 3.0 and operation fo r AXIS_X only. 5.3 Help – About EzVIEW_Fly 5.4 Tool Icons Camera Scan Click the Camera Scan icon to list the MAVIS 1394 cameras available at the local computer.
  • Page 48 5.4.1 T gger Setting MAVIS External Tri gger Setting The check box must enable for trigger capture. Selected the Trigger Mode and user can refer 1.4.8 for external trigger mode detail information. Selected the Trigger Input port and ensure the wiring correctly. Strobe Setting Selected output port and ensure the wiring correctly.
  • Page 49 Selected the active polarity mode and user can refer 1.4.9 for Strobe Control polarity definition. Setting delay value necessary please refer 1.4.9.for the formula of delay time. Setting the strobe duration and time base and please refer 1.4.9 for the formula of duration time. Motion Virtual Trigger Enable the check box while used...
  • Page 50: Function Library

    6 Function Library This chapter describes the API for MAVIS IM-30/IM -100 cameras. Users can use these functions to develop application programs und er Visual C++ 6.0, Visual Basic 6.0 , Boland C++ Builder 6.0, and C#.NET 2003. The MAVIS DLL file (IMCamera.dll) is common to u se in Visual C++, Visual Basi Boland C++ Builder and C#.NET development language.
  • Page 51: List Of Functions

    6.1 List of Functions Category Section Function IMC_Camera_Scan Camera Management IMC_Camera_Init IMC_Camera_Close IMC_ImageAcquisition_Start IMC_Image_Acquire IMC_ImageAcquisition_Stop Camera Acquisition IMC_AcquisitionFrame_Copy IMC_AcquisitionFrame_Save IMC_Live_Acquire IMC_LiveAcquisition_Stop IMC_FrameRate_Set IMC_Shutter_Get IMC_Shutter_Set Camera Configuration IMC_Gain_Get IMC_Gain_Set IMC_Brightness_Get IMC_Brightness_Set IMC_OutputPort_Status IMC_OutputPort_Configure Digital Inp ut/Output IMC_OutputPort_Write IMC_InputPort_Read IMC_InputPort_ReadAll IMC_Trigger_Enable External Trigger IMC_Trigger_Disable IMC_Trigger_ReadConfiguration IMC_StrobeControl_SetConfiguration...
  • Page 52: Programming Flowchart

    6.2 Programming Flowc hart Camera scan & initi IMC_Camera_Scan IMC_Camera_Init Camera close IMC_Camera_Close Camera parameters setting IMC_Camera_Scan IMC_Camera_Init IMC_FrameRate_Set IMC_Shutter_Set IMC_Gain_Set IMC_Brightness_Set eck camera sett IMC_Camera_Scan IMC_Camera_Init IMC_Shutter_Get IMC_Gain_Get IMC_Brightness_Get napshot IMC_Camera_Scan IMC_Camera_Init IMC_ImageAcquisition_Stop IMC_ImageAcquisition_Start IMC_Image_Acquire - 52 -...
  • Page 53 Live continue images capture IMC_Camera_Scan IMC_Camera_Init IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_LiveAcquisition_Stop Save single image to BMP file IMC_Camera_Scan IMC_Camera_Init IMC_AcquisitionFrame_Save IMC_ImageAcquisition_Stop Copy image to memory buffer IMC_Camera_Scan IMC_Camera_Init IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_LiveAcquisition_Stop IMC_AcquisitionFrame_Copy External trigger for image acquisition IMC_Camera_Scan IMC_Camera_Init IMC_Trigger_Enable IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_Trigger_Disable IMC_LiveAcquisition_Stop Camera digital output setting...
  • Page 54 Strobe control IMC_Camera_Scan IMC_Camera_Init IMC_StrobeControl_SetConfiguration IMC_StrobeControl_ReadConfiguration IMC_StrobeTimeBase_SetDurationTime IMC_StrobeTimeBase_ReadConfiguration Check camera digital input IMC_Camera_Scan IMC_Camera_Init IMC_InputPort_Read IMC_InputPort_ReadAll Camera AOI setting IMC_Camera_Scan IMC_Camera_Init IMC_AOI_Configure Camera test image IMC_Came ra_Scan IMC_Camera_Init IMC_TestImage_Enable IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_TestImage_Disable IMC_LiveAcquisition_Stop - 54 -...
  • Page 55 Read camera Lookup Table IMC_Camera_Scan IMC_Camera_Init IMC_LUT_Read Modify camera Lookup Table IMC_Camera_Scan IMC_Camera_Init IMC_LUT_SetStatus IMC_LUT_Write - 55 -...
  • Page 56: Camera Management

    6.3 Camera Management IMC_Camera_Scan Synt Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Camera_Scan ( PIMC_DEVICE_DATA pCamara_List); Visual Basic 6.0 IMC_Camera_Scan (pCamera_List As IMC_DEVICE_DATA) As Integer C#.NET 2003 Mavis.IMC_Camera_Scan(out IMC_DEVICE_DATA pCamera_List); Description: This function scans all available MAVIS cameras in system. After this function returns, this structure contains all available MAVIS cameras in system.
  • Page 57 IMC_Camera_Init Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Camera_Init ( int camera_idx, HANDLE* pHandle); Visual Basic 6.0 IMC_Camera_Init (ByVal camera_idx As Long, ByRef pHandle As Long) As Integer C#.NET 2003 Mavis.IMC_Camera_Init( int camera_idx, ref IntPtr pHandle ); Description: This functio n initializes the MAVIS cameras and returns a handle for the other...
  • Page 58 IMC_Camera_Close Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Camera_Close ( HANDLE Camera_Handle); Visual Basic 6.0 IMC_Camera_Close (ByVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_Camera_Close( IntPtr Camera_Handle ); Description: This function releases the allocated resources and closes the MAVIS camera. Once the camera is released by IMC_Camera_Close(), the other functions cannot access that camera.
  • Page 59: Camera Acquisition

    6.4 Camera Acquisition IMC_ImageAcquisition_S tart tax: Visual C++ 6.0 / B oland C++ Builder 6.0: short IMC_ImageAcquisition_Start ( HANDLE Camera_Handle); Visual Basic 6 IMC_ImageAcquisition_Start (ByVal Camera_Handle A s Long) As Integer C#.NET 200 avis.IMC_ImageAcquisition_St art( IntPtr Camera_Handle ); Description: This fun ction starts the Image Acquisition.
  • Page 60 IMC_ImageAcquire Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_ImageAcquire ( HANDLE Camera_Handle, PVOID* ppData ); Visual Basic 6.0 IMC_ImageAcquire (ByVal Camera_Handle As Long, ppData As L ong) As Integer C#.NET 2003 Mavis.IMC_Image_Acquire( IntPtr Camera_Handle, ref IntPtr ppData ); Description: This functio n sends the request to camera and receives the frame package when the...
  • Page 61 IMC_ImageAcquisition_Stop Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_ImageAcquisition_Stop ( HANDLE Camera_Handle); Visual Basic 6.0 IMC_ImageAcquisition_Stop (ByVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_ImageAcquisition_Stop( IntPtr Camera_Handle ); Description: This function stops Image Acquisition that started with IMC_ImageAcquisition_Start() .
  • Page 62 IMC_AcquisitionFrame_Copy Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_AcquisitionFrame_Copy ( HANDLE Camera_Handle, PV OID pData ); Visual Basic 6.0 C_AcquisitionFrame_Copy (ByVal Camera_Handle As Long, ByRef pDat a As Any) As Integer C#.NET 2003 Mavis.IMC_AcquisitionFrame_Copy( IntPtr Camera_Handle, IntPtr pData); Description: This function copies the acquisition frame into the buffer.
  • Page 63 IMC_AcquisitionFrame_Save Syntax: Visual C++ 6.0 / Boland C++ Build er 6.0: short IMC_AcquisitionFrame_Save HANDLE Camera_Handle, LPCTSTR strFileName ); Visual Basic 6.0 IMC_AcquisitionFrame_Save (ByVal Camera_Handle As Long, ByVal strFileName As String) As Integer C#.NET 2003 Mavis.IMC_AcquisitionFrame_Save( IntPtr Camera_Handle, string strFileName); Description: This function starts the Image Acquisition, and then saves the acquired image to a file.
  • Page 64 IMC_Live_Acquire Syntax: ual C++ 6.0 / Boland C++ Builder 6.0: short IMC_ Live_Acquire HANDLE Camera_Handle, void (__stdcall *callbackAdd r)(void* pFrame) ); ual Basic 6.0 IMC_Live_Acqui re (ByVal Camera_Handle As Long, ByVal callbackAddr As Long) As Integer C#.N ET 2003 Mavis.IMC_Live _Acquire( IntPtr Camera_Handle, Callback cbf );...
  • Page 65 Return: ERROR_SUCCESSF Successfully The Camera_Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been initialized. ERROR_D EVICE_UNINIT The handle is invalid. ERROR_INVALID_CAMERA The camera is acquiring image ERROR_ACQUISITION_BUSY ERROR_EVENT_CREA Fail to create the associated event Fail to creat e the thread ERROR_THREAD_CREA - 65 -...
  • Page 66 IMC_LiveAcquisition_Stop Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_LiveAcquisition_S top ( HANDLE Camera _Handle); Visual Basic 6.0 IMC_LiveAcquisition_Stop (ByVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_LiveAcquisition_Stop( IntPtr Camera_Handle ); Description: This function ends the thread created by IMC_Live_Acquire() and then stops the Image Acquisition.
  • Page 67: Camera Configuration

    6.5 Camera Configuration IMC_FrameRate_Set Synt Visual C++ 6.0 / Boland C++ Builder 6.0: short IM C_FrameRate_Set ( HANDLE Camera_Handle, ULONG FrameRate, BOOL bMirror = F ALSE); isual Basic 6.0 IMC_FrameRate_Set (ByVal Camera_Handle As Long, ByVal FrameRate As Long, Optional ByV al bMirror As Boolean) As Integer C#.NET 2003 Mavis.IMC_Fram...
  • Page 68 Return: ERROR_SUCCESSFUL Successfu The invalid FrameRate ERROR_INVALID_FRAMERATE The Camera_Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been initialized. ERROR_DEVICE_UNI The handle is invalid. ERROR_INVALID_CAMERA ERROR_1 394FUNC_INCORRECT The error caused by port incorrect operation. Fail to set th e Video Format ERROR_VIDEOFORMAT_SET Fail to set the Video Mode ERROR_VIDEOMODE_SET...
  • Page 69 IMC_Shutter_Get Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Shutter_Get ( HANDLE Camera_Handle, int* pShutterValue); Visual Basic 6.0 IMC_Shutter_Get (ByVal Camera_Handle As Long, ByRef pShutterValue As Long) As Integer C#.NET 2003 Mavis.IMC_Shutter_Get( IntPtr Camera_Handle, IntPtr pShutterValue ); Description: This function gets the current se tting of Sh utter Time.
  • Page 70 IMC_Shutter_Set Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Shutter_Set ( HANDLE Camera_Handle, int ShutterValue); Visual Basic 6.0 MC_Shutter_Set (ByVal Camera_Handle As Long, ByVal ShutterValue As Long) As nteger C#.NET 2003 avis.IMC_Shutter_Set( IntPtr Camera_Handle, int ShutterValue ); Description: This function updates the setting of Shutter Time.
  • Page 71 IMC_Gain_Get Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Gain_Get ( HANDLE Camera_Handle, int* pGainValue); Visual Basic 6.0 IMC_Gain_Get (ByVal Camera_Handle As Long, ByRef pGainValue As Long) As Integer C#.NET 2003 Mavis.IMC_Gain_Get( IntPtr Camera_Handle, IntPtr pGainValue ); Description: This function gets the current setting of Gain.
  • Page 72 IMC_Gain_Set Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Gain_Set ( HANDLE Camera_Handle, int GainValue); Visual Basic 6.0 IMC_Gain_Set (ByVal Camera_Handle As Long, ByVal GainValue As Long) As Integer C#.NET 2003 Mavis.IMC _Gain_Set( IntPtr Camera_Handle, int GainValue ); escription: This function updates the setting of Gain.
  • Page 73 IMC_Brightness_Get Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Brightness_Get ( HANDLE Camera_Handle, int* pBrigh tnessValue); Visual Basic 6.0 IMC_Brightness_Get (ByVal Camera_Handle As Long, ByRef pBrightnessValue As Long) As Integer C#.N ET 2003 Mavis.IMC_Brightness_Get( IntPtr Camera_Handle, IntPtr pBrightnessValue ); Description: This function gets the current setting of Brightness.
  • Page 74 IMC_Brightness_Set Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Brightness_Set ( HANDLE Camera_Handle, int BrightnessValue); Visual Basic 6.0 IMC_Brightness_Set (ByVal Camera_Handle As Long, ByVal BrightnessValue As Long) As Integer C#.NET 2003 Mavis.IMC_Brightness_Set( IntPtr Camera_Handle, int BrightnessValue ); Description: This function updates the Brightness Configuration.
  • Page 75: Digital Input/Output

    6.6 Digital Input/Output IMC_OutputPort_Status tax: Visual C++ 6.0 / B oland C++ Builder 6.0: short IMC_OutputPort_Status HANDLE Camera_Handle, unsigned long* pOutputStatu Visual Basic 6 IMC_OutputPort_Status (ByVal Camera_Handle As Long, ByRef pOutpu tStatus As ong) As Integer C#.NET 2003 Mavis.IMC_OutputPort_Status( IntPtr Camera_Handle, out ulong pOutputStatus ); Description: This function get s th...
  • Page 76 Return: ERROR_SUCCESSFUL Successfu The Camera_Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been initialized. ERROR_DEVICE_UNINIT The handle is invalid. ERROR_INVALID_CAME - 76 -...
  • Page 77 IMC_OutputPort_Configure Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_OutputPort_Configure ( HANDLE Camera_Handle, int Output_Port, int Source_Signal); Visual Basic 6.0 IMC_OutputPort_Configure (ByVal Camera_Handle As Long, ByVal Output_Port As Long, ByVal Source_Signal As Long) As Integer C#.NET 2003 Mavis.IMC_OutputPort_Configure( IntPtr Camera_Handle, int Output_Port, int Source_Signal );...
  • Page 78 Return: ERROR_SUCCESSFUL Successfully The invalid output port. ERROR_INVALID_PORT The invalid source signal. ERROR_I NVALID_SOURCE_SIGNAL The Camera _Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been ERROR_DEVICE_UNINIT initialized. The handle is invalid. ERROR_INV ALID_CAME The source signal is not supported by that ERROR_SOURCE_ NOT_SUPPORT specific output port.
  • Page 79 IMC_OutputPort_Write Syntax: Visual C++ 6.0 / Boland C++ Build er 6.0: short IMC_OutputPort_ Write ( HANDLE Camera_Handle, i nt Output_P ort, bool bValue); Visual Basic 6.0 IMC_OutputPort_Write (ByVal Camera _Handle As Long, ByV al Output_Port As Long, ByVal bValue As Boolean) As Integer C#.NET 2003 Mavis.IMC_OutputPort_Write( IntPtr Camera_Handle, int Output_Port, bool bValue );...
  • Page 80 IMC_InputPort_Read Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_InputPort_Read ( HANDLE Camera_Handle, int Input_Port, bool* pValue); Visual Basic 6.0 IMC_InputPort _Read (ByVal Camera_Handle As Long, ByVal Input_Port As Long, ByRef pValue As Boolean) As Integer C#.NET 200 Mavis.IMC_ InputPort_Read( IntPtr Camera_Handle, int Input_Port, out bool pValue );...
  • Page 81 IMC_InputPort_ReadAll Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_InputPort_ReadAll ( HANDLE Camera_Handle, unsigned long* pValue); Visual Basic 6.0 IMC_InputPort_ReadAll (ByVal Camera_Handle As Long, ByRef pValue As Long) As Integer C#.NET 2003 Mavis.IMC_InputPort_ReadAll( IntPtr Camera_Handle, out ulong pValue ); escription: This function r eads the state for both Input Ports.
  • Page 82: External Trigger

    6.7 External Trigger IMC_Trigger_Enable Syntax: Visu al C++ 6.0 / Boland C++ Builder 6.0: short IMC_Trigger_Enable( HANDLE Camera_Handle, int iTrigSource, int iExpMode); Visual Basic 6 IMC_Trigger_Enable (ByVal Camera_Handle As Long, ByVal iTrigSource A s Integer, ByVal iExpMode As Integer) As Integer C#.NET 2003 Mavis.IMC_Trigger_Enable( IntPtr Camera_Handle, int iTrigSource, int iExpMode);...
  • Page 83 Return: ERROR_SUCCESSFUL Successfully The Camera_Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been initialized. ERROR_DEVICE_UNINIT The handle is invalid. ERROR_INVALID_CAM - 83 -...
  • Page 84 IMC_Trigger_Disable Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Trigger_Disable ( HANDLE Camera_Handle); Visual Basic 6.0 IMC_Trigger_Disable (ByVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_Trigger_Disable( IntPtr Camera_Handle); Description: This function disables the External Trigger. The camera needs be initialized with IMC_Camera_Init().
  • Page 85 IMC_Trigger_ReadConfiguration Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_Trigger_ReadConfiguration( HANDLE Camera _Handle, bool* pStatus, unsigned short* pT rigSource, unsigned short* pExpMode); Visual Basic 6.0 IMC_Trigger_ReadConfiguration (ByVal Camera_Handle As Long, ByRef p Status As Boolean, By Ref pTrigSource As Integer, ByRef pExpMode As Integer) As Integer C#.NET 2003 Mavis.
  • Page 86 Return: Successfully ERROR_SUCCESSFUL The Camera_Handle is NULL. ERROR_C AMERA_CREATE The specif ic camera has not been initialized. ERROR_DEVICE_UNINIT The handle is invalid. ERROR_INVALID_CAMERA - 86 -...
  • Page 87: Strobe Control

    .8 Strobe Control IMC_StrobeControl_SetConfiguration ntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_StrobeControl_SetConfiguration (HANDLE Camera_Handle, unsigned short sStrobeIndex, bool bOnOff, bool bPolarity, unsigned long lDelay, unsigned long lDuration); Visual Basic 6.0 IMC_StrobeControl_SetConfiguration (ByVal Camera_Handle Long, ByVal sStrobeIndex As Integer, ByVal bOnOff As Boolean, ByVal bPolarity As Boolean, ByVal lDelay As Long, ByVal lDuration As Long) As Integer C#.NET 2003 Mavis.IMC_StrobeControl_SetConfiguration...
  • Page 88 The delay time of Strobe and the Delay Value range from 0 to lDelay 4095. By default, the delay time is setting on 0. Duration Time of Strobe and the Strobe Duration range from lDuration 0 to 4095. By default, the duration is setting on 0. Return: ERROR_SUCCESSFUL Successfully...
  • Page 89 IMC_StrobeContr ol_ReadConfiguration ntax: Visual C+ + 6.0 / Boland C++ Builder 6.0: short IMC_StrobeControl_ReadConfiguration (HANDLE Camera_Hand le, unsigned short sStrobeIndex, bool* pOnOff, boo l* pPolarity,unsigned long* pDel ay, unsigned long* pDuration); Visual Basic 6.0 IMC_StrobeControl_Rea dConfiguration (ByVal Camera_Handle As Long , ByVal sStrobeIndex As Integer, ByRef pOnOff A s Boolean,...
  • Page 90 Return: Successfu ERROR_SUCCESSFUL The Camera_Handle is NULL. ERROR_CAMERA_CRE The specific camera has not been ERROR_DEVICE_UNINIT init ialized. OR_INVALID_CAMERA The handle is invalid. The source signal is not supported by that OR_SOURCE_NOT_SUPPORT specific output port. - 90 -...
  • Page 91 IMC_StrobeTimeBase_SetDurationTime Syntax: Visual C++ 6.0 / Boland C ++ Builder 6. short IMC_StrobeTimeBase_SetDuratio nTime (HA NDLE Camera_Handle, unsigned long Value); Visual Basic 6.0 IMC_StrobeTimeBase_SetDurationTime (ByVal Camera_Hand le As Long, ByVal Value As Long) As Integer C#.NET 2003 Mavis. IMC_StrobeTimeBase_SetDurationTime(IntPtr Camera_Handle, Int32 Value); Description: This function set the Duration Time of Strobe.
  • Page 92 IMC_StrobeTimeBase_ReadConfiguration Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_StrobeTimeBase_ReadConfiguration (HANDLE Camera_Handle, unsigned long* pDurat ionTime, unsigned long* pDelayTime); Visual Basic 6.0 IMC_StrobeTimeBase_ReadConfiguration (ByVal Camera_Handle As Long, ByRef pDurationTime As In teger, ByRef pDelayTime As Integer) As Integer C#.NET 2003 Mavis.IMC_StrobeTimeBase_ReadConfiguration (IntPtr Camera_Handle, out Int3 urationTime, out Int32 pDelayTime);...
  • Page 93: Lookup Table

    6.9 Lookup Table IMC_LUT_Read Synt Visual C++ 6.0 / B oland C++ Builder 6.0: short IMC_LUT_Read ( HANDLE Camera_Handle, unsigned long* pStartAddr ); ual Basic 6.0 IMC_LUT_Read(ByV al Camera_Handle As Long, ByRef pStartAddr As Long) As Integer NET 2003 avis. IMC_LUT_Read( IntPtr Camera_Handle, Int32[] pStartAddr ); Description: This function reads the content of ca mera Lookup Table.
  • Page 94 IMC_LUT_SetStatus Syntax: Visual C++ 6.0 / Boland C++ Build er 6.0: short IM C_LUT_SetStatus (HANDLE Camera_Handle, bool status); Visual Basic 6.0 IMC_LUT_SetStatus(ByVal Camera_Handl e As Long, ByVal status As Boolean) As Integer C#.NET 2003 Mavis. IMC_LUT_SetStatus(IntPtr Camera_Handle, bool status); cription: This function is enable/disable to modify the camera Lookup Table.
  • Page 95 IMC_LUT_ReadStatus Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: IMC_LUT_ReadStatus (HANDLE Camera_Handle, bool* pStatus); Visual Basic 6.0 IMC_LUT_ReadStatus (ByVal Camera_Handle As Long, ByRef pStatus As Boolean) As Integer C#.NET 2003 Mavis. IMC_LUT_ReadStatus (IntPtr Camera_Handle, bool pStatu Description: This function read the current status of camera Lookup Table. The camera needs be initialized with IMC_Camera_Init().
  • Page 96 IMC_LUT_Write Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_LUT_Write( HANDLE Camera_Handle, unsigned long* pStartAddr); Visual Basic 6.0 IMC_LUT_Write (ByVal Camera_Handle As Long, ByRef pStartAddr As Long) As Integer C#.NET 2003 Mavis. IMC_LUT_Write( IntPtr Camera_Handle, Int32[] pStartAddr ); Description: This function...
  • Page 97: Aoi (Area Of Interest)

    .10 AOI (Area of Interest) _AOI_Configure tax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_ AOI_Configure ( HANDLE Camera_Handle, PIMC_AOI_RECT_AREA pRectA); Visual Basic 6.0 IMC_AOI_Configur (ByVal Camera_Handle Long, ByRef pRectA IMC_AOI_RECR_AREA) As Integer C#.NET 2003 Mavis.IMC_AOI_Configure( IntPtr Camera_ Handle, ref IMC_AOI_RECT_AREA p_ExtTrigSrc);...
  • Page 98 Return: ERROR_SUCCESSFUL Successfully The Camera_Handle is NULL. ERROR_CAMERA_CREATE The specific camera has not been ERROR_DEVICE_UNINIT initialized. The handle is invalid. ERROR_INVALID_CAME ERROR_1394FUNC_INCORRECT The error caused by port incorrect operation. ail to set the Video Format ERROR_VIDEOFORMAT_SET Fail to set the Video Mode OR_VIDEOMODE_SET Fail to inquire the maximum size ERROR_SIZE_INQUIRE...
  • Page 99: Advanced Features

    6.11 Advanced Features IMC_TestImage_Enable Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0 short IMC_TestImage_Enable ( HANDLE Camera_Handle); Visual Basic 6.0 IMC_TestImage_Enable (B yVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_TestImage_En able( IntPtr Ca mera_Handle ); Description: This function enables the Test Image Advanced Feature. This feature is helpful for self-testing.
  • Page 100 IMC_TestImage_Disable Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: short IMC_TestImage_Disable ( HANDLE Camera_Handle); Visual Basic 6.0 IMC_TestImage_Disable (ByVal Camera_Handle As Long) As Integer C#.NET 2003 Mavis.IMC_TestImage_Disable( IntPtr Camera_Handle ); Description: This functio n disables the Test Image Advanced Feature. This feature is helpful for self-testing.
  • Page 101: Sample Programs

    6.12 Sample Programs After driver installation completed then you can find the sample program path. \MAVIS\Samples\ The sample program offers similar function modules as used in EZView and the source code fo r VC++, BCB, C#.NET and VB language programming reference. 6.12.1 Sample program for VC++/BCB/C#.NET - 101 -...
  • Page 102: Sample Program For Vb

    6.12.2 Sample program for VB VB sample program ar e offer “IMCamera.bas” modules which has offer similar functions definition as VC lib. And use “PictureBox” OCX object for image display need. An OCX control API version fo r MAVIS will be released in the next revision. - 102 -...
  • Page 103: Mechanical

    7 Mechanical - 103 -...
  • Page 104: Appendix

    8 Appendix 8.1 Standards Compliance Report No. : FV6N2310 For customers in the U.S.A. This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment.
  • Page 105: Glossary

    8.2 Glossary AOI is means the a rea of interest. A user-defined, rectangular area (a squa re is common) on a CCD that is ex posed and processed image. image proce ing field, the AOI also means a user-defined area inspection measurement application for saving system images processing time.
  • Page 106 Gain is the leve l of amplification of a signal. The Gain affects image sharpness sensed by the naked eye. When gain is increased in an image, one mus t also take into consideration the addition of sign ificant “noise”. Pixel Size - Most CCD and CMOS imagers con sist of picture elements dubbed "pixels".
  • Page 107: Revision History

    8.3 Revision History Revision Date Change Description 2006-12-14 Index bookmark build up, add BCB6 and C#.NET Syntax, add CE and FCC Certificated 2007-06-27 1. Add Programming Flowchart. 2. Modify Function Library 3. EZView Utility revision 2008-04-30 1. Add EzVIEW_Fly Utility 2.
  • Page 108: Warranty Policy

    arranty Po licy ICP DAS supplies a on e year warranty period for the MAVIS IM- 30/IM-100 IEEE 1394 camera se ries, howev er th ere certain instances of limited of warranty situations, where ICP DAS will not take any responsibility in the following cases: When user open camera housing then warranty will void immediately In case damages or lo...
  • Page 109: Icp Das Worldwide

    P DAS Worldwid Headquarters USA Branch Office ICP DAS CO., LTD. ICP DAS USA, Inc. No.111, Kuangfu N. Rd., Hukou Shiang, 2531 West 237th Street, Suite 121 Hsinchu Hsien, Taiwan 303, R.O.C Torrance, CA 90505, USA TEL: +886-3-597-3366 TEL: 1-310-517-9888...

This manual is also suitable for:

Mavis im-100

Table of Contents