alliance vision

LabVIEW/IMAQ Vision Driver for
Coreco PC-x

Windows 9x/NT/2000/XP 

Coreco Pc-x LabVIEW driver.pdf  

    
This library contains the LabVIEW / IMAQ Vision driver for the following Coreco Imaging framegrabbers:

  • Pc-Vision

  • Pc-Vision+

  • Pc-Dig

  • Pc-Camlink

  • Pc-Rgb

  • Pc2-Vision
          

Software requirements for this driver :

  • Windows 9x/NT/2000/Xp
  • LabVIEW 5.x, 6.x, 7.x
  • IMAQ Vision 5,6,or 7
  • Coreco IFC 5.6.3 runtime (supplied)

IFC installation

The Coreco Imaging software packaged with the board contains the low-level drivers and software necessary to drive your PC-Vision/PC-DIG/PC-RGB framegrabbers. You must install this software package first. Refer to the Coreco imaging IFC installation note for more details. Once the setup of the framegrabber is achieved, you must test your system with the “IFC Camera Configurator” utility. If your framegrabber does not work properly with the Coreco Imaging stand-alone software, please interrupt the installation at this point and contact your Coreco Imaging local technical support.

General overview

All VIs dedicated to the Coreco boards are in the " Coreco-ITI.llb" library. This library is localized in "<LabVIEW>\user.lib". Selecting "User Libraries\Coreco-ITI" in the LabVIEW menu, you will see the following icons:

This set of VI’s gives access to basic actions:
- Select a board.
- Select a camera/channel of a board.
- Get informations about the video input signal.
- Select/change a camera attribute.
- Start/Stop a single-shot acquisition (Snap), a continuous acquisition (Grab), or images sequence acquisition.
- Transfer an image from the framegrabber memory to an IMAQ Vision image.
- Use the trigger functions.
- Select a predefined look-up table (LUT).

 

Coreco Demo Snap.vi

This Vi is a simple example of how to use the PC-Vision/PC-DIG/PC-RGB Vi’s for:
- Initialize a board
- Select a specified port/channel of the board.
- Start a single-shot image capture (snap acquisition) and display it.

 

 

Coreco Demo Grab.vi

This Vi is a simple example of how to use the PC-Vision/PC-DIG/PC-RGB Vi’s for:
- Initialize a board
- Select a specified port/channel of the board.
- Start a continuous high-speed image capture (grab acquisition).

 

 

Coreco Demo Sequence.vi

This Vi is a simple example of how to use the PC-Vision/PC-DIG/PC-RGB Vi’s for:
- Initialize a board
- Select a specified port of the board.
- Start a variable-length acquisition of multiple images (sequence acquisition).

 

 

General Vi's

Coreco Init Board.vi

 


Initializes a PC-Vision/PC-DIG/PC-RGB board, given a configuration file path. It returns a “BOARD_ID” which is an identifier for the board, and should be use with other Vi’s like “CORECO_Close_Board.vi” or “CORECO_Get_Camera.vi”.

Input connectors:

Configuration file path is the name of the IFC configuration file (default: “PCVTest.txt” for PC-Vision, “PCDTest.txt” for PC-DIG, or “PCRTest.txt” for PC-RGB).

Error In is a LabVIEW error cluster.

Output connectors:

Board_ID is an identifier for the framegrabber.

Init OK is a boolean which returns “True” if the board initialized successfully, or “False” if not.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Close Board.vi

 

Disposes a PC-Vision/PC-DIG/PC-RGB board, given a “BOARD_ID”. You must call this Vi, at the end of your LabVIEW application, when you no longer need to use the framegrabber.

Input connectors:

Board_ID In is the identifier of the PC-Vision/PC-DIG/PC-RGB Board to close.

Error In is a LabVIEW error cluster.

Output connectors:

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Get Camera.vi

 

Selects a PC-Vision/PC-Dig/PC-RGB channel or camera, (PC-Vision has 4 channels). Given a “BOARD_ID”, this Vi returns a “CAM_ID” which identifies a pre-existing channel or camera. You must get a “CAM_ID”, in order to use all the image acquisition Vi’s like “CORECO_Snap.vi”, “CORECO_Grab.vi” and “CORECO_Sequence.vi”.

Note: Never explicitly close a “CAM_ID which is returned by“CORECO_Get_Camera.vi”. The camera object is automatically closed when the owning “BOARD_ID” object is closed by “CORECO_Close_Board.vi” .

Input connectors:

BOARD_ID In is the identifier of the parent PC-Vision/PC-DIG/PC-RGB Board.

Channel # is the port/camera number to get.

Error in is a LabVIEW cluster error.

Output connectors:

BOARD_ID Out is an identifier for the parent PC-Vision/PC-DIG/PC-RGB Board.

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Get Camera Attribute.vi

This Vi gives you access to the camera acquisition attributes. This Vi outputs the value corresponding to input parameters “Attribute” and “CAM_ID” (Board channel 1-4).

Input connectors:

CAM_ID In is the identifier of a PC-Vision/PC-DIG/PC-RGB camera (channel 1-4).

Attribute is a camera acquisition attribute, (“Pixel clock”, “Hsync”, “Vsync”, “Acquisition window size”, “Gain”, “Trigger”, etc…).

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Attribute Value is the value corresponding to input connector “Attribute”.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Set Camera Attribute.vi

 

Changes the camera acquisition attributes.

Input connectors:

CAM_ID In is the identifier of a PC-Vision/PC-DIG/PC-RGB channel.

Attribute is a camera acquisition attribute, (“Pixel clock”, “Hsync”, “Vsync”, “Acquisition window size”, “Gain”, “Trigger”, etc…).

Attribute Value is the value of the input connector “Attribute”.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco AOI.vi (Area of Interest)

 

Performs a boundary 8 bits adjustment on horizontal axis coordinates. This condition is necessary to obtain the maximum transfer rate from the PC-Vision/PC-DIG/PC-RGB.

Input connectors:

Optional Rectangle specifies if only a rectangular portion of the image frame shall be captured. It is defined by an array of 4 elements [Left, Top, Right, Bottom]. If not connected or empty, the entire image frame is captured. To take full advantages of PC-Vision/PC-DIG/PC-RGB transfer rate, horizontal coordinates are truncated to the lowest multiple of 8.

Frame maxdx is the maximum X size of the acquisition window.

Frame maxdx is the maximum Y size of the acquisition window.

Error in is a LabVIEW cluster error.

Output connectors:

x is the X offset of the acquisition window origin (top-left corner).

y is the Y offset of the acquisition window origin (top-left corner).

dx is the acquisition window width.

dy is the acquisition window height.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Get Camera Infos.vi

 

Returns basic informations from the camera (horizontal and vertical resolution. pixel size, color mode, and camera name).

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID Out is an identifier for the selected port/camera.

Camera Infos Out returns informations from the camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Get Video Type.vi

Returns an IMAQ Vision image type, corresponding to the input video signal on the channel identified by CAM_ID.

input Video Signal type
IMAQ Vision Image Type
8 bits (PC-Vision/PC-Dig/PC-RGB)
8 bits grayscale
10 bits (PCDig Only)
16 bits grayscale
12 bits (PCDig Only)
16 bits grayscale
14 bits (PCDig Only)
16 bits grayscale
16 bits (PCDig Only)
16 bits grayscale
24 bits (PC-Dig/PC-RGB)
RGB
32 bits (PC-Dig/PC-RGB)
RGB

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID Out is an identifier for the selected port/camera.

Image Type Out is the IMAQ Vision image type required, for transfering a frame from the input video signal.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Snap.vi

 

Acquires a single frame into an IMAQ Vision image buffer. A “Snap” is the most basic acquisition mode and is appropriate for low-speed or single-shot image capture.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Image In is the IMAQ Vision image which will receive the captured image from the board.

Optional Rectangle allows you to specify only a region of the image to be captured. It is defined by an array of 4 elements [Left, Top, Right, Bottom]. If not connected or empty, the entire image frame is captured.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Image Out returns the captured image from the board.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Grab Start.vi

 

A “Grab” is a continuous, high-speed acquisition of images to at least one buffer in memory. This Vi initializes a grab acquisition and starts capturing the images to internal software buffers. Each call to this Vi, must be following by a call to “CORECO_Grab_Stop.vi”, before you exit the application.

Note: A “Grab” acquisition with more than one buffer is also called “Ring” acquisition.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Optional Rectangle allows you to specify only a region of the image to be captured. It is defined by an array of 4 elements [Left, Top, Right, Bottom]. If not connected or empty, the entire image frame is captured.

Nb Buffers is the number of internal software buffers to use for the continuous acquisition. Of course there must be at least one buffer for this acquisition mode.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Grab.vi

 

This Vi copies the last captured image, from a software internal buffer to an IMAQ Vision image buffer. You can call this Vi after a previous call to “CORECO_Grab_Start.vi”. This Vi can be call multiple times. When you no longer need to grab images, you must call “CORECO_Grab_Stop.vi” to stop acquisition and dispose internal buffers.

Note: A “Grab” acquisition with more than one buffer is also called “Ring” acquisition.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Image In is the IMAQ Vision image which will receive the last captured image from the board.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Image Out returns the captured image from the board.

Grab Stats returns statistics about the current grab acquisition :
- Last Frame Acq : is the absolute number of the last frame acquired by the Grab/Ring acquisition.
- Nb Frames Missed: is the number of frames that the Grab/Ring acquisition missed, because the grab acquisition was unable to read a frame in time.
- Current: absolute number of the next frame to be captured.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Grab Stop.vi

 

Shuts down the continuous image acquisition started by a call to “CORECO_Grab_Start.vi”. You must call this Vi, at the end of your application, when you have previously called “CORECO_Grab_Start.vi”.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco Sequence.vi

 

Initiates the acquisition of a variable-length sequence of frames to multiple IMAQ Vision images. The sequence length will be equal to the number of elements in the input array “Images In”.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Optional Rectangle allows you to specify only a region of the image to be captured. It is defined by an array of 4 elements [Left, Top, Right, Bottom]. If not connected or empty, the entire image frame is captured.

Images In is an array of IMAQ Vision images.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Images Out returns the captured sequence images.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

Coreco LUT.vi (Look Up Table)

Selects a pre-defined look-up table (Linear, Flood, Invert, Offset, Threshold, RGB To HSI).

Input connectors:

CAM_ID In is an identifier for the selected port/camera (channel 1-4).

Lut Id Specifies the operating LUT.

Pre-defined LUT is the pre-defined LUT name to apply
- "Linear" sets the LUT to achieve a linear (origin intercept) function.
- "Flood" sets the LUT such that all inputs map to the value corresponding to "LUT Param".
- "Invert" sets up LUT for an invert function by inverting pixel values.
- "Offset" sets up LUT for an offset function. A constant (offset) is added to all pixel values.
- "Threshold" sets up LUTs for a threshold function. Pixel values below a certain threshold (corresponding to "LUT Param"), are mapped to the threshold value.

LUT Param is an extra parameter used for Flood, Threshold and Offset pre-defined LUT.

LUT Portion specifies portion of LUT to map pre-defined values to.
- "Low Byte" deposits values in the lower 8 bits of LUT
- "High Byte" deposits values in the upper 8 bits of LUT
- "Full" deposits values in full bit width of LUT
- "Intelligent" deposits values intelligently based on camera pixel size and other attributes.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-Vision Specific Vi's

PC-Vision Trig Start.vi

 

Locks the active camera until “PCVISION_Trig_Stop.vi” is called.

Note: this function is supported by PCVISION hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-Vision Trig Stop.vi

 

Unlocks the active camera (previously locked by “PCVISION_Trig_Start.vi”).

Note: this function is supported by PCVISION hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-Vision Trig Snap.vi

 

Snaps a single triggered image. “PCVISION_Trig_Wait.vi” must be called shortly after this function.

Note: this function is supported by PCVISION hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Trigger Source In is the source channel of the trigger event.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-Vision Trig Wait.vi

 

Waits for a trigger event to occur.

Note: this function is supported by PCVISION hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Timeout (ms) is the time in ms to wait for trigger.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-Vision Trig Read.vi

 

Reads a triggered image with the specified “Optional Rectangle” properties and writes to “Image In”.

Note: this function is supported by PC-VISION hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Optional Rectangle allows you to specify only a region of the image to be captured. It is defined by an array of 4 elements [Left, Top, Right, Bottom]. If not connected or empty, the entire image frame is captured.

Image In is the IMAQ Vision image which will receive the triggered image from the PCVision board.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Image Out returns the triggered image captured from the PCVision board.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-DIG Specific Vi's

PC-DIG Get Camera Attribute.vi

 

This Vi gives you access to the PC-DIG specific attributes (taps geometry, camera timing, etc…). This Vi outputs the value corresponding to input parameters “PC-DIG Attribute” and “CAM_ID” (Board channel 1-4).

Note: this function is supported by PC-DIG hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Attribute is a PC-DIG attribute, (“Image Geometry”, “Pixel Clock”, etc…).

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Attribute Value is the value corresponding to input connector “PC-DIG Attribute”.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-DIG Set Camera Attribute.vi

 

Changes a PC-DIG attribute.

Note: this function is supported by PC-DIG hardware only.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Attribute is a PC-DIG attribute, (“Image Geometry”, “Pixel Clock”, etc…).

Attribute Value is the value of the input connector “Attribute”.

Error in is a LabVIEW cluster error.

Output connectors:

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-DIG Set Trigger.vi

 

Note: This function is only supported by PC-DIG hardware.

This function sets a triggered grab operation.
You must call this function prior to starting a triggered grab operation. You must generate a trigger event for each frame to grab. You should call this function with "Trigger event" set to "Disable" when you stop a triggered grab acquisition.

Input connectors:

Board_ID In is the identifier of the PC-DIG Board.

CAM_ID In is an identifier for the selected port/camera.

Trigger source type is the type of the input trigger (TTL, Differential, Opto-coupled).

Trigger polarity sets the trigger polarity to either "Falling" or rising "edge".

Trigger Source is the source of the input trigger events.

Error in is a LabVIEW cluster error.

Output connectors:

Board_ID Out is the identifier of the PC-DIG Board.

CAM_ID out is an identifier for the selected port/camera.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 

PC-RGB Specific Vi's

PC-RGB Set Trigger.vi

 

Note: This function is only supported by PC-RGB hardware.

This function sets a triggered grab operation.
You must call this function prior to starting a triggered grab operation. You must generate a trigger event for each frame to grab. You should call this function with "Trigger event" set to "Disable" when you stop a triggered grab acquisition.

Input connectors:

CAM_ID In is an identifier for the selected port/camera.

Trigger Enable enables\disables the trigger.

Trigger source type is the type of the source input trigger (Software, TTL0...TTL3,).

Trigger polarity sets the trigger polarity to either "Falling" or rising "edge".

Error in is a LabVIEW cluster error.

Output connectors:

Board_ID Out is the identifier of the PC-DIG Board.

Error Out is a LabVIEW error cluster returning the message and the code of the current error.

 


Home page | Products | Quotation

© 2000-2005 Alliance Vision. All rights reserved.