C4 - Application Note. AutoStart. Rev 1.0. AT - Automation Technology GmbH

Similar documents
CX Firmware Release Notes

Table of Contents. Getting Started. Automation Technology

AcquisitionApplets. User Documentation. Acq_SingleCLHSx2AreaRAW for microenable 5 marathon AF2

Test Applet. User Documentation. FrameGrabberTest for microenable 5 AQ8-CXP6B

Test Applet. User Documentation. FrameGrabberTest for microenable 5 marathon AF2

AcquisitionApplets. User Documentation. Acq_DualBaseAreaRGB for microenable 5 marathon/lightbridge VCL

Bandwidth under control with IDS GigE Vision cameras

AcquisitionApplets. User Documentation. Acq_SingleFullAreaBayer for microenable 5 marathon/lightbridge VCL

INTERNAL USE ONLY (Set it to white if you do not need it)

User s Guide Laser Triangulation with LXG VisualApplets Cameras

Using USB3 Vision Cameras with National Instruments' Vision Acquisition Software

CONSEQUENCES RESULTING FROM SYSTEM FAILURE, FALSE TRIGGERING OR MISUSE OF THIS FEATURE ARE THE SOLE RESPONSIBILITY OF THE USER.

Hardware Reference Manual

C5 Series. User Manual. for High Speed 3D Sensors. Rev 1.1 AT - Automation Technology GmbH

Release Notes Coaxlink Driver 3.2

Hardware Reference Manual

Specim FX cameras Application Note

Independent and future-proof: decoupling of hardware and software through image abstraction

3D Machine Vision made easy

Hardware Reference Manual

Runtime Software Version 5.5.1

Independent and future-proof: decoupling of hardware and software through image abstraction

Independent and future-proof: decoupling of hardware and software through image abstraction

ANPR ACCESS ANPR ACCESS HD

DIVIINA LM1 Line Scan Camera. DIVIINA LM1 Camera User Manual

Version 1.0. FWUpdate Module. V1.0 April 06, 2018 Page 1 of 15

Application Note. Integrating an Automation Technology 3D camera

EoSens Cube6&7 and mini1&2 HighSpeed Memory Camera With GigEVision Interface

GigE Area Scan Camera

License, Rules, and Application Form

Silicon Software Interface Library for NI LabVIEW. Installation and User Guide Version 2.0

Hardware Reference Manual

Artemis SDK. Copyright Artemis CCD Limited October 2011 Version

Introduction to 3D Machine Vision

Improving the 3D Scan Precision of Laser Triangulation

GenICam GenTL. Standard Features Naming Convention

Hardware Reference Manual

Video capture using GigE Vision with MIL. What is GigE Vision

Help Manual Rev C3-Explorer. Automation Technology GmbH

Software Installation Instructions. ISG LightWise IQ GigE Vision Cameras. VT ISG LightWise IQ

AET60 BioCARDKey. Application Programming Interface. Subject to change without prior notice

Problem 7. Problem 8. Problem 9

OSEK/VDX. Communication. Version January 29, 2003

Modbus Remote Communication Protocol for REM 54_. Technical Description

MC408X CAMERA MANUAL HIGH SPEED HIGH RESOLUTION

IPdisplays Why US? or

Yokogawa Controller Driver PTC Inc. All Rights Reserved.

edamis Web Forms for sending data to Eurostat

FeliCa Card User's Manual Excerpted Edition

ArduCAM USB Camera Shield

Lumio Release Note Lumio Multi-Touch Communication Protocol

Coyote. Software Guide

APPLICATION NOTE Compatibility of Basler Cameras with Third-Party Software Libraries

New CMOS and CCD Cameras for 2013

Application Note. Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date:

SCD - Scorpion Camera Drivers Specification Documentation

GigE Vision Cameras. Key Features. Dimension (Unit : mm) Pin map (H/W Rev 2.0 이상 ) LED Indicator. back Pannel. Download (File name)

Modbus RTU/TCP Installation and Programming Guide PC3400 Particle Counter

Smart robotics for high added value footwear industry Deliverable

Color 7 click. PID: MIKROE 3062 Weight: 19 g

Functional Guide Coaxlink Driver Version 4.1

Karmin2 Stereo Camera

DCAMAPI Library for LabVIEW

APPLICATION NOTE. Basler Low Resolution Cameras: CCD to CMOS Migration Guide

USBoard. Operating Manual. Version November USBoard-OperatingManual Neobotix GmbH all rights reserved 1 of 25

ivu Plus BCR Communications Instruction Manual

Basler. Aegis Electronic Group. Fully Digital, Attractively Priced

RFC: connectionless Data Link Metalanguage Burkhard Daniel

Integrating the Automation Technology C- series cameras

SCD-0002 Basler Pylon Area Documentation

OEM API Specification

Aimetis Crowd Detection. 1.x User Guide

Register Map for the CIO-DAS-TC

/14/14 Fixed an issue with tm_waitnextframe when setting an exposure greater than 5 seconds.

3 No-Wait Job Shops with Variable Processing Times

FLOWgate500. Software Manual. Software Manual FLOWgate500 Release 2.2. Revision number: V2.2. Manufacturer: SICK AG. Erwin-Sick-Str.

Mitsubishi FX Net Driver PTC Inc. All Rights Reserved.

PHYTEC-USB-CAM Series communication protocol

MC258X CAMERA MANUAL HIGH SPEED HIGH RESOLUTION

3D Measurement and Control, Made Easy

EM24_E1. (Ethernet) COMMUNICATION PROTOCOL. Version 0 Revision 1.2

User Manual PCIE-1172/1174. Reference Manual

CC-Link IE Field Network / PROFINET coupler specification

Technical Information Manual

Basler. Fully Digital, Attractively Priced

EtherNet /IP User Guide

Analog Devices Driver Kepware, Inc.

ACTIVITYDETECTION 2.5

Measurements using three-dimensional product imaging

ArduCAM USB Camera C/C++ SDK

AUTO FOCUS MODULE CUSTOM CAMERAS FOR MASS PRODUCTION APPLICATIONS USER GUIDE

How to acquire images in NI Vision Builder AI from an ueye

SwitchLinc 2-Wire Dimmer (RF Only) (2474DWH - Dev 0x01 / Sub 0x24)

CAN / RS485. Product Description. Technical Reference Note. Interface Adapter. Special Features

Using USB3 Vision Cameras with HALCON 11 in Windows

GM8126 SCALER FOR VIDEO GRAPHIC

AET60 API version 1.4 February Introduction...3 Features...3 Application Programming Interface...4

Use of the application program. Contents overview. Gamma instabus Application program description. November 2016

Release Date July 12 th 2013

Camera control software GigaCam

Transcription:

C4 - Application Note AutoStart Rev 1.0 AT - Automation Technology GmbH

Page 2 of Table of Content Table of Content... 2 Introduction... 3 Evaluation Platform... 3 The AutoStart Mode... 4 The AutoStart Condition... 5 The AutoStart Parameters... 6 SequencerMode ( AutoStart )... 7 AutoStart... 7 AutoStartThreshold... 7 AutoStartNumPixel... 8 AutoStartOption... 8 AutoStartBufferOption... 10 The AutoStart Dependencies and Limitations... 11 The AutoStart History Buffer... 11 History buffer handling... 13 Column Evaluation Mask... 14 Document Revision...

Page 3 of Introduction This application note describes how to use the new AutoStart function of C4-1280-GigE (Firm. Rev. 1.4.1 or higher) and C4-2040-GigE (Firm. Rev. 1.2.2 or higher). Evaluation Platform To evaluate each new camera function we strongly recommend using the CX-Explorer due to the best way for configuration and test purposes. Please make sure that you have installed CX-Explorer version 2.0.0 or higher. Please visit the official online support portal to download the latest version of CX-Explorer. http://www.automationtechnology.de/sales/ Alternatively please contact the official Automation Technology GmbH Support: support3d@automationtechnology.de

Page 4 of The AutoStart Mode This section describes the main concept behind the AutoStart mode and its implementation for optimum usage. For typical inline inspection systems it is very common to use light barrier for automatic object detection. This has the benefit that the camera will only grab images, when an object is inside the measurement area. However the use of light barriers requires additional hardware and installation as well as higher costs and maintenance. To eliminate this addidional effort the new camera firmware supports the AutoStart mode, which internally simulates a light barrier mechanism without the use of any additional mechanical and electrical components. The figures below demonstrate the difference between a typical inline inspection system with a light barrier and one with the AutoStart function. Sequencer Mode with light barrier over IN1 Sequencer mode with AutoStart Figure 1: Triangulation based inline inspection system with light barrier (left) and AutoStart (right) The AutoStart mode automatically detects the object and triggers the image acquisition to scan the whole object. Furthermore, the AutoStart mode has the option to deliver profile data out of the history buffer, i.e. data which were captured before the initiation of the start trigger and therefore guaranteeing a complete scan. This is very useful when the transition around the geometrical features of the object, which trigger the AutoStart is important.

Page 5 of The AutoStart Condition This section describes how the AutoStart mode detects the start condition and initiate the start trigger for the profile acquisition. The idea for the AutoStart mode is that the laser line will move inside a predefined sensor Area Of Interest (AOI) and it will become visible from the camera. The laser line position and the number of valid position values are used as indicators to decide whether a start trigger should be initiated or not. This gives full control over the start trigger. Furthermore, the trigger can be activated at any desired position. The validation parameters of it can be defined by the user. In simple terms the Autostart mode can handle three different situations. In the first case no laser line is visible in the selected AOI, thus the camera is in an idle state and does not transfer any 3D data to the host (PC). The second case simulates the common Sequencer Start mode that is normally performed by a light barrier (e.g. over digital input IN1). Once the laser line is visible inside the AOI and produces valid position values (>0), the camera will capture profiles and transfer these profiles as 3D frames to the host. The host application receives valid camera frames and applies the image processing. The third case simulates a smart light barrier where the user is able to define a specific position inside the AOI at which the start impulse is generated. In this situation the user has full control over the acquisition start and the position values of the first profiles. Case I No laser line is visbile inside the AOI. Consequently no frames are captured and transmitted to the PC. Case II Profile acquisition will start as soon as laser line becomes visible inside the AOI. The start trigger is generated immediately. Case III Acquisition will start at a specific position, which is pre-defined by the user. Full control over the start trigger.

Page 6 of The AutoStart Parameters To fulfil the AuoStart condition additional parameters for the AutoStart mode are included into the GenICam camera description file as shown in the following table: Name Type Visibility Description SequencerMode ( AutoStart ) IEnumeration Beginner Symbolic Value AutoStart. Start over AutoStart condition. AutoStart ICategory Beginner Features related to AutoStart AutoStartThreshold IBoolean Beginner Defines the threshold position within AOI. Valid numbers are for AbsolutePosition = FALSE : 0 to AOI- Height or for AbsolutePosition = TRUE : 0 to Sensor-Height AutoStartNumPixel IInteger Beginner Minimum number of valid laser positions within AOI required to trigger the Autostart AutoStartOption IInteger Beginner PosLessThanAutostartThreshold: Start when laser position is lessthan AutoStartThreshold PosGreaterThanAutostartThreshold: Start when laser position is greaterthan AutoStartThreshold AutoStartBufferOption IInteger Beginner Defines whether the history buffer should be transmitted as first frame or not: -none -HistoryBuffer These parameters are also accessible over the XML-Window of the CX-Explorer. Figure 2: AutoStart parameters in the XML-window of the CX-Explorer

Page 7 of SequencerMode ( AutoStart ) The AutoStart mode must be activated over the SequencerMode. The symbolic value AutoStart will set the AutoStart as the relevant feature to control the sequence. Without setting the SequencerMode to AutoStart all relevant AutoStart parameters are locked and not accessible over the GenICam access. AutoStart The AutoStart category includes all relevant parameters for the AutoStart mode. The AutoStartThreshold, AutoStartNumPixel and AutoStartOption parameters are required for the start condition. If each condition of these parameters is fulfilled, then the start condition is fulfilled too and the start trigger for the acquisition process is initiated. If(AutoStartThreshold && AutoStartNumPixel && AutoStartOption) START ELSE WAIT END AutoStartThreshold The AutoStartThreshold parameter defines the laser line position inside the AOI for which the AutoStart condition is fulfilled. For this purpose the laser line position (without sub pixel accuracy) is taken into account. Hence the valid threshold value lies in the range of 0 to AoiHeight. In case of using the option AbsolutePosition (category CameraControls ModeAndAlgorithmControls - AbsOffsetPos), the threshold value must include the AoiOffsetY value too. The following figure shows the relation between AbsolutePosition and the AutoStartThreshold value. AbsolutePosition = FALSE AbsolutePosition = TRUE Figure 3: Relation between AbsolutePosition and AutoStartThreshold

Page 8 of The following example shows how to set the correct AutoStartThreshold value with respect to the AbsolutePosition in a numerical way. AoiHeight: 50 AoiOffsetY: 800 Requirement: AutoStartThreshold should be located in the center of the AOI. AutoStartThreshold = 800 + 50/2 = 825 AutoStartThreshold = 50/2 = 25 (Absolute Position = TRUE) (Absolute Position = FALSE) AutoStartNumPixel In additio to the laser position, which is defined by the AutoStartThreshold, the number of valid laser positions can be taken into account to control the start condition for the AutoStart. This is performed by means of the AutoStartNumPixel parameter. The behavior of this parameter is similar to the known AoiTrackingMinNumPixel node from the AoiTracking mode (see C4 Application Note for AOI-Search and AOI-Tracking). As long as the position values of each captured profile do not exceed the number of AutoStartNumPixel, the camera will remain in the idle state and no start trigger will be generated. AutoStartOption The AutoStartOption parameter defines the valid range of laser line position. Thus the AutoStartThreshold value defines the border of this range and the AutoStartOption defines whether the range is above or below this threshold value. The following symbolic values are available for the AutoStartOption: PosLessThanAutoStartThreshold PosGreaterThanAutoStartThreshold Figure 4: AutoStart range

Page 9 of The above figure shows the two different AutoStart ranges, which are defined by the PosLessThanAutostartThreshold and PosGreaterThanAutoStartThreshold. In case that the AutoStartOption is set to PosLessThanAutoStartThreshold, the start trigger is generated, when the laser line position is less than the AutoStartThreshold value. In case that the AutoStartOption is set to PosGreaterThanAutoStartThreshold, the start trigger is generated, when the laser line position is greater than the AutoStartThreshold. The following examples present a detailed description of the AutoStartOption with respect to the start trigger. Example#1: The figure below shows a line plot of a single profile. In this case the laser line position is less than the AutoStartThreshold and the number of pixel that belongs to the laser line is more than the AutoStartNumPixel. Figure 5: Line plot of a single profile This case will cause two different AutoStart behaviours that depend on the AutoStartOption parameter: IF (AutoStartOption == PosLessThanAutoStartThreshold) AutoStart status: START impulse is executed, profile acquisition and frame transmission to PC. IF (AutoStartOption == PosGreaterThanAutoStartThreshold) AutoStart status: WAIT, internal profile acquisition but no frame transmission to PC.

Page 10 of Example#2: The figure below shows a line plot of a single profile. In this case the laser line position is greater than the AutoStartThreshold and the number of pixel that belongs to the laser line is more than the AutoStartNumPixel. Figure 6: Line plot of a single profile This case will cause two different AutoStart behaviours that depend on the AutoStartOption parameter: IF (AutoStartOption == PosLessThanAutoStartThreshold) AutoStart status: WAIT, internal profile acquisition but no frame transmission to PC. IF (AutoStartOption == PosGreaterThanAutoStartThreshold) AutoStart status: START impulse is executed, profile acquisition and frame transmission to PC. AutoStartBufferOption The AutoStartBufferOption parameter has two symbolic values: none HistoryBuffer This parameter enables the access of pre-acquired profiles, which were captured before the initiation of start trigger. Further information about this option is available in the main chapter The AutoStart History Buffer.

Page 11 of The AutoStart Dependencies and Limitations The AutoStart mode is a very powerful and smart SequencerMode. However not all special C4 functions are supported in combination with the AutoStart. Therefore the AutoStart does not work in combination with following modes and functions. 2D Image Mode (IMG) NDR Mode Furthermore, in case of using multiple AOIs, the relevant AOI for the Autostart evaluation is always the first AOI (AoiSelctor = 1). The AutoStart History Buffer The profile that is first acquired after the AutoStart condition is fulfilled is called trigger profile. The latter is only available in the history buffer, which is transmitted to the PC when the AutoStartBufferOption is set to HistoryBuffer. In addition to the trigger profile the history buffer includes also all pre-acquired profiles, i.e. profiles that are internally used for AutoStart evaluation. The number of pre-acquired profiles depends on the frame size and the time period between the first internal profile acquisition and the final trigger profile. If the profile acquisition before the trigger profile is required, then the AutoStartBufferOption parameter must be set to the symbolic value HistoryBuffer. The AutoStartBufferOption has two symbolic values: none HistoryBuffer If the profile acquisition only after the start trigger is required, then the history buffer can be disabled by setting the AutoStartBufferOption to none. In 3D mode the camera uses three internal buffers to simultaneously capture profiles and transmits 3D frames to the PC. The history buffer is one of these buffers and each buffer has the same size as the total required profiles per frame. The history buffer is used to store the temporal profiles, which are captured during the idle state, i.e. the state in which the camera continuously acquires profiles used for the AutoStart condition evaluation. When one of these profiles fulfils the AutoStart condition, then it is tagged as trigger profile and the camera will start with the frame transfer. The following figure shows the internal use of each camera buffer during the AutoStart beginning. Depending on the AutoStartOption (history buffer on/off) the first frame (Buff#1) is discarded or not.

Page 12 of Figure 7: Relationship between internal camera buffer and history buffer The size of the history buffer is limited. Consequently after a specific number of acquired profiles all free memory is reserved. When the buffer is full, then it starts overwriting the oldest data. In this case a flag in the chunk data is set to indicate whether old data are overwritten or not. Overwriting means that all profiles inside the buffer are valid and represents the intersection between idle state and start. History before and after trigger profile Time msizeyreal Time unused no valid data msizeyreal History only before trigger profile Figure 8: Timing and overwriting behavior for the history buffer The description of the chunk data is as follows: typedef struct _GV_ChunkImageInfo { unsigned int msizeyreal; unsigned int numchunkacqinfo; unsigned int flag; } GV_ChunkImageInfo; // number of valid profiles // flag for indicating overrun status #define CHUNKIMAGEINFO_FLAG_BIT_BUFFER_OVERRUN 0x04

Page 13 of The msizeyreal value indicates the number of valid profiles from the total 3D frame. In the ideal case the number is equal to the ProfilesPerFrames camera parameter, which means that all data are valid. The flag contains all information with respect to the trigger status and image info. Therefore each bit is reserved for different information. The information about the AutoStart and buffer overrrun condition is defined as CHUNKIMAGEINFO_FLAG_BIT_BUFFER_OVERRUN. History buffer handling Without the use of chunk mode of the camera it is not possible to take advantage of the history buffer option. Therefore the chunk mode must be always activated in combination with the usage of the history buffer. The chunk data are required to sort the profiles in the right order. This would be necessary in case of buffer overrun. To simplify the work with the chunk mode and AutoStart mode a C++ example (using Common Vision Blox as image acquisition interface) is provided to demonstrate how to sort the profiles to get a complete 3D scan of an object in the right order. Therefore the tool is able to capture a pre-defined number of frames and concatenate all frames (including the history buffer) to a final 3D frame. This final frame is saved as an image file in TIFF format. The following two images show the result of a 3D scan with and without history buffer option. AutoStart without History Buffer Autostart with (sorted) History Buffer History Buffer

Page 14 of Column Evaluation Mask The Column Evaluation Mask is a feature enabling to control the operation of the AutoStart mode. It defines which sensor columns shall be considered as valid for the AutoStart and which should be masked out and excluded from the evaluation. The use of the Column Evaluation Mask is always required in configurations with AOI width smaller than SensorWidth. Because the AutoStart is performed in the entire sensor width, it is necessary to use the Column Evaluation Mask in order to mask out the sensor columns outside the AOI. The camera firmware supports two different ways to configure the Column Evaluation Mask. The first one is an XML-based description of different functions, which belongs to the Column Evaluation Mask. Therefore an own category is included into the GenICam camera description file. The big advantage of a standardized feature access via XML is that every 3 rd -party software library is able to control these functions due to the fact that they are included and defined as GenICam feature nodes. The next figure shows the graphical representation of these GenICam XML-nodes. Figure 9: ColumnEvaluationMask settings represented as XML-view for GenICam access The following tree structure defines the location of the Column Evaluation Mask features inside the XML-View. Device Camera Controls Mode and Algorithm Controls Column Evaluation Mask The GenICam name and description of all ColumnEvaluationMask nodes is listed in the table below: Name Type Visibility Description ColumnEvaluationMask ICategory Beginner ColumnEvaluation Category. It is a global mask and valid for all functions (AOI-Tracking, AOI-Search, AutoStart) ColRangeStart IInteger Expert Column start index ColRangeEnd IInteger Expert Column end index ColRangeEnableCommand ICommand Expert ENABLE all columns of interval [ColRangeStart, ColRangeEnd]

Page 15 of ColRangeDisableCommand ICommand Expert ColRangeActivate ICommand Expert DISABLE all columns of interval [ColRangeStart, ColRangeEnd] Activate complete ColumnEvaluationMask and write data into flash memory Another way to modify the column evaluation mask is to directly write and read over the GenICam File Access Control. The File Access Control 1 describes all features related to accessing files in the camera. It contains the definition of a generic file access schema for GenICam compliant devices. Figure 10: File Access Control settings represented as XML-view for GenICam access The following tree structure defines the location of the File Access Control features inside the XML-View. Device File Access Control The file selector ColStatisticBits is used to read/write the Column Evaluation Mask in order to reserve the required memory space into the persistent camera memory. Software solutions, like CommonVisionBlox 2 (CVB) from Stemmer Imaging, provide easy access over their own GenICam File Access Control implementation. For example the following CVB functions can be used to read/write the Column Evaluation Mask from/to the camera: NMDownloadFileMemory Downloads a file from the device which is present in the GenICam::FileSelector and saves it to memory. NMUploadFileMemory Uploads a file to the device which is present in the GenICam::FileSelector and loads it from memory. 1 The File Access Control features are summarized in the GenICam Standard Feature Naming Convention (SFNC) http://www.genicam.org 2 http://www.commonvisionblox.com/

Page 16 of The size of each Column Evaluation Mask depends on the sensor width, which is different between C4-camera models (C4-1280-GigE, C4-2040-GigE, C4-2350-GigE, C4-4090- GigE). Each Bit represents a single sensor column, which means that the total number of bytes for one column evaluation mask is defined as: Column Evaluation Mask 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 LSB ColRangeEnd ColRangeStart ColRangeEnable Figure 11: Column Evaluation Mask is enabled for shaded area

Page of Document Revision Rev. Nr. Date Modification 1.0 19.09.2012 First draft 1.1 Renamed ChunkImageInfo flag to CHUNKIMAGEINFO_FLAG_BIT_BUFFER_OVERRUN