Trigger-to-Image Reliability (T2IR)



Similar documents
Basler. Line Scan Cameras

Frequently Asked Questions About VisionGauge OnLine

Basler beat AREA SCAN CAMERAS. High-resolution 12 MP cameras with global shutter

Understanding Line Scan Camera Applications

SoMA. Automated testing system of camera algorithms. Sofica Ltd

The Dusk of FireWire - The Dawn of USB 3.0

Overview. Proven Image Quality and Easy to Use Without a Frame Grabber. Your benefits include:

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

How To Use A Gigabit Network Camera With A Microsoft Memory Card With A Memory Card For A Microtune On A Microsatellite (Solar Microtron) With A Power Card On A Mini-Turbine (A

COGNEX. Cognex Vision Software. GigE Vision Cameras. User s Guide

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Industrial Vision Days 2012 Making Cameras Smarter: FPGA Based Image Pre-processing Unleashed

Cognex Vision Software

Basler racer. Line Scan Cameras. Next generation CMOS sensors with 2k to 12k resolution and up to 80 khz line rate

ebus Player Quick Start Guide

Industrial vision cameras CAMERA LINK DVI-D FULL HD CAMERA LINE

Network Imaging Package for Sapera LT

Understanding Video Latency What is video latency and why do we care about it?

APPLICATION NOTE. Getting Started with pylon and OpenCV

Basler scout AREA SCAN CAMERAS

inc.jet Software Solutions Design, Control and Monitor

Transfers Transfer rate sustains transfer rates up to 130 MB/sec between the acquisition section and the host PCI system

Using the NI 17xx Smart Camera Direct Drive Lighting Controller

Linear Motion and Assembly Technologies Pneumatics Service. Industrial Ethernet: The key advantages of SERCOS III

GETTING STARTED WITH LABVIEW POINT-BY-POINT VIS

Agilent Automotive Power Window Regulator Testing. Application Note

By Andrew Wilson, Editor

The Elements of GigE Vision

High speed pattern streaming system based on AXIe s PCIe connectivity and synchronization mechanism

Remote RadEye Product Family

APPLICATION NOTE GaGe CompuScope based Lightning Monitoring System

Nutaq. PicoDigitizer 125-Series 16 or 32 Channels, 125 MSPS, FPGA-Based DAQ Solution PRODUCT SHEET. nutaq.com MONTREAL QUEBEC

PackeTV Mobile. solutions- inc.

Baumer Industrial Cameras Innovative Vision Components for Automated Image Processing

Optimal Vision Using Cameras for Intelligent Transportation Systems

Advantages of the DNP3 Communications Protocol in Water and Wastewater Telemetry Systems. By Vishal Prakash

CHAPTER 2: USING THE CAMERA WITH THE APP

Prepared by: Paul Lee ON Semiconductor

What is An Introduction

Research-Grade Research-Grade. Capture

Continuity Monitoring of Audio, Video and Data in a Multi-Channel Facility David Strachan Evertz Microsystems, Ltd.

Network Scanning: A New Feature for Digital Copiers

HARDWARE ACCELERATION IN FINANCIAL MARKETS. A step change in speed

Agilent Technologies 3000 Series Oscilloscopes

Basler. Area Scan Cameras

Honeywell Video Analytics

Computer Vision. Image acquisition. 25 August Copyright by NHL Hogeschool and Van de Loosdrecht Machine Vision BV All rights reserved

Computer Graphics Hardware An Overview

Making Multiple Code Reading Easy. Webinar

Audio and Video Synchronization:

SNC-VL10P Video Network Camera

Note monitors controlled by analog signals CRT monitors are controlled by analog voltage. i. e. the level of analog signal delivered through the

What is the difference between an equivalent time sampling oscilloscope and a real-time oscilloscope?

Basler pilot AREA SCAN CAMERAS

High Speed, Real-Time Machine Vision. Perry West Automated Vision Systems, Inc.

ni.com/vision NI Vision

MONOCHROME RGB YCbCr VIDEO DIGITIZER

ECP & ECP240-32EX

How To Test Video Quality With Real Time Monitor

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

Debugging A MotoHawk Application using the Application Monitor

system monitor Uncompromised support for your entire network.

Presented By: Justin Cira MTech Company. Your future, Condition Assessment and Sewer Asset Management tool

Chapter 3 ATM and Multimedia Traffic

Experiments to Verify the rate-of-going of IOTA-VTI. Dave Gault

GigE Vision cameras and network performance

APPLICATION NOTE. Basler racer Migration Guide. Mechanics. Flexible Mount Concept. Housing

Recovery System C H A P T E R16. Practice Exercises

Basler dart AREA SCAN CAMERAS. Board level cameras with bare board, S- and CS-mount options

Matrox 4Sight GP. Industrial imaging computer with desktop-level performance and expansion. The right fit for machine vision or medical imaging

Replication on Virtual Machines

Go Faster - Preprocessing Using FPGA, CPU, GPU. Dipl.-Ing. (FH) Bjoern Rudde Image Acquisition Development STEMMER IMAGING

Keysight Technologies Using Fine Resolution to Improve Thermal Images. Application Note

Four Keys to Successful Multicore Optimization for Machine Vision. White Paper

Wireless Video Best Practices Guide

KPI, OEE AND DOWNTIME ANALYTICS. An ICONICS Whitepaper

May 2013 Color Sense Trilinear Cameras Bring Speed, Quality

Read this before starting!

Technical Brief. Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output. April 2008 TB _v01

AXIS Camera Station Comprehensive video management software for monitoring, recording, playback and event management

How To Install A Basler Aviator Gige Camera

Loop Bandwidth and Clock Data Recovery (CDR) in Oscilloscope Measurements. Application Note

Building a Simulink model for real-time analysis V Copyright g.tec medical engineering GmbH

Milestone Edge Storage with flexible retrieval

CATC Multi-Protocol Analyzer (MPA) Reference Manual

Vibrations can have an adverse effect on the accuracy of the end effector of a

Jorix kernel: real-time scheduling

How To Make A Car A Car Into A Car With A Car Stereo And A Car Monitor

High speed infrared camera for contactless temperature measurement on rotating tires

CONFIGURATION GUIDELINES: EMC STORAGE FOR PHYSICAL SECURITY

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Empress Embedded Database. for. Medical Systems

KS732 Family. Rev KS732. 1/3 CCD Color USB Camera

Application Note. EtherCAT Master Architecture. Applicable Products: Yaskawa Servodrives with CANopen over EtherCAT

PIKA HMP 3.0 High Level API Programmer's Guide

IP Video Surveillance

Freescale Semiconductor, I

Design Patterns for Large Scale Data Movement. Aaron Lee

2big Quadra ENTERPRISE CLASS. Professional 2-Disk RAID DESIGN BY NEIL POULTON. esata 3Gb/s FireWire 800 & 400 USB 2.0

An Embedded Based Web Server Using ARM 9 with SMS Alert System

Transcription:

sensors cameras frame grabbers processors software vision solutions TECHNOLOGY PRIMER Trigger-to-Image Reliability (T2IR) Learn more about: What is Trigger-to-Image Reliability (T2IR)? Understanding T2IR with Sapera TM Essential Framework Acquiring the Right Target Image Triggers The Importance of Time Stamps Monitoring the Acquisition Process in Host Memory The Sapera Monitor Tool When the System Cannot Process Images Fast Enough Ensuring Data Quality

Sapera s Trigger-to-Image-Reliability Framework Machine vision systems are being used for quality control (inspection) and guidance in a variety of manufacturing industries, including wood, paper, pharmaceutical, medical device manufacturing, automotive, electronics and semiconductors. Original equipment manufacturers (OEMs) that develop machine vision systems built upon DALSA s products strive to produce solutions that are robust enough to withstand even the harshest industrial manufacturing environments and to deliver reliable results under a variety of operating conditions. Designing highly reliable and robust machine vision systems is not an easy task. Engineers at DALSA have implemented Trigger-to-Image reliability in the company s vision boards and cameras, this includes the Xcelera series, the X64 and PC2-Vision Series and the Genie camera family. This article discusses the relevance of Trigger-to-Image Reliability, its various aspects and how it benefits OEMs and end users alike. 1. What is Trigger-to-Image Reliability? Trigger-to-Image Reliability ensures highly reliable acquisition control throughout the image capture and processing sequence, from the time that a trigger is fired (part in place), to the time the image is transferred to the host computer for processing, to the time a decision is made to accept or reject the part. This level of dependability is accomplished by integrating various image acquisition control functions - including trigger inputs, strobe outputs, camera control signals and external I/O - onto onboard hardware and using software API functions for command and control. 2. Sapera Trigger-to-Image Reliability Framework 2.1 Acquiring the Right Target Image (Sapera offers Trigger/ Strobe Control with support for Programmable Delay Timers on Strobe and Trigger signals) DALSA has incorporated various camera control functions into the design of its machine vision frame grabbers. A good starting example is the integration of the trigger and strobe control functions into onboard hardware. This sounds simple enough: a trigger input generates a strobe output for lighting control and camera exposure. However, there are circumstances in which a delay between the trigger input and the strobe output is required; for example, if the camera and lighting units are not in the same position on the conveyor as the trigger sensor. Coordinating these two events through software (especially given the variations in command execution of the Windows operating system) is almost impossible and certainly not reliable. Therefore, DALSA has incorporated programmable delay timers between these two signals. The delay timers give developers a mechanism for establishing a deterministic delay between the trigger input and firing of the lighting and camera exposure. However, this amount of programmed delay is predicted based on the theoretical speed of the production line. If the actual speed is not constant (which is a common occurrence), then the camera will not acquire the target properly. Therefore, another feature of the integrated trigger and strobe mechanism establishes the delay according to shaft encoder ticks, i.e., linking the delay to the actual speed of the production line. Not only is the delay deterministic, it is fixed to the location of parts on the production line, regardless of how fast they are moving. Through these and other hardware features, the first aspect of Trigger-to-Image Reliability is achieved: the camera is properly controlled to capture the image of the target being inspected. Of course, these hardware features are under software control, but, once initialized, they act independently of any software execution, leading to deterministic results. Code Definitions acqboard is a SapAcquisition object defining the acquisition resource on the DALSA framegrabber acqcameradevice is a SapAcqDevice object defining the acquisition device like the Genie camera acqbuffer is a SapBufferWithTrash object defining the host buffer acqtobuf is the SapTransfer object defining the connection between the acqboard/acq CameraDevice node & the acqbuffer Sapera T2IR Framework Example Implementation of Delay Timers on DALSA Framegrabbers: //sets the ext. trigger delay acqboard.setparameter(coracq_prm_ext_trigger_delay, TRIGDELAYVAL ); //sets the strobe delay in microseconds acqboard.setparameter(coracq_prm_strobe_delay, STROBEDELAYVAL); Sapera T2IR Framework Example Implementation of Delay timers on the DALSA Genie camera //sets the delay in micro seconds from external trigger to start of integration on the Genie acqcameradevice.setfeaturevalue( TriggerDelayToIntegration, TRIGDELAYVAL ); //sets strobe delay in microseconds acqcameradevice.setfeaturevalue( PulseDelayOutput_1, STROBEDELAYVAL); 02 Trigger to Image Reliability

2.2 Triggers (Sapera supports detecting Valid as well as Invalid Triggers) A reliable and repeatable mechanism for target acquisition onto the camera sensor can be obtained using the camera control features described above. What remains is the ability to read this data from the sensor and to transfer this data to the host computer for processing. The Trigger-to-Image Reliability capability incorporates control signals that enable sensor data to be read into the machine vision frame grabber. However, first we have to ask ourselves if we have handled all of the conditions that could potentially occur to make our system unreliable. Situations that can occur include too many triggers (as in false triggers), or triggers that follow too closely to one other and do not allow the system to read the sensor completely before the next exposure takes place. Trigger-to-Image Reliability handles these situations by notifying the host application of missed triggers through event callbacks. In such scenarios, the machine vision application is made aware of the missed trigger and can take appropriate action, such as flagging the error for a human operator to review. Sapera T2IR Framework Example Implementation of Monitoring Invalid Triggers Framegrabbers: SapAcquisition class is capable of generating callbacks when triggers occur too closely and hence need to be ignored.. //set callback fn for the SapAcquisition object acqboard.setcallbackinfo(acqcallback); //set the EventType for the SapAcquisition object acqboard.seteventtype(sapacquisition::eventexternaltriggerignored);. void AcqCallback((SapAcqDeviceCallbackInfo* pinfo) SapAcquisition::EventType eventtype; eventtype = pinfo->geteventtype(); //check if an external trigger was ignored if (eventtype & SapAcquisition::ExternalTriggerIgnored) ///flag error to human operator Sapera T2IR Framework Example Implementation of Monitoring Invalid Triggers on Genie Cameras: //Register callback on Invalid Trigger Event on the SapAcqDevice object acqcameradevice.registercallback( Invalid Trigger, AcqDeviceCallback, NULL); void AcqDeviceCallback(SapAcqDeviceCallbackInfo *pinfo) int eventindex; // Access information using functions of SapAcqDeviceCallbackInfo class pinfo->geteventindex(&eventindex); //retrieve EventName corresponding to eventindex char* eventname[100]; int eventnamesize=100; acqcameradevice.geteventnamebyindex( eventindex, eventname, eventnamesize); //if eventname is Invalid Trigger flag error to human operator or //execute appropriate handler. Trigger to Image Reliability 03

2.3 The Importance of Time Stamps (Sapera T2IR framework supports Time Stamping Images) While we have progressed to the point of detecting our targets, firing the strobes and camera when the target is in the right location and reading the correct data from the sensor, this is only the start of designing a reliable machine vision system. Another major issue is coordinating the collection of image data and correlating these images with physical objects moving through a material-handling system. To illustrate, let s use an example of a material-handling unit processing up to 3,600 parts per minute (ppm). The machine vision systems task is to inspect the surface of the manufactured good on all sides (four views). An additional constraint is that, due to the physical infrastructure of the machinery, not all four images can be acquired at the same physical spot, but are acquired individually as the target moves through the system. In this scenario, the imaging system must acquire 14,400 images per minute and correlate four different acquisition locations with the image data stream. And, as the object emerges from material handling, a decision must be made regarding whether to accept, reject or re-inspect the object. Trigger-to-Image Reliability introduces another very important concept designed to assist engineers in creating reliable and repeatable systems: the time stamp. A time stamp encodes a unique time code into the images.. This time code is generated either from an onboard hardware clock or is derived from shaft encoder ticks. The time stamp provides a direct correlation between the movement of the target through the system and the data being acquired. Since there is a time lag between image capture and analysis, the time stamp code ensures that the system acts on the correct target. Another useful feature of the time stamp is in the application of long or high speed image sequences. In this scenario, the time stamp between images can be analyzed to determine if an image was missed during a capture sequence. Sapera T2IR Framework Example Implementation Retrieving the Buffer Timestamp void XferCallback(SapXferCallBackInfo* pinfo) int counterstamp; //Retrieve time stamp of last acquired frame if (acqbuffer->getcounterstamp(&counterstamp) //subtracting counter stamp values for two buffer resources gives the amount of //time elapsed between a common reference point for their respective data transfers //and can be used to determine if an image was missed 2.4 Monitoring the Acquisition Process in Host Memory (The T2IR framework offers robust tracking of various Sapera Acquisition and Transfer Events through Windows Callback function and also supports Status Monitoring of Key Acquisition Signals) Now the machine vision system is capturing the right data and tracking objects throughout the cycle, and rejecting or accepting the right components. It is now time to transfer the image data from the onboard memory to system memory reliably. To implement this process, Trigger-to-Image Reliability delivers another set of software tools that ensures that all required images were captured accurately onto the frame grabber. Using the events described in the table below, the system designer can accurately monitor the capture and transfer sequence into system memory: Example Acquisition Related Events Event SapAcquisition::EventStartOfFrame SapAcquisition::EventStartOfField SapAcquisition::EventEndOfFrame SapAcquisition::EventEndOfField SapAcquisition::EventExternalTrigger SapAcquisition::EventFrameLost SapAcquisition::EventDataOverflow SapAcquisition::EventExternalTriggerIgnored Monitors Start of frame Start of any field (odd or even) End of frame End of any field (odd or even) Received an external trigger that will then acquire at least one image. The maximum callback rate cannot be greater than the acquisition video frame rate. Lost a frame during live acquisition. This usually occurs if there is not enough bandwidth to transfer images to host memory. Data overflow occurred during live acquisition. This usually occurs if the acquisition device cannot sustain the data rate of the incoming images. Dropped an external trigger event. This usually occurs when the external trigger rate is faster then the acquisition frame rate. 04 Trigger to Image Reliability

Example Transfer related Events Event SapXferPair::EventStartOfField SapXferPair::EventStartOfFrame SapXferPair::EventEndOfEven SapXferPair::EventEndOfFrame SapXferPair::EventEndOfTransfer SapXferPair::EventLineUnderrun SapXferPair::EventFieldUnderrun Monitors Start of field (odd or even) Start of frame End of even field End of frame End of transfer, that is, after all frames have been transferred following calls to SapTransfer::Snap or SapTransfer::Grab/SapTransfer::Freeze. The number of active pixels per line received from a video source is less than it should be. The number of active lines per field received from a video source is less than it should be. While setting Acquisition and Transfer events to be monitored by the application, one or more of the event values may be combined together using a bitwise OR operation. Through these events, the host application can monitor the target acquisition process from the time the object is in place to the time that the image resides in host memory. To assist the OEM in the monitoring process, each event is placed in the context of a specific channel, and is therefore related to one camera. Within each context (or channel), an index counter is maintained and incremented on each event. Therefore, if an index value is incorrect, the user can immediately knows that an error has occurred. In addition to these events the status of the following acquisition signals can be monitored in the host application. Availability of the status signals varies with the hardware used and this availability can be verified programmatically. The SapAcquisition::GetSignalStatus(..) function can be used to monitor these signals. Example Acquisition Signals whose Status can be monitored Signal SapAcquisition::SignalHSyncPresent SapAcquisition::SignalVSyncPresent SapAcquisition::SignalPixelClkPresent SapAcquisition::SignalChromaPresent SapAcquisition::SignalHSyncLock SapAcquisition::SignalVSyncLock SapAcquisition::SignalPoCLActive Description Horizontal sync signal (analog video source) or line valid (digital video source) Vertical sync signal (analog video source) or frame valid (digital video source) Pixel clock signal Color burst signal (valid for NTSC and PAL) Successful lock to an horizontal sync signal, for an analog video source Successful lock to a vertical sync signal, for an analog video source Power to the camera is present on the Camera Link cable 2.5 The Sapera Monitor Tool (As part of its T2IR framework Sapera provides The Sapera Monitor - An Interactive Easy-to-Use Tool for Event Monitoring) As part of our Trigger to Image Reliability framework, DALSA provides the Sapera Monitor Tool that allows users to view the acquisition and transfer events generated by an acquisition device in real-time. This is very useful since one can use the Sapera Monitor tool to debug applications and identify problems without having to code event handlers. The Sapera Monitor Window is divided into three panes: Device directory tree: displays the available acquisition devices to monitor Event table: displays the available events to monitor for the selected device Output Messages pane: displays the messages generated by the selected monitored events Trigger to Image Reliability 05

2.6 When the System Cannot Process Images Fast Enough (Sapera reliably tracks Occurrences of Trashed Frames) Let s jump back to the scenario of the machine vision system acquiring, processing and analyzing 14,400 images per minute. Proper system design dictates that a certain amount of over-capacity is built into the system to handle peak loads. In the case of a machine vision system, a peak load could occur while attempting to monitor system variables during image processing on thousands of images. Trigger-to-Image Reliability delivers peak load capacity through the concept of circular buffers. By depositing image data into the next available buffer within the circular buffer, multiple images within a context can be maintained. The worst-case scenario occurs when the system cannot process images quickly enough to open buffer space. In this situation, Trigger-to-Image Reliability will deposit the image data into a special frame buffer called the trash buffer. At the same time, a hardware event is generated indicating that there is image data in the trash buffer that must be monitored. A partial recovery for the machine vision application in this scenario would be for the application to read the circular buffers image time stamps for any gaps and to track that object through the system for rejection into the not inspected bin. Sapera T2IR Framework Example Implementation Monitoring if a Frame was Trashed. //trash buffer initialization in the case of framegrabbers acqbuffer = new SapBufferWithTrash(2,acqBoard); //trash buffer initialization in the case of genie cameras //acqbuffer = new SapBufferWithTrash(2, acqcameradevice); //Transfer Callback Impln for framegrabbers/cameras void XferCallback(SapXferCallbackInfo *pinfo) // If grabbing in trash buffer, do not display the image if (pinfo->istrash()) // Alert user regarding frame being trashed. 06 Trigger to Image Reliability

2.7 Ensuring Data Quality (Sapera is capable of notifying the User Application of Line and Field Under-run Events that result in Data Quality Violations) Trigger-to-Image-Reliability ranges from ensuring that the target is acquired, to correlating targets with image data, to verifying that reliable image data is transferred and processed into system memory. However, several additional measures are necessary to deliver a truly robust and reliable system. So far, no mention has been made about the quality of the data acquired from the camera. What would happen if a noise or power glitch merged two pixels or lines together? Does this mean that all further data acquisition is incorrect and the system must be restarted? Trigger-to-Image Reliability resolves this issue by comparing the number of pixels and lines being captured to the camera file. If an error has occurred, obliterating some camera data, Trigger-to-Image Reliability will recover on the next incoming image. Simultaneously, a status flag indicating the quality of the image acquired from the camera is set which can be monitored by the application. Sapera T2IR Framework Example Implementation Checking for Data Quality Violations //register underrun events on xferpair where xferpair is the SapXferPair object //associated with the acqtobuf SapTransfer object xferpair.seteventtype(sapxferpair::eventfieldunderrun SapXferPair::EndOfFrame); void XferCallback(SapXferCallbackInfo *pinfo) SapXferPair::EventType eventtype ; eventtype = pinfo->geteventtype(); //check if an underrun event was flagged if( eventtype & SapXferPair::EventFieldUnderrun) //execute appropriate Data Quality Violation related Event Handler 3.0 Conclusion Trigger-to-Image Reliability benefits OEMs and end users in the development of high speed, high-volume applications in which machine vision systems need to be able to detect defective objects and reject them from the production line quickly and reliably. OEMs have the peace of mind of knowing that the framegrabber/gige camera used in their application will contribute to making their systems more robust and reliable. In addition, development is greatly simplified, since OEMs don t have to invest time and effort into trying to understand why a system failed or will fail, as the frame grabber/gige camera itself will detect problems and take corrective action. Trigger-to-Image Reliability also reduces maintenance and support once the equipment is in the field, leading to lower total system costs. Trigger-to-Image Reliability saves end users extensive time and money by increasing uptime and productivity. As many industries, such as semiconductor move towards 100% inspection, Trigger-to-Image Reliability helps these manufacturers achieve better product yields at the lowest possible production costs. T2IR framework is a critical component of DALSA s Sapera Essential Software platform and is supported with Image Acquisition and Processing Hardware: X64 Xcelera Series - high performance PCIe frame grabbers for Camera Link, Analog and LVDS cameras X64-Series - high performance PCI and PCI-X compatible frame grabbers for Camera Link, Analog and LVDS cameras PC2-Series - machine vision frame grabbers, ideal for cost sensitive applications Anaconda Series - high performance Vision Processor with customizable FPGA Genie - high performance GigE Vision area scan camera Spyder 3 - dual Line scan GigE Vision camera Trigger to Image Reliability 07

T2IR System Overview www.dalsa.com Americas Boston, USA Tel: +1 978-670-2000 sales.americas@dalsa.com Europe Munich, Germany Tel: +49 8142-46770 sales.europe@dalsa.com Asia Pacific Tokyo, Japan +81 3-5960-6353 sales.asia@dalsa.com DALSA is an international leader in digital imaging and semiconductors and has its corporate offices in Waterloo, Ontario, Canada. All trademarks are registered by their respective companies. DALSA reserves the right to make changes at any time without notice. DALSA 2008. T2IR_bro_102708