SBS – Operating- and configuration software

SBS – Operating- and configuration software - Overview

Structure of PC software

The PC software is organised into the following three sections:

  • Vision Sensor Device Manager:

    This module is for selection of a SBS sensor, or a sensor simulation model, for configuration with the “Vision Sensor Configuration Studio” tool,or display (monitoring) with the “Vision Sensor Visualisation Studio” tool. Also system settings such as IP addresses, firmware updates can be modified with the “Set” tool.

  • Vision Sensor Configuration Studio:

    Complete set of functions to configure and test SBS vision sensor for one or several inspection tasks (jobs) in six simple logical operating steps.

  • Vision Sensor Visualisation Studio:

    For the display and monitoring of images and results from connected sensors, as well as job switch and job upload.

Figure: Software structure

Context help

For all software functions a context sensitive help page is available and displayed as soon as a function is selected.

All available help pages can be viewed by pressing the Help- button („?“ symbol) or by double click to the online help window. There you also can do a keyword search. In comparison to the context help the size of this help window can be enlarged to view longer text more comfortable.

Used open source software: Open Source Licences

16/08/2017


GPL_Lizenz

Open Source Licences

The SBS Vision Sensor software makes use of a couple of third party software packages that come with various licenses. This section is meant to list all these packages and to give credit to those whos code helped in the creation of the SBS Vision Sensor software.

For components that reference the GNU General Public License (GPL) or the GNU Lesser General Public License (LGPL), please find these licenses and the written offer for source code in this software installation in \FESTO\SBS Vision Sensor\Eula\OpenSourceLicenses.

The SBS Vision Sensor firmware makes use of Linux Version 2.6.33 (Website: www.kernel.org), which is distributed under the GNU GPL version 2.

The SBS Vision Sensor firmware makes use of x-loader, an initial program loader for Embedded boards based on OMAP processors (Website: http://arago-project.org/git/projects/?p=x-load-omap3.git; a=summary) which is distributed under the GNU GPL version 2 or higher.

The SBS Vision Sensor firmware makes use of u-boot, an initial program loader for Embedded boards based on OMAP processors (Website: http://arago-project.org/git/projects/?p=x-load-omap3.git; a=summary) which is distributed under the GNU GPL version 2 or higher

The SBS Vision Sensor firmware makes use of spike Version 0.2,a SPI-driver (Website: https://github.com/scottellis/spike/blob/master/spike.c ), which is distributed under the GNU GPL version 2 or higher.

The SBS Vision Sensor firmware makes use of Busy-Box Version 1.18.1 ( Website: http://www.busybox.net/ ), which is distributed under the GNU GPL version 2 or higher

The SBS Vision Sensor firmware makes use of vsftpd Version 2.0.3 ( Website: https://security.appspot.com/vsftpd.html ), which is distributed under the GNU GPL version 2 or higher.

The SBS Vision Sensor firmware makes use of mtd-utils Version 1.5.0 ( Website: http://www.linux-mtd.infradead.org/doc/general.html ), which is distributed under the GNU GPL version 2 or higher.

The SBS Vision Sensor firmware makes use of Boa Webserver Version 0.94.13 ( Website: http://www.boa.org/ ), which is distributed under the GNU GPL version 2 or higher.

The SBS Vision Sensor firmware makes use of Procps Version 3.2.8 ( Website http://procps.sourceforge.net/download.html), which is distributed under the GNU GPL version 2 or higher and GNU LGPL version 2.1 or higher.

The SBS Vision Sensor firmware makes use of GnuPG Version 1.4.10 ( Website: https://www.gnupg.org/ ), which is distributed under the GNU GPL version 3 or higher.

The SBS Vision Sensor firmware makes use of glibc, which is distributed under GNU LGPL version 2.1 or higher.

The SBS Vision Sensor firmware makes use of Dropbear - a SSH2 server Version 2012.55 ( Website: https://matt.ucc.asn.au/ dropbear/dropbear.html ). The Dropbear SSH2 server is distributed under the terms of the Dropbear License which is a MIT/X Consortium style open source license. Please find this license in this software installation in \FESTO\SBS \Eula\OpenSourceLicenses

Vision Sensor Configuration Studio software is based in part on the work of the Qwt project (http://qwt.sf.net).


SBS – Tutorial, Start of software

This tutorial explains step by step in a examplarily sequence how to adjust a SBS sensor for a check.

Next topic: Vision Sensor Device Manager:SBS – Operating- and configuration software – Short introduction

Start of software

To start the SBS software click to desktop icon

Structure of PC software

The PC software is organised into the following three sections:

  • Vision Sensor Device Manager
    For selection of a SBS sensor, or a sensor simulation model, for configuration with the “Vision Sensor Configuration Studio” tool or display (monitoring) with the “Vision Sensor Visualisation Studio” tool, or modification of different system settings such as IP addresses, firmware updates with the “Set” tool.
  • Vision Sensor Configuration Studio
    Complete set of functions to configure and test SBS vision sensor for one or several inspection tasks (jobs) in six simple logical operating steps.
  • Vision Sensor Visualisation Studio
    For the display and monitoring of images and results from connected sensors, as well as job switch and job upload.

Figure: Software structure

Next step: SBS – Operating- and configuration software – Short introduction


SBS – Operating- and configuration software – Short introduction

SBS – Operating- and configuration software –
Short introduction

(Example: Object sensor)

SBS, Short introduction, Starting the software

This short guide explains step by step the procedure for setting an example inspection task on the vision sensor

To start the SBS application click to the desktop icon "SBS Vision Sensor“.

Figure: Icon SBS

Vision Sensor Device Manager: Open sensors or sensor simulation / Passwords

In this program, you can select a sensor or a sensor simulation for configuration or display (monitoring) and carry out different basic settings.

Next topic: Vision Sensor Configuration Studio: Setting sensor, Job

Configuring or displaying sensors

In order to open a sensor for configuration or display, select with a single left mouse click the required sensor in the "Active sensors“ list, then click on the button "Config“ to start the "Vision Sensor Configuration Studio“ software, or on the button "View“ for the "Vision Sensor Visualisation Studio“ software.

Sensor simulation

To open a sensor for offline simulation, select the required sensor in the "Sensors for simulation mode“ list, then click on the button "Config“ to start the module "Vision Sensor Configuration Studio“. Vision Sensor Visualisation Studio is not available for the simulation mode as there is no device to send the images for display.

Figure: Vision Sensor Device Manager Overview

A) Active sensors
This list displays all the SBS vision sensors available on the network that can be controlled from the PC.

B) Sensors for simulation mode
All the sensors available for offline simulation are displayed here.

C) Add sensors via IP address
Sensors, which are not visible after starting the software or after clicking the "Find" button in Vision Sensor Device Manager, can be add manually with eheir IP address, if they are available in the network (e.g. after a gateway) and if the IP address is well-known. Via clicking the button "Add" such sensor con be found and are added to the list of active sensors, in order to edit them.

D) Functions

  • Find

Activates another search procedure on the network to locate SBS products

  • Config

Configures a connected sensor or a sensor simulation

  • View

Displays image or result data from a connected sensor

  • Set

Edits network settings such as the sensor's IP address etc.

E) Context help

Context sensitive help

Passwords

When first started-up after installation, password entry is completely deactivated and auto login is preset to administrator.

If parameter settings are to be protected from unauthorised access, passwords should be given for the "Admin“ and "User“ password levels, see below. This can be called up via the menu bar File / User administration or via the button with the key symbol in the toolbar.

Figure: Password button

Password levels:

Figure: Password levels

Password level | Vision Sensor Device Manager | Vision Sensor Configuration Studio | Vision Sensor Visualisation Studio
Administrator password | all functions | all functions | all functions
Worker password | all functions except - Config. - Settings - Update | none | all functions, including Job Upload and Image Recorder
User (without any password) | all functions except - Config. - Settings - Update | none | only display of images, inspection results and statistics

In order to be able to use the function "Config“ after the allocation of passwords, it is now necessary to login by clicking on the toolbar login button, and then entering the assigned password.

Figure: Login button

Figure: Password input

Allocating an empty password means the password can be confirmed without any further entry. Activation of the "Deactivate password request“ checkbox, permanently deactivates password request.
If passwords have been assigned and then forgotten, it is possible to reset passwords to delivery status by reinstalling the software on the local PC.


Vision Sensor Configuration Studio: Setting sensor, Job

With this program, you can configure your SBS vision sensor for one or several jobs in six simple logical operating steps.

Next topic: Alignment settings

Figure: Vision Sensor Configuration Studio

The fields are:

A) Menu and tool bar

B) Setup Navigation / Operating steps
See next chapter for description

C) Image
Image output with graphically adjustable operating and search zones as well as zoom function also filmstrip navigation when in simulation mode

D) Context
Context-sensitive online help, automatically updated for each action.

E) Image acquisition mode
Switch-over between continuous (free run) and single image mode with trigger input (either from sensor or via onscreen button)

F) Connection mode
Switch-over between online and offline mode (sensor present or simulation without sensor)

G) Job selection
Changing variable content relating to action in set-up navigation, for setting of associated parameters.

H) Status bar
Different status information including Mode / Name of SBS / Active job. In Run Mode: Cycle time / cursor x/y location and pixel intensity / individual I/O on /off indication (like configured in "Output/Digital output").

Job Setup

Configuring a job
To configure a job, edit the job entry in the "Select job" (G) field or e.g. create a new job. Set global parameters here, such as shutter, exposure or the resolution which is valid for the entire job.

For Job- setup: in Setup/Job edit or generate a new job in field "Jobs" (G),

Figure: Vision Sensor Configuration Studio Job

One job contains all settings and parameters necessary to perform a specific inspection task.

Jobs are created here, and several jobs can be stored in the SBS . All global settings, valid for each individual job, e.g. shutter, gain, illumination settings etc. are also carried out here.

  • The following basic image settings should first be made to ensure a high-contrast and sharp image:

    * Image brightness: Set shutter or amplification, see Job/General

    * Image sharpness: Focus setting via the screw on the back of the SBS camera itself

  • When delivered, the factory settings are trigger mode = "free run" (see Job/General) and image acquisition mode = "continuous" . A new image is continuously displayed for easier focus and brightness set up.

  • The subsequent setting of alignment and detectors should preferably be carried out in single image mode, as all settings are then based on a master image and image collection is not continuously carried out.

  • Alignment and multiple different detectors can subsequently be defined within one job to solve an inspection task.


Alignment settings

Alignment compensation can be necessary for objects whose position varies on the screen.

Next topic: Detector settings

Three different detection methods (alignment detectors) are available for this purpose, pattern matching, and edge detection and contour. alignment is optional.

After selection of the alignment method, set the working zones on the parameter to be used for alignment tracking by adjusting the graphic frame to the appropriate position and size on the image.

The associated parameters are displayed on the bottom right-hand side and can also be adjusted there.

Alignment, when used, affects the positions of all the detectors subsequently defined in this job.

In this example, the outside contour is used for alignment and the plug can be found either by contour or by pattern matching. If the angular rotation of the object can vary also, the contour method must be used.

Figure: Alignment


Detector settings

Different detectors can be selected and adjusted to solve an inspection task. First the required detector is selected in the dialog box shown below.

Figure: Detector list, Object sensor

Then the working and search zones are graphically set on the screen. If “teach zones” (red outline) exist, they are taught immediately after completion of the settings. All the detectors defined in this job are shown in the bottom left-hand corner. The parameters of the currently selected detector are shown in the bottom right-hand corner and can be adjusted there.

If other parameters are to be checked on the same part, many other detectors can be created as described above by clicking on "New".

In the example two brightness detectors are defined to check the presence of metal contacts in a plastic connector housing.

Detector 1: contact found (brightness value is in defined range as the shiny metal contact is mounted) result positive.

Detector 2: contact not found (brightness value out of defined range, as only weak reflection from the black plastic housing background) result negative.

Figure: Detector settings


Output, I/O and data output

The output module enables different settings of digital inputs/outputs and data output.

Select and activate the interfaces in the different tabs. Logically connect detector results and assign to the available I/O´s.

In order to enable the output of serial result data, select the required interface and compose data string.

Next topic:Result

Figure: Output, digital and data

Setting possibilities in the different tabs:

  • I/O mapping

    Settings for the I/O Hardware configuration.

  • Digital Output

    Selection of digital signal outputs and definition and assignment of logical connection using the Boolean results of all detectors. Definition of complex logic connections via table or via input of a logical formula.

    A different logical connection can be assigned to each available digital output.

  • Interfaces

    Selection, setting and activation of the individual interfaces such as: programmable input IN2, RS422, I/O extension, Ethernet, Profinet, SBSxWebViewer and Ethernet/IP

  • Timing

    Setting of delay times: Trigger delay, result delay and duration of result

  • Telegram

    Setting and preview of data output string via RS422 or Ethernet.

    Selection of: binary or ASCII protocol, header and/or trailer, standard contents and/or flexible, combinable, special individual data from the individual detectors.

    Any number of individual results from all the defined detectors can be freely arranged in an output string.


Result

With this function, an inspection is carried out on the PC for control purposes, using all the settings made. All the results are produced and displayed just as on the sensor. However e.g. execution times will not be updated as these values are only informative when implemented on the sensor itself. See next step: „Start Sensor“.

Next topic: Start sensor

Figure: Result display


Start sensor

When this function is activated, all settings are transferred to the sensor, stored in the flash memory and carried out in e.g. in free run or in triggered mode according to the settings made. All information in the list of detectors, result field or under „Statistics“ is updated here.

If using “triggered mode” then a trigger will be required from the external control system, alternatively a ‘software’ trigger can be sent using the Trigger button the left hand side of the image area.

Next topic: Vision Sensor Visualisation Studio, display images and results

Figure: Start sensor


Vision Sensor Visualisation Studio, display images and results

This program enables the monitoring/inspection of the connected sensor and the analysis of inspection results.

Click to the “View” button in the Vision Sensor Device Manager software to start the Vision Sensor Visualisation Studio module. (You can open multiple copies of this software if you are using multiple cameras on the system, however only one ‘connection’ is allowed to each SBS sensor).

The current image is displayed with the drawings for alignment and the detectors (if „image transmission = active“ is activated in the configuration module under Job/General).

The tab „Result“ shows the individual detectors with their results and the overall result.
The tab „Statistics“ shows further statistical results.
The "Freeze image" button enables result-controlled images (e.g.: bad part) to be kept on the display.
"Zoom" enlarges images.
With "Archive images", images and result data, as previously set under "File/Configure archiving", can be archived on the hard disk of a connected PC, with or without numerical result data.
With "Rec. images" the last 10 images can be retrieved from the SBS sensor.
In the tab „Job“, it is possible to switch between jobs present on the sensor.
In the tab „Upload“, further, previously defined jobs or whole job sets can be loaded from the viewer on to the sensor.

Figure: Vision Sensor Visualisation Studio


Login, as administrator or operator

After passwords have been assigned and automatic login, login is necessary e.g. for sensor configuration. Click on [image] in the toolbar to login and /or to deactivate password input for the next session for the selected user group.

If the "deactivate password request" box is ticked, the password is no longer requested when the application is next started.

Figure: Vision Sensor Device Manager, Passwort

User administration / Passwords


SBS – Operating- and configuration software – Vision Sensor Device Manager, all functions

In this program you can select a sensor or sensor simulation for configuration or display (monitoring) and carry out different basic settings:

  • Active sensors
  • Sensors for simulation mode
  • Find / Add active sensor active sensor
  • Configuring a connected sensor connected sensor
  • Display images and result data image and result data
  • Sensor's network settings
  • Update / Firmware update / Firmware update
  • User administration / Passwords / Passwords (button with Key- symbol)

Figure: Vision Sensor Device Manager

If the "Configure" function is not accessible (button inactive), login (button with door- / arrow- symbol) with password entry is required. If you do not know the password, please contact the administrator.


Active sensors

All sensors available on the connected network are displayed in the selection list Active sensors.

Configuring a connected sensor (call up Vision Sensor Configuration Studio)

Display images and result data (call up Vision Sensor Visualisation Studio)

Significance of parameters displayed
Parameter | Significance
IP address | Sensor´s IP address in the network
Hardware | Hardware (e.g. R3B, ….)
Sensor type | Sensor type (Object-, Code reader, Solar)
Variant | Sensor- sub variant (e.g. Standard / Advanced)
Version | Firmware version
Mode | Operating mode (Run, Config or Offline)
Sensor name | Name of sensor
Manufacturer | Name of manufacturer
Mac-Address | Sensor´s Mac address
Subnet mask | Sensor´s subnet mask
Gateway | Standard gateway
DHCP | DHCP active / inactive
Operating system | Type of operating system
Operating System Version | Version of operating system
Platform | z.B. SBS
Hardware version | Hardware version
RAM | RAM size
Flash | Flash size

If the "Configure" function is not accessible (button inactive, greyed out), login with password entry is required. If you do not know the password, please contact your site system administrator.

Information:

  • If no entries are shown in the list, even though a sensor is connected, you can refresh the list with the "Find"-button or manually "Add" the IP address of the SBS product.
  • If no sensor is connected, simulations of different sensor applications are available in the Sensors for simulation mode list such as 'Object' sensor.

Via the button “details” (at the right, upper corner of the parameter list of “Active Sensors”) a detailed list of all SBS parameters is accessible.

Figure: Sensor properties


Sensors for simulation mode

In order to access the simulation mode, select the required sensor type with a double click and pressConfiguring a connected sensor button (call up Vision Sensor Configuration Studio).

Significance of parameters displayed

Parameter | Significance
Type | Sensor type (e.g. Object , Code reader, Solar...)
Hardware | Hardware type (e.g. resolution, monochrome- or color version)
Version | Firmware version
Variant | Sensor- sub variant (e.g. Advanced …)

If the function „Config” is not accessible (button inactive) a Login (button with door / arrow symbol) with password input is necessary. If you do not know the password please contact your administrator.


Find / Add active sensor

If no sensors are shown in the list Active sensors, even though a sensor is connected, please follow these steps:

Find / search sensor:

To search for sensors which are connected directly to the PC, or which are available in the network, click button "Find". Basic understanding of PC networking is required this is not covered within the scope of supply from Festo.

Add active sensor:

If you know the IP-address of a sensor, please enter it into the field IP-address and click button "Add".

Now the sensor appears in the list and can be accessed for e.g. Config or View.

If the function "Config" is not accessible (button not active / greyed out) a Login with password input is necessary. If you do not know the password please contact your site systems administrator.


Configuring a connected sensor

Mark a sensor (simulation) in the list and click on the "Config" button.

The configuration program Vision Sensor Configuration Studio is called up and the jobs currently stored on the sensor are shown in the selection list.

When Vision Sensor Configuration Studio is called up, you may be required to enter a password. See User administration / Passwords for defining passwords.

s. chap Vision Sensor Configuration Studio SBS – Operating- and configuration software – Vision Sensor Configuration Studio, all functions


Display images and result data

Mark a sensor in the list and click on the "View" button.

The Vision Sensor Visualisation Studio program is opened up and images and measurement results from the active jobs are displayed on screen.

Information:

Calling up Vision Sensor Visualisation Studio does not affect operation of the selected sensor.

s. chap. Vision Sensor Visualisation Studio SBS – Operating- and configuration software – Vision Sensor Visualisation Studio, all functions


Sensor's network settings

You can change the network settings of the selected sensor with the Set button.

The IP address, subnet mask, standard gateway, DHCP and sensor name can be set here.

The PC's IP address and subnet mask are displayed below in the Vision Sensor Device Manager status bar.

The address structure must be correct in order to be able to connect the sensor to the PC. The sensor's IP address etc. can therefore be modified accordingly here if necessary.

Please contact your site administrator for the definition of network parameters. Further information on this subject can be found in the printed manual.

If "DHCP = active" is selected, a unique name must be given for the sensor as the IP address is newly assigned each time the sensor starts up and can thus change.

You require administrator authorisation for these functions (see user administration).

Figure: Vision Sensor Device Manager, IP- Setup

s. chap. Network settings / Ethernet connection Network settings, Short reference and Network connection


Update / Firmware update

You can update the firmware of the selected sensor through the menu item File/Update.

The appropriate firmware update file must first have been obtained via download from the Festo website or from Festo Support.

Select the appropriate firmware file in the file dialogue box that opens and follow the instructions.

Do not disconnect the power to the sensor during this process unless prompted by the onscreen instructions.

Figure: Vision Sensor Device Manager, Firmware update


User administration / Passwords

The SBS configuration distinguishes between three user groups, which have different authorisations:

Figure: Vision Sensor Device Manager, Password input

Password level | Vision Sensor Device Manager | Vision Sensor Configuration Studio | Vision Sensor Visualisation Studio
Administrator password | all functions | all functions | all functions
Worker password | all functions except - Config. - Settings - Update | none | all functions, including Job Upload and Image Recorder
User (without any password) | all functions except - Config. - Settings - Update | none | only display of images, inspection results and statistics

After software installation, login is automatically carried-out when the application is called-up, without password request. No passwords are assigned.

Define passwords:

Select file user administration in the File menu or click on in the toolbar to assign passwords for the administrator and user categories. Once a password has been entered, a logout is automatically carried out, i.e. input of the new password is now necessary. Assigning an "empty" password, enables entry by simply confirming with OK.

Figure: Password button

Login

Once passwords have been assigned and automatic logout has taken place, a login is required e.g. for sensor configuration. Click on in the tool bar to login and / or (after password entry) to deactivate password entry for the next session for the selected user group.

If the "deactivate password request" box is ticked, the password will not be requested when the application is next started.

Figure: Login- button


SBS – Operating- and configuration software – Vision Sensor Configuration Studio, all functions

With this programme, you can configure your SBS vision sensor for one or several jobs in six logical operating steps.

  • Jobs (Inspection tasks)

  • Alignment

  • Detectors

  • Output of inspection results

  • Result

  • Start sensor

Other program functions:

  • Trigger settings
  • Switching between online and offline mode
  • Simulation of jobs (offline mode) using series of images.
  • Creating filmstrips Image recording for analysis or simulation purposes. Use of Vision Sensor Configuration Studio may require password entry (administrator user group). See User administration / Passwords
  • Image recorder

To obtain a continuously updated live image even without trigger, carry out the following (if necessary temporary) settings:

  • Set to free run in "Job/Image acquisition"
  • Set to continuous in "Trigger / collect image" User interface and operating procedure


Jobs (Inspection tasks)

A job contains all the settings and parameters required to carry out a certain inspection task.

Figure: Vision Sensor Configuration Studio Job


Creation, modification and administration of jobs

A selected job (marked in the list) can be modified by entering parameters in both tabs of the configuration window:

If there is no job entry in the list, you must create a new job first.

Creating a new job:

  1. Click on the button "New" underneath the job selection list. A new job entry appears in the list.
  2. Edit the entry with a double click on the respective line (Name, Description, Author ):

Further functions:

Function | Description
New | Defines a new job
Load | Loads a job from the PC
Save | Saves the selected job on the PC
Delete | Deletes the selected job from the list
Delete all | Deletes all the jobs in the list

All the functions described can also be carried out using the File menu.

Figure: Vision Sensor Configuration Studio Joblist

If the sensor's memory capacity is exhausted and no further jobs can be loaded on to the sensor, the colour of the remaining memory display in the status bar changes to red.


Loading and saving jobs and job sets

Jobs can be loaded and stored individually or as a whole set of jobs in a job set. If several jobs are stored on the sensor, they form a job set, which you can store as an XML file on your PC or on an external storage medium just like an individual job.

Next topic: Parameters for image acquisition

Saving a job / job set:

  1. Select Save job as ... from the File menu.
  2. Select Save job set as ... from the File menu.

Loading a job / job set:

  1. Select Load job ... from the File menu.

  2. Select Load job set ... from the File menu.

  3. Activate the button "Start Sensor" to transfer jobs to the sensor.

    All the jobs stored on the sensor are deleted when a new job / job set is loaded !

Figure: Vision Sensor Configuration Studio, Load / save job


Parameters for image acquisition

The basic parameters for image acquisition are determined in the tab Image acquisition.

Next topic: Preprocessing, Filter for image improvement.

Set image sharpness with the focus setting screw on the back of the SBS .

Parameters | Functions and setting possibilities
Resolution | Standard resolution is VGA (640x480), but a lower resolution (QVGA) can be selected with time-critical applications or for compatibility reasons. Available resolutions: R3B: WVGA (736x480), VGA (640x480), QVGA (320x240), QQVGA (160x120) R3BC: WVGA (736x480), VGA (640x480), QVGA (320x240) R2B: XGA (1280x1024), VGA (640x480), QVGA (320x240) R2BC: XGA (1280x1024), VGA (640x480) When the resolution is altered, all the detectors previously defined are deleted!
Zoom (R2B only) | Via the Zoom function different fields of view / image zones can be selected
Dynamic | Optimization of characteristics of image capturing: "Linear" means linear response curve(behaves like SBS -products with no dynamic image capturing), "High" means better graduation in bright areas of the image (avoids override).
Trigger mode | Select trigger mode (triggered or free run). In case of triggered mode trigger can be done by hardware-trigger (Pin 03 WH) or over one of the data interfaces. In free run the SBS continuously captures images and processes evaluations.
Shutter speed | Parameter for control of image brightness. Image brightness preferably should be set with “Shutter speed”, only in case that it´s not possible to achieve the required image brightness this way use the slider “Gain” (Default value of Gain = 1). With fast moving objects a high shutter value can cause blurring of the image. Exposure can be set automatically with the Auto-Shutter button. Maximum shutter value is 100ms. Maximum duration of internal illumination pulse is 8ms. Shutter timers longer than 8 ms just make sense, if internal and external illuminations are used.
Gain | Set image brightness preferably with shutter speed first, and only if necessary in a second step with gain. (Default value of Gain = 1).
Quadrants (illumination) | By click on the LED single quadrants of illumination can be switched off. This function may avoid reflections at low working distances.
Internal illumination | Switch internal illumination (on, off).
External illumination | Switch external illumination (on, off, permanent). External illumination is switched over Pin 09 RD.

To obtain a continuously updated live image even without trigger, carry out the following (if necessary temporary) settings:

  • Set to free run under "Job/Image acquisition"
  • Set to continuous under "Trigger / collect image"


Job, tab White balance

White balance is necessary for compensation of image colors.

Figure: White balance

Parameter | Function
Red | Mean value of red channel in image
Green | Mean value of green channel in image
Blue | Mean value of blue channel in image
Teach | Execution of white balance, for white balance there has to be a homogeneous, white area below the camera.
Reset | Reset values


Preprocessing, Filter for image improvement.

In tab Pre-processing you can filter and re- arrange the images taken by the sensor before analysis. Up to 5 filters and one arrangement- filter can be used, which are processed in the selected sequence. All detectors (alignment and standard- detectors) will work with the pre-processed image (not with the original image)

Especially morphological operations (Dilation and Erosion) can lead to improvements by combining them. E.g. by processing Erosion and Dilation one after another – or in reverse order.

Next topic:Calibration

Example:- Black points in front of a bright background can be eliminated, if a sequence of dilation and erosion is processed.

The following arrangements are available for image improvement:

Arrangement type | Effect
Rotation 180° | Rotation of image for 180°
Mirror | Vertical mirroring
Flip | Horizontal mirroring

The following filters are available for image improvement:

Filter type | Effect
Gauss | Image is smoothed using a gaussian filter mask. This can be applied for reduction of disturbances, suppression of disturbing details and artefacts and smoothing the image.
Erosion | Extension of dark zones, elimination of light pixels in dark zones, elimination of artefacts, division of bright objects. Each grey value is replaced by the minimum grey level found inside the filter mask (e.g. 3x3).
Dilation | Extension of light zones, elimination of dark pixels in light zones, elimination of artefacts, division of dark objects. Each grey value is replaced by the maximum grey level found inside the filter mask (e.g. 3x3).
Median | Each grey value is replaced by the median value of the pixels found inside the filter mask (e.g. 3x3). Typical applications include noise reduction, especially for local bright or dark pixels (“salt-and-pepper”-noise).
Mean | Each grey value is replaced by the average grey value of the pixels found inside the filter mask (e.g. 3x3). This can be applied for reduction of disturbances, suppression of disturbing details and artefacts and smoothing the image.
Range | Each grey value is replaced by the range value (maximum gray level − minimum gray level) of the pixels found inside the filter mask (e.g. 3x3). Typical applications include the detection and enhancement of edges and the improvement of local image contrasts. (starting with firmware 1.5.x.x)
Standard deviation | Each grey value is replaced by the standard deviation of the pixels found inside the filter mask (e.g. 3x3). Typical applications include the highlighting of surface defects or edges.
Edge detection (Sobel) | Result image contains edges detected using the Sobel-algorithm (compare image processing literature also). Typical applications include the detection and enhancement of edges and the improvement of local image contrasts or the detection of surface defects.
Multiplication | The grey value of each pixel is multiplied by the choosen multiplier (2x, 4x, 8x, 16x). Values are clipped to 255.
Inversion | Inversion of image

The effect of an active filter is immediately visible in the image. The larger the filter core is selected, the stronger the effect of the filter. The filters are used in the order listed from top to bottom.

Configuring filters:

  1. Select the filters in the required order, via the pop-up menus in the column Filter.
  2. Enter the size of the filter kernel in the pop-up menu in the column Property. If the setting is Off, the respective filter is deactivated.

Figure: Tab Job / Pre-processing


Calibration

The function "Calibration" transforms the image coordinates (pixel) into world coordinates (e.g. millimeter). When activated all position and distance data is calculated in the selected unit.

Next topic: Parameters Cycle time

Calibration method

Scaling (Measurement) | Relative calculation, limited accuracy (measurement/inspection, principal point = left, upper corner of field of view).
Point pair list (Robotics/ Pick and Place) | Absolute calculation, user defined reference system (robot calibration in robot coordinate system)
Calibration plate (Measurement) | Relative calculation, high accuracy (measurement/inspection, principal point = left, upper corner of field of view).
Unit | Desired unit of world coordinates
">" / "<" | Next / previous step

Note: All position values and measurement results are corrected. Not to cause longer cycle time the image data are not transformed / displayed rectified. This way a high execution speed, even with calibration active, is provided.

Next topic: Calibration, Scaling

Activation of Calibration is done in two steps:

1. Selection of calibration method:

Go to next / previous step with buttons [<], [>] on the right hand side of hte calibration tab

2. Execution of selected calibration method

As soon as a calibration method is selected, on the left side in tab "Calibration" the status LED is shown.
If calibration is active other functions like detectors can only be processed successfully, if calibration is valid.

Color significance of graphical points in image and lines in Point pair list:

Color | Significance
Green | Calibration valid, points accurately positioned
Yellow | Calibration valid, points not accurately positioned
Red | Calibration not valid

Color significance status LED for the different calibration methods

Calibration method | Significance
Scaling | Status-LED = green: Default- or input value result in scaling factor, no error determination possible.
Point pair list | Status-LED, graphical point in image and corresponding line in point pair list. - green: calibration valid, points accurately positioned - yellow: calibration valid, points not accurately positioned - red: calibration not valid With new job: - green: Default values(6 points) result in correct default calibration
Calibration plate | Status-LED: - green: calibration valid, points accurately positioned - red: calibration not valid With new job: - red: as so far no calibration with calibration plate happened

Figure: Selection of calibration method

Detailed description

Method Functions

None

Calibration not active, coordinate calculation, display and output in pixel (px)

Scaling (Measurement)

(Relative calculation of distances in world coordinates)

The calibration method "Scaling" serves relative calculation of distances in world coordinates (mm).

This is realized with a simple factor.

There is only one factor for both coordinate axis X and Y.

The advantage is the very simple function, but accuracy is limited.

Errors caused by tilt angle against perpendicular view to the measurement plane or by lens distortion are not corrected by this method.

World coordinates are not absolute. The coordinate values refer to the principal point in left, upper corner or the field of view.

Example: Determination of distances between two objects in mm. (Limited accuracy)

Point pair list

(Robotics / Pick and Place)
(Absolute calculation in world coordinates, in a user defined reference system, e.g. robot coordinate system)

The calibration method "Point pair list" serves absolute calculation of positions in world coordinates (e.g. mm).

Errors caused by scaling, x- and y- axis separately, tilt angle against perpendicular view to the measurement plane or by lens distortion are all corrected by this method.

Example: Determination of absolute positions of objects in world coordinates in millimeter (e.g. robot coordinate system)

This is realized by the image capturing of a calibration part which is placed by the robot in the field of view.

A point pair is set by:

- Image coordinate by graphical input in the image, or by numerical input of a value

- World coordinate by numerical input given from the robot controller

This sequence is done till the desired number of point pairs is achieved in the list.

Calibration plate
(Measurement)

(Relative calculation of distances in world coordinates)

The calibration method "Calibration plate" serves relative calculations of distances in world coordinates (e.g. mm).

This is done by image capturing of a calibration plate
(s. www.Festo.de).

By using a large number of points, the known, exact relative position of the points on the plate, this method provides a high accuracy.

Errors caused by scaling, x- and y- axis separately, tilt angle against perpendicular view to the measurement plane or by lens distortion are all corrected by this method.

World coordinates are not absolute. The coordinate values refer to the principal point in left, upper corner or the field of view.

Beside coordinates, distances are also calculated in world frame.

Example: Determination of distances between two object in mm.

Unit

Unit of world coordinates / distances

- mm (millimeter)

- cm (centimeter)

- m (meter)

- in (Inch)
">" / "<" Go to next / previous step

Calibration effects the following detectors / alignment

Detector | Result value
Contour | Center coordinate x, y, angle
Pattern matching | Center coordinate x, y, angle
Caliper | Center coordinate x, y, distance
BLOB | Center of gravity-/ center coordinate x, y; width, height, angle
Alignment | Result value
Contour | Center coordinate x, y, angle
Pattern matching | Center coordinate x, y, angle
Edge detection | Center coordinate x, y


Calibration, Scaling

The calibration method "Scaling" serves relative calculations of distances in world coordinates (mm). This is realized with a simple factor. There is only one factor for both coordinate axis X and Y. The advantage is the very simple function of the scaling process, although accuracy is limited.

Errors caused by tilt angle against perpendicular view to the measurement plane or by lens distortion are not corrected using this method. World coordinates are not absolute. The coordinate values refer to the principal point in left, upper corner or the field of view.

Next topic: Calibration, Point pair list

Figure: Calibration method, "Scaling"

Example: Determination of distance between two objects in mm.

Parameter Scaling

Parameter | Function
Distance image | Distance in image in pixel (px), by graphical or numerical input
Distance world | Corresponding distance in world by numerical input (in previously selected unit, e.g. mm)
Scaling factor | From above mentioned settings "Distance image" and "Distance world" resulting scaling factor e.g.. [x] px/mm or. [y] mm/px
Punkt testen | Test point ( graphically or values ​​input ) is for the user to check calibration of known points / dimensions around the image to confirm satisfactory setting of the scaling factor.
">" / "<" | Go to next / previous step

Note:

Please take care that the optical axis of the sensor is aligned perpendicularly to the measurement plane. This avoids different distortion in x and y axis. Errors caused by tilt angle against perpendicular view to the measurement plane or by lens distortion are not corrected using this method.

For setting up; place a object with known dimensions (e.g. gauge block) in the field of view.

Position the both graphical, green crosshairs in the image to the points of the object with a known dimension / distance. The distance in image pixels between the both centres of the crosshairs is displayed in the field "Distance image".

Now type the known distance in world in field "Distance world" (e.g. in mm).

The scaling factor is calculated and displayed.

From now on positions and distances are displayed and transferred in world coordinates. World coordinates are not absolute. The coordinate values refer to the principal point in left, upper corner or the field of view. Beside coordinates, distances are also calculated in world frame.

This kind of calibration is suitable for standard lenses, integrated or C-mount. However it´s not suitable for telecentric lenses.


Calibration, Point pair list

The calibration method "Point pair list" serves absolute determination of positions in world coordinates (e.g. mm).

Next topic: Calibration, Calibration plate

Figure: Calibration, Point pair list

Example: Determination of absolute positions, and orientation of objects in world coordinates in mm (e.g. robot coordinate system)

Motivation / Benefit

After calibration of the sensor via point pair list the position of the part to pick is available directly in the absolute coordinate system of the robot!

All errors like scaling, perspective and lens distortion are corrected. In robotics pick and place applications now the robot can pick the part with the sensor provided robot coordinate values.

Figure: Position of part to pick directly in robot coordinate system!

Sequence calibration via point pair list

Previously the focus and the shutter of the sensor, and the desired unit must be selected.

1. Select calibration model (-with/without correction of lens distortion), and - if necessary - set z-offset..

2. Select line 1 in list box "point pair list".

3. Place calibration part (preferably flat, symmetric, e.g. similar plain washer) at exactly known world coordinate (e.g. with robot).

4. Place graphically the corresponding crosshair in the image (no. "n" corresponding to line "n" in point pair list) exactly in the center of the calibration object. (if necessary zoom image)
Alternatively: use "Snap- Function", that means: right click somewhere inside the calibration part. This way the center of gravity of the calibration part is automatically determined.
Preferably use point symmetric calibration parts, as then the center of gravity is independent from orientation. With calibration parts which are not point symmetric please take care for always same orientation. (not available with color sensors)
Result: Values of image coordinates in pixel "Image X" and "Image Y" are automatically set in line "n".

5. Now type in the corresponding, known world coordinates in the field "World X" and "World Y" ( with e.g. robot: the values displayed in the robot controller).

6. Repeat steps 2-5 as long as the desired number of point pairs is achieved. If more lines are necessary press "+", to delete lines press "-". (min. 6 points, recommended >10 points)

Automated calibration, see also:Calibration via interface commands

Parameter Point pair list

Method Functions

- Image X

- Image Y

Values in point list

Coordinate values in pixels (px) in the image, via exact graphical positioning of the crosshair to the center point of the calibration part which is placed exactly in world coordinates.

Or: use "Snap- Function", that means: right click somewhere inside the calibration part. This way the center of gravity of the calibration part is automatically determined (recommended).

- World X

- World Y

Values in point list

Coordinate values in selected unit (e.g. mm), by direct numerical input of the values in the point pair list.

In case of e.g. Robotics Pick&Place this values can be taken from the robot controller when placing the calibration part in the field of view.

Calibration parameter

Calibration model:
With or without correction of lens distortion.

Z- Offset: (if offset is given)

Offset between calibration plane and measurement plane

Different read only parameters

of the regression calculation and error values. See also:Calibration, Calibration parameter
"+" / "-" Add or delete one line / point. Delete affects the highlighted line.
Test point

A test point can be set in the image, whose world coordinate values for test and control purposes are displayed in the Test point window.

">" / "<" Go to next / previous step

Note:

The sensor can be mounted in any alignment / pose referred to the measurement plane. Anyway a close to perpendicular alignment should be preferred, as this causes less distortion and this way less error correction is needed.

The accuracy of the calibration first depends on the quality / accuracy of the point position and secondly on the sufficient number of points. If the calibration is not accurate (yellow points) this can be improved by better precision of position input of the single points.

This kind of calibration is suitable for standard lenses, integrated or C-mount. It´s not suitable for telecentric lenses.

Minimum required number of point pairs is "6" points.

The minimum necessary number of points for calibration via point pair list is 6 points. With minimum this number of points false inputs (like x and y interchanged) can be found by high error values in dialog "Calibraiton parameters" Calibration, Calibration parameter, (if <= 5 points the error values are always = 0, as no errors can be calculated).

To show the quality of point position (how good point position matches with calculated position) the points are displayed in the following colors (only meaningful if minimum 6 points).

Color significance of graphical points in image and lines in Point pair list:

Color | Significance
Green | Calibration valid, points accurately positioned
Yellow | Calibration valid, points not accurately positioned
Red | Calibration not valid

In case of yellow point color a yellow line is visible starting in the center of the point. It´s lenght and direction is a measure for the absolute value and orientation of the error in relation to the position accuracy of point input in world frame.

If there are big errors, potentially x- and y- coordinate are interchanged with one or some points, or some points are interchanged completely with others.

In the dialogCalibration, Calibration parameter the devaiton values / errors: "Mean", "Min"imum error and "Max"imum error are displayed. With this values the exact positon input of the existing points can be optimised.

This calibration method serves beside the absolute coordinate values the orientation of the part to pick also. (if Contour or Pattern matching is used as detector)

The result coordinate values of the part to pick are served from now on directly in the coordinate system e.g. of the robot!


Calibration, Calibration parameter

Here, if required , the Z-offset between calibration- and measurement level in Z-direction can be set and compensated . Also the calibration- and deviation parameters, for optimisation if desired, are displayed.

This kind of calibration is suitable for standard lenses, integrated or C-mount. However it does not work for telecentric lenses.

Next topic: Calibration via interface commands

Figure: Calibration, Calibration parameter

Parameter | Function

Calibration model:

Standard lens, with distortion

Correction of:

- Scaling, x and y separately

- Tilt angle against perpendicular view to the measurement plane

- Lens distortion
Input parameter

Offset calibration/measurement level in Z-direction

For Z=0 the calibration and the measurement plane are identical. For Z!=0 the calibration plane is shifted against the measurement plane. The two planes are always parallel.

The sign of the deviation results from the right hand world system (thumb = x, index finger = y, middle finger = z, see below)

Note: The depth of focus of the sensor must cover the calibration and the measurement plane. See also: Offset calibration/measurement level in Z-direction
Focus

Focus of the lens

  • With integrated lens: value of the built in lens
  • With C-Mount lens: Take value written on the used lens and type in.
  • Option: to check plausibility of e.g. z- value with below mentioned "Translation of calibration object" no malfunction if not used.
Read only parameter)
Kappa | Calculated kappa (distortion) value of the lens.
Pixel pitch

Calculated pitch / axial distance from pixel to pixel on the sensor chip.

Reduction of resolution in tab "Image acquisition" effects this value.

Origin of coordinates/ pixel | Point where the optical axis penetrates the measurement plane in the centre of the sensor chip, compared with the ideal centre point. This values refer to left , upper corner in pixel.
Image size | Image size in pixel
Translation of calibration object | All three calculated values of translation of the calibration object. I.e. in x-, y- and z-direction.
Rotation of calibration object

All three calculated values of rotation of the calibration object. I.e. the angles: alpha, beta and gamma.

Deviation
Mean | Average error of calculated positions against input.
Min. | Maximum error of calculated positions against input.
Max. | Minimum error of calculated positions against input.

Offset calibration/measurement level in Z-direction

Sign of "Z" value depending on the world coordinate system / "right hand world system" (thumb = x, index finger = y, middle finger = z)

Figure: Delta "D" / Z- Offset = negative! In case of: Z-to top, and calibration plane lower than measurement plane!

Figure: Delta "D" / Z- Offset = positive! In case of: Z-to top, and calibration plane higher than measurement plane!

Figure: Delta "D" / Z- Offset = positive! In case of: Z-to bottom, and calibration plane lower than measurement plane!

Figure: Delta "D" / Z- Offset = negative! In case of: Z-to top, and calibration plane higher than measurement plane!


Calibration via interface commands

There are specific interface commands for automated creation of a point pair list, e.g. for recalibration with drift in production process or should the mounting of sensor or robot change.

In this case the calibraiton process can automatically be executed e.g. from the robot controller.

Example: In this example the used calibration object is a circular thin steel plate, which is detected by a BLOB detector. This detector determines the centre of gravity of the round calibration part. PLEASE NOTE :- For the correct function of the commands on the sensor the interface to the robot controller (e.g. Ethernet) must be activated and the first two output values in the data string must be the x- and y- value.

Sequence for automated (re-) calibration with interface commands via Point pair list.

Scenario:

1. Separate Job to detect calibration part (here"Job 1")

A Contour detector determines the centre of gravity of a circular calibration part.

The first and the second value transmit via the Ethernet data output are the x- and y- value of the centre point of the round part.

Screenshot....?

2. Job which should be calibrated (here "Job2")

Currently the sensor is running Job 2. Job/Calibration/Point pair list is set in the HMI, and the sensor was started in this job.

Sequence / flow chart

Figure: Automated sequence of calibration via Point pair list

For detailed telegram format see: Serial Communication ASCII ; Serial communication BINARY

Additionally to the used telegrams "Trigger / TRG", "Calibration Add Point / CAP" and "Calibration Calibrate / CCL" the following telegrams are available for calibration.

- "Calibration Clear Data / CCD": Reset of all values of the Point pair list.

- "Calibration Validate / CVL": Validation of calibration. Does not effect the current calibration.


Calibration, Calibration plate

The calibration method "Calibration plate" serves relative determination of e.g. distances in world coordinates (e.g. mm). This is done by image capturing of a calibration plate with one single click!

Next topic: Parameters Cycle time

Figure: Calibration method, Calibration plate

Example: Determination of distances between two object in mm.

Sequence calibration via calibration plate

Previously the focus and the shutter of the sensor, and the desired unit must be selected.

1. Select calibration model (-with/without correction of lens distortion), and - if necessary - set z-offset..

2. Place the calibration plate that the field of view is completely covered (see also: , and Calibration, Calibration plate

3. Select the corresponding calibration plate (size and type) via the list box "Calibration plate".

4. With a click to the button "Start Calibration" all visible points of the calibration plate are determined, all detected are marked, and the calibration is calculated.

Parameter Calibration plate

Parameter | Function
Calibration plate | Here the used calibration plate (size and type / number of points) is selected. (see also: and Calibration, Calibration plate
Calibration parameter | Calibration model: with or without correction of lens ditortion. If given, here the z-offset between calibration and measurement plane can be set. Also different read only paremters, as well as deviation parameters are shown in this dialog (see also: Calibration, Calibration parameter
Start Calibration | Calibration is started. All visible points of tht calibration plate are determined, all detected are marked, and calibration is calculated.
Test point | A test point can be set in the image, whose world coordinate values for test and control purposes are displayed in the Test point window.
">" / "<" | Go to next / previous step

Note:

The sensor can be mounted in any alignment / pose referred to the measurement plane. Anyway a close to perpendicular alignment should be preferred, as this causes less distortion and this way less error correction is needed.

World coordinates are not absolute. The coordinate values refer to the principal point in left, upper corner or the field of view. Beside coordinates, distances are also calculated in world frame.

This kind of calibration is suitable for standard lenses, integrated or C-mount. It´s not suitable for telecentric lenses.

Advices for the usage of calibration plates

  • The calibration plate must be clean and plain.
  • The plate must be illuminated homogeneously over the entire field of view and must not be overexposed. The bright regions should have a grey value of at least 100 and below 255. The contrast between bright and dark regions should be at least 100 grey values. That means, the image / any region must not be over- or underexposed.
  • The entire field of view must be covered by the calibration plate. Anyway, for a successful, precise calibraiton it´s not necessary that the whole plate / all points of the plate are visible. It is sufficient if approximately a quarter of the plate is visible like shown below (always including the center of the plate with the pattern of points with smaller black point in their center).
  • Calibration does work correct only if focus and position of the sensor does not change in relation to the measurement plane.

Figure: Calibration plate, red = minimum field of view, minimum two of the blue regions must be visible.

Figure: Calibration plate, detail with smaller black points in the center (see above: blue regions).

  • The diameter of a white circle should be minimum 20 pixel.

Types / sizes of calibration plates

Sizes of calibration plates | Number of points
50mm x 50mm | 15 x 13
100mm x 100mm | 15 x 13
200mm x 200mm | 15 x 13

In the installation folder: Festo/SBS Vision Sensor/Documentation/... the available calibration plates can be found as .pdf-file. This can be printed on paper or any other medium. Please consider the setting "actual size?", that print out is not scaled.

The length of the long edge of the plate must correspond exactly to the number in the name of the plate.


Parameters Cycle time

In tab Cycle time the timing conditions of the SBS can be defined.

Next topic:Alignment

Parameter | Function and possibilities

Max. cycle time

Parameter to control the minimum and maximum time of a cycle. Inside a cycle some images can be evaluated (in case of "Number of images (max)" >1) Maximum processing time per image interrupts a job after a defined time. The result of a cycle after a timeout is always "not o.k". Maximum processing time should be selected higher than the time demand for one execution.

The processing time is the time elapsed from trigger till the setting of the digital outputs. If this cycle time should be limited (e.g. if the machine cycle should not be exceeded) this function can be used. The result of all detectors which are not processed / finished after this processing time has elapsed are set to “failed”. As the currently processed detector will still be finished, please consider that the adjusted job time may not be met a 100% exactly, and it may last a few milliseconds longer till the job is interrupted.

It´s recommended to test the real cycle time and to choose a value for this parameter which is a bit smaller / shorter.
Max. processing time per image | Maximum duration of one evaluation inside a cycle including image capturing.
Min. processing time per image

Minimum duration of one evaluation inside cycle including image capturing. Minimum processing time blocks trigger signals which are coming before the minimum processing time was reached.

Number of images (max.)

 Maximum number of image capturings, which are processed after one trigger, if the stop criteria is not fulfilled. The stop criteria is the "Overall job result" (access via Output/Digital output)

LED-Power

This value is calculated automatically. Standard Value is 100%. LED-power may be reduced, if shutter time is quite long and minimum job time is quite short, because the recovery time for the LEDs may be to short in this case. To obtain 100% LED power, minimum job time should be factor 10 bigger than shutter time.
Auto | If “Auto” is selected the minimum cycle time is automatically adjusted in the way that the LED-power is 100%

Figure: Tab Job / Cycle time


Alignment

Alignment compensation can be necessary for objects or characteristics whose position varies in the image. Three different detection methods (alignment detectors) are available for this purpose.

Next topic: Selection and configuration of an alignment detector

Mode of function of an alignment detector

An alignment detector is a tracking coordinate system, which is anchored to one selected characteristic. All subsequently defined detectors are aligned in relation to this coordinate system. Maximum one alignment detector can be defined for each job.

For information to the meaning and adjustment of the different frames see chap.

Search and parameter zones

As alignment requires an extra calculation step, it should only be used if required by the application.

Application example:

Alignment of an entire part using two edge detectors, i.e. here the top left-hand corner of the part is detected. Now contrast detectors can find and check features in relation to the position of the part.

Figure: Alignment


Selection and configuration of an alignment detector

Select alignment detector:

1. Click on the button "Alignment".

2. Select a detection method in the configuration window “Method”:

Next topic: Alignment detector Pattern matching

The following three detectors are available for alignment:

Detection method Description, Selection

None

Alignment deactivated

Pattern matching

Detection of any pattern

Pattern matching can be used preferably if:

  • There are only marginal edges, parallel to axis or with strong contrast, but zones with grey pattern in the image.

Pattern matching cannot be used if there is an angular deviation / rotation of the part.

Edge detection

Detection of horizontal and/or vertical edges

The detection of edge should be used if:

  • a offset of the position occurs just in X- and / or Y- direction
  • there are edges with strong contrast , parallel to the axis

Edge detection is, if above mentioned criteria are fulfilled a very quick method of alignment.

Edge detection cannot be used if there is an angular deviation / rotation of the part.

Contour detection

Detection of contours and edges at any angle

Contour detection must always be used if:

  • there can be a angular offset (rotation against teach in position)

It can be used preferably if there are edges of any shape but with good contrast.

Configuration of alignment detector:

  1. Adapt the position and size of the search and parameter zones displayed on the screen if necessary.
  2. Configure the alignment detector in the tab Parameters.


Alignment Pattern matching

This alignment detector is suitable for the detection of any patterns, even without clear edges and contours.

Color channel

Alignment detector Pattern matching


Color channel

Selection of color model and color components for the grey image used by the detector.

The display of the image depends on the image chip and the selected detector.

A image, taken with a colour chip contains more information by the colour component than a monochrome image. This feature can be used with the colour channel selection with monochrome detectors also. By selection of the colour channels the composition of the grey image can be manipulated and so specific zones can be intensified or weakend.

- Monochrome chip: Display always greyscale

- Color chip + Color detector: Display always colored

- Color chip + Object detector: Monochrome image, display depending on selected color model and color channel

Figure: Color channel

Parameter | Function
Color model | Color models: RGB, Color model RGB HSV, Color model HSV LAB, Color model LAB
Color channel | Selection of a color filter. Non selected colors will not be used in the resulting grey image which is processed by the detector.


Alignment detector Pattern matching

Next topic: Alignment detector Edge detector

Settings in Parameters tab:
Parameters | Functions
Threshold | Zone for the required concordance of the found sample with the taught sample
Accurate - fast | Number of search levels / coarsening levels 0 = automatic selection Higher value: faster = riskier (overlook candidates) Smaller value: slower = less risky (all candidates)
Pattern | Shows the taught sample = red frame
Edit pattern | By edit ROI there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that parts which are interesting can be marked.
Lock | Lock / Unlock Pattern: In locked status the taugth pattern is protected against (unintentional / accidential) changing. by e.g. modification of the teach region. Unlock to modify taught pattern..

Figure: Alignment detector, Pattern matching


Result offset

With the Result offset, the final position of a found object can be modified. This can be useful when working with robot coordinate systems and needing to define a 'pick point' for example

Settings in Result pose tab:
Parameters Functions
None

Automatically determined centre of (Region Of Interest)

Offset

Free selectable position (graphically or by value input, e.g. for robot gripper use)

  • X: Offset in X- direction (ref. ROI centre)
  • Y: Offset in Y- direction (ref. ROI centre)
  • Angle: angle offset (ref. ROI orientation)

Figure: Result pose


Alignment Edge detector

The alignment determines the object position and thus the tracked coordinate system based on the intersection point of edges in the image. Angle positions up to approx. ±20% deviation (depending on the object) can be compensated.

Next topics:

Color channel

Alignment Edge detector, tab Parameters


Alignment Edge detector, tab Parameters

The probe type must be selected to perform the edge detection. The probe type determines which change in position of the object should be aligned: Shift in one or two directions, rotation. The following probe types are available:

Probe type | Function | Recommended use with varying object position
... in one direction | ... in two directions | ... with rotation
1

One probe: Alignment by shift in one direction

Alignment of object by shift in one direction.

The position of the scanning line is determined by the search direction of the detector. The other scanning line is in the middle of the search region (ROI).

 ü
2

One probe: Alignment by shift in one direction and rotation

Alignment of object by shift in one direction and rotation.

The position of the scanning line is determined by the search direction of the detector. The other scanning line is in the middle of the search region (ROI).

ü

ü
3

Two probes: Alignment by shift in two directions

Alignment of object by shift in two directions.

The position of the scanning line in X direction of the coordinate system is determined by probe 1.

The position of the scanning line in Y direction of the coordinate system is determined by probe 2.

The origin of the coordinate system lies at the intersection of the two scanning lines.

 ü
4

Two probes: Alignment by shift in two directions and rotation

Alignment of object by shift in two directions and rotation.

The position of the scanning line in X direction of the coordinate system is determined by probe 1.

The position of the scanning line in Y direction of the coordinate system is determined by probe 2.

The origin of the coordinate system lies at the intersection of the two scanning lines.

In addition, the orientation of the object is determined. Probe 2 is rotated and moved according to the object movement.

The position of probe 2 is aligned relative to the position and orientation of the scanning line of probe 1.

 ü ü
5

Three probes: Alignment by shift in two directions and rotation

Alignment of object by shift in two directions and rotation.

A straight line is drawn through the touching points of the winner search stripes of probe 1 and 2. This scanning line (12) determines the position and orientation of the coordinate system. The origin of the coordinate system lies at the intersection of scanning line 12 and scanning line 3. Probe 3 is rotated and moved according to the object movement.

The position of probe 3 is aligned relative to the position and orientation of the scanning line 12.

 ü ü

After selecting the probe type, the corresponding parameters must be determined.
The following parameters can be configured in the Parameters tab:

Parameter | Function
Edge strength | Edge strength / contrast at which an edge should be detected as an edge.
Smoothing

The edge contour is smoothed in search direction. With larger values, noisy edges, blurred edges or edges that are not perpendicular to the search direction are detected more reliably. In addition, light-dark-light or dark-light-dark transitions which are close together can be ignored with larger values. Thus, interfering edges, e.g. scratches, can be hidden. The effect of smoothing can be displayed graphically using the button “Results”.
Transition | With the “Transition” parameter the edge transition can be determined.
  • Both directions
 Edge transition from light to dark and vice versa.
  • Light → Dark
 Edge transition from light to dark.
  • Dark → Light
 Edge transition from dark to light.
Search stripes

Number of parallel search stripes into which the width of the search region is divided. Edge detection is carried out in each search stripe and the first edge is decisive.

Edge position

The parameter “Edge position” determines which edge is to be detected from the search direction.

It is determined how the winner search stripes and thus the edge position are determined.
  • First
 The first edge in search direction is detected. The distances from the beginning of the search region to the touching points of all search stripes in search direction are determined. The winner search stripe is the one with the shortest distance to the beginning of the search region.
  • Last
 The last edge in the search direction is detected. The distances from the beginning of the search region to the touching points of all search stripes in search direction are determined. The winner search stripe is the one with the longest distance to the beginning of the search region.
  • Median
 The distances in search direction from the beginning of the search region to the touching points of all search strips are determined. Then the median value of these distances is formed.
  • Mean
 The distances in search direction from the beginning of the search region to the touching points of all search strips are determined. Then the mean value of these distances is formed.
Orientation | The “Orientation” parameter defines the type of the scanning line determination.
  • Best-fit line
 In this setting, the scanning line is determined by placing a best-fit line through all search stripes.
  • Edge guide
 In this setting, a scanning line is determined which acts like a mechanical edge stop. This makes it possible to achieve more robust results for convex-shaped edges than with a simple best-fit line.
Search direction | This parameter determines the search direction of the probes. From this direction the object edge is aligned. All probes can be rotated with the small black arrow.
The search direction takes place in only one direction, the direction of the yellow arrow (ROI). The touching points and thus the origin of the coordinates lie at an edge of the object.
For each search stripe, a touching point is determined from both directions of the probe. Then the center between these touching points is determined. The origin of the coordinate system is at the center of the winner search stripe, i.e. in the object.
Results

Opens the results and histogram window.

For more information, see Caliper results / Histogram display

Figure: Alignment Edge detector, tab Parameters

Additional information:

Closed Optimization of execution speed:
  • Search zone for position (yellow frame) only as large as required
  • Reduce search stripes
  • Reduce smoothing value
  • Reduce resolution to QQVGA, QVGA or VGA instead of WVGA (Attention: global parameter, affects all detectors!)
Closed Improve robust detection:
  • If edges are blurred: increase smoothing value
  • If interfering edges such as scratches are detected: increase switching threshold or / and smoothing value
  • If edge is not vertical to search direction: increase search stripes
Closed Effect of Number “search stripes”

“Search stripes” represent the how many search stripes the width of the search area is divided into. Edge detection is processed in each search stripe over the whole width. The first edge which is detected is the overall result of all search stripes. By increasing the number of search stripes it’s assures that the first edge in the search area is found. By increasing search stripes it may happen that the found edge strength fluctuates, e.g. if only the half width of the search area is covered with an edge. This is because the first – not the strongest – edge which is above the threshold is detected.

Further information on edge detection see chapter: Further explanations to Edge detector (alignment) .


Alignment Contour detection

This detector is suitable for detecting contours by means of edges. The contours of an object in the search area are taught and stored in the sensor. In Run mode the sensor searches the position of the best fit with the taught contour. If the fit is higher than the selected threshold the result is positive. The function contour detection can work incomplete 360° angular detection mode. So the object can be rotated in any angle. (The angular settings must be set accordingly!)

Next Topic:

Color channel

Alignment method Contour detection, tab Parameters

Alignment Contour detection, tab Optimization, contour

Alignment Contour detection, tab Speed

Result offset


Alignment method Contour detection, tab Parameters

The most important parameters for contour detection can be set in the Parameters tab.

Figure: Alignment Contour detection, tab Parameters

The pale blue edges in the lower right corner (high contrast changes in the image) have been identified and marked based on the parameter settings. The found edges / contour can be influenced by changing these parameters, or by the function “Edit contour”. The SBS Vision Sensor now searches this contour in the search area (yellow frame).

The following parameters can set in the Parameters tab:

Parameters | Function and setting possibilities
Threshold | Zone for required match of found contour with taught contour.
Angle range | Angle range in which search is carried out (large range means longer process time)
Scale range | Detection also of enlarged or reduced objects in a given scale range.
Edit contour | By editing contour, parts of the search area can be masked out. The parts which are not relevant for an examination can removed like using an eraser. Masks can also be inverted.
Lock | Lock / Unlock Contour: In locked status the taught contour is protected against (unintentional / accidential) changing, such as modification of the teach region. Unlock to modify taught contour.

Additional information:

Closed Optimization of the execution speed:
  • Search zone for position (yellow frame) only as large as necessary. Please note: The contour is found as long as the center point of the pattern is inside the search area!
  • Search zone for angle only as large as necessary
  • Search zone for scale only as large as necessary
  • Reduce resolution to CGA instead of VGA (Attention: Global parameter, affects all detectors!)
  • Set “accurate – fast” to fast
  • Increase value “Min. contrast pattern”. Take care that the relevant contours are still visible in the display.
  • Increase value “Min. contrast image”.
  • Use alternate reference pattern, e.g. with higher contrast, so that “Min. contrast pattern” and “Min. contrast image” can be increased.
Closed Robust detection:
  • Search zone for position (yellow frame) sufficiently large?
  • Search zone for angle sufficiently large?
  • Search zone for scale sufficiently large?
  • Contrasts for model and image suitably set? (for model visible in sample)
  • Set “accurate – fast” to accurate
  • Are there several overlapping objects in the image?
  • Distinctive edges available? Re-teach if necessary .
  • “Min. contrast pattern” set to a suitable value? If in the taught pattern the relevant contour lines are not shown completely: decrease “Min. contrast pattern”. If there are too many contour lines shown: increase “Min. contrast pattern”.
  • “Min. contrast image” set to a suitable value for the current image? If the current image(s) do have a higher / lower contrast than the taught reference image /pattern please increase / decrease the value of “Min. contrast image” accordingly.
  • If in the taught pattern the relevant contour lines are not shown completely: decrease “Min. contrast pattern”. If there are too many contour lines shown: increase “Min. contrast pattern”.
  • If found at wrong position: use more distinct sample, re-teach if necessary.
  • If the result value is fluctuating strongly from image to image? Take care that there are no “false” edges taught (edges because of shadows, or fragments of contours, which are not desired in the contour model): This can be achieved by increasing “Min. contrast pattern” or by eliminating those false edges by function “Edit contour”.
Closed Parameter Angle range: Rotational direction of angle

Figure: Rotational direction of angle

Next topic:

Alignment Contour detection, tab Optimization, contour


Alignment Contour detection, tab Optimization, contour

In the “Optimization, contour” tab further settings for the edge transition and the contrast can be made.

Figure: Alignment Contour detection, tab Optimization, contour

The following parameters can be configured in the Optimization, contour tab:

Parameter | Function
Min. contrast pattern | Minimum contrast required with taught model for an edge to be detected as one.
Min. contrast image | Minimum contrast required in current image for an edge to be accepted as one.

Edge transition

  • Fix
  • Fix + inverted
  • Flexible

The parameter “edge transition” can be used to determine the transition between object/contour and background. Select whether the contour is to be detected only on the taught-in background (“Fix”), on the taught-in and inverted background (“Fix + inverted”) or on any background (“Flexible”).

See also “Additional information”
Auto | Automatic selection

Additional information:

Closed Edge transition

Example:

A gray object is taught-in in front of a brighter background, as shown in the following figure.

Figure: Taught-in contour in front of a brighter background

The following table shows the results of the contour detector with the respective settings for the edge transition.

Settings for parameter “Edge transition” | Bright background | Dark background | Inconsistent background
Fix |  |  |
 | Contour detector: OK | Contour detector: not OK | Contour detector: not OK
Fix + inverted |  |  |
 | Contour detector: OK | Contour detector: OK | Contour detector: not OK.
Flexible |  |  |
 | Contour detector: OK | Contour detector: OK | Contour detector: OK

Next topics:

Result offset

Alignment Contour detection, tab Speed


Alignment Contour detection, tab Speed

Using the adjustable parameters in the Speed tab, execution time of the sensor can be altered. Adjusting the Search levels of the Speed tab alters the level of detail and corresponding time applied to a given search.

Figure: Alignment Contour detection, tab Speed

The following parameters can be configured in the Speed tab:

Parameter | Function
Angle step | Sensitivity of search throughout the selected angle range in degrees [°]
Scale step | Sensitivity of search throughout the selected scale range

Search levels

(accurate - fast)

Number of search levels

  • High value: faster = riskier (candidates may be overlooked)
  • Small value: slower = less risky (all candidates)
Accordance level (accurate - fast)

Candidates that score less than indicated will automatically be rejected during the search.

  • High value: early rejection = quicker = riskier
  • Small value: late rejection = slower = less risky

In case of false results this value can be decreased (more accurate).
Auto | Automatic selection

Next topics:

Result offset


Detectors

Each job contains one or several inspection steps (detectors), which you can define here.

With the very first selection of the step “Detector” a window with a list of all available detectors opens.

Drawings in the image (yellow, red frames etc.) can be activated or deactivated for any detector or category in the menu item "View/all drawings". With "View/drawings of current detector only", all drawings on the screen can be deactivated with the exception of the detector currently being processed.

Next topic: Creating and adjusting detectors

For information to the meaning and adjustment of the different frames see chap. Search and parameter zones

Figure: Detector list for selection (here Object sensor)


Creating and adjusting detectors

Types of detector:
  • Detector Pattern matching
  • Detector Contour
  • Contrast detector
  • Brightness detector
  • Grey detector
  • Detector BLOB, Introduction
  • Detector Caliper
  • Barcode detector.
  • 2D Code detector
  • Detector OCR
  • Detector Color area, Color select
  • Detector Color list
  • Detector Color value

Create new detector:

  1. Click on “New" button under the selection list in the configuration window and select the type of detector required. A new detector entry appears in the selection list.
  2. Edit the name of the detector with a double click on "Name"

Configure detector:

  1. Activate the detector in the selection list.
  2. Graphically define the appropriate search and parameter zone on the image.
  3. Configure the detector by entering/adjusting the parameters in the Parameters /General and if necessary Advanced tabs in the configuration window. Which tabs are shown depends on the type of detector selected.

Functions for administration of detectors:

Control panel | Functions
New | Adds new detector > dialogue box with above-mentioned detector selection list appears
Copy | Copies all parameters from one detector to one or several others. The parameter zones are not copied. All detectors must be from the same type. Copy process: Create all desired destination detectors; they must be of the same type as the source detector. Mark source detector in the list Click to button „copy“ A list occurs, mark all desired destination detectors. (To select several press “Ctrl” key) Click “Copy” to confirm
Reset | Resets parameters and search and parameter zones of selected detector to standard values
Delete | Deletes the selected detector
Delete all | Deletes all the detectors in the list

Information:

"Flash x.x/yyyy.y kB" appears in the bottom corner of the screen, indicating first the memory used by the current configuration x.x), and the memory available on the sensor (yyyy.y) in kB. Should the memory used exceed the available memory, this indicator switches to red as there is not enough space for the current settings on the sensor. In this case you can delete other jobs from the sensor before transfer.

Drawings in the image (yellow, red frames etc.) can be activated or deactivated for any detector or category in the menu item "View/all drawings". With "View/drawings of current detector only", all drawings on the screen can be deactivated with the exception of the detector currently being processed.


Selecting a suitable detector

Next topic: Detector Pattern matching

The following detectors are available in Vision Sensor Configuration Studio

Type of detectors | Description
Pattern matching | Part detection using pattern matching, X- and Y- translational
Contour detection | Part detection using object contour, up to 360° rotation
Contrast | Evaluation of contrast in selected search zone
Brightness | Evaluation of brightness in selected search zone
Grey level | Evaluation of grey values in selected search zone
BLOB | Count and evaluate objects
Caliper | Distance between edges
Barcode | Barcode reading 1D Codes (Code reader)
2D- Code | Data code reading 2D Codes (Code reader)
Optical Character Reader (OCR) | Optical character reading (Code reader)
Color Area | Color verification inside area
Color List | Color verification inside list
Color Value | Output of color values
Wafer | Position check and control of wafers (Solar sensor)
Busbar | Position check and control of busbars (Solar sensor)


Detector Pattern matching

This detector is suitable for the detection of patterns of any shape, even without distinctive edges or contours.

Figure: Detector Pattern matching

Next topic: Detector Contour

Result offset

Creating and adjusting detectors

Pattern matching application

Settings in tab Basic:

Parameters | Functions
Switching threshold min/max | Zone for the required concordance of the pattern found with the pattern taught.
Accurate - fast | Number of search levels / coarsening levels. 0 = automatic selection Higher value: faster = riskier (overlook candidates) Smaller value: slower = less risky (all candidates)
Position check | Checks whether the pattern found is in the right position. If position check is activated, the position frame is shown in blue (either rectangular or elliptic).
Pattern | Shows the taught pattern = contents of the red frame
Edit pattern | By the mask there can be masked out regions of the search area. The regions which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that regions which are interesting can be marked.
Lock | Lock / Unlock Pattern: In locked status the taugth pattern is protected against (unintentional / accidential) changing. by e.g. modification of the teach region. Unlock to modify taught pattern..

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Optimisation Pattern matching:

Execution speed:

  • Search zone for position (yellow frame) only as large as necessary: Attention: The search area marks the area where the centre point of the pattern is searched!
  • Reduce resolution to QVGA instead of VGA (Attention: Global parameter, affects all detectors!)
  • Set “accurate – fast” to fast

Robust pattern detection:
  • Search zone for position (yellow frame) sufficiently large?
  • Reduce search levels
  • Distinctive grey value pattern?, re-teach if necessary
  • If found at wrong position: use distinct sample, re-teach if necessary

If, directly after teach, the found position (green frame) is not identical with teach area (red frame) the slider “Accurate – fast” should be set to “Accurate”


Pattern matching application

In this example a metal contact (left side) in a black plastic part is taught as pattern. It is detected with a high score value, as the metal contact is mounted. (Threshold near 100%)

Figure: Pattern matching, application example, positive result.

Figure: Pattern matching, application example, negative result.

If the same pattern matching is performed at a position, where the metal contact searched for is not mounted, the score value does not reach the threshold and the result gets negative. With the function pattern matching the detection is made by the grey values of the pixels at the corresponding position in the image. As here the inner, shiny and therefore bright region does not exist, and instead of this the grey values of the pixels in the corresponding position do have lower (darker) values, the score value is significantly lower than with the contact mounted.

But, as also big regions of the search area are matching (the outer dark frame of the black plastic) the score value is not zero, but approx. 70%.

The settings in these examples are just made to illustrate the function of the detector pattern matching. In real operation these settings should be optimized further. (E.g. by smaller search and / or feature regions >> relevant pattern gets more significant, etc.)

By Teach the pattern inside the red frame gets stored in the sensor as reference pattern. Size and position of the reference pattern is defined by the red frame. In Run mode the SBS tries the find the best fit of the reference with any region in the image. Depending on the settings of the threshold the object / feature is detected or not. The function pattern matching does not work with rotated images; it´s tolerance is limited to an angle of approx. +/- 5°. Patterns with higher angular deviation are not detected. This behaviour can be used to detect if a part is in correct orientation in feeding application.

Example:

The following pattern was taught:

Figure: Pattern, reference

With the following three examples, the object is detected with 100% concordance, as the taught pattern is exactly the same, even though it is in another place on the image.

Only offset in X or Y direction and not rotated.

Figure: Pattern, positive result

With the three now following examples in the second row, the object is also detected, but with less than 100% concordance, as it deviates from the taught pattern in some pixels. Good or bad results are supplied according to the setting of the threshold value (degree of concordance).

Figure: Pattern, limit case

Pattern detection tolerates a ± 5 degree rotation. This means, the images in the bottom row were also detected, although the actual degree of concordance with the sample image is less than 100%, despite 100% pixel concordance.

Patterns with a larger degree of rotation are not detected.

This can be used as a function e.g. for detection of the correct alignment of parts on feeding units.

Figure: Pattern, rotation


Function: Mask

With function „Mask“ the search region can be modified. Inside the search- and feature- areas of the different detectors, regions can be included or excluded.

Application example:

Outer and inner contour lines as well as holes shall not be considered, but all defects in the surface of the object are relevant. In this example only the not marked regions inside the ROI of the detector are relevant. The yellow masked regions are no longer relevant for the evaluation.

Figure: Mask

Parameter | Function
Cursor (shape) | Changing shape (square, circle or line) of the cursor
Cursor size | Changing size of the cursor
Add pixels / Remove pixels | Select if the cursor adds or removes pixels
Add all | Adds all pixels
Remove all | Removes all pixels
Invert all | Inverts all pixels
Undo | Undo function – last action
Redo | Redo function – for last undo action
Display | Select a display mode (Zoom in / Zoom out)

By the flexible selection of cursor- shape and size, as well as if an action adds or removes pixels, complex geometric or free shaped search regions can be defined in a simple and quick manner. This regions are included = relevant, or excluded (yellow) in the search area.

To use the function „Mask” the following settings are necessary for the different detector types

Detector type | Necessary setting to use the function „Mask“
Pattern matching, Contour | Generally possible with „Edit pattern”
Contrast, Brightness, Grey, BLOB, Color value, Color area, Color list | Search region „Free shape“

Function „Mask” of search regions, examples

For the above mentioned detectors three different shapes of search regions: Circle, Rectangle and Free shape are available. If with shape Circle or Rectangle, which can be rotated also by picking and moving the tip of the arrow, the shape of the search area cannot be fit in a satisfying manner to the shape of the object the “Free shape” function can be used. With this any geometry can be designed for a search area. To design the search area the cursor can be set to a square, circle or line of any size.

In the following examples the creation of a masked search region is shown.

Example 1,

Logo with relevant zones.

Figure: Mask pattern 2

Created by one adding and one removing circle in front of the before reset mask.

Figure: Mask pattern 3

Created be one adding and one removing circle in front of the before reset mask.

Example 2,

Only surface defects are relevant, object contour lines have to be masked.

Figure: BLOB without function Mask, with a BLOB detector the surface defects and the outer and inner contour lines are detected.

Figure: Function Mask: masking contour lines which shall not be considered

Figure: BLOB with function Mask, only surface defects are detected, all contour lines are not relevant as they are masked now.


Detector Contour

This detector is suitable for detection of samples from edges at any angle.

Next Topic:Contrast detector

Settings in Scaling tab:

Settings in Angle tab:

Speed

Result offset

Contour application:

Function: Mask

The contours of an object in the search area are taught and stored in the sensor. In Run mode the sensor searches the position of the best fit with the taught contour. If the fit is higher than the selected threshold the result is positive. The function contour detection can work incomplete 360° angular detection mode. So the object can be rotated in any angle. The angular settings must be set accordingly.

Figure: Detector contour, tab contour

The in the below, right corner in pale blue shown edges (high contrast changes in the image) have been identified and drawn because of the before made parameter settings. The found edges / contour can be influenced by changing these parameters, or by the function “Edit contour”. The SBS now searches this contour in the search area (yellow frame).

Settings in tab contour:

Parameters | Functions
Threshold Min/Max | Zone for required concordance of found contour with taught contour.
Min. contrast pattern | Minimum contrast required with taught model for an edge to be detected as one.
Min. contrast image | Minimum contrast required in current image for an edge to be accepted as one.
Position check | Checks whether the sample found is in the right position. If position check is activated, the authorised zone for the position of the found parameter is shown in a blue frame (either rectangular or elliptic). The centre (green cross) of the parameter found must be situated inside the blue frame.
Pattern | Taught sample with display of the edges found
Edit contour | By edit contour there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that parts which are interesting can be marked. S. also chap.
Lock | Lock / Unlock Pattern: In locked status the taugth pattern is protected against (unintentional / accidential) changing. by e.g. modification of the teach region. Unlock to modify taught pattern..

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Optimisation:

Execution speed:
  • Search zone for position (yellow frame) only as large as necessary. Please note: The contour is found as long as the centre point of the pattern is inside the search area!
  • Search zone for angle only as large as necessary
  • Search zone for scale only as large as necessary
  • Reduce resolution to CGA instead of VGA (Attention: Global parameter, affects all detectors!)
  • Set “accurate – fast” to fast
  • Increase value “Min. contrast pattern”. Take care that the relevant contours are still visible in the display.
  • Increase value “Min. contrast Image”.
  • Especially in case of alignment: Use alternate reference pattern. E.g. with higher contrast, that “Min. contrast pattern” and Min. contrast image” can be increased.

Robust detection:
  • Search zone for position (yellow frame) sufficiently large?
  • Search zone for angle sufficiently large?
  • Search zone for scale sufficiently large?
  • Contrasts for model and image suitably set? (for model visible in sample)
  • Set “accurate – fast” to accurate
  • Are there some and overlapping objects in the image?
  • Distinctive edges available?, re-teach if necessary
  • “Min. contrast pattern” set to a suitable value? If in the taught pattern the relevant contour lines are not shown completely: decrease “Min. contrast pattern”. If there are too many contour lines shown: increase “Min. contrast pattern”.
  • “Min. contrast image” set to a suitable value for the current image? If the current image(s) do have a higher / lower contrast than the taught reference image /pattern please increase / decrease the value of “Min. contrast image” accordingly.
  • In the taught pattern the relevant contour lines are not shown completely: decrease “Min. contrast pattern”. If there are too many contour lines shown: increase “Min. contrast pattern”.
  • If found at wrong position: use distinct sample, re-teach if necessary
  • If the result value is fluctuating strongly from image to image? Take care that there are no “false edges” taught (edges because of shadows, or fragments of contours, which are not desired in the contour model): This can be achieved by increasing “Min. contrast pattern” or by eliminating those false edges by function “Edit contour”.


Function: Edit contour

s. chap.: Detector Pattern matching Function: Mask


Settings in Angle tab:

Detector Contour

Settings in Scaling tab:

Speed

Result offset

Contour application:

Function: Mask

Parameters | Functions
Angle range | Angle range in which search is carried out
Angle step | Step width / sensitivity of search throughout the selected angle rangein °

Figure: Detector contour, tab angle

Angle, direction

The rotational direction of "Angle" is as follows:

Figure: Rotational direction of Angle


Settings in Scaling tab:

Detector Contour

Settings in Angle tab:

Speed

Result offset

Contour application:

Function: Mask

Parameters | Functions
Scale min/max | Detection also of enlarged or reduced objects in a given scale range
Increment scale | Sensitivity of search throughout the selected scale range

Figure: Detector contour, Scaling tab


Speed

Via the here adjustable parameters the execution time can be influenced. The search is processed either less detailed, that means stopped earlier = quicker, or it´s processed more detailed, that means search lasts longer = slower.

Settings in tab Speed
Parameters Functions

Accordance level

Candidates with score less than indicated will already be rejected during search.

  • High value: early rejection = quicker = riskier
  • Small value: late rejection = slower = less risky

In case of false results this value can be decreased.

Search levels

Number of search levels / Coarsening levels.

  • Higher value: faster = riskier (overlook candidates)
  • Smaller value: slower = less risky (all candidates)
  • Auto = automatic selection

Figure: Speed


Contour application:

The visible edges / contour of metal contact mounted in a black plastic housing are taught as the reference contour. In this way the presence and the correct mounting of the contact is checked.

Figure: Contour, application example, positive result

The found contour lines are displayed in the corner below right in pale blue. The contact is found reliably.

Figure: Contour, application example, negative result

If now the same contour check is made at a position of the object where the metal contact is missing, the according edges / contour is not found. The detector gives a negative result.


Contrast detector

Next topic: Grey detector

Contrast application

This detector determines the contrast in the selected search area. Therefore all pixels inside the search area are evaluated with its grey value and the contrast value is calculated. If the contrast value is inside the limits set in parameter threshold the result is positive. The position of the single bright or dark pixels here is not relevant. The contrast is just depending on the bandwidth between darkest and brightest pixels and their quantity. Highest contrast value with 50% grey value “0” (= black) AND 50% grey value “255” (=white)

Figure: Detector Contrast

Settings in tab Contrast:

Parameters | Functions
Threshold min/max | Range of contrast accepted.
Search region | Shape of search region can be set as Rectangle, Circle or Free shape. In mode Free shape “Edit search region” is active.
Edit search region | With Edit search region there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that parts which are interesting can be marked. S. also chap. Function: Mask
Overlay search region | On- / Off of display of edited search region.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Contrast application

Contrast detector

In the example the presence of a metal contact is checked with a contrast detector.

Figure: Contrast, application example, positive result.

The presence of a shiny metal contact, in the middle of a surrounding black plastic housing, is checked with a contrast detector. As in this configuration contrast is pretty high the contrast detector delivers a high score, and in combination with alignment the whole job works reliably.

Figure: Contrast, application example, negative result

If the same detector is placed now at a position where the metal contact is missing it leads to a negative result. As, between the black surrounding and the now visible black background of the contact, the contrast value here is low.

Function detector Contrast

The dark and the bright pixels are evaluated according to their amount and their intensity / brightness.

The position of the bright or dark pixels is not relevant.

Figure: Contrast examples

Figure: Contrast explanation


Grey detector

Next topic. Brightness detector

Grey level application

At this detector in the first step the range of accepted grey values is defined by setting the two limit sliders of parameter “Grey level”.

In the second step the share of the search area (in %) which must be covered by pixels with the grey value inside the definition made in step 1, is defined with the parameter “Threshold” to achieve a positive result.

By the respective invert function all possible combinations can be defined, also those where the relevant grey values are only at the upper or lower border of the range of values. The position of the respective brought or dark pixels is not relevant.

With the parameter „Overlay“ pixels can be marked in a certain colour as an aid to select pixels / regions, which have a grey value inside (valid pixels), or outside (invalid pixels) the range set in „Grey level“. In this way pixels which are not covered with the settings / range of grey values can be detected very easily.

Settings in tab Grey:

Parameters | Functions
Grey level min/max | Range of grey values that are to be accepted
Threshold min/max | Percentage of the area, which must be in the selected grey value range
Search region | Shape of search region can be set as Rectangle, Circle or Free shape. In mode Free shape “Edit search region” is active.
Overlay | Selects which pixels are to be marked in colour on the screen as an adjustment aid. "None" = no marking, or “Valid pixels” or “Invalid pixels” are marked in the image.
Edit search region | With Edit search region there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that parts which are interesting can be marked. S. also chap. Function: Mask
Overlay search region | On- / Off of display of edited search region.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Grey level application

Grey detector

Figure: Grey level, application example, positive result.

The contact is present in search area. Shiny metal contact shows grey values > 192, that means inside the limits of threshold = result positive.

Figure: Grey level, application example, negative result

Shiny metal contact is not present in the search area. That means average value of grey values in the search area is not inside the defined threshold limits. (Not inside grey value 192-255, but rather in range < 50). Result: negative = contact not found.

Aid to determine grey values:

By placing the cursor somewhere in the image the according X- and Y- coordinate and the grey value (“I” = Intensity) are displayed in the status line on the screen below in the next to last field at the right.

Function detector Grey level.

The authorised grey value range is defined by the two limits on the grey level slider.

All pixels within this grey value range and within the defined working zone (yellow frame) are added together. The proportion of the number of all the pixels in the working zone (yellow frame) and of the number of pixels in the authorised grey value range represents the result of this detector.

If this result is within the limits set on the switching threshold slider, the result is positive. The position of the grey value pixels on the screen is of no importance.

Example: (when the grey level slider is set to very dark values):

Both images produce exactly the same result with the grey level detector, as in each case 9 of the 25 pixels are detected as dark.

Figure: Grey level, example 1

If the threshold value was set to 10 in this example, the following images would produce a positive result.

Figure: Grey level, example 2


Brightness detector

Next topic: Barcode detector.

Brightness application

This detector determines the average value of the grey values in the search area. With the two limit sliders of the parameter „Threshold“ the valid range of the brightness mean value is defined.

As soon as the calculated average value is within these two limits the result is positive. The result value is standardized to %. The position of the bright or dark pixels is not relevant. If there are position deviations from check to check the alignment function must be used.

Settings in tab Brightness:

Parameters | Functions
Brightness min/max | Range of grey values that are to be accepted
Search region | Shape of search region can be set as Rectangle, Circle or Free shape. In mode Free shape “Edit search region” is active.
Edit search region | With Edit search region there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an eraser. Masks can also be inverted, means that parts which are interesting can be marked. S. also chap. Function: Mask
Overlay search region | On- / Off of display of edited search region.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Brightness application

The detector Brightness calculates the average value of the grey values of all pixels within the search area.

Figure: Brightness, application example, positive result.

The contact is present within the position searched for; therefore the average value of the grey values in the search area has a high score (near 100%). That means the current value is within the requested threshold limits and the result is positive = contact present.

Figure: Brightness, application example, negative result.

The contact is not present within the position searched for; therefore the average value of the grey values in the search area delivers a low score (near 0%). That means the current value is not within the requested threshold limits and the result is negative = contact not present.

Examples: Brightness value as average value of the grey values.

Figure: Brightness, examples


Detector BLOB, Introduction

The BLOB detector is used to identify and count one or more objects with some common features like same grey value range, same area, same circumference, ...

Color channel

Detector BLOB, tab Binarization, Absolute threshold

Detector BLOB, tab Binarization, Dynamic threshold

Detector BLOB, tab Features

Detector BLOB, tab Sorting

BLOB, Introduction

"BLOB" abbreviation for "Binary Large OBject" or "Binary Labeled OBject".

Basic function of machine vision for evaluation of connected areas / objects in an image.

The single objects are distinguished by simple features like: area, width, height

Figure: Screws 1. Binarization, 2. detected as BLOB / object

Typical applications

  • Count objects
  • Differentiation / classification of objects in the image by:
  • Size, area, contour
  • Form, geometry
  • Position, orientation
  • Face up/ down
  • Surface inspection

Figure: Typical applications: count, classify / sort, orientation / face up / down

BLOB, simple configuration in 3 steps

1. Binarzation

Distinguish between relevant objects and background

Detector BLOB, tab Binarization, Absolute threshold

Detector BLOB, tab Binarization, Dynamic threshold

2. Filtering of detected BLOBs

Filtering by different features like: area, circumference, orientation, position, ...

Detector BLOB, tab Features

3. Data output

Definition of data output telegram and sorting of results

Detector BLOB, tab Sorting

Telegram, Data output


Detector BLOB, tab Binarization, Absolute threshold

In this tab all parameters for binarization of a BLOB can be set.

Detector BLOB, Introduction

Binarization is the first step of BLOB processing. It is used to distinguish relevant objects from the background of the image, by converting the grey image into a pure black and white / binary image.

Binarization can be done by two different binarization methods.

Figure: Detector BLOB, tab Binarization

In the first combobox the threshold method for binarization is selected.

Parameter | Function
Absolute threshold | Binarization threshold is set to an absolute grey value in range of 0 .. 255.
Dynamic threshold | Threshold is automatically set to an statistically optimised position in order to distinguish between fore- and background. Detector BLOB, tab Binarization, Dynamic threshold

Parameters with selection "Absolute Threshold"

Parameter | Function
Absolute threshold | Setting the upper and lower limit defines the range of valid grey values of pixels belonging to the BLOB.
Gray value range | Adjusting the upper and lower limit of grey values for binarization / valid for the BLOB.
Invert button | With the "Invert button" (default: red/green/red) the logic of detection can be inverted. This way the relevant range can be included or excluded.
Pipette button | With a click to the "Pipette button" the cursor changes into a pipette symbol. By moving the cursor and clicking to any position (pixel) inside the image the grey value of this pixel is taken and the limits of "Absolute threshold" are set to +/- 10 grey values of the grey value of this pixel (values clipped at 0 or 255).

Boundary BLOB´s, Overlay and Histogram

Parameter

Function
Boundary BLOBs

Selected BLOBs (objects) are considered, if they are fulfilling the BLOB- / filter- criteria, even if they are not completely positioned within the yellow search region.

Please note: BLOBs are also considered as Boundary BLOBs if they are touching a zone masked with the "Edit search region / Function: Mask" (even masked zones inside the image / search region) Detector BLOB, Boundary BLOBs
Search region | Search region can be set to: "Rectangle", "Circle" or "Free shape". In mode "Free shape" the function "Edit search region" is active.
Edit search region | Using the "Edit search region" button the dialog window to edit the search region can be opened. Function: Mask
Overlay BLOBs

"Valid BLOBs": all valid BLOBs which fulfill the filter criteria are marked in green. With this selection invalid BLOBs are marked in red.

"BLOB contour": all valid BLOBs (all BLOBs fulfilling the filter criteria) are marked with a green contour line. With this selection invalid BLOBs are not marked.
Histogram

The Histogram button opens the Histogram window for the BLOB. Detector BLOB, tab Binarization, Histogram


Detector BLOB, tab Binarization, Dynamic threshold

In this tab all parameters for binarization with dynamic threshold can be set. The dynamic threshold can be used if BLOBs / objects and background do have clearly different grey value ranges, and illumination conditions are changing uniformly over the whole image.

If the brightness of the image changes uniformly, with the dynamic threshold limits are readjusted automatically. (With absolute threshold those limits must be readjusted manually.)

Please note:

The Dynamic threshold is newly calculated with each new image / evaluation.

Please consider that fluctuating illumination, surface- reflectivity, etc. may influence the result!

Figure: Detector BLOB, tab Binarization, Dynamic threshold

Parameters with selection "Dynamic Threshold"

Parameter | Function
Dynamic threshold | Dynamic threshold is automatically set to an statistically optimised position in order to distinguish between fore- and background.
Brightness | Definition if BLOB is brighter or darker compared to the background
Gray value range | Adjusted limits of grey values for binarization.
Threshold correction factor | With the Threshold correction factor the above automatically calculated binarization threshold can be moved / manipulated either towards the foreground- or background- brightness.

For illustration of the dynamic threshold see also: Detector BLOB, tab Binarization, Histogram


Detector BLOB, Boundary BLOBs

If the checkbox "Boundary BLOBs" is active, the selected BLOBs (objects) are considered, even if they are not completely positioned within the yellow search region. (Of course they have to fulfill the BLOB- / filter- criteria anyway)

Please note: BLOBs are also considered as Boundary BLOBs if they are touching a zone masked with the "Edit search region / Function: Mask" (even if masked zones are inside the image / search region).

Example 1: Boundary BLOBs, touching outer search region.

Figure: Boundary BLOB example 1/1: BLOB is touching outer yellow search region, it is not considered as valid BLOB as setting "Boundary BLOBs" is NOT active.

Figure: Boundary BLOB example 1/2: BLOB is touching outer yellow search region, but it is considered as valid BLOB yet, as setting "Boundary BLOBs" is ACTIVE now!

Example 2, Boundary BLOBs, touching inner "Mask" region.

Figure: Boundary BLOB example 2/1: BLOBs are touching inner yellow "Mask" regions, they are not considered as valid BLOBs, as setting "Boundary BLOBs" is NOT active.

Figure: Boundary BLOB example 2/2: BLOBs are touching inner yellow "Mask" regions, but they are considered as valid BLOBs yet, as setting "Boundary BLOBs" is ACTIVE now!


Detector BLOB, tab Binarization, Histogram

In this window the Histogram of the grey values inside the yellow ROI, and the chosen thresholds are shown.

In the here shown example there are clear maxima for fore- and background. The binarization threshold is adjusted to approx. the center in between.

Figure: Detector BLOB, tab Binarization, Histogram


Detector BLOB, tab Features

In this tab the features / filter criteria to distinguish between valid and invalid BLOBs/objects can be defined.

Processing sequence:
1. Step Binarization: List of BLOBs (all valid / green).
2. For each BLOB all selected features are calculated. Use "pipette" function to determine features.
3. For each criteria a range describing the valid BLOBs can be set.
4. Each BLOB is checked if it is fulfilling all above mentioned features/filter criteria.
5. Each BLOB fulfilling all features is a valid BLOB (green), all others are invalid (red).

Only the valid BLOBs are processed further, e.g. for data output.

Example: If the feature "Area" is set to a range of 100 ... 150 (pixel), only BLOBs with an area within this range are considered as valid (green).

Checkbox (Default: active)
active: feature is calculated, filtered (limits adjustable), and available for data output.
inactive: feature is calculated, but NOT filtered, but available for data output.

Figure: Detector BLOB, tab Features

Slider "Number" in tab Features

Additionally to the features used for filtering the BLOBs, the number of existing and valid BLOBs can be checked.

Result positive: if number of valid (filtered) BLOBs is inside the range of "Number".
Result negative: if number of valid (filtered) BLOBs is outside the range of "Number".

If the detector counts more than 10.000 BLOBs (maximum) the detector result is negative and no further calculations are performed.

Feature | Function
Number | Lower and upper limit of number of BLOBs accepted. (max. 10.000). If the number of BLOBs is outside the defined limits, the detector result is negative, although valid BLOBs are marked in green.
Invert button | With the "Invert button " (default: red/green/red) the logic of detection can be inverted. This way the relevant range can be included or excluded.
Pipette- button (Number) | By clicking this symbol, the lower and upper limit of "Number", are set to exactly the found number of BLOBs in the image.
Checkbox (Number, default active) | active: feature is calculated, filtered (limits adjustable), and available for data output. inactive: feature is calculated, but NOT filtered, but anyway available for data output.

List of features / first level: Base parameter, and BLOB type

Feature

Function

Pipette- button (Feature)

With a click to the "Pipette button" the cursor changes into a pipette symbol. By moving the cursor and clicking to any position (pixel) inside a valid (green) BLOB, the limits of the selected feature are adjusted automatically to +/- 10% of the value of the BLOB clicked to.

E.g.: with selected feature "Area" and clicking with Pipette active to any pixel inside the BLOB , the lower and upper limit of area is set to +/- 10%. of the found number of pixels of the selected BLOB.
Checkbox (Feature, default: active) active: feature is calculated, filtered (limits adjustable), and available for data output.
inactive: feature is calculated, but NOT filtered, but anyway available for data output.
- Area | Area of the BLOB, without holes, in pixels.
- Area (incl. holes) | Area of the BLOB, including holes, in pixels.
- Contour length | Number of pixels of outer contour of the BLOB.
- Compactness

Compactness of BLOB (Circle = 1, all other >1)
The stronger the shape of the BLOB deviates from an ideal circle the larger the value of compactness will be. Range of slider: 1 -100 (clipped at 100, BLOBs with higher values are marked as invalid)
- Center of gravity X | X- coordinate of center of gravity of BLOB
- Center of gravity Y | Y- coordinate of center of gravity of BLOB
BLOB type /
Geometric Model 		Function
Some features are calculated based on a given geometric model, e.g. eccentricity is based on a ellipse fit to the object
- Rectangle, paraxial (R1) | Enclosing rectangle parallel to Y- axis and X- axis. Outliers are not eliminated.

- Rectangle, min. area (R2)

 Enclosing rectangle with smallest area. Outliers are not eliminated.

- Ellipse, equivalent (E1)

 Equivalent ellipse, based on moments of area.

List of features / second level: BLOB type parameter

Feature | Relevant for | Function
- Center X | R1, R2, E1 | X- coordinate of the center of the fitted, geometric element (rectangle, ellipse)
- Center Y | R1, R2, E1 | Y- coordinate of the center of the fitted, geometric element (rectangle, ellipse)
- Width | R1, R2, E1 | Width of geometric element. Width >= 0, width >= height. The orientation is choosen in a way that width is always bigger than hight. (Exception: R1, Rectangle, paraxial: Width always in horizontal orientation = parallel to X- axis)
- Height | R1, R2, E1 | Height of geometric element. Height >= 0, height <= width. The orientation is choosen in a way that width is always bigger than hight. (Exception: R1, Rectangle, paraxial: Height always in vertical orientation = parallel to Y- axis)
- Angle (180) | R2, E1 | Orientation of width (long axis) of object in degree (range: -90 ... +90°, 0° = east, counterclockwise) see below *1)
- Angle (360) | R2, E1 | Orientation of width of object in degree (range: -180 ... +180°, 0° = east, counterclockwise) see below *1)
- Axial ratio | E1 | Ratio long / short axis (a/b)
- Face up/down, area | E1 | Face up/down discrimination, based on area, indicated by sign. See also: Detector BLOB, tab Features, Face up / Face down

*1) Angle (180° / 360°), rotational direction

Figure: Rotational direction of "Angle 180"

Figure: Rotational direction of "Angle 360"


Detector BLOB, tab Features, Face up / Face down

“Face up/down, area” and “Face up/down, contour” assess the symmetry of the blob with respect to an axis determined by the center and the orientation of the blob. If a blob is fully symmetric with respect to this line the result value will be 0 otherwise it will deviate from 0. The sign of the value indicates whether the side to the left or right is “stronger”.

“Face up/down, area”and “Face up/down, contour” can be used e.g. for discrimination of object pose as necessary in pick-and-place applications or with vibratory feeders.

Figure: Face up / Face down, area or contour

The left image displays the demonstration object on one side. The thresholds are choosen in a way that this side is considered OK. The image displayed in the middle shows the same object flipped with its face down. It is considered not OK. The right image displays both objects in the image.

• “Face up/down, area” takes each pixel belonging to the blob into account for the calculation.

• “Face up/down, contour” only takses the pixels belonging to the blob’s contour into account.

This method can be used, if e.g. the object inside the contour varies or is subject to changes due to reflections or other environmental influences.

The axis used for the calculation is determined by the centre and the rotation angle (360°) of the blob. Thus these values are dependent of the geometric model for the blob that has been choosen (e.g. smallest enclosing rectangle (rectangle2) or equivalent ellipse (ellipse1)).

The geometric model has to be choosen in a way that its orientation (360°) returns a stable and unambiguous value. Thus highly objects (e.g. perfect rectangles, circles, squares or point-symmetric objects) cannot reliably be evaluated with this method. For objects where the smallest enclosing rectangle (rectangle2) returns an unambiguous orientation angle, e.g. “L”-shaped geometries or right-angled triangles, the ellipse model might return better results.


Detector BLOB, tab Sorting

The features that have been defined in the tab features Detector BLOB, tab Features are calculated for each individual BLOB. For each BLOB the results of these calculations will be sent to the PLC or computer, if this feature is defined as a telegram Telegram, Data output .The sequence of these results is defined in the tab “Sorting”.

If e.g. the feature “Center of gravity Y” is calculated and there are 5 BLOBs in the image, the telegram comprises the results of all 5 BLOBs. If sorting criterium “Area” and order “Descending” are selected, the result (here: Center of gravity Y) of the BLOB with the largest area will be transmitted first.

Figure: Detector BLOB, tab Sorting

Settings in tab Sorting

Parameter | Function
Sorting criteria | As a sorting criteria any feature explained in tab "Features" can be selected.
Order | Sorting order "Descending" or "Ascending".


Detector Caliper

With this detector you can control the dimensional accuracy of an object.

Color channel

Detector Caliper, tab Probe

Detector Caliper, tab Distance

Caliper results / Histogram display


Detector Caliper, tab Probe

In this tab all parameters of the probe(s) can be set and the result / histogram display can be accessed.

Figure: Detector Caliper, tab Probe

Parameter | Function
Probe type | Selection of Probe type: - One probe, both sides - One probe, one side - Two probes, antiparallel (opposite direction) - Two probes, same direction
Edge strength | Edge strength / contrast above which an edge should be detected as an edge
Smoothing | Edges are smoothed in search direction. With higher values blurred or not to the search direction perpendicular edges are detected more reliably. Also tightly located bright-dark-bright or dark-bright- dark transitions can be eliminated. This way you can fade-out scratches or other disturbing edges. Via the Result button the effects for smoothing can be monitored in the histogram window.
Transition | Selection between light-dark or dark-light transition
No. of search stripes | Number of parallel search stripes into which the width of the search zone is to be divided. Edge detection is processed in each search stripe over the whole width. The bigger the number of search stripes, the more probable the very first edge will be found. (Finer detection - longer execution time).
Results | Opens result and histogram display


Detector Caliper, tab Distance

In this tab all parameters of the searched for distance can be set.

Figure: Detector Caliper, tab Distance

Parameter | Function
Distance | Distance in pixels, with two limits for tolerance band Blue bar: current distance value
Distance mode | For each search stripe one touching point is calculated. If the number of search stripes >1 there a different possibilities how the final result is calculated. - Maximum: The touching point which represents the longest distance is selected. - Minimum: The touching point which represents the smallest distance is selected. - Mean (Average): All touching points are arithmetically averaged. If there are outliers these are also used for the calculation, and do influence the result. - Median: The values of the touching point are sorted ascending and the middle (central) value in the list is chosen. Outliers do not influence the result.


Caliper results / Histogram display

Figure: Caliper results / Histogram display

Parameter | Function
Probe (x) | Image of probe (x) with: - Green line: detected overall result edge - Green crosses: detected edge transition per search ray - Light blue zone: display of “Selected search ray”
Edge strength | Histogram with: - Blue line: contrast gradient in image, depending on “Selected search ray” - Red line: required contrast for edge detection (Threshold) - Light blue line: detected edge transition, depending on “Selected search ray”
Fit, “+”, “-“ | Fit or zoom of “edge strength” histogram
Selected search stripe | Selection of search stripe to be displayed in “Probe (x)” image - Winner: winner search stripe (depending on settings in “Distance/Distance mode”) - “1, 2, ..” Number of search stripe


Barcode detector.

Next topic: 2D Code detector

Barcode detector, tab Reference string

Figure: Detector Barcode, tab Code

Barcode detector, tab Code

Settings in tab Code

Parameters | Functions
Bar code type | Select here the type of barcode to be read with the Code reader.
Decoded string length | Max. Length of a barcode. If contents of code are longer than this value, the rest will be cut off. If more than one code is read by this detector, this value has to be set for the longest code.
Check character | This setting activates the processing for a check character in case it is part of the code. Barcodes with check characters are e.g. Code 39, Codabar, 25 Industrial or 25 Interleaved. If this setting is not activated, the check character will be given out with the normal result string.
Min. number of codes | Minimum number of codes to be read inside the search area.
Max. number of codes | Maximum number of codes to be read inside the search area. If this value is set higher than necessary, the reading time may increase slightly.
Number of characters | Number of expected characters in the barcode. Codes with a different number of characters are ignored. If the number of characters of the code is known, this check increases the detection
No-read string | Specifies the text, which is given out over the interfaces in case of non successful reading.
Polarity | Specifies printing of code "black on white" or "white on black".

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Optimisation:

Execution speed:

  • Search zone for position (yellow frame) only as large as necessary

Robust detection:

  • Search zone for position (yellow frame) sufficiently large?
  • Contrasts for model and image suitably set? (for model visible in sample)
  • Are thresholds set correctly?


Barcode detector, tab Reference string

Next topic: Barcode detector.

Barcode detector, tab Quality

Figure: Detector Barcode, tab Reference string

Settings in tab Reference String

Parameters | Functions
Compare string | Activates verification of contents of the result information. The verification is done by using of regular expressions.
Ref. string | This text or regular expression is taken for verification. Here can be entered characters or regular expressions.
Add expression | Opens a list with examples for regular expressions.
Teach ref. string | Reads the code under the code reader and takes the contents of this code as a reference string. This text can be changed later.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Examples for reference strings specified by regular expressions:

Reference string | Hit | Example for hit
123 | String containing 123 | 01234
\A123 | String beginning with 123 | 1234
123\Z | String ending by 123 | 0123
\A123\Z | String matching exactly 123 | 123
[123] | String containing one of the characters | 33
[123]{2} | String containing sequence of the characters of length 2 | 23
[12]|[34] | String containing a character of one of both groups | 4

Most important elements of regular expressions:

^ or \AMatches start of string

$ or \ZMatches end of string (a trailing newline is allowed)

.Matches any character except newline

[...]Matches any character listed in the brackets. If the first character is a '^', this matches any character except those in the list. You can use the '-' character as in '[A-Z0-9]' to select character ranges. Other characters lose their special meaning in brackets, except '\'.

*Allows 0 or more repetitions of preceding literal or group

+Allows 1 or more repetitions

?Allows 0 or 1 repetitions

{n,m}Allows n to m repetitions

{n}Allows exactly 'n' repetitions

|Separates alternative search expressions


Barcode detector, tab Quality

Barcode detector, tab Reference string

Barcode detector, tab Lines

Figure: Detector Barcode, tab Quality

Settings in tab Quality

Parameters

Functions

Quality param.

Evaluation of printing quality according to international standard ISO/IEC 15416.

In order to achieve an evaluation according to the norm, there are defined minimum requirements for the size of the code inside the camera image (resolution) and mounting of camera and illumination. These requirements are specified inside the norm.

For simple 1D Barcodes, the rating of printing quality is combined in a total of eight elements:

Q1 Overall

Q2 not used

Q3 not used

Q4 Minimal Reflectance

Q5 Minimal Edge contrast

Q6 Modulation

Q7 Defects

Q8 Decodability

"Overall" is rating the total quality, the further elements give information about possible reasons for a reduced quality.

Inside ISO/IEC15416 there is a list with common defects and their influence to the single grades.

The single quality grades are defined as follows:

"Overall" is the minimum value of all other grades.

"Decode" has value 4 when the code was read and value 0 when the code was not read. "Symbol contrast" is the difference between minimum and maximum reflexion value of greyscale, better contrast gives better grading.

"Minimal reflectance" is set to 4 if the lowest reflectance value in the scan reflectance profile is lower or equal to 0.5 of the maximal reflectance value. Otherwise a value of 0 is assigned.

"Edge contrast" is the contrast between any two adjacent elements, either bar-to-space or space-to-bar. The "minimal edge contrast" grades the minimum of the edge contrast values measured in the reflectance profile.

"Modulation" indicates how strong the amplitudes of the bar code elements are. Big amplitudes make the assignment of the elements to bars or spaces more certain, resulting in a high modulation grade.

"Defects" is a grading of reflectance irregularities found within elements and quiet zones. "Decodability" grade reflects deviations of the element widths from the nominal widths defined for the corresponding symbology.

"Additional requirements" are bar code symbology specific requirements: mostly regarding the required quiet zones, but sometimes it can be also related to wide/narrow ratio, inter character gaps, guarding patterns or further symbology specific characteristics.

For composite codes, the rating has 24 grades:

OVERALL:

Q1 Overall

Q2 Overall Linear

Q3 Overall Composite

LINEAR:

Q4 Decode

Q5 Symbol Contrast

Q6 Minimal Reflectance

Q7 Minimal Edge contrast

Q8 Modulation

Q9 Defects

Q10 Decodability

Q11 Additional Requirements

COMPOSITE:

Q12 Decode

Q13 Rap Overall

COMPOSITE RAP:

Q14 Contrast

Q15 Minimal Reflectance

Q16 Minimal Edge Contrast

Q17 Modulation

Q18 Defects

Q19 Decodability

Q20 Codeword Yield

Q21 Unused Error Correction

Q22 Modulation

Q23 Decodability

Q24 Defects

The "overall" grade in the group OVERALL is the final symbol grade to be reported. It is just the lower from the other two in the group: "overall linear" and "overall composite", which are the overall grades of the linear and the composite sub symbols, respectively. The other two groups, "LINEAR" and "COMPOSITE", contain the corresponding individual grades for both sub symbols, and give information for possible causes for poor quality of the symbol. The grades in the "LINEAR" group correspond to those for the simple 1D bar code case, described above. The grades in the "COMPOSITE" group correspond to the grades for a PDF 417 data code symbol, where "rap overall" is called after the specific, so-called RAP, start/stop pattern of Composite symbols. Additionally, the sub group "COMPOSITE RAP" expands the individual grades for the reflectance profile of the RAP patterns. The RAP grades are consistent with the grades for the simple 1D bar code case explained above.

Quality type

There are existing two possibilities, to display quality parameters. Both are according to the norm. The grades can be given in values from A to F or from 4 to 0. A and 4 are the best possible grades. This setting determines how the grades should be displayed. It affects the display on screen as well as the output over the interfaces.

The assignment is the following:

ABCDF

43210

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Barcode detector, tab Lines

Figure: Detector Barcode, tab Lines

Settings in tab Lines

Parameters | Functions
Minimum Size | Minimal size of bar code elements, i.e. the minimal width of bars and spaces. For small bar codes the value should be reduced to 1.5. In the case of huge bar codes the value should be increased, which results in a shorter execution time.
Maximum Size | Maximal size of bar code elements, i.e. the maximal width of bars and spaces. This value should be adequate low such that two neighbouring bar codes are not fused into a single one. On this other hand the value should be sufficiently high in order to find the complete bar code region.
Minimum height | Minimal bar code height. In the case of a bar code with a height of less than 16 pixels the respective height should be set by the user. Note, that the minimal value is 8 pixels. If the bar code is very high, i.e. 70 pixels and more, manually adjusting to the respective height can lead to a speed-up of the subsequent finding and reading operation.
Orientation | Expected bar code orientation. If the bar codes are expected to appear only in certain orientations in the processed images, one can reduce the orientation range adequately. This enables an early identification of false candidates and hence shorter execution times. This adjustment can be used for images with a lot of texture, which includes fragments tending to result in false bar code candidates.
Orientation tolerance | Orientation tolerance. See the explanation of ’orientation’ parameter.
Measuring threshold | The bar-space-sequence of a bar code is determined with a scan line measuring the position of the edges. In the case of disturbances in the bar code region or a high noise level, this value should be increased.
Max. diff orientation | A potential bar code region contains bars, and hence edges, with a similar orientation. This value denotes the maximal difference in this orientation between adjacent pixels and is given in degree. If a bar code is of bad quality with jagged edges this parameter should be set to bigger values. If the bar code is of good it can be set to smaller values, thus reducing the number of potential but false bar code candidates.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Optimisation:

Execution speed:

  • Search zone for position (yellow frame) only as large as necessary

Robust detection:

  • Search zone for position (yellow frame) sufficiently large?
  • Contrasts for model and image suitably set? (for model visible in sample)
  • Are thresholds set correctly?
  • Code size sufficient in the field of view?
  • Width of barcode line sufficient?


Barcode detector, tab Structure

Figure: Detector Barcode, tab Structure

Settings in tab Structure

Parameters

Functions

Edge contrast relative

Edge contrast relative Edges inside barcode are found by setting of a threshold. Parameter ' Edge contrast relative´ defines how this threshold in respect to the dynamic range of the scan line pixels is calculated. In the case of disturbances in the bar code region or a high noise level, the value of ´Edge contrast relative´ should be increased.

Typical values: [0.05 ... 0.2]; Default: 0.05

Edge contrast absolute

 Edge contrast absolute prevents misdetections of edges. For images with high noise levels this value should be higher. In noise-free images with very weak contrast, this parameter might disturb the detection of real edges. So it might be necessary to reduce it or even completely disable it by setting it to 0.0. Typical values: [0.0 ... 10.0]; Default: 5.0

Number scanlines

 Number of scanlines used during the scanning of a code. Reducing the number of scanlines improves speed.Images with higher quality need less scanlines than images of lower quality. For an average image, a value between 2 and 5 should be good. If a code can not be detected any more after reducing the number of scanlines, the number has to be increased again. Typical values: [0, 5, 10, 20 ...]; Default: 0

Min. ident. scanlines

 Minimal number of identical scanlines for a decoding of a code symbol to be accepted. If this parameter is not set (has a value of 0) a bar code is considered decoded with the first scanline, which was successfully decoded. Increasing this parameter to 2 or more is useful to avoid wrong readings. Typical values: [0, 2, 3, ...]; Default: 0

Start- / Stop pattern

 Set searching criteria for a start or stop pattern to 'tolerant' or 'accurate'. 'Tolerant' will increase the detection chances of a bar code especially in images with low contrast. 'Accurate' increases the robustness against false detections. List of values: 'Tolerant', 'Accurate'; Default: 'Tolerant'

Slanted

 If 'slanted' = 'On' improves readability of codes if single lines are orientated different from the others like when the code is not on a plain surface. If 'slanted' = 'Off' default setting when all lines of the barcode are parallel in image. If 'slanted = 'Auto' the sensor tries first ‘On’ and then ‘Auto’, this setting can increase reading time. List of values: 'Off', 'Auto', 'On'; Default: 'Off'

Quiet zone

Enforces the detection of the quiet zones of a bar code.With 'Quiet zone' ='on' the Quiet zones must be at least as wide as specified by the corresponding bar code standard.

With 'Quiet zone' set to an integer value greater than or equal 1, the quiet zones must be at least as wide as 'Quiet zone' x X pixels.

With 'Quiet zone' = 'tolerant' a limited number of edges are allowed in the quiet zone, but at most 1 per 4 module widths. The intent of this is to prevent detecting only part of a bar code, while still allowing to read bar codes with simple quiet zone violations.

With 'Quiet zone' = 'off', the quiet zones detection is disabled.

Detection of quiet zone prevents that simple bar code types are detected inside of a longer bar sequence. Usually, values between 2 and 4 achieve optimal results by effectively suppressing false bar codes, but still tolerating small disturbances, textures, label edges, etc. next to the symbol.

Typical values: 'Off' 'On', 1, 2, 3, 4, 5; Default: 'Off


2D Code detector

2D Code detector, tab Code

Next topic: Detector OCR

2D Code detector, tab Ref. String

Figure: Detector 2D Code, tab Code

Settings in tab Code

Parameters | Functions
Symbol type | Select here the type of code to be read with the Code reader.
Code length | Max. Length of a barcode. If the contents of code are longer, the rest will be cut off. If more than one code is read by this detector, this value has to be set for the longest code.
Min. number of codes | Minimum number of codes to be read inside the search area.
Max. number of codes | Maximum number of codes to be read inside the search area. If this value is set higher than necessary, the reading time may increase slightly.
Reset | Reset parameters are for setting the code reading parameters back to the default state before teaching. There can be selected "standard", "enhanced" and "maximum". "Standard" is setting the default parameters in a way that most of the codes can be read. If your code can not be read, please use setting "Enhanced". If the code still cannot be read, use setting "Maximum". Settings "Enhanced" and "Maximum" may increase the reading time. This reset function is only for resetting the detector parameters, not for resetting of other settings outside the detector (i.e. general settings like illumination, in-outputs, serial settings etc.). After resetting the parameters, there can be made an initial teach, again
Initial teach / Additive teach | Teach: the region of interest is searched for codes. If a code was found the parameters are set for this code. After successful teaching, the code will be marked with a green frame. After teaching a code the code reader will search in "run"-mode only for this type of code. Once teaching was done at least one time successful, this button is named "Teach additive". "Teach additive" is for extending the parameters either in order to read several different codes in one detector or in order to cover differences in printing quality.
No-read string | Specifies the text, sent out over the interfaces in case of non successful reading.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Optimisation

Execution speed:

  • Search zone for position (yellow frame) only as large as necessary

Robust detection:
  • Search zone for position (yellow frame) sufficiently large?
  • Contrasts for model and image suitably set? (for model visible in sample
  • Are thresholds set correctly?


2D Code detector, tab Ref. String

2D Code detector Barcode detector.

Barcode detector, tab Quality

Figure: Detector 2D Code, tab Ref. String

Settings in tab Reference String

Parameters | Functions
Compare string | Activates verification of contents of the result information. The verification is done by using of regular expressions.
Ref. string | This text or regular expression is taken for verification. Here can be entered characters or regular expressions.
Add expression | Opens a list with examples for regular expressions
Teach ref. string | Reads the code under the code reader and takes the contents of this code as a reference string. This text can be changed later.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Reference string | Hit | Example for hit
123 | String containing 123 | 01234
\A123 | String beginning with 123 | 1234
123\Z | String ending by 123 | 0123
\A123\Z | String matching exactly 123 | 123
[123] | String containing one of the characters | 33
[123]{2} | String containing sequence of the characters of length 2 | 23
[12]|[34] | String containing a character of one of both groups | 4

Most important elements of regular expressions:

^ or \AMatches start of string

$ or \ZMatches end of string (a trailing newline is allowed)

.Matches any character except newline

[...]Matches any character listed in the brackets. If the first character is a '^', this matches any character except those in the list. You can use the '-' character as in '[A-Z0-9]' to select character ranges. Other characters lose their special meaning in brackets, except '\'.

*Allows 0 or more repetitions of preceding literal or group

+Allows 1 or more repetitions

?Allows 0 or 1 repetitions

{n,m}Allows n to m repetitions

{n}Allows exactly n repetitions

|Separates alternative search expressions)


2D Code detector, tab Quality

2D Code detector, tab Ref. String

2D Code detector, tab Advanced

Figure: Detector 2D Code, tab Quality

Settings in tab Quality

Parameters Functions

Quality param.

Quality parameters are additional information for rating the printing quality of the code. There are two different standards: AIM DPM-1-2006 and ISO/IEC 15415. Quality parameters are eight single parameters, the definition of the respective elements is as follows:

Q1 Overall quality

Q2 Contrast

Q3 Modulation

Q4 Fixed pattern damage

Q5 Decode

Q6 Axial non-uniformity

Q7 Grid non-uniformity

Q8 Unused error correction

Q9 Mean light

The overall quality is the minimum of all individual grades.

The contrast is the range between the minimal and the maximal pixel intensity in the data code domain, and a strong contrast results in a good grading.

The modulation indicates how strong the amplitudes of the data code modules are. Big amplitudes make the assignment of the modules to black or white more certain, resulting in a high modulation grade.

The fixed pattern of both ECC200 and QR Code is of high importance for detecting and decoding the codes. Degradation or damage of the fixed pattern, or the respective quiet zones, is assessed with the fixed pattern damage quality.

The decode quality always takes the grade 4, meaning that the code could be decoded. Naturally, codes which cannot be decoded cannot be assessed concerning print quality either.

Originally, data codes have squared modules, i.e. the width and height of the modules are the same. Due to a potentially oblique view of the camera onto the data code or a defective fabrication of the data code itself, the width to height ratio can be distorted. This deterioration results in a degraded axial non-uniformity.

If apart from an affine distortion the data code is subject to perspective or any other distortions too this degrades the grid non-uniformity.

As data codes are redundant codes, errors in the modules or code words can be corrected. The amount of error correcting capacities which is not already used by the present data code symbol is expressed in the unused error correction quality. In a way, this grade reflects the reliability of the decoding process. Note, that even codes with an unused error correction grading of 0, which could possibly mean a false decoding result, can be decoded in a reliable way, because the implemented decoding functionality is more sophisticated and robust compared to the reference decode algorithm proposed by the standard.

In order to achieve an evaluation according to the norm, there are defined minimum requirements for the size of the code inside the camera image (resolution) and mounting of camera and illumination. These requirements are specified inside the norm.

Quality parameters according to AIM DPM-1-2006 are a extension to ISO/IEC 15415 Standard, which define the requirements of the grey value conditions oft he image oft he data code, and so improves the reproducibility of the quality evaluation of different manufacturers.

Quality parameters according to AIM consist of one value more than quality parameters according to ISO/IEC 15415. This value is called „Mean Light“. „Mean light“ is not a quality value of the code, it shows the quality of the image by calculating the average grey value of the bright data code modules. „Mean light“ can vary from 0.0 to 1.0. A image has the required grey value conditions if the „mean light“ value is between 70% and 86% (0.70 to 0.86).

Quality type

There are existing two possibilities, to display quality parameters. Both are according to the norm. The grades can be given in values from A to F or from 4 to 0. A and 4 are the best possible grades. This setting determines how the grades should be displayed. It affects the display on screen as well as the output over the interfaces.

The assignment is the following:

A B C D F

4 3 2 1 0


2D Code detector, tab Advanced

2D Code detector, tab Quality

2D Code detector, tab Symbols

Figure: Detector 2D Code, tab Advanced

Settings in tab Advanced

Parameters | Function
Contrast min. | Minimum contrast in grey values between bright and dark parts of the code, range (1...100).
Polarity | Possible restrictions concerning the polarity of the modules, i.e., if they are printed dark on a light background or vice versa.
Slant max. | Slant of the L-shaped finder pattern in radians. This is the difference between the angle of the ’L’ and the right angle.
Mirrored | Describes whether the symbol is or may be mirrored (which is equivalent to swapping the rows and columns of the symbol). The function helps, if codes should be read through transparent parts like glass.


2D Code detector, tab Symbols

2D Code detector, tab Advanced

2D Code detector, tab Modules

Figure: Detector 2D Code, tab Symbols

Settings in tab Symbols

Parameters | Function
Symbol size | Only QR-Code: Size of symbol inside picture in pixel.
Row | Only ECC200 and PDF 417: Number of rows including finder pattern.
Column | Only ECC200 and PDF 417: Number of columns including finder pattern.


2D Code detector, tab Modules

2D Code detector, tab Symbols

2D Code detector, tab Miscellaneous

Figure: Detector 2D Code, tab Modules

Settings in tab Modules

Parameters | Function
Module size | Size of modules in pixels.
Module width | Only PDF 417: width of modules inside picture in pixels.
Module aspect | Only PDF 417: minimum aspect of modules (rows compared to columns).
Module row gap | Only ECC200 and QR-Code: allowed gap between rows, i.e. at dot peened codes which have no full size modules.
Module column gap | Only ECC200 and QR-Code: allowed gap between columns.


2D Code detector, tab Miscellaneous

2D Code detector, tab Modules

Detector OCR

Figure: Detector 2D Code, tab Miscellaneous

Settings in tab Miscellaneous

Parameters | Function
Version | Only QR-Code: Minimum symbol version to be read: [1. . . 40]
Model type | Only QR-Code: Type of the QR Code model specification: 1, 2, 0
Shape | Only ECC200 and QR-Code: Possible restrictions concerning the module shape (rectangle and/or square).
Model robustness | Robustness of the decoding of data codes with very small module sizes. Setting the parameter to ’high’ increases the likelihood of being able to decode data codes with very small module sizes. Additionally, in that case the minimum module size should also be adapted accordingly, thus should be set to the expected minimum module size and width, respectively.
Model grid | Only ECC200: Describes whether the size of the modules may vary (in a specific range) or not. Dependent on the parameter different algorithms are used for the calculation of the module’s centre positions. If it is set to ’fixed’, an equidistant grid is used. Allowing a variable module size (’variable’), the grid is aligned only to the alternating side of the finder pattern. With ’any’ both approaches are tested one after the other. Please note that the value of ’module_grid’ is ignored if ’finder_pattern_tolerance’ is set to ’high’. In this case an equidistant grid is assumed.
Strict model | Specifies, if the code parameters have to be meet completely or not. If this parameter is set to "Yes", all codes outside the parameter range will be ignored.
Position pattern | Only QR-Code: Number of position detection patterns that have to be visible for reading a code (2 or 3).
Find pattern tolerance | Only ECC200: Tolerance of the search with respect to a disturbed or missing finder pattern. The finder pattern includes the L-shaped side as well as the opposite alternating side. In one case (’low’), it is assumed that the finder pattern is present to a high degree and shows almost no disturbances. In the other case (’high’), the finder pattern may be heavily disturbed or missing completely without influencing the recognition and the reading of the symbol. Note, however, that in this mode the run-time may significantly increase.


Detector OCR

Detector OCR, Procedure

To set up an OCR Detector please follow these steps. As some steps base on the results of the one which was processed before, for a correct processing the sequence of the steps must be as described.

Detector OCR, tab Character (flexible)

Figure: Detector OCR

Basic sequence of setting parameters

  • Segmentation by use of the tabs „Characters“ and „Segmentation“ as well as tab „Pre-Processing“ in step „Job“.
  • Classification by use of tab „Classification“ by selection of a font and definition of a reference string.
  • Removing of characters which not have been classified with sufficient quality in tab „Quality“.
  • Using the OCR-Detector it is not sufficient to set the parameters with only one image. Stable reading results can only be achieved by using a large number of images. We recommend saving typically 20 to 30 images to cover all variations of the process, and optimising parameters in offline mode.

Segmentation

  • Optimizing of segmentation by use of the tabs „Characters“ and „Segmentation“. Goal is to get a stable segmentation for all single characters. The result of classification "reading result" is not important in this step, this will be optimized later.
  • Segmentation can be improved by use of image pre-processing in tab „Job“ – „Pre-Processing“, e.g. by use of „Gauss“, "Mean" or „Dilatation“/“Erosion“ or a combination of them. To achieve a stable segmentation it is recommended to use smoothing filters like "Gauss" or "Mean".
  • Parameter „Groups of characters“ may support segmentation by specification of the number of characters per group.
  • Parameter „Max. deviation from base line“ specifies, how much the vertical character position may be different from the base line of the font. Value is in percent of character height.
  • Verify proper segmentation of all characters before going to step "Classification". Classification has no influence to segmentation. Faulty segmented characters will be classified wrong.

Segmentation Examples:

Figure: Segmentation without any preset for parameter “Groups of characters”: All characters are found

Figure: Figure 117: Segmentation with value „3 3“ for parameter “Groups of characters”: Only the both groups of 3 characters are found.

Figure: Figure 118: Segmentation without preset for parameter “Groups of characters”: The segmentation for the first character „1“ failed, as it´s contrast to background is much lower than all others.

Figure: Figure 119: Segmentation with value “3 3 2 1“ for parameter “Groups of characters”: Also the „lower contrast character“ get´s segmented.

Figure: Figure 120: Segmentation with parameter “Text orientation” = „Font horizontal in image“: No characters are segmented as there are no characters with horizontal orientation in the image.

Figure: Figure 121: Segmentation with parameter “Text orientation” = „Font horizontal in ROI“: Segmentation works as characters are horizontal relative to ROI (search area).

Figure: Figure 122: Segmentation with value 15% for parameter: “Max deviation from base line”: Only the inner five characters are segmented.

Figure: Figure 123: Segmentation with value 25% for parameter “Max deviation from base line”: All characters are segmented.

Classification

  • In this step a suitable character set „font“ is selected. Each font is available with different character sets. Goal is to choose the font with the most stable results for the application.
  • Naming of fonts by the example of group „Industrial“:
    • - „Industrial_0-9“: all numbers
    • - „Industrial_0-9+“: all numbers and special characters
    • - „Industrial_A-Z+“: all capital letters and special characters
    • - „Industrial_0-9A-Z“: all numbers and capital letters
    • - “Industrial.omc“: all characters
  • Reference string has two functions:
  1. Manipulation of classification (of the recognized characters):
    For each segmented character a rating value (confidence), in relation to each in the whole set of characters (font) available character is calculated.
    If reference string is not used, the character with the highest rating value (confidence) is the winner. By use of reference string the "N" best alternatives will be considered (No. of alternatives). Maximum number of allowed character changes which did not have the maximum rating value (confidence) is specified in: “No. of corrections”.
  2. Manipulation of detector result:
    A minimum quality for complete string is specified (Threshold). If quality is below the threshold, detector result will be "false".

Quality

  • If quality of one of the classified characters is below “Minimum confidence”, the detector result will be "false".
  • Low confidence shows, that a character was not classified reliably. High confidence value however, is not a guarantee for reliable classification!


Detektor OCR, Segmentation mode

Settings in tab Segmentation Type

Definition of type of segmentation.

Parameter | Funktion
Segmentation | Flexible : This segmentation is based on a sequence of characters, a sequence of characters has to be at least 3 characters long. This method needs more time than method "Fast (Threshold)", but it is more tolerant to low contrast characters and changing illumination conditions.
 | Fast : Segmentation is done by seperating characters and background with a specified threshold. Also one character texts can be read. This method is very fast, but not so much tolerant to low contrast characters or changing illumination conditions.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Further information on working with OCR Detector: How to set up OCR Detector

Further information on working with detectors: Creating and adjusting detectors


Detector OCR, tab Character (flexible)

Detector OCR

Detector OCR, tab Segmentation

Basic settings for characters to read.

Figure: Detector OCR, tab Character

Parameters Functions

Character height

Max. height of character in pixels.

Character width

Max. width of character in pixels.

Stroke width

Average width of lines of characters in pixels.

Polarity

Possibility to select between dark characters on bright background or vice versa.

Text orientation

„Font horizontal in Image“: text has to be horizontal in camera image. Rotated text will be not read or wrong read.

„Font horizontal in ROI“: by rotation of ROI a rotation angle for reading of rotated text can be specified.

Max. number of lines

Max. number of lines to read.

Upper case only

Limitation to capital letters only.

Connect dots to characters

Connects single dots, e.g. of a dotted font or of a bad printed font for complete characters.

Overlay character size

Switch on and off overlay rectangle for size of letters.

Overlay segmentation

Switch on and off coloured overlay for segmentation of characters.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Optimisation:

Execution speed:

  • Search zone for character (yellow frame) only as large as necessary


Detector OCR, tab Segmentation

Definition of basic settings of characters to read.

Detector OCR, tab Character (flexible)

Detector OCR, tab Classification

Figure: Detector OCR, tab Segmentation

Parameters | Functions
Remove lines in background | This parameter can be used to remove disturbing lines in the background.
Connect fragments | Connects characters which may be divided e.g. by bad printing in two parts to one segment.
Imprinted | Enables reading of imprinted fonts e.g. if characters appear due to the illumination as white text with black outline (shadow) or vice versa.
Return Punctuation | Activates output of special characters such as full stops or comma.
Return separators | Activates output of special characters like dash.
Groups of characters | Enables possibility to specify the spacing of characters to read. E.G. if characters are always printed in two groups of four characters this can be specified by input of "4 4”. This function should be used, if in several reading attempts in one and the same image, a different string length is read.
Max. deviation from base line | Maximum allowed difference of horizontal position characters on a straight line between first and last character. This function may be used if characters are not printed on a horizontal line.


Detector OCR, tab Classification

Definition of basic settings of characters to read.

Detector OCR, tab Segmentation

Detector OCR, available fonts

Detector OCR, tab Quality

Figure: Detector OCR, tab Classification

Parameters Functions

Font

For available fonts s. chap. Detector OCR, available fonts

0-9 => numbers only

0-9+ => numbers and special characters

A-Z => only capital letters

A-Z+ => capital letters and special characters

No extension => all characters

Ref. String (Checkbox)

Activates verification of contents of the information read. Verification is done on base of regular expressions.

Ref. string

This text or regular expression is used for verification. Here can be entered definite characters, which are compared directly, or with regular expressions to verify the structure of the result read. Characters which look very similar as number or as letter like "8" and "B" can be corrected automatically by use of regular expressions.

In the case of the 'Reference string' the detector algorithm purely uses this as a simple check string, after it has 'segmented' and 'classified' the characters, and its only to confirm that the decoded string is as the per the 'Reference string'. and it doesn't influence the classification in any way.

In the case of the 'Reference string' that is made up of a 'regular expression', then the 'expression' will try to use known characters to 'best fit' the expression.ie Day 3 letter (MON / TUE / WED / etc ) is the segmentation and decode gives M0N rather than MON then the camera software will automatically 'correct' the (number) 0 to become a (letter) O .

Add expression

Opens a list with regular expressions.

Teach ref. string

Reads the code below the Code Reader and copies the contents into Ref. string. Text can be edited afterwards.

No. of alternatives

This command controls how many 'other' near characters are to be considered ie if we are physically looking at a number '8', the near characters could be 6,9,0,B,R,D,O,S and only the closest matching 'x' number of near alternatives will be considered.

No. of corrections

This command controls how many characters with in the string can be changed when using a regular expression in the reference string ie Day 3 letter (MON / TUE / WED / etc ) is the segmentation and decode gives the letters W6O rather than WED then with a setting of '2' in this field the camera software will automatically 'correct' the (number) 6 and (letter) O to become a (letter) E and D - If the setting in the field was 1 then the detector would fail.

Threshold

Threshold for good-bad decision: if number of corrections is higher than this threshold, the text will be marked as "not read" (detector result false).

Most important elements of regular expressions

Reference string | Hi | Example for hit
123 | String containing 123 | 01234
\A123 | String beginning with 123 | 1234
123\Z | String ending by 123 | 0123
\A123\Z | String matching exactly 123 | 123
[123] | String containing one of the characters | 33
[123]{2} | String containing sequence of the characters of length 2 | 23
[12]|[34] | String containing a character of one of both groups | 4

^ or \AMatches start of string

$ or \ZMatches end of string (a trailing newline is allowed)

.Matches any character except newline

[...]Matches any character listed in the brackets. If the first character is a '^', this matches any character except those in the list. You can use the '-' character as in '[A-Z0-9]' to select character ranges. Other characters lose their special meaning in brackets, except '\'.

*Allows 0 or more repetitions of preceding literal or group

+Allows 1 or more repetitions

?Allows 0 or 1 repetitions

{n,m}Allows n to m repetitions

{n}Allows exactly n repetitions

|Separates alternative search expressions)


Detector OCR, available fonts

Detector OCR, tab Classification

Detector OCR, tab Quality

Overview of fonts:

Semi

Dot print

Handwritten

Industrial

MICR

OCRA

OCRB

Pharma


Detector OCR, tab Quality

Definition of basic settings of characters to read.

Detector OCR, tab Classification

Detector OCR

Figure: Detector OCR, tab Quality

Parameters | Functions
Quality | Quality of each character gets a value of 0 – 100 %. As higher the value, as higher is the confidence to the result. Small values are a sign for a bad reading quality.
Minimum confidence | If minimum confidence was not reached the character is considered to be not read and will be replaced by the replacement character.
Replacement character | Output character for the case that minimum confidence was not reached.


OCR-Detector, tab Threshold

Definition of basic settings of characters to read.

Parameters | Functions
Automatic | Activate automatic binarization.
Threshold correction factor | For each image the intensity threshold will be automatically calculated by evaluating the current brightness of the object and the background. These dynamic threshold can be manually corrected so that the final value will be move closer or further away to the intensity of the background.
Manual | Activate manual binarization.
Brightness threshold | Fixed threshold of contrast.
Polarity | Possibility to select between dark charaters on bright background or vice versa.
Decoded string length | Maximum allowed length of string.
Connect fragments | Off, 1...30, connects fragments to characters.
Overlay character size | Switch on and off overlay rectangle for size of letters.
Overlay segmentation | Switch on and off colored overlay for segmentation of characters.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Further information on working with OCR Detector: How to set up OCR Detector

Further information on working with detectors: Creating and adjusting detectors


Detector OCR, tab Characters (fast)

Definition of basic settings of characters to read.

Parameters | Functions
Character height | Character height Max. height of character in pixels.
Character width | Max. width of character in pixels.
Text orientation | „Font horizontal in Image“: text has to be horizontal in camera image. Rotated text will be not read or wrong read. „Font horizontal in ROI“: by rotation of ROI a rotation angle for reading of rotated text can be specified.
Separation | Seperates horizontal connected characters, which have a much bigger width as selected.
Reduction | Reduces segmented areas, which have been enlarged by "Connect fragments" to original size.
Character selection | Specification of tolerances to the defined character sizes.
Height | Specification of tolerances to the defined character height (50% to 150%). To be activated with "Active"
Width | Specification of tolerances to the defined character width (50% to 150%). To be activated with "Active"
Area | Specification of tolerances to the resulting area (10% to 100%). To be activated with "Active"
Exclude ROI border characters | Ignore charactes which are overlapping the region of interest.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.

Further information on working with OCR Detector: How to set up OCR Detector

Further information on working with detectors: Creating and adjusting detectors


Result OCR

This function executes the job defined on the PC and the Result statistics window is displayed with Detector list and Evaluation results. Execution times are not updated in this mode, as they are not available from the sensor.

Detector OCR, tab Quality

Detailed inspection results from the detector marked in the selection list are displayed in run mode.

In the image window the search- and feature areas and the result bar graphs are displayed – if set up.

Figure: Detector OCR, Result display

The parameters displayed vary according to the type of detector selected:

Parameters | Functions
String | Characters read
Confidence | Value from 0-100%, shows how reliably a character has been read
String length | Length of string
Position X | Position X in pixels
Position Y | Position Y in pixels
Angle | Angle compared to horizontal line
Compare result | Is an indication for the quality of a result. If no characters had to be replaced according the reference string, this value is at 100%. The value decreases with rising number of corrections
Meets reference string | Indicates if string meets the reference string.
Compare result | Indicates if minimum quality was reached.
Truncated | Indicates if a part of the string was truncated.


Detector Color value

Output of average color values RGB / HSV / LAB over one of the interfaces.

Color channel

Tab Color value


Farbkanal auswählen

Color channel

Selection of Color models or color channel on which the detector should work.

The display of the image depends on the image chip and the selected detector.

A image, taken with a colour chip contains more information by the colour component than a monochrome image. This feature can be used with the colour channel selection. By selection of single colour channels specific zones can be intensified or weakend.

- Monochrome chip: Display always black/ white

- Color chip + Color detector: Display always colored

- Color chip + Object detector: Monochrome image, display depending on selected color model and color channel

Figure: Color channel

Parameter | Function
Color model | Color model: RGB, Color model RGB, HSV, Color model HSV, LAB, Color model LAB
Color channel | One ore more channels can be selected.


Tab Color value

Output of average color values RGB / HSV / LAB over one of the interfaces.

Next topic: Detector Color area, Color select

Function: Mask

Figure: Color value

Parameter (Color channel dependent from setting of color model)detector | Function
Red (Hue / Lightness)1 | Threshold for selected channel min. / max.
Green (Saturation / A) | Threshold for selected channel min. / max.
Blue (Value/ B) | Threshold for selected channel min. / max.
Search region | Sets search region as rectangle, as circle or as free shape. If free shape was selected, "Edit search region" gets active.
Edit search region | By edit ROI there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an erasor. Masks can also be inverted, means that parts which are interesting can be marked.
Overlay search region | Activate overlays for free shape search regions.

Predestinated applications

- Output of calculated color parameters via one of the data interfaces for further processing.

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Detector Color area

Detector Color area, Color select

Determines percentage of area covered by a color or a range of colors. Depending from area there can be created a good / bad decision.

Color channel

Detector Color area, Color select

Detector Color area, Thresholds


Detector Color area, Color select

Function: Function: Mask

Determines percentage of area covered by a color or a range of colors. Depending from area there can be created a good / bad decision.

Figure: Color area

Parameter (Color channel dependent from setting of color model)detector | Function
Red (Hue / Lightness)1 | Threshold for selected channel min. / max.
Green (Saturation / A) | Threshold for selected channel min. / max.
Blue (Value/ B) | Threshold for selected channel min. / max.
Search region | Sets search region as rectangle, as circle or as free shape. If free shape was selected, "Edit search region" gets active.
Edit search region | By edit ROI there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an erasor. Masks can also be inverted, means that parts which are interesting can be marked.
Overlay search region | Activate overlays for free shape search regions.
Overlay | Color marking of pixels inside or outside of specified color range. This is a help during setup to vizualise detector results and to set thresholds more accurate.
Color histogram | Offers possibility to enter the thresholds inside a color histogram.

Predestinated applications:

- Colored object with certain size and variable position in the ROI

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Color histogram

Depending from selected color model there are displayed histograms for RGB, HSV or LAB. The histogram shows the distribution of colors in region of interest. By the buttons there can be switched on and off single channels. Limits for color detection can by set by moving small markings below the histogram. The selected range of colors is shown by colored areas. Crossing the limits results in invertion of the selection. If a color can be detected reliable by using only one channel, the other channels have to be set to max./min. limits to avoid disturbing influence to detection.

Figure: Color histogram


Detector Color area, Thresholds

Determines percentage of area covered by a color or a range of colors. Setting of thresholds.

Next topic: Detector Color list

Figure: Color area, thresholds

Parameter | Function
Threshold | Threshold for percentage of the area min. / max.
Object size | Min. / Max. object size (connected area)

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Detector Color list

Compares a color with a list of known colors. Result: number or name of the color clossest to a color in the list. This enables sorting of parts by color.

Color channel

Detector Color list, Color select


Detector Color list, Color select

Next topic: Output of inspection results

Function: Mask

Compares a color with a list of known colors. Result: number or name of the color clossest to a color in the list. This enables sorting of parts by color.

Figure: Color list

Parameter | Function
Color distance | Distance of current color against taught color. The metric of the color distance depends on the the Color models used, only the selected color channels are considered. *1)
Name | Name of color, can be changed by doubleclick, e.g. red, green, blue...der Farbe, kann per Doppelklick auf den Namen geändert werden, z.B. Rot, Gelb, Blau
Sample color | Ouput of taught color as colored area and in numbers (RGB / HSV / LAB)
Teach | Teach color in active line, if more than one color has to be taught in one and the same image, a small ROI has to be moved to every color.
+ | Add new line at end of list.
- | Delete active line.
Delete all | Delete complete list.
Up | Move marked line one line up.
Down | Move marked line one line down.
Search region | Sets search region as rectangle, as circle or as free shape. If free shape was selected, "Edit search region" gets active.
Edit search region | By edit ROI there can be masked out parts of the search area. The parts which are not relevant for this examination can be painted out like using an erasor. Masks can also be inverted, means that parts which are interesting can be marked.
Overlay search region | Activate overlays for free shape search regions.
Overlay | Color marking of pixels inside or outside of specified color range. This is a help during setup to vizualise detector results and to set thresholds more accurate.
Color histogram | Offers possibility to enter the thresholds inside a color histogram.

1*) In the RGB- and LAB- color model the color distance is the euklidean distance.

In the color model LAB the distribution of colors is nearly homogenious over the entire model, that means that color distances of the same value lead to the very equal cognition of color difference over the entire model. That is why we can state that a distance of a value of >= 5 leads to a cognition of a different color in this color model.

Predestinated applicaitons:

- Sorting of colored object via the list index

- Simple control of homogenious colored areas (average of color value over ROI, teach, adjust small color distance (tolerance band) .. that´s it)

For newly generated detectors, all parameters are preset as standard values, suitable for many applications.


Output of inspection results

Here you define the assignment and logical connection of the digital signal outputs as well as the interfaces and output data of your SBS .

I/O mapping

Output signals (Digital outputs / Logic)

Interfaces

Timing, Digital outputs

Telegram, Data output


I/O mapping

Here the following settings can be made:
  1. Definition, if I/O is used as an input or output (Pin 05 - 08, can be used as input or output)
  2. Assignment of functionality to inputs and outputs. In the list-box there can be seen and selected all available functions for this input or output. Some functions can be assigned only to one special input or output (e.g. HW/Trigger).

Figure: Output, I/O Mapping

Functions of inputs

Function | Description
H/W Trigger | Hardware Trigger (only on pin 03 WH available)
Encoder A+ | Input for encoder, Track A+ (only on pin 10 VT available)
Encoder B+ | Input for encoder, Track B+ (only on pin 05 PK available)
Enable Trigger | Enable or disable trigger signals (input needs a minimum signal length of 2ms before raising trigger signal).
Job 1 or 2 | Job change between Job 1 and Job 2, depending on status of this input. Low = Job 1, High = Job 2.
Job 1 … N | Job change by pulses on one input
Teach temporary / permanent | Teaching of all detectors. Rising edge on this input and trigger start teaching. Temporary: storage in RAM, void after reset. Permanent: storage in flash, still valid after reset.
Job switch (BitX), binary coded | Job change by binary bit pattern. Up to 5 inputs can be used to select up to 32 jobs. Bit1 = LSB
Repeat mode enable | Images are captured and evaluated as long as: this input is on high level and none of the following stop criteria is fulfillled: - "Overall job result" = positive (access via Output/Digital output) - "Max. cycle time" is not elapsed (if active) If "Repeat mode enable" is used, this implicitly causes function "Trigger enable" at the same time. That means only if a high signal is at this input, triggers are accepted and executed. see below: Input, Repeat Mode Enable, with Trigger
Multishot trigger (only if Mutishot active) | Default setting if Mutishot is active, instead of above mentioned H/W Trigger
No function, undefined | no function, not used

Functions which are used already are displayed in grey, because they cannot be used any more. All inputs need a minimum signal length of 2ms.

Figure: Output, Inputs

Encoder Connection

If both tracks A+ ans B+ are used increasing or decreasing counting can be done / forward or backward movement of e.g. conveyor can be recognized. The encoder input could work with a frequency of max. 18kHz.

Figure: Encoder connection A+ / B+

Functions of outputs

Function | Description
Ejector | Dedicated ejector output, maximum load 100mA (all other outputs 50 mA), only on pin 12 RDBU available. (corresponds LED "A")
Result | Result output, every result output can be covered with a detector result or a logical expression.
Acknowledge job change | Can be used to get a confirmation after successful job change via digital I/O („Job 1..n" or „Job Pin ‘X’, binary coded"). Rising edge indicates successful job change; high level is reset after 20ms. If job switch was not successful, signals remain low.
External illumination | If this setting is selected (via pin 09 RD available only), a external illumination can be connected / triggered
No function, undefined | no function, not used

Figure: Outputs

There are 2 predefined outputs:

  • Ready: indicates, that Sensor is ready to receive a trigger.
  • Valid: indicated, that data on outputs are valid.

Functions of the programmable, digital inputs:

During operation with process control, the following cases can be carried out via the inputs:

  • inactive
  • enable/disable
  • load Job (binary coded)
  • load Job 1 ... n
  • teach temporarily
  • teach permanently

Description of different cases with a signal diagram.

All following signal diagrams are based on the setting "PNP".

Input: "Trigger enable"

For enable (high) or disable (low) of trigger input.

Figure: Input timing, Trigger enable

Input: Job change binary or by function Job 1 or 2:

Job change binary over up to 5 inputs (Job 1- max. 31):

Possible only if Ready = high. As soon as the binary input signal change Ready is set to low.

Ready remains low until switch-over to the new job is done. If the option “Job change confirm” is used, this signal occurs after the job change, and hereafter "Ready" is set high again. During Job Change via binary inputs there must not be sent any trigger signal. The change of the logic levels of the according inputs must happen at the same time (during maximum 10ms all inputs must have a stable logic level)

Job change by function: Job 1 or 2:

Possible only if Ready = high. At the level change of the according input Ready is set low. Ready remains low till the job change is done. If the option “Job change confirm” is used, this signal occurs after the job change, and hereafter "Ready" is set high again. During Job Change over binary inputs there must not be sent any trigger signal. A high level causes evaluation according to job 2; a low level produces evaluation according to job 1.

Differences between binary switching and Job 1 or 2:

By usage of binary job switch the desired job number must be represented binary coded via the selected inputs. Therefore in this mode to switch between 2 jobs minimum 2 inputs are necessary.

In case of Job change Job 1 or 2 a high level cause’s evaluation according to job 2, a low level produces evaluation according to job 1. In this way with only one input two the switching between two jobs can be done.

Figure: Input timing, Job change via Binary / Job 1 or 2

Input: Job 1 ... n

For switching between jobs via impulses. Only possible when Ready = high. With the first impulse Ready is set to low. Impulses are counted until the first delay of >= 50ms and then switches to the appropriate job. Ready remains low until switch-over to the new job occurs. If the option “Job change confirm” is used, this signal occurs after the job change, and hereafter "Ready" is set high again. During Job Change over binary inputs there must not be sent any trigger signal. Pulse length for job change should be 5 ms pulse and 5 ms delay.

If possible job change should be made by binary coded signals like in fig. 2, this is the faster way.

Figure: Input timing, Job 1 ... n

Attention!

At Job switch please take care of the following:

- All Jobs must have the same setting for job change

- All Jobs must be in triggered mode

- Ready signal must be high when trigger sequence starts

Input: Teach temp. / perm.

For re-teaching samples of all detectors of the current job. Only possible when Ready = high. A rising edge initiates teaching, during which a high level must exist at least until the next trigger, so that an image of an inspection part can be recorded in the correct position. Ready is set to low and remains low until teaching has been completed. Storage is either temporary (only in RAM), or permanent (in flash) according to the setting.

Figure: Input timing, Teach

Attention!

The functions Job 1 or 2, Job 1 ... n or teach temp. /perm. can only be used in trigger mode

Input, Repeat Mode Enable, with Trigger

Images are captured and evaluated as long as,
this input is on high level and none of the following stop criteria is fulfillled:
- "Overall job result" = positive (access via Output/Digital output)
- "Max. cycle time" is not elapsed (if active)
If "Repeat mode enable" is used, this implicitly causes function "Trigger enable" at the same time. That means only if a high signal is at this input, triggers are accepted and executed

Figure: Input, Repeat Mode Enable, with Trigger

Input, Repeat Mode Enable, in Freerun

Figure: Input, Repeat Mode Enable, with Trigger


Output signals (Digital outputs / Logic)

In this tab, you define the switching behaviour and logical connection of the digital outputs. Number of outputs depends from settings in tab IO mapping. Additionally an IO-extension can be connected over the serial interface.

Figure: Output, tab digital output

Description of different cases with a signal diagram.

For each pin (output) there are the following possibilities:

Parameter | Function
Overall job result | No physical output, effects recorder, statistics and archiving functions
Invert | Invert total result for this pin (output)
Mode | Standard: combine several detectors by logical expressions like AND (&) / OR (|) / NOT (!) to one logical expression. Advanced: Free edit of logical expression.
NOT | Select: operator NOT (!)
Logic | Select: operator AND (&) / OR (|)
D1 - D... | All active detectors are shown in this list depending from number of detectors. These can be assigned to the listed output. Each detector can be set to on, off and invert.
Logical Expression | Here is shown either the logical expression that was build automatically by using of standard mode or the logical expression can be entered free by using the advanced mode.

Defining logical connection:

Define the logical connection between the inspection results of the individual detectors and the status of the selected output. You have two input possibilities:


Logical connection – Standard mode

In standard mode, connection of detector inspection results with the selected output must be carried out using the option buttons operator and the checkboxes in the detector selection list. The result is displayed in the logical formulas window (cannot be edited).

Connecting results:

  1. Select the logical operator to be used for connecting the detectors in the selection list, from the operator window.
  2. Activate the detector in the selection list which is to contribute to the result (tick in the Active column).

By activation the “Inverted” column, you can individually invert the respective detector result.

The entry in the “Result” column alters accordingly.

Examples:

The detector results can only be connected by one logical operation, e.g.:

  • (D1&D2&D3) or
  • !((!D1)|D2|D3) etc.

(For more complex connections, please select Formula mode)


Logical connection – Formula mode

In formula mode, connection of detector inspection results with the selected output is defined by the direct input of a logical formula. The operators AND, OR and NOT and round brackets are available for this purpose.

Please use the following characters for the logical operators when editing the formula:

  • "&" for AND
  • "|" for OR ("AltCtrl" key and "<>" key)
  • "!" for NOT
Examples:

Logical expressions of any complexity can be created, e.g.:

  • (D1&D2)|(D3&D4)
  • !((D1|D2)&(D3|D4))
  • (D1|D2)&(D3|D4)&(D5|D6)

etc.


Interfaces

In this tab you select and activate the digital inputs/outputs used and the interfaces for data output:

Figure: Output, tab Interfaces

Parameter Function

Internal I/O

Selection of I/O-type: PNP or NPN

RS 422 (baud rate)

RS422 for data output with choice of data transmission rate

Ext. (digital I/O)

External inputs and outputs (with I/O and encoder extension module)

Ethernet

Ethernet TCP/IP for data output. Sensor is a socket server. There are used two ports which can be defined by the user. Default is port 2006 (IN) for commands to sensor and port 2005 (OUT) for data transfer. Festo offer utilities for explanation of Ethernet communication. They are installed together with this software in utilities directory.

Ethernet/IP

Field bus Ethernet/IP for data output. Vision Sensor, EtherNet/IP, Introduction

Profinet

Field bus Profinet for data output, PLC communication.

The Vision sensor starts the Profinet-Stack as soon as a job with Profinet is selected. Due to this the cycle time is slightly extended. Switching into a job without Profinet does not stop the Profinet- stack. To stop the stack the device must be turned off.

Note:

The sensor starts the Profinet stack as soon as a job with Profinet is selected. This causes a small slow down of the execution speed. Switching to another job without Profinet does not stop the stack. Only a new start / reset starts the sensor without execution of the stack. Vision Sensor, PROFINET, Introduction

SBSxWebViewer

Activates the webserver on the Vision Sensor. Similar like in the local installed module "Vision Sensor Visualisation Studio" now via "SBSxWebViewer" images and result data can be displayed via webbrowser.

Following browsers are supported: Microsoft Internet Explorer ab IE10, Google Chrome and Mozilla Firefox .

To start SBSxWebViewer:
- Activate SBSxWebViewer, at Output/Interfaces/SBSxWebViewer
- "Start sensor" (press button in Vision Sensor Configuration Studio)
- Open Browser
- Type the IP address of the sensor (see Vision Sensor Device Manager) into the address field of the browser.
Format: "http://Your Sensor IP", e.g.: "http://192.168.100.100" (default). See also: SBS – SBSxWebViewer

For further informations see User manual, chapter "Communication"

Information

The outputs and interfaces can be separately activated or deactivated in the Active column.

Logical outputs:

By using the RS422, Ethernet and EtherNet/IP interface additional pure logic outputs can be defined, which just exist logically and can be communicated via one of these interfaces only.

Logical outputs can be assigned to an e.g. detector result or to a logic expression (formula).


SBS – SBSxWebViewer

With this software a connected sensor can be monitored, and results analysed.

From here no new settings on the sensor can be done, it´s a pure display tool to visualize images and results via a web browser.

Figure: SBSxWebViewer in the Browser / Results

Functions

Switch off help window.

Zoom of image. A click into the images brings back the original, smaller view.

On / off of result bargraph.

On / off of overlays.

Store current image as a file.

Switches between languages

Switches between Result, Statistics and the list of Jobs available on the sensor.

Commands for image control:

Possibility to"Freeze" an image. Only the image view is frozen, image capturing and execution is continued.

Status of outputs

Figure: SBSxWebViewer / Statistics

Figure: SBSxWebViewer / Job

To start SBSxWebViewer:

- Activate SBSxWebViewer, at Output/Interfaces/SBSxWebViewer
- "Start sensor" (press button in Vision Sensor Configuration Studio)
- Open Browser
- Type the IP address of the sensor (see Vision Sensor Device Manager) into the address field of the browser.
Format: "http://Your Sensor IP", e.g.: "http://192.168.100.100" (default).

Note:

The following web browsers are supported: Microsoft Internet Explorer from IE10, Google Chrome and Morzilla Firefox .

With http://192.168.100.100/zoom.html (IP address of the sensor) a zoomed view is directly accessible.

Per one Vision Sensor only one browser connection is allowed.


Timing, Digital outputs

In this tab, you determine the time response of the selected signal output. If encoder was selected the delays are entered in encoder steps. Depending on the settings in the I/O configuration all following time delays are done in ms or in encoder steps.

Figure: Output, tab Timing

Parameters Functions

Trigger delay

Time between trigger and start of image capturing (in ms or encoder pulses). Max. time / no. of steps, is 3000 ms / encoder pulses.

In case of use of:

- H/W Trigger (digital input): this delay is effective.

- Trigger (via Ethernet, Profinet): this delay is not effective (image is captured on trigger directly)

Digital outputs

All outputs can be delayed or only the ejector output.

Ejector / result delay

Time between trigger and appearance of result level at the signal outputs (in ms or encoder pulses). Between trigger and ejector maximum 20 parts are allowed (buffer size). Max. time / no. of steps, is 3000 ms / encoder pulses.
In case of use of:
- H/W Trigger (digital input): this delay is effective and starts with the trigger.

- Trigger (via Ethernet, Profinet): this delay is effective, but starts only after image is processed (not with the trigger!)

Reset signal

Determines, how to reset outputs.

Duration of result

Duration of result signal in ms

Attention:

At Job Change and change from Run- to Config Mode outputs will get the following states: Buffer of delayed outputs will be deleted.

Digital outputs:

Will be reset to default at change from "Run" to "Config". Defaults are set by flag "Invert" in output tab. "Invert" inverts the default setting and also the result.

Reset of digital outputs:

The reset of the result outputs can happen depending on different settings 7 events. This are:

  • “Change on result” (default).
    The output changes its level according to the logical result when the next logical result is generated and valid. Typical use at controlling switch points e.g. in sorting applications.
  • “Change on trigger”
    The output is set to “inactive” (in operating mode PNP = low) with the next trigger. Typical use at operation with a PLC.
  • “Valid duration”
    The output changes back to inactive after the "Valid" duration time setting here in ms. typical use with e.g. pneumatic ejectors.

S. Vision Sensor Configuration Studio/Output/Timing/Signalling

READY AND VALID

  • If Ready = high: Ready for next image / evaluation.
  • If Valid = high: Results are valid at the outputs.

PNP or NPN operating mode.

All the described examples are in the operation mode „PNP“. If the setting „NPN“ is used, the examples are valid, but with inverted signal levels.

S. Vision Sensor Configuration Studio/Output/Interfaces/Internal I/O

The following cases for output timing are available:

Normal trigger, no delays:

Sequence: (Signalling here: Change in result)

  • Rising edge at Trigger input (Pin03 WH)
  • Consequence of Trigger = high: Ready = low, and Valid = low
  • After the SBS has evaluated the image and the results are valid the defined outputs change to the according logical states. Ready and Valid are set to high again. (ready for next task, outputs valid)

Figure: Output timing, standard sequence at normal trigger

Trigger delay active

(Trigger delay concerns hardware trigger only)

This setting is used to delay the image capturing / start of evaluation against the real physical trigger, which was e.g. caused by a light barrier or by the PLC. With this function the fine tuning of the trigger point in time can be done without any change in mechanics or PLC programming.

Sequence:

Image is taken after the trigger delay time is elapsed. The cycle time is trigger delay time + evaluation time.

s. Vision Sensor Configuration Studio/Output/Timing/Trigger/Delay

  • Rising edge at Trigger input (Pin03 WH)
  • Consequence of Trigger = high: Ready = low, Valid = low, all defined result outputs = low (Signalling = Change on trigger)
  • Before the image for evaluation is taken, the adjusted Trigger delay time elapses.
  • Now the evaluation starts. As soon as the results are valid the outputs change to the according logical levels. Ready and Valid are set to high again. (ready for next task, outputs valid)

Figure: Output timing, and Trigger delay

Trigger delay + Result delay (here: Ejector only):

(Trigger delay concerns hardware trigger only)

The result delay (if for all outputs or ejector only) is used to fine tune the ejector point in time, independent from evaluation time, as especially the evaluation time can have slight variations.

Sequence:

Image is taken after the trigger delay time is elapsed. Furthermore the Result delay is active, but in this example just for the ejector output (pin 12 RDBU)

For all defined result outputs, except the ejector output the cycle time is: Trigger delay time + evaluation time.

For the ejector output the cycle time is: Result delay only! (Counted from trigger, only make sense if longer than summation of above mentioned times!) s. Vision Sensor Configuration Studio/Output/Timing/Output/Delay.

  • Rising edge at Trigger input (Pin03 WH)
  • Consequence of Trigger = high: Ready = low, Valid = low, all defined result outputs = low. Except Ejector, as for this a fix result delay is defined.
  • Before the image for evaluation is taken, the adjusted Trigger delay time elapses.
  • Now the evaluation starts. As soon as the results are valid the outputs change to the according logical levels. Ready and Valid are set to high again. (ready for next task, outputs valid)
  • In this operation mode the Ejector output only is set after the Result delay is elapsed. In this example the Ejector output is also used with Result duration, therefore it´s reset after the Result duration time is elapsed.

Figure: Output timing, Result delay, ejector

Trigger delay + Result delay (here: all outputs):

(Trigger delay concerns hardware trigger only)

The result delay (if for all outputs or for ejector only) is used to fine tune the ejector point in time, independent from the evaluation time, as the evaluation time of the “job” can have slight variations.

Sequence:

Image is taken after the trigger delay time is elapsed. Furthermore the Result delay is active, in this example to ALL outputs.

For all defined outputs, the cycle time is: Result delay only! (Counted from trigger, only make sense if longer than summation of Trigger delay + Evaluation time) s. Vision Sensor Configuration Studio/Output/Timing/Output/Delay.

  • Rising edge at Trigger input (Pin03 WH)
  • Consequence of Trigger = high: Ready = low, Valid = low.
  • Before the image for evaluation is taken, the adjusted Trigger delay time elapses.
  • Now the evaluation starts. As soon as the results are valid, only the Ready signal is now directly set to high again (ready for next evaluation). Now the result delay time must elapse. After this has happened all defined outputs change to the according logical levels. Now also the Valid signal is reset to high level. (Valid = high: results / outputs valid. Signalling = Change on result)

In this operation mode the Ready signal only is reset to high level after Trigger delay + Evaluation time is elapsed. (Ready = high: Ready for next evaluation). This make sense as the SBS independent from the later setting of the other outputs, is now already available for the next evaluation task..

Figure: Figure 142; Output timing, Result delay for all outputs.

Result duration active. (Here e.g. all outputs):

This timing setting is used to achieve a pulse at an output of defined length, for e.g. control of a pneumatic ejector in case of a bad part.

All defined result outputs are reset to low level (inactive in PNP operation) after the Result duration in ms is elapsed.

Figure: Output timing, Result duration

Cycle time (Min, Max) active:

(Here: Signalling: Change on Trigger)

Parameter control for the minimum and maximum time for a job. Minimum job time blocks trigger signals which are coming in before the minimum job time was reached. (If during the Min Cycle time a further trigger is coming in it is ignored)

Maximum job time interrupts a job after a defined time. Job result after a timeout is "not o.k.” Maximum job time should be selected higher than the time demand for one execution.

The Cycle time measures the time from Trigger till the setting of the outputs. If the cycle time should be limited, e.g. because of a machine cycle must not be exceeded, it should be set to an appropriate value. The result of all till this point of time not completely processed detectors is set to false. By selecting the Max. Cycle time please consider that this may not be 100% exact, as depending on the currently processed detector it´s possible that there will elapse a few more milliseconds the function can be stopped. It´s recommended to check this possible exceeding of the Cycle time in real operation and to decrease the value for the setting according to this offset.

Sequence:

All outputs and the signal „Valid“ (Outputs valid) are set directly after evaluation. But the signal „Ready“ (Ready for next evaluation) is set not until the Min Cycle time is elapsed. Therefore only from this point in time the next trigger will be accepted.

Figure: Output timing, Cycle time

Multiple Result delay for Ejector

This mode of operation is used, if between trigger / evaluation for part A and it´s ejection is so much time / distance, that the SBS already has to check n (up to 20 parts possible) further parts which also has to be ejected later.

(Only available in mode: Vision Sensor Configuration Studio/Output/Timing/Delay: „Ejector only / Ejector- / result delay“

Here: Signalling = Result duration (alternatively also „Change on result“)

This function is limited on 20 parts between trigger and ejector.

Figure: Output timing, Multiple Result delay, ejector

Examples:

In operation with an I/O Box preferably use the timing functions of the I/O Box.


Telegram, Data output

Serial Communication ASCII

Serial communication BINARY

EtherNet/IP Appendix

Next topic: Parameters for image transmission

Configuration of data output via serial interfaces RS 422 and Ethernet as well as for archiving in .csv. files. Here all settings can be done, which result data of the SBSshould be transferred via the before selected interface.

Figure: Output, tab Telegram

Parameters | Functions
Binary / ASCII | Output data in Binary- (Hex) or ASCII- format.
Save to file | Exportation of file format with current results as .csv. Detailed file format of the free defined output string as .csv file with: Byte position (start position in string), Data type, Field name, Detector name, Value, Length (in Byte), Detector number and Detector type.
Reset | Reset of all parameters in this tab

Standard contents of protocol

Often required standard contents can be added to the output string by simply filling them in, or activation via the checkbox.

Start | Characters which are inserted at the beginning of the payload data sting (Binary or ASCII)
Trailer | Characters which are inserted at the end of the payload data sting (Binary or ASCII)
Separator | Characters which are inserted behind each payload value (ASCII only)
End of telegram | Characters which are sent at the end of a response to a PC or PLC (Reaction to a command, not with payload data, in ASCII mode only, output selectable in ANSI or Hexa Decimal)
Selected fields | Shows which of the following checkboxes are activated.
.... further standard content, like e.g. “Selected fields, Data length” ff. | to data string: „Payload“ Sequence: Selected fields, Data length, Status, Detector result, Digital outputs, Logical outputs, Execution time, Active job no., Checksum

Detector-specific individual results

First create a new entry by activating the "+" button.

Function of buttons

  • "+": Insert new entry
  • "-": Delete marked entry
  • "Up", "Down": Displace marked entry

You can add detector-specific individual results to the data telegram in the required flexible order via the selection list: (adding new values via button “+”)

Figure: Output, Detector specific payload

Column | Function
Active | Activates/deactivates the marked output value
Detector | Detector name (select from drop-down list)
Value | Available detector results (select from drop-down menu)
Min. length | Define the minimum length of the Value box; if the actual length is smaller than that specified, the box is filled with spaces (ASCII) or zeros (binary)
No. of results | BLOB only! Number of results of a BLOB detector which found several objects. Example: feature "area" was selected and 10 BLOBs have been found, here up to 10 of these area values can be transmitted. All available output data see: Serial Communication ASCII , Serial communication BINARY , chapter: Data Output in ASCII/Binary

Possibilities of data output of SBS (s. also User manual, chap. Communication)

(Ethernet-) port 2005 / RS422

Numerical data, which has been defined under Output/Telegram, now can be transferred in ASCII- or Binary- format.

Ethernet: The sensor here is the (socket-) “server" and serves the Data via a „server-socket" interface. This is basically a “programming interface”. To read or process the Data a “socket client" (PC, PLC, ....) must establish a (socket-) connection (active) to the sensor.

PC-Archiving (Vision Sensor Visualisation Studio)

Here images and numeric result data (in .csv. format) can be stored by “Vision Sensor Visualisation Studio” into a folder on the PC.

The configuration (folder, …) of this archiving function is done via “Vision Sensor Visualisation Studio”. (Menu: File/Result archiving, this is a pure PC- function)

Sensor- archiving (ftp, smb)

With this function images and numeric result data (in .csv format) can be stored actively by the sensor via ftp/smb. This kind of archiving is configured under „Job/Archiving", in this case:

a) With „ftp“ used: the senor is a „ftp client" and „writes“ the data to a „ftp server" folder on a drive which is available in the network. With Job/Start the sensor connects to the ftp-Server.

b) With „smb“ used: the sensor „writes“ the data direct in a folder in a network. With Job/Start the sensor connects/mounts with this folder.

Ram disk (in the sensor)

In the sensor the last image as well as the numeric data of the last evaluation, which has been configured under Output/Telegram, are stored (in a .csv file) in a Ram disc- folder under. „/tmp/results/".

This function is activated under „Job/Image transmission". To access this data an ftp- connection must be established actively to the sensor. Therefore an ftp client is necessary.

Attention

* The format of the .csv files is always the same (ftp, smb, ram-disk, Vision Sensor Visualisation Studio).

* The data are stored readable (by default separated by comma) into the .csv file.

* Only payload data which has been defined under (Output/Telegram) are transferred.

Communication settings

Communication | Ethernet | RS422
To Sensor, Command | Selectable in Tab: Protocol (Binary or ASCII)
From Sensor, Data output | Selectable in Tab: Protocol (Binary or ASCII)

Protocol settings

Parameters | Functions
Binary / ASCII | Output data in Binary- (Hex) or ASCII- format.
Save to file | Exportation of file format with current results as .csv
Reset | Reset of all parameters in this tab

Basics for establishing of a connection:

SBS is always tcp/ip (socket-) server.

SBS sensor opens always two (socket-) communication ports (default: 2005 + 2006).

  • 2005 = Data port for sending of numerical results.
  • 2006 = Command port for receiving of commands.

At a time only one (socket-) client (PC or PLC) can be connected to a port.

Recommendations:

Existing socket connections have only to be reconnected, if an error occurred (on ports 2005 + 2006)

(e.g.: PLC or client in stop mode or error mode, etc.). During normal operation there is no need to reconnect existing connections.

Ethernet data handling: Especially if several SBS are used Ethernet should be preferred.

Please see also installed help:

...:\Program files\Festo\SBS R3B Sensor\Utilities\Ethernet\SBS _Ethernet_communication.pdf

Commands to sensor in ASCII


Parameters for image transmission

Image transmission and/or the image recorder and the Ram disc can be activated in the Image transmission tab.

Next topic: Parameters Archiving

Set image sharpness with the focus setting screw on the back of the SBS .

The symbol “exclamation mark” inside life picture means, that image display / transfer on PC is slower than image processing on SBS . Not all images are transferred and displayed on the PC. This may cause lost images during archiving. If this symbol occurs often, PC-programs running in background should be closed in order to improve PC performance.

Parameters Functions and setting possibilities

Vision Sensor Visualisation Studio

Transmission of images to Vision Sensor Visualisation Studio can be switch on and off (Off increases the speed of SBS ).

- Off: no images are transmitted to Vision Sensor Visualisation Studio

- On: images are transmitted. Pre-processing filters do not effect the images. (But, if activated, Arrangement filters do effect the transmitted images!)

- On (with Pre-processing): Images are transmitted, all activated Pre-processing and Arrangement filter do effect the image.

Image recorder

Storage of max. 10 images in the sensor's internal ring buffer. Setting possibilities via pop-up menu: Off, Any, Pass, Fail.

Ram disk

Storage of last image in ram memory, this image can be taken by a FTP-client.

Ram disk

Settings: Off, Any, Pass, Fail.

The image is stored under name "image.bmp" in folder /tmp/results/ .

Parameters for FTP-client: user "user", password "user"

Example Windows Console:

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

C:\>ftp 192.168.100.100

Verbindung mit 192.168.100.100 wurde hergestellt.

220 Welcome to SBS ftp-server!

Benutzer (192.168.100.100:(none)): user

331 Please specify the password.

Kennwort: user

230 Login successful.

ftp> cd /tmp/results

250 Directory successfully changed.

ftp> get image.bmp

200 PORT command successful. Consider using PASV.

150 Opening BINARY mode data connection for image.bmp (354358 bytes).

226 File send OK.

FTP: 64d Bytes empfangen in 0,23Sekunden 1514,35KB/s

ftp>

Image is now in drive C of executing PC.

If activated, results can be also received in the same way via the file "results.csv" (all defined data in "Output/Telegram", with divider ";".

Different types of archiving images

Access | Description | Max. number of images | Image filter | Drawings
Image recorder in SBS (Ram) | Images stored in run-mode on SBS can be transferred by Vision Sensor Configuration Studio or Vision Sensor Visualisation Studio to a PC. | 10 | like predefined in settings "Filter" | no
Vision Sensor Visualisation Studio archiving / Vision Sensor Configuration Studio save image | Images transferred to Vision Sensor Visualisation Studio can be stored on hard disc of PC. | unlimited (Limit is size of hard disc in PC) | like predefined in settings "Filter" | selectable yes / no
Saving of filmstrips in Vision Sensor Configuration Studio | Current images from filmstrip can be saved as filmstrip (*.flm) or as bitmap (*.bmp) on hard disc of PC. | 50 | without filtering | no
Last image in SBS (Ram Disk) | Last image is stored in ram disk of SBS and can be taken by FTP from directory /tamp/results. | 1 | without filtering | no
Archiving of images via FTP or SMB | Archiving of images via FTP or SMB | unlimited (Limit is size of hard disc in PC) | selectable with / without filtering | no
Get Image Request | Last image from SBS by using GetImage command in a program of a PLC or PC. | unlimited (Limit is size of hard disc in PC) | like predefined in settings "Filter" | no

Figure: Tab Output / Image transmission


Parameters Archiving

In tab Archiving the archiving of data can be defined.

Next topic: Preprocessing, Filter for image improvement.

Parameters | Functions
Archive type | Off: no archiving, FTP: archiving to FTP server, SMB: archiving to a drive via SMB-service (Server Message Block) Attention: if archiving server is in different sub network set gateway first with Vision Sensor Device Manager.
IP Address | IP-Address of target server
Sharing name | Sharing name, specified in dialog "Advanced Sharing" in PC
Workgroup (Domainname) | Option ! , Workgoup / Domainname of server / client
User name | User name for FTP / SMB connection.
Password | Password for FTP / SMB connection.
Directory name (pass) | Directory for archiving of data of good parts (pass) (for C:\TESTPASS just enter TESTPASS)
Directory name (fail) | Directory for archiving of data of bad parts (fail) (for C:\TESTFAIL just enter TESTFAIL)
Filename | Filename for images and protocol file, this name is extended automatically by the image number (e.g. TESTFILE).
Image files | Activates archiving of images
Result files | If protocol file is active, there will be generated automatically a .csv file for each inspection (trigger). Contents of the file are specified in "Output / Telegram". Files will have increasing numbers.
Image contents | Possibility to select, whether images should be stored including the selected software filter or "raw" as taken from the camera.
Storage mode | Limit: after reaching maximum number of files transmission is stopped. Unlimited: files are stored, until target drive is full. Cyclic: after reaching maximum number of files the older files are replaced by the newer ones.
Max. number of files | Maximum number of file sets (image+protocol) which are allowed to be stored in the target directory.

Figure: Tab Output / Archiving


Result

With this function the defined job is processed in the PC, and the “Results/statistics” window with the detector list and the evaluation results is displayed. The cycle times are not displayed in this mode as they are not available from the sensor.

In “Run” mode the results of the detector marked in the detector list are displayed. In the image window – if adjusted – the image, the search- and feature- frames, and the result- graphs are displayed

Figure: Result

Param. results displayed | Detector type | Function
Result | all | Part / parameter detected (detected = green, not detected = red)
Score 1 ... n | all, exclusive of Caliper | Degree of concordance of pattern found with pattern taught
Score (1 ... n) | Caliper *1) | Score 1 / Score 2: Value of Edge strength in grey values, normalised to 100 (hight of maximum in histogram). Score: smaller value of the both: Score 1 and Score 2
Execution time | all | Cycle time for an evaluation in ms
Distance | Caliper | Calculated distance
Position X 1 .. n, Position Y 1 .. n | Pattern match., Contour, Caliper | Coordinates of parameter found (centre point)
Delta X, Delta Y | Pattern match., Contour | Deviation of coordinates found in contrast to taught position / through alignment
Position check | Pattern match., Contour | Position found within the defined position frame
Angle | Pattern match., Contour | Orientation (absolute angle) of parameter found
Delta angle | Pattern match., Contour | Angle deviation between parameter taught and parameter found
Scale | Contour | Scale of contour found in contrast to taught contour.
Result index | Color list | Number in list
Color distance | Color list | Distance of measured color to taught color
Red (Color model RGB) | Color list, Color value | Mean value red
Green (Color model RGB) | Color list, Color value | Mean value green
Blue (Color model RGB) | Color list, Color value | Mean value blue
Hue (Color model HSV) | Color list, Color value | Hue value of color
Saturation (Color model HSV) | Color list, Color value | Saturation of color
Brightness (Color model HSV) | Color list, Color value | Brightness of color
Lightness (Color model LAB) | Color list, Color value | Lightness of color
A (Color model LAB) | Color list, Color value | A- value of color
B (Color model LAB) | Color list, Color value | B- value of color

The displayed parameters vary depending on the selected detector type. To see the results of another detector mark it in the detector list. In module Vision Sensor Visualisation Studio numeric results, statistics and images with or without the selected frames can be archived.

*1) Score value with result of caliper detector.

in case of Caliper- detector the result value "Score", "Score 1" and "Score 2" have the following meaning:

Score 1 / Score 2: value of Edge strength in grey values, normalised to 100 (hight of maximum in histogram).

Score: smaller value of both: Score 1 or Score 2

Figure: Score value Caliper detector


Start sensor

This function sets the sensor to run mode and executes the job.

Image display

Result

Statistics

Starting execution of a job:

Click on the "Start Sensor" button.

The active (= marked in the selection list) job is transmitted to the sensor, stored in the sensor's non-volatile memory and started (run mode).

The parameters found are shown in the display window; the inspection results from the first detector or the detector selected in the selection list are shown in the configuration window along with statistical parameters.

Changing detector display:

To display the inspection results for another detector, mark it in the selection list or click on its graphic representation in the display window.

Quitting job execution:

Click on the "Stop Sensor" button. You are now back in configuration mode and can edit your job.

.

Figure: Start sensor


Further topics of Vision Sensor Configuration Studio

Trigger settings

Switching between online and offline mode

Simulation of jobs (offline mode)

Creating filmstrips

Image recorder

Displays in image window

Search and parameter zones

Color models


Trigger settings

Select the required trigger mode in the job settings in the "General" tab:

Parameters | Functions
Triggered | Operation with external trigger, or trigger button in the interface
Free run | Operation with automatically running self-trigger; the sensor supplies images with the maximum possible frequency

Select the form in which the images are to be supplied by the sensor using the option buttons in the zone Trigger/Collect image:

Parameters | Functions
Single image | Recording of a single image, image recording occurs once when: 1. Trigger mode = triggered: First external trigger signal or with the trigger button on the interface 2. Trigger mode = free run: First click on the "Single image" button
Continuous | Continuous supply of images, image recording occurs continuously when: 1. Trigger mode = triggered: Each external trigger or with each click on the trigger button on the interface 2. Trigger mode = free run: Continuously through internal self-triggering with maximum frequency

When exposure time, amplification, illumination or resolution parameters are modified in the Job settings, a new image is automatically requested from the sensor.

To obtain a continuously updated live image even without trigger, carry out the following (if necessary temporary) settings:

  • Set to free run under "Job/General"
  • Set to continuous under "Trigger / Collect image"


Switching between online and offline mode

Two operating modes are available for sensor configuration and test run, which you can select in the Connection window.

  • Online mode: Configuration with connected sensor.
  • Offline mode: Simulation of a sensor with the help of images stored in film strips.

Figure: Connection mode

When the sensor is connected, both modes are available; it is possible to switch between the two. If no sensor is available, it is only possible to work in offline mode, i.e. with sensor simulation.


Simulation of jobs (offline mode)

You can create and test your configuration without a sensor being connected using stored film strips (= series of images). Simulation can be worthwhile to prepare a configuration or to improve a configuration carried out online.

Displays in image window

Creating filmstrips

Information:

  • Several films are available in Vision Sensor Configuration Studio when delivered.
  • Further methods for image acquisition: Image recorder


Creating filmstrips

In configuration mode, images from the sensor are continuously loaded into the PC's RAM. After switching from online to offline mode, max. 30 images are available and can be stored as a series of images in a filmstrip file. Alternatively or in addition to the images stored on the sensor, you can load series of archived images or individual images on your PC or an external storage medium and combine them into new films.

When you mark an image in the list, it is displayed in small format in the preview window on the right.

Storing images from the sensor as filmstrips:

  1. First connect the PC to the sensor and fill the memory with images in free run and collect image / continuous. (Mode of connection = online)

  2. Select option button "offline" in the window mode of connection.

  3. Select configure filmstrips in the File menu or click on the icon filmstrips in the toolbar. The images loaded from the sensor appear in the selection list that appears below:

    Figure: Filmstrip

    The images now can be examined; re-sorted or individual images can be deleted or added. The maximum number of images in a filmstrip is 30.

  4. Click on Button "Save filmstrip" under the selection list.

All images in the list will be saved in a filmstrip file (extension .flm) in the order shown and are now available for future simulation.

Loading filmstrips and individual images from PC:

  1. Select option button "Offline" in the window Mode of connection.
  2. Select configure filmstrip in the File menu or click on the icon filmstrip in the tool bar.
  3. Select a film file from the selection list and click on "Load filmstrip" button or load individual images from your PC or an external storage medium with the "Load image" button.

The loaded images are added to the selection list.

The type and memory location of the file is shown in the column source: filmstrips stored on the PC (Film), individual image stored on the PC (File), image in sensor memory (Sensor). After switching from online to offline mode all entries are Sensor.

Editing filmstrips:

You can create new films from the individual images in the selection list regardless of their source. The following functions are available for this purpose:

Button | Function
"<", "<<", ">", ">>" | Change order of images: The marked image is moved up/down one place or is moved to the end of the list.
Load image | Load further images from an external storage medium
Delete, Delete all | Delete image from the list/Delete all images from the list. (The images on the data carrier are not deleted here.)
Abort> | Quit the list without any modification
Import | Load all images into the film memory on the PC in the order shown. These are now available for display and analysis in offline mode.
Load / Save film strip | Load filmstrip from data carrier or save there


Displays in image window

Controlling image reproduction

Figure: Image reproduction

You can control the selection and reproduction of stored images using the "<" (back), Start / Stop and ">" (next) buttons as well as the slide bar underneath the display window. The image counter indicates the number of the current image as well as the number of images in the active filmstrip.

Image section and enlargement:

Figure: Zoom

You can select the required image section using the buttons or drop-down menu under the display window

Graphical display of results

You can active or deactivate the following graphics in the View menu:

  • Bar graph result: Displays the inspection result as a bar graph
  • Drawings: Displays search, parameter and position frames detectors and alignment detectors
  • Focussing aid: Displays image sharpness (see also Job settings)
  • Enlarged display: Insertion of a separate enlarged display window, which can be adapted to the required scale using the adjustment handles at the corners of the frame

The module Vision Sensor Visualisation Studio offers a limited selection of these functions.


Image recorder

An image recorder is available in the Vision Sensor Configuration Studio and Vision Sensor Visualisation Studio programmes. When the recorder is activated, either all images or just error images are continuously loaded into the internal memory. This covers 10 images, the oldest images are in turn replaced (FIFO buffer). The recorded images can then be called-up and displayed with a PC, or stored on a PC or on an external storage medium, and are then available for analysis or simulation purposes in offline mode.

In the Vision Sensor Visualisation Studio program, you may be required to enter a password (if activated) to call up recorder images (User user group, see user administration).

Activating recorder:

Activate the recording function in the job settings in the Vision Sensor Configuration Studio programme (tab Image transmission). You can select whether all images or only error images are to be recorded in the pop-up list of Recorder parameters.

Selecting and recording images:

Select “Get images from sensor” from the File menu or click on the button "Rec.images" (only in Vision Sensor Visualisation Studio).

A display window appears in which you can load images stored in the sensor's RAM on to the PC and then examine and save them:

Figure: Image recorder

Parameter | Function
Back | Displays the previous image
Next | Displays the next image
Save | Saves the image displayed on the PC or an external storage medium
Save all | Saves all images

Information:

  • The running number of the selected image and the total number of images recorded on the sensor (max. 10) are displayed in the counter under the display window.
  • During storage, the images are deposited in bitmap format (extension .bmp) with a resolution of 640 x 480 pixels (VGA).
  • The inspection results associated with the images (OK or error) and the date are stored in the file name (format YYMMDD_running no._Pass/Fail.bmp, e.g. 090225_123456_Pass.bmp).
  • If you want to record detailed inspection results with the images, use the function Archive in Vision Sensor Visualisation Studio.
  • If you only want to record a single image with or without overlay, you can use the function save current image in the file menu, instead of using the recorder.
  • Images will get a time stamp when loading them from Vision Sensor.
  • Loading images from the sensor on to the PC deletes data on the sensor. If the recorder window is closed without images having been saved, they will also be deleted from the PC.
  • Images are lost from the buffer in the event of a loss of power.


Search and parameter zones

You can define search and parameter zones in the configuration steps alignment and detectors. These are identified in the image window by different coloured frames.

Drawings in the screen (yellow, red frames etc.) can be activated or deactivated for any detector or category in the menu item "View/all drawings". With "View/drawings of current detector only", all drawings on the screen can be deactivated with the exception of the detector currently being processed.

Definition of search and parameter zones

When a new detector is created, a yellow frame is displayed, which defines the detector's search zone. The standard shape of the search zone is a rectangle; with contrast and grey level detectors, a circle can also be selected. The defined parameters (red frame) are found (green frame) provided its centre is within the search zone (yellow frame).

With pattern matching and contour detection detectors, there is also a parameter zone within the search zone which is represented by a red or green frame:

  • Red frame = teach parameters
  • Green frame = parameters found

If position control / check is defined, a blue frame appears also (either a rectangle, circle or ellipse).

If an alignment detector is defined, it's frame is shown in dotted yellow lines.

At the according upper left corner of each frame the number of the detector is shown.

Adapting search and parameter zones

The zones initially displayed in standard size and position can be selected / marked in the image or in the detector list and altered in size and position. Eight adjustment handles on the frame enable you to adapt the shape and size of the frame. Its position can be displaced by clicking anywhere inside the frame. The arrow at the side of the frame pointing to the centre can be used to change the rotational position of the frame.

The taught sample is represented in original size in the General or Parameters tab in the bottom, right-hand corner of the screen. Only the frame of the currently active detector, selected in the image or detector list, is shown with thick lines and adjustment handles, all other frames which are not selected are shown with thin or dotted lines (alignment detector).

Figure: Search- and feature frames

Information:

  • For optimum detection, parameters must be distinct and not contain any variable parts, e.g. shadows.
  • Significant contours, edges and contrast distinctions are of advantage.
  • To reduce evaluation time, the search zone selected should not be unnecessarily large.

Result bar

On the right next to the search zone, the degree of concordance of the parameter searched for and found is displayed as a fixed result bar with a set threshold value:

  • Green bar = The searched for parameter has been found and the pre-set threshold value of minimum concordance has been achieved.
  • Red bar = The object could not be found with the required degree of concordance. The graphics displayed can be selected in the View menu.


Color models

For description of colors there are available color models.

SBS Color is able to work on different color models.

The following color models can be selected:

Color model RGB

Color model HSV

Color model LAB

Next topic: SBS – Operating- and configuration software – Vision Sensor Configuration Studio, all functions


Color model RGB

RGB color model is an additive color model, which describes colors by adding the components of the base color red, green and blue.

The RGB- color space is described as a linear color space, as a cube with the three axis Red, Green and Blue.

Figure: Color model RGB

red, green, blue, 0-255

RGB color model is used from image capturing chip and from display to define the colors.

But image capturing chip and display have different sensivities on each channel.

Because of this there has to be a compensation, means RGB is never the same as RGB.

Linear RGB

RGB values are calculated as linear RGB values, as the sensor chip delivers linear RGB values. Advantage of the linear RGB value is the linear relation between physical impact and RGB value.

Example: Doubling the shutter time leads to doubling of RGB values, if all other illumination conditions remain stable.


Color model HSV

HSV color model is the most similar to describe what the human eye sees.

Figure: Color model HSV

H (hue) stands for the angle on the color circle (e. g. 0° = red, 120° = green, 240° = blue)

S (saturation) in percent (0 % = light grey, 50 % = low saturated color, 100 % = maximum saturated color)

V (value) in percent (0 % = dark, 100 % = full brightness)


Color model LAB

LAB or L*a*b*-color model is built from a three dimensional coordinate system:

Figure: Color model LAB

a*-axis describes the red and green components of a color, negative values stand for greenand positive values stand for red. Range of values from -150 to +100.

b*-axis describes the blue and yellow components of a color, negative values stand for blue positive values stand for yellow. Range of values from -100 to +150.

L*-axis describes the lightness of the color with values from 0 to 100.

One of the most important properties of the L*a*b color model is the independency from the technology used for capturing and displaying the images.

LAB values are calculated from linear RGB values. This is based in a D65 illuminant and a 2° observer.


Application Examples

In Menu "File" "Examples" predefined examples can be loaded.

A filmstrip is loaded together with a job-file.


SBS – Operating- and configuration software – Vision Sensor Visualisation Studio, all functions

This program enables the monitoring of the image from the camera and the inspection results.

Image display

Result

Statistics

Changing active job

Upload

Commands / Freeze image

Image recorder

Archiving test results and images

From this software ONLY monitoring and job change (loading of already defined jobs) can be done. It can be password protected so that you can only view (worker level), or view and load predefined jobs (SuperSBS level)


Image display

The graphical display of an image and the inspection results in the display window depend on the setting of the parameter in tab "Image transmission" in job settings ("Parameters for image transmission" in Vision Sensor Configuration Studio) program:

  • Image transmission active: The current image along with the frames for the defined search, parameter and position zones and parameters found are displayed.
  • Image transmission inactive: Only the frames for the defined search, parameter and position zones and parameters found are displayed (current image is not displayed).

The degree of concordance between the parameter searched for and the parameter found appears to the right next to the search zone of the respective detector, in the form of a vertical result bar with a set threshold value:

  • Green bar: The parameter searched for has been found and the pre-set threshold value for concordance has been reached.
  • Red bar: The object could not be found with the required degree of concordance.

An exclamation mark in the top right hand corner of the live picture means, that image processing on PC is slower than image processing on SBS

. i.e. Not all images are transferred to PC.

This may cause lost images in images archiving. If this symbol occurs often, PC-programs running in background should be closed in order to improve PC performance.

You can configure the graphics of the inspection results in the View menu.

Figure: Vision Sensor Visualisation Studio

Except the archiving all functions of Vision Sensor Visualisation Studio are available also in the module Vision Sensor Configuration Studio.


Commands / Freeze image

With the "Freeze image" button, you can request single images according to the type required (current image, next image, next failed image) and freeze them in the display window.

The required single image is displayed and the image counter stops at the corresponding image number.

Press "Continue" to end the frozen image state.


Zoom

With the button "Zoom" the image is opened in a new window with enlarged display.


Archiving test results and images

You can archive images with and without graphics, and inspection results on to your PC or an external storage medium for analysis or simulation purposes (see Offline mode).

Access to this function may require password entry (User user group, see user administration).

Configuring archiving:

  1. Select Configure archiving ... from the File menu.

    A dialogue box appears with the following options:

    Figure: Archiving configuration

    Parameter Function

    Path for archiving

    Directory in which archived file(s) are stored.

    Settings, Automatic Start

    Starts archiving automatically after start of Vision Sensor Visualisation Studio.

    Settings, Archive image circularly

    Activates cyclic overwriting of oldest images if limitation of storage is reached.

    Settings, Limitation (max.)

    In this drop-down menu it is possible to specify which images (all images or only good or bad images) are to be stored.

    Type of images

    Specifies, whether all, good or bad pictures have to be stored.

    Graphics, Bar graph result

    Choice of graphics to be archived in the image.

    Numerical results

    If "record with" is activated, numerical result data such as coordinate values etc. are archived in an additional .csv file.

    Setting "Legacy" / "Configured" determines the format of storage (.csv). With "Legacy" *1) the content is predefined, with "Configured" the content can be defined in "Output/Telegram".

    *1) The storage mode "Legacy" is obsolete and only provided for reasons of backward compatibility. It will be omitted with one of the next versions.
  2. Select the required options and confirm your choice with OK.

Start/end archiving:

Click on the button "Archive images" in the "Commands" filed to start or end the archiving function with the above mentioned settings. The name of the image file currently to be stored appears in the status bar. Archiving is carried out for as long as the button "Archive images" is pressed.


Statistics

Statistical data from the inspection process is displayed in the Statistics tab in run mode. The statistical data displayed is identical for all types of detectors:

Parameter | Function
All evaluations | Total number of inspections
Good parts | Number of inspections with result "OK"
Bad parts | Number of inspections with result "Error"
Min./max./mean execution time | Min./max./mean execution time for evaluation in ms

All statistic values can be reset to zero with the "Reset" button.

You can archive inspection results and statistical evaluations including selected graphics in the Vision Sensor Visualisation Studio program.


Result

This function executes the job defined on the PC and the Result statistics window is displayed with Detector list and Evaluation results. Execution times are not updated in this mode, as they are not available from the sensor.

Detailed inspection results from the detector marked in the selection list are displayed in run mode.

The image, search and parameter zones and result graphs appear – when set – in the display window.

The parameters displayed vary according to the type of detector selected:

Figure: Vision Sensor Visualisation Studio, Result

Param. results displayed | Detector type | Function
Result | all | Part / parameter detected (detected = green, not detected = red)
Score 1 .. n | all | Degree of concordance of pattern found with pattern taught
Distance | Caliper | Calculated distance
Execution time | all | Cycle time for an evaluation in ms
Position X 1 .. n, Position Y 1 .. n | Pattern match., Contour. Caliper | Coordinates of parameter found (centre point)
Delta X, Delta Y | Pattern match., Contour | Deviation of coordinates found in contrast to taught position / through alignment
Position check | Pattern match., Contour | Position found within the defined position frame
Angle | Pattern match., Contour | Orientation (absolute angle) of parameter found
Delta angle | Pattern match., Contour | Angle deviation between parameter taught and parameter found
Scale | Contour | Scale of contour found in contrast to taught contour.
Result index | Color list | Number in list
Color distance | Color list | Distance of measured color to taught color
Red (Color model RGB) | Color list, Color value | Mean value red
Green (Color model RGB) | Color list, Color value | Mean value green
Blue (Color model RGB) | Color list, Color value | Mean value blue
Hue (Color model HSV) | Color list, Color value | Hue value of color
Saturation (Color model HSV) | Color list, Color value | Saturation of color
Brightness (Color model HSV) | Color list, Color value | Brightness of color
Lightness (Color model LAB) | Color list, Color value | Lightness of color
A (Color model LAB) | Color list, Color value | A- value of color
B (Color model LAB) | Color list, Color value | B- value of color

To show inspection results for another detector, mark it in the selection list.

You can archive inspection results and statistics including selected graphics in Vision Sensor Visualisation Studio.


Changing active job

In the Job tab, the jobs available on the sensor are displayed in the selection list. Here you can switch between different jobs stored on the sensor.

The use of functions which stop an active sensor may require password entry (User group user, see user administration).

Password levels

Figure: Password levels

Figure: Vision Sensor Visualisation Studio, Job select

Select a job from the list and activate it with the "Activated" button.

The previous job is deactivated; the selected job is now active.

Attention:

At Job Change and change from Run- to Config Mode outputs will get the following states:

  • Buffer of delayed outputs will be deleted.
  • Digital outputs: will be reset to default at change from "Run" to "Config". Defaults are set by flag "Invert" in output tab. "Invert" inverts the default setting and also the result.
  • Ready and Valid: Ready and Valid show at Job change and at change of operation mode from Run to Config, that the SBS is not ready and that results are not valid. (Low level)


Upload

You can load new jobs or entire job sets from the PC to the sensor memory in the Upload tab. The available jobs and job sets are displayed in the selection list.

Jobs and job sets can be created in the Vision Sensor Configuration Studio program and stored there under File / Save Job / Save Jobset as .......

Figure: Vision Sensor Visualisation Studio, Job set upload

Information:

  • A job set consists of one or several jobs which are simultaneously stored in the sensor or on the hard disk.
  • Use of functions which can stop the active sensor may require password entry (User user group, see user administration).
  • Select a job or job set from the list and load it on to the sensor with the "Upload" button.
  • This action deletes all jobs previously stored on the sensor!


Addendum

Telegram, Data output

Serial Communication ASCII

Serial communication BINARY

Controlling image reproduction

Starting Vision Sensor Visualisation Studio or Vision Sensor Configuration Studio via Autostart


Telegram, Data output

The following telegrams are available

Serial Communication ASCII

Serial communication BINARY

EtherNet/IP Appendix


Serial Communication ASCII

Data format of commands and data output

Communication settings

Communication | Ethernet | RS422
To Sensor, Command | Selectable in Tab: Protocol (Binary or ASCII)
From Sensor, Data output | Selectable in Tab: Protocol (Binary or ASCII)

Commands to sensor in ASCII

Trigger (ASCII) Request string to Sensor
Byte no. | ASCII contents | Significance
1 | T | Trigger, (simple trigger without index, via port 2006)
2 | R
3 | G
Trigger (ASCII) Response string from sensor
Byte no. | Contents | Significance
1 | T | Trigger, (response to trigger without index, via port 2006. If defined: result date without index via port 2005)
2 | R
3 | G
4 | P F | Pass Fail
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | Yes
Accepted when Ready Low: |  | No
Status of Ready signal during processing: |  | Low
End of telegram |  | max. 4 byte (option)

Extended Trigger (ASCII) Request string to Sensor
Byte no. | ASCII contents | Significance
1 | T | Extended Trigger, (trigger with index, for correlation of trigger to the corresponding result data, via port 2006)
2 | R
3 | X
4 | x | Length of following data (n)
5 | x
6...n | x | Data
Extended Trigger (ASCII) Response string from sensor
Byte no. | ASCII contents | Significance
1 | T | Extended Trigger, (reponse to trigger with index and result data, via port 2006, for correlation of trigger to the corresponding result. Result data without index via port 2005 also)
2 | R
3 | X
4 | P F | Pass Fail
5 | x | Length of following data (n)
6 | x
7...n | x | Data of request command
n+1 | x | C = Config R = Run
n+2 | x | Length of following result data (m)
n+3 | x
n+4 | x
n+5 | x
n+6 | x
n+7 | x
n+8 | x
n+9 | x
n+9...m | x | Result data
m+1 | x | End of telegram (option, max 4 byte)
m+2 | x
m+3 | x
m+4 | x
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | Yes
Accepted when Ready Low: |  | No
Status of Ready signal during processing: |  | Low
End of telegram |  | max. 4 byte (option)

Job change-over (ASCII) Request String to Sensor
Byte no. | ASCII contents | Significance
1 | C | Change Job
2 | J
3 | B
4 | x | Job number
5 | x
6 | x
Job change-over (ASCII) Response String from Sensor
Byte no. | Contents | Significance
1 | C | Change Job
2 | J
3 | B
4 | P F | Pass Fail
5 | T F | Triggered Free-run
6 | x | Job number
7 | x
8 | x
Additional information:
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | Low
End of telegram |  | max. 4 byte (option)

Set parameter (ASCII)
Byte No. | Contents | Significance
1 | S | Set parameter
2 | P
3 | P T | P Permanent T Temporary
4 | X | Detector No.
5 | X
6 | X
7 | X | Command: Set reference string / value *1), see below !
8 | X
9 | X
10 | X | Length of reference string / value in Bytes (n)
11 | X
12 | X
13 | X
14 | X
15...n | X | Reference string / value
Set parameter (ASCII) Response string from Sensor
Byte No. | Contents ASCII | Significance
1 | S | Set parameter
2 | P
3 | P T | P Permanent T Temporary
4 | P F | P Pass F Fail
5 | S | Parameter of type STRG (String) was set
6 | T
7 | R
8 | G
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | Low
End of telegram |  | max. 4 byte (option)

*1) Byte No. 7: Command: set reference string / value:

Detector | Function | Command
Alignment Pattern matching | Threshold Min Threshold Max | 001 002
Alignment Contour | Threshold Min Threshold Max | 001 002
Alignment Edge | Threshold Min Threshold Max Transition_Horizontal Transition_Vertical | 001 002 101 102
Pattern matching | Threshold Min Threshold Max | 001 002
Contour | Threshold Min Threshold Max | 001 002
Grey Level | Threshold Min Threshold Max GreyMin GreyMax | 001 002 101 102
Contrast | Threshold Min Threshold Max | 001 002
Barcode | Reference String | 101
Datacode | Reference String | 101
OCR | Reference String | 101
Color Value | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
ColorArea | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
BLOB | GreyAbsoluteMin GreyAbsoluteMax GreyAbsoluteInvert | 101 102 103

Get parameter (ASCII)
Byte No. | Contents | Significance
1 | G | Get parameter
2 | P |
3 | A |
4 | X | Detector No. e.g. 001
5 | X
6 | X
7 | X | Command: Set reference string / value *1), see below !
8 | X
9 | X
Get parameter (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | G | Get parameter
2 | P
3 | A
4 | P F | P Pass F Fail
5 | S | Parameter of type STRG (String) was read
6 | T
7 | R
8 | G
9 | X | Length of Reference strings / value (n) z.B. 00005
10 | X |
11 | X |
12 | X |
13 | X |
14...n | X | Reference string / value
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | no change
End of telegram |  | max. 4 byte (option)

*1) Byte No. 7: Command: Get reference string / value:

Detector | Function | Command
Alignment Pattern matching | Threshold Min Threshold Max | 001 002
Alignment Contour | Threshold Min Threshold Max | 001 002
Alignment Edge | Threshold Min Threshold Max Transition_Horizontal Transition_Vertical | 001 002 101 102
Pattern matching | Threshold Min Threshold Max | 001 002
Contour | Threshold Min Threshold Max | 001 002
Grey Level | Threshold Min Threshold Max GreyMin GreyMax | 001 002 101 102
Contrast | Threshold Min Threshold Max | 001 002
Barcode | Reference String | 101
Datacode | Reference String | 101
OCR | Reference String | 101
Color Value | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
ColorArea | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
BLOB | GreyAbsoluteMin GreyAbsoluteMax GreyAbsoluteInvert | 101 102 103

Get image (ASCII), not available for RS232/422
Byte No. | Contents | Significance
1 | G | Get image
2 | I
3 | M
4 | X | 0 – Last Image 1 – Last Failed Image 2 – Last Good Image
Get image (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | G | Get image
2 | I
3 | M
4 | P F | P Pass F Fail
5 | X | Error type 0 – Success, 1 – Recorder Off 2 – No Matching Image of requested type
6 | X | Image type 0 - greyscale 1 – COLOR_BAYER_GB 2 – COLOR_BAYER_GR 3 – COLOR_BAYER_BG 4 – COLOR_BAYER_RG At conversion of the image from Bayer into RGB, the appropriate image type must be considered.
7 | X | Image result 1 - good image 0 - failed image
8 | X | No of rows e.g. 0480 / 0200
9 | X
10 | X
11 | X
12 | X | No of columns e.g. 0640 / 0320
13 | X
14 | X
15 | X
16...n | X | Binary image data (rows * columns)
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Set Shutter (ASCII)
Byte No. | Contents | Significance
1 | S | Set Shutter in active Job
2 | S
3 | P T | Permanent Temporary
4 | X | Number of chars of shutter value, e.g. 04
5 | X
6 | X | New shutter value in microseconds, e.g. 8000 = 8 ms
7 | X
8 | X
9 | X
Set Shutter (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | S | Set Shutter
2 | S
3 | P T | Permanent Temporary
4 | P F | P Pass F Fail
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Get Shutter (ASCII, since version 1.6.5.3)
Byte No. | Contents | Significance
1 | G | Get shutter from active job
2 | S
3 | H
Get Shutter (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | G | Get shutter
2 | S
3 | H
4 | P F | P Pass F Fail
5 | X | Shutter value length
6 .. n | X | Shutter value
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | Not altered
End of telegram |  | max. 4 byte (option)

Set ROI (ASCII), not available for RS232/422
Byte No. | Contents | Significance
1 | S | Set ROI SRP0000005500100020016000000120000000800000004000000180000 Length55, Detector=1,yellow ROI, rectangle, centre X=160, centre Y=120, half width= 80, half height=40
2 | R
3 | P T | Permanent Temporary
4-11 | X | ROI Info length in bytes from Byte 4 to end e.g. 00000055
12 | X | Detector No. e.g. 001
13 | X
14 | X
15 | X | ROI Index = 00 for yellow ROI = 01 for red ROI
16 | X
17 | X | ROI shape 01=circle / 02=rectangle / 03=ellipse e.g. 02 for rectangle
18 | X
19-26 | X | centre X ( in pixels * 1000), e.g. 160 pixels = 00160000
27-34 | X | centre Y ( in pixels * 1000), e.g. 120 pixels = 00120000
35-42 | X | half width / X-radius ( in pixels * 1000), e.g. 80 Pixel = 0008000
43-50 | X | half height / Y-radius ( in pixels * 1000), e.g. 40 Pixel = 0004000
51-58 | X | Angle (not at circle / ellipse) (in ° * 1000), e.g. 180° = 0018000
Set ROI (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | S | Set ROI
2 | R |
3 | P T | Permanent Temporary
4 | P F | P Pass F Fail
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Get ROI (ASCII), not available for RS232/422
Byte No. | Contents | Significance
1 | G | Get ROI e.g. GRI00100
2 | R
3 | I
4 | X | Detector No. e.g. 001
5 | X
6 | X
7 | X | ROI Index = 00 for yellow ROI = 01 for red ROI
8 | X
Get ROI (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | G | Get ROI
2 | R
3 | I
4 | P F | P Pass F Fail
5-12 | X | ROI Info length in bytes, from Byte 5 to end of string
13 | X | Detector No.
14 | X
15 | X
16 | X | ROI Index = 00 for yellow ROI = 01 for red ROI
17 | X
18 | X | ROI shape 01=circle / 02=rectangle / 03=ellipse
19 | X
20-27 | X | centre X ( in pixels * 1000)
28-35 | X | centre Y ( in pixels * 1000)
36-43 | X | X-radius ( in pixels * 1000)
44-51 | X | Y-radius ( in pixels * 1000)
52-59 | X | Angle (not at circle / ellipse) (in ° * 1000)
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Teach detector(ASCII)
Byte No. | Content | Significance
1 | T | Teach detector
2 | E
3 | D
4 | X | Detector number 0 = Alignment >= 1 Detectors
5 | X
6 | X
7 | X | Permanency 0 = Temporary 1 = Permanent
8 | X | Trigger 0 = no Trigger 1 = Trigger
Teach detector (ASCII) Response String from sensor
Byte No. | Content | Significance
1 | T | Teach detector
2 | E
3 | D
4 | P F | P = Pass F = Fail
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Calibration Add Point (ASCII), request string (from PLC)
Byte No. | Content | Significance
1 | C | Calibration Add Point
2 | A
3 | P
4-8 | X | List index of calibration point pair 0: attach new point at end of list >0: overwrite point at existing index position 1: first point in list
9-16 | X | World X
17-24 | X | World Y
Example | CAP123451234567812345678
Calibration Add Point (ASCII) response String (from sensor)
Byte No. | Content | Significance
1 | C | Calibration Add Point
2 | A
3 | P
4 | P F | P: Pass F: Fail
5-12 | X | Image X
13- 20 | X | Image Y
Example | CAPP123451234567812345678
Additional information
Accepted in Run mode |  | Yes
Accepted in Config mode |  | No
Accepted when Ready is Low |  | Yes
Status of Ready signal during processing |  | Not altered
Supported Interfaces |  | UserApp
End of telegram |  | max. 4 byte (option)
Necessary settings in requesting job |  | In "Output/Telegram/Payload" as first and second value the X- and Y- value of the finding position must be set.

Calibration Calibrate (ASCII), request string (from PLC)
Byte No. | Content | Significance
1 | C | Calibration Calibrate
2 | C
3 | L
4 | X | Permanency 0 = Temporary 1 = Permanent
Example | CCL1 |
Calibration Calibrate (ASCII) response String (from sensor)
Byte No. | Content | Significance
1 | C | Calibration Calibrate
2 | C
3 | L
4 | P F | P: Pass F: Fail
5-9 | X | Current highest point pair index
10-17 | X | RMSE (Root Mean Square Error)
18-25 | X | Mean
26-33 | X | Max
34-41 | X | Min
Example | CCLP0001012345678123456781234567812345678
Additional information
Accepted in Run mode |  | Yes
Accepted in Config mode |  | No
Accepted when Ready is Low |  | Yes
Status of Ready signal during processing |  | Not altered
Supported Interfaces |  | UserApp
End of telegram |  | max. 4 byte (option)

Calibration Clear (ASCII), request string (from PLC)
Byte No. | Content | Significance
1 | C | Calibration Clear
2 | C
3 | D
Example | CCD
Calibration Clear (ASCII) response String (from sensor)
Byte No. | Content | Significance
1 | C | Calibration Clear
2 | C
3 | D
4 | P F | P: Pass F: Fail
Example | CCDP
Additional information
Accepted in Run mode |  | Yes
Accepted in Config mode |  | No
Accepted when Ready is Low |  | Yes
Status of Ready signal during processing |  | Not altered
Supported Interfaces |  | UserApp
End of telegram |  | max. 4 byte (option)

Calibration Validate (ASCII), request string (from PLC)
Byte No. | Content | Significance
1 | C | Calibration Validate
2 | V
3 | L
Example | CVL |
Calibration Validate (ASCII) response String (from sensor)
Byte No. | Content | Significance
1 | C | Calibration Validate
2 | V
3 | L
4 | P F | P: Pass F: Fail
5-9 | X | Currrent highest point pair index
10-17 | X | RMSE (Root Mean Square Error)
18-25 | X | Mean
26-33 | X | Max
34-41 | X | Min
Example | CVLP0001012345678123456781234567812345678
Additional information
Accepted in Run mode |  | Yes
Accepted in Config mode |  | No
Accepted when Ready is Low |  | Yes
Status of Ready signal during processing |  | Not altered
Supported Interfaces |  | UserApp
End of telegram |  | max. 4 byte (option)

Set Gain (ASCII), request string (from PLC)
Byte No. | Content | Significance
1 | S | Set Shutter in active Job
2 | S
3 | P T | Permanent Temporary
4 | X | Number of chars of shutter value, e.g. 04
5 | X
6 | X | New shutter value in microseconds, e.g. 8000 = 8 ms
7 | X
8 | X
9 | X
Set Shutter (ASCII) Response String from Sensor
Byte No. | Contents | Significance
1 | S | Set Shutter
2 | S
3 | P T | Permanent Temporary
4 | P F | P Pass F Fail
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | pulled low
End of telegram |  | max. 4 byte (option)

Set Gain (ASCII), request string from PLC
Byte No. | Content | Significance
1 | S | Set Gain
2 | G
3 | A
4 | 1 0 | 1 = Permanent 0 = Temporary
5 | X | New Gain Value
6 | X
7 | X
8 | X
9 | X
Set Gain (ASCII), response string from sensor
Byte No. | Content | Significance
1 | S | Set Gain
2 | G
3 | A
4 | P F | P = Pass F = Fail
5-9 | X | Current Gain value
Additional information
Accepted in run mode: |  | Yes
Accepted in configuration mode: |  | No
Accepted when Ready Low: |  | Yes
Status of Ready signal during processing: |  | not altered
End of telegram |  | max. 4 byte (option)

Data output in ASCII

Dynamically composed from user settings in the software

For detailed informations to the file format see also: Telegram, Data output

<START> (((<OPTIONAL FIELDS> <SEPARATOR> <PAYLOAD>))) <CHKSUM> <TRAILER>

Output data (ASCII), dynamically composed from user settings in the software

Name | Number of bytes | ASCII contents / example | Significance /Comments
Header | 1 - max. 8 | User defined, max. 8 characters | Start string (Header)
Separator | 1 - 5 | User defined, max. 5 characters (per separator) | Separator from: “after first optional field“, or „after first detector spec. date“
Selected Fields | 16 | 1 Byte per field | by this field output of all active checkboxes "byte-wise" can be activated - Output order is from left to right and from top to down. - For each checkbox there is one byte beginning with LSB = low significant bit. - Checkbox "Selected fields" is not part of the output! P = logical output set F = logical output not set 0 = logical output not active
Data length | n | One byte per figure of decimal number e.g. 102 „1“; „0“; „2“ | Length of telegram in bytes
Status | 3 | “110” triggered mode or “101” free-run mode |
Detector result | n | Byte 1 = AND conjunction of all detectors Byte 2 = Boolean result of alignment Byte 3 = global result of the active job Following Bytes: number of detectors Following Bytes: Detector results, "P" = Pass, "F" = Fail, last byte is first detector Length: 4 Byte + 1 Byte per each used detector |
Digital outputs | n | First Bytes: number of active outputs Following Bytes: digital outputs | P = logical output set F = logical output not set 0 = logical output not active
Logical outputs | n | First Bytes: number of active logical outputs Following Bytes:logical outputs | Example: 18 logical outputs are configured, but only output1,2 and 9 are linked to functions (are active): 3PP000000P 2 bytes number of active outputs, all results bit-coded ... In this example there are needed 2 bytes because of output 9.... P = logical output set F = logical output not set 0 = logical output not active
Total exec. time | n |  | Current (job) cycle time in [ms]
Active job no. | 1-3 |  | Active job no. (1..255)
<<Detector specific>>
Detector result | 1 | P = Pass F = Fail | Boolean detector result
Score value 1 .. n | 1-3 |  | Score (0..100%)
Execution time | n |  | Execution time of individual detector in [msec].
Distance | n |  | Calculated distance, [1/1000] *1)
Position X 1 .. n | n | e.g.: X = 180 (pix) = (in ASCII) "180000" = 6 Byte | Position found X (x-coordinate). [1/1000] *1)
Position Y 1 .. n | n |  | Position found Y (y-coordinate). [1/1000] *1)
DeltaPos X | n |  | Delta position X between object taught and object found [1/1000] *1)
DeltaPos Y | n |  | Delta position X between object taught and object found [1/1000] *1)
Angle | n |  | Orientation of object found (0°..360°) [1/1000] *1)
Delta Angle | n |  | Angle between object taught and object found (0°..360°) [1/1000] *1)
Scaling | n |  | Only with contour (0.5..2) [1/1000] *1)
Result horizontal | 1 | P = Pass F = Fail | Boolean result of horizontal edge detection of alignment
Result vertical | 1 | P = Pass F = Fail | Boolean result of horizontal edge detection of alignment
Score horizontal | 1-3 |  | Score 0..100% (alignment only using edge detection)
Score vertical | 1-3 |  | Score 0..100% (alignment using edge detection)
R(ed) | n |  | Value for color parameter
G(reen) | n |  | Value for color parameter
B(lue) | n |  | Value for color parameter
H(ue) | n |  | Value for color parameter
S(aturation) | n |  | Value for color parameter
V(alue) | n |  | Value for color parameter
L(uminanz) | n |  | Value for color parameter
A | n |  | Value for color parameter
B | n |  | Value for color parameter
Result index | n |  | Index in list
Color distance | n |  | Distance between taught and current color
Area | n |  | Area of the BLOB, without holes, in pixels
Area (incl. holes) | n |  | Area of the BLOB, including holes, in pixels
Contour length | n |  | Number of pixels of outer contour
Compactness | n |  | Compactness of BLOB (Circle = 1, all other >1) The stronger the shape of the BLOB deviates from circle the larger the value of compactness will be.
Center of gravity X | n |  | X- coordinate of center of gravity of BLOB
Center of gravity Y | n |  | Y- coordinate of center of gravity of BLOB
Center X | n |  | X- coordinate of fitted, geometric element (rectangle, ellipse)
Center Y | n |  | Y- coordinate of fitted, geometric element (rectangle, ellipse)
Width | n |  | Width of geometric element. Width >= 0, width >= height, negative value indicates failure
Height | n |  | Height of geometric element. Heigth >= 0, height <= width, negative value indicates failure
Angle (360) | n |  | Orientation of width of object in degree (range: -180 ... +180°, 0° = east, counterclockwise)
Eccentricity | n |  | Eccentricity numerical (range 0,0 ... 1,0)
Face up/down, area | n |  | Face up/down discrimination, based on area, indicated by sign
String | 1...n | Maximum length 127!! | Contents of Code, depending from code string length may change, if a fix string length is needed, parameters minimum string length (detector specific data output) and maximum string length (detector parameters) have to be used.
String length | n |  | Length of Code in Bytes
Truncated | 1 | F = Code complete, P = Code truncated | Code truncated
Checksum | 3 |  | XOR checksum of all bytes in telegram
Trailer | 1 - max. 8 | User defined, max. 8 characters | End of string (Trailer)

*1) All detector-specific data with decimal places are transmitted as whole numbers (multiplied by 1000) and must therefore be divided by 1000 after receipt of data.


Serial communication BINARY

Data format of commands and data output

Communication settings

Communication | Ethernet | RS422
To Sensor, Command | Selectable in Tab: Protocol (Binary or ASCII)
From Sensor, Data output | Selectable in Tab: Protocol (Binary or ASCII)

Commands to sensor in BINARY

Trigger (Binary) Request string to sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x01 | Trigger command, (simple trigger without index, via port 2006)
Trigger (Binary) Answer string from sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x01 | Trigger command, (response to trigger without index, via port 2006. If defined: result data without index via port 2005)
6 | Unsigned Short | 0x00 | Error code, 0 = Pass, 1 = Fail
7 |  | 0xXX |
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | Yes
Accepted when Ready Low: |  |  | No
Status of Ready signal during processing: |  |  | Low

Extended Trigger (Binary) Request string to sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x013 | Extended Trigger command, (trigger with index for correlation of trigger to the correponding result data, via port 2006)
6 | Unsigned Char | 0xXX | Length of following data (n)
7...n | Unsigned Char | 0xXX | Data
Extended Trigger (Binary) Answer string from sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x013 | Extended Trigger command, (response to trigger with index and result data, via port 2006, for correlation of trigger to corresponding result, Result data without index, via port 2005 also)
6 | Unsigned Short | 0x00 | Error code 0 = Pass 1 = Fail
7 |  | 0xXX
8 | Unsigned Char | 0xXX | Length of following data (n)
9...n | Unsigned Char | 0xXX | Data of request command
n+1 | Unsigned Char [] | 0xXX | Operating mode 0 = Config Mode 1 = Run Mode
n+2 | Unsigned Int | 0xXX | Length of following result data (m)
n+3 |  | 0xXX
n+4 |  | 0xXX
n+5 |  | 0xXX
n+6 | Unsigned Int [] | 0xXX | Result data
n+7 |  | 0xXX
n+8 |  | 0xXX
n+9...m |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | Yes
Accepted when Ready Low: |  |  | No
Status of Ready signal during processing: |  |  | Low
Job change-over (Binary) Request string to sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x06
5 | Unsigned Char | 0x02 | Job change-over command
6 | Unsigned Char | 0xXX | Job no, XX = 1- n
Job change-over (binary) Answer string from sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x09
5 | Unsigned Char | 0x02 | Job change-over command
6 | Unsigned Short | 0x00 | Error code, 0 = Pass, 1 = Fail
7 |  | 0xXX |
8 | Unsigned Char | 0xXX | Trigger mode 0 = triggered 1 = free-run
9 | Unsigned Char | 0xXX | Job no, XX = 1- n
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low

Set parameter (Binary) Request string to Sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram = 9 Bytes + length of string (n)
2 |  | 0x00
3 |  | 0x00
4 |  | 0xn
5 | Unsigned Char | 0x05 0x06 | Command set parameter permanent Command set parameter temporary
6 | Unsigned Char | 0xXX | Detector no., XX = 1- n
7 | Unsigned Char | 0x65 | Command: Set reference string 7 value *1), see below !
8 | Unsigned Short | 0x00 | Length new reference string / value (n)
9 |  | 0x0n
10..n | Unsigned Char | 0xn | Reference string / value
Set parameter (Binary) Response string from Sensor (may be 4-5 seconds delayed)
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00 |
3 |  | 0x00 |
4 |  | 0x08 |
5 | Unsigned Char | 0x05 0x06 | ID set reference string permanent ID set reference string temporary
6 | Unsigned Short | 0xXX | Error Code 00 00 = Pass Error Code 00 01 = Fail
7 |  | 0xXX |
8 | Unsigned Char | 0x0A | Parameter type string
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low

*1) Byte No. 7: Command: set reference string / value:

Detector | Function | Command | Length of following data
Alignment Pattern matching | Threshold Min Threshold Max | 1 2 | 4 4
Alignment Contour | Threshold Min Threshold Max | 1 2 | 4 4
Alignment Edge | Threshold Min Threshold Max Transition_Horizontal Transition_Vertical | 1 2 101 102 | 4 4 4 4
Pattern matching | Threshold Min Threshold Max | 1 2 | 4 4
Contour | Threshold Min Threshold Max | 1 2 | 4 4
Grey Level | Threshold Min Threshold Max GreyMin GreyMax | 1 2 101 102 | 4 4 4 4
Contrast | Threshold Min Threshold Max | 1 2 | 4 4
Barcode | Reference String | 101 | n
Datacode | Reference String | 101 | n
OCR | Reference String | 101 | n
ColorValue | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109 | 4 4 4 4 4 4 4 4 4
ColorArea | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109 | 4 4 4 4 4 4 4 4 4
BLOB | GreyAbsoluteMin GreyAbsoluteMax GreyAbsoluteInvert | 101 102 103 | 4 4 1

Get parameter (Binary) Request string to Sensor
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x0A | Command get parameter
6 | Unsigned Char | 0xn | Detector no., XX = 1- n
7 | Unsigned Char | 0x65 | Command: Set reference string / value *1), see below !
Get Parameter (Binary) Response string from Sensor (may be 4-5 Seconds delayed)
Byte no. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram = 10 Bytes + Length of string (n)
2 |  | 0x00
3 |  | 0x00
4 |  | 0x0n
5 | Unsigned Char | 0x0A | ID get parameter
6 | Unsigned Short | 0xXX | Error Code 00 00 = Pass Error Code 00 01 = Fail
7 |  | 0xXX |
8 | Unsigned Char | 0x0A | Parameter type string
9 | Unsigned Short | 0x00 | Length of parameter (n)
10 |  | 0x0n |
11..n | Unsigned Char | 0xn | Reference string / value
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | No change

*1) Byte No. 7: Command: Get reference string / value:

Detector | Function | Command | Length of following data
Alignment Pattern matching | Threshold Min Threshold Max | 1 2 | 4 4
Alignment Contour | Threshold Min Threshold Max | 1 2 | 4 4
Alignment Edge | Threshold Min Threshold Max Transition_Horizontal Transition_Vertical | 1 2 101 102 | 4 4 4 4
Pattern matching | Threshold Min Threshold Max | 1 2 | 4 4
Contour | Threshold Min Threshold Max | 1 2 | 4 4
Grey Level | Threshold Min Threshold Max GreyMin GreyMax | 1 2 101 102 | 4 4 4 4
Contrast | Threshold Min Threshold Max | 1 2 | 4 4
Barcode | Reference String | 101 | n
Datacode | Reference String | 101 | n
OCR | Reference String | 101 | n
ColorValue | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109 | 4 4 4 4 4 4 4 4 4
ColorArea | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109 | 4 4 4 4 4 4 4 4 4
BLOB | GreyAbsoluteMin GreyAbsoluteMax GreyAbsoluteInvert | 101 102 103 | 4 4 1

Get image (Binary) Request string to Sensor, not available with RS232/RS422
Byte No. | Data type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x06
5 | Unsigned Char | 0x03 | Get image
6 | Unsigned Char | 0xXX | 0 – Last Image 1 – Last Failed Image 2 – Last Good Image
Get image (Binary) Response String from Sensor
Byte No. | Data type | Contents | Significance
1 | Unsigned Int | 0xXX | Length of telegram e.g. 00 04 B0 0D
2 |  | 0xXX
3 |  | 0xXX
4 |  | 0xXX
5 | Unsigned Char | 0x03 | Response ID Get image
6 | Unsigned short | 0xXX | Error code 00 00 – Success, 00 01 – Recorder Off 00 02 – No Matching Image of requested type
7 |  | 0xXX
8 | Unsigned Char | 0xXX | Image type 0 - greyscale 1 – COLOR_BAYER_GB 2 – COLOR_BAYER_GR 3 – COLOR_BAYER_BG 4 – COLOR_BAYER_RG At conversion of the image from Bayer into RGB, the appropriate image type must be considered. Pre- processing filters of category "Arrangement" do influence the Bayer- type.
9 | Unsigned Char | 0xXX | Image result 01 - good image 00 - failed image
10 | Unsigned short | 0xXX | No of rows e.g. 01 E0
11 |  | 0xXX
12 | Unsigned short | 0xXX | No of columns e.g. 02 80
13 |  | 0xXX
14...n | Unsigned Char | 0xXX | Binary image data (rows * columns)
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Pulled low

Set Shutter (Binary) Request string to Sensor
Byte No. | Data Type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00 |
3 |  | 0x00 |
4 |  | 0x09 |
5 | Unsigned Char | 0x0E 0x0F | Command set shutter temporary Command set shutter permanent
6 | Unsigned Int | 0xXX | Shutter value (in microseconds)
7 |  | 0xXX |
8 |  | 0xXX |
9 |  | 0xXX |
Set Shutter (Binary) Response String from Sensor
Byte No. | Data Type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x0E 0x0F | ID set shutter temporary ID set shutter permanent
6 | Unsigned Short | 0x00 | Error Code 00 00 = Pass Error Code 00 01 = Fail
7 | 0xXX |
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Pulled Low

Get Shutter (Binary), Request string to Sensor (since version 1.6.5.3)
Byte No. | Data type | Contents | Significance
1 | Unsigned int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x17 | Request ID, Get shutter
Get Shutter (Binary) Response String from Sensor
1 | Unsigned int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x0B
5 | Unsigned Char | 0x17 | Request ID, Get shutter
6 | Unsigned short | 0xXX | 0 - Pass 1 - Fail 2 - Unused 3 - Insufficient parameter data 4 - Command rejected, simultaneous module requests received
7 |  | 0xXX
8 | Unsigned int | 0xXX | Shutter value
9 |  | 0xXX
10 |  | 0xXX
11 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered

Set ROI (Binary) Request string to Sensor, not available with RS232/RS422
Byte No. | Data Type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x20
5 | Unsigned Char | 0x10 0x11 | Command set ROI temporary Command set ROI permanent
6 | Unsigned Int | 0xXX | ROI Info Length in Bytes from Byte 6 to end
7 |  | 0xXX
8 |  | 0xXX
9 |  | 0xXX
10 | Unsigned Char | 0xXX | Detector No.
11 | Unsigned Char | 0x00 | ROI Index = 00 = yellow ROI
12 | Unsigned Char | 0xXX | ROI shape 01=circle / 02=rectangle / 03=ellipse
13 | Unsigned Int | 0xXX | ROI Parameter: centre X (in Pixels * 1000)
14 |  | 0xXX
15 |  | 0xXX
16 |  | 0xXX
17 | Unsigned Int | 0xXX | ROI Parameter: centre Y (in Pixels * 1000)
18 |  | 0xXX
19 |  | 0xXX
20 |  | 0xXX
21 | Unsigned Int | 0xXX | ROI Parameter: width / radius X (in Pixels* 1000)
22 |  | 0xXX
23 |  | 0xXX
24 |  | 0xXX
25 | Unsigned Int | 0xXX | Only ellipse / rectangle: ROI Parameter: width / radius Y (in Pixels* 1000)
26 |  | 0xXX
27 |  | 0xXX
28 |  | 0xXX
29 | Unsigned Int | 0xXX | Only ellipse / rectangle: ROI Parameter: Angle in ° (in ° * 1000)
30 |  | 0xXX
31 |  | 0xXX
32 |  | 0xXX
Set ROI (Binary) Response String from Sensor
Byte No. | Data Type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x10 0x11 | ID set ROI temporary ID set ROI permanent
6 | Unsigned Short | 0x00 | Error Code 00 00 = Pass Error Code 00 01 = Fail
7 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Pulled Low

Get ROI (Binary) Request string to Sensor, not available with RS232/RS422
Byte No. | Data Type | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x12 | Command get ROI
6 | Unsigned Char | 0xXX | Detector No.
7 | Unsigned Char | 0xXX | ROI Index = 00 = yellow ROI
Get ROI (Binary) Response String from Sensor
Byte No. | Data Type | Contents | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x34
5 | Unsigned Char | 0x12 | ID get ROI
6 | Unsigned Short | 0x00 | Error Code 00 00 = Pass Error Code 00 01 = Fail
7 |  | 0xXX
8 | Unsigned Int | 0xXX | ROI Info Length in Bytes from Byte 8 to end
9 |  | 0xXX
10 |  | 0xXX
11 |  | 0xXX
12 | Unsigned Char | 0xXX | Detector No.
13 | Unsigned Char | 0x00 | ROI Index = 00 = yellow ROI
14 | Unsigned Char | 0xXX | ROI shape 01=circle / 02=rectangle / 03=ellipse
15 | Unsigned Int | 0xXX | ROI Parameter: centre X (in Pixels * 1000)
16 |  | 0xXX
17 |  | 0xXX
18 |  | 0xXX
19 | Unsigned Int | 0xXX | ROI Parameter: centre Y (in Pixels * 1000)
20 |  | 0xXX
21 |  | 0xXX
22 |  | 0xXX
23 | Unsigned Int | 0xXX | ROI Parameter: width / radius X (in Pixels* 1000)
24 |  | 0xXX
25 |  | 0xXX
26 |  | 0xXX
27 | Unsigned Int | 0xXX | Only ellipse / rectangle: ROI Parameter: width / radius Y (in Pixels* 1000)
28 |  | 0xXX
29 |  | 0xXX
30 |  | 0xXX
31 | Unsigned Int | 0xXX | Only ellipse / rectangle: ROI Parameter: Angle in ° (in ° * 1000)
32 |  | 0xXX
33 |  | 0xXX
34 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Pulled Low

Teach Detektor (Binary) Request string to Sensor
Byte No. | DataType | Content |  | Significance
1 | Unsigned Int | 0x00 |  | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x18 |  | Command Teach Detektor
6 | Unsigned Char | 0xXX |  | Detector number 0 = Alignment >= 1 Detectors
7 | Unsigned Char | 0xXX |  | Permanency 0 = Temporary 1 = Permanent
8 | Unsigned Char | 0xXX |  | Trigger 0 = no Trigger 1 = Trigger
Teach Detector (Binary) Response- String from sensor
Byte No. | DataType | Content |  | Significance
1 | Unsined Int | 0x00 |  | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x18 |  | Command Teach Detector
6 | Unsigned Short | 0xXX |  | Error Code 0 = Pass 1 = Fail 2 = Unused 3 = Insufficient parameter data 4 = Command rejected, simultaneous module requests received
7 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered

Calibration Add Point (Binary) Request string to Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x10
5 | Unsigned Char | 0x1D | Command Calibration Add Point
6 | Unsigned Short | 0xXX | List index of calibration point pair 0: attach new point at end of list >0: overwrite point at existing index position 1: first point in list
7 |  | 0xXX
8-11 | Unsigned Int | 0xXX | World X
12-15 | Unsigned Int | 0xXX | World Y
Calibration Add Point (Binary) Response string from Sensor
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x0F
5 | Unsigned Char | 0x1D | Command Calibration Add Point
6 | Unsigned Short | 0xXX | Error Code 0: Pass 1: Fail 2: Unused 3: Unsufficient parameter data 4: Command rejected, simultaneous module request received
7 |  | 0xXX
8-11 | Unsigned Int | 0xXX | Image X
12-15 | Unsigned Int | 0xXX | Image Y
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered
Supported interfaces |  |  | UserApp, Profinet
Necessary settings in requesting job |  |  | In "Output/Telegram/Payload" as first and second value the X- and Y- value of the finding position must be set.

Calibration Calibrate (Binary) Request string to Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x1E | Command Calibration Calibrate
6 | Unsigned Char | 0xXX | Permanency 0 = Temporary 1 = Permanent
Calibration Calibrate (Binary) Response string from Sensor
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x17
5 | Unsigned Char | 0x1E | Command Calibration Calibrate
6 | Unsigned Short | 0xXX | Error Code 0: Pass 1: Fail 2: Unused 3: Unsufficient parameter data 4: Command rejected, simultaneous module request received
7 |  |
8-9 | Unsigned Short | 0xXX | Current highest point pair index
10-13 | Unsigned Int | 0xXX | RMSE (Root Mean Square Error)
14-17 | Unsigned Int | 0xXX | Mean
18-21 | Unsigned Int | 0xXX | Max
22-25 | Unsigned Int | 0xXX | Min
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered
Supported interfaces |  |  | UserApp, Profinet

Calibration Clear (Binary) Request string to Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x1F | Command Calibration Clear
Calibration Clear (Binary) Response string from Sensor
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x07
5 | Unsigned Char | 0x1F | Command Calibration Clear
6 | Unsigned Short | 0xXX | Error Code 0: Pass 1: Fail 2: Unused 3: Unsufficient parameter data 4: Command rejected, simultaneous module request received
7 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered
Supported interfaces |  |  | UserApp, Profinet

Calibration Validate (Binary) Request string to Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x05
5 | Unsigned Char | 0x20 | Command Calibration Validate
Calibration Validate (Binary) Response string from Sensor
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x17
5 | Unsigned Char | 0x20 | Command Calibration Validate
6 | Unsigned Short | 0xXX | Error Code 0: Pass 1: Fail 2: Unused 3: Unsufficient parameter data 4: Command rejected, simultaneous module request received
7 |  | 0xXX
8-9 | Unsigned Short | 0xXX | Current highest point pair index
10-13 | Unsigned Int | 0xXX | RMSE (Root Mean Square Error)
14-17 | Unsigned Int | 0xXX | Mean
18-21 | Unsigned Int | 0xXX | Max
22-25 | Unsigned Int | 0xXX | Min
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered
Supported interfaces |  |  | UserApp, Profinet

Set Gain (Binary) Request string to Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x0A
5 | Unsigned Char | 0x1B | Set Gain
6 | Unsigned Char | 0xXX | 1 = Permanent 0 = Temporary
7 | Unsigned Int | 0xXX | Gain value
8 |  | 0xXX
9 |  | 0xX
10 |  | 0xXX
Set Gain (Binary) Response string from Sensor
Byte No. | DataType | Content | Significance
1 | Unsigned Int | 0x00 | Length of telegram
2 |  | 0x00
3 |  | 0x00
4 |  | 0x0B
5 | Unsigned Char | 0x1B | Set Gain
6 | Unsigned Short |  | Error Code 0: Pass 1: Fail 2: Unused 3: Unsufficient parameter data 4: Command rejected, simultaneous module request received
7 |  | 0xXX
8 | Unsigned Int | 0xXX | Current Gain value
9 |  | 0xXX
10 |  | 0xXX
11 |  | 0xXX
Additional information
Accepted in run mode: |  |  | Yes
Accepted in configuration mode: |  |  | No
Accepted when Ready Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Not altered

Data output from sensor in BINARY

dynamically composed from user settings in the software

For detailed informations to the file format see also: Telegram, Data output

Main string structure:<START> <OPTIONAL FIELDS> <PAYLOAD> <CHKSUM> <TRAILER>

Output data (BINARY), dynamically composed from user settings in the software
Name | Number of bytes | Binary contents / Example | Significance /Comments
Start | 1 - max. 8 | User defined, max. 8 Bytes | Start string (Header)
Selected fields | 2 (Word) | 1 Bit per field | By this field output of all active checkboxes "bit-wise" (in 2Bytes!) can be activated - Output order is from left to right and from top to down. - For each checkbox there is one bit (high/low) beginning with LSB = low significant bit. - Checkbox "Selected fields" is not part of the output!
Data length | 2 (Word) | e.g. 0x00, 0x02 = length = 2 Byte | Length of telegram in Bytes
Status | 2 (Word) | e.g. 0x00, 0x06 (triggered) e.g. 0x00, 0x05 (free-run) | Byte1: 00000xxx Bit0 = 1 = <Free-run> Bit1 = 1 = <triggered> Bit2 = <Op.mode> (1=run/0=config) Byte2 (reserved), always 0x00
Detector result | 4..n | e.g.. 0x05 (Bit1+3=5) 0x00 (two bytes number of detectors) 0x01 0x01 (Detector result D1) | Byte 1 Bit1 (LSB) = global job result (1 = Pass, 0 = Fail) Bit2 = Boolean result, alignment only, alignment inactive = true Bit3 = AND conjunction of all detectors of the active job Byte 2 and 3 two byes for the number of detectors inside job (without alignment) Byte 4 - n 1 Byte per each block of 8 used detectors e.g.: Bit1(LSB) = Detector 1, Bit2 = Det. 2, ....
Digital outputs | n | Byte 1 and 2: number of active outputs Bytes 3 ... n: outputs, bit-coded | Results of all digital outputs (bit-coded)
Logical outputs | n | Byte 1 ... 2 number of active logical outputs Byte 3 ... n all active logical outputs, bit-coded | Example: 18 logical outputs are configured, but only output1,2 and 9 are linked to functions (are active): 000, 003, 003, 001 2 bytes number of active outputs, all results bit-coded ... In this example there are needed 2 bytes because of output 9.... 1. result byte = 00000011 (log. output 1+2) 2. result byte = 00000001 (log. output 9)
Total exec. time | 4 (Integer) |  | Current (job) cycle time in [ms]
Active job no. | 1 |  | Active Job no. (1..255)
<<Detector specific>>
Detector result | 1 | (1 = Pass, 0 = Fail) | Boolean detector result
Score value 1 .. n | 4 |  | Score (0..100%)
Execution time | 4 |  | Execution time of individual detector in [msec].
Distance | 4 |  | Calculated distance, signed integer, [1/1000] *1)
Position X1 .. n | 4 |  | Position found X (x-coordinate). [1/1000] *1)
Position Y1 .. n | 4 |  | Position found Y (y-coordinate). [1/1000] *1)
DeltaPos X | 4 |  | Delta Position X between object taught and object found [1/1000] *1)
DeltaPos Y | 4 |  | Delta Position X between object taught and object found [1/1000] *1)
Angle | 4 |  | Orientation of object found (0°..360°) [1/1000] *1)
Delta Angle | 4 |  | Angle between object taught and object found (0°..360°) [1/1000] *1)
Scaling | 4 |  | Only with contour (0.5..2) [1/1000] *1)
Result horizontal | 1 | 0x01 = True, 0x00 = fail | Boolean result of horizontal edge detection of alignment
Result vertical | 1 | 0x01 = True, 0x00 = fail | Boolean result of horizontal edge detection of alignment
Score horizontal | 2 |  | Score 0..100% (alignment only using edge detection)
Score vertical | 2 |  | Score 0..100% (alignment only using edge detection)
R(ed) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
G(reen) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
B(lue) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
H(ue) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
S(aturation) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
V(alue) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
L(uminanz) | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
A | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
B | 4 |  | Value for color parameter, signed integer, [1/1000] *1)
Result index | 4 |  | Index in list, signed integer
Color distance | 4 |  | Distance between taught and current color, signed integer, [1/1000] *1)
Area | 4 |  | Area of the BLOB, without holes, in pixels
Area (incl. holes) | 4 |  | Area of the BLOB, including holes, in pixels
Contour length | 4 |  | Number of pixels of outer contour
Compactness | 4 |  | Compactness of BLOB (Circle = 1, all other >1) The stronger the shape of the BLOB deviates from circle the larger the value of compactness will be.
Center of gravity X | 4 |  | X- coordinate of center of gravity of BLOB
Center of gravity Y | 4 |  | Y- coordinate of center of gravity of BLOB
Center X | 4 |  | X- coordinate of fitted, geometric element (rectangle, ellipse)
Center Y | 4 |  | Y- coordinate of fitted, geometric element (rectangle, ellipse)
Width | 4 |  | Width of geometric element. Width >= 0, width >= height, negative value indicates failure
Height | 4 |  | Height of geometric element. Heigth >= 0, height <= width, negative value indicates failure
Angle (360) | 4 |  | Orientation of width of object in degree (range: -180 ... +180°, 0° = east, counterclockwise)
Eccentricity | 4 |  | Eccentricity numerical (range 0,0 ... 1,0)
Face up/down, area | 4 |  | Face up/down discrimination, based on area, indicated by sign
String | 1...n | Maximum length 127!! | Contents of Code, depending from code string length may change, if a fix string length is needed, parameters minimum string length (detector specific data output) and maximum string length (detector parameters) have to be used.
String length | 4 |  | Length of Code in Bytes
Truncated | 1 | 0x00 = Code complete, 0x01 = Code truncated | Code truncated
Checksum | 1 |  | XOR-checksum of all bytes in telegram
Trailer | 1 - max. 8 |  | End of string (Trailer)

*1) All detector-specific data with decimal places are transmitted as whole numbers (multiplied by 1000) and must therefore be divided by 1000 after receipt of data.Values are transferred in format "Big-endian". (there are two different architectures for handling memory storage. They are called Big Endian and Little Endian and refer to the order in which the bytes are stored in memory, in the case of the Vision Sensor architecture the data is stored Big End In first)

Example: "Score" Value (Binary protocol)

In Configuration Studio/Visualisation Studio"Score" = 35 is displayed.
Over Ethernet there will be received the following four bytes: 000,000,139,115
Formula for recalculating: (HiWordByte*256 + HiLowByte) *65536 + HiByte*256 + LoByte = Value

Because Big-endian (from Sensor) is sent calculation goes as following:
000 = HiWordByte, 000 = HiLowByte, 139 = HiByte, 115 = LoByte

(0*256 + 0) * 65536 + (139 * 256) + 115 = 35699 / 1000 = 35,699 (real score value)
Angles or other negative values are transferred in two's complement.


Controlling image reproduction

Figure: Image reproduction

You can control the selection and reproduction of stored images using the "<" (back), Start / Stop and ">" (next) buttons as well as the slide bar underneath the display window. The image counter indicates the number of the current image as well as the number of images in the active filmstrip.


Starting Vision Sensor Visualisation Studio or Vision Sensor Configuration Studio via Autostart

To start Vision Sensor Visualisation Studio or Vision Sensor Configuration Studio via Autostart please select in: Vision Sensor Device Manager/File/Auto start file, the module to autostart and save it.

After selecting the module to start and the user level, with "Save" store the Autostart- file in folder ..\Windows\Start Menu\Programs (exact path depends on Windows installation)


Further explanations to Edge detector (alignment)

Function of „Number search rays“

„Number search rays“ parameter which defines in how many parallel sub- search regions the search area is divided. The edge detector searches in each sub region for the first edge separately.

Increasing the value of „Number search rays“, increases the chance to find the very first edge in the search area..

By increasing “Number search rays” it may happen, that the threshold value fluctuates strongly, e.g. if just the half of the search area is covered by the edge. The reason therefore is, that the first, not the strongest, edge is detected, which is above the threshold limit in search direction.

Figure: Edge detection with „Number search rays“ = 1. The dominating edge, perpendicular to the search direction is found.

Figure: Edge detection with „Number search rays“ >> 1. The first edge perpendicular to the search direction is found.

Function of Sigma (smoothing) to sharp or blurred edges

The edge strength represents the assumption of edge steps over a certain area in search direction, which is quantified in „Sigma“ (smoothing). With sharp edges the edge strength is not increased with increasing sigma. But with blurred edges the edge strength is increased by increasing sigma value.

Figure: Edge detection of sharp edge. High edge strength with low sigma value (smoothing).

Figure: Edge detection of blurred edge. Low edge strength with low sigma value.

Figure: Edge detection of blurred edge. High edge strength with high sigma value.

Function of Sigma (Smoothing) to residual edges

Like mentioned above, the edge strength represents the assumption of edge steps over a certain area in search direction, which is quantified in „Sigma“ (smoothing).

If in this area edges are found with different polarity (dark- bright: positive polarity, bright-dark: negative polarity) it´s edges steps can neutralize each other. This can be used to eliminate residual edges, by choosing a sigma value which is high enough.

Figure: Edge detection with sigma value = 1. Residual edge is not eliminated.

Figure: Edge detection with sigma value >> 1. Residual edge is eliminated.


Network connection


Network settings, Short reference

The following instructions indicate how to change the network configuration of the PC and the SBS Vision Sensor. If incorrect settings are used, the network connections in the computer may be lost. To be on the safe side, note the former settings for later use if required.

Following this procedure, it may be necessary to re-start the system. In order to determine which IP addresses are allowed in your network or locally in your PC, and to carry out the necessary settings on your PC, contact the system administrator beforehand.

The illustrations, dialogues and menus originate from the operating system Microsoft
WindowsXPTM. The illustrations are similar in other operating systems.


Alignment detector Edge detector

Next topic: Detectors

Settings in Parameters tab:

Parameters | Functions and setting possibilities
Detection | Here it is determined whether to use two detectors "horizontal and vertical”, or just one i.e. "only horizontal" or "only vertical", i.e. the object is only sought in one direction.
Edge strengthX/Y | Edge strength / contrast above which an edge should be detected as an edge
X/Y transition | Selection between light-dark or dark-light transition
Smoothing | Filter for smoothing rough edges or suppressing fine lines such as e.g. scratches. Blurred edges can be detected with a higher score using a higher sigma value. Scratches etc. can be masked through higher sigma values.
Search direction X/Y | Set search direction "left -> right" / "right -> left" or "down -> up" / "up -> down".
Number of search stripes X/Y | Number of parallel search stripes into which the width of the search zone is to be divided. Edge detection is carried out in each search stripe and the first edge is decisive. The greater the number of search stripes, the quicker the first edge will be found. (Finer detection - longer execution time).

Optimisation

Execution speed:

Search zone for position (yellow frame) only as large as required

Reduce search stripes

Reduce smoothing value

Reduce resolution to QQVGA, QVGA or VGA instead of WVGA (Attention: global parameter, affects all detectors!)

Robust detection:

If edges blurred: increase smoothing value

Interfering edges such as scratches are detected: increase switching threshold or / and smoothing value

Edge not vertical to search direction: increase search stripes

Effect of „Number search stripes”

Number search stripes represents in how many search stripes the width of the search area is divided. Edge detection is processed in each search stripe over the whole width. The first edge which is detected of all search stripes is the overall result of all search stripes. By increasing the number of search stripes it´s assured that the first edge is found in the whole search area.

By increasing search stripes it may happen, that the found edge strength fluctuates. E.g. if only the half width of the search area is covered with an edge. The cause is that the first – not the strongest – edge is detected which is above the threshold.

Further informations to edge detection see chapter: Further explanations to Edge detector (alignment)

Figure: Alignment, Edge detection


EtherNet/IP Appendix

Assembly Request

Communication settings

Description: | Request posted from PLC to Vision Sensor
Class: | Class 1
nAssemblyInstance: | 100
nType: | AssemblyConsuming
nLength (bytes): | 344
szAssemblyName: | AssemblyRequest

Assembly request

Vision Sensor receives a data frame of 344 bytes.

To release commands to the sensor, proceed as follow:

Each byte corresponds to values which are sent from the PLC to the sensor. The position defines the byte to use and the size defines the length of this command.

Position | Size (bytes) | Member | Data type | Description
0 | 2 | unKey | U16 | request key, eg. a request counter
2 | 2 | unId | U16 | request ID, eg. for requests "trigger", "change job"
4 | 2 | unNumChar | U16 | no. of valid char parameters
6 | 2 | unNumInt | U16 | no. of valid int parameters
8 | 256 | pcValueChar[RQST_NUM_CHAR] | I8 | char parameters for request, member may only hold one string
264 | 80 | 16 int parameters for request | I16 | int parameters for request

The request key:

The position 0 (Byte 0) with a size of 2 bytes, corresponds to the request key. It valid the modification of parameters sent. For that, you need to increment the request key bytes with a value of your choice to release a command.

Example:

I want to make a trigger on the Vision Sensor. The default code of the request key is 0x0 0x0. After Trigger configuration (description follows), I increment the request key to engage the trigger. The request key code is now: 0x0 0x2.

Position 0:

Byte 1 | Byte 0
Always 0 | 0000 0010

Command configuration:

The request key has a size of 2 bytes (at position 0 and 1), the command configuration will start on position 2 and has a size of 2 bytes. It is possible to choose a command called Request IDbetween: Trigger, Change job, statistics reset, auto shutter, permanent or temporary teach.

Position 2:

Byte 3 | Byte 2
Always 0 | 0000 0001

Change job: to send the the change job command, the code is: 0x0 0x2 in position 2. You have to set the LSB of position 6 to "1". (Standard version: job 1 or job 2; Advanced versions: 255 jobs available). For that, write the job number 4 bytes to position / byte 264 .

To validate your request, you have to increment the request key. After that you need to make a trigger to change the job (don’t forget to set the LSB of position 6 to "0").

Position 2:

Byte 3 | Byte 2
Always 0 | 0000 0010

Position 6:

Byte 7 | Byte 6
Always 0 | 0000 0001

Position 264:

Byte 265 | Byte 264
Always 0 | 0000 0010

Byte 3 | Byte 2
Always 0 | 0000 0100

Auto Shutter: For function auto shutter you have to write the code: 0x0 0x7 on position 2.

Position 2:

Byte 3 | Byte 2
Always 0 | 0000 0111

Permanent teach: The permanent teach allows to teach a new reference pattern / contour etc. with same tools and same settings. These teach is permanent, it means the new reference pattern / contour etc. is stored permanentely in the sensor memory, even if the sensor is reset. The code is: 0x0 0x8 on position 2. To activate this command, you have to launch a new trigger to catch a new picture and you have to increment the request key.

Position 2:

Byte 3 | Byte 2
Always 0 | 0000 1000

Temporary teach: The temporary teach allows a new reference pattern / contour etc.with same tools and same setting. These teach is temporary, it means the reference pattern / contour etc. is not available after a reset otf the sensor. The code is: 0x0 0x9 on position 2. To active this command, you have to launch two trigger to catch a new picture and you have to increment the request key.

Position 2:

Byte 3 | Byte 2
Always on 0 | 0000 1001

Summary of available commands:

Commands | Position | Size | Code
Trigger | 2 | 2 | 0x0 0x1
Change job | 2 | 2 | 0x0 0x2
Job number | 264 | 4 | Job number
Statistics reset | 2 | 2 | 0x0 0x4
Auto shutter | 2 | 2 | 0x0 0x7
Permanent teach | 2 | 2 | 0x0 0x8
Temporary teach | 2 | 2 | 0x0 0x9

Example: I want to make a trigger, I write the code: 0x0 0x1 on position 2, I modify the request key on position 0: 0x0 0x2 => 0x0 0x4. The Vision Sensor take a new picture.

Attention: Don’t forget to increment the request key to valid the commands.

Assembly Response

Communication settings

Description: | Response returned from Vision Sensor to PLC
Class: | Class 1
nAssemblyInstance: | 101
nType: | AssemblyProducing
nLength (bytes): | 444
szAssemblyName: | AssemblyResponse

Assembly response

Assembly responses are data sent by the sensor after made some commands by the PLC or by the software.

For the commands by PLC, please see Ethernet / IP request file.

To set commands by the software with the Vision Sensor Configuration Studio, proceed as follow:

After PLC configuration and Vision Sensor Configuration Studio configuration, the size of the frame assembly response is of 444 Bytes. Each of them corresponds to some values describe as follow:

Position | Size (bytes) | Member | Data type | Description
0 | 4 | unFault | U32 | member is standard in Rockwell RSLogix
4 | 2 | unKey | U16 | Request key is returned in response
6 | 2 | unId | U16 | Request ID is returned in response. (Trigger, Change job, Statistics reset…)
8 | 2 | unError | U16 | Error code of response
10 4 unNumChar U32

Responses values for requests like job change, teach …

 | Byte 13 | Byte 12 | Byte 11 | Byte 10
Trigger | Always 0 | Always 0 | Always 0 | 0000 0001
Change job | Always 0 | Always 0 | Always 0 | 0000 0010
Permanent teach | Always 0 | Always 0 | Always 0 | 0000 1000
14 | 2 | RESERVED
16 | 16 | pcValueChar[RPNS_NUM_CHAR] | 18 | char parameters for response, member may only hold one string
32 | 16 | pnValueInt[RPNS_NUM_INT] | U32 | int parameters for response
48 | 4 | unImageCount | U32 | Number of images taken by the Vision Sensor sensor.
52 | 4 | unExecutionTime | U32 | Average execution time of last processed image. (To active this data, select in Vision Sensor Configuration Studio : Execution time)
56 4 pucStatus[RPNS_IMPL_NUM_BYTE_STATUS] U32

Status : Vision Sensor mode (To active this data, select in Vision Sensor Configuration Studio : Status)

Freerun : The sensor takes a new picture when the processing is finished.

Trigger : The sensor wait an external signal to take a new picture.

Example Byte 56, bit "0" and "1":

 | Byte 59 | Byte 58 | Byte 57 | Byte 56
Freerun | Always 0 | Always 0 | 0000 000X | 0000 0X01
Trigger mode | Always 0 | Always 0 | 0000 000X | 0000 0X10

Additional data for 1.7.10.1 version or more

Configuration : The sensor is connected to a PC for configuration

Example Byte 56, bit "2":

 | Byte 59 | Byte 58 | Byte 57 | Byte 56
Configuration | Always 0 | Always 0 | 0000 000X | 0 0000 00XX
Run | Always 0 | Always 0 | 0000 000X | 0000 01XX

Run : The job is downloaded in the Vision Sensor memory. The sensor works stand alone.

Byte "57", bit "0" shows the sensor ready status

 | Byte 59 | Byte 58 | Byte 57 | Byte 56
Sensor ready | Always 0 | Always 0 | 0000 0001 | 0000 0XXX
Sensor not ready | Always 0 | Always 0 | 0000 0000 | 0000 0XXX

60

 2 unActiveJob U16 Active job : Value of job number
62 | 2 | RESERVED
64 2 unNumDigital U16

Number of active digital outputs (assigned to one tool) (To active this data, select in Vision Sensor Configuration Studio : Digital outputs)

According to: Byte 1 and 2, of "Digital outputs", in "Serial communication / Data output Binary"
66 2 unNumLogic U16

Number of active logical outputs (assigned to one tool) (To active this data, select in Vision Sensor Configuration Studio : Logical outputs)

According to: Byte 1 and 2, of "Logical outputs", in "Serial communication / Data output Binary"
68 2 unNumDetector U16

Number of selected tools (It is a default value)

According to: Byte 2 and 3, of "Detector result", in "Serial communication / Data output Binary"
70 | 2 | unNumBool | U16 | no. of valid boolean parameters
72 | 2 | unNumString | U16 | no. of strings included in pcValueChar
74 | 2 | unNumInt | U16 | Number of received payload (To active this data, select a data in Vision Sensor Configuration Studio : Payload)
76 2 pucDigital[RPNS_IMPL_NUM_BYTE_DIGITAL] U8

Digital outputs results: result according to the order of the outputs. LSB => first output. MSB => Last output.

Example: 4 active outputs (12, 09, 05, 06). Status of outputs :

12 = OK; 09 = NOK; 05 = OK; 06 = OK. The code will be :

 | Byte 79 | Byte 78 | Byte 77 | Byte 76
Result | 0000 0000 | 0000 0000 | 0000 0000 | 0000 1101

(To active this data, select in Vision Sensor Configuration Studio : Digital outputs)

According to: Byte 3 ... n, of "Digitaloutputs", in "Serial communication / Data output Binary"
80 8 pucLogic[RPNS_IMPL_NUM_BYTE_LOGIC] U8

Logical outputs results: result according to the order of the outputs. LSB => first output. MSB => Last output.

Example: 4 active outputs (12, 09, 05, 06). Status of outputs :

12 = OK; 09 = NOK; 05 = OK; 06 = OK. The code will be : 1011

 | Byte 83..87 | Byte 82 | Byte 81 | Byte 80
Result | 0000 0000 | 0000 0000 | 0000 0000 | 0000 1011

(To active this data, select in Vision Sensor Configuration Studio : Logical outputs)

According to: Byte 3 ... n, of "Logical outputs", in "Serial communication / Data output Binary"
88 1 pucDetector[RPNS_IMPL_NUM_BYTE_DETECTOR] U8

Global result (Only available on Vision Sensor Configuration Studio and Vision SensorViewer):

Only coded on the third LSB bits.

Bit0 = Global result status (0 : OK ; 1 : NOK)

Bit1 = Status of the case « Detector result » in Optional field during the data configuration.

Bit2 = Indicate if one of tools is NOK even if result global is OK => 0

Example 1: We select Detector result case; Tool1 OK; Tool2 OK; Global result on tool1 and on tool2 => OK, the bit2 will be on 1.

 | Byte 88
Result | 0000 0111

Example 2: We select Detector result case; Tool1 OK; Tool2 NOK; Global result on tool1 => OK, the bit2 will be on 0.

According to: Byte 1, of "Detector result", in "Serial communication / Data output Binary"

 | Byte 88
Result | 0000 0011

Other bits always on 0.

(To active this data, select in Vision Sensor Configuration Studio : Detector results)
89 3 pucDetector[RPNS_IMPL_NUM_BYTE_DETECTOR] U8

Detector result: Each bit corresponds to a tool.

Only on 1Byte: Bit1 = tool1; bit2 = tool2; bit3 = tool3... until 8 bits.

Other bytes, always on 0.

Future Applications, coded on 3 bytes.

(To active this data, select in Vision Sensor Configuration Studio : Detector results)
92 | 4 | pucBool[RPNS_IMPL_NUM_BYTE_BOOL] | U8 | boolean results (bitwise) as configured in HMI (listbox)
96 | 16 | punStringLength[RPNS_IMPL_NUM_STRING] | U16 | lengths of strings included in pcValueChar
112 | 2 | pucStringTruncated[RPNS_IMPL_NUM_BYTE_STRING_TRUNCATED] | U8 | indicates for each string whether it has been truncated (bitwise)
114 | 2 | RESERVED
116 | 128 | pcString[RPNS_IMPL_NUM_BYTE_STRING] | I8 | char result as configured in HMI (listbox), member may hold multiple strings
244 | 200 | pnInt[RPNS_IMPL_NUM_INT] | U32 | Results of payload configured on Vision Sensor Configuration Studio in tab « frame ». All data on payload are describe as follow :


Vision Sensor, EtherNet/IP, Introduction

This chapter explains the use of the Vision Sensor with EtherNet/IP.

For data communication between Vision Sensor and PLC via EtherNet/IP the following topics are explained: electrical connection, settings in Vision Sensor and PLC (as example for Rockwell RSLogix), available telegrams formats and the telegram timing.


Vision Sensor, PROFINET, Introduction

This chapter explains the use of Festo Vision sensor with Profinet. The Profinet interface is implemented starting with version 1.12.x.x.

For data communication between Vision sensor and PLC via Profinet the following topics are explained: electrical connection, settings in Vision sensor and PLC (as example for Siemens S7), available telegrams formats and the telegram timing.


Result offset

With the Result offset, the final position of a found object can be modified. This can be useful when working with a robotic coordinate systems and needing to define a 'pick point' for example.

Settings in result offset tab:

Parameters Functions
None

Automatically determines the of the Region Of Interest or ROI.

Offset

Free selectable position (graphically or by value input, e.g. for robot gripper use)

  • X: Offset in X- direction (ref. ROI center)
  • Y: Offset in Y- direction (ref. ROI center)
  • Angle: angle offset (ref. ROI orientation)

Figure: Result offset