Open Source License

The SBS 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 whose code helped in the creation of the SBS 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 firmware makes use of Linux Version 2.6.33 (Website: www.kernel.org), which is distributed under the GNU GPL version 2.

The SBS 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 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 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 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 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 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 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 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 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 firmware makes use of glibc, which is distributed under GNU LGPL version 2.1 or higher.

The SBS 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 vision sensor\Eula\OpenSourceLicenses.

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

Vision Sensor Device Manager, Vision Sensor Configuration Studio, Rescue software is based in part on the work of the Qt-project (https://doc.qt.io/qt-5/licenses-used-in-qt.html).


SBS – Operating- and configuration software - Overview

Structure of SBS Software

The SBS Software is organized into the following three modules:

  • Vision Sensor Device Manager

    This module is for selection of a 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. System settings such as IP addresses, firmware updates can be modified here, as well as password and user rights.

  • Vision Sensor Configuration Studio

    This module contains comprehensive functions for setting up sensors and configuring inspection tasks (jobs). If password protection is activated, you need the authorization of the user group Administrator for the configuration.

  • Vision Sensor Visualisation Studio

    This module displays images and results. You can use it to monitor / check sensors. In addition, extensive archiving functions are available. Compared to Vision Sensor Configuration Studio it offers only limited configuration options. If the password protection is activated, the authorization of the user group is "Administrator" or "Worker".

Fig.: Software structure

The latest www.festo.com versions for free download are available at SBS Software

Date: 8/3/2018


Vision Sensor Device Manager

Fig.: Vision Sensor Device ManagerOverview

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

B) Sensors for simulation mode
All the SBS vision 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 , can be add manually with their 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 can 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 products
  • Config
    Configures a connected sensor or a sensor simulation = Vision Sensor Configuration Studio
  • View
    Displays image or result data from a connected sensor = Vision Sensor Visualisation Studio
  • Settings
    Edits network settings such as the sensor's IP address etc.

E) Context
Context sensitive help

F) Favorites
The SBS vision sensors can be stored as favorites. The favorites are used for quick access and for managing the SBS vision sensors.


Vision Sensor Configuration Studio

Fig.: Vision Sensor Configuration Studio Overview

The fields are:

A) Menu and tool bar

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

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

D) Help, Result, Statistics

  • Help: Context-sensitive help for the current topic
  • Result: Detector results for selected parameters
  • Statistics: Display statistics on evaluation and execution time

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”).


Vision Sensor Visualisation Studio

Fig.: Vision Sensor Visualisation Studio Overview

A) Image display

B) Context
Context sensitive help

C) Commandos
Commands for displaying, transferring and archiving images.

D) Job and result display
These tabs can display (statistical) results, switch jobs, and load jobs / job sets from Vision Sensor Visualisation Studio to the sensor.


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 License


SBS – Operating- and configuration software – Short introduction

This short guide explains the procedure for setting an example inspection task on the SBS vision sensor.
Exemplary inspection with the object sensor.

Starting the SBS Software

To start the SBS Software click to the desktop icon “SBS vision sensor”.

Fig.: 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.

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, with a click on the button "Config", the Vision Sensor Configuration Studiomodule "" starts. With the buttonVision Sensor Visualisation Studio "View" the module "" starts.

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 “”. Then, with a click on the button "Config", the module "Vision Sensor Configuration Studio" starts.

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.

Fig.: Password button

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.

Fig.: Login button

Fig.: 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

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

Configuring a job

For Job- setup: in Setup/Job edit or generate a new job.

Fig.: Vision Sensor Configuration StudioJob

Here, new jobs are created and several jobs are managed. In addition, here all global settings that are valid for the entire inspection task, such as Shutter speed, gain, illumination settings, etc. made.

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

  • 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/Image acquisition
    • 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/Image acquisition) 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 (depending on the type of sensor max.
  • 32 or 255 detectors) can subsequently be defined within one job to solve an inspection task.

There is the possibility to save a job as a template. To do this, right-click on the job in the job list and select “Save as template”. For each new job, the settings and detectors are then copied from the job template. In the job list, the job template is identified with a “T” (Template). The job template cannot be edited. To remove the job template, right-click on the template and select “Remove”.

Next topic: Alignment settings


Alignment settings

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

Next topic: Detector settings

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.

Fig.: Vision Sensor Configuration Studio 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.

Fig.: 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.

Fig.: 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

Fig.: 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

  • 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

Fig.: 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

Fig.: 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 the “View” button in the Vision Sensor Device Manager software to start the Vision Sensor Visualisation Studio module.

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 .
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.


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
  • Configuring a connected sensor
  • Vision Sensor Visualisation Studio, display images and results
  • Sensor's network settings
  • Update / Firmware update
  • User administration / Passwords
  • Favorites
  • Auto Start Up

Fig.: 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, R2B, ….)
Sensor type | Sensor type (Object, Color, Code Reader)
Variant | Sensor- sub variant (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 | e.g. SBS
Hardware | Hardware version
RAM | RAM size
Flash | Flash size

Please note:

  • 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 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.

Fig.: Sensor properties


Sensors for simulation mode

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

Function of parameters displayed

Parameter | Function
Type | Sensor type (e.g. Object, Color, Code Reader, ...)
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”.

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 / grayed out) a Login with password input is necessary. If you do not know the password please contact your site systems administrator.


Favorites

The favorites are used for quick access and for managing the SBS vision sensors. The following parameters can be selected for the favorites.

Right-click on active sensors in Vision Sensor Device Manager:

Fig.: Parameter favorites with right-click on active sensors

Parameter | Function
Remove from list | Removes the selected sensor from the “Active sensors” list.
Clear list | Clears the complete list “Active sensors”.
Save as favorite | The selected sensor is saved as a favorite.
Save all as favorite | Saves all sensors in the “Active sensors” list as favorites.

“Favorites” in Vision Sensor Device Manager:

Fig.: Options Favorites

Parameter | Function
Save as favorite | Opens the “Save as favorite” window where a desired location can be selected in the tree structure in which the sensor from the “Active sensors” list is to be saved as favorite.
Save all as favorite | Opens the “Save all as favorite” window where a desired location can be selected in the tree structure in which all the sensors from the “Active sensors” list are to be saved as favorite.
Add to active sensors | Opens the “Add to active sensors” window where a sensor/ sensor group can be selected that is to be added to the “Active sensors” list.
Edit favorites | Opens the “Edit favorites” window in which the sensor groups can be edited.

Edit favorites - create groups

In the left window area, the sensors are divided into groups via a tree structure, e.g. according to production sites and production lines. In the right window area, the sensors below a selected group are listed in tabular form, e.g. group “Favorites” shows all sensors.

Fig.: Group configuration

The favorites are stored in the installation path of the SBS vision sensor on the PC as an XML file. The file is located under: “Festo/SBS vision sensor/Vision Sensor Device Manager/Data”. It can be exchanged between different PCs.

Examples of applying the favorites:

Example 1:

SBS vision sensors which are integrated in different networks can be viewed and managed locally in Vision Sensor Device Manager (see also the following figure). The sensors can be added to the “Active sensors” list by entering the IP address in the field “Add active sensor”. The sensors are subsequently managed via the favorites. The sensors can be added to favorites by “Vision Sensor Device Manager/Favorites/Saves as favorite”. Within the favorites the sensors can be assigned to different groups.

Fig.: Example 1 - SBS vision sensors in different networks

Example 2:

Multiple stations are on the same local network. All users have access to all SBS vision sensors, although only a few SBS vision sensors are relevant for their work (see also the following figure). In conjunction with the “Auto Start Up” function (see also Auto Start Up), it is possible that only a certain selection of SBS vision sensors (favorites) is displayed. To do so, the sensors must be added to the favorites and divided into groups. Subsequently a group of favorites can be selected in the Auto Start Up file. The users now only have access to the relevant sensors when opening Vision Sensor Device Manager via the Auto Start Up file.

Fig.: Example 2 - Favorites in the Auto Start Up file


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.

See chapter: 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.

Please note:

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

See chapter: 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 chapter Network settings, Short reference and Network connection. 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 authorization for these functions (see user administration).

Fig.: Vision Sensor Device Manager, IP- Setup

See chapter: Network settings, Short reference and Network connection


User administration / Passwords

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

Fig.: 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.

Fig.: Password button

Login / Logout

After the definition of passwords a login is necessary, e. g. for the configuration of a sensor. To do this, click on the login button in the toolbar, enter the specified password and confirm with "OK". If the “deactivate password request” box is ticked, the password is no longer requested when the application is next started. To log off the user group, click on the logout button.

Fig.: Login button

Fig.: Logout button


Update / Firmware update

You can update the firmware of the selected sensor through the menu item “Vision Sensor Device Manager/File/Update” (see following figure). The appropriate firmware update file mFestoust first have beenFesto obtained via download from the website or from 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.

Fig.: Vision Sensor Device Manager, Firmware update

Attention:

Before executing the firmware update please create a current backup!

Use the menu item “Vision Sensor Configuration Studio/File/Save job set (Backup) ...” to save the job sets (see following figure).

Fig.: Backup, save job set


Auto Start Up

Auto Start Up enables the automatic start of the SBS Software. For this purpose, a batch file is created, which can be stored in the windows system folder “Startup” so that it can be called up automatically every time the PC is started. The Auto Start up file window is divided into the areas: mode, window settings and user.

Sequence

  1. Open the Auto Start Up file in the Vision Sensor Device Manager module with the file path: Vision Sensor Device Manager/File/Auto Start Up file.
  2. In the “Mode” area, determine the modules of the SBS Software that are to be started automatically.
  3. In the window settings, select the view of the module: Normal or panel mode (fullscreen, without title bar).
  4. In the “User” area, define the user for the Auto Start Up file. For more information about the authorization function see User administration / Passwords.
  5. Select the “Save” button and save the batch file (.bat) to the desired destination. For an automatic start when the PC boots, the file must be stored in the windows system folder “Startup”.
  6. Close the SBS Software.
  7. Execute the batch file. The SBS Software is started according to the settings.

Fig.: Auto Start Up file

The following parameters can be configured in the “Auto Start Up” window:

Mode
Parameter | Function
Vision Sensor Device Manager | Modules of the SBS Software which are to be opened automatically in the Auto Start Up file. For the start of the simulation mode, the model variant which is currently selected in Vision Sensor Device Manager (marked in blue) is used.
Vision Sensor Visualisation Studio
Vision Sensor Configuration Studio
Simulation
Select favorites | With this parameter, a favorite group can be added to the Auto Start Up file.
Show favorites only | If the parameter “Select favorites” is selected, the “Active sensors” list is cleared and then only filled with the selected favorites.

Window settings
Parameter | Function
Normal | The selected SBS Software module is opened normally in the Auto Start Up file with the title bar.
Panel Mode (fullscreen, without title bar) | The selected SBS Software module is opened in the Auto Start Up file in fullscreen without a title bar. Typical application for touch screen panel PCs.

User
Parameter | Function
Administrator | The selection of the user depends on the rights that the user should have within the Auto Start Up file. For more information about the authorization function see User administration / Passwords.
User
Worker


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

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

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

  • Setup Jobs (Inspection tasks)
  • Setup Alignment
  • Setup Detectors
  • Setup Output
  • Setup Result
  • Setup Start sensor

Other program functions:

  • Trigger settings
  • Connection 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


Setup Jobs (Inspection tasks)

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

Next topic: Creation, modification and administration of jobs

Fig.: Vision Sensor Configuration Studio Job


Creation, modification and administration of jobs

Next topic: Load and save jobs and job sets (File)

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
Open | 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
Protect | Protects the job / job set with a password

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

Fig.: Vision Sensor Configuration Studio job list

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

Additional information:

Load and save jobs and job sets (File)

Protect job set ... (File)


Tab Image acquisition

Next topics: Tab Pre-processing

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

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

Parameter | Functions and setting possibilities
Resolution | Available resolutions: R3B: WVGA (736x480), VGA (640x480), QVGA (320x240), QQVGA (160x120) R3C: WVGA (736x480), VGA (640x480), QVGA (320x240) R2B: SXGA (1280x1024), VGA (640x480), QVGA (320x240) R2C: SXGA (1280x1024), VGA (640x480) For time-critical applications or for compatibility reasons, a lower resolution can be selected. 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 (SBS in triggered or free run mode). 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 100 ms. Maximum duration of internal illumination pulse is 8 ms. Shutter timers longer than 8 ms just make sense, if internal and external illuminations are used.
Gain | Parameter for control of image brightness. 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 | Selection for external lighting (on / off / permanent) The external lighting is switched via 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”


Tab White balance

White balance is necessary for compensation of image colors.

Fig.: Job, tab 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


Tab Pre-processing

In the Preprocessing tab you can filter and rearrange 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 preprocessed 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: Tab 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 artifacts and smoothing the image.

Erosion

Extension of dark zones, elimination of light pixels in dark zones, elimination of artifacts, division of bright objects. Each gray value is replaced by the minimum gray level found inside the filter mask (e.g. 3x3).

Dilation

Extension of light zones, elimination of dark pixels in light zones, elimination of artifacts, division of dark objects. Each gray value is replaced by the maximum gray level found inside the filter mask (e.g. 3x3).

Median

Each gray 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 gray value is replaced by the average gray 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 artifacts and smoothing the image.

Range

Each gray 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.
Standard deviation

Each gray 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 gray 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.

Fig.: Tab Pre-processing


Tab 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.

Select the calibration method

The calibration methods are divided into two application areas: “Measurement” and “Robotics”.

Fig.: Select the calibration method

Parameter Function
Calibration method

Selection of a calibration method:

  • None: Calibration not active, coordinate determination, display and output in pixels (px)
  • Measurement: Calibration methods for applications in the field of measurement and testing
  • Robotics: Calibration methods for applications in the field of robotics
Unit

Desired unit for world coordinates. The following units are available:

  • mm (millimeter)
  • cm (centimeter)
  • m (meter)
  • in (inch)
"˃" / "˂" Go to next / previous step

Calibration method measurement

Method Function

Scaling (Measurement)

  • Relative calculation of distances in world coordinates
  • limited accuracy

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).

Additional information:Calibration method Scaling (Measurement)

Calibration plate (Measurement)

  • Relative calculation of distances in world coordinates
  • high accuracy

The calibration method “Calibration plate (Measurement)” serves relative calculations of distances in world coordinates (e.g. mm). This is done by image capturing of a calibration plate. 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 distance between two objects in millimeter. (high accuracy)

Additional information: Calibration method Calibration plate (Measurement)

Calibration method robotics

Method Function

Point pair list (Robotics)

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.

Additional information: Calibration method Point pair list (Robotics)

Please 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.

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 the 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 status LED

Color | Status-LED | Point in image and in point pair list:
Green | Calibration valid | Points accurately positioned
Yellow | Calibration valid | Points not accurately positioned
Red | Calibration not valid | /

Please note:

  • Scaling, only green is possible: Default- or input value result in scaling factor. No error determination possible.
  • Point Pair list (Robtics): With a new job appears green. Default values (9 points) result in correct default calibration.
  • Calibration plate (Measurement): With a new job appears red, as so far no calibration with calibration plate happened.

Calibration effects the following detectors / alignments

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

Next topics:

Calibration measurement

Calibration robotics


Calibration measurement

Calibration method Scaling (Measurement)

Calibration method Calibration plate (Measurement)


Calibration method Scaling (Measurement)

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

Fig.: Calibration method, “Scaling (Measurement)”

Example: Determination of distance between two objects in millimeter.

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
Test point | 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

Please 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.
  • The size of a crosshair in the field of view can be adjusted as desired. For this purpose, the desired crosshair point must be selected by mouse click, and the size can then be increased or decreased by means of the scroll wheel of the mouse.
  • 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.

Next topic:

Calibration method Calibration plate (Measurement)


Calibration method Calibration plate (Measurement)

The calibration method “Calibration plate (Measurement)” 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!

Fig.: Calibration method, Calibration plate (Measurement)

Example: Determination of distances between two object in mm (high accuracy).

Sequence calibration via calibration plate

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

  1. Use the "Calibration Parameter" button to set the Z-Offset.
  2. Place the calibration plate that the field of view is completely covered (see also: Calibration method Calibration plate (Measurement), and Calibration method Calibration plate (Measurement)).
  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 (Measurement)

Parameter | Function
Calibration plate | Here the used calibration plate (size and type / number of points) is selected (See also: Advices on optimized use of the calibration plate / boundary conditions and Calibration method Calibration plate (Measurement)).
Calibration parameter | If given, here the z-offset between calibration and measurement plane can be set. Also different read only parameters, as well as deviation parameters are shown in this dialog (see also: Calibration, Calibration parameter).
Start Calibration | Calibration is started. All visible points of the 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

Please 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.
  • Normalization: Independent of the position and orientation in which the calibration plate is detected, the coordinate origin always lies in the upper left corner of the field of view (image and world). The zero-degree direction and the positive X-axis point to the east.

Advices on the optimized use of the calibration plate / boundary conditions can be found at: Advices on optimized use of the calibration plate / boundary conditions

Additional information:

Closed Types / sizes of calibration plates

Sizes of calibration pattern | Number of points
50 mm x 37.9 mm | 15 x 13
100 mm x 75.8 mm | 15 x 13
200 mm x 151.7 mm | 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.

Next topics:

Calibration, Calibration parameter

Advices on optimized use of the calibration plate / boundary conditions

Calibration robotics


Calibration robotics

Calibration method Calibration plate (Robotics)

Calibration method Point pair list (Robotics)

Calibration via telegrams


Calibration method Point pair list (Robotics)

The calibration method “Point pair list (Robotics)” is used to determine absolute positions in world coordinates (e.g. mm).

Fig.: Calibration method, Point pair list (Robotics)

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, the robot can now pick the part with the sensor provided robot coordinate values.

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

Sequence calibration via point pair list

Prior to this, the sensor must be focused, have the correct shutter speed set and the desired unit must be selected.

  1. Select the calibration model (with / without correction of the lens distortion), and adjust the Z-Offset if necessary.
  2. Select line 1 in list box “point pair list”.
  3. Place calibration part (preferably flat, symmetric, e.g. similar plain washer) at the exact 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.
    The size of the crosshair can be determined via the scroll wheel of the mouse
    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 that the same orientation is always used (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: Automated calibration: Point pair list (Robotics)

Parameter point pair list (robotics)

Parameter | Function

- 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).

Please note:

The snap-function is not available at the color sensors R3C and R2C.

- 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 these 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 chapter: 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

Please note:

  • The sensor can be mounted in any alignment / pose referred to as 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.
  • The size of a crosshair in the field of view can be adjusted as desired. For this purpose, the desired crosshair point must be selected by mouse click, and the size can then be increased or decreased by means of the scroll wheel of the mouse.

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 “Calibration 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 positions match with calculated point positions) the points are displayed in the following colors (only meaningful if there is a minimum of 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 the case of a 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 the world frame.

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

In the dialog: Calibration, Calibration parameter the deviation values / errors: "Mean", "Min"imum error and “Max”imum error are displayed. With these values the exact input positions of the existing points can be optimised.

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

The result coordinates of the target object are present in the reference system of the robot!

Next topics:

Calibration via telegrams

Calibration, Calibration parameter


Advices on optimized use of the calibration plate / boundary conditions

  • 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 gray value of at least 100 and below 255. The contrast between bright and dark regions should be at least 100 gray values. That means, the image must not be under- or overexposed.
  • The calibration pattern should cover the entire field of view of the SBS vision sensor. For a successful, precise calibration it’s not necessary that the entire calibration plate is visible. To perform a calibration, at least one search pattern must be found.
  • For small calibration patterns, it may be necessary to use two search patterns.
  • Calibration works correctly only if the focus and position of the sensor does not change in relation to the measurement plane.

Fig.: Calibration plate, blue = search pattern.

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

Next topics:

Calibration method Calibration plate (Measurement)

Calibration method Calibration plate (Robotics)

Calibration, Calibration parameter


Calibration, Calibration parameter

Here the calibration and the deviation parameters for optimization are displayed. In addition, the Z-Offset between calibration and measurement plane in Z-direction can be set and compensated.

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

Fig.: Calibration, Calibration parameter

Parameter | Function

Calibration model

Calibration model:

Standard lens, with distortion

Correction of:

  • Scaling, x and y separately
  • Tilt angle against perpendicular view to the measurement plane
  • Lens distortion
Offset calibration / measurement level in Z-direction *1)

(Z-Offset)

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 Z direction of the right hand calibration coordinate system (thumb = x, index finger = y, middle finger = z)

Please note:

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

Internal sensor parameters
Focal length

Focus of the lens

  • With integrated lens: value of the built in lens *2)
  • 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 “External Sensor Parameters” no malfunction if not used. *1)
Kappa (x10E-6) *2) | Calculated kappa (distortion) value of the lens.
Pixel pitch *2) | Calculated pitch / axial distance from pixel to pixel on the sensor chip. Reduction of resolution in tab “Image acquisition” effects this value.
Principal point / pixel *2) | Point where the optical axis penetrates the measurement plane in the center of the sensor chip, compared with the ideal center point. This values refer to left , upper corner in pixel.
Image size *2) | Image size in pixel

External sensor parameters

X

Y

Z

All three calculated values for the translation of the measurement coordinate system in relation to the device coordinate system.

Additional information: External sensor parameters

Rot. X

Rot. Y

Rot. Z

All three calculated values for the rotation of the measurement coordinate system in relation to the device coordinate system.

Additional information: External sensor parameters

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

*1) Input parameter, *2) Read only parameter

Please note:

In case of large working distances, the estimated calibration parameters must be checked. This is only relevant when using the Z-Offset function.

Additional information:

Coordinate systems and transformations

Coordinate systems | Transformations
 | External sensor parameters
 | The "External sensor parameters" indicate the position and orientation of the measurement coordinate system in the device coordinate system.

Offset calibration / measurement level in Z-direction

Negative Z-Offset | Positive Z-Offset
If the measurement plane (object) is above the calibration plane, a negative Z-Offset "-ΔZ" is created. | If the measurement plane (object) is below the calibration plane, a positive Z-Offset "+ ΔZ" is created.
Fig.: Negative Z-Offset | Fig.: Positive Z-Offset

Next topic:

Calibration via telegrams


Calibration via telegrams

Various interface telegrams are available for the calibration, see chapter: Overview telegram:.

The telegrams can be used for recalibration if a drift in the production process has occurred or if the mounting position of the sensor has changed. The calibration process can be executed automatically, e.g. from the robot controller.

Next topic:

Automated calibration: Point pair list (Robotics)


Automated calibration: Point pair list (Robotics)

Fig.: Automated sequence for calibration via point pair list

Next topic:

Calibration via telegrams

Automated calibration: Calibration plate (Robotics) sequence 1


Tab Cycle time

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

Next topic: Setup Alignment

Fig.: Setup Job, tab Cycle time

(A) Cycle time
Parameter | Function
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 ok”. 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 is reached. In the case of "Number of images" = 1 (default), the minimum processing time per image corresponds to the minimum cycle time.
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 of 10 longer than shutter time.
Auto | If “Auto” is selected the minimum cycle time is automatically adjusted in a way that the LED-power is 100% (B) Repeat mode

Number of images (max.)
Parameter | Function
Maximum number of image capturings, which are processed after one trigger, if the following stop criteria is not fulfilled:

“Overall job result”= positiv (access via Output/Digital output)

  • “Overall job result”= positiv (access via Output/Digital output)
  • “Max. cycle time” is not elapsed (if active)

Option:

  • Assign detector to an image, see also: Repeat Mode: Assign the detector to an image
Shutter variation | When Shutter variation is “active”, a variation from several different shutter speeds can be set up over a table. Per configured shutter speed an image is aquired, this means that first image is taken with shutter value 1, second image is taken with shutter value 2, third image is taken with shutter value 3, etc. Default setting for “Shutter variation” is off. In this case, the table is not displayed.
Factor and Shutter speed

Default value for “Factor” is: First value = 1.00 (the first factor is always identical to 1.00 and read-only). The user can modify the factor in the table, thereby the “Shutter speed” (second column, read-only) will automatically be updated and an image acquired. By a click into one row of the table, an image with the settings of these table row will be acquired.

Please note:

When changing the “Shutter speed” parameter in “Image acquisition” tab, the shutter speed in the “Shutter variation” listbox is recalculated.

Repeat Mode: Assign the detector to an image

In the setup “Detector” all selected detectors are listed. If the “Number of images (max)” parameter of the repeat mode is greater than 1, the option of assigning a detector to an image acquisition is obtained. In the “Repeat mode” column, this setting can be made for each detector.

  • Always: Executed in all image acquisitions
  • Recording n: Executed in the corresponding image acquisition

Open the selection table by double-clicking.

Fig.: Detector list, repeat mode


Setup Alignment

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

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. The aligned coordinate system is drawn in dark blue (for information on the meaning and adjustment of the different frames. See chapter:. Search and parameter zones).

Please note:

  • Maximum of one alignment detector can be defined for each job.
  • For each detector in the job, it can be selected whether the detector is to be tracked with the alignment or not.
  • As alignment requires an extra calculation step, it should only be used if required by the application.

Next topic: Selection and configuration of an Alignment


Selection and configuration of an Alignment

Select alignment detector:

  1. Click on the setup button "Alignment".
  2. Select a detection method in the configuration window “Method”.
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 gray pattern in the image.

Pattern matching cannot be used if there is an angular deviation / rotation of the part. Rotation tolerance about +/- 5 % depending on the pattern.
Edge detection

The detection of edge should be used:

  • if an offset of the position occurs in X- and / or Y- direction.
  • at a maximum angle offset (rotational offset compared to the teach-in position) of approx. ± 20° (depending on object and application).
  • if there are edges with strong contrast, parallel to the axis.

If above mentioned criteria are fulfilled, edge detection is a very quick method of alignment.
Contour detection

Detection of contours and edges at any angle

Contour detection must always be used if:

  • there can be an angular offset (rotation against teach in position) occur up to 360°.

It can be used preferably if there are edges of any shape but with good contrast. The relatively complex contour detection function usually results in a comparatively longer cycle time.

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 Parameters tab .

Activation of alignment for detectors

In the “Detector” setup, all selected detectors are listed. In the “Alignment” column, it is possible to select for each detector whether it is to be aligned by the adjusted alignment or not. Default value is “Active”.

Fig.: Detector list, alignment active / inactive

Reset

The “Reset” button can be used to restore the factory settings for the selected alignment detectors.

Next topic: Alignment Pattern matching


Alignment Pattern matching

This alignment detector is suitable for the detection of any patterns, even without clear edges and/or contours. The pattern is taught in and placed over the image during the subsequent check. A match is made at the largest similarity value.

Next topics:

Tab Color channel

Tab Parameters

Tab Result offset


Tab Color channel

In the color channel tab, a color image (3 channel) can be converted to a gray value image (1 channel). In contrast to the gray value image of a monochrome SBS vision sensor, contrasts can be significantly increased. The highlighting of a color can be set individually for each detector. Thus, the flexibility compared to the use of optical color filters is significantly higher.

The image displayed is dependent on the selected detector.

  • Color detectors: Display always colored.
  • Object detectors: Monochrome image, display dependent upon selected color model and color channels.

The following parameters can be configured in the Color channel tab:

Parameter | Function
Color model | Color models: RGB, Color model RGB, HSV, Color model HSV, LAB, Color model LAB
Selection color filter | Depending on the color space, all or part of the following color filters are available: Color channel (default) Color distance Binarization
 | Switching the image between color and monochrome.

Selection color filter

The following color filters are available:

Color channel (default)

The selected color channel is used as a gray value image.

Fig.: Color filter, Color channel (default)

Color distance

A color is selected as reference color by specifying the color model values ​​or by pipette. The gray value image indicates the distance of each pixel to this reference color. Typical application: Segmentation of characters for OCR.

Fig.: Color filter, Color distance

Parameter |  | Function
Red Green Blue | Lightness A B | Color channels: The color channel can be set via the slider or by entering a value (default 0).
Pipette button |  | With the selection of the pipette button and a subsequent click into the image, the selected color channel is determined automatically.
Maximum distance |  | Distance of the current color versus the taught-in color. Colors that will exceed the maximum color distance will be black or white depending on the setting of “Inverted”.
Inverted |  | Inversion of the color distance image.

Binarization

A color range is selected. All pixels within this color range become white. Pixels with deviating color values become black.

Fig.: Color filter, Binarization

Parameter |  |  | Function
Red Green Blue | Hue Saturation Value | Lightness A B | Determination of the color range. The color ranges can be set via the slider or by entering a value.
Inverting button |  |  | The current setting is inverted when selecting the button.
Pipette button |  |  | With the selection of the pipette button and a subsequent click into the image, the selected color channel is determined automatically.


Tab Parameters

The following parameters can be configured in the Parameters tab:

Parameter | Function
Threshold | Zone for the required concordance of the found sample with the taught sample
Accurate - fast | Number of search levels / coarsening levels High value: faster = riskier (candidates may be overlooked) Smaller value: slower = less risky (all candidates)
Pattern | Shows the taught sample = red frame
Edit pattern | By editing the ROI parts can be masked out of the search area. See chapter:: Function: Mask
Lock | Lock / Unlock Pattern: In locked status the taugth pattern is protected against (unintentional / accidential) changing, e.g. modification of the teach region. Unlock to modify taught pattern.

Fig.: Alignment Pattern matching, tab Parameters

Next topic: Alignment Edge detector


Tab 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:

Parameter Function

None

Automatically determines the of the Region Of Interest or ROI.

Offset

Free selectable position (graphically or by value input). For example 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)

Fig.: Result offset


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:

Structure of the edge detector

Tab Color channel

Tab Parameters


Structure of the edge detector

The alignment “Edge detector” is carried out via “Probes”. Depending on the probe type, there are between one and three probe/s. The search region of ​​a probe is indicated by the yellow frame (ROI). Within this ROI the object is searched and the edge of the object is scanned. The scanning is performed in the direction of the yellow arrow, the “search direction”. This yellow arrow can also be used to turn the search region of the detector. From the starting point of the ROI, search stripes (number can be set as desired) are sent out in search direction. If the search stripe touches the edge of the object, the “touching point” of the search stripe is marked with a cross at this point. Depending on the number and the setting, there may be a “winner search stripe”, the touching point of which is shown in bold. Which edge of an object is touched is indicated at the “scanning line” in the search direction. If an object is not scanned from both X and Y direction but only from one direction, the second scanning line is at the center of the search region. The arrows with the origin at the intersection of the scanning lines form the aligned coordinate system. In the following figure, the structure of the alignment Edge detector is visualized.

Fig.: Structure of Edge detector

Next topics:

Tab Color channel

Tab Parameters


Tab Color channel

See chapter: Tab Color channel


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).

Please note:

A rotation of the object position is not aligned.

ü

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.

Please note:

A rotation of the object position is not aligned.

ü
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 set 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 Results / Histogram display

Fig.: 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:

    The 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)


Further explanations to Edge detector (alignment)

Effect of Number “search stripes”

“Search stripes” represent the how many search stripes the width of the search area is divided into. The edge detection is performed separately in each search stripe. The first edge which is detected is the overall result of all search stripes. Increasing the value of “Search stripes”, increases the chance to find the very first edge in the search area.

By increasing “Search stripes” 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.

Edge detector with search stripes = 1. The dominating edge, perpendicular to the search direction is found.
Settings in tab parameters: Search stripes = 1 | Fig.: Parameter "Suchstreifen" = 1
Image displa yThe dominating edge, perpendicular to the search direction is found. | Fig.: Dominating edge, perpendicular to the search direction

Edge detector with search stripes = 1. The first edge perpendicular to the search direction is found.
Settings in tab parameters: Search stripes = 3 | Fig.: Parameter "Suchstreifen" = 3
Image display: The first edge perpendicular to the search direction is found. | Fig.: First edge perpendicular to the search direction is found

Function of 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 “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.

Edge detection of sharp and blurred edges with a low smoothing value
Settings in tab parameters: Smoothing = 1 | Fig.: Parameter Smoothing = 1
Image display: Edge detection of sharp edge. High edge strength with low smoothing. | Fig.: High edge strength with low smoothing.
Image display: Edge detection of blurred edge. Low edge strength with low smoothing. | Fig.: Low edge strength with low smoothing.

Edge detection of sharp and blurred edges with a low smoothing value
Settings in tab parameters: Smoothing = 6 | Fig.: Parameter Smoothing > 1
Image display: Edge detection of blurred edge. High edge strength with high smoothing. | Fig.: High edge strength with high smoothing

Function of 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.

Edge detection with smoothing = 1. Residual edge is not eliminated.
Settings in tab parameters: Smoothing = 1 | Fig.: Parameter Smoothing = 1
Image display: Residual edge is not eliminated. | Fig.: Residual edge is not eliminated

Edge detection with smoothing > 1 Residual edge is eliminated.
Settings in tab parameters: Smoothing > 1 | Fig.: Parameter Smoothing > 1
Image display: Residual edge is eliminated. | Fig.: Residual edge is eliminated


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, i.e. the object can be rotated in any angle (the angular settings must be set accordingly).

Next topics:

Tab Color channel

Tab Parameters

Tab Optimization, contour

Tab Speed

Tab Result offset

Tab Gripping space


Tab Parameters

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

Fig.: 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:

Parameter | Function
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.
Contour | Shows the taught contour (red frame in the field of view)
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. Next topic: Function: Mask
Lock | Lock / Unlock Contour: In locked status the taught contour is protected against (unintentional / accidental) changing, such as modification of the teach region. Unlock to modify taught contour.

Additional information:

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!
  • Please note: The contour is found as long as the center point of the pattern is inside the search area!
  • Search zone for scale only as large as necessary

  • Reduce resolution to QVGA instead of VGA

    Attention:

    The 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 the case of alignment: Use alternate reference pattern For example with higher contrast, so 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)
  • 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. If there are too many contour lines shown: increase “Min.
  • Contour found at wrong position? If the taught pattern is not unique, teach in a new contour.
  • 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). Increase value “Min. contrast pattern”. With the help of "Edit contour" search areas can be hidden.

Parameter Angle range: Rotational direction of angle

Fig.: Rotational direction of angle

Next topic:

Tab Optimization, contour


Tab Optimization, contour

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

Fig.: 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.

Fig.: 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:

Tab Result offset

Tab Speed


Tab Speed

Using the adjustable parameters in the Speed tab, execution time of the sensor can be altered. Adjusting the Search levels alters the level of detail and corresponding time applied to a given search. The search is either performed less finely, i.e. the search is canceled sooner and is therefore faster, or even finer details are taken into account in the search, i.e. it is searched for longer and the search is slower.

Fig.: 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:

Tab Result offset

Tab Gripping space


Tab Result offset

See chapter: Tab Result offset


Setup Detectors

Next topic: Creating and adjusting detectors

Each job contains one or several inspection steps (detectors), which you can define here. By clicking on the "Defector" button, or the "New" button under the Detector list, 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.

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

Fig.: Detector list for selection (here Object sensor)


Creating and adjusting detectors

Types of detector:

  • Detector Pattern matching
  • Detector Contour
  • Detector Contrast
  • Detector Brightness
  • Detector Gray
  • Detector BLOB
  • Detector Caliper
  • Detector Barcode
  • Detector Datacode
  • Detector OCR
  • Detector Color area
  • 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 by double clicking on “Name”

Configure detector:

  1. Activate the detector in the selection list and assign a name for each detector.
  2. Graphically define the appropriate Search and parameter zones within the image.
  3. Configure the detector by entering / adjusting the parameters in the Parameters and if necessary Advanced tabs in the configuration window. Which tabs are shown depends on the type of detector selected.

Configure overlay:

In the menu "View / Overlay settings ...", the overlays in the image (ROIs in yellow, red, etc.) can be activated or deactivated for any detector or category. In "View / Overlay current detector only" or with the frame symbol button, all markings in the image can be switched off except for those of the currently processed detector.

Functions for administration of detectors:

Control panel Function

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 will appear, mark all desired destination detectors (to select several press “Ctrl” key). Click “Copy” to confirm

Reset

Resets parameters, search and parameter zones of selected detector to standard values

Delete

Deletes the selected detector

Delete all

Deletes all of the detectors in the list

Please note:

“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.


Selecting a suitable detector

Next topic: Detector Pattern matching

The following detectors are available in

Type of detectors | Description
Pattern matching | Part detection using pattern matching, X- and Y- translational
Contour | 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
Gray level | Evaluation of gray values in selected search zone
BLOB | Count and evaluate objects
Caliper | Distance between edges
Color area | Barcode reading 1D Codes (Code reader)
Color list | Data code reading Datacodes (Code reader)
Color value | Optical character recognition (Code reader)
Barcode | Color verification inside area
Datacode | Color verification inside list
Optical Character Recognition OCR | Output of color values


Detector Pattern matching

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

Fig.: Detector Pattern matching

Next topics:

Detector Contour

Tab Result offset

Function: Mask

Pattern matching application

Detector Pattern matching, tab pattern matching

Parameter | Function
Threshold | Zone for the required concordance of the pattern found with the pattern taught.
Accurate - fast | Number of search levels / coarsening levels (Possible settings 2 - 10) 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). The center of the pattern must be within the blue frame.
Pattern | Shows the taught pattern = contents of the red frame
Edit pattern | By editing the mask you can mask 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.
Lock | Lock / Unlock Pattern. In locked status the taught 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.

Optimization Pattern matching:

Execution speed:

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

    Attention: The search area marks the area where the center point of the pattern is searched!
  • Reduce resolution to QVGA instead of VGA

    Attention:

    The global parameter, affects all detectors!

  • Set “accurate – fast” to fast

Robust pattern detection:

  • Select the search region for position (yellow frame) sufficiently large.
  • Reduce search levels.
  • Select a distinctive gray 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 and is detected with a high score value, as the metal contact is mounted (Threshold near 100 %).

Fig.: Pattern matching, application example, positive result

Fig.: 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 a negative result is given. With the function “Pattern matching”, the detection is made by the gray 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 gray 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 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 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 Teaching the pattern inside the red frame, it 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 input process.

Example:

The following pattern was taught:

Fig.: 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.

Fig.: 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).

Fig.: 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.

Fig.: Pattern, rotation


Function: Mask

With “Mask” function 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 will not be considered, but all defects in the surface of the object are relevant. In this example only the non-marked regions inside of the ROI of the detector are relevant.

Fig.: The yellow masked regions are no longer relevant for the evaluation.

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.

These 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, Gray, 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.

The shapes: Circle and Rectangle can be rotated by picking and moving the tip of the arrow. If 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 feature, 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.

Fig.: Mask pattern 2

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

Fig.: Mask pattern 3

Created by 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.

Fig.: BLOB without function Mask. With a BLOB detector the surface defects and the outer and inner contour lines are detected.

Fig.: Function Mask: masking contour lines shall not be considered.

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


Detector Contour

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 in complete 360° angular detection mode, i.e. the object can be rotated in any angle (The angular settings must be set accordingly!).

Next topics:

Tab Color channel

Tab Contour

Tab Optimization, contour

Tab Result offset

Tab Multiple objects

Function: Mask (Contour)


Tab Contour

The most important parameters for contour detection can be set in the “Contour” tab.

Fig.: Detector Contour, tab contour

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 be configured in the “Contour” tab:

Parameter | Function
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.
Contour | Shows the taught contour (red frame in the field of view)
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. Next topic: Function: Mask
Lock | Lock / Unlock Contour: In locked status the taught contour is protected against (unintentional / accidental) changing, such as modification of the teach region. Unlock to modify taught contour.

Additional information:

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!
  • Please note: The contour is found as long as the center point of the pattern is inside the search area!
  • Search zone for scale only as large as necessary

  • Reduce resolution to QVGA instead of VGA

    Attention:

    The 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 the case of alignment: Use alternate reference pattern For example with higher contrast, so 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)
  • 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. If there are too many contour lines shown: increase “Min.
  • Contour found at wrong position? If the taught pattern is not unique, teach in a new contour.
  • 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). Increase value “Min. contrast pattern”. With the help of "Edit contour" search areas can be hidden.

Parameter Angle range: Rotational direction of angle

Fig.: Rotational direction of angle

Next topic:

Tab Optimization, contour


Tab Optimization, contour

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

Fig.: Detector Contour, 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.

Fig.: 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:

Tab Result offset

Tab Speed


Tab Speed

With these adjustable parameters the execution speed can be influenced. The search is processed either less detailed, that means it is stopped earlier and is thus quicker, or it’s processed more detailed, that means search lasts longer and is thus slower.

Fig.: Detector contour, 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 topic:

Tab Multiple objects


Tab Multiple objects

The “Multiple objects” function identifies objects whose contour matches the taught-in contour. Only as many objects as specified in the parameter “Max. no. objects” will be identified and output. The output of the object results is sorted according to the set criteria in ascending or descending order.

Fig.: Detector Contour, tab Multiple objects

It is also possible to use this function to count objects in the image. The number of objects found can be output as a telegram. The minimum and maximum number of tolerated objects can be specified with the “No. objects” parameter. If the number of objects found is outside this range, the detector result is not OK.

The following parameters can be configured in the “Multiple objects” tab:

Parameter | Function
Max. no. objects | With the parameter “Max. no. objects”, the maximum number of target objects can be determined.
No. of valid objects | This parameter makes it possible to check whether the number of objects found is within a specified range. If it is within the range, the detector result is ok, otherwise not ok.
Sorting criteria | Sorting criteria according to which objects are “pre-sorted”.
  • Score
 Score
  • Position X
 Position X
  • Position Y
 Position Y
  • Angle
 Angle
  • Scale
 Scale
Sorting order | Sorting order for the selected sorting criteria.
  • Ascending
 The values ​​of the sorting criteria are sorted in ascending order.
  • Descending
 The values ​​of the sorting criteria are sorted in descending order.
Only output valid candidates | If this checkbox is activated, only objects whose score value is above the set threshold (tab “Contour”) are displayed and output. It can be used e.g. for parameter optimization.


Detector Contrast

Next topics:

Detector Gray

Contrast application

This detector determines the contrast in the selected search area. Therefore all pixels inside the search area are evaluated with its gray 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% gray value “0” (= black) and 50% gray value “255” (=white).

Fig.: Detector Contrast

Settings in tab Contrast:

Parameter | Function
Threshold | 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. See chapter: 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

Detector Contrast

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

Fig.: 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.

Fig.: 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 the quantity and their intensity / brightness.

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

Fig.: Contrast examples

Fig.: Contrast explanation


Detector Gray

Next topics:

Detector Brightness

Gray level application

With this detector in the first step is the range of accepted gray 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 gray 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 gray 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 color as an aid to select pixels / regions, which have a gray 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 gray values can be detected very easily.

Settings in tab Gray:

Parameter | Function
Gray level min/max | Range of gray values that are to be accepted
Threshold min/max | Percentage of the area, which must be in the selected gray value range
Search region | Sets search region as rectangle, as circle or as free shape. In mode Free shape “Edit search region” is active.
Overlay | Selection of the pixels that have a gray value within (valid pixels) or outside (invalid pixels) of the grayscale definition under "graylevel". These are then highlighted in color from the selection guide. Thus, very easily e.g. noise pixels / areas that are not covered by the gray value range are detected.
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 eraser. Masks can also be inverted, means that parts which are interesting can be marked. See chapter: 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.


Gray level application

Detector Gray

Fig.: Gray level, application example, positive result.

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

Fig.: Gray level, application example, negative result

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

Aid to determine gray values:

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

Function detector Gray level.

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

All pixels within this gray 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 gray 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 gray value pixels on the screen is of no importance.

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

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

Fig.: Gray level, example 1

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

Fig.: Gray level, example 2


Detector Brightness

Next topics:

Detector Barcode

Brightness application

This detector determines the average value of the gray 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:

Parameter | Function
Brightness | min/max
Range of gray values that are to be accepted | Shape of search region can be set as Rectangle, Circle or Free shape. Shape of search region can be set as Rectangle, Circle or Free shape.
Edit search region | 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, meaning parts which are interesting can be marked. See chapter: 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

Detector Brightness

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

Fig.: Brightness, application example, positive result.

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

Fig.: Brightness, application example, negative result.

The contact is not present within the position searched for; therefore the average value of the gray values in the search area delivers a low score (near 0%). This 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 gray values.

Fig.: Brightness, examples


Detector BLOB

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

Tab Color channel

Tab Binarization, Absolute threshold

Tab binarization, dynamic threshold

Tab Features

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.

Fig.: 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

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

BLOB, simple configuration in 3 steps

1. Binarization

Distinguish between relevant objects and background.

Tab Binarization, Absolute threshold

Tab binarization, dynamic threshold

2. Filtering of detected BLOBs

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

Tab Features

3. Data output

Definition of data output telegram and sorting of results.

Tab Sorting

Tab Telegram, Data output


Tab Binarization, Absolute threshold

Detector BLOB

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

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

Binarization can be done by two different binarization methods.

Fig.: 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 gray 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. Tab binarization, dynamic threshold

Parameters with selection “Absolute Threshold”

Parameter | Function
Absolute threshold | Setting the upper and lower limit defines the range of valid gray values of pixels belonging to the BLOB.
Gray value range | Adjusting the upper and lower limit of gray 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 gray value of this pixel is taken and the limits of “Absolute threshold” are set to +/- 10 gray values of the gray 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


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 gray 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!

Fig.: 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.
Polarity | Definition if BLOB is brighter or darker compared to the background.
Gray value range | Adjusted limits of gray 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

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. (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.

Fig.: 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.

Fig.: Boundary BLOB example 1/2: BLOB is touching outer yellow search region. It is considered as valid BLOB, as setting “Boundary BLOBs” is ACTIVE now!

Example 2, Boundary BLOBs, touching inner “Mask” region.

Fig.: 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.

Fig.: 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 gray 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.

Fig.: Detector BLOB, tab Binarization, Histogram


Tab Features

In this tab, the features / filter criteria to distinguish between valid and invalid BLOBs/objects can be defined. 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).

Fig.: Detector BLOB, tab Features

The following parameters can be configured in the “Features” tab:

Parameter

Function
Number

Additionally to the features used for filtering the BLOBs, the number of existing and valid BLOBs can be checked. For this purpose the lower and upper limit of accepted BLOBs (max. 10.000) is determined.

  • Detector result positive: Number of valid (filtered) BLOBs is within the range of “Number”.
  • Detector result negative: Number of valid (filtered) BLOBs is outside the range of “Number”.

If the number of BLOBs is outside the defined limits, the detector result is negative, although valid BLOBs are marked in green.

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

Please note:

Defect detection via number = 0.
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.
Pipette- button (Feature)

By clicking on 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 selected BLOB.

Example: With selected feature “Area” and clicking with Pipette active on 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

(Default: Active)
  • Active: Feature is calculated, filtered (limits adjustable), and available for data output.
  • Inactive: Feature is calculated, but NOT filtered, but is available for data output.

List of features / first level: BLOB type / Geometric Model

The features of the first level (Area, Area incl. holes, Contour length, ...) are calculated directly from the BLOB data, i.e. the pixels belonging to the BLOB. For further features, a geometric model is first fitted to the data via a best-fit line. Then the features are based on this model and not directly on the pixels belonging to the BLOB.

Feature | Function
Area | Area of the BLOB, without holes, in pixels. Corresponds to the number of pixels belonging to the BLOB.
Area (incl. holes) | Area of the BLOB, including holes, in pixels. Corresponds to the number of pixels within the outer contour.
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 If in the setup “Job” the calibration is activated, the value can also be output in world coordinates, e.g. millimeters.
Center of gravity Y | Y- coordinate of center of gravity of BLOB If in the setup “Job” the calibration is activated, the value can also be output in world coordinates, e.g. millimeters.

BLOB type / Geometric Model | Function
Some features are calculated based on a given geometric model. For example eccentricity is based on an 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.
Circle, fit (C1) | Circle-fit, not enclosing, outlier correction (robust against outliers)
Ellipse, equivalent (E1) | Equivalent ellipse, based on moments of area.

List of features / second level: BLOB type parameter

Feature | Relevant for | Function | Possibility of value output in world coordinates [mm] when calibration is activated
Center X | R1, R2, C1, E1 | X- coordinate of the center of the fitted, geometric element (rectangle, ellipse) | ü
Center Y | R1, R2, C1, 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 height. (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 height. (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 degrees (range: -90 ... +90°, 0° = east, counterclockwise). See also: Feature Angle |
Angle (360) | R2, E1 | Orientation of width of object in degrees (range: -180 ... +180°, 0° = east, counterclockwise). See also: Feature Angle |
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: Feature Face up / Face down |
Radius | C1 | Specifies the radius of the fitted circle. | ü
Deviation, in | C1 | Indicates the largest deviation between the BLOB contour and the contour of the geometric element (deviation into the fitted circle). See also: Feature Deviation | ü
Deviation, out | C1 | Indicates the largest deviation between the BLOB contour and the contour of the geometric element (deviation out of the fitted circle). See also: Feature Deviation | ü
Deviation, mean | C1 | Indicates the mean of the absolute “in” and “out” deviation values between the BLOB contour and the contour of the geometric element. See also: Feature Deviation | ü

Additional information:

Closed Feature Angle

With the feature “Angle (180)” and “Angle (360)”, the orientation of the object can be determined. The angle always indicates the orientation of the width axis (width is the longest side of an object). The angles are specified in [degrees °].

The “Angle (180)” feature has a rotational range of -90° to +90°, as shown in the following figure.

Fig.: Rotational direction of “Angle 180”

The “Angle (360)” feature depends on the selected geometric model (e.g. E1 Ellipse, R2 Rectangle minimal area, etc). It has a rotational range of -180° to +180°, as shown in the following figure.

Fig.: Rotational direction of “Angle 360”

In contrast to the “Angle (180)” feature, in the “Angle (360)” feature the orientation of the width axis is set depending on a vector. This vector indicates the direction to the contour point with the longest distance to the center and the orientation (180°) of the vector point to the same side. Whether an object lies in half plane (-90° ... +90°) or in half plane (-180° ...-90°; 90°...180°) is determined by the half plane in which the vector lies. The following figures show two examples of the angle determination of the feature “Angle (360)”.

Fig.: Example 1: Angle (360) = +45°

Fig.: Example 2: Angle (360) = -135°

Closed Feature Deviation

The deviation feature calculates measures that quantitatively describe the deviation of the actual object from the fitted model. The features “Deviation, in”, “Deviation, out” and “Deviation, mean” assess indentations and protruding elements of the BLOB/object contour. The deviation values always refer to the fitted circle. All indentations into the fitted circle are “Deviation, in”. All elements which protrude out of the fitted circle are determined by the feature “Deviation, out”. The orientation directions of the features are shown in the following figure.

Fig.: Orientation direction “Deviation, in” and “Deviation, out”

In the “Result” tab of the SBS Software, the value of the largest “Deviation, in” and “Deviation, out” is displayed for each fitted circle (if active).

The “Deviation, mean” feature indicates the mean of the absolute deviation values to all positions, i.e. to all pixels, of the fitted circle.

Example: Deviation, mean

Jagged elements are checked by the feature “Deviation, mean”, see figure “Deviation, mean”.

Fig.: Deviation, mean

The “Deviation, mean” feature calculates all deviations from the circle-fit (green) to the contour of the object/BLOB (cyan) per pixel of the fitted circle inwards and outwards. The following figure shows a zoomed-out section of the circle number “2” from the previous figure. The red arrows indicate the deviations per pixel of the fitted circle to the BLOB contour. The amounts of all determined values ​​are averaged and form the result of the “Deviation, mean” feature.

Fig.: Deviation, mean: Circle 2 zoomed

Example: Deviation, in and Deviation, out

Six circles with different indentations and protruding elements are to be examined for the features “Deviation, in” and “Deviation, out”.

In order to improve the presentation, “BLOB contour” is selected in the “Binarization” tab of the “BLOB” detector. Now the detector marks the contours of all circles in the search field in cyan.

In the “Features” tab, the features:

  • “C1 Circle, fit” (first-level feature), “Deviation, in” (second-level feature)
  • “C1 Circle, fit” (first-level feature), “Deviation, out” (second-level feature)
  • “C1 Circle, fit” (first-level feature), “Deviation, mean” (second-level feature)

are selected.

Now the results of the features per circle can be read in the “Result” tab, see also the following figure. (Please note: The results can be assigned to the circles by moving the mouse over the circles in the field of view.)

Fig.: “Deviation, in”, “Deviation, out” and “Deviation, mean” results

The figure below serves to allocate and interpret the results from the screenshot above.

Fig.: Interpretation of results: “Deviation, in”, “Deviation, out” and “Deviation, mean”

Closed Feature 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 distinguishing between face up and face down position of an object as necessary in pick-and-place applications or with vibratory feeders. Face up / Face down, area or contour

Fig.: The left image displays the target object face down.

The thresholds are chosen in a way that this position is considered OK. The image in the middle shows the same object face up and is considered not OK.

The right image displays both objects in the image and only the one with face up is considered OK.

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

  • “Face up/down, contour” only takes 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 center and the rotation angle (360°) of the BLOB.

Thus these values are dependent of the geometric model for the BLOB that has been chosen (e.g. smallest enclosing rectangle (rectangle 2) or equivalent ellipse (ellipse 1)).

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

Next topic:

Tab Sorting


Tab Sorting

The features that have been defined in the tab features 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 Tab 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.

Fig.: 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.
Sorting order | Sorting order for the selected sorting criteria. It can be sorted "Ascending" or "Descending".


Detector Caliper

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

Tab Color channel

Tab Probe

Tab Distance

Tab Optimization

Results / Histogram display


Tab Probe

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

Fig.: 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

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

Selection between:

  • Light → dark

  • Dark → light

  • Both directions (light-dark and dark-light transition)
Search stripes | Number of parallel search stripes into which the width of the search region is 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

Next topic: Tab Distance


Tab Distance

In this tab all parameters to identify the distance can be set.

Fig.: 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 options to calculate the final result.

  • 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) distance in the list is chosen. Outliers do not influence the result.

Only available for the both-side probe type " [image] "

  • Maximum by search stripe: The touching points of the search stripe with the largest distance are selected.
  • Minimum by search stripe: The touching points of the search stripe with the smallest distance are selected.

Additional information:

Closed Distance mode

Information about the structure of the edge detector can be found at:Structure of the edge detector

To determine a distance, different distance modes can be select in the "Distance" tab. In the following examples, the difference between "Minimum" and "Minimum by search stripe" as well as the difference between "Maximum" and "Maximum by search stripe" is explained.

The following object is detected:

Fig.: Demonstration object

For the demonstration, in the tab "Probe" the both-side probe type " [image] " is selected and the number of search stripes is increased to 20.

Difference between "Minimum" and "Minimum per search stripe"

With the "Minimum per search stripe" distance mode, unlike the "Minimum" distance mode, the touching points of only one search stripe are evaluated. In this case, the stripe with the smallest distance between the touching points (see figure: Results histogram, distance mode "Minimum per search stripe").

With the distance mode "Minimum", the smallest distance is determined by selecting the scanning lines with the smallest distance to each other. The touching points of the scanning lines can also originate from two different search stripes, in contrast to the distance mode "Minimum per search stripe" (see figure: Result histogram, distance mode "Minimum").

Distance mode "Minimum per search stripe"
Smallest opposite distance determined at the touching points of one search stripe.

Fig.: Result histogram, distance mode "Minimum per search stripe"

Fig.: Image with overlay, distance mode "Minimum per search stripe"

Distance mode "Minimum"
Minimum distance determined at the scanning lines with the smallest distance to each other. The touching points of the scanning lines can but do not have to come from just one search stripe.

Fig.: Result histogram, distance mode "Minimum"

Fig.: Image with overlay, distance mode "Minimum"

Difference between "Maximum" and "Maximum per search stripe"

The selected demonstration object displays identical images when determining the distance with the distance mode "Maximum" and the distance mode "Maximum per search stripe" (see figures, right columns in the tables below). The distances are not determined identically.

With the distance mode "Maximum per search stripe" the touching points are evaluated by only one search stripe. The search stripe with the largest distance between the touching points is selected (see figure: Results histogram, distance mode "Maximum per search stripe")

With the "Maximum" distance mode, the maximum distance is determined by selecting the scanning lines with the largest distance to each other. However, the touching points of the scanning lines can come from two different search strips (see Figure: Results histogram, distance mode "Maximum").

Distance mode "Maximum per search stripe"
Largest opposite distance determined at the touching points of one search stripe.

Fig.: Result histogram, distance mode "Maximum per search stripe"

Fig.: Image with overlay, distance mode "Maximum per search stripe"

Distance mode "Maximum"
Maximum distance determined at the scanning lines with the largest distance to each other. The touching points of the scanning lines can but do not have to come from just one search stripe.

Fig.: Result histogram, distance mode "Maximum"

Fig.: Image with overlay, distance mode "Maximum"

Next topics:

Tab Optimization


Tab Optimization

In the “Optimization” tab, further settings for optimizing the edge detection can be made. The following figure shows the “Optimization” tab.

Fig.: Detector caliper, “Optimization” tab

The following parameters can be configured in the “Optimization” tab:

Parameter Function

Interpolation

The calculation of the edge position can be performed either with subpixel accuracy (up to 1/10 pixels) or with simple accuracy.
  • Accurate
 Subpixel accuracy
  • Fast
 Simple accuracy: This setting partly provides calculations which are over 50% faster.

Next topic: Results / Histogram display


Results / Histogram display

Fig.: 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 probe Display of the selected probe
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


Detector Barcode

Next topics:

Detector Datacode

Tab Reference string

Tab Code

Fig.: Detector Barcode, tab Code

Settings in tab Code

Parameter

Function

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.

If codes with a certain number of characters are to be found under several codes, then the parameter “Max. number of codes” is to be set to a higher value than the number of searched codes.

No-read string

Specifies the text, which is given out over the interfaces in case of non successful reading. The text does not appear in the result display.

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.

Optimization:

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?
  • Are thresholds set correctly?


Tab Reference string

Detector Barcode

Tab Quality

Fig.: Detector Barcode, tab Reference string

Settings in tab Reference String

Parameter | Function
Compare string | Activates verification of contents of the result information. The verification is done by using of regular expressions.
Reference string | This text or regular expression is taken for verification. Here can be entered characters or regular expressions. If codes with a certain reference string are to be found under several codes, then the parameter “Max. number of codes” in the “Code” tab is to be set to a higher value than the number of searched codes.
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 \A Matches start of string

$ or \Z Matches 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


Tab Quality

Tab Reference string

Tab Lines

Fig.: Detector Barcode, tab Quality

Settings in tab Quality

Parameter Function

Quality type

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 Decode

Q5 Symbol Contrast

Q6 Minimal Reflectance

Q7 Minimal Edge contrast

Q8 Modulation

Q9 Defects

Q10 Decodability

Q11 Additional Requirements

“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 grayscale, 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 result 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. The setting made here affects both the display of the quality parameters on the screen and the output of the quality parameters via the interfaces.

The assignment is the following:

ABCDF

43210

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


Tab Lines

Tab Quality

Tab Structure

Fig.: Detector Barcode, tab Lines

Settings in tab Lines

Parameter | Function

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

With the parameter Orientation the range of angel for code reading can be restricted. Barcodes with rotated positions outside the specified angle range are not read. For example, the parameter can be used if a barcode can be located in different rotated positions in front of the code reader and not all rotated positions should be read. If codes with a certain rotated position are to be found under several codes, then the parameter Max. number of codes in the Code tab is to be set to a higher value than the number of searched codes.

If the bar codes are expected to appear only in certain orientations in the processed images, one can reduce the orientation range adequately. This will detect wrong candidates sooner. 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 | Tolerance of orientation. See the explanation of ’orientation’ parameter.

Max. diff orientation

A potential barcode region contains bars, and hence edges, with a similar orientation. This value indicates how strongly the difference in the orientation of adjacent edges may be. The maximum orientation deviation is a differential angle in degrees. If a barcode 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.

Additional information:

Closed Parameter Orientation

The following figure illustrates the orientation.

Please note:

The orientation indication refers to the image and not to the rotational position of the search range.

Fig.: Parameter Orientation


Optimierung2

Optimization:

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?
  • Are thresholds set correctly?
  • Code size sufficient in the field of view?
  • Width of barcode line sufficient?


Tab Structure

Tab Lines

Fig.: Detector Barcode, tab Structure

Settings in tab Structure

Parameter | Function
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'

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


Detector Datacode

Tab Code

Next topics:

Detector OCR

Tab Ref. String

Fig.: Detector Datacode, tab Code

Parameter | Function

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. "Additiv teach" extends the already taught-in parameter set.
Autotune | Automatic setting (pre-processing filter and image acquisition) for the optimization of code reading.

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.

Optimization

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?
  • Are thresholds set correctly?

Autotune

When selecting the Autotune function, the SBS vision sensor automatically detects all the settings to optimize code reading.

The function always starts with the parameters already set by the user. So, if parameters are set roughly before the start of the “Autotune” function, Autotune makes the fine adjustment to optimize the result.

After the optimization run of “Autotune”, “OK” or “Cancel” can be selected. In case of “OK”, the altered parameters are used. When “Cancel” is selected, the old parameters are restored to the values from before the “Autotune” execution.

Fig.: “Autotune” Window

The “Autotune” function consists of the following elements:

(A) Progress
Start | Start “Autotune” function. After pressing start, the progress is displayed.
Stop after reaching expected quality | The “Autotune” function stops the automatic settings when the minimum required quality is reached.

(B) Image acquisition
Shutter Speed

Active: An activated Checkbox defines those parameters, that should be determined automatically by the SBS vision sensor. Not activated parameters remain unchanged.

Best Value: The “Best Value” field shows the last setting, which was determined by the Autotune function.
Gain
Internal illumination
Polarization filters
External illumination

(C) Pre-processing
Mean

Active: An activated Checkbox defines those parameters, that should be determined automatically by the SBS vision sensor. Not activated parameters remain unchanged.

Best Value: The “Best Value” field shows the last setting, which was determined by the Autotune function.
Erosion
Dilation
Swap erosion/ dilation

(D) Datacode parameters
Module robustness The best settings found by the Autotune function are displayed.
Find pattern tolerance
Contrast tolerance

(E) Quality of best parameter set
number of codes | Number of codes in the field of view tested by the Autotune function.
Correction | Decode error, which is achieved with selected parameters.


Tab Ref. String

Detector Datacode

Tab Quality

Fig.: Detector Datacode, tab Ref. String

Settings in tab Reference String

Parameter Function

Compare string

Activates verification of contents of the result information. The verification is done by using of regular expressions.

Reference string

This text or regular expression is taken for verification. Here can be entered characters or regular expressions.

If codes with a certain reference string are to be found under several codes, then the parameter “Max. number of codes” in the “Code” tab is to be set to a higher value than the number of searched codes.

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.

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

This text can be changed later.

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 \A | Matches start of string
$ or \Z | Matches 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


Tab Quality

Tab Ref. String

Tab Advanced

Fig.: Detector datacode, tab quality

Settings in tab quality

Parameter

Function

Quality type

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 minimum and the maximum pixel intensity. A strong contrast results in a good grading.

The modulation indicates how strong the amplitudes of the data code modules are. Big black parts as well as small black parts leads to a reduction of the value. A balanced ratio of black and white simplifies the assignment of the individual modules.

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. Codes that can not be read can not be evaluated for quality. Because data matrix codes include error correction, errors in individual modules can be corrected. The sum of the corrected errors is mapped in the value "unused error correction". It is quite possible that codes with a Unused Error score of 0 can still be read.

Axial non-uniformity: Provides information about possible horizontal or vertical distortion of the code.

Grid non-uniformity: Gives information about general distortions of the code.

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

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.

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 gray value of the bright data code modules.

“Mean light” can vary from 0.0 to 1.0.

An image has the required gray value conditions if the “mean light” value is between 70 % and 86 % (0.70 to 0.86).

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 result 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 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.


Tab Advanced

Tab Quality

Tab Symbols

Fig.: Detector datacode, tab advanced

Settings in tab Advanced

Parameter | Function
Min. Contrast | Minimum contrast in gray values between bright and dark parts of the code, range (1...100).
Polarity | Possible restrictions concerning the polarity of the modules: If they are printed dark on a light background or vice versa.
Slant max. | Slant of the angle in the L-shaped finder pattern from the (ideally) right angle. The indication is in radians and corresponds to perspective distortions that can occur when printing the symbol or when taking images.
Mirrored | Setting option, whether the code was applied mirrored or not. Due to the symmetry of the code, this is not visible to the eye. The function helps, if codes should be read through transparent parts like glass.

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


Tab Symbols

Tab Advanced

Tab Modules

Fig.: Detector Datacode, tab Symbols

Settings in tab Symbols

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


Tab Modules

Tab Symbols

Tab Miscellaneous

Fig.: Detector datacode, tab modules

Settings in tab Modules

Parameter | Function
Module size min. / max. | Size of modules in pixels.
Module width min. / max. | Only PDF 417: width of modules inside picture in pixels.
Module aspect min. / max. | 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.


Tab Miscellaneous

Tab Modules

Detector OCR

Fig.: Detector datacode, tab miscellaneous

Settings in tab Miscellaneous

Parameter | Function
Version | Only QR code: version of the code, with model 1 range of values 1 ... 14, with model 2 range of values 1 ... 40. Version indicates the size of the code. Version 1 means 21 x 21 modules, version 2 means 25 x 25 modules. , . (Per version 4 modules more)
Model type | Only QR-Code: Model 1 or Model 2. Model 2 is the newer version, supporting larger codes.
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 center 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. List of values: 'fixed', 'variable', 'any' Default: 'fixed' (enhanced: 'any').
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.
Contrast tolerance | Tolerance during Code search in regards to strong local contrast variations.


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.

Next topics:

Detector Wafer

Tab Characters (flexible)

Fig.: 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 optimizing parameters in offline mode. Stable reading results can only be achieved by using a large number of images.

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:

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

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

Fig.: 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.

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

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

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

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

Fig.: 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!


Tab Characters (flexible)

Detector OCR

Tab Segmentation

Definition of basic settings of characters to read.

Fig.: Detector OCR, tab Characters

Parameter Function

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 colored overlay for segmentation of characters.

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

Optimization:

Execution speed:

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


Tab Segmentation

Definition of basic settings of characters to read.

Tab Characters (flexible)

Tab Classification

Fig.: Detector OCR, tab segmentation

Parameter Function

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.


Tab Classification

Definition of basic settings of characters to read.

Tab Segmentation

Detector OCR, available fonts

Tab Quality

Fig.: Detector OCR, tab Classification

Parameter | Function
Font | For available fonts see chapter: 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 taken 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.
Add expression | Opens a list with examples for 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 possible alternatives can be searched to find and automatically replace a character according to the regular expression in the reference string.
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. Example: Day 3 letter (MON / TUE / WED / etc) is the segmentation. Decode gives the letters W6O rather than WED. 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 | 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 \A | Matches start of string
$ or \Z | Matches 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

Tab Classification

Tab Quality

Overview of fonts:

Semi

Dot print

Handwritten

Industrial

MICR

OCRA

OCRB

Pharma


Tab Quality

Definition of basic settings of characters to read.

Tab Classification

Detector OCR

Fig.: Detector OCR, tab quality

Parameter | Function
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.


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.

Next topics:

Tab Quality

Detector Wafer

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.

Fig.: Detector OCR, Result display

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

Parameter | Function
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.

Tab Color channel

Tab Color value


Tab Color channel

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

An image, taken with a color chip contains more information by the color component than a monochrome image. This feature can be used with the color channel selection. By selection of single color channels specific zones can be intensified or weakend. The display of the image depends on the image chip and the selected detector.

  • 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

Fig.: 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 topics:

Detector Color area

Function: Mask

Fig.: 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 eraser. Masks can also be inverted, means that parts which are interesting can be marked.
Overlay search region | Activate overlays for free shape search regions.

Predestined 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

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

Tab Color channel

Tab Color area

Tab Thresholds


Tab Color area

Next topics:

Tab Thresholds

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.

Fig.: 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 eraser. 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.

Predestined 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 minimum or maximum limits to avoid disturbing influence to detection.

Fig.: Color histogram


Tab Thresholds

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

Next topic: Detector Color list

Fig.: color area, tab 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 closest to a color in the list. This enables sorting of parts by color.

Tab Color channel

Tab Color list


Tab Color list

Next topics:

Setup Output

Function: Mask

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

Fig.: Color list

Parameter | Function
Color distance | Distance of the current color versus the taught-in color. The metric of the color distance depends on 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 eraser. Masks can also be inverted, means that parts which are interesting can be marked.
Overlay search region | Activate overlays for free shape search regions.
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 homogeneous 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 applications:

  • 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.


Setup Output

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

Tab I/O mapping

Tab Output signals (Digital outputs / Logic)

Tab Interfaces

Tab Timing

Tab Telegram, Data output

Tab Image transmission

Tab Archiving


Tab 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. The functions listed under "Unique function" are only available via this pin / line.

Fig.: 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 | Function for enabling or suppressing trigger signals. Reading this function takes about 1 ms. This creates a pause in which a trigger signal is ignored, even though the Enable Trigger signal is present.
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. If possible, the job change should take place via the binary signals (binary coded).
Teach temporary / Teach 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 switching via binary bit pattern to up to 5 inputs that can be defined for this purpose, i.e. switch between 1 to 32 jobs. ranking of the bits according to assigned ascending input designation 1 - 5. Bit 1 = LSB. See chapter: Job 1… 31 via binary bit pattern
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 fulfilled: - “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
No function, undefined | no function, not used

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

Fig.: Output, Inputs

Encoder Connection

If both tracks A+ and B+ are used increasing or decreasing counting can be done / forward or backward movement. The encoder inputs can work with a frequency of maximum 18 kHz.

Fig.: Encoder connection A+ / B+

Functions of outputs

Function | Description
Ejector | Dedicated ejector output, maximum load 100 mA (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 | When changing jobs via digital I/O ("Job 1..N" or "Job PinX, binary coded"), a low / high edge can be set here to confirm the success case. The high edge is set after the new job content is loaded and active, i.e. at the same time as the high edge of the ready signal after switching (see timing ...). The high level stops for 20 ms and is then deleted. 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

Fig.: Outputs

There are two predefined outputs:

  • Ready: indicates, that Sensor is ready to receive a trigger.
  • Valid: indicates, 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 permanent

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.

Fig.: 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):

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 10 ms all inputs must have a stable logic level).

Job change by function: Job 1 or 2:

At the level change of the according input Ready is set 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 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.

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

Input: Job 1 ... n

For switching between jobs via impulses.

Impulses are counted until the first delay of >= 50 ms 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. Pulse length for job change should be 5 ms pulse and 5 ms delay. During Job Change over binary inputs there must not be sent any trigger signal. If possible job change should be made by binary coded signals, this is the faster way.

Fig.: 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. 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.

Fig.: Input timing, Teach

Please note:

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 fulfilled:

  • “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

Fig.: Input, Repeat Mode Enable, with Trigger

Input, Repeat Mode Enable, in Freerun

Fig.: Input, Repeat Mode Enable, with Trigger


Tab Output signals (Digital outputs / Logic)

In this tab, you define the switching behavior 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.

Fig.: 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:

  • Standard mode (checkboxes and operators)
  • Extended mode (formula)


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:

Select the logical operator to be used for connecting the detectors in the selection list, from the operator window.

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.

Please note:

If a detector is assigned to an image acquisition (see “Repeat mode”, chapter Tab Cycle time), its result in the remaining image acquisitions does not affect the logic result.


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.

Please note:

If a detector is assigned to an image acquisition (see “Repeat mode”, chapter Tab Cycle time), its result in the remaining image acquisitions is set to logic “0”. The logic result must be adjusted accordingly.


Tab Interfaces

In this tab you select and activate the digital inputs / outputs used and the interfaces for data output. The outputs and interfaces can be separately activated or deactivated in the Active column.

Fig.: Output, tab Interfaces

Parameter Function

Internal I/O

Selection of I/O-type: PNP or NPN

RS422 (baud rate)

RS422 zur Datenausgabe mit Auswahl der Datenübertragungsrate.

Basic settings: 8 data bits, 1 stop bit, no parity.

External (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. SBS vision sensor EtherNet/IP, Introduction
PROFINET

Field bus PROFINET for data output, PLC communication.

Please 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 PROFINET-stack. Only a new start / reset starts the sensor without execution of the -stack. SBS vision sensor PROFINET, Introduction
Vision Sensor Visualisation Studio

Activation or deactivation of the module "Vision Sensor Visualisation Studio".

When the checkbox is deactivated, the button "View" in Vision Sensor Device Manager can no longer be used to access Vision Sensor Visualisation Studio.

If the checkbox "Vision Sensor Visualisation Studio" is activated (default), the following settings can be selected for the image transfer:

  • Overlay
    When "Overlay" is selected, only the overlay is transferred to Vision Sensor Visualisation Studio. Image and pre-processing settings are not transferred.
  • Image and overlay
    When "Image and Overlay" is selected, the image with the overlays is transferred into Vision Sensor Visualisation Studio. Pre-processing settings are not transferred.
  • Image with pre-processing and overlay
    When this setting is selected, the image with the pre-processing settings and the overlay are transferred in Vision Sensor Visualisation Studio.

Additional information: Configure overlay: and Tab Pre-processing

SBSxWebViewer

Activates the webserver on the SBS 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”

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

This program enables the monitoring of the image from the camera and the inspection results. No new settings can be made on the sensor.

Fig.: SBSxWebViewerin the Browser / Results

Function

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

Fig.: SBSxWebViewer/ Statistics

Fig.: SBSxWebViewer/ Job

To start SBSxWebViewer:

  1. Activate SBSxWebViewer, at Output/Interfaces/SBSxWebViewer
  2. “Start sensor” (press button in Vision Sensor Configuration Studio)
  3. Open Browser
  4. 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).

Please 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 SBS vision sensor only one browser connection is allowed.


Tab Timing

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.

Fig.: Output, tab Timing

Parameter

Function

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.

Change at the next result (default setting)

Change with trigger

Result Duration (fixed duration in ms, then reset to inactive)

Duration of result

Duration of the result signal in ms or encoder pulses.

Maximum setting value 3000 ms / encoder impulses

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 Vision Sensor Configuration Studio/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 (SBS ready for next task, outputs valid).

Fig.: 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.

See 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 (SBS ready for next task, outputs valid).

Fig.: 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. 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!). See 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.

Fig.: 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 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, 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)! See 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. This make sense as the SBS independent from the later setting of the other outputs, is now already available for the next evaluation task.

Fig.: This make sense as the independent from the later setting of the other outputs, is now already available for the next evaluation task.

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.

Fig.: 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 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 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.

Fig.: 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.

Fig.: Output timing, Multiple Result delay, ejector


Tab Telegram, Data output

Next topics:

Tab Image transmission

Overview telegram:

EtherNet/IP, Anhang

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

Fig.: Output, tab Telegram

Parameter | Function
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.

Parameter | Function
Start | Characters which are inserted at the beginning of the payload data string (Binary or ASCII)
Trailer | Characters which are inserted at the end of the payload data string (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” | 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

Available payload data at: Payload

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 “+”.

Fig.: 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): Payload

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 (see also chapter: 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 “” (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:

  1. 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.
  2. 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.

Please note:

  • 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 | TCP / IP | RS422 / RS232 | EtherNet/IP | PROFINET
Telegram format | ASCII / Binary | ASCII / Binary | Binary | Binary

Also see chapter: Overview telegram:

Also see chapter: Overview telegram

Protocol settings

Parameter | Function
Binary / ASCII | Output data in Binary- (Hex) or ASCII- format.
Save to file | Exportation of file format with current results as .csv

Basics for establishing of a connection:

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

SBS vision 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 (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 vision sensor\Utilities\Ethernet


Tab Image transmission

Next topic: Tab Archiving

Image transmission and / or the image recorder and the Ram disc can be activated in the Image transmission tab. Set image sharpness with the focus setting screw on the back of the SBS vision sensor.

Attention:

The icon inside life image means, that image display / transfer on PC is slower than image processing on SBS. Not all pictures taken by the SBS will be displayed. This may cause lost images during bad (fail) image archiving.

If this icon occurs often, PC-programs running in background should be closed in order to improve PC performance.

Parameter Function

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.

Settings: Off, Any, Pass, Fail.

The image is stored in the RAM of the SBS under the name “image.bmp” in the 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

Connection with 192.168.100.100 was established.

220 Welcome to SBS ftp-server!

User (192.168.100.100:(none)): user

331 Please specify the password.

Password: user

230 Login successful.

ftp> cd /tmp/results

250 Directory successfully changed

ftp> get image. bmp

200 PORT command successful. Consider using PASV. Consider using PASV.

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

226 File send OK.

FTP: 64d Bytes receive 0.23 seconds 1514,35 KB/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. The images 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

Fig.: Tab Output / Image transmission


Tab Archiving

In tab Archiving the archiving of data can be defined.

Next topic: Tab Pre-processing

Parameter Function and possibility

Off: No archiving,

FTP: Archiving to FTP server,

SMB: Archiving to a drive via SMB-service (Server Message Block)

If archiving server is in different sub network set gateway first with .

Please note:

If archiving server is in different sub network set gateway first with Vision Sensor Device Manager.

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.

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”. Filename with incremented counter.

Image files

Activates archiving of images.

Please note:

  • Images are stored without preprocessing settings, but with the settings for the arrangement (e.g. rotated or mirrored)
  • FTP and SMB save images without overlays. To store images with overlays, please use Vision Sensor Visualisation Studio.

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.

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).
Add expression

A dynamic part (information such as date and time) is added to the filename.

See table below

The following table shows the expressions that can be added to the filename.

Expression | Description | Example
TIME | HHhMMmSSsSSSms | 09h05m11s034ms
HOUR | hh | 09
MIN | mm | 05
SEC | ss | 11
MSEC | sss | 034
DATE | YYYY-MM-DD | 2011-09-21
YEAR | YYYY | 2011
2YEAR | YY | 11 (for 2011)
MONTH | MM | 09
DAY | DD | 21
STRINGID | “Data” entry from extended trigger request “TRX” | Part 34
COUNTER | Taken from statistics. | 3824
XXCOUNTER

Counter taken from statistics with a defined number of digits.

XX indicates the number of displayed digits and can accept values ​​from 01 to 09.

Please note:

If number of counter digits is too small, leading 0 will be added.

If number of counter digits is too large most significant digits will be discarded.
06COUNTER → 003824
RESULT

Overall result of job

 Pass or Fail
SENSORNAME | As specified in Vision Sensor Device Manager
JOBNAME | As specified in Vision Sensor Configuration Studio

Fig.: Tab Archiving


Setup 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.

Detailed inspection results from the detector marked in the selection list are displayed in run mode. In the image window – if adjusted – the image, the search- and feature-frames, and the result- graphs are displayed.

Fig.: Result

Parameter results displayed | Function | Detector type
Detector result | Boolean detector result | All detectors
Score value 1 ... n | Score (0..100%), e.g. Detector pattern matching: degree of agreement of the found pattern with the taught-in pattern | All detectors
Execution time | Execution time of individual detector in [msec]. | All detectors
Distance | Calculated distance, [1/1000] *1) | Caliper
Position X 1 ... n | Position found X (x-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
Position Y 1 ... n | Position found Y (y-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
DeltaPos X | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
DeltaPos Y | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
Angle | Orientation of object found (0°..360°) [1/1000] *1) | Pattern matching Contour Edge detector Datacode Barcode OCR
Delta Angle | Angle between object taught and object found (0°..360°) [1/1000] *1) | Pattern matching Contour Edge detector
Scaling | Only with contour (0.5 ... 2) [1/1000] *1) | Contour
R(ed) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
G(reen) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
B(lue) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
H(ue) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
S(aturation) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
V(alue) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
L(uminanz) | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
A | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
B | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
Result index | Index in list, signed integer [1/1000] *1) | Color list
Color distance | Distance between taught and current color, signed integer [1/1000] *1) | Color list
Area | Area of the BLOB, without holes, in pixels, signed integer [1/1000] *1) | BLOB
Area (incl. holes) | Area of the BLOB, including holes, in pixels, signed integer [1/1000] *1) | BLOB
Contour length | Number of pixels of outer contour, signed integer [1/1000] *1) | BLOB
Compactness | Compactness of BLOB (Circle = 1, all other >1), signed integer [1/1000] *1) | BLOB
Center of gravity X | X- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center of gravity Y | Y- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center X | X- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Center Y | Y- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Width | Width of geometric element. Width >= 0, width >= height, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Height | Height of geometric element. Heigth >= 0, height <= width, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Angle (360) | Orientation of width of object in degree (range: -180 ... +180°, 0° = east, counterclockwise), signed integer [1/1000] *1) | BLOB
Eccentricity | Eccentricity numerical (range 0,0 ... 1,0), signed integer [1/1000] *1) | BLOB
Face up/down, area | Face up/down discrimination, based on area, indicated by sign, signed integer [1/1000] *1) | BLOB
String | 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. | Datacode Barcode OCR
String length | Length of Code in Bytes | Datacode Barcode OCR
Truncated | Code truncated | Datacode Barcode OCR
Compare result | Result of string comparison | Datacode Barcode OCR
Quality parameter | Output of quality parameters according to selection | Datacode Barcode
Contrast | Contrast of the code (0-100%) | Barcode
Correction | Number of modules corrected by error corrections | Barcode
Module height | Height of modules in pixels | Datacode
Module width | Width of modules in pixels | Datacode
Confidence | Output of the confidence values ​​of the individual characters | OCR
Result | Degree of similarity between the read string and the reference string from 0 to 100% | OCR
Min. Quality | Minimum required quality was achieved | OCR

*1) All detector-specific data with decimal places are transmitted as integers (multiplied by 1000) and must therefore be divided by 1000 after data reception. The values are transmitted in "big endian" format.

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 gray values, normalised to 100 (hight of maximum in histogram).

Score: smaller value of both: Score 1 or Score 2.

Fig.: Score value caliper detector


Setup Start sensor

This function sets the sensor to run mode and executes the job.

Image display

Setup Result

Tab 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.

Fig.: Start sensor


Trigger settings

Select the required trigger mode in the job settings in the “General” tab:

Parameter | Function
Triggered | Operation with external trigger, or trigger button in the inVision Sensor Configuration Studioterface
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:

Parameter Function

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 Vision Sensor Configuration Studio interface

2. Trigger mode = free run: First click on the “Single image” button on the Vision Sensor Configuration Studio-interface (Important, for example, in set-up mode)

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 Vision Sensor Configuration Studio 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”


Connection mode

Two operating modes are available for sensor configuration and test run, which you can select in the Connection mode window.

  • Online mode: Configuration with connected sensor.
  • Offline mode: Simulation of a sensor with the help of images stored in film strips.

Fig.: 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.


Displays in image window

Image section and enlargement:

Fig.: 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.


Controlling image reproduction

Fig.: Image reproduction

You can control the selection and reproduction of stored images using the 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.

Buttons | Function
 | Move to previous image.
 | Starts / Stops the reproduction of the stored images.
 | Move to next image.
 | Move to last image. The statistics are reset and all images are evaluated.


Load and save jobs and job sets (File)

Next topic: Protect job set ... (File) or Tab Image acquisition

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.

Saving a job / job set:

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

Loading a job / job set:

  1. Select “Load job ...” or “Load job set (Backup) ...” from the File menu.
  2. 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 !

Fig.: Vision Sensor Configuration Studio, Load / save job


Protect job set ... (File)

In the Vision Sensor Configuration Studio menu it is possible to protect the job set with a password with the function "Protect job set ...". The job sets as well as all jobs are protected with a password. They can only be opened with Vision Sensor Configuration Studio, if the correct password has been entered. If the password is not entered correctly, the job set cannot be displayed or changed. The SBS vision sensor or the access to the SBS vision sensor is not blocked, i.e. SBS vision sensor works normally in run mode.

Fig.: Menu Vision Sensor Configuration Studio, Protect job set ...

Attention:

There is no way to restore forgotten or lost passwords.

In case of forgotten or lost passwords, the entire job set must be recreated.

Enter a password

  1. Select "Protect job set ..." via "Vision Sensor Configuration Studio/Menu/Protect job set ..."

  2. Enter a password and provide additional information if desired.

    Fig.: Enter a password

    Please note:

    The password must be between 1 and 100 characters long.

  3. Confirm the entries with the button "Set". Another window to confirm the password opens.

  4. Confirm the password by re-entering the password.

    Fig.: Confirm password

  5. Press "Set".

  6. Save the protected job set

    1. ... on your SBS vision sensor by selecting the "Start Sensor" setup.
    2. ... via menu/Saving a job / job set:

Please note:

When saving the job or the job set, you can choose between the save types "With password protection (* .job)" and "Without password protection (* .job)".

  • "With password protection (* .job)": The job / job set with the entered password for the job / job set is saved. The job / job set can only be opened by entering the correct password for the job / job set.
  • "Without password protection (* .job)": The job / job set is saved without password protection. The job / job set can be opened and edited at any time without entering the password.

The following table explains the behaviour when loading a protected / unprotected job into a protected / unprotected job set:

 | Protected job set on the SBS vision sensor | Unprotected job set on the SBS vision sensor
Load a protected job | Job set protection remains. To open the password of the protected job must be entered, then the password is transferred from the active job set. | After opening the protected job and saving the job set or starting the sensor, the password protection is applied to the entire job set.
Load an unprotected job | Job set protection remains unchanged and is applied to the unprotected job when saving. | Job set remains unprotected.

A protected job set is marked with a "key symbol". See also the following table:

Vision Sensor Device Manager | Vision Sensor Configuration Studio / Vision Sensor Visualisation Studio | Vision Sensor Visualisation Studio
Fig.: Protected job set, displayed in Vision Sensor Device Manager | Fig.: Protected job set, displayed in Vision Sensor Configuration Studio / Vision Sensor Visualisation Studio | Fig.: Protected job set, displayed in Vision Sensor Visualisation Studio
An SBS vision sensor with a protected job set will be marked with a key symbol in the "Active sensors" list. | A protected job / job set is marked with a key symbol in the status bar. | A protected job / job set is marked in the "Job upload" tab with a key symbol.

Change Password

  1. Select "Protect job set ..." in "Vision Sensor Configuration Studio/Menu/Protect job set ...".
  2. Enter the existing old password and press the "Change" button.
  3. Confirm the password by re-entering the password and press the button "Set".

  4. Save the new password

    1. ... on your SBS vision sensor by selecting the "Start Sensor" setup.
    2. ... via menu/Saving a job / job set:

Deactivate password

  1. Select "Protect job set ..." via "Vision Sensor Configuration Studio/Menu/Protect job set ..."
  2. Enter the existing password and press the "Deactivate" button.

  3. Save the job set

    1. ... on your SBS vision sensor by selecting the "Start Sensor" setup.
    2. ... via menu/Saving a job / job set:


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. 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:

    Fig.: 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


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 setup “output” under the “Image transmission” tab. You can select whether all images (“Any”), only “Pass” images or only “Fail” images should 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:

Fig.: 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

Please note:

  • 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 .
  • 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.


Application Examples

In Menu “File” “Examples” predefined examples can be loaded. A filmstrip is loaded together with a job-file.


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 colored 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 gray level detectors, a circle can also be selected. The defined parameters (red frame) are found (green frame) provided its center 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 center 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).

Fig.: Search- and feature frames

Please note:

  • 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 Visualisation 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.

Fig.: 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 sensitivities 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.

Fig.: 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 gray, 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:

Fig.: 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.


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

Please note:

  • Several films are available in Vision Sensor Configuration Studio when delivered.
  • Further methods for image acquisition: Image recorder.


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. No new settings can be made on the sensor.

Image display

Tab Result

Tab Statistics

Tab Job select

Tab Job upload

Freeze image

Image recorder

Archiving test results and images

It is only possible to switch between already existing jobs on the sensor, or predefined job sets can be uploaded from the PC / control to the sensor by the authorized worker. Thus, this display tool is mainly used to visualize images and results, and to change job at e.g. part change on the machine.


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.

Attention:

The icon inside life image means, that image display / transfer on PC is slower than image processing on SBS. Not all pictures taken by the SBS will be displayed. This may cause lost images during bad (fail) image archiving.

If this icon occurs often, PC-programs running in background should be closed in order to improve PC performance.

In the menu Vision Sensor Visualisation Studio / view you can configure the graphical representation of the test results.

Fig.: 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 group, see user administration).

Configuring archiving:

  1. Select Configure archiving ... from the File menu.

    A dialogue box appears with the following options:

    Fig.: 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.


Tab 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:

Fig.: Vision Sensor Visualisation Studio, Result

Parameter 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
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 (center 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 statistical evaluations including selected graphics in the Vision Sensor Visualisation Studio program.


Tab 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.


Tab Job select

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 green arrow ( [image]) marks the active job

The use of functions which stop an active sensor may require in Vision Sensor Device Manager the password entry (User group user, see user administration).

Password levels

Fig.: Password levels

Fig.: Vision Sensor Visualisation Studio, Job select

Sequence

Select a job from the list and activate it with the “Activated” button.

The previous job is deactivated; the selected job is now active.

Please note:

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 is not ready and that results are not valid (Low level).


Tab Job 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 ...

Fig.: Vision Sensor Visualisation Studio, Job set upload

Please note:

  • 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


Telegram, Data output

This topic describes the telegrams available for the SBS vision sensor. These telegrams can be sent to SBS vision sensor via different interfaces.

  • Serial interface RS422 / RS232
  • Ethernet TCP/IP
  • PROFINET (request / response modul)

The telegrams are available in ASCII and Binary format. The format can be selected in the module “Vision Sensor Configuration Studio”, in tab “data output” of the setup “Output”.

The following settings are possible:

Communication | TCP / IP | RS422 / RS232 | EtherNet/IP | PROFINET
Telegram format | ASCII / Binary | ASCII / Binary | Binary | Binary

Next topics:

Overview telegram:


Overview telegram:

Closed SBS in general
  • Reset statistic (ASCII / Binary)
    With the telegram “Reset statistic” the internal statistic counter of the SBS vision sensor can be reset.
Closed SBS control
  • Trigger (ASCII / Binary)
    With the telegram “Trigger” an image acquisition will be started. Some commands need an additional image acquisition. The result data of the image are transferred via the “Out” port.
  • Extended trigger (ASCII / Binary)
    This telegram is an enhancement to the “trigger” telegram. Besides the result data there is also the option to assign an ID or to receive information about the operating mode (run/config). Unlike the “trigger” telegram the result data of “Extended trigger” telegram are also transferred via the “In” port.
  • Change job (ASCII / Binary)
    With the telegram “Change job” a job change on the SBS vision sensor is initiated.
  • Change job permanent (ASCII / Binary)
    With the telegram “Change job permanent” a permanent job change on the SBS vision sensor is initiated. The job runs again after restarting.
Closed SBS job settings
  • Set shutter speed (ASCII / Binary)
    With the telegram “Set shutter speed” the shutter speed of the job can be changed. The telegram can be used for e.g. brightness compensation.
  • Get shutter speed (ASCII / Binary)
    With the telegram “Get shutter speed” the set shutter speed of the job can be read.
  • Set gain (ASCII / Binary)
    With this request the gain of the job can be changed. The telegram can be used for e.g. brightness compensation.
  • Get gain (ASCII / Binary)
    With the telegram “Get gain” the set gain of the job can be read.
  • Set parameter (ASCII / Binary)
    With the telegram “Set parameter” the detector parameters can be adjusted, e.g. reference strings, detector thresholds.
  • Get parameter (ASCII / Binary)
    With the telegram “Get parameter” the set parameters of the detector can be read.
  • Set ROI (ASCII / Binary)
    With the telegram “Set ROI” the position of the selected detector can be changed.
  • Get ROI (ASCII / Binary)
    With the telegram “Get ROI” the position of the selected detector can be read.
  • Get job list (ASCII / Binary)
    With the telegram “Get job list” a list of all available jobs on the SBS vision sensor will be displayed.
  • Get detector list (ASCII / Binary)
    With the telegram “Get detector list ” a list of all detectors in the current job will be displayed.
  • Teach detector (ASCII / Binary)
    With the telegram “Teach detector” the selected detector is re-taught (only for pattern matching and contour detection).

  • Set trigger delay (ASCII / Binary)
    With the telegram "Set trigger delay" a delay for starting a trigger can be set (in time (ms) or encoder steps).

  • Get trigger delay (ASCII / Binary)
    With the telegram "Get trigger delay" the delay for starting a trigger can be read.
Closed SBS calibration
  • Calibration: Clear point list (ASCII / Binary)
    With the telegram “Calibration: Clear point list” the point list will be initialized.
  • Calibration: Add world point (ASCII / Binary)
    With the telegram “Calibration: Add world point” a point (fiducial or point pair) is added to the point list. The telegram can be used for the calibration method Point pair list (Robotics) and Calibration plate (Robotics).
  • Calibration: Add point (ASCII / Binary) - Discontinued
    With the telegram “Calibration: Add point” a point is added to the point list.
  • Calibration: Point list (ASCII / Binary)
    With the telegram “Calibration: Calibrate by point list” the calibration is carried out using the point list in the current job.
  • Calibration: Validate point list (ASCII / Binary)
    With the telegram “Calibration: Validate point list” the calibration is validated using the point list.
  • Calibration: Calibration plate (ASCII / Binary)
    With the telegram “Calibration: Calibrate by plate” the calibration is carried out using the calibration plate.
  • Calibration: Copy calibration (ASCII / Binary)
    With the telegram “Calibration: Copy calibration” the calibration of the current job will be copied to the selected destination.

  • Calibration: Set Parameter (ASCII / Binary)
    With the telegram "Calibration: Set parameter" the parameter values for the calibration can be set.

  • Calibration: Get Parameter (ASCII / Binary)
    With the telegram "Calibration: Get parameter" the parameter values of the calibration can be read.
Closed SBS visualization
  • Get image (ASCII / Binary)
    With the telegram “Get image” the image from SBS vision sensor will be received.
Closed SBS service (only available on port 1998 and in ASCII format)
  • Update visualization results (ASCII)
    With the telegram "Update visualization results" the visualization results, e.g. image, detector information and results are updated.
  • Get sensor identity (ASCII)
    With the telegram “Get sensor identity” the current firmware status as well as the hardware type can be queried.
  • Update firmware (ASCII)
    With the telegram “Update firmware” the firmware updates are started. Previously the firmware file must be loaded onto the SBS vision sensor.
  • Set jobset (ASCII)
    With the telegram “Set jobset” the jobset of the SBS vision sensor can be changed. Previously the jobset file must be loaded onto the SBS.
  • Get jobset (ASCII)
    With the telegram “Get jobset” the jobset of the SBS vision sensor can be read.
Closed Data output

(ASCII / Binary)

This section provides information about the data output. Especially, which format the individual results receive.

Telegrams: Availability and supported interfaces


Telegrams: Availability and supported interfaces

Overview telegram:


Error codes

Error code | Description
000 | Success
001 | Error
00 | Insufficient parameter data
005 | Invalid telegram
006 | Input parameters with invalid size or invalid value
007 | File does not exist
008 | Recorder off
009 | No matching image of requested type
010 | Invalid name or length
011 | Invalid data length
012 | Not allowed due to jobset mismatch
013 | Failed to start new job from jobset
016 | Firmware version mismatch
018 | Calibration plate data not available
020 | More than one vis-file present
021 | Sensor type does not match for vis-file
030 | Calibration not enabled
031 | Calibration copy error
032 | Mismatched input conditions for destination Job
033 | Calibrate / Validate error
034 | Invalid number of points
035 | Calibration add point error, e.g. last job result fail
036 | Invalid fiducial
037 | Error: Protect job set. Job change "permanent" is not allowed.
038 | Parameter values are not available for write / read.
039 | Sensor is in configuration mode. The telegram is rejected.
040 | Error during parameter value read / write.

Overview telegram:


Serial Communication ASCII

Overview telegram:

Get image (ASCII)

Calibration: Add point (ASCII) - Discontinued - Discontinued

Calibration: Add world point (ASCII)

Calibration: Clear point list (ASCII)

Calibration: Copy Calibration (ASCII)

Calibration: Get parameter (ASCII)

Calibration: Set parameter (ASCII)

Calibration: Calibrate by plate (ASCII)

Calibration: Calibrate by Point List (ASCII)

Calibration: Set fiducial (ASCII)

Calibration: Validate by Point List (ASCII)

Data output in ASCII

Teach detector (ASCII)

Get detector list (ASCII)

Extended trigger (ASCII)

Get gain (ASCII)

Set gain (ASCII)

Get job list (ASCII)

Change job (ASCII)

Change job permanent (ASCII)

Get job set (ASCII)

Set job set (ASCII)

Get parameter (ASCII)

Set parameter (ASCII)

Get ROI (ASCII)

Set ROI (ASCII)

Get sensor identity (ASCII)

Get shutter speed (ASCII)

Set shutter speed (ASCII)

Reset statistic (ASCII)

Get trigger delay (BINARY)

Set trigger delay (BINARY)

Trigger (ASCII)

Update firmware (ASCII)

Update visualization results (ASCII)


Reset statistic (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Reset statistic (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | R | Reset statistic
2 | S
3 | T
Example: | RST
Reset statistic (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | R | Reset statistic
2 | S
3 | T
4 | P F | P Pass F Fail
Example: | RSTP
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Trigger (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Trigger (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | T | Trigger, (simple trigger without index, in-port)
2 | R
3 | G
Example: | TRG
Trigger (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | T | Trigger, (response to trigger without index, via port 2006. If defined: result data without index via port 2005)
2 | R
3 | G
4 | P F | P Pass F Fail
Example: | TRGP
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | Yes
Accepted when Ready is Low: |  | No
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Extended trigger (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Extended trigger (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | T | Extended Trigger command, (trigger with index for correlation of trigger to the correponding result data, via port 2006)
2 | R
3 | X
4 - 5 | X | Length of following data (n)
6 ... n | X | Data
Example: | TRX06MyPart
Extended trigger (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | T | 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)
2 | R
3 | X
4 | P F | P Pass F Fail
5 - 6 | X | Length of following data (n)
7 ... n | X | Data of request command
n+1 | C R | C = Config R = Run
n+2 ... n+9 | X | Length of following data (n)
n+9 ... m | X | Result data
Example: | TRX06MyPartR00000000
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | Yes
Accepted when Ready is Low: |  | No
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Change job (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Change job (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Change job
2 | J
3 | B
4 - 6 | X | Job number
Example: | CJB005
Change job (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Change job
2 | J
3 | B
4 | P F | P Pass F Fail
5 | T F | Triggered Freerun
6 - 8 | X | Job number
Example 1: Example 2: | CJBPT005 CJBFF005
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

Please note:

If an error occurs during the job change, it is possible to change to job 1.


Change job permanent (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Change job permanent (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Change job permanent
2 | J
3 | P
4 - 6 | X | Job number
Example: | CJP005
Change job permanent (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Change job permanent
2 | J
3 | P
4 | P F | P Pass F Fail
5 | T F | Triggered Freerun
6 - 8 | X | Job number
Example 1: Example 2: | CJPPT005 CJPFF005
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

Please note:

If an error occurs during the job change, it is possible to change to job 1.


Set shutter speed (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set shutter speed (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set shutter speed
2 | S
3 | P T | P = Permanent Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 - 5 | X | Number of chars of shutter value, e.g. 04
6 - 9 | X | New shutter value in microseconds, e.g. 8000 = 8 ms
Example: | SSP048000
Set shutter speed (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | S | Set shutter speed
2 | S
3 | P T | P = Permanent Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 | P F | P Pass F Fail
Example: | SSPP
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Get shutter speed (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get shutter speed (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get shutter speed (from active job)
2 | S
3 | H
Example: | GSH
Get shutter speed (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get shutter speed
2 | S
3 | H
4 | P F | P Pass F Fail
5 | X | Shutter value length
6 ... n | X | Shutter value
Beispiel Run Mode: Example configuration mode: | GSHP41200 GSHF0
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Set gain (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set gain (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set Gain
2 | G
3 | A
4 | 0 1 | 0: Temporary 1: Permanent Permanent change affect all parameters, including those that have only been changed temporarily.
5 - 9 | X | New gain value (in value * 1000), e.g. 2.0 = 02000
Example: | SGA102000
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
Example: | SGAP02000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Get gain (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get gain (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get Gain
2 | G
3 | A
Example: | GGA
Get gain (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get Gain
2 | G
3 | A
4 | P F | P Pass F Fail
5 - 9 | X | Current gain value (value *1000), e.g. 1,0 = 01000
Example: | GGAP01000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Set parameter (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set parameter (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set parameter
2 | P
3 | P T | P Permanent T Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 - 6 | X | Detector number
7 - 9 | X | Command reference string / Set value *1), see below !
10 - 14 | X | Length of reference string / value in Bytes (n)
15 ... n | X | Reference string / value
Example: | SPP0010010044196
Set parameter (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | S | Set parameter
2 | P
3 | P T | P Permanent T Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 | P F | P Pass F Fail
5 | S | SI08 - Signed Integer 08 UI08 - Unsigned Integer 08 SI16 - Signed Integer 16 UI16 - Unsigned Integer 16 SI32 - Signed Integer 32 UI32 - Unsigned Integer 32 SI40 - Signed Integer 40 UI40 - Unsigned Integer 40 FLOT - Float DOBL - Double STRG - String BOOL - Boolean SP08 - Special Signed 8 UDEF - Undefined IARR - Integer Array ZERO - Default Zero Parameter
6 | T
7 | R
8 | G
Example: | SPPPSTRG
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
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 ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Alignment Contour detection | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Alignment Edge detector | Transition probe 1 Transition probe 2 Transition probe 3 Score min probe 1 Score min probe 2 Score min probe 3 | 101 102 103 104 105 106
Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Contour | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Gray level | Threshold Min Threshold Max GrayMin GrayMax GreyInvert | 001 002 101 102 103
Contrast | Threshold Min Threshold Max | 001 002
Brightness | 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
Color area | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
BLOB | GrayAbsoluteMin GrayAbsoluteMax GrayAbsoluteInvert | 101 102 103


Get parameter (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get parameter (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get parameter
2 | P
3 | A
4 - 6 | X | Detector number e.g. 001
7 - 9 | X | Command: Set reference string / value *1), see below !
Example: | GPA001001
Get parameter (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get parameter
2 | P
3 | A
4 | P F | P Pass F Fail
5 | S | SI08 - Signed Integer 08 UI08 - Unsigned Integer 08 SI16 - Signed Integer 16 UI16 - Unsigned Integer 16 SI32 - Signed Integer 32 UI32 - Unsigned Integer 32 SI40 - Signed Integer 40 UI40 - Unsigned Integer 40 FLOT - Float DOBL - Double STRG - String BOOL - Boolean SP08 - Special Signed 8 UDEF - Undefined IARR - Integer Array ZERO - Default Zero Parameter
6 | T
7 | R
8 | G
9 - 13 | X | Length of Reference strings / value (n) e.g. 00005
14 ... n | X | Reference string / value
Example: | GPAPSTRG00005Test1
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: |  | Telegrams: Availability and supported interfaces
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 ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Alignment Contour detection | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Alignment Contour detection | Transition probe 1 Transition probe 2 Transition probe 3 Score min probe 1 Score min probe 2 Score min probe 3 | 101 102 103 104 105 106
Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Contour | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 001 002 031 032 033
Gray level | Threshold Min Threshold Max GrayMin GrayMax GreyInvert | 001 002 101 102 103
Contrast | Threshold Min Threshold Max | 001 002
Brightness | 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
Color area | ColorMinChannel1 ColorMaxChannel1 ColorInvertChannel1 ColorMinChannel2 ColorMaxChannel2 ColorInvertChannel2 ColorMinChannel3 ColorMaxChannel3 ColorInvertChannel3 | 101 102 103 104 105 106 107 108 109
BLOB | GrayAbsoluteMin GrayAbsoluteMax GrayAbsoluteInvert | 101 102 103


Set ROI (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set ROI (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set ROI
2 | R
3 | P T | P = Permanent T = Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 - 11 | X | ROI Info length in bytes from Byte 4 to end e.g. 00000055
12 - 14 | X | Detector No. e.g. 001
15 - 16 | X | ROI Index = 00 for yellow ROI = 01 for red ROI = 02 for position control
17 - 18 | X | ROI shape 01=circle 02=rectangle 03=ellipse 04=free shape
19 - 26 | X | Center X ( value in pixel * 1000), e.g. 160 pixel = 00160000
27 - 34 | X | Center Y ( value in pixel * 1000), e.g. 120 pixel = 00120000
35 - 42 | X | Half width / X-radius (in pixels * 1000), e.g. 80 Pixel = 00080000
43 - 50 | X | Half height / Y-radius (in pixels * 1000), e.g. 40 Pixel = 00040000
51 - 58 | X | Angle (not at circle / ellipse) (in ° * 1000), e.g. 180° = 00180000
Example: | SRP0000005500100020016000000120000000800000004000000180000 Length 55, Detector=1, yellow ROI, rectangle, center X=160, center Y=120, half width= 80, half height=40
Set ROI (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | S | Set ROI
2 | R
3 | P T | P = Permanent Temporary Permanent change affect all parameters, including those that have only been changed temporarily.
4 | P F | P Pass F Fail
Example: | SRPP
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)
Parameter: |  | The parameter are given in alignment frames and not in image frames.


Get ROI (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get ROI (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get ROI
2 | R
3 | I
4 - 6 | X | Detector No. e.g. 001
7 - 8 | X | ROI Index = 00 for yellow ROI = 01 for red ROI = 02 for position control
Example: | GRI00100
Get ROI (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get ROI
2 | R
3 | I
4 | P F | P Pass F Fail
5 - 12 | X | ROI Info Länge in Bytes, ab Byte 5 bis Ende String
13 - 15 | X | Detector No. e.g. 001
16 - 17 | X | ROI Index = 00 for yellow ROI = 01 for red ROI = 02 for position control
18 - 19 | X | ROI shape 01=circle 02=rectangle 03=ellipse 04=free shape
20 - 27 | X | Centre X (value in pixels * 1000)
28 - 35 | X | Centre Y (value in pixels * 1000)
36 - 43 | X | Half width /X-radius (value in pixels * 1000)
44 - 51 | X | Half height /Y-radius (value in pixels * 1000)
52 - 59 | X | Angle (not at circle / ellipse) (valuein ° * 1000)
Example: | GRIP0000005500100020016000000120000000800000004000000090000 (Length= 55, detector 1, search region, rectangle, Centre X=160, Centre Y=120, half width =80, half height =40, angle = 90)
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Get job list (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get job list (ASCII) Request string to sensor

Byte No.

Content

Significance
1 | G | Get Job List
2 | J
3 | L
Example: GJL

Get job list (ASCII) Response string from sensor

Byte No.

Content

Significance
1 | G | Get Job List
2 | J
3 | L
4 P
F

P Pass

F Fail
5 - 7 | X | Response version
8 - 10 | X | Number of jobs
11 - 13 | X | Active job number

Please note:

The following byte sequence is repeated for each job from 1 to “Number of jobs”. The byte numbers shift accordingly.
14 - 16 | X | Number of characters for the job name. This can be used to specify a unique name for job n.
17 ... n | X | From this position, the name for job n follows in the specified length.
n+1 ... n + 3 | X | Number of subsequent bytes. A description for the job n can be specified.
n + 4 ... m | X | From this position, the description for job n follows in the specified length.
m + 1 ... m + 3 | X | Number of subsequent bytes. This can be used to specify a unique name for the author of job n.
m + 4 ... k | X | From this position, the name for the author of job n follows in the specified length.
k + 1 ... k + 8 | X | Date of creation of job n.
k + 9 ... k + 16 | X | Date of last change of job n.
Example: GJLP001001001007testjob010DefaultJob004Test2014112720141128

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: Telegrams: Availability and supported interfaces
End of telegram: Max. 4 byte (option)


Get detector list (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get detector list (ASCII) Request string to sensor

Byte No.

Content

Significance
1 | G | Get Detector List
2 | D
3 | L
Example: GDL

Get detector list (ASCII) Response string from sensor

Byte No.

Content

Significance
1 | G | Get Detector List
2 | D
3 | L
4 P
F

P Pass

F Fail
5 - 7 | X | Job number of the current job
8 - 10 | X | Number of detectors in the current job

Please note:

The following byte sequence is repeated for each detector in the job. The byte numbers shift accordingly.
11 - 13 | X | Number of subsequent bytes. This allows a unique name for the detector n to be specified.
14 ... n | X | From this position, the name for detector n follows, in the given length.
n + 1 ... n+ 5 X

001 - Pattern matching

004 - Contour

005 - Gray level

006 - Contrast

007 - Brightness

011 - OCR

013 - Datacode

014 - Barcode

018 - Color value

019 - Color area

020 - Color list

021 - Caliper

022 - BLOB
Example: GDLP001001012testdetector00005

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: Telegrams: Availability and supported interfaces
End of telegram: Max. 4 byte (option)


Teach detector (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Teach detector (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | T | Teach detector
2 | E
3 | D
4 - 6 | X | 0 = Alignment >= 1 Detectors
7 | X | 0: Temporary 1: Permanent Permanent change affect all parameters, including those that have only been changed temporarily.
8 | X | 0 = no trigger 1 = Trigger
Example: | TED00111
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
Example: | TEDP
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Set trigger delay (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set trigger delay V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set Trigger Delay
2 | T
3 | D
4 | 1 | Request version
5 | X | 0: Temporary 1: Permanent
6 - 13 | X | Trigger delay in msec (max. 3000 msec) in encoder steps (max. 65535 steps)
Example: | STD1100001000
Set trigger delay V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | S | Set Trigger Delay
2 | T
3 | D
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
Example: | STDP000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Get trigger delay (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get trigger delay V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get Trigger Delay
2 | T
3 | D
4 | 1 | Request version
Example: | GTD1
Get trigger delay V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get Trigger Delay
2 | T
3 | D
4 | P F | P Pass F Fail
5 - 7 | X | Error code
8 - 15 | X | Trigger delay in msec (max. 3000 msec) in encoder steps (max. 65535 steps)
Example: | GTDP00000001000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Clear point list (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Clear point list (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Clear Data
2 | C
3 | D
Example: | CCD
Clear point list (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Clear Data
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Add world point (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Add world point V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Add World Point
2 | A
3 | W
4 | 1 | Request version
5 | X | 1: Only fiducials Calibration plate (Robotics) 4: World point and image point Point pair list (Robotics)
6 - 10 | 0 | Constant (5 Bytes)
11 - 18 | X | World-X (in mm *1000)
19 - 26 | X | World-Y (in mm *1000)
27 - 34 | 0 | Constant (8 Byte)
Example: | CAW1000010010000000200000000000000 (World X=100mm; World Y=200mm)
Calibration: Add world point V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Add World Point
2 | A
3 | W
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 12 | X | Current number of points
13 - 20 | X | Image point X
21 - 28 | X | Image point Y
Example: | CAWP000000010028800000566000 (Fiducial 1; Image X=288; Image Y=566)
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Add point (ASCII)

Calibration: Add point (ASCII) - Discontinued

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Add point (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Add Point
2 | A
3 | P
4 - 8 | 0 | Constant
9 - 16 | X | World-X (in mm *1000)
17 - 24 | X | World-Y (in mm *1000)
Example: | CAP000000010000000200000 (World-X = 100 mm; World-Y = 200 mm)
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 - 9 | X | Current number of points in the list
10 - 17 | X | Image point X
18 - 25 | X | Image-Y
Example: | CAPP000010064000000512000 (Index 1; Image-X = 640; Image-Y = 512)
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: |  | Telegrams: Availability and supported interfaces
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.

Please note:

This telegram "Calibration: Add point" is discontinued.

Alternatively the telegram "Calibration: Add world point (ASCII)" is available.


Calibration: Calibrate by Point List (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Calibrate by Point List (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Calibrate by Point List
2 | C
3 | L
4 | X | 0: Temporary 1: Permanent
Example: | CCL1
Calibration: Point list (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Calibrate by Point List
2 | C
3 | L
4 | P F | P Pass F Fail
5 - 9 | X | Current highest point pair index
10 - 17 | X | Deviation calibration, RMSE (Root Mean Square Error)
18 - 25 | X | Deviation calibration, mean
26 - 33 | X | Deviation calibration, max
34 - 41 | X | Deviation calibration, 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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Validate by Point List (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Validate by Point List (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Validate by Point List
2 | V
3 | L
Example: | CVL
Calibration: Validate by Point List (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Validate by Point List
2 | V
3 | L
4 | P F | P Pass F Fail
5 - 9 | X | Current highest point pair index
10 - 17 | X | Deviation calibration, RMSE (Root Mean Square Error)
18 - 25 | X | Deviation calibration, mean
26 - 33 | X | Deviation calibration, max
34 - 41 | X | Deviation calibration, 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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Calibrate by plate (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Calibrate by plate (ASCII) Request string to sensor

Byte No.

Content

Significance
1 | C | Calibration: Calibrate by Plate
2 | C
3 | P
4 | 1 | Request version
5 X

0: Temporary

1: Permanent

Permanent change affect all parameters, including those that have only been changed temporarily.
6 X

0: No fiducials are used. The origin of the measurement coordinate system is identical to the origin of the calibration coordinate system.

1: No fiducials are used. Measurement coordinate system is identical to the device coordinate system.

2: World system is used, fiducial job

3: World system is used, fiducial command CAW
7 X

0: Calibration internal and external sensor parameters

1: Validate calibration

2: Calibration internal sensor parameters

5: Calibration transformation measurement coordinate system
Example: CCP1110

Calibration: Calibrate by plate (ASCII) Response string from sensor

Byte No.

Content

Significance
1 | C | Calibration: Calibrate by Plate
2 | C
3 | P
4 P
F

P Pass

F Fail
5 - 7 | X | Error codes
8 - 12 | X | Current number of detected
13 - 20 | X | Deviation calibration, RMSE (Root Mean Square Error)
21 - 28 | X | Deviation calibration, mean
29 - 36 | X | Deviation calibration, max
37 - 44 | X | Deviation calibration, min
45 - 52 | X | Delta X (in user unit * 1000)
53 - 60 | X | Delta Y (in user unit * 1000)
61 - 68 | 0 | Reserved
69 - 76 | 0 | Reserved
77 - 84 | 0 | Reserved
85 - 92 | X | Delta Gamma (in degrees *1000)
93 - 100 | X | Deviation fiducials; mean
101 - 108 | X | Deviation fiducials, max
109 - 116 | X | Deviation fiducials, min
Example:

CCPP00000012000010010000200200003003000040040

00050050000600600007007000080080000900900001001

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: Telegrams: Availability and supported interfaces
End of telegram: Max. 4 byte (option)


Calibration: Set fiducial (ASCII)

Kalibrierung: Referenzmarke setzen V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Set Fiducial
2 | S
3 | F
4 | 1 | Request version
5 | X | 0: Temporary 1: Permanent
Example: | CSF11
Kalibrierung: Referenzmarke setzen V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Set Fiducial
2 | S
3 | F
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 15 | X | X value
16 - 23 | X | Y value
24 - 31 | X | Z value
32 - 39 | X | Rot. X value
40 - 47 | X | Rot. Y value
48 - 55 | X | Rot. Z value
55 - 63 | X | Deviation fiducials; mean
64 - 71 | X | Deviation fiducials, max
72 - 79 | X | Deviation fiducials, min
Example: | CSFP 000 00001001 00002002 00003003 00004004 00005005 00006006 00001001 0000202 00003003
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Copy Calibration (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Copy Calibration (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Copy Calibration
2 | C
3 | C
4 | 1 | Request version
5 | 1 | Constant
6 - 8 | X | Destination 0 : To all Jobs from Jobset >0: To specified Job only
9 | X | 0: Always copy when the calibration is active. 1: Only copy if the calibration method is the same.
Example: | CCC110021
Calibration: Copy Calibration (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Copy Calibration
2 | C
3 | C
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 10 | X | Job Number at which error occurred. 00: Success >0 : Job number at which error occurred.
Example: | CCCP000000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Calibration: Set parameter (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Set parameter V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Set Parameter
2 | S
3 | P
4 | 1 | Request version
5 | X | 0: Temporary 1: Permanent
6 - 8 | X | Parameter number
9 - 16 | X | Length of following data
17 ... n | X | Parameter value
Example: | CSP11002000000019
Calibration: Set parameter V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Set Parameter
2 | S
3 | P
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
Example: | CSPP000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

Parameter name | Parameter number | Parameter value | Length | Format | Status
Unit (user unit) | 004 | 0: mm 1: cm 2: m 3: inch 4: au | 1 Byte | Characters | no change
Z-Offset | 021 | (in user unit * 1000) | 8 Byte | Signed Integer | no change
Focal length | 022 | (in mm *1000) | 8 Byte | Signed Integer | invalid
Fiducial 1 | 024 | in each case: 0: X value (in user unit * 1000) 1: Y value (in user unit * 1000) 2: Z value (in user unit * 1000) | Per value 8 bytes | Signed Integer | no change
Fiducial 2 | 025
Fiducial 3 | 026
Fiducial 4 | 027


Calibration: Get parameter (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Get parameter V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | C | Calibration: Get Parameter
2 | G
3 | P
4 | 1 | Request version
5 - 7 | X | Parameter number
Example: | CGP1001
Calibration: Get parameter V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | C | Calibration: Get Parameter
2 | G
3 | P
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 10 | X | Parameter number
11 - 18 | X | Length of the following data
19 ... n | X | Parameter values, depending on the selected parameter
Example: | CGPP000001000000011
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

Parameter name | Parameter number | Value | Length | Format
Status calibration | 001 | 0: Invalid 1: Valid | 1 Byte | Signed Integer
Calibration method | 002 | 0: None 1: Scaling (Measurement) 2: Point pair list (Robotics) 3: Calibration plate (Measurement) 4: Calibration plate (Robotics) | 1 Byte | Characters
Unit (user unit) | 004 | 0: mm 1: cm 2: m 3: inch 4: au | 1 Byte | Characters
Internal sensor parameter | 010 | 0: Focal length (in mm *1000) 1: Kappa value (*1000) 2: Pixel pitch X (in µm * 1000) 3: Pixel pitch Y (in µm * 1000) Principal point X (in pixel * 1000) Principal point Y (in pixel * 1000) 6: Image size X (Pixel) 7: Image size Y (Pixel) | Per value 8 bytes | Signed Integer
External parameters | 011 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Transformation calibration coordinate system | 012 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Transformation measurement coordinate system | 014 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Z-Offset | 021 | Value in customer unit (see unit * 1000) | 8 Byte | Signed Integer
Focal length | 022 | (in mm *1000) | 8 Byte | Signed Integer
Fiducial 1 | 024 | in each case: 0: X value (in user unit * 1000) 1: Y value (in user unit * 1000) 2: Constant 0 | Per value 8 bytes | Signed Integer
Fiducial 2 | 025
Fiducial 3 | 026
Fiducial 4 | 027


Get image

Get image (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get image (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get Image
2 | I
3 | M
4 | X | 0 – Last Image 1 – Last Failed Image 2 – Last Good Image
Example: | GIM1
Get image (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get Image
2 | I
3 | M
4 | P F | P Pass F Fail
5 | X | Error codes
6 | X | Image type 0 - Grayscale 3 – COLOR_BAYER_BG At conversion of the image from Bayer into RGB, the appropriate image type must be considered. Pre-processing filters of the category “arrangement” have an influence on the Bayer type. Bayer Pattern begins with blue - green.
7 | X | Image result 1 - good image 0 - failed image
8 - 11 | X | No. of rows e.g. 0480 / 0200
12 - 15 | X | No. of columns e.g. 0640 / 0320
16 - 19 | X | End of message string
20 ... n | X | Binary image data (rows * columns)
Example: | GIMP0004800640...
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Update visualization results (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Update visualization results V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | U | Update Visualization Results
2 | V
3 | R
4 | 1 | Request version
5 | X | Image: 0 - No image will be created 1 - Gray value image / RGB image will be created 2 - Gray value image / Bayerpattern will be created
6 | X | Result XML: 0 - Result file will not be created 1 - Result file will be created
7 | X | Statistic XML: 0 - Statistic file will not be created 1 - Statistic file will be created
8 | X | Image type 0 - Last image (Any) 1 - Last fail image (Fail) 2 - Last pass image (Pass) 3 - Next image (Any) 4 - Next fail image (Fail) 5 - Next pass image (Pass)
9 - 11 | X | Directory number 000: visu000
Example: | UVR11110000
Update visualization results V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | U | Update Visualization Results
2 | V
3 | R
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 | X | Data available: 0: New data available, when ready.txt is written 1: No new data available
9 - 11 | X | Directory number 000: visu000
Example: | UVRP0000000
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: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

The created files are available for download in the directory /tmp/[Directory number].

  • image.bmp
  • overlay.xml

With the file "overlay.xml" all relevant information for the creation of the overlay can be obtained. The file is created in XML format. The most important elements are described in the table below

Name |  | Value | Description
detector | type | pattern_matching contour contrast brightness grey caliper blob ocr datacode barcode | Detector type
 | number | Integer | Position in detector list
 | name | String | Name of the detector defined in the configuration
roi | purpose | search teach position_control result | Type of overlay element. The different types have different colors.
 | shape | rectangle rectangle_mask ellipse | Shape of the overlay element
center | x | Float | Center position in x (pixel)
 | y | Float | Center position in y (pixel)
size | half_width | Float | Half width of overlay element (pixel)
 | half_hight | Float | Half height of overlay element (pixel)
angle | angle | Float | Angle of overlay element (degree)
number | value | Float | Number of element types in this detector
line | x1 | Float | Start point X line 1 (pixel)
 | y1 | Float | Start point Y line 1 (pixel)
 | x2 | Float | Start point X line 2 (pixel)
 | y2 | Float | Start point Y line 2 (pixel)

Depending on the detector type (detector → type), there are different elements that can be displayed. The following table indicates which element can be displayed on which detector.

Detector | search | teach | position_control | result
Pattern matching | Yes | Yes | Yes | 1
Contour | Yes | Yes | Yes | 200
Contrast | Yes | No | No | 0
Brightness | Yes | No | No | 0
Gray level | Yes | No | No | 0
Caliper | Yes | No | No | 0
BLOB | Yes | No | No | 1000
OCR | Yes | No | No | 1
Datacode | Yes | No | No | 5
Barcode | Yes | No | No | 5


Get sensor identity (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get sensor identity V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get sensor identity
2 | S
3 | I
4 | 1 | Request version
Example: | GSI1
Get sensor identity V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get sensor identity
2 | S
3 | I
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 10 | X | Length of the following data
11 ... n | X | Version of the firmware as well as information about the hardware. Areas are clearly separated by a separator.
Example: | GSIP0000221.19.3.2; SBSI-Q-AF-R2B-F12-W
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)


Update firmware (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Update firmware V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | U | Update firmware
2 | F
3 | W
4 | 1 | Request version
Example: | UFW1
Update firmware V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | U | Update firmware
2 | F
3 | W
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
Example: | UFWP000
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

After sending the command, a valid firmware file is checked in the /tmp/ directory on the SBS vision sensor. The name must correspond to the typical name allocation (for example, as after the download from the home page).Festo The end is reached as soon as the camera signal is ready (pin 4 GN) again. Alternatively, the telegram “GSI1” can be used to check whether a valid response is sent.

Please note:

The voltage supply must be ensured during the firmware update. An update may take up to 10 minutes.


Set job set (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set job set V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | S | Set jobset
2 | J
3 | S
4 | 1 | Request version
5 - 7 | X | Length of the subsequent file name. Maximum length 250 characters.
8 ... n | X | Optional file name. If no file name is specified, the default name “Jobset.bjs” is set.
Example: | SJS1012myjobset.bjs
Set job set V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | S | Set jobset
2 | J
3 | S
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
8 - 10 | X | Active job number in the loaded jobset
Example: | SJSP000001
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | No
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

The jobset with the specified name is searched in the /tmp/ directory on the SBS vision sensor. If the file exists, this job record is activated. The file is then removed. If the file exists, this job record is activated. The file is then removed.


Get job set (ASCII)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get job set V1 (ASCII) Request string to sensor
Byte No. | Content | Significance
1 | G | Get jobset
2 | J
3 | S
4 | 1 | Request version
5 - 7 | X | Length of the subsequent file name. Maximum length 250 characters.
8 ... n | X | Optional file name. If no file name is specified, the default name “Jobset.bjs” is set.
Example: | GJS1012myjobset.bjs
Get job set V1 (ASCII) Response string from sensor
Byte No. | Content | Significance
1 | G | Get jobset
2 | J
3 | S
4 | P F | P Pass F Fail
5 - 7 | X | Error codes
Example: | GJSP000
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Supported interfaces: |  | Telegrams: Availability and supported interfaces
End of telegram: |  | Max. 4 byte (option)

The get jobset file is now available for download in the /tmp/ directory under the specified name.


Data output in ASCII

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Output data (ASCII), dynamically composed from user settings in the software. For detailed information to the file format see also: Tab Telegram, Data output

Basic String Construction:

<START> (((<OPTIONAL FIELDS> <SEPARATOR> <PAYLOAD>))) <CHKSUM> <TRAILER>

Output data (ASCII):

<OPTIONAL FIELDS>
Name | Number of bytes | Binary contents / example | Significance / Comments
Header | 1 - max. 8 | User defined, max. 8 characters | Start string (Header)
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
Separator | 1 - 5 | User defined, max. 5 characters (per separator) | Separator from: “after first optional field”, or “after first detector spec. date”
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 execution time | n |  | Current (job) cycle time in [ms]
Active job no. | 1 - 3 |  | Active job no. (1 ... 255)

<PAYLOAD>
Payload |  |  |  | For detector:
Name | Number of bytes | ASCII contents / example | Significance / Comments
Detector result | 1 | P = Pass F = Fail | Boolean detector result | All detectors
Score value 1 ... n | n |  | Score (0 ... 100 %) | All detectors
Execution time | n |  | Execution time of individual detector in [msec]. | All detectors
Distance | n |  | Calculated distance, [1/1000] *1) | Caliper
Position X 1 ... n | n | e.g.: X = 180 (pix) = (in ASCII) “180000” = 6 Byte | Position found X (x-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
Position Y 1 ... n | n |  | Position found Y (y-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
DeltaPos X | n |  | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
DeltaPos Y | n |  | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
Angle | n |  | Orientation of object found (0° ... 360°) [1/1000] *1) | Pattern matching Contour Edge detector Datacode Barcode OCR
Delta Angle | n |  | Angle between object taught and object found (0° ... 360°) [1/1000] *1) | Pattern matching Contour Edge detector
Scaling | n |  | Only with contour (0.5 ... 2) [1/1000] *1) | Contour
R(ed) G(reen) B(lue) | n |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
H(ue) S(aturation) V(alue) | n |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
L(uminanz) A B | n |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
Result index | n |  | Index in list, signed integer [1/1000] *1) | Color list
Color distance | n |  | Distance between taught and current color, signed integer [1/1000] *1) | Color list
Area | n |  | Area of the BLOB, without holes, in pixels, signed integer [1/1000] *1) | BLOB
Area (incl. holes) | n |  | Area of the BLOB, including holes, in pixels, signed integer [1/1000] *1) | BLOB
Contour length | n |  | Number of pixels of outer contour, signed integer [1/1000] *1) | BLOB
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. Signed integer [1/1000] *1) | BLOB
Center of gravity X | n |  | X- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center of gravity Y | n |  | Y- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center X | n |  | X- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Center Y | n |  | Y- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Width | n |  | Width of geometric element (rectangle / ellipse). Width >= 0, width >= height, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Height | n |  | Height of geometric element (rectangle / ellipse). Heigth >= 0, height <= width, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Angle (360) | n |  | Orientation of width of object in degree (range: -180 ... +180°, 0° = east, counterclockwise), signed integer [1/1000] *1) | BLOB
Eccentricity | n |  | Eccentricity numerical (range 0,0 ... 1,0), signed integer [1/1000] *1) | BLOB
Face up / down, area | n |  | Face up / down discrimination, based on area, indicated by sign, signed integer [1/1000] *1) | BLOB
String | 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. | Datacode Barcode OCR
String length | n |  | Length of Code in Bytes | Datacode Barcode OCR
Truncated | 1 | F = Code complete, P = Code truncated | Code truncated | Datacode Barcode OCR
Compare result | 1 |  | Result of string comparison | Datacode Barcode OCR
Quality parameter | n |  | Output of quality parameters according to selection | Datacode Barcode
Contrast | n |  | Contrast of the code (0 - 100 %) | Barcode
Correction | n |  | Number of modules corrected by error corrections | Barcode
Module height | n |  | Height of modules in pixels | Datacode
Module width | n |  | Width of modules in pixels | Datacode
Confidence | 5 ... n |  | Output of the confidence values ​​of the individual characters | OCR
Result | n |  | Degree of similarity between the read string and the reference string from 0 to 100 % | OCR
Min. Quality | 1 |  | Minimum required quality was achieved | OCR

<CHKSUM>
Name | Number of bytes | ASCII contents / example | Significance / Comments
Checksum | 1 |  | XOR checksum of all bytes in telegram

<TRAILER>
Name | Number of bytes | ASCII contents / example | Significance / Comments
Trailer | 1 - max. 8 | User defined, max. 8 characters | End of string (Trailer)

*1) All detector-specific data with decimal places are transmitted as integers (multiplied by 1000) and must therefore be divided by 1000 after data reception.


Serial communication BINARY

Overview telegram:

Get image (BINARY)

Calibration: Add point (BINARY) - Discontinued

Calibration: Add world point (BINARY)

Calibration: Clear point list (BINARY)

Calibration: Copy Calibration (BINARY)

Calibration: Get parameter (BINARY)

Calibration: Set parameter (BINARY)

Calibration: Calibration plate (BINARY)

Calibration: Calibrate by Point List (BINARY)

Calibration: Set fiducial (BINARY)

Calibration: Validate by Point List (BINARY)

Data output in BINARY

Teach detector (BINARY)

Get detector list (BINARY)

Extended trigger (BINARY)

Get gain (BINARY)

Set gain (BINARY)

Get job list (BINARY)

Change job (BINARY)

Change job permanent (BINARY)

Get parameter (BINARY)

Set parameter (BINARY)

Get ROI (BINARY)

Set ROI (BINARY)

Get shutter speed (BINARY)

Set shutter speed (BINARY)

Reset statistic (BINARY)

Trigger (BINARY)

Get trigger delay (BINARY)

Set trigger delay (BINARY)


Reset statistic (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Reset statistic (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x04 | Reset statistic
Reset statistic (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x04 | Reset statistic
6 - 7 | Unsigned short | 0xXX | Error codes
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Trigger (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Trigger (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x01 | Trigger, (simple trigger without index, via port 2006)
Trigger (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x01 | Trigger, (response to trigger without index, via port 2006. If defined: result data without index via port 2005)
6 - 7 | Unsigned short | 0xXX | Error codes
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | Yes
Accepted when Ready is Low: |  |  | No
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Extended trigger (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Extended trigger (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x13 | 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) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x13 | 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 - 7 | Unsigned short | 0xXX | Error codes
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 ... n + 5 | Unsigned Int | 0xXX | Length of following result data (m)
n + 6 ... m | Unsigned Char | 0xXX | Result data
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | Yes
Accepted when Ready is Low: |  |  | No
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Change job (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Change job (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x06 | Length of telegram
5 | Unsigned Char | 0x02 | Change job
6 | Unsigned Char | 0xXX | Job no. XX = 1 - n
Change job (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x09 | Length of telegram
5 | Unsigned Char | 0x02 | Change job
6 - 7 | Unsigned short | 0xXX | Error codes
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 config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces

Please note:

If an error occurs during the job change, it is possible to change to job 1.


Change job permanent (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Change job permanent (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x06 | Length of telegram
5 | Unsigned Char | 0x22 | Change job permanent
6 | Unsigned Char | 0xXX | Job no. XX = 1 - n
Change job permanent (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x09 | Length of telegram
5 | Unsigned Char | 0x22 | Change job permanent
6 - 7 | Unsigned short | 0xXX | Error codes
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 config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces

Please note:

If an error occurs during the job change, it is possible to change to job 1.


Set shutter speed (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set shutter speed (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x09 | Length of telegram
5 | Unsigned Char | 0x0E 0x0F | Set shutter speed temporary Set shutter speed permanent Permanent change affect all parameters, including those that have only been changed temporarily.
6 - 9 | Unsigned Int | 0xXX | Shutter value
Set shutter speed (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x0E 0x0F | Set shutter speed temporary Set shutter speed permanent Permanent change affect all parameters, including those that have only been changed temporarily.
6 - 7 | Unsigned short | 0xXX | Error codes
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Get shutter speed (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get shutter speed (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x17 | Get shutter speed
Get shutter speed (BINARY) Response string from sensor
1 - 4 | Unsigned Int | 0x0B | Length of telegram
5 | Unsigned Char | 0x17 | Get shutter speed
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 11 | Unsigned Int | 0xXX | Shutter value
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: |  |  | Telegrams: Availability and supported interfaces


Set gain (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set gain (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x0A | Length of telegram
5 | Unsigned Char | 0x1B | Set gain
6 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent Permanent change affect all parameters, including those that have only been changed temporarily.
7 - 10 | Unsigned Int | 0xXX | Gain value
Set gain (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x0B | Length of telegram
5 | Unsigned Char | 0x1B | Set gain
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 11 | Unsigned Int | 0xXX | Current gain value (value *1000)
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: |  |  | Telegrams: Availability and supported interfaces


Get gain (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get gain (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x1C | Get gain
Get gain (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x0B | Length of telegram
5 | Unsigned Char | 0x1C | Get gain
6 | Unsigned short | 0xXX | Error codes
7 |  | 0xXX
8 - 11 | Unsigned Int | 0xXX | Current gain (in value * 1000), e.g. 1,0 = 01000
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: |  | Telegrams: Availability and supported interfaces


Set parameter (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set parameter (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram = 9 Bytes + Length of string (n)
5 | Unsigned Char | 0x05 0x06 | Set parameter permanent Set parameter temporary Permanent change affect all parameters, including those that have only been changed temporarily.
6 | Unsigned Char | 0xXX | Detector no., XX = 1- n
7 | Unsigned Char | 0xXX | Command reference string / Set value *1), see below !
8 - 9 | Unsigned short | 0xXX | Length new reference string / value (n)
10 ... n | Unsigned Char | 0xXX | Reference string / value
Set Parameter (Binary) Response string from sensor (may be 4-5 Seconds delayed)
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x08 | Length of telegram
5 | Unsigned Char | 0x05 0x06 | Set parameter permanent Set parameter temporary Permanent change affect all parameters, including those that have only been changed temporarily.
6 - 7 | Unsigned short | 0xXX | Error codes
8 | Unsigned Char | 0xXX | Parameter type string
Additional information:
Accepted in run mode: |  | Yes
Accepted in config mode: |  | No
Accepted when Ready is Low: |  | Yes
Status of Ready signal during processing: |  | Low
Supported interfaces: |  | Telegrams: Availability and supported interfaces

*1) Byte No. 7: Command: set reference string / value:

Detector | Function | Command | Length of following data
Alignment Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Alignment Contour detection | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Alignment Edge detector | Transition probe 1 Transition probe 2 Transition probe 3 Score min probe 1 Score min probe 2 Score min probe 3 | 101 102 103 104 105 106 | 4 4 4 4 4 4
Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Contour | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Gray level | Threshold Min Threshold Max GrayMin GrayMax GreyInvert | 1 2 101 102 103 | 4 4 4 4 1
Contrast | Threshold Min Threshold Max | 1 2 | 4 4
Barcode | Reference String | 101 | n
Datacode | Reference String | 101 | n
OCR | Reference String | 101 | n
Color value | 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
Color area | 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 | GrayAbsoluteMin GrayAbsoluteMax GrayAbsoluteInvert | 101 102 103 | 4 4 1


Get parameter (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get parameter (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x0A | Get parameter
6 | Unsigned Char | 0xXX | Detector no., XX = 1- n
7 | Unsigned Char | 0xXX | 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 | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram = 10 Bytes + Length of string (n)
5 | Unsigned Char | 0x0A | Get parameter
6 - 7 | Unsigned short | 0xXX | Error codes
8 | Unsigned Char | 0xXX | Parameter type string
9 - 10 | Unsigned short | 0xXX | Length of parameter (n)
11 ... n + n | Unsigned Char | 0xXX | Reference string / value
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: |  |  | Telegrams: Availability and supported interfaces

*1) Byte No.. 7: Command: Get reference string / value:

Detector | Function | Command | Length of following data
Alignment Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Alignment Contour detection | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Alignment Edge detector | Transition probe 1 Transition probe 2 Transition probe 3 Score min probe 1 Score min probe 2 Score min probe 3 | 101 102 103 104 105 106 | 4 4 4 4 4 4
Pattern matching | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Contour | Threshold Min Threshold Max ResultOffsetPos_X ResultOffsetPos_Y ResultOffsetAngle | 1 2 31 32 33 | 4 4 5 5 5
Gray level | Threshold Min Threshold Max GrayMin GrayMax GreyInvert | 1 2 101 102 103 | 4 4 4 4 1
Contrast | Threshold Min Threshold Max | 1 2 | 4 4
Barcode | Reference String | 101 | n
Datacode | Reference String | 101 | n
OCR | Reference String | 101 | n
Color value | 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
Color area | 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 | GrayAbsoluteMin GrayAbsoluteMax GrayAbsoluteInvert | 101 102 103 | 4 4 1


Set ROI (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set ROI (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x18 0x20 | Length of telegram 0x18 circle 0x20 rectangle / free shape / ellipse
5 | Unsigned Char | 0x10 0x11 | Set ROI temporary Set ROI permanent Permanent change affect all parameters, including those that have only been changed temporarily.
6 - 9 | Unsigned Int | 0xXX | ROI Info Length in Bytes from Byte 6 to end
10 | Unsigned Char | 0xXX | Detector No.
11 | Unsigned Char | 0x00 | ROI Index 00 = yellow ROI 01 = Teach 02 = Position control
12 | Unsigned Char | 0xXX | ROI shape 01=circle 02=rectangle 03=ellipse 04=free shape
13 - 16 | Unsigned Int | 0xXX | ROI Parameter: center X (in Pixels * 1000)
17 - 20 | Unsigned Int | 0xXX | ROI Parameter: center Y (in Pixels * 1000)
21 - 24 | Unsigned Int | 0xXX | ROI Parameter: width / radius X (in Pixels* 1000)
 | Only ellipse / rectangle:
25 - 28 | Unsigned Int | 0xXX | ROI Parameter: width / radius Y (in Pixels* 1000)
29 - 32 | Unsigned Int | 0xXX | ROI Parameter: Angle in ° (in ° * 1000)
Set ROI (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x10 0x11 | Set ROI temporary Set ROI permanent Permanent change affect all parameters, including those that have only been changed temporarily.
6 - 7 | Unsigned short | 0xXX | Error codes
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces
Parameter: |  |  | The parameter are given in alignment frames and not in image frames.


Get ROI (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get ROI (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x12 | Get ROI
6 | Unsigned Char | 0xXX | Detector No.
7 | Unsigned Char | 0xXX | ROI Index 00 = yellow ROI 01 = Teach 02 = Position control
Get ROI (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x12 | Get ROI
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 11 | Unsigned Int | 0xXX | ROI Info Length in Bytes from Byte 8 to end
12 | Unsigned Char | 0xXX | Detector No.
13 | Unsigned Char | 0x00 | ROI Index 00 = yellow ROI 01 = Teach 02 = Position control
14 | Unsigned Char | 0xXX | ROI shape 01=circle 02=rectangle 03=ellipse 04=free shape
15 - 18 | Unsigned Int | 0xXX | ROI Parameter: center X (in Pixels * 1000)
19 - 22 | Unsigned Int | 0xXX | ROI Parameter: center Y (in Pixels * 1000)
23 -26 | Unsigned Int | 0xXX | ROI Parameter: width / radius X (in Pixels* 1000)
 | Only ellipse / rectangle:
27 - 30 | Unsigned Int | 0xXX | ROI Parameter: width / radius Y (in Pixels* 1000)
31 - 34 | Unsigned Int | 0xXX | ROI Parameter: Angle in ° (in ° * 1000)
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Get job list (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get job list (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x14 | Get job list

Get job list (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x14 | Get job list
6 Unsigned short 0xXX

Error codes

8 | Unsigned Char | 0x01 | Constant
9 | Unsigned Char | 0xXX | Number of jobs
10 | Unsigned Char | 0xXX | Active job number

Please note:

The following byte sequence is repeated for each job from 1 to “Number of jobs”. The byte numbers shift accordingly.
11 | Unsigned Char | 0xXX | Number of following bytes. This can be used to specify a unique name for job n.
11 ... n | Char | 0xXX | From this position, the name for job n follows in the specified length.
n + 1 ... n + 3 Unsigned Char 0xXX

Number of following bytes. A description for the job n can be specified.
n + 4 ... m | Char | 0xXX | From this position, the description for job 1 follows in the specified length.
m + 1 ... m+ 3 | Unsigned Char | 0xXX | Number of following bytes. This can be used to specify a unique name for the author of job n.
m + 4 ... k | Char | 0xXX | From this position, the name for the author of job n follows in the specified length.
k + 1 ... k + 8 | Unsigned Int | 0xXX | Date of creation of job n.
k + 9 ... k + 16 | Unsigned Int | 0xXX | Date of last change of job n.
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: Telegrams: Availability and supported interfaces


Get detector list (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get detector list (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x15 | Get Detector List

Get detector list (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x18 | Get Detector List
6 Unsigned short 0xXX

Error codes

8 | Unsigned Char | 0xXX | Job number of the current job
9 | Unsigned Char | 0xXX | Number of detectors in the current job

Please note:

The following byte sequence is repeated for each detector in the job. The byte numbers shift accordingly.
10 | Unsigned Char | 0xXX | Number of subsequent bytes. This allows a unique name for the detector n to be specified.
11 ... n | Unsigned Char | 0xXX | From this position, the name for detector n follows, in the given length.
n + 1 ... n + 3 Unsigned Char 0xXX

001 - Pattern matching

004 - Contour

005 - Gray level

006 - Contrast

007 - Brightness

011 - OCR

013 - Datacode

014 - Barcode

018 - Color value

019 - Color area

020 - Color list

021 - Caliper

022 - BLOB
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: Telegrams: Availability and supported interfaces


Teach detector (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Teach detector (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x08 | Length of telegram
5 | Unsigned Char | 0x18 | Teach detector
6 | Unsigned Char | 0xXX | 0 = Alignment >= 1 Detectors
7 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent
8 | Unsigned Char | 0xXX | 0 = no trigger 1 = Trigger
Teach detector (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x00 | Length of telegram
5 | Unsigned Char | 0x18 | Teach detector
6 - 7 | Unsigned short | 0xXX | Error codes
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: |  | Telegrams: Availability and supported interfaces


Set trigger delay (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Set trigger delay V1 (BINARY) Request string to sensor
Byte No.. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xB | Length of telegram
5 | Unsigned Char | 0x27 | Set trigger delay
6 | Unsigned Char | 0xXX | Request version
7 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent
8 - 11 | Unsigned Int | 0xXX | Trigger delay in msec (max. 3000 msec) in encoder steps (max. 65535 steps)
Set trigger delay V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x1A | Set trigger delay
6 - 7 | Unsigned short | 0xXX | Error codes
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Get trigger delay (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get trigger delay V1 (BINARY) Request string to sensor
Byte No.. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x6 | Length of telegram
5 | Unsigned Char | 0x28 | Get trigger delay
6 | Unsigned Char | 0xXX | Request version
Get trigger delay V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xB | Length of telegram
5 | Unsigned Char | 0x28 | Get trigger delay
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 11 | Unsigned Int | 0xXX | Trigger delay in msec (max. 3000 msec) in encoder steps (max. 65535 steps)
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Clear point list (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Clear point list (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x1F | Calibration: Clear Data
Clear point list (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x1F | Calibration: Clear Data
6 - 7 | Unsigned short | 0xXX | Error codes
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Add world point (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Add world point V1 (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x0F | Length of telegram
5 | Unsigned Char | 0x26 | Calibration: Add World Point (CAW)
6 | Unsigned Char | 0xXX | Request version
7 | Unsigned Char | 0xXX | 1: Only fiducials Calibration plate (Robotics) 4: World point and image point Point pair list (Robotics)
9 - 10 | Unsigned short | 0xXX | Constant (5 Bytes)
11 - 14 | Unsigned Int | 0xXX | World X (in mm *1000)
15 - 18 | Unsigned Int | 0xXX | World Y (in mm *1000)
19 - 22 | Unsigned Char | 0xXX | Constant (8 Byte)
Calibration: Add world point V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x11 | Length of telegram
5 | Unsigned Char | 0x26 | Calibration: Add World Point (CAW)
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 9 | Unsigned short | 0xXX | Current number of points
10 -13 | Unsigned Int | 0xXX | Image point X
14 - 17 | Unsigned Int | 0xXX | Image point Y
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Add point (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Add point (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x0F | Length of telegram
5 | Unsigned Char | 0x1D | Calibration: Add Point
6 - 7 | Unsigned short | 0xXX | Constant
8 - 11 | Unsigned Int | 0xXX | World X (in mm *1000)
12 - 15 | Unsigned Int | 0xXX | World Y (in mm *1000)
Calibration: Add point (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 | Unsigned Int | 0x11 | Length of telegram
5 | Unsigned Char | 0x1D | Calibration: Add Point
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 9 | Unsigned short | 0xXX | Current number of points in the list
10 - 13 | Unsigned Int | 0xXX | Image X (in px * 1000)
14 - 17 | Unsigned Int | 0xXX | Image Y (in px * 1000)
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: |  |  | Telegrams: Availability and supported interfaces
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 by Point List (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Calibrate by Point List (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x06 | Length of telegram
5 | Unsigned Char | 0x1E | Calibration: Calibrate by Point List
6 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent
Calibration point list (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x19 | Length of telegram
5 | Unsigned Char | 0x1E | Calibration: Calibrate by Point List
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 9 | Unsigned short | 0xXX | Current highest point pair index
10 - 13 | Unsigned Int | 0xXX | Deviation calibration, RMSE (Root Mean Square Error)
14 - 17 | Unsigned Int | 0xXX | Deviation calibration, mean
18 - 21 | Unsigned Int | 0xXX | Deviation calibration, max
22 - 25 | Unsigned Int | 0xXX | Deviation calibration, min
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Validate by Point List (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Validate by Point List (Binary) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x05 | Length of telegram
5 | Unsigned Char | 0x20 | Calibration: Validate by Point List
Calibration: Validate by Point List (Binary) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x19 | Length of telegram
5 | Unsigned Char | 0x20 | Calibration: Validate by Point List
6 | Unsigned short | 0xXX | Error codes
8 - 9 | Unsigned short | 0xXX | Current highest point pair index
10 - 13 | Unsigned Int | 0xXX | Deviation calibration, RMSE (Root Mean Square Error)
14 - 17 | Unsigned Int | 0xXX | Deviation calibration, mean
18 - 21 | Unsigned Int | 0xXX | Deviation calibration, max
22 - 25 | Unsigned Int | 0xXX | Deviation calibration, min
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Calibration plate (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Calibration plate (BINARY) Request string to sensor

Byte No.

Data type

Content

Significance

1 - 4

Unsigned Int

0x09

Length of telegram

5

Unsigned Char

0x24

Calibration: Calibrate by Plate
6 | Unsigned Char | 0x01 | Request version
7 Unsigned Char 0xXX

0: Temporary

1: Permanent
8 Unsigned Char 0xXX

0 - No fiducials are used. The origin of the measurement coordinate system is identical to the origin of the calibration coordinate system.

1 - No fiducials are used. Measurement coordinate system is identical to the device coordinate system.

2 - Use world system, fiducials job

3 - Use world system, fiducials request CAW.
9 Unsigned Char 0xXX

0: Calibration internal and external sensor parameters

1: Validate calibration

2: Calibration internal sensor parameters

5: Calibration transformation measurement coordinate system

Calibration: Calibration plate (BINARY) Response string from sensor

Byte No.

Data type

Content

Significance

1 - 4

Unsigned Int

0x3D

Length of telegram

5

Unsigned Char

0x24

Calibration: Calibrate by Plate
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 9 | Unsigned short | 0xXX | Current number of detected
10 - 13 | Unsigned Int | 0xXX | Deviation calibration, RMSE (Root Mean Square Error)
14 - 17 | Unsigned Int | 0xXX | Deviation calibration, mean
18 - 21 | Unsigned Int | 0xXX | Deviation calibration, max
22 - 25 | Unsigned Int | 0xXX | Deviation calibration, min
26 -29 | Unsigned Int | 0xXX | Delta X (in user unit * 1000)
Unsigned Int | Unsigned Int | 0xXX | Delta Y (in user unit * 1000)
Unsigned Int | Unsigned Int | 0 | Reserved
38 - 41 | Unsigned Int | 0 | Reserved
42 - 45 | Unsigned Int | 0 | Reserved
46 - 49 | Unsigned Int | 0xXX | Delta Gamma (in degrees *1000)
50 - 53 | Unsigned Int | 0xXX | Deviation fiducials; mean
54 - 57 | Unsigned Int | 0xXX | Deviation fiducials, max
58 - 61 | Unsigned Int | 0xXX | Deviation fiducials, min
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: Telegrams: Availability and supported interfaces


Calibration: Set fiducial (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Set fiducial V1 (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x08 | Length of telegram
5 | Unsigned Char | 0x1E | Calibration: Set Fiducial
6 | Unsigned Char | 0xXX | Request version
7 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent
Calibration: Set fiducial V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x37 | Length of telegram
5 | Unsigned Char | 0x2B | Calibration: Set Fiducial
6 - 7 | Unsigned short | 0xXX | Error codes
8 - 11 | Unsigned Int | 0xXX | X value
12 - 15 | Unsigned Int | 0xXX | Y value
16 - 19 | Unsigned Int | 0xXX | Z value
Unsigned Int | Unsigned Int | 0xXX | Rot. X value
22 - 25 | Unsigned Int | 0xXX | Rot. Y value
Unsigned Int | Unsigned Int | 0xXX | Rot. Z value
30 - 33 | Unsigned Int | 0xXX | Deviation fiducials; mean
Unsigned Int | Unsigned Int | 0xXX | Deviation fiducials, max
38 - 41 | Unsigned Int | 0xXX | Deviation fiducials, min
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Copy Calibration (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Copy Calibration (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x09 | Length of telegram
5 | Unsigned Char | 0x25 | Calibration: Copy Calibration
6 | Unsigned Char | 0x01 | Request version
7 | Unsigned Char | 0x01 | Constant
8 | Unsigned Char | 0xXX | Destination 0 : To all Jobs from Jobset >0: To specified Job only
9 | Unsigned Char | 0xXX | 0: Always copy when the calibration is active. 1: Only copy if the calibration method is the same.
Calibration: Copy Calibration (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x08 | Length of telegram
5 | Unsigned Char | 0x25 | Calibration: Copy Calibration
6 - 7 | Unsigned short | 0xXX | Error codes
8 | Unsigned Char | 0xXX | 00: Success >0 : Job number at which error occurred.
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: |  |  | Telegrams: Availability and supported interfaces


Calibration: Set parameter (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Set parameter V1 (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x29 | Calibration: Set Parameter
6 | Unsigned Char | 0x01 | Request version
7 | Unsigned Char | 0xXX | 0: Temporary 1: Permanent
8 | Unsigned Char | 0xXX | Parameter number
9 - 12 | Unsigned Int | 0xXX | Length of following data
13 ... n | Unsigned Char | 0xXX | Parameter value
Calibration: Set parameter V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x29 | Calibration: Set Parameter
6 - 7 | Unsigned short | 0xXX | Error codes
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: |  |  | Telegrams: Availability and supported interfaces

Parameter name | Parameter number | Parameter value | Length | Format | Status
Unit (user unit) | 004 | 0: mm 1: cm 2: m 3: inch 4: au | 1 Byte | Characters | no change
Z-Offset | 021 | (in user unit * 1000) | 8 Byte | Signed Integer | no change
Focal length | 022 | (in mm *1000) | 8 Byte | Signed Integer | invalid
Fiducial 1 | 024 | in each case: 0: X value (in user unit * 1000) 1: Y value (in user unit * 1000) 2: Z value (in user unit * 1000) | Per value 8 bytes | Signed Integer | no change
Fiducial 2 | 025
Fiducial 3 | 026
Fiducial 4 | 027


Calibration: Get parameter (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Calibration: Get parameter V1 (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x07 | Length of telegram
5 | Unsigned Char | 0x2A | Calibration: Get Parameter
6 | Unsigned Char | 0x01 | Request version
7 | Unsigned Char | 0xXX | Parameter number
Calibration: Get parameter V1 (BINARY) Response string from sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram
5 | Unsigned Char | 0x2A | Calibration: Get Parameter
6 - 7 | Unsigned short | 0xXX | Error codes
8 | Unsigned Char | 0xXX | Parameter number
9 - 12 | Unsigned Int | 0xXX | Length of the following data
13 ... n | Unsigned Char | 0xXX | Parameter value
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: |  |  | Telegrams: Availability and supported interfaces

Parameter name | Parameter number | Parameter value | Length | Format
Status calibration | 001 | 0: Invalid 1: Valid | 1 Byte | Signed Integer
Calibration method | 002 | 0: None 1: Scaling (Measurement) 2: Point pair list (Robotics) 3: Calibration plate (Measurement) 4: Calibration plate (Robotics) | 1 Byte | Characters
Unit (user unit) | 004 | 0: mm 1: cm 2: m 3: inch 4: au | 1 Byte | Characters
Internal sensor parameter | 005 | 0: Focal length (in mm *1000) 1: Kappa value (*1000) 2: Pixel pitch X (in µm * 1000) 3: Pixel pitch Y (in µm * 1000) Principal point X (in pixel * 1000) Principal point Y (in pixel * 1000) 6: Image size X (Pixel) 7: Image size Y (Pixel) | Per value 8 bytes | Signed Integer
External parameters | 011 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Transformation calibration coordinate system | 012 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Transformation measurement coordinate system | 014 | 0: Shift X axis (in user unit * 1000) 1: Shift Y axis (in user unit * 1000) 2: Shift Z axis (in user unit * 1000) 3: Rotation X (in degree * 1000) 4: Rotation Y (in degree * 1000) 5: Rotation Z (in degree * 1000) | Per value 8 bytes | Signed Integer
Z-Offset | 021 | (in user unit * 1000) | 8 Byte | Signed Integer
Focal length | 022 | (in mm *1000) | 8 Byte | Signed Integer
Fiducial 1 | 024 | in each case: 0: X value (customer unit * 1000) 1: Y value (customer unit * 1000) 2: Constant 0 | Per value 8 bytes | Signed Integer
Fiducial 2 | 025
Fiducial 3 | 026
Fiducial 4 | 027


Get image (BINARY)

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Get image (BINARY) Request string to sensor
Byte No. | Data type | Content | Significance
1 - 4 | Unsigned Int | 0x06 | Length of telegram
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 | Content | Significance
1 - 4 | Unsigned Int | 0xXX | Length of telegram e.g. 00 04 B0 0D (Dez. 307213)
5 | Unsigned Char | 0x03 | Response ID Get image
6 - 7 | Unsigned short | 0xXX | Error codes
8 | Unsigned Char | 0xXX | Image type 0 - Grayscale 3 – COLOR_BAYER_BG At conversion of the image from Bayer into RGB, the appropriate image type must be considered.
9 | Unsigned Char | 0xXX | Image result 00 - Failed image 01 - Good image
10 - 11 | Unsigned short | 0xXX | No. of rows e.g. 01 E0 = 480
12 - 13 | Unsigned short | 0xXX | No. of columns e.g. 02 80 = 640
14 ... n | Unsigned Char | 0xXX | Binary image data (rows * columns)
Additional information:
Accepted in run mode: |  |  | Yes
Accepted in config mode: |  |  | No
Accepted when Ready is Low: |  |  | Yes
Status of Ready signal during processing: |  |  | Low
Supported interfaces: |  |  | Telegrams: Availability and supported interfaces


Data output BINARY

Data output in BINARY

Telegrams: Availability and supported interfaces

Overview telegram:

Tab Telegram, Data output

Output data (BINARY), dynamically composed from user settings in the software. For detailed information to the file format see also: Tab Telegram, Data output

Basic String Construction:

<START> (((<OPTIONAL FIELDS> <SEPARATOR> <PAYLOAD>))) <CHKSUM> <TRAILER>

Output data (BINARY):

<OPTIONAL FIELDS>

Name

Number of bytes

Binary contents / example

Significance / Comments

Header

1 - max. 8

User defined, max. 8 characters

Start string (Header)

Selected Fields

2 (Word)

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!

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 = <Free-run>

Bit1 = <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, bitcoded

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, bitcoded

Example: 18 logical outputs are configured, but only output 1, 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)

Execution time

4 (Integer)

Current (job) cycle time in [ms]

Active job no.

1

Active job no. (1 ... 255)

<PAYLOAD>
Detector specific |  |  |  | For detector:
Name | Number of bytes | Binary contents / example | Significance / Comments
Detector result | 1 | 1 = Pass 0 = Fail | Boolean detector result | All detectors
Score value 1 ... n | 4 |  | Score (0 ... 100 %) | All detectors
Execution time | 4 |  | Execution time of individual detector in [msec]. | All detectors
Distance | 4 |  | Calculated distance, [1/1000] *1) | Caliper
Position X 1 ... n | 4 |  | Position found X (x-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
Position Y 1 ... n | 4 |  | Position found Y (y-coordinate). [1/1000] *1) | Pattern matching Contour Edge detector Caliper Datacode Barcode OCR
DeltaPos X | 4 |  | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
DeltaPos Y | 4 |  | Delta position X between object taught and object found [1/1000] *1) | Pattern matching Contour Edge detector
Angle | 4 |  | Orientation of object found (0° ... 360°) [1/1000] *1) | Pattern matching Contour Edge detector Datacode Barcode OCR
Delta Angle | 4 |  | Angle between object taught and object found (0°..360°) [1/1000] *1) | Pattern matching Contrast Edge detector
Scaling | 4 |  | Only with contour (0.5 ... 2) [1/1000] *1) | Contour
R(ed) G(reen) B(lue) | 4 |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
H(ue) S(aturation) V(alue) | 4 |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
L(uminanz) A B | 4 |  | Value for color parameter, signed integer [1/1000] *1) | Color value Color list
Result index | 4 |  | Index in list, signed integer [1/1000] *1) | Color list
Color distance | 4 |  | Distance between taught and current color, signed integer [1/1000] *1) | Color list
Area | 4 |  | BLOB | BLOB
Area (incl. holes) | 4 |  | Area of the BLOB, including holes, in pixels, signed integer [1/1000] *1) | BLOB
Contour length | 4 |  | Number of pixels of outer contour, signed integer [1/1000] *1) | BLOB
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. Signed integer [1/1000] *1) | BLOB
Center of gravity X | 4 |  | X- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center of gravity Y | 4 |  | Y- coordinate of center of gravity of BLOB, signed integer [1/1000] *1) | BLOB
Center X | 4 |  | X- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Center Y | 4 |  | Y- coordinate of fitted, geometric element (rectangle, ellipse), signed integer [1/1000] *1) | BLOB
Width | 4 |  | Width of geometric element (rectangle, ellipse). Width >= 0, width >= height, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Height | 4 |  | Height of geometric element (rectangle, ellipse). Heigth >= 0, height <= width, negative value indicates failure, signed integer [1/1000] *1) | BLOB
Angle (360) | 4 |  | Orientation of object in degree (range: -180 ... +180°, 0° = east, counterclockwise), signed integer [1/1000] *1) | BLOB
Eccentricity | 4 |  | Eccentricity numerical (range 0,0 ... 1,0), signed integer [1/1000] *1) | BLOB
Face up / down, area | 4 |  | Face up / down discrimination, based on area, indicated by sign, signed integer [1/1000] *1) | BLOB
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. | Datacode Barcode OCR
String length | 4 |  | Length of Code in Bytes | Datacode Barcode OCR
Truncated | 1 | 0x00 = Code komplett, 0x01 = Code abgeschnitten | Code truncated | Datacode Barcode OCR
Compare result | 1 |  | Result of string comparison | Datacode Barcode OCR
Quality parameter | 1 ... n |  | Output of quality parameters according to selection | Datacode Barcode
Contrast | 4 |  | Contrast of the code (0-100%) | Barcode
Correction | 4 |  | Number of modules corrected by error corrections | Barcode
Module height | 4 |  | Height of modules in pixels | Datacode
Module width | 4 |  | Width of modules in pixels | Datacode
Confidence | 5 ... n |  | Output of the confidence values ​​of the individual characters | OCR
Result | 4 |  | Degree of similarity between the read string and the reference string from 0 to 100 % | OCR
Min. Quality | 1 |  | Minimum required quality was achieved | OCR

<CHKSUM>
Name | Number of bytes | Significance / Comments
Checksum | 1 | XOR checksum of all bytes in telegram

<TRAILER>
Name | Number of bytes | Binary contents / example | Significance / Comments
Trailer | 1 - max. 8 | User defined, max. 8 characters | End of string (Trailer)

*1) All detector-specific data with decimal places are transmitted as integers (multiplied by 1000) and must therefore be divided by 1000 after data reception. Values are transferred in format “Big-endian”.

Example: “Score” Value (Binary protocol)

In Vision Sensor Configuration Studio/Vision Sensor 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.


Overview telegram

SBS in general

  • Reset statistic (Reset statistic (ASCII) / Reset statistic (BINARY))
    With the telegram “Reset statistic” the internal statistic counter of the SBS vision sensor can be reset.

SBS control

  • Trigger (Trigger (ASCII) / Trigger (BINARY))
    With the telegram “Trigger” an image acquisition will be started. Some commands need an additional image acquisition. The result data of the image are transferred via the “Out” port.
  • Extended Trigger (Extended trigger (ASCII)/ Extended trigger (BINARY))
    This telegram is an enhancement to the “trigger” telegram. Besides the result data there is also the option to assign an ID or to receive information about the operating mode (run / config). Unlike the “trigger” telegram the result data of “Extended trigger” telegram are also transferred via the “In” port.
  • Change job (Change job (ASCII) / Change job (BINARY))
    With the telegram “Change job” a job change on the SBS vision sensor is initiated.
  • Change job permanent (Change job permanent (ASCII) / Change job permanent (BINARY))
    With the telegram “Change job permanent” a permanent job change on the SBS vision sensor is initiated. The job runs again after restarting.

SBS job settings

  • Set shutter speed (Set shutter speed (ASCII) / Set shutter speed (BINARY))
    With the telegram “Set shutter speed” the shutter speed of the job can be changed. The telegram can be used for e.g. brightness compensation.
  • Get shutter speed (Get shutter speed (ASCII) / Get shutter speed (BINARY))
    With the telegram “Get shutter speed” the set shutter speed of the job can be read.
  • Set gain (Set gain (ASCII) / Set gain (BINARY))
    With the telegram “Set gain” the gain of the job can be changed. The telegram can be used for e.g. brightness compensation.
  • Get gain (Get gain (ASCII)/ Get gain (BINARY))
    With the telegram “Get gain” the set gain of the job can be read.
  • Set parameter (Set parameter (ASCII) / Set parameter (BINARY))
    With the telegram “Set parameter” the detector parameters can be adjusted, e.g. reference strings, detector thresholds.
  • Get parameter (Get parameter (ASCII) / Get parameter (BINARY))
    With the telegram “Get parameter” the set parameters of the detector can be read.
  • Set ROI (Set ROI (ASCII) / Set ROI (BINARY))
    With the telegram “Set ROI” the position of the selected detector can be changed.
  • Get ROI (Get ROI (ASCII)/ Get ROI (BINARY))
    With the telegram “Get ROI” the position of the selected detector can be read.
  • Get job list (Get job list (ASCII)/ Get job list (BINARY))
    With the telegram “Get job list” a list of all available jobs on the SBS vision sensor will be displayed.
  • Get detector list (Get detector list (ASCII) / Get detector list (BINARY))
    With the telegram “Get detector list ” a list of all detectors in the current job will be displayed.
  • Teach detector (Teach detector (ASCII) / Teach detector (BINARY))
    With the telegram “Teach detector” the selected detector is re-taught (only for pattern matching and contour detection).
  • Set trigger delay (Set trigger delay (ASCII) / Set trigger delay (BINARY))
    With the telegram "Set trigger delay" a delay for starting a trigger can be set (in time (ms) or encoder steps).
  • Get trigger delay (Get trigger delay (ASCII) / Get trigger delay (BINARY))
    With the telegram "Get trigger delay" the delay for starting a trigger can be read.

SBS calibration

  • Calibration: Clear point list (Calibration: Clear point list (ASCII) / Calibration: Clear point list (BINARY))
    With the telegram “Calibration: Clear point list” the point list will be initialized.
  • Calibration: Add world point (Calibration: Add world point (ASCII)/ Calibration: Add world point (BINARY))
    With the telegram “Calibration: Add world point” a point (fiducial or point pair) is added to the point list. The telegram can be used for the calibration method Point pair list (Robotics) and Calibration plate (Robotics).
  • Calibration: Add point (Calibration: Add point (ASCII) - Discontinued/ Calibration: Add point (BINARY)) - Discontinued
    With the telegram “Calibration: Add point” a point is added to the point list.
  • Calibration: Calibrate by point list (Calibration: Calibrate by Point List (ASCII) / Calibration: Calibrate by Point List (BINARY))
    With the telegram “Calibration: Calibrate by point list” the calibration is carried out using the point list in the current job.
  • Calibration: Validate point list (Calibration: Validate by Point List (ASCII) / Calibration: Validate by Point List (BINARY))
    With the telegram “Calibration: Validate point list” the calibration is validated using the point list.
  • Calibration: Calibrate by plate (Calibration: Calibrate by plate (ASCII) / Calibration: Calibration plate (BINARY))
    With the telegram “Calibration: Calibrate by plate” the calibration is carried out using the calibration plate.
  • Calibration: Copy calibration (Calibration: Copy Calibration (ASCII) / Calibration: Copy Calibration (BINARY))
    With the telegram “Calibration: Copy calibration” the calibration of the current job will be copied to the selected destination.
  • Calibration: Set parameter (Calibration: Set parameter (ASCII) / Calibration: Set parameter (BINARY))
    With the telegram "Calibration: Set parameter" the parameter values for the calibration can be set.
  • Calibration: Get parameter (Calibration: Get parameter (ASCII) / Calibration: Get parameter (BINARY))
    With the telegram "Calibration: Get parameter" the parameter values of the calibration can be read.

SBS visualization

  • Get image (Get image (ASCII)/ Get image (BINARY))
    With the telegram “Get image” the image from SBS vision sensor will be received.

SBS Service

  • Update visualization results (Update visualization results (ASCII))
    With the telegram "Update visualization results" the visualization results, e.g. image, detector information and results are updated.
  • Get sensor identity (Get sensor identity (ASCII))
    With the telegram “Get sensor identity” the current firmware status as well as the hardware type can be queried.
  • Update firmware (Update firmware (ASCII))
    With the telegram “Update firmware” the firmware updates are started. Previously the firmware file must be loaded onto the SBS vision sensor.
  • Set jobset (Set job set (ASCII))
    With the telegram “Set jobset” the jobset of the SBS vision sensor can be changed. Previously the jobset file must be loaded onto the SBS.
  • Get jobset (Get job set (ASCII))
    With the telegram “Get jobset” the jobset of the SBS vision sensor can be read.

Data output

(Data output in ASCII / Data output in BINARY)

This section provides information about the data output. Especially, which format the individual results receive.


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.

See chapter: Basic settings for PC and SBS vision sensor


Direct Connection - Setting the IP Address of the PC

To connect the SBS vision sensor to a PC via Ethernet the IP addresses of both devices have to correspond. The default IP of the SBS vision sensor is 192.168.100.100 with Subnet mask 24 / 255.255.255.0. To establish a direct connection, the PC must be set to a corresponding, fixed IP address like follows.

  1. Click on Start / Control Panel / Network Connection / LAN Connection / Properties, the window “Local Area Connection Properties” opens.
  2. In the list “This connection requires following elements” select the option “Internet Protocol (TCP/IP)” and then click the button ”Properties”.
  3. In the following window set the desired IP address of the PC and the sub-network data.
  4. Confirm entries with OK.

Example:

The SBS vision sensor is pre-set to IP address 192.168.100.100 and subnet mask 255.255.255.0. In this case, the IP address may be set to any value between 192.168.100.1 and 192.168.100.254, with a subnet mask 255.255.255.0, with the exception of the sensor IP address (192.168.100.100).
To alter the sensor’s IP address, see chapter Sensor's network settings. Please do also not use the addresses .0 and .255 as these addresses are reserved for network infrastructure devices such as servers, gateways, etc.

Fig.: PC IP Setup


Basic settings for PC and SBS vision sensor

To configure the SBS vision sensor with a PC it is essential that a network board and the TCP/IP LAN- connection is installed on the PC (This also applies when the PC is not connected to a network). The SBS supports the automatic recognition of the Ethernet transmission rate, but 100 MBit at the most. The internet protocol IPv4 must be activated. There are two alternatives to configure and parametrize the SBS vision sensor.

Also see chapter Network connection

1. Direct Connection - Setting the IP Address of the PC

2. Network Connection - Setting the IP address of the SBS vision sensor


Network Connection - Setting the IP address of the SBS vision sensor

Before connecting the sensor in the network, check with the network administrator whether the sensor’s address has already been assigned (default: 192.168.100.100 with subnet mask 255.255.255.0). This can otherwise cause network failure. The set IP address is to be noted on the enclosed SBS vision sensor label. The label is then to be stuck on the sensor in a clearly visible place after installation.

Network connection speed:

The sensor must only be operated with 100MBit/full-duplex when using VGA resolution (or higher) and Vision Sensor Visualisation Studio.

Sensor’s IP still free:

Connect sensor to network and then set the sensor’s IP to match the PC according to the administrator’s specifications, as follows, beginning with 2.

Sensor IP already assigned:

  1. First connect sensor and PC directly and set an authorised IP address in the sensor.

  2. Connection via the network can then be carried out. First ensure electrical connection and installation of PC software has been completed. To set the IP address on the SBS vision sensor, the following steps are to be carried out in the PC software:

    1. Start Vision Sensor Device Manager.
    2. Select the required SBS vision sensor from the active sensor list.
    3. Set sensor’s new IP address with the “Set” button. The IP address is assigned by your system administrator. The PC’s IP address is shown in the status bar under the buttons. Please note: some PC’s have more than one Ethernet connection i.e. wireless and wired LAN connections.
    4. Select the sensor and connect via Vision Sensor Configuration Studio or Vision Sensor Visualisation Studio.

Fig.: Vision Sensor Device Manager

Modification of the standard gateway enables operation in different sub-networks. Only alter this setting after consultation with your network administrator. Automatic integration of a new computer or sensor in the existing network without manual configuration is possible through DHCP. Normally, automatic supply of IP address must only be set on the sensor, the client. When the sensor is started in the network, it can obtain the IP address, net mask and gateway from a DHCP server. Activation of DHCP mode is carried out via the “Set” button by activating the checkbox “DHCP”. As one and the same SBS vision sensor can thus have different IP addresses at different times, a sensor name must be attributed when activating the DHCP. Should several SBS be in one network, different names must be used.

Fig.: SBS IP Setup

If a SBS with DHCP is switched on in a network without a DHCP server, the SBS automatically sets the IP address to 0.0.0.0. This can be the case, e.g. in the case of power/server failure or the restart of the system after shutdown as the DHCP server may boot slower than the SBS. Make sure that the SBS is only switched on when the DHCP server is available.


SBS vision sensor EtherNet/IP, Introduction

This chapter explains the use of the Vision Sensor with EtherNet/IP.

For data communication between SBS vision sensor and PLC via EtherNet/IP the following topics are explained: electrical connection, settings in SBS vision sensor and PLC (as example for Rockwell RSLogix), available telegrams formats and the telegram timing.


EtherNet/IP, Anhang

Assembly Request

Communication settings

Description: | Request posted from PLC to SBS vision sensor
Class: | Class 1
nAssemblyInstance: | 100
nType: | AssemblyConsuming
nLength (bytes): | 344
szAssemblyName: | AssemblyRequest

Assembly Request

The SBS 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:

Make a trigger on the SBS vision sensor. The default code of the request key is 0x0 0x0. After Trigger configuration (description follows), 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 ID between: 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 change job command, the code is 0x0 0x2 in position 2. Set the LSB of position 6 to “1” (Standard version: job 1 or job 2; Advanced versions: 255 jobs available). Write the job number (4 bytes) to position / byte 264. To validate the request, increment the request key. To change the job 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 permanently in the sensor memory, even if the sensor is reset. The code is: 0x0 0x8 on position 2. Set trigger to execute command and increment 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 of the sensor. The code is: 0x0 0x9 on position 2. Set trigger to execute command and increment 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: To make a trigger, write the code 0x0 0x1 on position 2. Modify request key on position 0: 0x0 0x2 => 0x0 0x4. The SBS 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 SBS 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.

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 SBS vision 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 : SBS vision sensor mode (To active this data, select in Vision Sensor Configuration Studio: Status)

Free run: 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 | 0000 00XX
Run | Always 0 | Always 0 | 0000 000X | 0000 01XX

Run : The job is downloaded in the SBS 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 Sensor Visualisation Studio):

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; Tool 2 OK; Global result on tool1 and on Tool 2 => 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.

 | Byte 88
Result | 0000 0011

Other bits always on 0.

(To active this data, select in Vision Sensor Configuration Studio: Detector results)

According to: Byte 1, of “Detector result”, in “Serial communication / Data output Binary”
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)

According to: Byte 4 ... n, of “Detector result”, in “Serial communication / Data output Binary”
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:


Job 1… 31 via binary bit pattern

To switch between up to 31 jobs by binary input pattern via the up to 5 digital inputs, all needed inputs in Vision Sensor Configuration Studio/Output/I/O mapping are set to the according function “Job switch (Bit x)”. The in the following graphics shown binary input pattern then switch directly to the according job number. Also see chapter: Tab I/O mapping / Function of inputs.

Please note:

  • Job switch starts / happens immediately after the input pattern has changed.
  • The display of the active job changes with the first following trigger.
  • The mapping of the I/O´s is not fixed. It’s depending on the settings in Vision Sensor Configuration Studio/Output/I/O mapping.
  • The change of the logical level of all related inputs must happen at the same time (within a maximum of 10 ms, all levels must be stable).

Fig.: Job- switch binary


Network connection

  • Installation of SBS into a network / gateway
  • Proceeding / Troubleshooting - Direct Connection
  • Proceeding / Troubleshooting - Network Connection
  • Used Ethernet - Ports
  • Access to SBS via network
  • Access to SBS via Internet / World Wide Web


Installation of SBS into a network / gateway

In Vision Sensor Device Manager/Active sensors, all SBS vision sensors, which are installed in the same network segment as the PC which runs Vision Sensor Device Manager are displayed as list. To update this list press the button “Find”, to see sensors which e.g. have been powered after Vision Sensor Device Manager was started.

For sensors, which are installed in the network, but are located in a different network segment via a gateway, please enter their IP address in the field “Add active sensor” and press button “Add”.

The according sensor now appears in the list “Active sensors” and can be accessed now.


Proceeding / Troubleshooting - Direct Connection

Creating a functioning Ethernet connection between SBS vision sensor and PC.

Fig.: Direct connection sensor / PC, proceeding / troubleshooting


Proceeding / Troubleshooting - Network Connection

Establishing an operational Ethernet connection between SBS vision sensor and PC

Fig.: Connection via network sensor / PC, proceeding / troubleshooting


Used Ethernet - Ports

If the SBS should be installed into a network, the following ports must be enabled, if so by the network administrator. This is necessary only in case that this specific ports have been locked e.g. in a company network by a firewall installed on a PC.

To communicate between a PC fur configuration and the SBS the following ports are used:

  • Port 80, TCP (SBSxWebViewer)
  • Port 2000, TCP
  • Port 2001, UDP Broadcast (to find sensors via Vision Sensor Device Manager)
  • Port 2002, TCP
  • Port 2003, TCP
  • Port 2004, TCP

To communicate between PLC (PLC- PC also) and the SBS the following ports are used.

  • Port 2005, TCP (Implicit results, that means, user configured result data)
  • Port 2006, TCP (Explicit requests, e.g. trigger or job switch)

If the ports 2005 or 2006 are changed in , the according ports also must be enabled in the firewall by the administrator.

If the interface EtherNet/IP is used the following two ports must be enabled too.

  • Port 2222, UDP (EtherNet/IP)
  • Port 44818, TCP (EtherNet/IP)


Access to SBS via network

Exemplary values for IP etc.

Access to SBS 1 from PC 1, if in same subnet.

  • Via Vision Sensor Device Manager (/find)

Access to SBS 2 from PC 1, if in different subnet.

Only if:

  • Gateway is set correct in sensor 2 (here to 192.168.30.1) - and

  • in Vision Sensor Device Manager via Add- IP- the sensor IP of sensor 2 is set correct

    Now the SBS 2 appears in the list “Active Sensors” in Vision Sensor Device Manager!

Fig.: Access to SBS via network, same or different subnet


Access to SBS via Internet / World Wide Web

Exemplary values for IP etc.

Access from PC 1 (company network 1), via Word Wide Web, into company network 2 to SBS 1.

  1. Add the IP- WAN of router 2 (company network 2) in PC1 (company network 1) in Vision Sensor Device Manager under “Add active sensor” (here in example: 62.75.148.101).
  2. In router 2 the ports which should be used by the sensor must be defined (See chapter:Used Ethernet - Ports).

Fig.: Access to SBS via Internet / World Wide Web


SBS vision sensor PROFINET, Introduction

This chapter explains the use of SBS vision sensor with PROFINET. The PROFINET interface is implemented starting with version 1.12.x.x.


Tab Gripping space

Robots grip objects, e.g. with a twin-jaw gripper, on the outer contour of the objects. Gripping with the robot may not be possible if the objects touch or overlap. The SBS gripping space function can be used to check whether the gripping positions on the object are available in the required size. The position of the first found object is output, in which its tracking detectors (gripping regions) are OK (according to the logical links in the overall result).

The gripping space function is available for contour alignment.

Sequence:

  1. The contour alignment identifies those objects as candidates whose contour matches the taught-in contour.
  2. These candidates will be sorted. The sorting takes place according to the values ​​of “Sorting criteria” and “Sorting order” set in the “Gripping space” tab.

  3. According to this order, the candidates will be checked to make sure that the tracked detectors that are assigned by alignment (e.g. clearance check) all comply. This happens under consideration of the logical links in the overall result. In the “Digital output” tab of the “Output” setup, logical links can be used to evaluate the objects. For example, free spaces for different gripping positions can be defined here. The gripping positions X-X and Y-Y are possible for the object shown in the following figure. Of these gripping possibilities, only those that are necessary for one grip can then be checked for “free”.

    Fig.: Possible gripping position X-X (left) and possible gripping position Y-Y (right).

    Please note:

    The alignment per detector can be activated or deactivated in the detector list (Default: Active). Only detectors activated here are effective for the gripping space check.
  4. The position data of the first object that meets all these criteria are output and the search is terminated at this point.

The precondition for the successful finding of an object is at least one object per image/evaluation for which the total result, i.e. also aligned detectors are “i.O.”!

Fig.: Alignment method Contour detection, tab Gripping space

Following parameters can be set in the Gripping space tab:

Parameter

Function
No. candidates

With the parameter “No. candidates”, the maximum number of target objects can be determined. If there are more objects in the field of view than specified in the parameter, only as many objects as specified in the parameter are evaluated.

Attention:

Only one object will be output - the first one that, is found according to the following settings!
Sorting criteria | Sorting criteria according to which objects are “pre-sorted”.
  • Score
 Score
  • Position X
 Position X
  • Position Y
 Position Y
  • Angle
 Angle
  • Scale
 Scale
Sorting order | Sorting order for the selected sorting criteria.
  • Ascending
 The values ​​of the sorting criteria are sorted in ascending order.
  • Descending
 The values ​​of the sorting criteria are sorted in descending order.
Only output valid candidates | If this checkbox is activated, only objects whose score value is above the set threshold (tab “Parameters”) are displayed and output. It can be used e.g. for parameter optimization.


Tab Calibration

Tab hole

Tab Binarization

Fig.: Detector Wafer, tab Calibration

Settings at tab Calibration

Parameter Function

Distortion removal

Activate distortion removal.
  • Kappa (x10E-6)

Constant factor of term to correct the radial distortion.
  • Scale

Multiplicative factor to scale the correction.

mm units

Activate mm units.
  • Calibration factor

Pixel per mm; Calibration factor to convert image values into world data.
  • Apply

By pressing “Apply” the dimension in other tabs will be automatically calculated and updated.
  • Wafer height

Program set automatically the calibration factor dependant on measured wafer height in pixel.
  • Calibrate to wafer

Calibration factor is calculated from value “Wafer height”.
  • Offset level of chip depth
 Correction factor for the measured value of chip depth. The factor is added to the actually measured value.


Tab Chip shape

Tab Chip size

Tab hole

Fig.: Detector Wafer, Chip shape

Settings at tab Chip shape

Parameter | Function
Chip shape | Activate chip shape.
Level of chip depth | If exists a outside defect and includes these marked defect region also a chip defect, all chip defects which have a specified distance below the threshold setting will be still detected.
Angle deviation | A contour point will be detected as a failure if the local angular deviation is higher than the predefined threshold.
Edgelet size (Expert mode) | Based on two neighbouring contour points for each detected contour point a secant (length, position, and angle) will be calculated. Parameter: distance to adjacent edges.
Angle change over n pixel (Expert mode) | Based on ‘n’ neighbouring contour points for each detected contour point the maximum difference out of all n specific rotations (angle of each secant) will be calculated - angular deviation around each contour point.


Tab Chip size

Detector Wafer

Tab Chip shape

Fig.: Detector Wafer, Chip size

Settings at tab for Chip size

Parameter | Function
Chip size | Activate chip size.
Level of chip depth | Out of all detected contour points the algorithm is generating a best-fit of a rectangle box. In the next step all distances between the box and each contour point will be calculated. The threshold defines an incorrect distance.
Deviations per chip | The threshold for the number of faulty distances defines a GOOD/BAD-object.
Area per chip | Definition of a defective area.
Ignore external defects (Expert mode) | All detected defect contour points that lie outside the box enclosing the wafer (color: cyan) are not taken into account during the contour check.


Tab Rectangle fit

Please note:

The tabs “Binarization, Rectangle fit and Miscellaneous” are accessible in expert mode only. Activation via menu bar “Options/Expert mode”.

Tab Binarization

Fig.: Detector wafer, tab rectangle fit

Settings at tab Rectangle fit (Expert mode)

Parameter | Function
Edgelet size | Step size or number of contour points to calculate a local line along the contour.
Edgelet calculation | Two options are available: Line fit or Secant.
Smoothing wafer angle | Range of detected angles around the maximum of the Gaussian distribution which will be used to calculate the finale angle.
Smoothing wafer size | Range of detected sizes around the maximum of the Gaussian distribution which will be used to calculate the finale wafer dimensions.
Tolerance edgelet | Range of detected angles for each local line which will be used to calculate the wafer orientation in relation to the mean value.


Detector Wafer

The wafer detector is a very powerful, easy to use vision tool to detect position and possible chips on wafer or cells during production. It can extremely accurately measure the size and position of the wafer and so can also be used as an aid to pick and place robotic systems.

Please note:

The tabs “Binarization, Rectangle fit and Miscellaneous” are accessible in expert mode only. Activation via menu bar “Options/Expert mode”.

Next topics:

Setup Output

Tab Chip size

The SBS Solar is designed for:

  • Auto-identification of different types of wafer and cells,
  • Powerful and reliable detection of cracks and chips at straight or wavy outlines
  • Flexible adjustment of all measured results e.g. tolerances for wafer size, position, orientation as well as depth and area of defects
  • Easy optimization of sensor settings regarding evaluation speed and accuracy (sub pixel method)
  • Free cutting method e.g. to get a 5" out of a 6" wafer
  • Distortion removal

Tab Wafer

This detector is designed to check cracks at the edges of the wafer contour and measure geometric parameters such as width, height, position, rotation angle, etc

Fig.: Detector Wafer, tab Wafer

Settings at tab Wafer

Parameter | Function
Height | Range to accept the height of a wafer.
Width | Range to accept the width of a wafer.
Area | Range to accept the area of a wafer.
Angle range | Range to accept the current value of rotation.
Brightness | Select the brightness of your object comparing to the background.
Shape | Select the type of wafer shape.
Blanking region | This option offers to define up to 12 free programmable rectangle areas. The image information inside these regions of interest will be not inspected.
Position control | To check the position of the center of gravity you can define a rectangle or elliptical area where it has to be in.

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


Tab hole

Tab Chip shape

Tab Calibration

Fig.: Detector wafer, tab hole

Settings at tab hole

Parameter | Function
Hole | Activate hole.
Brightness | Select bright or dark object intensity in relation to the brightness of solar wafer.
Brightness threshold / absolute | Define the intensity threshold to detect an faulty object as a fixed gray value
Brightness threshold / relative | Define the intensity threshold to detect a faulty object as an offset in addition to the averaged brightness of each solar wafer.
Area | Smallest area size of a wafer hole. Value in pixel by pixel or mm by mm.
Overlay | (De-) activate drawing / marking of all detected objects.
Filter wafer edge (Expert mode) | Extension of dark zones, elimination of light pixels in dark zones, elimination of artefacts, division of bright objects.
Gauss (Expert mode) | Reduction of disturbance, suppression of disturbing details and artefacts, smooth edges.


Tab Binarization

Please note:

The tabs “Binarization, Rectangle fit and Miscellaneous” are accessible in expert mode only. Activation via menu bar “Options/Expert mode”.

Tab Calibration

Tab Rectangle fit

Fig.: Detector Wafer, tab binarization

Settings at tab Binarization (Expert mode)

Parameter | Function
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.
Histogram step | Step range of gray values at the histogram.
Manual | Activate manual binarization.
Wafer brightness threshold | Fixed threshold of contrast.


Calibration method Calibration plate (Robotics)

The calibration method “Calibration plate (Robotics)” is used to determine absolute positions in world coordinates (e.g., mm). This takes place via the image acquisition of the calibration plate and the teach-in of the four fiducials. With the teach-in of the fiducials, the transformation into the absolute coordinate system of the robot is made possible.

Fig.: Calibration method calibration plate (robotics)

Sequence calibration via calibration plate (Robotics)

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

  1. Use the "Calibration Parameter" button to set the Z-Offset.
  2. Place the calibration plate as far as possible in the field of view (see also “Advices on optimized use of the calibration plate / boundary conditions” Calibration method Calibration plate (Robotics)and “Calibration method Calibration plate (Robotics)”).
  3. Select the corresponding calibration plate (size and type) in the “Calibration plate” selection field.
  4. Start calibration.
  5. If the working range of the robot deviates from the field of view, transfer the calibration plate into the working range of the robot, e.g. over a conveyor belt.
  6. Enable listbox “Fiducials”.
  7. Select line 1 in Listbox “Fiducials”.
  8. Get the first reference mark with the robot.
  9. 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).
  10. Repeat steps 7-10 until all fiducials have been entered.

Parameter calibration plate (robotics)

Parameter | Function

Calibration plate

Here the used calibration plate (size and type / number of points) is selected (See also: Calibration method Calibration plate (Robotics) and Calibration method Calibration plate (Robotics)).

Calibration parameter

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 the 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.

Fiducial

- World X

- World Y

Coordinate values in selected unit (e.g. mm), by direct numerical input of the values in the fiducials 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.
"˃" / "˂" Go to next / previous step

Advices on the optimized use of the calibration plate / boundary conditions can be found at: Advices on optimized use of the calibration plate / boundary conditions

Additional information:

Closed Types / sizes of calibration plates

Sizes of calibration plates | Sizes of calibration pattern | Number of points
98 mm x 54 mm | 50 mm x 37.9 mm | 15 x 13
180 mm x 100 mm | 100 mm x 75.8 mm | 15 x 13
340 mm x 176 mm | 200 mm x 151.7 mm | 15 x 13
820 mm x 403 mm | 500 mm x 379.2 mm | 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.

Next topics:

Calibration method Point pair list (Robotics)

Calibration via telegrams

Calibration, Calibration parameter


Automated calibration: Calibration plate (Robotics) sequence 1

Fig.: Automated calibration: sequence 1

Next topic:

Calibration via telegrams

Automated calibration: Calibration plate (Robotics) sequence 2


Automated calibration: Calibration plate (Robotics) sequence 2

Fig.: Automated calibration: sequence 2

Next topic:

Calibration via telegrams

Tab Calibration