ICP DAS USA IM-100, IM-30 User Manual

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 Introduction.................................................................................. 4
1.1 Features.........................................................................................4
1.2 Applications....................................................................................4
1.3 System Requirement......................................................................4
1.4 Function Descriptions.....................................................................5
1.4.1 AOI (Area of Interest).....................................................................5
1.4.2 Test Pattern....................................................................................6
1.4.3 Mirror Image...................................................................................7
1.4.4 Gain and Brightness....................................................................... 8
1.4.5 Lookup Table................................................................................10
1.4.6 Shutter (Exposure).......................................................................12
1.4.7 Input/Output .................................................................................13
1.4.8 External Trigger............................................................................15
1.4.9 Strobe Control..............................................................................17
1.5 Spectral Response.......................................................................18
1.6 Integrate Enabled Signal Timing ..................................................19
1.7 Benchmarks.................................................................................20
2 Hardware Reference.................................................................. 21
2.1 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
2.2 Optional Accessory.......................................................................23
2.2.1 1394 Dual-port Card: IOI-4601-21................................................23
2.2.2 1394 Latch Cable: CA-1394-45 .....................................................23
2.2.3 1394 Repeater: 1394R3B .............................................................24
3 Installation Guide.......................................................................25
3.1 Hardware Installation.................................................................... 25
3.1.1 IPC/PC Platform............................................................................25
3.1.2 Notebook PC / PCMCIA Socket....................................................27
3.2 Driver Installation..........................................................................29
3.2.1 For Visual Studio (VC/VB/BCB/VC#.NET) Users ..........................29
3.2.2 For LabVIEW Users......................................................................33
4 EZView Utility............................................................................. 34
4.1 Overview......................................................................................34
- 2 -
Page 3
4.2 Component Description................................................................35
5 EzVIEW_Fly Utility..................................................................... 42
5.1 Overview......................................................................................42
5.2 Configuration................................................................................43
5.3 Help About EzVIEW_Fly............................................................47
5.4 Tool Icons.....................................................................................47
6 Function Library........................................................................ 50
6.1 List of Functions...........................................................................51
6.2 Programming Flowchart...............................................................52
6.3 Camera Management...................................................................56
6.4 Camera Acquisition ......................................................................59
6.5 Camera Configuration..................................................................67
6.6 Digital Input/Output.......................................................................75
6.7 External Trigger............................................................................82
6.8 Strobe Control ..............................................................................87
6.9 Lookup Table................................................................................93
6.10 AOI (Area of Interest)...................................................................97
6.11 Advanced Features......................................................................99
6.12 Sample Programs ......................................................................101
6.12.1 Sample program for VC++/BCB/C#.NET..................................101
6.12.2 Sample program for VB.............................................................102
7 Mechanical............................................................................... 103
8 Appendix.................................................................................. 104
8.1 Standards Compliance...............................................................104
8.2 Glossary..................................................................................... 105
8.3 Revision History .........................................................................107
Warranty Policy.............................................................................. 108
ICP DAS Worldwide....................................................................... 109
- 3 -
Page 4
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.

1.1 Features

z Digital IEEE1394 video output z Progressive-scan for on-the-fly applications z Acquisition speed up to 100fps in full resolution z Build-in 8MB memory buffer z Flexible electric exposure control z Robust external trigger I/O interface supported z Free SDK API for VC, VB, BCB and C#.NET z Compatible with NI-IMAQ-1394 z Driver supports Windows2000/XP

1.2 Applications

z Semiconductor z Component inspection z Manufacturing quality control z Food and beverage inspection z Microscopy and medical imaging

1.3 System Requirement

To ensure seamless operation, ICP DAS recommends that your system meets the minimum requirements below:
¾ Platform: Pentium III 800MHz CPU, 256MB DDRAM or above. ¾ VGA display: AGP 4X or above. ¾ Display setting: 800 x 600 resolution or above.
¾ 32-bit OS only:
if using Windows 2000, please upgrade to Service Pack 4 or above.
If using Windows XP, please upgrade to Service Pack 2 or above.
**Please refer 1.7 Benchmark for system limitation information.**
- 4 -
Page 5

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.
Figure 1-1: AOI (Area of Interest)
The AOI function will also enhance camera acquisition speed, however users must still consider the following factors:
(1) The amount of time it takes to transfer a captured image from the
CMOS sensor to the frame buffer.
(2) The amount of time it takes to transfer an image from the frame buffer
to the PC via 1394 bus. (3) The camera exposure time setting. Below, are three formulas that can help you to calculate the maximum
frame rate, while using the AOI function. Please note that the lowest value will determine the maximum frame rate for the given AOI.
Formula 1: Max. Frames/s = 1 / (((AOI High + 2) x 15.28us) + 15.28us)
Formula 2: Max. Frames/s = 1 / (Packet per frame x 125us)
Formula 3: Max. Frames/s = 1 / (exposure time in us + 28us)
For example, if your AOI is set for 200 columns wide and 240 rows high, and exposure time is set for 1000us. Also the packet per frame with the
- 5 -
Page 6
current settings is 5. Formula 1:
Max. Frames/s = 1 / (((240 + 2) x 15.28us) + 15.28us) Max. Frames/s = 269.2
Formula 2: Max. Frames/s = 1 / (5 x 125us) Max. Frames/s = 1600
Formula 3: Max. Frames/s = 1 / (1000 us + 28us) Max. Frames/s = 972.76
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.
Figure 1-2: MAVIS IM-30/IM-100 gray bar test pattern
When setting camera to test pattern mode, then camera will keep this configuration even after rebooting the camera. Please be sure to disable test pattern mode after your test completed testing.
- 6 -
Page 7

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. When mirror image mode is enabled, the order of transmission for each line is pixel 640, pixel 639, pixel 638, to pixel 1.
Figure 1-3: Mirror Imaging
If you are using the AOI mode (area of interest) in conjunction with mirror image mode, the apparent location of your AOI may change. You may need to adjust the location and size of the AOI.
- 7 -
Page 8

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. In this situation, a gray value of 0 is output from the camera when the pixels in the sensor are exposed to no light and a gray value of 255 is output when the pixels are exposed to very bright light. This condition is defined as 0dB of system gain for the camera.
As shown in the three graphs below, increasing the gain setting to a value greater than 0, maps a smaller portion of the sensor’s 10bit range to the camera 8bit output. When a smaller portion of the sensor range is mapped to the camera output, the camera’s sensitivity to a change in light level is increased.
This feature can be useful when at your brightest exposure, a gray value of less than 255 is achieved. For example, if a maximum gray value of 127 is achieved with bright light, you could increase the gain setting so that the camera is operating at 6dB; thus seeing an increase in gray values to 254.
Figure 1-4: Gain Settings Mapping
- 8 -
Page 9
Value
dB
0 28 43 85 128 170 213 255
0dB 2.5dB 3.5dB 6dB 8dB 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; therefore increasing the 8bit value output from the camera for any given 10bit value from the sensor, and also increasing the apparent brightness of the image. The bottom graph illustrates the effects of setting the brightness lower than the default value of
725. It should be noted that this setting moves the response curve to the right; therefore decreasing the 8bit value output from the camera for any given 10bit value from the sensor and also decreasing the apparent brightness of the image.
Figure 1-5: Brightness Settings Mapping
- 9 -
Page 10

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. When making the 10 to 8bit conversion, the internal process takes the camera current gain and brightness settings into account.
The MAVIS IM-30/IM-100 camera allows users to use a custom lookup table to map the 10bit sensor output to 8bit camera output rather than using the internal process. When the custom lookup table is enabled, the gain and brightness settings have no effect. The 10 to 8bit conversion is based solely on the lookup table.
The lookup table is essentially just a list of 1024 values. Each value in the table represents the 8bit value that will be transmitted out of the camera when the sensor reports a particular 10bit value for a pixel. The first number in the table represents the 8bit value that will be transmitted out of the camera when the sensor reports that a pixel has a value of 0. The second number in the table represents the 8bit value that will be transmitted out of the camera when the sensor reports that a pixel has a value of 1. The third number in the table represents the 8bit value that will be transmitted out of the camera when the sensor reports that a pixel has a value of 2. And so on.
The advantage of the lookup table feature is that it allows the user to customize the response curve of the camera.
The graphs below represent th
e contents of two typical lookup tables.
Figure 1-6 is for a lookup table where the values are arranged so that the output of the camera increases linearly as the sensor output increases.
- 10 -
gure 1-6: LUT with Values Mapped in a Linear Fashion
Fi
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
z Upload a Lookup Table
The EZView utility offers a
n LUT enable and upload button that can be used to easily load a file containing a customized lookup table into the camera. The file must be plain text and must be formatted correctly. The file must have 1024 lines with each line containing two comma-separated values. The first value on each line represents a 10 bit pixel reading from the sensor and the second value represents the corresponding 8bit output that will be transmitted from the camera. The sample below shows part of a typical text file for a lookup table. Assuming that you have enabled the lookup table feature on your camera and used the upload button to load a file similar to the sample into the camera: The sensor reports that a pixel has a value of 1, the camera will output a value of 0. The sensor report that a pixel has a value of 6, the camera will output a value of 1. The sensor report that a pixel has a value of 1019, the camera will output a value of 254.
Fig
f
- 11 -
ure 1-8 Sample text file
or use LUT upload
Page 12

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.
For example: if user set the frame rate in 30fps but set the shutter speed in 36000us.
Maximum exposure time (Shutter speed) = 1s / frame rate 36000us = 1s / frame rate Camera real frame rate = 27 frames per second
- 12 -
Page 13

1.4.7 Input/Output

z
Input Ports
The MAVIS
nd Input Port 1. Both ports are TTL level. The input ports are accessed
a
IM-30/IM-100 offers 2 input ports; designated as Input Port 0
via the 10-pin circular connectors on the back of the camera. Please refer Table 2-1 for input port pin assignments.
For each port, an input voltage between 0.0 and 1.5VDC indicates a logical
0. An input voltage between 3.5 and 5.0 VDC indicates a logical 1. Typical current draw for the input
Figure 1-6 is an example of a
port is 1mA.
typical circuit that you can use to input a
signal into the MAVIS IM-30/IM-100 cameras.
Figure 1-9: Typical Input Circuit
By default, Input Port 0 is assigned to receive an external trigger (Ex-Trig) signal that can be used to control the start of exposure. Also you can change the Ex-Trig signal to Input Port 1 and please refer “5.6 External Trigger” for detail information.
z Output Ports
The MA VIS IM-30/IM-100 of fers 4 output port s; 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. Please refer Table 2-1 for input port pin assignments.
For each port, an output voltage between 0.0 and 0.44VDC indicates a logical 0. The maximum low level output voltage (i.e., 0.44VDC) will be present when the driver is sinking the maximum allowed input current of
- 13 -
Page 14
24mA. An output voltage between 4.2 and 5.0VDC indicates a logical 1. The minimum high level the driver is sou
Figure 1-7 is
rcing the maximum allowed output current of 24mA.
an example of a typical circuit that you can use to monitor an
output voltage (i.e., 4.2VDC) will be present when
output port with a LED or an Opto-coupler. Note that current in the circuit is limited by an external resistor.
Figure 1-10: Typical Output Signal
By default, Output Port 0 is assigned to transmit an integration enabled (Int-En) signal that indicates when exposure is taking place. By default, Output Port 1 is assigned to transmit a trigger ready (Trig-Rdy) signal that goes high to indicate the earliest point at which exposure start for the next frame can be triggered. Please refer “1.6 Integrate Enabled Signal Timing” for a detailed camera signal integrate timing chart. The pin assignment of the camera output sig can be changed. Please
nals to physical output ports
refer “5.7 External Trigger” for detailed information.
- 14 -
Page 15
1.4.8

External Trigger

The external trigger (Ex-Trig) input signal can be used to cont rol 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; enabling users to select r ising or falling edge triggering and to assign a physical input port to receive the Ex-Trig signal.
The Ex-Trig signal can be periodic or non-periodic. When the camera is operating under control of an Ex-Trig signal, the period of the Ex-Trig signal determines the camera’s frame rate:
1 / Ex-Trig period per second = frame rate
For example, if you are operating a camera with an Ex-Trig signal period of 20ms (0.02s):
1/0.02 = 50 fps
So in this case, the frame rate is 50fps The minimum high time for a rising edge trigger (or low time for a falling edge trigger) is 1us.
Exposure Modes
If you are triggering the camera with an Ex-Trig signal, two exposure modes are available, programmable mode and level controlled mode.
Programmable Exposure Mode
When programmable mode is selected, the length of the exposure is determined by the shutter setting described in “1.4.6 Shutter (Exposure)”. If the camera is set for rising edge triggering, exposure starts when the Ex-Trig signal rises. If the camera is set for falling edge trigg ering, exposure starts when the Ex-Trig signal falls.
Figure 1-11: Programmable Exposure with rising edge triggering
- 15 -
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. If the camera is set for falling edge triggering, exposure begins when Ex-Trig signal falls and continues unt il Ex-Trig signal rises.
Figure 1-12: Level Controlled Exposure with rising edge triggering
- 16 -
Page 17
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.
The strobe delay is determined by a combination of two values. The first is the setting in the Delay Value and the range from 0 to 4095. The second is the Strobe Delay Time Base which has a default value of 1/1024 ms.
Strobe se)
Delay = (Strobe Delay Value Setting) x (Strobe Delay Time Ba
For example: If Delay Value of Strobe 0 is set to 120, then Strobe 0 delay will be 120/1024ms (or approximately 117us).
The Strobe delay will determine the time between the start of image exposure and when the strobe signal changes state as show in Figure 1-13.
Figure 1-13: Strobe Signal
As mentioned above, the strobe delay time base is normally fixed at 1/1024ms and the strobe delay is normally adjusted by changing the delay value setting only. However, if you require a delay that is longer then what you can achieve by changing the strobe delay value alone, the strobe delay time base can also be changed. The strobe time base range has a multiplier of 1 to 85.
For example: with Delay Value of Strobe 1 set to 200 and a Delay Time Base of 20: Strobe1 Delay = (Strobe1 Delay Value Setting) x (Strobe Delay Time Base) Strobe1 Delay = (200) x (20/1024ms) Strobe1 Delay = 3.9ms
- 17 -
Page 18

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
1.6 Integrate Enabled Signal T
The time between the start of exposure and the rise of the Integrate Enabled (Int-En) signal will be less than 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.
iming
Figure 1-12: MAVIS IM-30/IM-100 Camera Timing Chart
- 19 -
Page 20

1.7 Benchmarks

Due the platform and 1394 Host controller bandwidth performance, we have listed some benchmark information for your reference.
Benchmark test results
Platform Type Industrial PC Platform Consumer PC VISIO Platform Spec. ROBO-8712E SBC
Intel Pentium4
2.4GHz 512MB DDRAM 32-bit, 33MHz PCI Chipset: Intel 845GV 32-bit OS: Windows XP Service Pack 2
Max. input guaranteed:
MAVIS IM-100* x 3pcs or MAVIS IM-30** x 10pcs
ASUS P4S800-MXSE Celeron 2.66GHz 256MB DDR RAM 32-bit, 33MHz PCI Chipset: SiS661FX 32-bit OS: Windows XP Service Pack 2
MAVIS IM-100* x 2pcs or MAVIS IM-30** x 6pcs
VB-216C Intel Core Duo 1.66GHz 2GB DDR2 533 32-bit, 33MHz PCI Chipset: Intel 945GME 32-bit OS: Windows XP Embedded Service Pack2
MAVIS IM-100* x 3pcs or MAVIS IM-30** x 8pcs (by hub function of 1394R3B)
N BOX
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.
**When the IM-30 is at full speed image acquisition (30 frames per second) the data rate will be up to 8.79MB per second.
Some IEEE 1394 interface cards offer three IEEE 1394 connectors but one IEEE 1394 Host controller only. Therefore when you plug more than one IEEE 1394 cameras, the bandwidth will be considered shared usage. Please see below for an explanation of a “bandwidth sharing” situation, when the number of host controllers is different.
Number of Host Controllers IM-100 x 1pcs IM-100 x 2pcs IM-100 x 3pcs IEEE 1394 host controller x 1 100fps/CH 60fps/CH 30fps/CH
IEEE 1394 host controller x 2 100fps/CH 100fps/CH
Number of Host Controllers IM-30 x 1pcs IM-30 x 2pcs IM-30 x 3pcs IEEE 1394 Host controller x 1 30fps/CH 30fps/CH 30fps/CH IEEE 1394 Host controller x 2 30fps/CH 30fps/CH 30fps/CH
One CH 100fps,
Two CH 60f ps/CH
- 20 -
Page 21
2

Hardware Reference

2.1 MAVIS IM-30/IM-10
2.1.1 Came Specification
Item IM-3 Image sensor Video output p Gain control Power supply Power consum12ption Acquisition m Connector Inte
GPIO connecto Video mode
Protocol
ra
ixels
ode
rface
r
0
Initial mode: 6
0 IM-100
1/2” CMOS S 3, Pi
Free Run
0-Pin G ose Inpu
1
T
Scalable mode: by AOI Scalable mode: by AOI
ensor Micron MT9V40 xel size: 9.9um x 9.9um
640(H) x 48
0 ~ 1 nic
2dB setting via commu ation command
+1 via
2VDC normal (Supply 1394 cable)
Max. ~ 1.7W at V
(expo ble ), External random trigger
sure time programma
6-Pin or v
IEEE 1394 connector(f
PIO (General Purp
TL level tput and
IEEE 1394a
with 2 input, 4 ou one +5VDC output
40 x 480 at 30fps Initial mode: 640 x 480 at 100fps
version. 1.31 (transfer speed 400Mbps)
0(V)
ideo and power)
t/Output)connector
Test image Exposure Time Brightness Temperature
Humidity
EMC condition Dimension Weight Lens Adaptor
Operating humidity : 20% ~ 80%, relative, non-condensing
Gray value internal test pattern generated
Programmable via IEEE 1394 bus Programmable via IEEE 1394 bus
Operating temperature : 0 ~ 50 (32 ~ 122℉)
Storage temperature: -20 ~ 60 (-4 ~ 140℉)
Storage humidity: 10% ~ 90%, relative, non-condensing
CE/FCC
72.5mm (H) x 49mm(W) x 36.7mm(D) without Lens 120g without Lens
C/CS Mount
- 21 -
Page 22

2.1.2 Camera Interface

z IEEE 1394 z GPIO
Pin Name Pin Name
1 +12VDC 1 Output 0 2 GND 2 Input 0 3 TPB­4 TPB+ Input 1 4 5 TPA- 5 Output 2 6 TPA+ 6 NC
Camera rear view
Table 2-1 Camera In
2.1.3 e Content
Standard Packag s
mera with ive
Ca Lens-cap Dr r CD & Installation Guide
terface Connector Pin Assignments
3 Output 1
7 Output 3 8 NC 9 GND
10 NC
Tripod Adapter with screws
GPIO Wiring Connector
- 22 -
Page 23
2.2

Optional Accessory

To incre tem’s working performance and reliability, ICP DAS su three optiona sories.
ase your sys ggests
l acces

2.2.1 1394 Dual-port Card: IOI-4601-21

The IOI-4601-21 is dual IEEE 1394 host controller PCI in rface Capable of supporting simultaneous dual
te card.
ports dat smission at rates of 400Mbps.
Host Bus
Interface Protocol Bus Master DMA 1394 Bus Transfer Rate 100/200/400 Mbps Host Bus Burst Data Rate Up to 133 MB/s burst rate IEEE-1394 to PCI Chip 2x Ti TSB43AB21
1394 Connector OHCI 1 (FW-6p
a tran
32-bit PCI local bus complies with PCI 2.1 2.2 spec tion Use only one IRQ for both OHCI 1.1 chann
External X 2 (FW-6pin X 2)
in X 1)
2 (FW-6pin X 1) OHCI
and ifica
els
1394 Bus Power Connector Mini 4-pin DC +12V power connector Bus Power Connector with mini 4-pin DC + 12V Power Connector
Maximum 1394 Bus Transfer is 800 Mbps (400 Mbps per
Performance
channel)

2.2.2 1394 Latch Cable: CA-1394-45

1394 connector 6-pin male connector with spring latch, PVC molding
UL-20276 cable, 28AWG x 2pairs, 22AWG x 2 conductors.
Cable wiring gauge
Double shielded.
Length 450mm
- 23 -
Page 24

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
Chip PHY: TI. TSB41AB3 1394 Bus Transfer Rate 10 0 / 200 / 400 Mbps Device Interface A V PHY 400-Mbps, 2-port, 3.3 Power Input Range DC 12V ~ 30V, Max. 1.35A Connector 6
Dimension 72 mm(D) mm(W) x 58mm(H) x 20
DC power 394 port or 1394 PCMC
Contact Male x3
D Jack x1
C - Walkman-type 2.0mm DC
input ONLY for using Notebook 1
IA inte
rface card.
Right Side Vide
- 24 -
Page 25
3 In
st allation Guide
MAV perat ok
IS IM-30/IM100 IEEE 1394 cameras support o ion in IPC, PC and Notebo system platforms. This also installation gui camera correctly and safely. Please read through this inst and follow the installation steps of your specified system platform.
DO NOT open the ing in any situation. Touching internal components ma amage camera functio camera h warranty will be void immediat
Be careful not to a etallic material inside of the camera. llow liquids, flammable or m
ousing then ely.
camera hous
y d n. Meanwhile when customer to open
de includes information on how to use this
allation
CAUTION
guide carefully
3.1 Hardw Installation

3.1.1 IPC/PC Platform

are
z Some desktop PCs have a built-in 1394 port with 6-pin 1394 connector;
if your system is one of these, you will be able to use a 1394 cable connect to your system 1394 port directly.
z If you choose to use an IPC or your desktop PC without a built-in 1394
port, then please see the following steps to install your 1394 interface card on a PCI bus:
(1) Remove the computer cover using the instructions from the
computer manual.
(2) Check that there is an empty PCI (32-bit) slot to accommodate the
card.
(3) Remove the blank metal plate located at the back of the selected
slot (if any). Keep the removed screw to fasten the 1394 card after installation.
(4) Carefully position the 1394 card in the selected PCI slot as
illustrated below. If using a tower computer, orient the board to suit the board slots.
- 25 -
Page 26
(5) Once perfectly aligned with an empty slot, press the card firmly but
carefully in to the connector.
(6)
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”.
(8) Turn on the system and you will be able to find the 1394 Host
controller device wi
th Device Manager.
(9) If you need to extend your
workin
g distance, please
using 1394 repeater directly.
- 26 -
DO NOT input DC power to 1394 repeater when using IPC/PC platform. The DC power input may damage your 1394
card or 1394 host controller circuit.
Page 27

3.1.2 Notebook PC / PCMCIA Socket

z If your notebook PC has an
iLink/S400 interface port then your notebook PC has a built-in 1394 host controller. So please follow the step
s
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.
(2) Please use 4-pin to 6-pin IEEE 139 4 cable and 4-pin connector to
iLink/S400 interface port and 6-pin connector to 1394 repeater.
(3) When 6-pin connection to 1394 repeater, then please plug in DC
power adaptor and another 6-pin to 6-pin 1394 cable.
(4)
6-pin to 6-pin 1394 connected to MAVIS IM-30/IM-100 IEEE 1394 port and GPIO wiring connection if necessary.
- 27 -
Page 28
z If your notebook PC does not have
a 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 power adapter first.
(2) Plug IEEE 1394 PCMCIA card to Notebook PCMCIA socket as
below.
ype DC
(3) Plug 6-pin connector to IEEE 1394 PCMCIA card and another 6-pin
connected to IEEE 1394 repeater.
(4) When 6-pin connection to 1394 repeater is est
in DC power adaptor and another 6-pin to 6-pin 6-pin to 6-pin 1394
(5)
ablished, please plug
1394 cable.
connected to MAVIS IM-30/IM-100 IEEE 1394 port and GPI wiring connection if
O
necessary.
- 28 -
Page 29
3.2 Driv
er Installation
Do not plug driver installation has been completed. Please refer to t allation steps for various programmin
3.2.1 For Vi
1. Insert the MA D-ROM drive.
2. The MAVIS Support CD will start to prepare driver installation as below.
in any MAVIS IM-30/IM-100 cameras before
he following inst
g environment specific installations.
sual Studio (VC/VB/BCB/VC#.NET) Users
VIS Support CD to CD-ROM/DV
3. Please click “Next” button for driver installation.
- 29 -
Page 30
4. Plea enter user name and company name, then click “Next” button. se
5. 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
6. Please click the “Install” button
7. Driver installing
- 31 -
Page 32
8. When driver install is completed, please click the “Finish” button and restart your system.
9. After system re-boot, please plug in the MAVIS IM-30/IM-10 0 cameras and go to “Device Manager” and make sure you see the “Generic IEEE-1394 digital camera” in the list of “ICP DAS MAVIS”.
10. If your system had install other vendor’s 1394 camera driver, then you may need to remove it and change to install MAVIS driver by manually.
11. When the installation has been completed, open “EZView” utility for image acquisition testing, please refer to “4. EZView Utility” for details.
- 32 -
Page 33

3.2.2 For LabVIEW Users

r to use LaIf you prefe bVIEW from 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.
After installation is completed, then you can use “Measurement & Automation Explorer” of NI for configuration of the camera and the image grab test.
- 33 -
When you install the NI-IMAQ-1394 driver, all MAVIS official drivers, API and EZView utilities will fail to work.
Page 34
4 EZ
Once in De estab trol the MAVIS IM-30/IM-100 camera series to verify correct means to setup, configur
Note: EZView is only available for Windows 2000/XP with a recommended screen resolution higher than 1024 x 768.

4.1 Overview

View Utility
hardware installation is complete, ensure that cameras are configured correctly
vice Manager before running the EZView utility. This chapter outlines how to
lish a vision system and how to manually con
operation. EZView provides a simple yet powerful
e, test, and debug the vision system.
Figure 4-1: EZView Utility Main Screen
- 34 -
Page 35

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 inform
ation of MAVIS. Meanwhile, user can enable the ‘Enable LUT’ function for
erface window for user to ‘Download’ the LUT
‘Upload’ custom LUT information to MAVIS operation.
Strobe Control
The EzView utility offer interface window for Strobe Control parameter setting a
nd those parameters only effective when configure the specific output port for
strobe operation.
- 36 -
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.
External Trigger
“External Trigger” function menu.
“External Trigger” function has offer two exposure control setting, include: “Programming Mode” and “Level Mode”.
- 37 -
Page 38
“External Trigger” has offer two hardware trigger control by “Input 0” and “Input 1” and “Software” trigger control.
About EZView
All “External Trigger” function parameters only effective when “External Trigger” function is setting to “Active”.
- 38 -
Page 39
Tree Browser
The Tree Browser window lists the 1394 Host controller p MAVIS 1394 cameras are available at the local computer.
orts and how many
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 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. A single image will appear in the Display Window Video Capture
k the Video Capture icon. A video frame will appear in the Display
Clic window AOI Clicking the ROI icon will allow using the mouse to select the area of interest within the image.
Full Screen
Clicking the Full Screen icon will disable the AOI function and re-size the display to the default, full resolution: 640 x 480.
394 cameras available
IO Setting
Click the IO Setting icon to bring up the GPIO dialog box. Select the port to access and select the digital input / output setting.
IO Setting Screen
Save Snap Shot Click Save Snap Shot icon to save current single image to a BMP file.
- 40 -
Page 41
Control bar
Select the Frame Rate
The EZView utility offers 30fps acquisition speed for 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. Values range from 0-1023.
Shutter
Click and hold the left mouse button on the Shutter slider and drag the cursor to change its value. The shutter speed range from 20us to 81900us. ( 0.02ms ~
81.9ms)
Gain
Click and hold the left mouse button on the Gain slider and drag the cursor to change its value. Values range from 0 to
255.
- 41 -
Page 42

5 EzVIEW_Fly Utility

The EzVIEW_Fly is a friendly utility designe customer. The EzVIEW_Fly utility now support ET-M8194H (driver version 1.0) and FRNET configure, test, and debug about MAVIS cam by external hardware trigger in EzVIEW_Fly utility.
This chapter outlines how to establish a vision w setting the correct functions and parameters for I trigger to verify correct operation.
Note: EzVIEW_Fly is only available for Windows 2000/XP with a recommended screen resolution higher than 1024 x 768.
d for ICPDAS machine automation ed PISO-PS400 (driver version 3.0),
I/O. User can very easily to setup,
eras image acquisition
ith motion control system and how to
/O trigger, trigger compare or random

5.1 Overview

Figure 5-1: EzVIEW_Fly Utility Main Screen
- 42 -
Page 43

5.2 Configuration

re and I/O Setting. The Configuration included Feature Setting, Advanced Featu
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.
I/O Setting
The I/O Setting function offer the interface window same with EZView utility and please just refer Chapter 4 EZView utility for the operation description.
- 43 -
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.
r
In this page the ‘Enable External Trigger’ function of Trigger Setting, it is only for MAVIS trigger input (by TTL signal voltage) port used and no matter with any motion trigger pulse.
- 44 -
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 an single axis operation.
EzVIEW_Fly utility required ET-M8194H or PISO-PS400 for hardware trigger pulse operation. For hardware installation, please follow the description of ET_8194H_QuickStart or PISO-PS400_Getting_Started for operation correctly.
Main Feature Setting of Motion Module
d
Regarding the parameters meaning, please refer the ET_8194H_QuickStart or PISO-PS400_Getting_Started for detail information.
Area Functionality Parameters
A B
- 45 -
Motion Controller Selection
Output Pulse Mode
ET-M8194HPISO-PS400
CCWPULSE DIR
Page 46
C
Acceleration Mode
T-C
urveS-CurveConstant
D E
F
G
Home* - user sor for home operation.
Limitation +/- Logic
Parameters
Operation Command
Read St atus
must install limitation sen
Start Velocity、Acceleration Velocity、Driving
Servo On/Off、Home*、Forward、Reverse
Logical PositionEncoder Position、Driving
HighLow
VelocityOutput Pulse
ResetStop
Speed
¾ When choose ET-M8194H
When choose ET-M8194H then please input your ET-M8194H IP address and click ‘Connection’ button for Ethernet connection.
User can use EzMove utility of ET-M8194H for IP address configuration or detail function operation. (Please refer the user manual of ET-M8194H).
- 46 -
Page 47
¾ When choose PISO-PS400
Please click ‘Initial’ button for PISO-PS400 card initialization.
rk in PISO er 3.0 and operation fo
wo -PS400 driv

5.3 Help – About EzVIEW_Fly

This is only
r AXIS_X only.

5.4 Tool Icons

Camera Scan
Click the Camera Scan icon to list the MAVIS 1394 cameras available at the local computer.
Snap Shot
Click the SnapShot icon. A single image will appear in the Display Window Video Capture Click the Video Capture icon. A video frame will appear in the Display window Trigger Setting Click the Trigger Setting icon to bring up the MAVIS and Motion trigger function setting screen as 5.4.1 description. Trigger Capture Clicking the Trigger Capture icon. The image will appear in the Display while MAIVS received the external trigger.
Trigger Stop
Clicking the Trigger Stop icon will disable the Trigger Capture function.
- 47 -
Page 48
5.4.1 riT gger Setting
MAVIS
External Tri gger Setting
Strobe 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.
Selected output port and ensure the wiring correctly.
Selected ‘On’ for enable the strobe control function.
- 48 -
Page 49
Motion Virtual Trigger
Selected the active polarity mode and user can refer 1.4.9 for S t robe Control polarity definition. Setting the delay value in necessary and 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.
Enable the check box while used FRNET for I/O trigger simulation. Selected the output port of FRNET and ensure the wiring correctly.
Setting the trigger pulse frequency of FRNET.
Physical Trigger
Note – Please refer the Hardware Installation of P T-M8194H for the wiring of motion in position signal output to MAVI
ISO-PS400 or E
S trigger input port.
Enable the check box while used PISO-PS400 or ET-M8194H f received the in position signal from encoder / sensor.
Enable the check box of Trigger Compare and setting the Total Pulse and Trigger Pitch for equidistance trigger.
or
Enable the check box while active the trigger pulse i
n randomized.
- 49 -
Page 50

6 Function Library

This chapter describes the API for MAVIS IM-30/IM these functions to develop application programs und
6.0 , Boland C++ Builder 6.0, and C#.NET 2003.
The MAVIS DLL file (IMCamera.dll) is common to u c, Boland C++ Builder and C#.NET development language.
For Vis oland C++ Builder, please just follow standard Syntax description to use.
For Visual Basic, we have offer “IMCamera.bas” mo and user also can define or modify function module fi
For C#.NET, we have defined a class “Mavis” in our sample program and we are strong to recommend that user can build own class as you need. For example:
ual C++ and B
-100 cameras. Users can use
er Visual C++ 6.0, Visual Basic
se in Visual C++, Visual Basi
dule file in our sample program le as you need.
public class Mavis {
[DllImport("IMCAMERA.DLL")]
public static extern short IMC_Camera_Scan(out IMC_DEVICE_DATA pCamera_List);
[DllImport("IMCAMERA.DLL")]
public static extern short IMC_Camera_Init( int
[DllImport("IMCAMERA.DLL")]
public static extern short IMC_FrameRate_Set( ndle, ulong FrameRate, bool bMirror );
[DllImport("IMCAMERA.DLL")]
public static extern short IMC_Camera_Close(
}
Please refer to Table 6-1 List of Functions for function follow Microsoft standard definitions.
camera_idx, ref IntPtr pHandle );
IntPtr Camera_Ha
IntPtr Camera_Handle );
s by category. All the data types
- 50 -
Page 51

6.1 List of Functions

Category Section Function
Camera Management 5.2
Camera Acquisition 5.3
Camera Configuration 5.4
Digital Inp
External Trigger 5.6
Strobe Control 5.7
Lo
ut/Output 5.5
ok Up Table 5.8
IMC_Camera_Scan IMC_Camera_Init IMC_Camera_Close IMC_ImageAcquisition_Start IMC_Image_Acquire IMC_ImageAcquisition_Stop IMC_AcquisitionFrame_Copy IMC_AcquisitionFrame_Save
IMC_Live_Acquire IMC_LiveAcquisition_Stop IMC_FrameRate_Set IMC_Shutter_Get IMC_Shutter_Set IMC_Gain_Get IMC_Gain_Set IMC_Brightness_Get IMC_Brightness_Set IMC_OutputPort_Status IMC_OutputPort_Configure IMC_OutputPort_Write IMC_InputPort_Read IMC_InputPort_ReadAll IMC_Trigger_Enable IMC_Trigger_Disable IMC_Trigger_ReadConfiguration IMC_StrobeControl_SetConfiguration IMC_StrobeControl_ReadConfiguration IMC_StrobeTimeBase_SetDurationTime IMC_StrobeTimeBase_ReadConfiguration IMC_LUT_Read IMC_LUT_SetStatus IMC_LUT_ReadStatus IMC_LUT_Write
Area of Interest) 5.9
AOI (
Advanced Features 5.10
Table 5-1: List of Functions
- 51 -
IMC_AOI_Configure IMC_TestImage_Enable
IMC_TestImage_Disable
Page 52
6.2 Programming Flowc
z al
Camera scan & initi
IMC_Camera_Scan IMC_Camera_Init
z Camera close
IMC_Camera_Close
hart
z Camera parameters setting
IMC_Camera_Scan IMC_Camera_Init
IMC_FrameRate_Set
IMC_Shutter_Set
z Ch ing
z S
eck camera sett
IMC_Camera_Scan IMC_Camera_Init
napshot
IMC_Gain_Set
IMC_Brightness_Set
IMC_Shutter_Get
IMC_Gain_Get
IMC_Brightness_Get
IMC_Camera_Scan IMC_Camera_Init
IMC_ImageAcquisition_Start IMC_Image_Acquire
IMC_ImageAcquisition_Stop
- 52 -
Page 53
z Live continue images capture
IMC_Camera_Scan IMC_Camera_Init
IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_LiveAcquisition_Stop
z Save single image to BMP file
IMC_Camera_Scan IMC_Camera_Init
IMC_AcquisitionFrame_Save IMC_ImageAcquisition_Stop
z Copy image to memory buffer
IMC_Camera_Scan IMC_Camera_Init
IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_LiveAcquisition_Stop
z External trigger for image acquisition
IMC_AcquisitionFrame_Copy
IMC_Camera_Scan IMC_Camera_Init
IMC_Trigger_Enable
IMC_ImageAcquisition_Start IMC_Live_Acquire
z Camera digital output setting
IMC_Camera_Scan IMC_Camera_Init
IMC_Trigger_Disable
IMC_LiveAcquisition_Stop
IMC_OutputPort_Configure
IMC_OutputPort_Write
IMC_OutputPort_Status
- 53 -
Page 54
z Strobe control
IMC_Camera_Scan IMC_Camera_Init
z
Check camera digital input
IMC_Camera_Scan IMC_Camera_Init
IMC_StrobeControl_SetConfiguration
IMC_StrobeControl_ReadConfiguration
IMC_StrobeTimeBase_SetDurationTime
IMC_StrobeTimeBase_ReadConfiguration
z Camera AOI setting
IMC_Camera_Scan IMC_Camera_Init
IMC_AOI_Configure
z Camera test image
ra_Scan IMC_Camera_Init IMC_Came
IMC_TestImag e_Enable
IMC_InputPort_Read
IMC_InputPort_ReadAll
IMC_ImageAcquisition_Start IMC_Live_Acquire IMC_TestImage_Disable
IMC_LiveAcquisition_Stop
- 54 -
Page 55
z Read camera Lookup Table
IMC_Camera_Scan IMC_Camera_Init
IMC_LUT_Read
z Modify camera Lookup Table
IMC_Camera_Scan IMC_Camera_Init
IMC_LUT_SetStatus IMC_LUT_Write
- 55 -
Page 56

6.3 Camera Management

IMC_Camera_Scan
Synt
ax:
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_DA TA) 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.
Parameters:
pCamera_List The pointer to the IMC_DEVICE_DATA structure.
Return:
ERROR_SUCCESSFUL Successfully ERROR_NO_CAMERA No MAVIS camera available in system
- 56 -
Page 57
IMC_Camera_Init
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
IMC_Camera_Init ( int camera_idx, HANDLE* pHandle);
short
Visual Basic 6.0
IMC_Camera_Init (ByVal camera_idx As Long, ByRef pHandle As Long)
C#.NET 2003
Mavis.IMC_Camera_Init( int camera_idx, ref IntPtr pHandle );
Description:
This functio functions. The function
n initializes the MAVIS cameras and returns a handle for the other
is required to enable and start one MAVIS camera. The
initialized state will be maintained until calling IMC_Camera_Close().
Parameters
camera_idx The index
:
based on the IMC_DEVICE_DATA structure returned by
IMC_Camera_Scan()
pHandl
: The pointer to the MAVIS camera. This handle will be nee
functions.
As Integer
ded by other
Return:
ERROR_SUCCESSFUL ERROR_INV
ALID_IDX The index is not in valid range (1 to scanned
Successfully
cameras).
ERROR_DEVICE_OCUPPIED The camera is used by other application. ERROR_NO_CAMERA No MAVIS camera response to the initialization
command.
ERROR_DEVICE_INIT Fail to initialize the camera ERROR_VIDEOFORMAT_SET Fail to set the DEFAULT_VIDEO_FORMAT ERROR_VIDEOMODE_SET Fail to set the DEFAULT_VIDEO_MODE ERROR_FRAMERATE_SET Fail to set the DEFAULT_VIDEO_FRAME_RATE ERROR_CAMERA_CREATE Fail to create the camera structure.
- 57 -
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.
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ para
meter of IMC_Camera_Init().
Return:
E
RROR_SUCCESSFUL Successfully
ERROR_D ERROR_INVALID_CAMERA The handle is ERROR_1394FUNC_INCO The error caused by port incorrect operation ERROR_CAMERA_CREATE te the camera structure
EVICE_UNINIT The specific camera has not been initialized
invalid
RRECT
Fail to crea
- 58 -
Page 59
6.4 Camera
IMC_ImageAcquisition_S
Syn
tax:
Visual C++ 6.0 / B
Acquisition
tart
oland C++ Builder 6.0:
short IMC_ImageAcquisition_Start ( HANDLE Camera_Handle);
Visual Basic 6
IMC_ImageAcquisition_Start (ByVal Camera_Handle A
C#.NET 200
M art( IntPtr Camera_Handle );
avis.IMC_ImageAcquisition_St
.0
s Long) As Integer
3
Description:
ction
This fun
starts the Image Acquisition. The camera needs be initialized with
IMC_Camera_Init().
Parameters:
gotten from the
Camera_Handle
The handle for MAVI S camera, use the handle ‘pHandle’ parameter of IMC_Camera_Init().
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized ERROR_INVALID_CAMERA The handle is invalid. ERROR_1394FUNC_INCORRECT The error caused by port incorrect operation. ERROR_ACQUIMAGE_START Fail to start the image acquisition.
.
- 59 -
Page 60
IMC_ImageAcquire
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
IMC_ImageAcquire ( HANDLE Camera_Handle, PVOID* ppData );
short
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 acquisition completes.
n sends the request to camera and receives the frame package when the
The IMC_ImageAcquisition_Start () should be called before
calling this function.
Parameters
Camera_Handle
:
The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
ppData The pointer to the Address that contains the acquisition data.
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_1394FUNC_INCORRECT The error caused by port incorrect operation. ERROR_IMAGE_ACQUIRE Failure in frame acquisition
- 60 -
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 the Image Acquisition that started with IMC_ImageAcquisition_St art() . Be aware that the buffer that contains the acquisition data will be destroyed
after calling this function.
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
R
eturn:
ERROR_S ERROR_CAMERA_CREAT The Camera_H ERROR_DEVICE_UNINIT The specific camera has not be ERROR_INVALID_CAMERA The handle is invalid.
UCCESSFUL Successfully
E andle is NULL.
en initialized.
ERROR_1394FUNC_INCORR The error caused by po
ECT rt incorrect operation.
ERROR_ACQUIMAGE_STOP Fail to stop the image acquisition.
- 61 -
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
IM a As Any) As
C_AcquisitionFrame_Copy (ByVal Camera_Handle As Long, ByRef pDat
Integer
C#.NET 2003
Mavis.IMC_AcquisitionFrame_Copy( IntPtr Camera_Handle, IntPtr pData);
Description:
This function copies the acquisition frame into the buffer. IMC_Image_Acquire () should be called before calling this function. T
cquisition frame.
a
his function is helpful to store the
Parameters:
Camera_Handle le gotten from the
The handle for MAVI S camera, use the hand ‘pHandle’ parameter of IMC_Camera_Init().
pData
The pointer to the buffer that acquisition frame will be copied into.
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been ERROR_INVALID_CAMERA The handle is invalid. ERROR_NOFRAME_AVAILABLE No Acquisition frame is available.
initialized.
- 62 -
Page 63
IMC_AcquisitionFrame_Save
Syntax:
Visual C++ 6.0 / Boland C++ Build
short IMC_AcquisitionFrame_Save ( 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,
er 6.0:
HANDLE Camera_Handle, LPCTSTR
string
strFileName);
Description:
This function starts the Image Acquisition, and then saves the acquired image to a file. Currently, only
C_Camera_Init().
IM
BMP format is support. The camera needs be initialized with
Parameters:
Camera_Handle le gotten from the
strFileName tring saves the full path-name of target image.
Return:
ERROR_SUCCESSFUL Successfully ERROR_INVALID_FILENAME The strFileName is NULL. ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera ha ERROR_INVALID_CAMERA The handle is invalid. ERROR_1394FUNC_INCORRECT The error caused by port incorrect operation. ERROR_ACQUIMAGE_START Fail to start the image acquisition. ERROR_IMAGE_ACQUIRE Failure in frame acquisition ERROR_ACQUIMAGE_STOP Fail to stop the image acquisition. ERROR_BITMAPFILE_CREATE Fail to create the bitmap file. ERROR_BITMAPFILE_WRITE Fail to write the data into bitmap file.
The handle for MAVI S camera, use the hand ‘pHandle’ parameter of IMC_Camera_Init(). The s
s not been initialized.
- 63 -
Page 64
IMC_Live_Acquire
Syntax:
Vis
ual C++ 6.0 / Boland C++ Builder 6.0:
short IMC_ *callbackAdd
Vis
ual Basic 6.0
IMC_Live_Acqui
Live_Acquire ( HANDLE Camera_Handle, void (__stdcall
r)(void* pFrame) );
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 );
Description:
This function starts one thread to call IMC_ImageAcquire() continuously. If the callbackAddr is valid, the function will be called after each IMC_ImageAcquire(). This function helps to
he IMC_ImageAcquisition_Start () should be called before calling this function.
T It is strongly
recommended to stop the continuous Image Acquisition with
simplify the programming for continuous Image-Acquisition.
IMC_LiveAcquisition_Stop() function. Specially, in Visual Basic exiting the VB program without cal Visual Basic.
ling IMC_LiveAcquisition_Stop() will terminate
P
arameters:
Camera_H
andle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_I
nit().
callbackAddr The Address of CallBack Function..
In Visu ++, the CallBack function must
al C be declared as __stdcall FunctionName (void* pFrame). In Visu sic, one separate mod
al Ba ule contains the Callback
Function.
- 64 -
Page 65
Return:
ERROR_SUCCESSF
UL Successfully
ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_D
EVICE_UNINIT The specific camera has not been initialized.
ERROR_INVALID_CAMERA The handle is invalid. ERROR_ACQUISITION_ ERROR_EVENT_CREA ERROR_THREAD_CREA e the thread
BUSY The camera is acquiring image
TE Fail to create the associated event
TE Fail to creat
- 65 -
Page 66
IMC_LiveAcquisition_Stop
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
short IMC_LiveAcquisition_S _Handle); top ( HANDLE Camera
Visual Basic 6.0
IMC_LiveAcquisition_Stop (ByVal Ca mera_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.
Parameters:
Camera_Handle The handle for the MA VIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_ACQUIMAGE_STOP Fail to stop the image acquisition.
- 66 -
Page 67
6.5 Camera
Configuration
IMC_FrameRate_Set
Synt
ax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
short IM bMirror = F
isual Basic 6.0
V
C_FrameRate_Set ( HANDLE Camera_Handle, ULONG FrameRate, BOOL
ALSE);
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
eRate_Set( IntPtr Camera_Handle, ulong FrameRate, bool
bMirror );
Description:
his function sets the Frame Rate for MAVIS cameras. The camera needs to be
T initialized
with IMC_Camera_Init().
Parameters:
Camera_Handle The ha r MAVIS camera, use the handle gotten from
pHandle meter of IMC_Camera
FrameRate The Frame Rate setting for the MAVIS camera. T
ndle fo the
’ para _Init().
he valid values
are FRAME_RATE_30, FRAME_RATE_60, FRAME_RATE_100
bMirror Enable/disable the Mirror mode. This flag is active for
FRAME_RATE_100 Frame Rate.
- 67 -
Page 68
Return:
ERROR_SUCCESSFUL Successfu ERROR_INVALID_FRAMERATE
The invalid FrameRate
lly
ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNI
NIT The specific camera has not been initialized.
ERROR_INVALID_CAMERA The handle is invalid. ERROR_1 ERROR_VIDEOFORMAT_SET Fail to set th ERROR_VIDEOMODE_SET ERROR_FRAMERA
394FUNC_INCORRECT The error caused by port incorrect operation.
e Video Format
Fail to set the Video Mode
TE_SET Fail to set the Frame Rate
The below errors o
ERR
OR_SIZE_INQUIRE Fail to inquire the maximum size
ERR et the current size-settings
OR_SIZE_STATUS Fail to g
ERROR_SIZE_AOISET ERROR_POSITION_AOISET ERROR_CORLOR_AOISET ERROR_BYTEPERP
nly for FRAME_RATE_100:
Fail to set the size
Fail to set the Left-Top position
Fail to set the color mode
ACKAGE_AOI_SET Fail to set the bytes per package
- 68 -
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 utter Time. The camera needs b
tting of Sh e
initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
pShutterValue The pointer to integer that contains the Shutter-Time value
(Timing unit in microsecond)
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid.
- 69 -
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
I
MC_Shutter_Set (ByVal Camera_Handle As Long, ByVal ShutterValue As Long) As
I
nteger
C#.NET 2003
M
avis.IMC_Shutter_Set( IntPtr Camera_Handle, int ShutterValue );
Description:
This function updates the setting of Shutter Time. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle he handle for MAVIS camera, use the handle gotten from the
T ‘p
Handle’ parameter of IMC_Camera_Init().
ShutterValue The Shutter-Time value with valid range from 20 to 81900. (Timing
unit in microsecond)
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_INAVLID_VALUE The invalid Shutter-Time value
- 70 -
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. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init()
.
pGainValue The pointer to integer that contains the Gain value
R
eturn:
ERROR_S
UCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is ERROR_DEVICE_UNINIT The specific camera has not be ERROR_INVALID_CAMERA The handle is invalid.
NULL.
en initialized.
- 71 -
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 );
D
escription:
This function
updates the setting of Gain. The camera needs be initialized with
IMC_Camera_Init().
P
arameters:
Camera_Handl
e The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
GainValue .
The Gain value with valid range from 0 to 255
R
eturn:
ERROR_S ERROR_CAMERA_CREATE The Camera_Handle is ERROR_DEVICE_UNINIT The specific camera has not be ERROR_INVALID_CAMERA The handle is invalid.
UCCESSFUL Successfully
NULL.
en initialized.
ERROR_INAVLID_VALUE The invalid Gain value
- 72 -
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
ith IMC_Camera_Init().
w
current setting of Brightness. The camera needs be initialized
Parameters:
Camera_Handle dle gotten from the
The handle for MAVIS camera, use the han ‘pHandle’ parameter of IMC_Camera_Init().
BrightnessValue The pointer to integer that contains the Brightness value
p
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera ha ERROR_INVALID_CAMERA The handle is invalid.
s not been initialized.
- 73 -
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. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle he handle for MAVIS camera, use the handle gotten from the
BrightnessValue he Brightness value with valid range from 0 to 1023.
T
Handle’ parameter of IMC_Camera_Init().
p T
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_INAVLID_VALUE The invalid Brightness value
- 74 -
Page 75

6.6 Digital Input/Output

IMC_OutputPort_Status
Syn
tax:
Visual C++ 6.0 / B
short IMC_OutputPort_Status ( HANDLE Camera_Handle, unsigned long*
pOutputStatu
Visual Basic 6
IMC_OutputPort_Status (ByVal Camera_Handle As Long, ByRef pOutpu
ong) As Integer
L
C#.NET 2003
Mavis.IMC_OutputPort_Status( IntPtr Camera_Handle, out ulong pOutputStatus );
Description:
This function get e hardware sources for all Output Ports. The camera needs be initialized with IMC_
arameters:
P
Camera_H
andle The handle for MAVIS camera, use the handle gotten from the
oland C++ Builder 6.0:
s);
.0
tStatus As
s th
Camera_Init().
pHandle’ parameter of IMC_Cam
pOutputStatus The pointer to Signal Source settings of a
ignal
The S Source configuration will be: INTEGR E_ENABLED_SIGNAL TRIGGER_READY_SIGNAL (0x01) USER_SET_SIGNAL (0x03)
STROBE_SIGNAL (0x04) Each byte of OutputStatus stands for independent configuration of every Output Port. For instance, 0x03030100 means that: OutputPort#0 is configured to INTEGRATE_ENABLED_SIGNAL OutputPort#1 is configured to TRIGGER_READY_SIGNAL OutputPort#2 and OutputPort#3 are configured to USER_SET_SIGNAL
- 75 -
AT (0x00)
era_Init().
ll four Output Ports.
Page 76
Return:
ERROR_SUCCESSFUL Successfu ERROR_CAMERA_CREATE
The Camera_Handle is NULL.
lly
ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAME
RA The handle is invalid.
- 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 );
Description:
This function configures the hardware sources for specific Output Port. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Output_Port: The Output Port to be configured. The Ports can
be:
OUTPUT_PORT_0, OUTPUT_PORT_1, OUTPUT_PORT_2 and OUTPUT_PORT_3
Signal_Source The hardware Signal Source for Output Port and the sources
can be: INTEGRATE_ENABLED_SIGNAL (0x00), TRIGGER_READY_SIGNAL (0x01), USER_SET_SIGNAL (0x03)
STROBE_SIGNAL (0x04)
- 77 -
Page 78
Return:
ERROR_SUCCESSFUL
Successfully
ERROR_INVALID_PORT The invalid output port. ERROR_I ERROR_CAMERA_CREATE The Camera ERROR_DEVICE_UNINIT
NVALID_SOURCE_SIGNAL The invalid source signal.
_Handle is NULL.
The specific camera has not been
initialized.
ERROR_INV RA The handle is invalid. ERROR_SOURCE_
ALID_CAME
NOT_SUPPORT The source signal is not supported by that
specific output port.
- 78 -
Page 79
IMC_OutputPort_Write
Syntax:
Visual C++ 6.0 / Boland C++ Build
short IMC_OutputPort_ nt Output_P
Write ( HANDLE Camera_Handle, i ort, bool
er 6.0:
bValue);
Visual Basic 6.0
IMC_OutputPort_Write (ByVal Camera al Output_Port As Long,
_Handle As Long, ByV
ByVal bValue As Boolean) As Integer
C#.NET 2003
Mavis.IMC_OutputPort_Write( IntPtr Camera_Handle, int Output_Port, bool bValue );
Description:
This function sets the state for specific Output Port. This function is workable only for the Output Ports that are configured to USER_SET_SIGNAL .The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera, use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init(). Output_Port The Output Port to be set. The Ports can be:
OUTPUT_PORT_0, OUTPUT_PORT_1, OUTPUT_PORT_2
and OUTPUT_PORT_3 bValue The state for specific Output Port.
Return:
ERROR_SUCCESSFUL Successfully ERROR_INVALID_PORT The invalid output port. ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_NOT_USERSET_MODE The Output Port is not configured as
USER_SET_SIGNAL.
- 79 -
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_
3
InputPort_Read( IntPtr Camera_Handle, int Input_Port, out bool
pValue );
Description:
This function reads the state for specific Input Port. The camera needs be initialized with IMC_Camera_Init().
P
arameters:
Camera_Handl
e The handle for MAVI S camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init(). Input_Port
The Input Port to be read. The Ports can be:
INPUT_PORT_0 and INPUT_PORT_1 pValue
The pointer to the memory that contains state of the specific
Input Port.
R
eturn:
ERROR_S
UCCESSFUL Successfully ERROR_INVALID_PORT The invalid input port. ERROR_CAMERA_CREATE he Camera_Handle is NU ERROR_DEVICE_UNINIT he specific camera has not been ERROR_INVALID_CAMERA he handle is invalid.
T LL.
T initialized.
T
- 80 -
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 );
D
escription:
This function r
eads the state for both Input Ports. The camera needs be initialized
with IMC_Camera_Init().
P
arameters:
Camera_Handl
e The handle for MAVI S camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
pValue states of all Input
The pointer to the memory that combines the Ports. The Byte0 contains state of INPUT_P
ORT_0 and Byte1
contains state of INPUT_PORT_1.
Return:
E
RROR_SUCCESSFUL Successfully
ERROR_C ERROR_DEVICE_UNINIT The specific camera has ERROR_INVALID_CAMERA The handle is invalid.
AMERA_CREATE The Camera_Handle is NULL.
not been initialized.
- 81 -
Page 82

6.7 External Trigger

IMC_Trigger_Enable
Syntax:
al C++ 6.0 / Boland C++ Builder 6.0:
Visu
short
iExpMode);
Visual Basic 6
IMC_Trigger_Enable (ByVal Camera_Handle As Long, ByVal iTrigSource A ByVal iExpMode As Integer) As Integer
C#.NET 2003
Mavis.IMC_Trigger_Enable( IntPtr Camera_Handle, int iTrigSource, int iExpMode);
Description:
This function configures the External Trigger Source and enables External Trigger. The camera needs b
Parameters:
Camera_Handle the handle gotten from the
IMC_Trigger_Enable( HANDLE Camera_Handle, int iTrigSource, int
.0
s Integer,
e initialized with IMC_Camera_Init().
The handle for MAVI S camera. Use ‘pHandle’ parameter of IMC_Camera_Init().
iTrig_Sour
iExpMode The setting of Trigger Exposure Mode. The Exposure Mode can
EXT_TRIGGER_MODE0 (Programmable Mode) EXT_TRIGGER_MODE1 (Level Mode)
- 82 -
ce The setting of External Trigger Source. The Sources of External
Trigger can be one of following setting EXT_TRIGGER_INPUT0 (0x00) EXT_TRIGGER_INOUT1 (0x01) EXT_TRIGGER_SOFTWARE (0x07) By default, the Trigger Source of iTrigSource is EXT_TRIGGER_INPUT0
be one of bellowing Settings:
By default, the Trigger Exposure Mode of iExpMode is EXT_TRIGGER_MODE1
s:
Page 83
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE
The Camera_Handle is NULL.
ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAM
ERA The handle is invalid.
- 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().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid.
- 84 -
Page 85
IMC_Trigger_ReadConfiguration
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
short
IMC_Trigger_ReadConfiguration( HANDLE Camera
unsigned short* pT
rigSource, unsigned short* pExpMode);
_Handle, bool* pStatus,
Visual Basic 6.0
IMC_Trigger_ReadConfiguration (ByVal Camera_Handle As Long, ByRef p Boolean, By
Ref pTrigSource As Integer, ByRef pExpMode As Integer) As Integer
C#.NET 2003
Mavis. IMC_Trigger_ReadConfiguration( IntPtr Camera_Handle, out bool pStatus, out Int32 pTrigSo
urce, out Int32 pExpMode);
Description:
This functio
n reads the
initialized with IMC_Ca
current setting for External Trigger. The camera needs be
mera_Init().
Parameters:
gotten from the
Camera_Handle
The handle for MAVI S camera. Use the handle ‘pHandle’ parameter of IMC_Camera_Init().
Status As
pStatus Enable or Disable camera external t
can be TRUE for trigger enable or FLASE for tri
rigger function. The value
gger disable and
default value of pStatus is FLASE.
pTrigSource The pointer to the integer that indicates the sett
Trigger Source. The Sources of Exte
rnal Trigger may be one of
ings of Exte
rnal
following values: EXT_TRIGGER_INPUT0 (0x00) EXT_TRIGGER_INOUT1 (0x01) EXT_TRIGGER_SOFTWARE (0x07) By default, the Trigger Source of iTrigSource is EXT_TRIGGER_INPUT0
pExpMode The setting of Trigger Exposure Mode. The Exposure Mode can
be one of bellowing Settings: EXT_TRIGGER_MODE0 (Programmable Mode) EXT_TRIGGER_MODE1 (Level Mode)
By default, the Trigger Exposure Mode of iExpMode is
EXT_TRIGGER_MODE1
- 85 -
Page 86
Return:
ERROR_SUCCESSFUL Successfully ERROR_C
AMERA_CREATE The Camera_Handle is NULL.
ERROR_DEVICE_UNINIT The specif ERROR_INV
ALID_CAMERA The handle is invalid.
ic camera has not been initialized.
- 86 -
Page 87
6
.8 Strobe Control
IMC_StrobeControl_SetConfiguration
ntax:
Sy
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 As Long, ByVal sStrobeIndex As Integer, ByVal bOnOff As Boolean, ByVal bPolarity As Boolean, ByVa l lDelay As Long, ByVal lDuration As Long) As Integer
C#.NET 2003
Mavis.IMC_StrobeControl_SetConfiguration (IntPtr Camera_Handle, Int32 sStrobeIndex, bool bOnOff, bool bPolarity, Int32 lDelay, Int32 lDuration);
Description:
This function sets the state of specific Strobe Control. This function is workable only for the Output Ports that are configured to STROBE_SIGNAL. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
sStrobeIndex
bOnOff Enable or Disable strobe function. The value can be TRUE for
bPolarity The signal pulse setting for active Strobe Control and pPolarity
The register index of Strobe Control and allows value from 0 ~3.
enable strobe or FALSE for disable strobe.
can be one of below settings. STROBE_CONTROL_LOWACTIVE STROBE_CONTROL_HIGHACTIVE By default, the polarity of Strobe Control is
STROBE_CONTROL_HIGHACTIVE.
- 87 -
Page 88
lDelay The delay time of Strobe and the Delay Value range from 0 to
4095. By default, the delay time is setting on 0.
lDuration The
Duration Time of Strobe and the Strobe Duration range from
0 to 4095. By default, the duration is setting on 0.
Return:
ERROR_SUCCESSFUL ERROR_CAMERA_CRE ERROR_INVALID_PORT The ERR
OR_INVALID_SOURCE_SIGNAL The invalid source signal.
ERR
OR_DEVICE_UNINIT The specific camera has not been
Successfully
ATE The Camera_Handle is NULL.
invalid output port.
initialized.
ERROR_INVALID_C ERR
OR_SOURCE_NOT_SUPPORT The source signal is not supported by that
AMERA The handle is invalid.
specific output port.
- 88 -
Page 89
IMC_StrobeContr
ntax:
Sy
Visual C+
short IMC_StrobeControl_ReadConfiguration (HANDLE Camera_Hand short sStrobeIndex, bool* l* pPolarity,unsigned long* pDel long* pDuration);
Visual Basic 6.0
IMC_StrobeControl_Rea (ByVal Camera_Handle As Long sStrobeIndex As Integer, ByRef pOnOff A ByRef pPolarity As Boolean, ByRef pDelay As Long, ByRef pD ng) As Integer
C#.NET 2003
Mavis.IMC_StrobeControl_ReadConfigur mera_Handle, Int32 sStrobeIndex, ref bool pOnOff, ref bool pPolarity, ref Int32 pDelay, ref Int32 pDuration);
Description:
+ 6.0 / Boland C++ Builder 6.0:
ol_ReadConfiguration
le, unsigned
pOnOff, boo ay, unsigned
dConfiguration , ByVal
s Boolean,
uration As Lo
ation (IntPtr Ca
This function reads the current setting of specific Strobe Control. This function is workable only for the Output Ports that are configured to STROBE_SIGNAL. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
sStrobeIndex
pOnOff Enable or Disable strobe function. The value can be TRUE for
pPolarity The signal pulse setting for active Strobe Control and pPolarity
STROBE_CONTROL_LOWACTIVE STROBE_CONTROL_HIGHACTIVE By default, the polarity of Strobe Control is
pDelay The delay time of Strobe and the Delay Value range from 0 to
The register index of Strobe Control and allows value from 0 ~3.
enable strobe or FALSE for disable strobe.
can be one of below settings.
STROBE_CONTROL_HIGHACTIVE.
4095. By default, the delay time is setting on 0.
pDuration The Duration Time of Strobe and the Strobe Duration range from
0 to 4095. By default, the duration is setting on 0.
- 89 -
Page 90
Return:
ERROR_SUCCESSFUL Successfu ERROR_CAMERA_CRE ERROR_DEVICE_UNINIT
ERR
OR_INVALID_CAMERA The handle is invalid.
ERR
OR_SOURCE_NOT_SUPPORT The source signal is not supported by that
ATE The Camera_Handle is NULL.
The specific camera has not been
ialized.
init
lly
specific output port.
- 90 -
Page 91
IMC_StrobeTimeBase_SetDurationTime
Syntax:
Visual C++ 6.0 / Boland C 0:
short IMC_StrobeTimeBase_SetDuratio NDLE Camera_Handle, unsigned long Value);
Visual Basic 6.0
IMC_StrobeTimeBase_SetDurationTime le As Long, ByVal Value As Long) As Integer
C#.NET 2003
Mavis. IMC_StrobeTimeBase_SetDurationTime(IntPtr Camera_Handle, Int32 Value);
++ Builder 6.
nTime (HA
(ByVal Camera_Hand
Description:
This function set the Duration Time of Strobe. This function is workable only for the Output Ports that are configured to STROBE_SIGNAL. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Value
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been
ERROR_INVALID_CAMERA The handle is invalid. ERROR_SOURCE_NOT_SUPPORT The source signal is not supported by that
The Duration Time of Strobe Control and allows value from 1
~85. By default, the Value is setting on 1.
initialized.
specific output port.
- 91 -
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
Visual Basic 6.0
IMC_StrobeTimeBase_ReadConfiguration (ByVal Camera_Handle As Long, ByRef pDurationTime As In
C#.NET 2003
Mavis.IMC_StrobeTimeBase_ReadConfiguration (IntPtr Camera_Handle, out Int3
urationTime, out Int32 pDelayTime);
pD
ionTime, unsigned long* pDelayTime);
teger, ByRef pDelayTime As Integer) As Integer
2
Description:
This function reads the current setting of Strobe Time Base. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
pDurat The Duration Time of Strobe Time Base and allows value from 1
p
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE a_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera ha
ERROR_INVALID_CAMERA . ERROR_SOURCE_NOT_SUPPORT The source signal is not supported by that
ionTime
~85. By default, the Value is setting on 1.
DelayTime The Delay Time of Strobe Time Base and allows value from 1
~85. By default, the Value is setting on 1.
The Camer
s not been initialized. The handle is invalid
specific output port.
- 92 -
Page 93
6.9 Lookup
IMC_LUT_Read
Synt
ax:
Table
Visual C++ 6.0 / B
short IMC_LUT_Read ( HANDLE Camera_Handle, unsigned long* pStartAddr );
Vis
ual Basic 6.0
IMC_LUT_Read(ByV Integer
NET 2003
C#.
M
avis. IMC_LUT_Read( IntPtr Camera_Handle, Int32[] pStartAddr );
oland C++ Builder 6.0:
al Camera_Handle As Long, ByRef pStartAddr As Long) As
Description:
This function reads the content of ca in
Lookup Table for present the depth of camera output pixel values. The camera
needs be initia
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
lized with IMC_Camera_Init().
mera Lookup Table. There have list 1024 values
pHandle’ parameter of IMC_Camera_Init(
pStartAddr The memory start address point of Lookup Table.
R
eturn:
ERROR_S ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not be
ERROR_INVALID_CAMERA is invalid.
- 93 -
UCCESSFUL Successfully
initialized. The handle
).
en
Page 94
IMC_LUT_SetStatus
Syntax:
Visual C++ 6.0 / Boland C++ Build
short IM
Visual Basic 6.0
IMC_LUT_SetStatus(ByVal Camera_Handl Integer
C#.NET 2003
Mavis. IMC_LUT_SetStatus(IntPtr Camera_Handle, bool status);
cription:
Des
This function is enable/disable to modify the camera Lookup Table. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
C_LUT_SetStatus (HANDLE Camera_Handle, bool status);
pHandle’ parameter of IM
er 6.0:
e As Long, ByVal status As Boolean) As
C_Camera_Init().
atus To allow to modify the Lookup Table content when status is
st
setting on TRUE. By default, the status is setting on FALSE.
Return:
ERROR_SUCCESSFUL Successfully
RROR_CAMERA_CREATE The Camera_Handle is NULL.
E ERROR_D
ERROR_INVALID_CAMERA The handle is invalid.
EVICE_UNINIT The specific camera has not been
initialized.
- 94 -
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
s);
Description:
This function read the current status of camera Lookup Table. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
pStatus To read the Lookup Table current status. When enable Lookup
Table then status will be TRUE. By default, the status is sett
ing
on FALSE.
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT
The specific camera has not been initialized.
ERROR_INVALID_CAMERA The handle is invalid.
- 95 -
Page 96
IMC_LUT_Write
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
short IM
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 );
C_LUT_Write( HANDLE Camera_Handle, unsigned long* pStartAddr);
Description:
This function can modify the content of camera Lookup Table. The IMC_LUT_SetStatus () should be called before calling this function. The camera needs be initialized with
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
IMC_Camera_Init().
pHandle’ parameter of IMC_Camera_Init().
pStartAd The memory start address point of Lookup Table.
Return:
ERROR_SUCCESSFUL ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been
ERROR_INVALID_CAMERA The handle is invalid.
dr
Successfully
initialized.
- 96 -
Page 97
6 (Area of Interest)
.10 AOI
IMC
_AOI_Configure
Syn
tax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
short IMC_
pRectA);
Visual Basic 6.0
IMC_AOI_Configur IMC_AOI_RECR_AREA) As Integer
C#.NET 2003
Mavis.IMC_AOI_Configure( IntPtr Camera_ p_ExtTrigSrc);
Description:
This functi ures Area of Interest (AOI) region for Format7
amera needs be initialized with IMC_Camera_Init().
c
Parameters:
Camera_Handle The han IS camera. Use the handle gott
AOI_Configure ( HANDLE Camera_Handle, PIMC_AOI_RECT_AREA
e (ByVal Camera_Handle As Long, ByRef pRectA As
Handle, ref IMC_AOI_RECT_AREA
on config /Mode0. The
dle for MAV en from the
dle’ paramete
pHan r of IMC_Camera_Init().
pRectA The pointer to IMC_AOI_RECT_AREA structure that contains
the rect d for AOI. There are member variable of pRectA:
1. For the DWORD-Alignment issue of BITMAP, the width of
2. The sum of start_x and width cannot be larger than 640
3. The sum of start_y and height cannot be larger than 480.
- 97 -
angle define some limitations for
the AOI had must be a multiple of four.
Page 98
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE
The Camera_Handle is NULL.
ERROR_DEVICE_UNINIT The specific camera has not been
initialized.
ERROR_INVALID_CAME ERROR_1394FUNC_INCORRECT
RA The handle is invalid.
The error caused by port incorrect
operation.
ERROR_VIDEOFORMAT_SET F ERR
OR_VIDEOMODE_SET Fail to set the Video Mode
ail to set the Video Format
ERROR_SIZE_INQUIRE Fail to inquire the maximum size ERROR_SIZE_STAT ERROR_SIZE_AOISET ERROR_POSITION_AOISET ERROR_CORLOR_AOISET Fail to set the color mode ERROR_BYTEP
US Fail to get the current size-settings
Fail to set the size
Fail to set the Left-Top position
ERPACKAGE_AOI_SET Fail to set the bytes per package
- 98 -
Page 99
6.11 Advanced
IMC_TestImage_Enable
Features
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 As Long) As Integer
yVal Camera_Handle
C#.NET 2003
Mavis.IMC_TestImage_En mera_Handle );
able( IntPtr Ca
Description:
This function enables the Test Image Advanced Feature. This feature is helpful for self-testing. The camera needs be initialized with IMC_Camera_Init().
Parameters:
Camera_Handle The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Return:
ERROR_SUCCESSFUL Successfully ERROR_CAMERA_CREATE The Camera_Handle is NULL. ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_TESTIMAGE_SET Fail to enable the Test Image feature.
- 99 -
Page 100
IMC_TestImage_Disable
Syntax:
Visual C++ 6.0 / Boland C++ Builder 6.0:
IMC_TestImage_Disable ( HANDLE Camera_Handle);
short
Visual Basic 6.0
IMC_TestImage_Disable (ByVal Camera_Handle As Long) As
C#.NET 2003
Mavis.IMC_TestImage_Disable( IntPtr Camera_Handle );
Description:
This functio self-testing. The camera needs be in
n disables the Test Image Advanced Feature. This feature is helpful for
itialized with IMC_Camera_Init().
Parameters:
Camera_Handle
The handle for MAVIS camera. Use the handle gotten from the
pHandle’ parameter of IMC_Camera_Init().
Return:
ERROR_SUCCESSFUL ERROR_CAMERA_CRE
Successfully
ATE The Camera_Handle is NULL.
Integer
ERROR_DEVICE_UNINIT The specific camera has not been initialized. ERROR_INVALID_CAMERA The handle is invalid. ERROR_TESTIMAGE_SET Fail to disable the Test Image feature.
- 100 -
Loading...